circuitos digitales ii elementos sobre la arquitectura del conjunto de instrucciones semana no.2...

28
Circuitos Digitales Circuitos Digitales II II Elementos sobre la Arquitectura del Elementos sobre la Arquitectura del Conjunto de Instrucciones Conjunto de Instrucciones Semana No.2 Semana No.2 Semestre 2008-2 Semestre 2008-2 Prof. Gustavo Patiño Prof. Gustavo Patiño [email protected] Prof. Eugenio Duque Prof. Eugenio Duque [email protected] Departamento de Ingeniería Electrónica Departamento de Ingeniería Electrónica Facultad de Ingeniería Facultad de Ingeniería 1

Upload: soledad-rojas

Post on 12-Feb-2015

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 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

Circuitos Digitales IICircuitos Digitales II

Elementos sobre la Arquitectura del Conjunto de Elementos sobre la Arquitectura del Conjunto de InstruccionesInstrucciones

Semana No.2Semana No.2Semestre 2008-2Semestre 2008-2

Prof. Gustavo PatiñoProf. Gustavo Patiñ[email protected]

Prof. Eugenio DuqueProf. Eugenio [email protected]

Departamento de Ingeniería ElectrónicaDepartamento de Ingeniería Electrónica

Facultad de IngenieríaFacultad de Ingeniería

1

Page 2: 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

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

2Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 3: 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

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.

3Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 4: 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

Arquitectura del Conjunto de Instrucciones (ISA)

4Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 5: 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

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

5Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 6: 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

Tipos de instrucciones1. 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

Page 7: 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

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.

7Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 8: 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

Clasificación de ISAs

8Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 9: 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

Ventajas y desventajas de diferentes ISAsArquitectura Ventajas Desventajas

Stack Codificació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.

Accumulator Instrucció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 instrucciones Un conjunto complejo de instrucciones. La decodificación es compleja. Posibilidad de dimensión variable de las instrucciones.

Load-store Operandos ubicados en registros. Es posible utilizar directamente un operando sin la necesidad de más instrucciones.

Instrucciones más grandes y codificación compleja.

9Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 10: 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

Ejemplos de la clasificación de los ISAs

Ejemplo : C A + B

Una configuración

típica CISC usa una mezcla.

Una configuración

típica CISC usa una mezcla.

También llamada de

Arquitectura Register-Register.

Ejemplo : DLX, MIPS.

También llamada de

Arquitectura Register-Register.

Ejemplo : DLX, MIPS.

10Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 11: 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

Evolución del conjunto de instrucciones

11Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 12: 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

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.

12Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 13: 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

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.)

13Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 14: 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

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.

14Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 15: 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

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.

15Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 16: 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

Breve recuento de la evolución RISC

16Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 17: 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

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

17Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 18: 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

Comparación

18Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 19: 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

Comparación (…cont)

19Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 20: 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

Modos de Direccionamiento

20Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 21: 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

Modos de Direccionamiento (…cont)

21Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 22: 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

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.

22Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 23: 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

Ejecución de una aplicación

23Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 24: 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

Procesador MIPS

24

Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería

2008 - 2

Page 25: 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

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).

25Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 26: 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

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).

26Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 27: 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

Breve historia del MIPS

27Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2

Page 28: 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

C vs el ISA del MIPS-I

28Departamento de Ing. Electrónica. Circuitos Digitales II

Facultad de Ingeniería 2008 - 2