Sie sind auf Seite 1von 19

CISC - RISC

Antonio Castillo Mengbar

INDICE

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

Historia CISC

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).
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-------------------------
Encapsulado: 16 pines,

Reloj: 740 kHz

Direcciones de 8 bits

Memoria:4 KB

Bus: 4 bits datos/direcciones

Registros: 16 de 4 bits

Curiosidad: Intel inici sus operaciones siendo


un fabricante de memoria para
computadoras.

Historia CISC

Cronologa Intel
Evolucin x86

Historia CISC

Intel 8008

Intel 8080

Encapsulado: 18 pines,

Reloj: 0.8 MHz

Encapsulado: 40 pines

Reloj: 2 MHz

Direcciones de 8 bits

Memoria:16 KB

Direcciones de 16 bits

Memoria:64KB

Bus: 8 bits datos/direcciones,

Registros: 8 de 8 bits

Bus direccin de 16 bits

Puertos de entrada: 8

Puertos de Salida:24

Bus de datos de 8 bits

Registros: 7 de 8 bits
Puertos de entrada/salida: 256

Intel 80386
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.

Historia CISC
Encapsulado: 68 pines
Reloj:16 a 40 MHz

Bus de direcc.: 24 bits

Producido hasta 2007 para sistemas embebidos (empotrado)


y tecnologa aeroespacial .Es la tercera generacin x86
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.

Historia RISC

Comienzo de 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.

Historia RISC

Comienzo de 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.
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.
John Cocke encabezo este proyecto en IBM

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.

Diferencias

Cules son las Diferencias en caractersticas?


CISC

RISC

Memoria - Memoria
Muchas instrucciones
Instrucciones largas,

Registro - Registro
Pocas instrucciones
Instrucciones cortas,

Cdigo con menos lneas

Cdigo con ms lneas

(bueno para el programador)

(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 Simples toman un solo ciclo

Instrucciones complejas toman mltiples


ciclos
Complejidad en el microprograma.
Formato de instrucciones variable.*
Instrucciones Interpretadas por un
microprograma.
No pipeline o poco pipeline real

Complejidad en el compilador
Formato de instrucciones fija*
Instrucciones interpretadas por el hardware
Alto pipeline

Composicin interna e
Implementacin de instrucciones
Estructura

Composicin

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.

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.

Implementacin

Implementacin
Supongamos que la MP se divide en:

Enunciado:

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.

Implementacin

Enfoque CISC:
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.

Implementacin

Enfoque RISC:
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.

Implementacin

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)

Add (A3)+, 100(A2)

RISC (MIPS)
Lw $t0, 0($s3)
Lw $t1, 100($s2)
Add $t2, $t0, $t1
Sw $t2, 0($s3)
Addi $s3, $s3,1
-----------------------------------------------------------------------------------------------------

$t0 <- Mem[0+$s3]


$t1 <- Mem[100+$s2]
$t2 <- $t0 + $t1
Mem[0+$s3] <- $t2
$s3<- [$s3]+1

Ejemplos

CISC:

Motorola 68000, Zilog Z80 y toda la familia Intel


x86, AMD x86-64 usada en la mayora de las
computadoras personales actuales.

RISC:

El Apple A4 es un procesador basado en la


arquitectura ARM (Advanced RISC Machines)
creado por PA Semi con un alto rendimiento y un
bajo consumo energtico de cara a aumentar la
duracin de la batera.

Presente

Presente
Las mquinas RISC protagonizan la tendencia actual de construccin de microprocesadores.
Ver Ejemplos.
En la actualidad, la mayora de los sistemas CISC de alto rendimiento implementan un sistema
que convierte dichas instrucciones complejas en varias instrucciones simples del tipo RISC,
llamadas generalmente microinstrucciones que a su vez son ejecutadas en ncleos RISC por lo
que las arquitecturas convergen.
RISC es ampliamente utilizado en Smartphones y tablets
Mientras que CISC es utilizado en sobremesa y porttiles ,aunque hasta hace poco PowerPC
era utilizado por Apple

Artculo sobre seguridad


* Hoy en da, la razn mayoritaria para abandonar Windows y utilizar Linux ya no es el coste, sino los fallos de seguridad y los virus que
plagan Windows
* Casi todo el mundo se plantea el problema de la seguridad desde el software sistema operativo y no desde el hardware

La mayora de las vulnerabilidades explotan no slo un problema a la hora de gestionar un error en el sistema operativo,
sino la forma en que un procesador determinado trata ese error. En el caso de los procesadores x86, la copia de un
determinado conjunto de datos, mayor del espacio previsto, puede llegar a introducir datos en la pila un espacio
diferente de memoria, previsto para gestionar la lista de tareas pendientes, de modo que la instruccin de retorno
desde el proceso que ha fallado no contiene el cdigo original, sino el cdigo introducido.

Dicho de otra forma: para explotar, por ejemplo, una vulnerabilidad presente en Linux x86, hace falta un determinado
cdigo que la produzca, y adems inyecte el cdigo problemtico en la pila; explotar esa misma vulnerabilidad en Linux
PowerPC causara el cierre de la aplicacin, pero es prcticamente imposible inyectar cdigo que permita realizar otras
funciones, por la forma en que el procesador gestiona la pila. Esto es algo comn a la mayora de procesadores RISC. Y,
desde luego, hace imposible utilizar una simple traduccin instruccin por instruccin del cdigo que provocaba el fallo en
Linux x86.

Artculo : CIO Today Network Security Apple Mythology and Desktop Security by Paul Murphy -2005-

Bibliografa
http://es.wikipedia.org/wiki/Reduced_instruction_set_computing
http://es.wikipedia.org/wiki/Complex_instruction_set_computing
http://es.wikipedia.org/wiki/X86
http://es.wikipedia.org/wiki/Intel_8087
http://es.wikipedia.org/wiki/X87
http://es.wikipedia.org/wiki/Intel_80386
http://es.wikipedia.org/wiki/Intel_Pentium
http://es.wikipedia.org/wiki/Pentium_Pro
http://www.pcmag.com/encyclopedia/term/50548/risc (ingls)
http://www.engineersgarage.com/articles/risc-and-cisc-architecture?page=5

http://www.ie.itcr.ac.cr/pvega/Project/Documents_SD/Handout%20N3%20CISC%20y%20RISC.pdf
http://www.cio-today.com/story.xhtml?story_id=1110000275OO
http://www.entremaqueros.com/bitacoras/memoria/2005/05/21/seguridad-windows-linux-macosx/
http://www.winface.com/cio_today/ent_apple.html (ingls)

http://ipadtecno.blogspot.mx/ (ipad)

Ver documento completo : Anexos y Bibliografa.

Das könnte Ihnen auch gefallen