1 / 19

ISA (Instruction Set Architecture)

ISA (Instruction Set Architecture). Arquitectura del conjunto de instrucciones. Instruction Set Architecture (ISA ) Arquitectura del conjunto de instrucciones. software. Conjunto de instrucciones. hardware. Modelo de von Neumann. - Las instrucciones y los datos están en la misma memoria.

raina
Download Presentation

ISA (Instruction Set Architecture)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 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. 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 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). 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. Arquitectura de Computadoras

  7. Abstracción Bajando el nivel de abstracción revela otras informaciones 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 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 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. 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 Arquitectura de Computadoras

  12. 0 Datos 1 Datos 2 Datos 3 Datos 4 Datos 5 Datos ... 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. Con n bits, se puede direccionar hasta 2n – 1 datos Arquitectura de Computadoras

  13. 0 Datos 32 bits 4 Datos 32 bits 8 Datos 32 bits 12 Datos 32 bits ... 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. 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. Arquitectura de Computadoras

  15. 0001 0010 0011 0100 0101 0110 0111 1000 Byte mas significativo Byte menos significativo Big-endian/Little-endian • Ejemplo: guardar la palabra de 4 bytes 1234567816 en la dirección 1000. Arquitectura de Computadoras

  16. Byte mas significativo 0001 0010 1000 0011 0100 1001 1002 0101 0110 0111 1000 Byte menos significativo 1003 Big-endian Arquitectura de Computadoras

  17. Byte menos significativo 0111 1000 1000 0101 0110 1001 1002 0011 0100 0001 0010 Byte mas significativo 1003 Little-endian Arquitectura de Computadoras

  18. Big-endian/Little-endian • Intel x86 es little-endian. • Sun SPARC es big-endian. 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. Arquitectura de Computadoras

More Related