La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Circuitos Digitales II

Presentaciones similares


Presentación del tema: "Circuitos Digitales II"— Transcripción de la presentación:

1 Circuitos Digitales II
Departamento de Ingeniería Electrónica Facultad de Ingeniería Circuitos Digitales II Elementos sobre la Arquitectura del Conjunto de Instrucciones Semana No.6 Semestre Prof. Gustavo Patiño Prof. Eugenio Duque Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

2 Temario Formato de Instrucciones Organización de memoria
Campos o componentes de una instrucción. Tipos de Formatos Relación entre el formato de instrucción y la arquitectura del procesador. Organización de memoria Transferencia de datos de memoria Lectura de la memoria (Carga) Escritura en la memoria (Almacenamiento) Alineamiento del contenido de la memoria Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

3 Formato de las Instrucciones
El tipo básico de instrucciones tiene cuatro componentes : Nombre de la operación Operando del primer dato-fuente. Operando del segundo dato-fuente. Operando del destino dst, src1 y src2 son los nombres de los registros ($). Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

4 Lenguaje de Máquina del MIPS: Campos del formato de instrucciones
Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

5 Lenguaje de Máquina del MIPS (…cont)
Instructions, like registers and words of data, are also 32 bits long Example: add $t0, $s1, $s2 registers have numbers, $t0=8, $s1=17, $s2=18 Instruction Format: op rs rt rd shamt funct Can you guess what the field names stand for? Board work: Binary Numbers Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

6 Formatos de Instrucción del ISA del MIPS
Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

7 Tipos de Formato en el MIPS
Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

8 Arquitectura Completa del Procesador MIPS
Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

9 Organización de la memoria
Vista como una gran arreglo de una sola dimensión, donde cada registro posee una dirección. Una dirección de memoria es un índice en el arreglo. “Direccionamiento por byte” significa que un índice apunta a un byte de la memoria. 8 bits de datos 1 2 3 4 5 6 Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

10 Organización de la memoria (…cont)
Para el MIPS, una palabra (word) es de 32 bits, o sea, 4 bytes. 232 bytes con direcciones de byte desde 0 hasta 230 words con direcciones de byte 0, 4, 8,… Las palabras (words) son alineadas. 32 bits de datos 4 8 12 16 Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

11 Transferencia de datos de memoria
Motivación: Los operandos para todas las operaciones lógicas y aritméticas están contenidos en registros. Para operar sobre datos alojados en la memoria principal, es necesario primero copiar los datos a los registros. Las instrucciones para transferencias de datos son usadas para mover datos desde y para la memoria. Una operación de carga (load) mueve datos desde una ubicación de memoria a un registro, Una operación de almacenamiento (store) mueve datos desde un registro a una ubicación de memoria. Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

12 Instrucciones de transferencias de datos : load
Las instrucciones de transferencias de datos tienen tres partes: Nombre del operador (especificando también tamaño de la transferencia). Registro de destino. Registro de la dirección base y la constante offset. lw dst, offset (base) El valor offset es una constante con signo. Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

13 Acceso a memoria Todo el acceso a memoria ocurre a través de cargas y almacenamientos. Pueden ser del tipo word, half-word y bytes. Las cargas y almacenamientos de punto flotante son para accesar registros FP. Modo de direccionamiento basado en desplazamiento. Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

14 Ejemplo de carga de datos
Considere el ejemplo : a= b + *c ; Use la instrucción lw para cargar. Asuma que a($s0), b($s1), c($s2) Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

15 Acceso de arreglos En realidad, los arreglos son punteros a la dirección base en memoria. Ejemplo: La dirección del elemento A[0]. En estos casos se usa el valor de offset para indicar el índice del arreglo. Recuerde que las direcciones están en bytes a fin de multiplicar por el tamaño real del elemento. Considere el arreglo de enteros, donde pow2 es la dirección de base. Así, cada entero requiere 4 bytes. Como ejemplo de un dato que se quiera accesar considere el índice 5, o sea: pow2[5]. Entonces, la dirección de memoria de ese dato es : pow2 + 5*4 Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

16 Diagrama del arreglo en memoria
Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

17 Ejemplo de arreglo Considere el ejemplo
a= b+ pow2[7]; Use la instrucción lw con offset. Asuma que $s3 = 1000. lw $t0, 28($s3) # $t0 = memory[pow2[7]] add $s0, $s1, $t0 # a = b + pow2[7] Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería

18 Ejemplo de un arreglo complejo
Considere la línea 7 del ejemplo de sum_pow2() ret = pow2[a]; Primero, encuentre el offset correcto. De nuevo asuma que $s3 = 1000. Departamento de Ing. Electrónica Circuitos Digitales II Facultad de Ingeniería


Descargar ppt "Circuitos Digitales II"

Presentaciones similares


Anuncios Google