risc cisc

of 19/19
CISC - RISC Antonio Castillo Mengíbar

Post on 16-Aug-2015

56 views

Category:

Devices & Hardware

2 download

Embed Size (px)

TRANSCRIPT

  1. 1. CISC - RISC Antonio Castillo Mengbar
  2. 2. INDICE Historia CISC Historia RISC Cules son las diferencias en caractersticas? Composicin interna e Implementacin de instrucciones Casos reales Ejemplos Presente Seguridad en CISC-RISC INDICE
  3. 3. Comienzo de CISC Los CISC pertenecen a la 1 corriente de construccin de procesadores, antes del desarrollo de los RISC. Nos centraremos en la evolucin de x86(Intel) Definicin: x86 es un conjunto de instrucciones utilizada en micro arquitectura de CPU. Tcnicamente, la arquitectura es denominada IA32 (Intel Architecture 32 bits). Historia CISC En 1971 Intel fue la primera compaa en lograr la integracin de suficientes transistores como para vender un microprocesador (en un simple chip) programable completo con un conjunto de instrucciones de 4 bits, que se volvera muy comn en calculadoras de bolsillo: El Intel 4004------------------------- Curiosidad: Intel inici sus operaciones siendo un fabricante de memoria para computadoras. Encapsulado: 16 pines, Reloj: 740 kHz Direcciones de 8 bits Memoria:4 KB Bus: 4 bits datos/direcciones Registros: 16 de 4 bits
  4. 4. Cronologa Intel Evolucin x86 Historia CISC
  5. 5. Intel 8008 Intel 8080 Encapsulado: 18 pines, Reloj: 0.8 MHz Direcciones de 8 bits Memoria:16 KB Bus: 8 bits datos/direcciones, Registros: 8 de 8 bits Puertos de entrada: 8 Puertos de Salida:24 Encapsulado: 40 pines Reloj: 2 MHz Direcciones de 16 bits Memoria:64KB Bus direccin de 16 bits Registros: 7 de 8 bits Bus de datos de 8 bits Puertos de entrada/salida: 256 Historia CISC
  6. 6. Intel 80386 Historia CISC En 1985 lo sucedi 80386 se produjo el boom de la multitarea, un avance tan fuerte que provoca un hito en la produccin de procesadores. Nace el 1 procesador de 32 bits, utilizarlo para aplicaciones de multitarea sera ya mucho ms fcil buenas noticias para los programadores-de lo que lo fue con su predecesor. Producido hasta 2007 para sistemas embebidos (empotrado) y tecnologa aeroespacial .Es la tercera generacin x86Encapsulado: 68 pines Reloj:16 a 40 MHz Bus de direcc.: 24 bits A partir de este momento ,en 1989 aparece cach L1 en Intel 80486 y en la dcada del 2000 empezaron a aumentar ncleos. y en 2003 AMD introdujo x64.
  7. 7. Comienzo de RISCHistoria RISC Primer objetivo: Incrementar el rendimiento de la CPU.--->Velocidad de respuesta Se pensaba que se estaba alcanzando los lmites tericos, y las mejoras vendran de pequeas caractersticas en el chip).Un tamao ms pequeo podra resultar en un mejor rendimiento al operar a ms altas velocidades de reloj. Se centraron en el diseo de chips para computacin paralela. Esto requera una gran cantidad de chips dividiendo el problema. Idea: Incluir en el chip un canal por el cual se pudiera dividir las instrucciones en etapas y en cada paso ir trabajando muchas instrucciones diferentes al mismo tiempo. La clave: Pipeline Segmentacin en serie.
  8. 8. Comienzo de RISC A finales de los 80 ya haban dejado atrs a CISC en mejora de proceso y CISC con el tiempo aade esta tecnologa en sus diseos. Todo esto pudo ser aadido a los diseos CISC y aun as caber en un solo chip, pero esto tom prcticamente una dcada entre finales de los ochenta y principios de los noventa. Historia RISC Idea: utilizar varios elementos de procesamiento dentro del procesador y ejecutarlos en paralelo, es decir, trabajar simultneamente varias instrucciones a la vez (Dependiendo del nmeros de chips).Difcil de llevar a cabo porque algunas instrucciones dependan del resultado de otras instrucciones. La clave: Paralelismo. Curiosidad: la utilizacin del trmino CISC comenz tras la aparicin de los procesadores RISC como nomenclatura despectiva por parte de los defensores/creadores de stos ltimos. John Cocke encabezo este proyecto en IBM
  9. 9. Cules son las Diferencias en caractersticas?Diferencias CISC RISC Memoria - Memoria Registro - Registro Muchas instrucciones Pocas instrucciones Instrucciones largas, Cdigo con menos lneas (bueno para el programador) Instrucciones cortas, Cdigo con ms lneas (malo para el programador) Se enfatiza la versatilidad del repertorio de instrucciones Se aaden instrucciones nuevas slo si son de uso frecuente y no reducen el rendimiento de las ms importantes Instrucciones complejas toman mltiples ciclos Instrucciones Simples toman un solo ciclo Complejidad en el microprograma. Complejidad en el compilador Formato de instrucciones variable.* Formato de instrucciones fija* Instrucciones Interpretadas por un microprograma. Instrucciones interpretadas por el hardware No pipeline o poco pipeline real Alto pipeline
  10. 10. Composicin interna e Implementacin de instrucciones Estructura
  11. 11. Composicin interna o La mquina CISC implementa a nivel de hardware un unidad de control micro programada que hace de intermediario antes de que la unidad lgica ejecute la instruccin. Esta unidad microprograma divide la instruccin CISC en micro instrucciones ms sencillas para que finalmente la unidad lgica RISC ejecute las micro instrucciones. o La mquina RISC ejecuta instrucciones ms rpido porque no tiene que pasar por una capa de conversin de micro cdigo. El compilador RISC genera ms instrucciones que el compilador CISC para el mismo proceso. Composicin
  12. 12. ImplementacinImplementacin Supongamos que la MP se divide en: Desde fila 1 hasta 5 y columna 1 hasta 4. La unidad de ejecucin es responsable de llevar a cabo todos los clculos. Sin embargo, la unidad de ejecucin slo puede operar en los datos de que se ha cargado en uno de los cuatro registros (A, B, C, o D). Digamos que queremos encontrar el producto de dos nmeros - uno almacenado en la posicin 1: 3 y otro almacenado en la posicin 4: 2 y almacenar de nuevo el resultado en 1: 3. Enunciado:
  13. 13. Enfoque CISC:Implementacin En el diseo CISC se tratara de terminar la tarea en las mnimas instrucciones posibles mediante la implementacin de hardware que podra entender y ejecutar la serie de operaciones. Por lo tanto el procesador vendra con una instruccin especfica 'MUL' en su conjunto de instrucciones: 1. 'MUL' cargara los dos valores de la memoria en registros separados, multiplica los operandos en la unidad de ejecucin 2. Almacena el producto en la ubicacin adecuada. MUL 1: 3, 4: 2 Despus de ejecutar 'MUL' el procesador borra automticamente los registros. Si uno de los operandos tiene que ser utilizado para otro calculo, el procesador debe solicitarlo otra vez para su carga desde el banco de memoria a un registro. MUL se conoce como una "instruccin compleja", ya que opera directamente en los bancos de memoria de la computadora y no requiere del programador para llamar explcitamente a las funciones de carga o almacenamiento porque ya estn implementadas en la misma instruccin.
  14. 14. Enfoque RISC:Implementacin En el diseo RISC se utilizan instrucciones sencillas que pueden ser ejecutadas dentro de un ciclo de reloj. Por lo tanto, la instruccin 'MUL' se dividir en tres instrucciones: 1. "LOAD", que mueve los datos del banco de memoria a un registro 2. "PROD", que encuentra el producto de dos operandos situados dentro de los registros 3. "STORE", que mueve los datos de un registro de los bancos de memoria. CARGA de registro A, 1: 3 CARGA de registro B, 4: 2 PROD A, B LOAD 1: 3, A En RISC, el operando se mantendr en el registro hasta que se cargue otro valor.
  15. 15. Casos reales: Sume el contenido de la localidad de memoria apuntada por A3 al componente de un arreglo que inicia en la localidad de memoria 100. El nmero de ndice del componente es A2. El contenido de A3 se incrementa automticamente en uno. CISC (M68000) RISC (MIPS) Add (A3)+, 100(A2) Lw $t0, 0($s3) Lw $t1, 100($s2) Add $t2, $t0, $t1 Sw $t2, 0($s3) Addi $s3, $s3,1 ----------------------------------------------------------------------------------------------------- $t0