CISC
CISC es un modelo de arquitectura de computadores (Complex Instruction Set Computer). Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos. La tecnologa CISC naci de la mano de Intel, creado en 1971. Ms concretamente, sera en 1972 cuando aparecera el 8080 (primer chip capaz de procesar 8 bits, suficiente para representar nmeros y letras).
CUANDO EL SISTEMA OPERATIVO O UNA APLICACIN REQUIERE DE UNA DE ESTAS ACCIONES, ENVA AL PROCESADOR EL NOMBRE DEL COMANDO PARA REALIZARLA JUNTO CON EL RESTO DE INFORMACIN COMPLEMENTARIA QUE SE NECESITE. PERO CADA UNO DE ESTOS COMANDOS DE LA ROM DEL CISC VARAN DE TAMAO Y, POR LO TANTO, EL CHIP DEBE EN PRIMER LUGAR VERIFICAR CUANTO ESPACIO REQUIERE EL COMANDO PARA EJECUTARSE Y PODER AS RESERVRSELO EN LA MEMORIA INTERNA.
EL PROCESADOR ENVA ENTONCES EL COMANDO SOLICITADO A UNA UNIDAD QUE LO DESCODIFICA EN INSTRUCCIONES MS PEQUEAS QUE PODRN SER EJECUTADAS POR UN NANOPROCESADOR, UNA ESPECIE DE PROCESADOR DENTRO DEL PROCESADOR. SLO PUEDE REALIZARSE UNA INSTRUCCIN CADA VEZ. A TRAVS DE LA COMPLEJA CIRCUITERA DEL CHIP, EL NANOPROCESADOR EJECUTA CADA UNA DE LAS INSTRUCCIONES DEL COMANDO. PARA REALIZAR UNA SOLA INSTRUCCIN UN CHIP CISC REQUIERE DE CUATRO A DIEZ CICLOS DE RELOJ.
MICROPROGRAMA BIT: CAMPO:
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17
+------------+------------+-------------+----------------------+
REGISTRO REGISTRO OPERACIN SALTO SIGUIENTE OPERANDO 1 OPERANDO 2 ALU INSTRUCCIN
La microprogramacin es una caracterstica importante y esencial de casi todas las arquitecturas CISC. Como por ejemplo: Intel 8086, 8088, 80286, 80386, 80486. Motorola 68000, 68010, 68020, 68030, 6840. La microprogramacin significa que cada instruccin de mquina es interpretada por un microprograma localizado en una memoria en el circuito integrado del procesador. Las instrucciones compuestas son decodificadas internamente y ejecutadas con una serie de microinstrucciones almacenadas en una ROM interna. Para esto se requieren de varios ciclos de reloj (al menos uno por microinstruccin).
Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operando situados en la memoria o en los registros internos. La tecnologa CISC (Complex Instruction Set Computer) naci de la mano de Intel, creador en 1971 del primer microchip que permitira el nacimiento de la informtica personal. Ms concretamente, sera en 1972 cuando aparecera el 8080, primer chip capaz de procesar 8 bits, suficiente para representar nmeros y letras. Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos.
Este tipo de arquitectura dificulta el paralelismo entre instrucciones, por lo que en la actualidad la mayora de los sistemas CISC de alto rendimiento implementan un sistema que convierte dichas instrucciones complejas en varias instrucciones simples, llamadas generalmente microinstrucciones. La microprogramacin es una caracterstica importante y esencial de casi todas las arquitecturas CISC. La microprogramacin significa que cada instruccin de mquina es interpretada por un microprograma localizado en una memoria en el circuito integrado del procesador.
Entre las bondades de CISC destacan las siguientes: Reduce la dificultad de crear compiladores. Permite reducir el costo total del sistema. Reduce los costos de creacin de software.
Mejora la compactacin de cdigo.
Facilita la depuracin de errores.
POR QUE CISC?
HEMOS MENCIONADO LA TENDENCIA HACIA REPERTORIOS DE INSTRUCCIONES MAS RICOS, QUE INCLUYEN EL NUMERO MAYOR DE INSTRUCCIONES E INSTRUCCIONES MAS COMPLEJAS.
ESTA TENDENCIA HA SIDO MOTIVADA POR DOS RAZONES PRINCIPALES:
EL DESEO DE SIMPLIFICAR LOS COMPLILADORES Y EL DESEO DE MEJORAR LAS PRESTACIONES. EL CAMBIO DE LOS PROGRAMADORES HACIA LOS LENGUAJES DE ALTO NIVEL (HLL) SIRVIO DE BASE A ESTAS DOS RAZONES: LOS ARQUITECTOS INTENTARON DISEAR MAQUINAS QUE PROPORCIONARAN
LA SIMPLIFICACION DE LOS COMPILADORES, PARECE OBVIA. LA LABOR DEL ESCRITOR DE COMNPILADORES ES GENERAR UNA SECUENCIA DE INSTRUCCIONES MQUINA PARA CADA SENTENCIA DE HTLL. SI EXISTEN INSTRUCCIONES MQUINA QUE SE PARESCAN A SENTENCIAS DEL HLL, LA TAREA SE SIMPLIFICA. ESTE RAZONAMIENTO HA
LA OTRA RAZON IMPORTANTE MECIONADA ES LA ESPERANZA DE QUE UN SISC PRODUSCA PROGRAMAS MAS PEQUEOS Y RAPIDOS.
LOS PROGRAMAS MAS PEQUEOS TIENEN DOS VENTAJAS. 1.-COMO EL PROGRAMA OCUPA MENOS MEMORIA, HAY UN AHORRO DE ESTE RECURSO. 2.-EL SEGUNDO ES QUE EN UN ENTORNO PAGINADO, LOS PROGRAMAS MAS PEQUEOS OCUPAN MENOS PAGINAS REDUCIENDO LOS FALLOS DE PAGINA.
Tras el entusiasmo inicial por las maquinas RISC, habido una creciente conviccin de que (1) los diseos RISC, sacar provecho de la inclusin de algunas caracteristicas CISC y de que (2) los diseos CISC pueden sacar provecho de la inclusin de algunas caracteristicas RISC. El resultado es que los diseos de RISC mas recientes, especialmente el PowerPC, no son ya RISC <<puros>> y que los diseos CISC mas recientes, particularmente el Pentium II y los modelos de Pentium posteriores, incorporan ciertas caracteristicas RISC.
Una comparacin interesante en {MASH94} se adentra en este asunto. La tabla 13.7 lista varios procesadores y los compara segn diversas caracteristicas. Para el objetivo de esta comparacin, se considera tpico de un RISC clsico lo siguiente:
1. 2. 3.
4.
5.
6. 7. 8.
Un nico tamao de instruccin. Ese tamao es tpicamente cuatro bytes. Un pequeo numero de modos de direccionamiento de datos, tpicamente menor que cinco. Este parmetro es difcil de precisar. En la tabla, los modos registro y literal no se han contado y los distintos formatos con diferentes tamaos de desplazamiento se han contado por separado. No se usa direccionamiento indirecto que requiera efectuar un acceso a memoria para con seguir la direccin de memoria de otros operando. No hay operaciones que combinen carga/almacenamiento con calculos aritmticos (por ejemplo, suma desde memoria, suma a memoria). No se direccional mas de un operando de memoria por instruccin. Las operaciones de carga/almacenamiento no admiten una alineacin de datos arbitrarios. un numero mximo de usos de la unidad de gestin de memoria (memory management unit, MMU) de una direccin de dato en cada instruccin.
Tabla 13.7. Caracteristicas de algunos procesadores.
procesador Numero de tamaos de intruccio n diferente s 1 1 1 1 1 2 1 1 4 12 Tamao de intruccio n maximo en bytes Numero de modos de direccion amiento direccion amiento indirecto Carga/al macena miento con calculo aritmetic o asociado NO NO NO NO NO NO NO NO SI SI Numero maximo de operados en memoria Direccio namient o no alineado permitid o Numero maximo de uso de la MMU. Numero de bits por especific ador de registro en tero 8 5 5 5 5 4 5 5 4 3 Numeo de bits por especificad or de registro de coma flotante. 3 4 4 4 4 3 5 4 2 3
AMD29000 MIPS R2000 SPARC MC88000 HP PA IBM RT/PC IBM RS/6000 INTEL 860 IBM 3090 INTEL 80486
4 4 4 4 4 4 4 4 8 12
1 1 2 3 10 1 4 4 2b 15
No No No No No No No No Nob Nob
1 1 1 1 1 1 1 1 2 2
NO No No No No No Sia No Si Si
1 1 1 1 1 1 1 1 4 4
NSC 32016
MC68040 VAX CLIPPER INTEL 80960
21
11 56 4 2
21
22 56 8 8
23
44 22 9 9
Si
Si Si No No
SI
SI SI NO NO
2
2 6 1 1
Si
Si Si No Sia
4
8 24 2 _
3
4 4 4 5
3
3 0 3 3
a RISC que no se ajusta a esta caracterstica. b CISC que no se ajusta a esta caracterstica.
9.
el numero de bits de un campo designados de registro entero es de cinco o mas. esto quiere decir que, en un momento dado, se pueden referenciar explcitamente por lo menos 32 registros enteros. 10. el numero de bits de un campo designados de registro de coma flotante es de cuatro o mas. esto quiere decir que por lo menos 16 registros de coma flotante se pueden referenciar explcitamente en un momento dado. en la tabla, los primeros ocho procesadores poseen claramente arquitectura RISC, los siguientes cincos son sin duda CISC, y los ltimos dos procesadores son considerados a menudo como RISC que en realidad tiene muchas caracteristicas de CISC. Los puntos 1a 3 indican la complejidad de la decodificacin de instrucciones. Los puntos 4 a 8 indican la facilidad o dificultad de la segmentacin espacialmente por la presencia de requisitos de memoria virtual. Los puntos 9 y 10 se relacionan con la habilidad de sacar partido de los compiladores.