La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Circuitos Digitales II Elementos sobre la Arquitectura del Conjunto de Instrucciones Semana No.2 Semestre 2008-2 Prof. Gustavo Patiño

Presentaciones similares


Presentación del tema: "Circuitos Digitales II Elementos sobre la Arquitectura del Conjunto de Instrucciones Semana No.2 Semestre 2008-2 Prof. Gustavo Patiño"— Transcripción de la presentación:

1 Circuitos Digitales II Elementos sobre la Arquitectura del Conjunto de Instrucciones Semana No.2 Semestre 2008-2 Prof. Gustavo Patiño gpatino@udea.edu.co Prof. Eugenio Duque eaduque@udea.edu.co Departamento de Ingeniería Electrónica Facultad de Ingeniería 1

2 Interface Software/Hardware Arquitectura del Conjunto de Instrucciones (ISA).  Tipos de instrucciones  Tipos de operandos Clasificación de ISAs. Ventajas y desventajas de diferentes ISAs. Ejemplos de ISAs. Evolución del conjunto de instrucciones. Evolución RISC. El ISA del MIPS. Registros en el MIPS. Formato de las instrucciones. Operadores aritméticos. Transferencia de datos de memoria Resumen. Temario 2 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

3 Interface Software/Hardware La Arquitectura del Conjunto de Instrucciones (ISA) define la relación entre el software ejecutado en un procesador y su hardware relacionado. Es la interface entre ambos mundos. Especifica el conjunto de instrucciones implementado en dicho hardware. MIPS, Intel IA32 (x86), Sun SPARC, PowerPC, IBM390, Intel IA64.  Todos ellos son ISAs.  También pueden haber casos de arquitecturas donde se implementa la misma ISA (como una familia de arquitectura). ◦ 8086, 386, 486, Pentium, PentiumII, Pentium4: Implementan IA32. ◦ Es claro también que cada uno de ellos extiende el conjunto de instrucciones manteniendo la compatibilidad binaria del respectivo ISA.  Los ISAs más duraderos: ◦ X86, usado desde la década del 70. ◦ IBM360 usado desde los 60s y actualmente implementado en el IBM390. 3 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

4 Arquitectura del Conjunto de Instrucciones (ISA) 4 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

5 Los primeros programadores se comunicaban con computadores en números binarios. El crecimiento en la complejidad de las aplicaciones exigió nuevas notaciones que fueran traducidas a números binarios (ensamblador). Lenguaje ensamblador : Exige del programador “pensar” como la máquina. Esto, a su vez, exigió el desarrollo de nuevas notaciones más poderosas y expresivas (HLL) a fin de aprovechar todo el potencial que iba ofreciendo cada nueva máquina. Abstracción: Evolución de los lenguajes 5 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

6 Tipos de instrucciones 1. ALU :  Operaciones lógicas y aritméticas. 2. Transferencias de datos :  Load & store, move. (reg-reg, reg-mem, mem-reg, ….) 3. Control :  Branch, Jump, llamados a procedimientos, retornos, excepciones. 4. Sistema :  OS y VM. 5. Punto flotante :  Suma, multiplicación, división, comparación. 6. Decimal :  Suma, multiplicación, conversiones. 7. String :  Move, compare, search. 8. Gráficas :  Operaciones con pixeles, vértices, compresión y descompresión. 6 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

7 Tipos de operandos Enteros Números en complemento a dos. Punto flotante de única precisión y punto flotante de doble precisión. Standard IEEE 754. Caracteres : (8 bits). Binarios. Binarios con codificación decimal. Datos tipo 3D.  Especificación de vértices (x,y,z,w).  Triángulos (3 vértices).  Especificación de colores RGB en 32 bits. DSP  Especificación de punto fijo. 7 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

8 Clasificación de ISAs ? : Dónde están estos operandos Qué tipo de operandos Cómo tener acceso a estos operandos 1. Stack (Pila) : Todas las operaciones se realizan sobre una pila (estructura de datos). Los operandos están implícitos. 2. Accumulator : Se especifica un operando y el resultado es colocado en un acumulador. 3. Register-Memory : El operando se especifica en un registro y en la memoria. 4. Load-store : todos los operando son explícitos en un GPR (Global Purpose Registers). 8 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

9 Ventajas y desventajas de diferentes ISAs ArquitecturaVentajasDesventajas StackCodificación simple, ubicación fija para el operando y el resultado. El operando se debe cargar en la pila. El operando debe estar en el orden correcto dentro de la pila. AccumulatorInstrucción simple dado que sólo se especifica un operando. La operación debe ser en el orden correcto. Es necesario tener en el acumulador el operando correcto. Register- Memory Menos número de instruccionesUn conjunto complejo de instrucciones. La decodificación es compleja. Posibilidad de dimensión variable de las instrucciones. Load-storeOperandos ubicados en registros. Es posible utilizar directamente un operando sin la necesidad de más instrucciones. Instrucciones más grandes y codificación compleja. 9 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

