CELERON PPGA370, PENTIUM III FCPGA, CYRIX III ARQUITECTURAS DE COMPUTADORAS • ARQ. VON NEUMANN: Ejecución secuencial de las instrucciones de un programa • AVANCES EN LAS ARQ. ACTUALES: – SEGMENTACIÓN DE INSTRUCCIONES (pipelining): Las inst. comparten el mismo hardware pero se encuentra en distintas fases de ejecución – EJECUCIÓN SUPERESCALAR: varias inst. se ejecutan simultáneamente utilizando distintos elementos de hardware – PALABRAS DE INSTRUCCIÓN MUY LARGAS (VLIW, very long instruction word): cada palabra especifica varias instrucciones (de menor tamaño) que se ejecutan en forma simultanea ARQUITECTURAS ARQUITECTURAS RISC/CISC CISCSec. µprogramado RISCSec. Cableado ARQUITECTURAS RISC/CISC • CISC (Complex Instruction Set Computer) repertorio muy amplio de instrucciones muy complejas y potentes. El diseño de esta arq. Está marcado por la tecnología existente en los años 60. • RISC (Reduced Instruction Set Computer) repertorio de instrucciones lo más reducido posible con un alto porcentaje que se completan en un ciclo de reloj – El hecho de tener actualmente mecanismos rápidos de acceso a memoria, buses de alta velocidad y compiladores especializados en estas arquitecturas, hace que los ordenadores RISC obtengan mejores rendimientos. – Cualquier tarea necesita más instrucciones en RISC que en CISC, ya que en RISC las instrucciones son más elementales. La brecha semántica Lenguaje de MUY ALTO NIVEL: PROCESARORES DE TEXTO, PLANILLAS DE CALCULO, etc LENGUAJE DE ALTO NIVEL Assembler ensamblador COMPILADOR INTERPRETE LENGUAJE DE MÁQUINA COMPILADOR programa que toma como entrada un texto escrito en un lenguaje, llamado fuente y da como salida otro texto en un lenguaje, denominado objeto. INTÉRPRETE: Analiza el programa fuente y lo ejecuta directamente, sin generar ningún código equivalente CISC Y RISC • Los avances en la tecnología electrónica, redujo la diferencia en la velocidad de procesamiento de los microprocesadores con las velocidades de las memorias, lo que repercutió en el desarrollo de los microprocesadores. • Posiblemente en breve los microprocesadores RISC sustituirán a los CISC. Pero los microprocesadores CISC tienen un mercado de software muy difundido, esto limitará la sustitución en lo inmediato.• En los términos complejo y reducido, se deben tomar como referencia las instrucciones y también la complejidad del hardware del procesador. CISC Y RISC • La comparación entre CISC y RISC no es algo simple, ya que no es sólo una cuestión de diferencias en el conjunto de instrucciones, puesto que es fundamental resaltar el mejor uso y aprovechamiento de los recursos del silicio, es decir, menor tiempo de diseño y empleo de menor número de transistores, lo que redunda en menor número de errores de diseño y menor tiempo de ejecución para instrucciones individuales. CISC Y RISC • Con tecnologías de semiconductores comparables e igual frecuencia de reloj, un procesador RISC típico necesita un tiempo de procesamiento dos a cuatro veces mayor que la de un CISC, pero su estructura de hardware es tan simple, que se puede realizar en una fracción de la superficie ocupada por el circuito integrado de un procesador CISC. RISC (Reduced instruction set computer) • En los 70, las mejoras tecnológicas permitieron tener velocidades en la memoria principal similares a la memoria de control, lo que hizo posible trabajar con instrucciones simples (que se completan en un ciclo de reloj) y por tanto acelerar considerablemente la ejecución de instrucciones (al terminar la ejecución de todas las microinstrucciones se empieza con la ejecución de la siguiente instrucción). • La arquitectura (RISC), se caracteriza por poseer un juego de instrucciones lo más reducido posible con un porcentaje alto de ellas que se completan en un ciclo de reloj. Alguna instrucción compleja, necesitará más de un ciclo de reloj, pero la mayor parte de ellas se realizan a partir de operaciones fundamentales. Es una constatación estadística que la potencia práctica de un ordenador reside en un repertorio pequeño de instrucciones, con lo cual si se reduce dicho repertorio se sigue conservando la potencia del ordenador, y disminuye la complejidad del diseño y el costo INICIALMENTE CISC • La tendencia de los programadores hacia los lenguajes de alto nivel (HLL), hizo tender a repertorios de instrucciones más ricos con instrucciones más complejas (para disminuir la brecha semántica) • Esta tendencia buscaba simplificar los compiladores y mejorar las prestaciones • los programas cada vez más grandes y complejos demandan mayor velocidad en el procesamiento de información, lo que implica la búsqueda de procesadores más rápidos y eficientes. CLAVES FILOSOFICAS RISC (Miles J. Murdocca) 1. 2. 3. 4. Búsqueda anticipada de instrucciones tener en la CPU una cola de instrucc. antes que se las necesite disminuye el tiempo necesario para la búsqueda de la instrucción Con ↓ de costo de mem. y ↑ velocidad en la búsqueda de las instrucc. no se justifica CISC todas las secuencias de instrucc. deberían pertenecer a RISC (para = problema, Inst. CISC = 1/3 RISC) Diseñar inst. RISC para arquitectura segmentada No se justifica integración de inst. CISC pudiendo descomponerse en secuencias de inst. RISC mas simples. LOS PROCESADORES CISC • Capacidad para ejecutar un gran número de instrucciones en lenguaje de máquina, mas de cien • La microprogramación es una característica importante y esencial de casi todas las arquítecturas CISC • Dificultad para implementar el paralelismo entre instrucciones LOS PROCESADORES RISC • Características comunes a todos los procesadores RISC,: • Modelo de conjunto de instrucciones Load/Store (Cargar/Almacenar). Sólo las instrucciones Load/Store acceden a memoria; Ello simplifica el direccionamiento y acorta los tiempos de los ciclos de la CPU, Arquitectura no destructiva de tres direcciones. Los procesadores CISC destruyen la información que existe en alguno de los registros, como consecuencia de la ejecución normal de instrucciones; esto es debido a su arquitectura de dos direcciones, por la cual el resultado de una operación sobrescribe uno de los registros que contenía a los operandos. Por contra, las instrucciones RISC, con tres direcciones, contienen los campos de los dos operandos y de su resultado. Por lo tanto, los operandos origen como el destino, son mantenidos en los registros tras haber sido completada la operación. Esta arquitectura "no destructiva" permite reutilizar los operandos optimizando la concurrencia. Instrucciones simples, de formato fijo, con pocos modos de direccionamiento. Las instrucciones simples reducen de manera muy significativa el esfuerzo para su descodificación, y favorecen su ejecución en pipelines. Todas las instrucciones tienen una longitud equivalente a una palabra y están almacenadas en forma secuencial. Ausencia de microcódigo. El microcódigo no se presta a la ejecución en ciclos únicos, ya que requiere que el hardware sea dedicado a su interpretación dinámica. La programación en microcódigo no hace que el software sea más rápido que el programado con un conjunto de instrucciones simples. Todas las funciones y el control, en los procesadores RISC, están "cableados", para lograr una máxima velocidad y eficiencia. Ejecución en conductos (pipelined). Las instrucciones simples, de formato fijo y ciclo único permiten que las diferentes etapas de los ciclos de ejecución (búsqueda o fetch, descodificación, ejecución, y escritura del resultado o result write-back) para instrucciones múltiples, se puedan realizar simultáneamente, de un modo más simple y eficaz. Ejecución en ciclos únicos: cada instrucción puede ser ejecutada en un único ciclo de la CPU. • • • • • Características de las RISC que la distinguen de la CISC Miles H. Murdocca 1. 2. 3. 4. 5. Todas las inst. son de long. fija = 1 palabra Todas las inst. ejecutan inst. simples, en una estructura segmentada se realizan en 1 ciclo de reloj. Las operac. complejas son convertidas por el compilador en inst. simples Todos los operandos están contenidos en registros antes de iniciar las operaciones Los modos de direccionamiento son los mas simples Existe gran cantidad de registros de uso general las operaciones aritméticas utilizan las variables temporarias que están en los registros en lugar de tenerlas en una pila en MC RISC y CISC • Pueden combinarse las ventajas RISC y CISC en una máquina • Los µprocesadores Intel-Pentium son CISC de alto rendimiento – Usan un traductor de hardware que sustituye cada instrucc. CISC por una secuencia de operaciones RISC – Desarrollo de las operaciones simples con gran rapidez • Utilización de los beneficios y métodos de aceleración aplicables a los conjuntos de instrucciones RISC los procesadores CISC RISC y CISC • "Desde el 486, los procesadores Intel tienen tecnología RISC incorporada. El 486 posee un núcleo RISC rodeado por una compleja arquitectura CISC". .Las diferencias son cada vez más borrosas entre las arquitecturas CISC y RISC. Las CPU's combinan elementos de ambas y no son fáciles de encasillar. Por ejemplo, el Pentium Pro traduce las largas instrucciones CISC de la arquitectura x86 a micro operaciones sencillas de longitud fija que se ejecutan en un núcleo de estilo RISC. MAINFRAMES DECADA DEL 70 DECADA DEL 60 PRINCIPIOS DE LOS 80 Mainframe z10 de IBM