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

Slides:



Advertisements
Presentaciones similares
Org. y Arquitectura del Computador
Advertisements

Arquitectura RISC & CISC y DSP
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Capitulo 7: Procesamiento batch y el Job Entry Subsystem (JES)
El modelo de Von Neumann
Complejidad Computacional
© Dr. Iván E. Calimano Formas, usos, etc.
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
CLASE 4 EL ENSAMBLADOR.
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Arquitectura de Computadores I
I S A INSTRUCTION SET ARCHITECTURE
Caracterización de la red existente
1 Circuitos Digitales II Circuitos Digitales II Fundamentos de Arquitectura de Computadores Información sobre el Curso Semana No.1 Semestre Prof.
LENGUAJES DE PROGRAMACIÓN
Fermín Sánchez Carracedo Universitat Politècnica de Catalunya
INTRODUCCIÓN A JAVA.
El Microprocesador.
CLASE 9.
Circuitos Digitales II
Sistema operativo Tema: Maquina virtual Alumnos: Eduar peña
Computación PROGRAMACIÓN.
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament dArquitectura de Computadors (Seminaris de CASO) Autors MOVING JAVA INTO MOBILE PHONES Josep Pinyol.
Circuitos Digitales II Alineamiento en Memoria y Ejecución de un programa Semana No.8 Semestre Prof. Gustavo Patiño Prof. Eugenio.
Circuitos Digitales II
Técnico en programación de Software
Circuitos Digitales II
Circuitos Digitales II Elementos sobre la Arquitectura del Conjunto de Instrucciones Semana No.2 Semestre Prof. Gustavo Patiño
ARQUITECTURA INTEL FORMATOS DE INSTRUCCIÓN
Por José Miguel López, Daniel Ballesteros y Darío Mehrgut
Introducción a los Procesadores Digitales de Señal (DSP)
Circuitos Digitales II
3. INTRODUCCIÓN A LA PROGRAMACIÓN
Circuitos Digitales II TestBench, Generics, Generate y Más sobre Procesos Semana No.4 Semestre Prof. Gustavo Patiño Prof. Eugenio.
INTRODUCCIÓN A LA PROGRAMACIÓN
Arquitectura de Conjunto de Instrucciones (ISA)
CURSO: UNIDAD 4: LENGUAJES HDL
Composición Interna de un Procesador
Programación 1 (01) Prof. Domingo Hernández Departamento de Computación Grupo de Ingeniería de Datos y Conocimiento (GIDyC) Escuela de Ingeniería.
Direccionamiento de la red: IPv4
Direcciones físicas y direcciones virtuales (lógicas)
ISA (Instruction Set Architecture)
Unidad 2: Organización del CPU
EL MICROPROCESADOR.
(CC) , José M. Foces-Morán.
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Procesador Introducción - Funcionamiento - Memoria caché
Secciones y Segmentos STARTUP
ICC243 Sistemas Operativos P03: Introducción: Conceptos Prof. Jonathan Makuc.
Diseño de la Unidad de Control Multiciclo: Microprogramación
Tema 2: Lenguaje máquina
Organización del Computador
Sistemas Operativos Avanzados
ARQUITECTURA DE COMPUTADORES - I.S.A. -CODIFICACION ISA
Tema 7: UNIDAD CENTRAL DE PROCESOS (CPU) Cáceres Pari Ángel Raúl
Sánchez Manjarrez Silvana Ing. Daniel Domínguez C. México, D.F. a 13 de septiembre del 2006 Arquitectura de Computadoras Arquitecturas CISC Y RISC Campus.
Ing. Lionel Hendryk. Sistemas Embebidos Un sistema embebido es un sistema de computación diseñado para realizar una o algunas pocas funciones dedicadas.
Organización del Computador I Verano Control Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
ARQUICTECTURA DE SERVIDORES
Modos de direccionamiento
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
Principio unidad 1.
* UNIVERSIDAD TECNOLOGICA DE PUEBLA TECNOLOGIAS DE LA INFORMACION Y COM. AREA REDES Y TELECOMUNIC IONES ADMINISTRACION DE SERVIDORES «ARQUITECTURA DE COMPUTADORAS»
INTRODUCCIÒN MICROCONTROLADORES
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
I Kamilo Osorio Restrepo 8°B Juan David Velez. TIPOS DE PROCESADORES Y SUS FUNCIONES PRINCIPALES CISC. Complex Instruction Set Computing. Posee un número.
CAPITULO V Arquitectura de Von Neumann
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
Ronald J. Tocci and Neal S. Widmer Digital Systems, Eighth Edition Copyright ©2001 by Prentice-Hall, Inc. Upper Saddle River, New Jersey All rights.
Organización de computadoras
Transcripción de la presentación:

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

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

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 IBM Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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/ Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería

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

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

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

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

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

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