10 Ejemplos de la clasificación de los ISAs Ejemplo : C  A + B  Una configuración típica CISC usa una mezcla.  También llamada de Arquitectura Register-Register. Ejemplo : DLX, MIPS. 10 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

11 Evolución del conjunto de instrucciones 11 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

12 Evolución del conjunto de instrucciones (…cont) Desafortunadamente no hay estándares (normatividad) que se puedan seguir para el diseño de un conjunto de instrucciones. La tendencia hasta el comienzo de la década de los 80’s estaba basada en una filosofía CISC (Complex Instruction Set Computers) de diseño del conjunto de instrucciones.  Su conjunto se compone de muchas instrucciones.  Posee instrucciones complejas que realizan la tarea de un conjunto de instrucciones más sencillas. (p.e una instrucción de lazo).  Posee muchos formatos de instrucción y modos de direccionamiento.  Posee diferentes clases de registros. 12 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

13 Evolución del conjunto de instrucciones (…cont) Cuestiones que surgen para cualquier arquitectura ISA.  Análisis del caso CISC : Tamaño de los programas en lenguaje de máquina ?  Más simples (más pequeños) con menor número de instrucciones para ejecutar. Complejidad de la arquitectura de la máquina?  Más compleja (debido a la complejidad de las instrucciones), requiriendo más tiempo para la ejecución de cada instrucción. Optimizaciones del compilador?  Más difícil (debido a las múltiples opciones a la hora de decidir cuáles instrucciones o modos de direccionamiento utilizar.) 13 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

14 Evolución del conjunto de instrucciones (…cont) Desde el comienzo de la década de los 80s, la tendencia en el diseño de las nuevas ISAs ha estado basada en la filosofía RISC (Reduced Instruction Set Computers).  Principios de esta filosofía: La simplicidad favorece la regularidad  Todas las instrucciones son del mismo tamaño.  Todas las instrucciones del mismo tipo siguen el mismo formato. 14 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

15 Evolución del conjunto de instrucciones (…cont)  Principios de la filosofía RISC (…cont) : En cuanto más pequeño, más rápido.  Refiriendo a un menor número de instrucciones.  Un número relativamente bajo de tipos de registros. Un buen diseño demanda (exige) compromiso.  Algunos pocos formatos de instrucción para manejar necesidades especiales. Haga que el caso más común sea rápido.  Las instrucciones que son ejecutadas más frecuentemente o las características más utilizadas necesitan ser optimizadas en la arquitectura del HW. Especificación de pipeling (operación multi-ciclo), ejecución en un solo ciclo, tecnología de compilación, etc. 15 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

16 Breve recuento de la evolución RISC 16 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

17 Procesadores RISC Procesadores de servidores o de escritorio  Digital Alpha  HP PA-RISC  IBM & Motorola PowerPC  Silicon Graphics MIPS  Sun Microsystem SPARC Sistemas Embebidos  Advanced RISC Machine ARM  Advanced RISC Machine Thumb  Hitachi SuperH  Mitsubishi M32R  Silicon Graphics MIPS16 17 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

18 Comparación 18 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

19 Comparación (…cont) 19 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

20 Modos de Direccionamiento 20 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

21 Modos de Direccionamiento (…cont) 21 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

22 Codificación de las Instrucciones Opcode Formato de instrucción  Variable : El modo de direccionamiento es incluido en el campo (Intel 80x86).  Fijo : Modo de direccionamiento es especificado en el opcode (MIPS, SPARC).  Hibrido : Ejemplo IBM 360/70. 22 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

23 Ejecución de una aplicación 23 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

24 Procesador MIPS 24 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

25 El ISA del MIPS MIPS: Compañía semiconductora que construyó uno de las primeras arquitecturas RISCs del mercado.  Fundada por J. Hennessy. El MIPS prevalece en un mayor número de aplicaciones, en su mayoría embebidas, en donde se usa como el núcleo del procesador de un System on Chip (SoC). 25 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

26 El ISA del MIPS (…cont) Durante este curso estudiaremos varios aspectos de la arquitectura del MIPS. Porque MIPS en lugar, por ejemplo, del Intel80x86 ?  Procesador utilizado en el texto guía del curso.  Existe mucha información y herramientas disponibles sobre el MIPS.  El MIPS es simple, elegante y fácil de entender.  Hay quienes consideran el X86 feo y complicado de explicar.  El X86 es dominante en la industria de PCs.  El MIPS prevalece en un mayor número de aplicaciones, en su mayoría embebidas, en donde se usa como el núcleo del procesador de un System on Chip (SoC). 26 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

27 Breve historia del MIPS 27 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

28 C vs el ISA del MIPS-I 28 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2


Descargar ppt "Circuitos Digitales II Elementos sobre la Arquitectura del Conjunto de Instrucciones Semana No.2 Semestre 2008-2 Prof. Gustavo Patiño"

Presentaciones similares


Anuncios Google