Está en la página 1de 18

4

ARQUITECTURA CISC
(Complex Instruction Set Computer - Computadora con Conjunto de
Instrucciones Complejas).
CISC es un tipo de a rqu i tec tura de co m pu tado ras que promueve el uso de gran
nmero de instrucciones, permitiendo operaciones complejas entre
operandos situados en me m or i a o en registros internos.
La tecnologa CISC naci de la mano de Intel, creado en !"#!, permitira el
nacimiento de la in$orm%tica personal. &%s concretamente, sera en !"#' cuando
aparecera el ()*)*+ (primer c,ip capa- de procesar ) .its, su$iciente para
representar nmeros / letras).
Los microprocesadores CISC tienen un conjunto de instrucciones que se
caracteri-a por ser mu/ amplio / permitir operaciones complejas entre operando
situados en la memoria o en los registros internos.
0sta arquitectura se .asa en que cada instruccin puede corresponder a varias
operaciones de .ajo nivel, tales como leer de memoria, operacin
aritm1tica, escri.ir en la memoria, sumar datos2 todo en una sola instruccin.
0ste tipo de arquitectura di$iculta el paralelismo entre instrucciones, por lo que, en
la actualidad, la ma/ora de los sistemas CISC de alto rendimiento implementan
un sistema que convierte dic,as instrucciones complejas en varias instrucciones
simples del tipo 3ISC, llamadas generalmente microinstrucciones.
La microprogramacin es una caracterstica importante / esencial de casi todas
las arqutecturas CISC. La microprogramacin signi$ica que cada instruccin de
m%quina es interpretada por una microprograma locali-ada en una memoria en el
circuito integrado del procesador. Las instrucciones compuestas son
decodi$icadas internamente / ejecutadas con una serie de microinstrucciones
almacenadas en una 34& interna. 5ara esto se requieren de varios ciclos
de reloj, al menos uno por microinstruccin. 0s as entonces como los c,ips CISC
4
utili-an comandos que incorporan una gran diversidad de peque6as instrucciones
para reali-ar una nica operacin.
Cuando el sistema operativo o una aplicacin requieren de una de estas
acciones, enva al procesador el nom.re del comando para reali-arla junto con el
resto de in$ormacin complementaria que se necesite. 5ero cada uno de estos
comandos de la 34& del CISC varan de tama6o /, por lo tanto, el c,ip de.e en
primer lugar veri$icar cuanto espacio requiere el comando para ejecutarse / poder
as reserv%rselo en la memoria interna. 7dem%s, el procesador de.e determinar la
$orma correcta de cargar / almacenar el comando, procesos am.os que
ralenti-an el rendimiento del sistema.
0l p rocesa d or enva entonces el comando solicitado a una unidad que lo
descodi$ica en instrucciones m%s peque6as que podr%n ser ejecutadas por un
nanoprocesador, una especie de procesador dentro del procesador. 8 al no ser
las instrucciones independientes, pues son instrucciones menores procedentes de
la descodi$icacin de una instruccin ma/or, slo puede reali-arse una instruccin
cada ve-.
7 trav1s de la compleja circuitera del c,ip, el nanoprocesador ejecuta cada una
de las instrucciones del comando. 0l despla-amiento por esta circuitera tam.i1n
ralenti-a el proceso. 5ara reali-ar una sola instruccin un c,ip CISC requiere de
cuatro a die- ciclos de reloj.
La ecuacin del funcionamiento
La ecuacin siguiente es de uso general para expresar una capacidad del
$uncionamiento de computadora9
0l acercamiento de CISC procura reducir al mnimo el nmero de instrucciones
por programa, sacri$icando el nmero de ciclos por la instruccin. 0l 3ISC ,ace el
opuesto, reduciendo los ciclos por la instruccin en el coste del nmero de
instrucciones por programa.
CARACTERISTICAS DE LA ARQUITECTURA CISC
0l propsito esencial de una arquitectura CISC es intentar proporcionar nica
instruccin de m%quina para cada enunciado que est1 escrita en un lenguaje de
alto nivel.
4tra caracterstica de la arquitectura CISC es la incorporacin de $ormatos de
instrucciones de tama6o varia.le.
4
: Las instrucciones que necesitan operandos de registros pueden tener slo dos
./tes de longitud, pero las instrucciones que necesitan direcciones de
memoria pueden necesitar cinco ./tes para incluir todo el cdigo de la
instruccin.
Las instrucciones en un procesador CISC tpico proporcionan la manipulacin
directa de los operando que residen en la memoria. 5or ejemplo, una
instruccin 7;; puede especi$icar un operando en la memoria mediante un
direccionamiento de ndice / un segundo operando en la memoria por medio de
un direccionamiento directo.
7unque los procesadores CISC tienen instrucciones que slo utili-an registros de
procesador, la disponi.ilidad de otros modos de operaciones tiende a simpli$icar
la compilacin de lenguajes de alto nivel. Sin em.argo, con$orme se incorporan
m%s instrucciones / modos de direccionamiento en una computadora, se necesita
m%s circuitera lgica para implementarlos / soportarlos, / esto puede producir
que los c%lculos se ,agan lentos.
La microprogramacin es una caracterstica importante / esencial de casi todas
las arquitecturas CISC. Como por ejemplo9
Intel )*)<, )*)), )*')<, )*=)<, )0>)<. &otorola <)*00, <)*!*, <)0'*, <)*=*,
<)>0.
La microprogramacin signi$ica que cada instruccin de m%quina es interpretada
por un microprograma locali-ado en una memoria en el circuito integrado del
procesador.
0n la d1cada de los sesentas la microprogramacin, por sus caractersticas,
era la t1cnica m%s apropiada para las tecnologas de memorias existentes en esa
1poca / permita desarrollar tam.i1n procesadores con compati.ilidad
ascendente. 0n consecuencia, los procesadores se dotaron de poderosos
conjuntos de instrucciones.
Las instrucciones compuestas son decodi$icadas internamente / ejecutadas
con una serie de microinstrucciones almacenadas en una 34& interna. 5ara esto
se requieren de varios ciclos de reloj (al menos uno por microinstruccin).
PROCESOS DE INSTRUCCIONES
Los microprocesadores CISC tienen un conjunto de instrucciones que se
caracteri-a por ser mu/ amplio / permitir operaciones complejas entre operandos
situados en la memoria o en los registros internos.
0ste tipo de arquitectura di$iculta el paralelismo entre instrucciones, por lo que
en la actualidad la ma/ora de los sistemas CISC de alto rendimiento
4
implementan un sistema que convierte dic,as instrucciones complejas en
varias instrucciones simples, llamadas generalmente microinstrucciones.
Las instrucciones compuestas son decodi$icadas internamente / ejecutadas con
una serie de microinstrucciones almacenadas en una 34& interna. 5ara esto se
requieren de varios ciclos de reloj, al menos uno por microinstruccin. 0s as
entonces como los c,ips CISC utili-an comandos que incorporan una gran
diversidad de peque6as instrucciones para reali-ar una nica operacin.
La filosofa CISC
0l o.jetivo principal de la arquitectura CISC es completar una tarea en el menor
nmero de lneas de cdigo ensam.lador posi.les. 0ste o.jetivo es conseguido
mediante la construccin de un microprocesador capa- de comprender /
ejecutar una serie de operaciones complejas. 5ara esta tarea en particular, un
procesador CISC vendra preparado con una instruccin espec$ica (la
llamaremos ?&@LA?). Cuando se ejecuta, esta instruccin lee los dos valores
de memoria, multiplica los operandos en la unidad de ejecucin, / despu1s
almacena el resultado en la posicin de memoria adecuada.
;e esta manera, la tarea completa de multiplicar dos nmeros puede ser llevada
a ca.o con una nica instruccin9 &@LA ('9=), (B9').
&@LA es lo que se conoce como una ?instruccin compleja?. 4pera directamente
so.re los .ancos de memoria del computador / no requiere al programador
para llamar explicitamente a una carga de operandos o $unciones de
almacenamiento. Se parece muc,o a un comando en un lenguaje de
programacin de alto nivel. 5or ejemplo, si permitimos que ?a? represente el valor
de ('9=) / ?.? represente el valor de (B9'), entonces este comando es id1ntico a la
expresin en C ?a C a D .?.
@na de las ventajas principales de esta $iloso$a es que el compilador tiene que
,acer mu/ poco tra.ajo para traducir un lenguaje de alto nivel a ensam.lador.
7dem%s, de.ido a que la longitud del cdigo es relativamente corta, ,ace $alta
poca 37& para almacenar las instrucciones. 5ero la di$icultad est% en construir
instrucciones complejas directamente en ,ardEare.
REGISTROS CISC
Los registros son ma/oritariamente de uso dedicado
;entro de un procesador existen dos tipos de registros. Los registros ;e propsito
general son aquellos que el procesador puede utili-ar para almacenar datos
temporales, varia.les locales... 5or su parte, los registros de uso dedicado son
aquellos que est%n reservados para tareas mu/ espec$icas (almacenar el
contador de programa, el stacF pointer).
4
0l nmero de registros de propsito general es reducido en las arquitecturas
CISC. 5or un lado, se de.e a que el elevado nmero de modos de
direccionamiento provoca que casi todo el tr%nsito de datos se produ-ca de
memoria a memoria. 5or otro lado, la ma/or parte del espacio del c,ip se utili-a
para la decodi$icacin / la ejecucin, as como para el almacenamiento del
microcdigo, dejando poco espacio para estos registros. 0l compilador que se use
,a de ser capa- de maximi-ar el rendimiento de los pocos registros de propsito
general que ,a/, con el $in de lograr una ejecucin muc,o m%s e$iciente del
programa.
0n cam.io, s son a.undantes los registros de uso dedicado que controlan el
tr%nsito de datos, / el estado del procesador. 7lgunos de estos registros son
utili-ados para almacenar el stacF pointer, para reali-ar la gestin de las
interrupciones / para almacenar los cdigos de condicin.
5or ltimo, ca.e destacar que los computadores .asados en arquitecturas CISC
suelen incorporar una memoria intermedia r%pida (cac,1) para agili-ar
c%lculos / para almacenar datos temporales mu/ usados.
DIRECCIONAIENTO DE DATOS
0l acceso a los datos en una m%quina CISC toma la $iloso$a asociada
inicialmente a las instrucciones, es decir, se entiende que se $acilita la tarea de
programacin minimi-ando el uso de instrucciones de .ajo nivel, /
proporcionando instrucciones que sean capaces de ,acer el m%ximo posi.le.
!enta"as # des$enta"as
!- CISC tiene un coste ?ra-ona.le+, que es alcan-ado a nivel de usuario. 0sto
mismo, no ocurre con los 3ISC, que por el contrario tienen un coste
elevado, por esto mismo esta tecnologa ,a sido en$ocada a ventas a nivel de
empresa / equipos de gama alta.
'- La utilidad que se le d1 a la maquina es mu/ importante, /a que el usuario
de.e de encontrar un nivel ptimo en cuanto a calidad - precio. 8 por qu1 pagar
m%s si realmente no se le va a sacar partido al cien por cien.
=- 0l so$tEare utili-ado es otro de los $actores importantes, dado que un 3ISC no
utili-a el mismo so$tEare que un CISC. 0stos ltimos, por lo general tienen un
so$tEare m%s asequi.le.
>- ;ada la compati.ilidad ,acia atr%s dela $amilia CISC x)<, los usuarios ,an
podido renovar sus equipos sin por ello tener que a.andonar so$tEare que /a
conocan, / reutili-ar sus datos. 7s mismo, los $a.ricantes ,an tenido en cuenta
este $actor, puesto que seguir con otra lnea de procesadores supona no solo un
cam.io mu/ radical, sino que adem%s poda llevar un riesgo en cuanto a ventas.
0stos son algunos de los motivos. Sin em.argo, tam.i1n ,a/ que tener en cuenta
4
el con$licto de intereses de algunos $a.ricantes, as como la opinin de distintas
revistas, algunas de ellas asociadas a di$erentes marcas .Se est%n estudiando
las tendencias $uturas, como pueden ser los ,.ridos, mejoras en los
microprocesadores CISC, mejoras en los 3ISC.
ARQUITECTURAS RISC
Guscando aumentar la velocidad del procesamiento se descu.ri en .ase a
experimentos que, con una determinada arquitectura de .ase, la ejecucin de
programas compilados directamente con microinstrucciones / residentes en
memoria externa al circuito integrado resulta.an ser m%s e$icientes, gracias a
que el tiempo de acceso de las memorias se $ue decrementando con$orme
se mejora.a su tecnologa de encapsulado.
;e.ido a que se tiene un conjunto de instrucciones simpli$icado, 1stas se pueden
implantar por ,ardEare directamente en la C5@, lo cual elimina el micro- cdigo /
la necesidad de decodi$icar instrucciones complejas.
0n investigaciones ,ec,as a mediados de la d1cada de los setentas, con respecto
a la $recuencia de utili-acin de una instruccin en un CISC / al tiempo para su
ejecucin, se o.serv lo siguiente9
7lrededor del '*H de las instrucciones ocupa el )*H del tiempo total deejecucin
de un programa.
0xisten secuencias de instrucciones simples que o.tienen el mismo resultado que
secuencias complejas predeterminadas, pero requieren tiempos de ejecucin m%s
cortos.
CARACTERISTICAS DE LA ARQUITECTURA RISC
4
0stos microprocesadores siguen tomando como .ase el esquema moderno de
Ion Jeumann.
Las instrucciones, aunque con otras caractersticas, siguen divididas en tres
grupos9
Arans$erencia, operaciones / control de $lujo.
3educcin del conjunto de instrucciones a instrucciones .%sicas simples, con
la que pueden implantarse todas las operaciones complejas.
7rquitectura del tipo load-store (carga / almacena). Las nicas instrucciones que
tienen acceso a la memoria son KloadK / KstoreKL registro a registro, con un menor
nmero de acceso a memoria.
Casi todas las instrucciones pueden ejecutarse dentro de un ciclo de reloj. Con un
control implantado por ,ardEare (con un dise6o del tipo load-store), casi todas las
instrucciones se pueden ejecutar cada ciclo de reloj, .ase importante para la
reorgani-acin de la ejecucin de instrucciones por medio de un compilador.
5ipeline (ejecucin simult%nea de varias instrucciones). 5osi.ilidad de reducir el
nmero de ciclos de m%quina necesarios para la ejecucin de la instruccin, /a
que esta t1cnica permite que una instruccin puede empe-ar a ejecutarse antes
de que ,a/a terminado la anterior.
P%o&iedades del sistema ti&o RISC
4
Como se discuti en la seccin anterior algunas de las condiciones necesarias
para arc,ivar una operacin reducida en un sistema 3ISC son9
!.- 0st%ndar, tama6o arreglado de instruccin, igual para la computadora la
longitud de la pala.ra / para el anc,o del .us de datos (con la estipulacin
algunos nuevos sistemas la longitud de la pala.ra /Mo del .us de datos en
un entero mltiple del tama6o de la instruccin como en estos nuevos sistemas
de <> .its / en algunos sistemas de =' .its con un .us de datos de <> .its).
'.- 0l tiempo de la ejecucin es estandart para todas las instrucciones,
pre$eri.lemente dentro un ciclo singular del C5@ (con la estipulacin esta minora
de instrucciones igual como divide tendr% que ser ejecutado en mas de un solo
ciclo.
RISC es una a%'uitectu%a de ti&o load(sto%e
Como ,emos visto, el nmero de re$erencias por instruccin en un lenguaje de
alto nivel es elevado / la ma/ora de las instrucciones slo requieren un simple
$lujo de datos. Como resultado, la gran ma/ora de direccionamientos en
las instrucciones 3ISC son de tipo registro-registro. 0s decir se cargan los
operandos en los registros mediante una operacin de tipo load, se reali-an las
operaciones pertinentes entre los registros / los resultados se almacenan en
memoria mediante una instruccin de tipo store. 7 este modelo de arquitectura,
exclusiva de los 3ISC, se le conoce con el nom.re de loadMstore.
0videntemente, los registros del procesador son los que .rindan los tiempos de
acceso m%s cortos de.idos tanto a la tecnologa de acceso como al nmero de
.its necesarios para direccionarlos. 0n una arquitectura de tipo loadMstore Lo ideal
sera poder tener todos los operandos que se necesiten en la ejecucin de un
programa u.icados en registros. 5ero entonces el coste del ,ardEare se vera
incrementado nota.lemente.
Se necesita una estrategia para u.icar aquellos operandos a los que se accede
con m%s $recuencia / reducir el tr%$ico registro-memoria generado en las
operaciones de tipo load / store.
@na estrategia consistira en con$iar al compilador la maximi-acin del uso de los
registros. La otra estrategia, m%s acorde con la $iloso$a 3ISC, es disponer de
una cantidad elevada de registros para poder mantener u.icadas las varia.les
durante un perodo de tiempo ma/or.
PROCESOS DE INSTRUCCIONES
Los microprocesadores .asados en esta arquitectura poseen instrucciones de
tama6os $ijos / presentados en un nmero reducido de $ormatos / en donde
slo las instrucciones de carga / almacenamiento acceden a la memoria
por datos. Aam.i1n suelen disponer de muc,os registros de propsito general.
4
;e.ido a que se tiene un conjunto de instrucciones simpli$icado, 1stas se pueden
implantar por ,ardEare directamente en la C5@, lo cual elimina el microcdigo /
la necesidad de decodi$icar instrucciones complejas.
Pocas inst%ucciones sim&les
0l o.jetivo es que se ejecuten r%pido, de ser posi.le en un nico ciclo de maquina
(luego de ser captadas / decodi$icadas, por supuesto). 5ipeline de tres etapas
para las instrucciones sin re$erencia a memoria9 NI O ;I O 0I.
Se puede utili-ar control ca.leado porque son simples.
La unidad de control es simple, por lo tanto puede $uncionar con ma/or
$recuencia de clocF.
0l pipeline es e$iciente si las instrucciones son de tiempo de ejecucin similar en
casa etapa.
Las instrucciones complejas de los CISC se implementan como una de
secuencia de operaciones 3ISC.
Inst%ucciones de Anc)o *i"o # *o%mato Unifo%me
@sualmente instrucciones de anc,o $ijo son de =' .its. 0sto ,ace que la carga /
decodi$icacin de instrucciones sea simples / r%pida. Jo se necesita esperar a
que se cono-ca el largo de la instruccin actual para empe-ar a decodi$icar la
prxima.
0l $ormato uni$orme simpli$ica la decodi$icacin porque el cdigo de operacin /
el campo de direccin est%n u.icados en la misma posicin para todas las
instrucciones.
REGISTRO RISC
3egistros de par%metros9 0stos registros contienen el conjunto de par%metros que
se pasan del procedimiento padre al que est% en curso. 7 trav1s de ellos un
procedimiento ,ijo se puede comunicar con su padre sin que exista un $lujo real
de datos entre am.os.
3egistros locales9 Los registros locales sirven para almacenar aquellos operandos
que el compilador ,a/a seleccionado con $ines optimi-adores, de.ido so.re todo
al gran nmero de asignaciones en las que se ven involucrados.
3egistros temporales9 Los registros temporales sirven para reali-ar el paso de
argumentos desde un procedimiento a sus ,ijos. ;el mismo modo que ocurra con
los registros de par%metros, no es necesario un $lujo real de datos entre los dos
procedimientos.
4
Aal como podemos o.servar, existe solapamiento entre diversas ventanas
siempre / cuando se realicen llamadas / exista paso de argumentos.
Sin em.argo, el nmero de procedimientos activos en un sistema / el nivel de
anidamiento son imprevisi.les / es imposi.le disponer de un nmero in$inito de
ventanas.
5or ello, el aspecto real del $ic,ero de registros es el de un .u$$er circular. Slo se
mantienen marcos o ventanas para aquellos procedimientos que sean m%s
recientes.
Los m%s antiguos se ,an de guardar en memoria para, posteriormente, cargarlos
de nuevo en el $ic,ero de registros.
ODOS DE DIRECCIONAIENTO
7dem%s de los modos de registro e inmediato, el principal modo de
direccionamiento (/ casi siempre el nico) es el de despla-amiento (o$$set), con
registro de =' .its m%s un despla-amiento de !< .its, solo utili-ado para
L47;MSA430.
Se puede utili-ar para simular el modo directo o a.soluto, mu/ utili-ado para
acceder a datos est%ticos, usando r*. Aam.i1n se puede simular el modo
indirecto con registro ,aciendo el despla-amiento nulo.
Se evitan los modos que necesiten acceder a memoria para componer la
direccin de un operando (indirecto con memoria).
Ca%acte%sticas del RISC
a) Incrementar el tama6o del conjunto de registros.
.) &a/or velocidad en la ejecucin de instrucciones.
c) Implementar medidas para aumentar el paralelismo interno.
d) 76adir cac,1s enormes.
e) 76adir otras $uncionalidades, como 0MS / relojes para mini controladores.
$) Construir los c,ips en lneas de produccin antiguas que de otra manera no
seran utili-a.les.
g) Jo ,acer nada, o$recer el c,ip para aplicaciones de .ajo consumo de
energa o de tama6o limitado
Las caractersticas que generalmente son encontradas en los dise6os 3ISC
son9
!) Codi$icacin uni$orme de, lo que permite una decodi$icacin m%s r%pida.
') @n conjunto de registros ,omog1neo, permitiendo que cualquier registro sea
utili-ado en cualquier contexto / as simpli$icar el dise6o del compilador
4
(aunque existen muc,as $ormas de separar los $ic,eros de registro de entero /
coma $lotante).
=) &odos de direccionamiento simple con modos m%s complejos reempla-ados
por secuencias de instrucciones aritm1ticas simples.
>) Los tipos de datos soportados en el ,ardEare (por ejemplo, algunas m%quinas
CISC tiene instrucciones para tratar con tipos ./te, cadena) no se encuentran en
una m%quina 3ISC.
Los dise6os 3ISC tam.i1n pre$ieren utili-ar como caracterstica un modelo de
memoria Parvard, donde los conjuntos de instrucciones / los conjuntos de
datos est%n conceptualmente separadosL esto signi$ica que el modi$icar las
direcciones donde el cdigo se encuentra pudiera no tener e$ecto alguno en las
instrucciones ejecutadas por el procesador (porque la C5@ tiene separada la
instruccin / el cac,1 de datos, al menos mientras una instruccin especial de
sincroni-acin es utili-ada). 5or otra parte, esto permite que am.os cac,1s sean
accedidos separadamente, lo que puede en algunas ocasiones mejorar el
rendimiento.
RISC es una a%'uitectu%a +asada en la sencille,
La arquitectura 3ISC apuesta por la sencille- del dise6o de todas sus
caractersticas9 tipo de operaciones, modos de direccionamiento / $ormato de las
instrucciones.
0n las arquitecturas 3ISC no se implementan operaciones complicadas como se
suele ,acer en las CISC. Su o.jetivo es proporcionar operaciones .%sicas
que se usen con gran $recuencia, dejando de lado otras m%s so$isticadas pero de
un uso tan restringido que no merece la pena contemplar.
Los modos de direccionamiento son pocos / sencillos. ;e.ido a la gran utili-acin
de varia.les locales / a la estrategia de adoptar un $ic,ero de registros, el modo
de direccionamiento m%s importante es el e$ectuado a registro. Aam.i1n se
utili-an otros, como el de despla-amiento / el relativo al contador de programa. 0l
resto de los modos de direccionamiento que posean una ma/or complejidad se
pueden o.tener a partir de los simples va software.
P%o&iedades del sistema ti&o RISC
!- 0st%ndar, tama6o arreglado de instruccin, igual para la computadora la
longitud de la pala.ra / para el anc,o del .us de datos (con la estipulacin
algunos nuevos sistemas la longitud de la pala.ra /Mo del .us de datos en un
entero mltiple del tama6o de la instruccin como en estos nuevos sistemas
de <> .its / en algunos sistemas de =' .its con un .us de datos de <> .its).
'- 0l tiempo de la ejecucin es estandarte para todas las instrucciones,
pre$eri.lemente dentro un ciclo singular del C5@ (con la estipulacin esta minora
4
de instrucciones igual como divide tendr% que ser ejecutado en m%s de un solo
ciclo.
El ace%camiento del RISC
Los procesadores del 3ISC utili-an solamente las instrucciones simples que se
pueden ejecutar dentro de un ciclo de reloj. 7s, el comando de (&@LA+ descrito
arri.a se poda dividir en tres comandos separados9 (C73Q7,+ que mueve datos
desde el .anco de memoria a un registro, (Q4L50CIA4,+ que encuentra el
producto de dos operandos locali- dentro de los registros, / del (7L&7CRJ,+
que mueve datos desde un registro a los .ancos de memoria. 5ara reali-ar la
serie exacta de pasos descritos en el acercamiento de CISC, un
programador necesitara ci$rar cuatro lneas de asam.lea9
C73Q73 7, '9=
C73Q73 G, B9'
5IJCP73 7, G 7L&7C0J73 '9=, 7
PRINCIPIOS DE DISE-O DE LAS AQUINAS RISC
3esulta un tanto ingenuo querer a.arcar completamente los principios de dise6o
de las m%quinas 3ISC, sin em.argo, se intentar% presentar de una manera
general la $iloso$a .%sica de dise6o de estas m%quinas, teniendo en cuenta que
dic,a $iloso$a puede presentar variantes. 0s mu/ importante conocer estos
principios .%sicos, pues de 1stos se desprenden algunas caractersticas
importantes de los sistemas .asados en microprocesadores 3ISC.
En el dise.o de una m/'uina RISC se tienen cinco &asos0
!. 7nali-ar las aplicaciones para encontrar las operaciones clave.
'. ;ise6ar un .us de datos que sea ptimo para las operaciones clave.
=. ;ise6ar instrucciones que realicen las operaciones clave utili-ando el .us de
datos.
>. 7gregar nuevas instrucciones slo si no ,acen m%s lenta a la m%quina.
B. 3epetir este proceso para otros recursos.
0l primer punto se re$iere a que el dise6ador de.er% encontrar qu1 es lo que
,acen en realidad los programas que se pretenden ejecutar. 8a sea que los
programas a ejecutar sean del tipo algortmicos tradicionales, o est1n dirigidos a
ro.tica o al dise6o asistido por computadora.
La parte medular de cualquier sistema es la que contiene los registros, el 7L@ /
los K.usesK que los conectan. Se de.e optimar este circuito para el lenguaje o
aplicacin en cuestin. 0l tiempo requerido, (denominado tiempo del ciclo del .us
de datos) para extraer los operandos de sus registros, mover los datos a trav1s
del 7L@ / almacenar el resultado de nuevo en un registro, de.er% ,acerse
en el tiempo m%s corto posi.le.
4
0l siguiente punto a cu.rir es dise6ar instrucciones de m%quina que ,agan un
.uen uso del .us de datos. 5or lo general se necesitan solo unas cuantas
instrucciones / modos de direccionamientoL slo se de.en colocar instrucciones
adicionales si ser%n usadas con $recuencia / no reducen el desempe6o de las
m%s importantes.
Siempre que apare-ca una nueva / atractiva caracterstica, de.er% anali-arse /
ver la $orma en que se a$ecta al ciclo de .us. Si se incrementa el tiempo del
ciclo, pro.a.lemente no vale la pena tenerla.
5or ltimo, el proceso anterior de.e repetirse para otros recursos dentro del
sistema, tales como memoria cac,e, administracin de memoria, coprocesadores
de punto $lotante, etc1tera.
@na ve- planteadas las caractersticas principales de la arquitectura 3ISC as
como la $iloso$a de su dise6o, podramos extender el an%lisis / estudio de
cada una de las caractersticas importantes de las arquitecturas 3ISC / las
implicaciones que estas tienen.
1a%%icadas del RISC
7 pesar de las ventajas del proceso .asado 3ISC, las virutas del 3ISC asumieron
el control una d1cada para ganar un equili.rio en el mundo comercial. 0sto era en
gran parte de.ido a una carencia del so$tEare support.
7unque la lnea del &acintos, de la energa de 7pple o$reci virutas 3ISC-
.asadas / SindoEs JA era 3ISC compati.le, SindoEs =.! / SindoEs "B
$ueron dise6ados con los procesadores de CISC en mente. &uc,as compa6as
eran poco dispuestas tomar una ocasin con la tecnologa del 3ISC que emerga.
Sin inter1s comercial, los reveladores del procesador no podan $a.ricar virutas
del 3ISC en .astante grandes volmenes para ,acer su precio competitivo.
4tro rev1s importante era la presencia de Intel. 7unque sus virutas de CISC
llega.an a ser cada ve- m%s poco maneja.les / di$ciles de convertirse, Intel tena
los recursos a arar con el desarrollo / para producir procesadores de gran
alcance. 7unque las virutas del 3ISC pudieron so.repasar los es$uer-os de
Intel en %reas espec$icas, las di$erencias no eran .astante grandes persuadir a
compradores cam.iar tecnologas.
TQu2 est%ate3ia &%o&one RISC &a%a a#uda% a los Len3ua"es de alto ni$el4
&ientras se desarrolla.an los procesadores CISC, se reali-aron estudios
detallados so.re las caractersticas de la ejecucin de las instrucciones
generadas por los lenguajes de alto nivel. La ma/ora de ellos $ueron reali-ados
por ;avid 7.5atterson / Aanen.aum. Los aspectos m%s relevantes de sus
estudios se centraron en9 determinar que instrucciones son las que realmente
4
ejecuta la C5@, el tipo de operandos / su interaccin con la memoria / el
secuenciamiento de las instrucciones. 7s mismo, es mu/ importante darse
cuenta de que realmente es un compilador el que genera el cdigo m%quina / no
el programador. Como consecuencia, la $iloso$a 3ISC est% mu/ encau-ada a
a/udar al dise6o de compiladores optimi-adores.
!ENTA5AS DE LA ARQUITECTURA RISC
Instrucciones complejas ralenti-ar el procesamiento.
Instrucciones simples ejecutadas a altas velocidades.
'*H de las instrucciones de ,acer un )*H de los tra.ajos.
4ptimi-ar los '* utili-ados con $recuencia las instrucciones de la ma/ora. 4tras
instrucciones reali-adas por la com.inacin de los .%sicos.
La estrategia del 3ISC tam.i1n trae algunas ventajas mu/ importantes. 5orque
cada instruccin requiere solamente un ciclo de reloj ejecutarse, el
programa entero se ejecutar% en aproximadamente la misma cantidad de tiempo
que el comando del multiciclo (&@LA+. 0ste el 3ISC (instrucciones reducidas+
requiere menos transistores del espacio del ,ardEare que las instrucciones
complejas, saliendo de m%s sitio para los registros de $ines generales. 5orque
todas las instrucciones se ejecutan en una cantidad de tiempo uni$orme (es decir
un reloj), el canali-ar es posi.le.
La separacin de las instrucciones de la (C73Q7+ / del (7L&7CRJ+ reduce
realmente la cantidad de tra.ajo que la computadora de.e reali-ar. ;espu1s del
CISC-estilo (&@LA+ se ejecuta un comando, el procesador .orra autom%ticamente
los registros. Si uno de los operandos necesita ser utili-ado para otro cmputo, el
procesador de.e recargar los datos del .anco de memoria en un registro. 0n el
3ISC, seguir% ,a.iendo el operando en el registro ,asta que otro valor se
carga en su lugar.
LAS DES!ENTA5AS DE LA ARQUITECTURA RISC
&%s di$cil de programar.
RISC !S CICS
0s que los procesadores CISCx)< corren a ;4S, SindoEs =.! / SindoEs
"B en el modo nativoL es decir, sin la traduccin de so$tEare que disminu/a el
desempe6o. 5ero CISC / 3ISC tam.i1n re$lejan dos $iloso$as de computacin
rivales. 0l procesamiento de 3ISC requiere .reves instrucciones de so$tEare de la
misma longitud, que son $%ciles de procesar r%pidamente / en tand1m por
un C5@.
4
0n contraste, un procesador de CISC tiene que procesar instrucciones m%s largas
de longitud desigual. 0s m%s di$cil procesar mltiples instrucciones de CISC
a la ve-.
Los que proponen 3ISC mantienen que su m1todo de procesamiento es m%s
e$iciente / m%s escala.le, por lo que los arquitectos pueden a6adir unidades de
ejecucin m%s $%cilmente a un dise6o existente / aumentar el rendimiento (las
unidades de ejecucin son los circuitos dentro del c,ip que ,acen gran parte del
tra.ajo). Similarmente, 3ISC $acilita el multiprocesamiento verdadero, donde
varios C5@s tra.ajan sim1tricamente mientras dividen, ejecutan / ensam.lan una
cadena de instruccinL los c,ips CISC pueden ,acer lo mismo, pero no son tan
e$ectivos. La simplicidad de las instrucciones de 3ISC tam.i1n signi$ica que
requieren menos lgica para ejecutar, reduciendo el costo del c,ip. 5ocos en el
campo del CISC discuten estos ,ec,os, pre$iriendo apuntar a la realidad.
Aodo el de.ate de CISCM3ISC puede ser irrelevante pronto de.ido a que nuevas
t1cnicas est%n convergiendo. 0l 5entium 5ro, el JxB)< / el UB son .%sicamente
procesadores 3ISC en su ncleo. Aoman las instrucciones de CISC / las traducen
a instrucciones estilo 3ISC. 5ara la generacin que sigue al 5entium 5ro, Intel /
PeElett-5acFard est%n cola.orando en un C5@ ,.rido que pueda aceptar
instrucciones 3ISC / CISC. Si ese c,ip crea un est%ndar, puede acelerar el
cam.io ,acia el so$tEare optimi-ado para 3ISC. @n mundo de 3ISC signi$icara
C5@s m%s poderosos, / m%s .aratos. Cuando quiera mejorar, simplemente
puede a6adir otro C5@ en lugar de desprenderse de su viejo C5@.
6RISC O CICS4
0l con$licto surge al evaluar las ventajas netas Tqu1 es m%s apropiado, usar
muc,as instrucciones de un solo ciclo aprovec,adas al m%ximo, o pocas de
mltiples pasos de reloj en las que existe in$rautili-acinV
La cuestin, es que ,asta el momento, el estudio de prestaciones de am.as
tecnologas, nos ,a llevado a concluir que ,o/ en da los 3ISC o.tienen mas
prestaciones, es decir, son m%s potentes / r%pidos que los CISC. Sin em.argo, el
mercado se ,a decantado por la tecnologa CISC en cuanto a volumen de ventas.
6Po% 'u24
!.- 5or experiencia, se puede compro.ar que un CISC tiene un coste ?ra-ona.le?,
que es alcan-ado a nivel de usuario. 0sto mismo, no ocurre con los 3ISC, que
por el contrario tienen un coste elevado, por esto mismo esta tecnologa ,a sido
en$ocada a ventas a nivel de empresa / equipos de gama alta.
'.- La utilidad que se le d1 a la maquina es mu/ importante, /a que el
usuario de.e de encontrar un nivel ptimo en cuanto a calidad - precio. 8 por qu1
pagar m%s si realmente no se le va a sacar partido al cien por cien.
4
=.- 0l so$tEare utili-ado es otro de los $actores importantes, dado que un 3ISC
no utili-a el mismo so$tEare que un CISC. 0stos ltimos, por lo general tienen un
so$tEare m%s asequi.le.
>.- ;ada la compati.ilidad ,acia atr%s de la $amilia CISC x)<, los usuarios ,an
podido renovar sus equipos sin por ello tener que a.andonar so$tEare que /a
conocan, / reutili-ar sus datos. 7s mismo, los $a.ricantes ,an tenido en cuenta
este $actor, puesto que seguir con otra lnea de procesadores supona no solo un
cam.io mu/ radical, sino que adem%s poda llevar un riesgo en cuanto a ventas.
0stos son algunos de los motivos. Sin em.argo, tam.i1n ,a/ que tener en
cuenta el con$licto de intereses de algunos $a.ricantes, as como la opinin de
distintas revistas, algunas de ellas asociadas a di$erentes marcas.
RISC *RENTE A CICS
0xisten varios mitos que contraponen las ventajas de la tecnologa 3ISC
$rente a la CISC, que es importante descali$icar9
a) Los procesadores 3ISC o$recen peor soporte para los lenguajes de alto
nivel o PLL (Pig, Level Language) que lo CISC. 0sta creencia se
argumenta en que un conjunto de instrucciones de ?alto nivel? (CISC) es mejor
soporte para lenguajes de alto nivel. Sin em.argo, la caracterstica $undamental
de los lenguajes de alto nivel, implica que el programador slo interacciona con
el ordenador a trav1s del propio lenguaje de alto nivel (programacin, depuracin,
mensajes del sistema, etc.), por lo que todos los pro.lemas a ?.ajo nivel?,
de.en de ser transparentes / desconocidos para el. 5or ello, son de nulas
consecuencias para el programador / los lenguajes de alto nivel, como se
implementan las $unciones, en $uncin del tipo de C5@.
.) 0s m%s complicado escri.ir compiladores 3ISC que CISC. ;ado que los
procesadores CISC tienen un ma/or nmero de instrucciones / modos de
direccionamiento, existen por tanto m%s $ormas de ,acer la misma tarea, lo que
puede con$undir tanto al compilador como al que lo escri.e. 5or ello,
su.jetivamente es posi.le escoger una $orma de ,acerlo poco adecuada, por el
tipo de instrucciones o por el tiempo de ejecucin que requieren. 0n cam.io, en
un procesador 3ISC, ,a/ menos opciones, por lo que el compilador es m%s
simple, aunque se genere, ,a.itualmente, un '*-=*H m%s cdigoL a cam.io, se
consigue un incremento de la velocidad de ,asta un B00H.
c) @n programa es m%s r%pido cuanto m%s peque6o. La velocidad a la que un
programa puede ser ejecutado no depende en a.soluto de su tama6o, sino del
tiempo de ejecucin de cada una de sus instrucciones. ;ado que las
instrucciones 3ISC son m%s r%pidas, / admiten mejor los pipelines, puede ,a.er
ma/or paralelismo / simultaneidad en la ejecucin de peque6as secciones de
4
cdigo. ;ic,as secciones de cdigo pueden ser ejecutadas en una $raccin del
tiempo que requiere una sola instruccin CISC.
PR EGUN TA S AD IC IONA LES
6Qu2 a%'uitectu%a a#uda m/s a los len3ua"es de alto ni$el RISC o
CISC, # como &%etenden )ace%lo &%inci&almente4
3ISC propone un modelo sencillo pero e$ica-, .asado en el uso de pocas
instrucciones mu/ e$icientes / con un nivel alto de utili-acin. 0n cam.io CISC
quiere a.arcar todas posi.les instrucciones que simpli$iquen el cdigo (so.re todo
en tama6o), / acercar los lenguajes de .ajo nivel a los de alto nivel.
Jo ,a/ uno mejor que otro, cada uno es m%s apropiado en determinadas
circunstancias. 7unque s es cierto que 3ISC est% mejor preparado para soportar
lenguajes de alto nivel.
6En 'u2 se +asa # 'u2 $enta"as tiene una a%'uitectu%a load(sto%e4
@na arquitectura loadMstore reali-a la operaciones del siguiente modo9 primero
carga todos los operandos mediante un load en unos registros, luego los opera
entre s, $inalmente almacena el resultado en la direccin de destino especi$icada
mediante un store.
.
La principal ventaja viene dada por la velocidad de tr%nsito de datos entre los
registros, que permite reali-ar todas las operaciones entre registros internos del
procesador. 7dem%s, simpli$ica la la.or al compilador, /a que no tiene que
precisar en cada momento que modo de direccionamiento es m%s
conveniente para un conjunto de operaciones dado.
C ONC LU SI7N
Cada arquitectura tiene sus ventajas / desventaja, es tanto as que ,o/ en da
existen los llamados microprocesadores ,.ridos los cuales emplean lo mejor de
cada uno de estos tipos de arquitectura, por consiguiente no sera valido
pensar que una es mejor o peor con respecto a la otra, la di$erencias .%sica
radica en que una permite un gran nmero de instrucciones permitiendo
operaciones mu/ complejas pero por consiguiente resulta m%s lenta, mientras la
otra reali-a o ejecuta instrucciones m%s cortas pero en un periodo de tiempo
menor, tam.i1n otra caracterstica importante son los registros /a que la
arquitectura cisc est% condicionada a registros de usos dedicados mientras la
arquitectura risc posee varios tipos de registros
Las opciones 3ISC / CISC se de.en entender como arquitecturas
complementarias / no como rivales. Los dise6os 3ISC pueden sacar provec,o de
4
caractersticas CISC, como por ejemplo a6adir una cac,1 dedicada
exclusivamente a instrucciones. 5or su parte, los CISC pueden adquirir
caractersticas 3ISC, como implementar slo aquellas instrucciones que son
usadas con ma/or $recuencia / dejar de lado otras tan complejas como intiles.
0jemplos de arquitectura W,.ridasX son el 5oEer5C (.asado en 3ISC, pero con
caractersticas CISC) / el 5entium (.asado ma/oritariamente en CISC).
Las arquitecturas 3ISC son m%s recomenda.les para aquellas aplicaciones que
necesiten una importante capacidad de c%lculo, mientras que las CISC
o$recen grandes posi.ilidades dentro del sector industrial. Sin em.argo, las
arquitecturas 3ISC est%n despla-ando a las CISC en la ma/ora de las %reas de
aplicacin. 0sto es de.ido a que el deseo por mantener la compati.ilidad entre
distintas versiones le privan de una ma/or capacidad de innovacin. ;e ,ec,o, la
aparicin de arquitecturas CISC que incorporan caractersticas 3ISC est%
motivada por el deseo de o$recer nuevas soluciones.
1 I1 LIOGRA *IA
, tt p 9MM EEE .cons u li n te l .es M, tm l MA u tor i a l es M7r ti cu los Mri sc ., tml
, tt p 9MM c i sc - vs- ri sc .. l og s po t. comM
, tt p 9MM o/esacra .. logspo t. com M'* 0 " M*< Ma,ora- e n-r i n g-r i sc-vs-c i sc ., tml
, tt p 9MM es .scr i .d .com Mdoc MBB = ")* > # M7rqu i tec tura- C ISC
, tt p 9MM EEE .de p ag inas .com .ar Mmonog ra $i asde-7 rqu i tec tura- d e- m i cropro c esado res-
3 IS C -/- C ISC , tt p 9MM es .scr i .d .com Mdoc MBB = ")* > # M7rqu i tec tura- C ISC

También podría gustarte