La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ISA (Instruction Set Architecture)

Presentaciones similares


Presentación del tema: "ISA (Instruction Set Architecture)"— Transcripción de la presentación:

1 ISA (Instruction Set Architecture)
Arquitectura del conjunto de instrucciones

2 Instruction Set Architecture (ISA)
Arquitectura del conjunto de instrucciones software Conjunto de instrucciones hardware Universidad de Sonora Arquitectura de Computadoras

3 Modelo de von Neumann - Las instrucciones y los datos están en la misma memoria. - Las instrucciones son leídas de la memoria y ejecutadas en la unidad de procesamiento (CPU), una a una. - Las instrucciones son almacenadas en la misma secuencia de ejecución. - La unidad de control es responsable del control de la lectura y ejecución de las instrucciones. Universidad de Sonora Arquitectura de Computadoras

4 Instruction Set Architecture (ISA)
¿Qué es un conjunto de instrucciones? La frontera entre el hardware y el software Cada instrucción es directamente ejecutada por el hardware Universidad de Sonora Arquitectura de Computadoras

5 Instruction Set Architecture (ISA)
¿Cómo se representa? Con un formato binario. El hardware solo entiende bits. Los objetos físicos son bits, bytes, palabras (words). Tamaño típico de palabra: 4 u 8 bytes (32 o 64 bits). Universidad de Sonora Arquitectura de Computadoras

6 Instruction Set Architecture (ISA)
Dos opciones de tamaño de las instrucciones: Fijo. Cada instrucción ocupa el mismo número de bytes. Variable. Cada instrucción ocupa distintos números de bytes. Universidad de Sonora Arquitectura de Computadoras

7 Abstracción Bajando el nivel de abstracción revela otras informaciones
Universidad de Sonora Arquitectura de Computadoras

8 Ejemplo ampliado swap(int v[], int k) { int temp; temp = v[k]
v[k] = v[k+1]; v[k+1] = temp; } swap: muli $2, $5, 4 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 Universidad de Sonora Arquitectura de Computadoras

9 Instrucciones Por lo general son operaciones simples que pueden ser ejecutadas directamente por el hardware. Se identifican por un opcode (código de operación). Ejemplo de MIPS: add $s0, $s1, $s2 El opcode es “add” (suma) Tienen operandos: 0, 1, 2 o 3. La instrucción de arriba tiene 3 operandos. Significa s0 = s1 + s2 Universidad de Sonora Arquitectura de Computadoras

10 Instrucciones Dos opciones de direccionamiento:
Implícito. El opcode implica la dirección de los operandos. Ejemplo en una máquina de pila (stack) add La instrucción saca (pop) dos valores de la pila, hace la suma y deja (push) el resultado en la pila. Universidad de Sonora Arquitectura de Computadoras

11 Instrucciones Explícito. Las direcciones vienen en los operandos.
Ejemplo de MIPS: add $s0, $s1, $s2 Dos operandos fuentes: s1 y s2 Un operando destino: s0 s0 = s1 + s2 Universidad de Sonora Arquitectura de Computadoras

12 Organización de la memoria
Se puede ver como un vector (arreglo de una dimensión). Una dirección de memoria es un índice del vector. 1 2 3 4 5 Datos ... Con n bits, se puede direccionar hasta 2n – 1 datos Universidad de Sonora Arquitectura de Computadoras

13 Organización de la memoria
Alineación. La dirección de una palabra en memoria comienza en un múltiplo del número de bytes que ocupa una palabra. Ejemplo de memoria con palabras alineadas de 4 bytes. 4 8 12 ... Datos 32 bits Universidad de Sonora Arquitectura de Computadoras

14 Organización de la memoria
Hay dos formas de guardar una palabra multi-byte en memoria: Big-endian. El byte mas significativo se guarda en la dirección mas baja. Little-endian. El byte menos significativo se guarda en la dirección mas baja. Universidad de Sonora Arquitectura de Computadoras

15 Big-endian/Little-endian
Ejemplo: guardar la palabra de 4 bytes en la dirección 1000. Byte mas significativo Byte menos significativo Universidad de Sonora Arquitectura de Computadoras

16 Big-endian Byte mas significativo Byte menos significativo 1000 1001 1002 1003 Universidad de Sonora Arquitectura de Computadoras

17 Little-endian Byte menos significativo Byte mas significativo 1000 1001 1002 1003 Universidad de Sonora Arquitectura de Computadoras

18 Big-endian/Little-endian
Intel x86 es little-endian. Sun SPARC es big-endian. Universidad de Sonora Arquitectura de Computadoras

19 Instrucciones típicas
Aritméticas: suma (add), resta (sub), multiplicación (mul), división (div). Lógicas: and, or, xor, not. Movimiento de datos: copia (copy), carga (load), guarda (store), mueve (move). Control: brinca (jump), brinca condicional (jump if), llama subrutina (call), regresa de subrutina (ret). Sistema: llamadas a funciones del sistema operativo. Universidad de Sonora Arquitectura de Computadoras


Descargar ppt "ISA (Instruction Set Architecture)"

Presentaciones similares


Anuncios Google