Instrucciones: FORMATO DE INSTRUCCIONES

Slides:



Advertisements
Presentaciones similares
Simulación en VHDL del Datapath del MIPS
Advertisements

El modelo de Von Neumann
Diseño de la ruta de datos monociclo para la arquitectura MIPS
ORGANIZACIÓN COMPUTACIONAL
Camino de Datos y Control
Arquitectura de Computadores I
Arquitectura de Computadores I
TEMA 2 Arquitectura de un Ordenador
Fermín Sánchez Carracedo Universitat Politècnica de Catalunya
Circuitos Digitales II Alineamiento en Memoria y Ejecución de un programa Semana No.8 Semestre Prof. Gustavo Patiño Prof. Eugenio.
CLASE 10.
CLASE 12.
Circuitos Digitales II
Circuitos Digitales II Elementos sobre la Arquitectura del Conjunto de Instrucciones Semana No.2 Semestre Prof. Gustavo Patiño
ARQUITECTURA INTEL FORMATOS DE INSTRUCCIÓN
Andrés Núñez Herrero Enrique España Blanco Rodrigo Cembrero Carazo
VAX Diego Esteban Moreno Germán Aguado Llorente Félix Huete García.
ARQUITECTURA INTEL Modos de direccionamiento
Diego Esteban Moreno Germán Aguado Llorente Félix Huete García.
Formatos de instrucción
El procesador: la ruta de datos y el control (II Parte)
Circuitos Digitales II
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
Arquitectura de Conjunto de Instrucciones (ISA)
Composición Interna de un Procesador
CLASE 11.
ISA (Instruction Set Architecture)
MIPS Intermedio.
Unidad 2: Organización del CPU
Organización del Computador I Verano Aritmética (1 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
(CC) , José M. Foces-Morán.
Arquitecturas de Computadoras Curso Propedéutico
MICRO de 8 bits Funcionamiento interno de un microprocesador de 8 bits. Para comprender mejor el funcionamiento, interno de un microprocesador , se propone.

1 SEMANA 04_2. 2 OPERADORES ARITMETICOS OPERADOR: + FORMATO: VALOR1 + VALOR2 FUNCION : SUMA VALOR1 Y VALOR2 EJEMPLO : TABLA_MAS_2 DW TABLA + 2 ; (DESPLAZAMIENTO.
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
Arquitectura del 8086/8088 TEEL 4011
El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.
Tema 2: Lenguaje máquina
Datapath para las instrucciones de carga y almacenamiento (load/store)
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 11.
MODOS DE DIRECCIONAMIENTO
Organización del Computador
“Organización y Arquitectura de Computadores” William Stallings
CLASE 13.
El procesador Diseño del control.
Diseño del procesador uniciclo
CLASE 14.
Capítulo 3 Instrucciones y direccionamiento Félix García Carballeira Jesús Carretero Pérez José Daniel Sánchez García David Expósito Singh © Ediciones.
Capítulo 4 CPU y la memoria.
Informática Clase Arquitectura de la Computadora.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 10.
introducción al Lenguaje Ensamblador
Modos de direccionamiento
Maquinas Digitales UNIDADES DE CONTROL.
CONJUNTO DE INSTRUCCIONES Maquinas Digitales
ARQUITECTURA DE COMPUTADORES
Estructura funcional (Von Neumann)
MIPS Intermedio.
Modos de Direccionamiento y Formatos
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
El procesador Diseño del control.
Organización del Computador
Datapath para las instrucciones de carga y almacenamiento (load/store)
Organización del Computador
Organización del Computador
8. Diseño del Procesador Fundamentos de los Computadores
Transcripción de la presentación:

Instrucciones: FORMATO DE INSTRUCCIONES CAPÍTULO 2 (II - Parte) Instrucciones: FORMATO DE INSTRUCCIONES

Modos de direccionamiento MIPS Direccionamiento por registro – el operando se encuentra almacenado en un registro Direccionamiento Base (desplazamiento) – el operando se encuentra almacenado en una posición de memoria cuya dirección es la suma del contenido de un registro y una constante de 16 bits, contenida en la misma instrucción. Direccionamiento inmediato – el operando es una constante de 16 bits contenida en la misma instrucción. Direccionamiento relativo al PC – la dirección de la instrucción es la suma del contenido del PC y una constante de 16 bits contenida en la misma instrucción. Direccionamiento pseudo directo – la dirección de la instrucción se forma con los 26 bits contenidos en la instrucción concatenados con los cuatro bits más significativos del PC. — 2

Ilustración de los modos de direccionamiento 1. Direcc por registro op rs rt rd funct Registro Palabra Operando op rs rt offset 2. Direcc base Registro base Memoria Operando word o byte 3. Direcc. base op rs rt operando 4. Direcc relativo PC op rs rt offset Contador de programa (PC) Memoria Destino de la instrucción de salto 5. Direcc. Pseudo directo op dirección de salto Contador de Programa (PC) Memoria Destino de la instruc. de salto || Concatenado — 3

Campos en las instrucciones MIPS op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits = 32 bits op rs rt rd shamt funct Código de la operación que se realizará Dirección del registro del primer operando fuente Dirección del registro del segundo operando fuente Dirección del registro destino shift amount, para las instrucciones de desplazamiento (cantidad de desplazamientos) Código de function que selecciona las variantes específicas de la operación indicada en el campo de código de operación — 4

Instrucciones aritméticas MIPS add $t0, $s1, $s2 sub $t0, $s1, $s2 Cada instrucción aritmética realiza una operación Cada una especifica tres operandos almacenados en registros de la ruta de datos ($t0,$s1,$s2) destino  fuente1 op fuente2 Formato de la instrucción (Formato R) 0 17 18 8 0 0x20 — 5

Instrucción de cargue lw $t0, 24($s3) Formato de la instrucción Load/Store I (Formato I): lw $t0, 24($s3) 35 19 8 2410 Memoria datos word address (hex) 0x00000000 0x00000004 0x00000008 0x0000000C 0xFFFFFFFF $s3 0x12004094 2410 + $s3 = . . . 0001 1000 (24)D + . . . 1001 0100 . . . 1010 1100 = 0x120040AC 0x120040AC $t0 — 6

¿Donde se presenta el compromiso? Instrucción de cargue Considere la instrucción de cargue una palabra o almacene una palabra ¿Qué significa aquí el principio de regularidad? Pero . . . Un buen diseño demanda buenos compromisos Se introduce un nuevo tipo de formato de instrucción Tipo I para instrucciones de transferencia de datos) Ejemplo: lw $t0, 24($s2) op rs rt 16 numero de bits 23hex 18 8 24 100011 10010 01000 0000000000011000 ¿Donde se presenta el compromiso? — 7

Instrucción para almacenar Ejemplo: sw $t0, 24($s2) Un offset de 16 bits significa: acceso a las posiciones de memoria en el rango de +213-1 a -213 (~8,192) palabras o (+215-1 a -215 (~32,768) bytes) de las direcciones en el registro base $s2 Complemento a 2 (1 bit de signo + 15 bits de magnitud) op rs rt 16 bit number 43 18 8 24 101011 10010 01000 0000000000011000 — 8

Instrucciones inmediatas ¿Que tipo de formato utiliza la instrucción addi? addi $s3, $s3, 4 #$s3 = $s3 + 4 Formato máquina: op rs rt 16 bits inmediatos Formato I 8 19 19 4 La constante se mantiene dentro de la misma instrucción! Los valores límites inmediatos se encuentran en el rango +215–1 a -215 — 9

Código ensamblador Para el código en C A[8] = A[2] – b Las instrucciones en código MIPS es lw $t0, 8($s3) #cargue A[2] en $t0 sub $t0, $t0, $s2 #substraiga b de A[2] sw $t0, 32($s3) #almacene el resultado en A[8] 35 lw 19 8 sub 8 18 34 43 sw 19 8 32 — 10