Está en la página 1de 21

Suscríbete a DeepL Pro para poder editar este documento.

Entra en www.DeepL.com/pro para más información.

Una nueva tendencia para las arquitecturas CISC y RISC

Hasan Krad y Aws Yousif Al-Taie

Departamento de Ciencias de la Computación e


Ingeniería Facultad de Ingeniería
Universidad de Qatar
{hkrad, altaie}@qu.edu.qa

RESUMEN
El estudio comparativo entre CISC (Complex Instruction Set Computer) y RISC
(Reduce Instruction Set Computers) ha sido un área de investigación bien conocida
durante muchos años. En nuestro trabajo, intentamos abordar la nueva tendencia de
estas dos arquitecturas, que es CRISC (Complex-Reduce Instruction Set Computer).
Elegimos el procesador Intel Core Duo, el procesador más reciente de Intel, para
que fuera el centro de nuestro estudio. Se destacarán las características del
procesador Core Duo, centrándose en las etapas de canalización, la velocidad del
reloj, el número de transistores, la arquitectura del conjunto de instrucciones (ISA) y
la mejora de la tecnología de caché.

1. Introducción

Desde el punto de vista de la arquitectura, los chips de microprocesador se pueden


clasificar en dos categorías: Computadoras de conjuntos de instrucciones complejas
(CISC) y computadoras de conjuntos de instrucciones reducidas (RISC). En
cualquier caso, el objetivo es mejorar el rendimiento del sistema. Los debates entre
estas dos arquitecturas hicieron que esta área de investigación fuera muy
interesante, desafiante y a veces confusa.

Los ordenadores CISC (Complex Instruction Set Computer) se basan en un


complejo conjunto de instrucciones en el que las instrucciones se ejecutan mediante
un microcódigo. El microcódigo permite a los desarrolladores cambiar los diseños
de hardware y mantener la compatibilidad con las instrucciones de los ordenadores
anteriores cambiando sólo el microcódigo, lo que hace posible y flexible un
conjunto de instrucciones complejas. Aunque los diseños CISC permiten una gran
flexibilidad de hardware, el soporte de microcódigo ralentiza el rendimiento del
microprocesador debido al número de operaciones que deben realizarse para
ejecutar cada instrucción CISC. Un conjunto de instrucciones CISC normalmente
incluye muchas instrucciones con diferentes tamaños y ciclos de ejecución, lo que
hace que las instrucciones CISC sean más difíciles de canalizar[1].

A partir de los años 60, los microprocesadores CISC se hicieron más frecuentes,
cada uno de los procesadores sucesivos tenía un hardware cada vez más complicado y
conjuntos de instrucciones cada vez más complejos. Esta tendencia comenzó desde
Intel 80486, Pentium MMX hasta Pentium III.

Los chips RISC (Reduced Instruction Set Computer) evolucionaron hacia mediados
de 1970 como reacción a los chips CISC. En los años 70, John Cocke, del Centro de
Investigación T.J. Watson de IBM, proporcionó los conceptos fundamentales del
RISC, la idea surgió del minicomputador IBM 801 construido en 1971 que se utiliza
1
como controlador rápido en un sistema de conmutación telefónica muy grande. Este
chip contenía muchos rasgos que un chip RISC posterior debería tener: pocas
instrucciones, instrucciones de tamaño fijo en un formato fijo, ejecución en un solo
ciclo de un procesador y una arquitectura Load / Store. Estas ideas fueron refinadas
y articuladas por un grupo de la Universidad de California Berkeley dirigido por
David Patterson, quien acuñó el término "RISC". Se dieron cuenta de que RISC
prometía un mayor rendimiento, menos costes y un tiempo de diseño más rápido.
[1]. Los ordenadores de carga/almacenamiento simples como MIPS

2
son comúnmente llamadas arquitecturas RISC. David A. Patterson fue el
descubridor del término RISC, después de que John L. Hennessy inventara la
arquitectura MIPS para representar a RISC[2].

La segunda sección de este documento proporcionará una comparación entre CISC


y RISC. En la sección 3, presentamos algunos trabajos relacionados que muestran
los intentos que se han hecho sobre estas dos arquitecturas, basados en diferentes
técnicas. En la sección 4 se presenta la tecnología CRISC. Nuestro trabajo se
centrará en los procesadores familiares de Intel para ilustrar el concepto de CRISC.
Finalmente, la última sección será la conclusión de este trabajo.

2. RISC versus CISC

Cuando los diseñadores crean una nueva generación de procesadores,


mejorar el rendimiento, si bien a menudo es el objetivo clave. Hay tres factores principales
que afectan el desempeño; ellos son[13]:

 Lo rápido que puedes acelerar el reloj.


 La cantidad de trabajo que puede hacer por ciclo.
 Cuántas instrucciones necesita para realizar una tarea.

En esta sección, nuestra comparación se basará en los factores clave mencionados


anteriormente, para destacar las principales diferencias entre las dos arquitecturas
CISC y RISC.

Un procesador CISC tiene la mayoría de las siguientes propiedades: [1]

 Conjunto de instrucciones más rico, algunas simples, otras muy complejas


 Las instrucciones generalmente toman más de 1 reloj para ejecutarse
 Instrucciones de tamaño variable
 Las instrucciones interactúan con la memoria en múltiples mecanismos con
modos de direccionamiento complejos
 Sin tuberías
 Compatibilidad ascendente dentro de una familia
 Control por microcódigo
 Funciona bien con un compilador más sencillo

Con el paso del tiempo, una de las arquitecturas no RISC con mayor mercado fue la
familia Intel x86, que tiene algunas características específicas que se asociaron con
CISC:
[1]
 Modelo de memoria segmentada
 Pocos registros
 Mala actuación en coma flotante

Típicamente los chips CISC tienen una gran cantidad de instrucciones diferentes y
complejas. Se creía que el hardware siempre es más rápido que el software; por lo
tanto, uno debería hacer un potente conjunto de instrucciones, que proporciona a los
programadores instrucciones de montaje para hacer mucho con programas cortos.
Comúnmente hablando, los chips CISC son relativamente lentos por instrucción en
comparación con los chips RISC, pero usan menos instrucciones que los RISC.

3
La mayoría de las máquinas RISC actuales, como las RISC I y RISC II de la
Universidad de California en Berkeley y las MIPS de la Universidad de Stanford,
tienen la mayoría de las siguientes propiedades comunes: [1]

4
 Instrucciones primitivas simples y modos de direccionamiento
 Las instrucciones se ejecutan en un ciclo de reloj
 Instrucciones de longitud uniforme y formato de instrucción fijo
 Interfaz de instrucciones con memoria mediante mecanismos fijos
(carga/almacenamiento)
 Tuberías
 El conjunto de instrucciones es ortogonal (poca superposición de las funciones de
instrucción)
 Control por cable
 Complejidad empujada al compilador

Propiedades adicionales de CISC y RISC, en cuanto a costo y desempeño en conjunto


[14] son:
 El diseño RISC es aproximadamente el doble de rentable que el CISC.
 Las arquitecturas RISc están diseñadas para un buen coste/rendimiento,
mientras que las arquitecturas CISC están diseñadas para un buen
rendimiento en memorias lentas.

También, más propiedades añadidas a una nueva tecnología RISC, incluyendo[16]:

 Ejecución superescalar y fuera de orden


 Gran número de registros
 Rendimiento rápido en coma flotante
 Mayor caché.
 Mayor ancho de banda.

La esencia de la arquitectura RISC es que permite la ejecución de más operaciones


en paralelo y a una velocidad más alta que la posible con una arquitectura CISC
que emplea una complejidad de implementación similar. No sólo puede mejorar el
paralelismo mediante la canalización, sino también hacer posible la ejecución
superescalar y fuera de orden[15].

RISC también ha sido llamado una "arquitectura escalable" porque es posible ir de


una tecnología a otra con prácticamente el mismo diseño[3].

A mediados y finales de los años 80, la batalla sobre RISC y CISC es


principalmente no-Intel contra Intel x86, y RISC parecía tener una clara ventaja,
hasta la aparición de i486, Pentium y ahora PII, PIII. Ahora las máquinas de Intel
siguen ejecutando el antiguo conjunto de instrucciones, pero adoptan algunas
características similares a las de RISC, como la ejecución de un reloj, modelos de
memoria limpia, canalización profunda, operaciones superescalares, muchos
registros e incluso ejecución fuera de orden. Corren cada vez más rápido con un
rendimiento decente en coma flotante. Por otro lado, algunas máquinas RISC
añadieron más instrucciones a sus arquitecturas para nuevos tipos de datos. Por lo
tanto, parece que la brecha RISC-CISC se ha reducido.

Así que, hoy en día, la diferencia entre RISC y CISC ya no es la de los conjuntos de
instrucciones, sino la de toda la arquitectura del chip y el sistema. Las designaciones
RISC y CISC ya no tienen sentido en el sentido original. Lo que cuenta en un
mundo real es siempre lo rápido que un chip puede ejecutar las instrucciones que se
le dan y lo bien que funciona el software existente[1].
5
El objetivo original de RISC era limitar el número de instrucciones en el chip para
que a cada uno de ellos se le asignaran suficientes transistores para que se ejecutara
en un ciclo. En lugar de proporcionar una instrucción mul, por ejemplo, los
diseñadores del microprocesador pueden hacer lo siguiente

6
seguro que add se ejecuta en un solo reloj. Entonces un compilador podría
multiplicar a y b añadiendo a a a sí mismo b veces o b a sí mismo a veces. Un CISC
podría multiplicar 5 por 10 de la siguiente manera:
[5]

Mov ax,10
Mov bx,5
Mul bx

Pero un chip RISC podría hacerlo

así: Mov ax,0


Mov bx,10
Mov cx,5
Comienza
: Añadir
ax,bx
Loop Begin ; loop cx times

La Tabla 1 a continuación muestra algunos ejemplos de procesadores CISC y RISC:

Procesadores Procesadores
CISC RISC
IBM 370/168 MIPS R2000
VAX 11/780 SPARC SOL
Microvax II INTEL i860
INTEL 80386 MOTOROLA 8800
INTEL 80286 POWERPC 601
Dom-3/75 IBM RS/6000
PDP-11 MIPS R4000

Las dos arquitecturas, CISC y RISC, pueden compararse basándose en el conjunto


de instrucciones, que es una característica importante de la arquitectura informática.
El conjunto de instrucciones elegido para un procesador en particular determina la
forma en que se construyen los programas de lenguaje de máquina. Otra forma de
comparar estos dos procesadores es estudiando los modos de direccionamiento
disponibles. Este punto nos dará una idea sobre la referenciación de la memoria o
registro, que será uno de los factores importantes en la comparación de
rendimientos. Otros factores para comparar estas dos arquitecturas pueden ser las
unidades enteras y de punto flotante. Recientemente uno de los factores más
importantes es la canalización de las instrucciones. Cuantas más etapas de
canalización tenga el procesador, más rápido ejecutará las instrucciones. Varios
investigadores han estado trabajando en la canalización de la instrucción, debido al
impacto de esta característica en el rendimiento general. La caché y la memoria
principal también fueron factores primarios que afectaron el rendimiento del
procesador. Las industrias de microprocesadores siempre fueron codiciosas en
cuanto a velocidad, mientras que la industria de la memoria era codiciosa en cuanto
a capacidad, causando una gran charla entre la CPU y las velocidades de
memoria[Car 2002]. El número de transistores en cada procesador puede afectar la
velocidad del procesador. Si el procesador contiene más transistores, significa que
tendrá más puertas. Esto hace que el diseño de los procesadores a nivel de puerta
sea más compacto y, como resultado, será más rápido y tendrá un mejor
7
rendimiento.

8
La Tabla 2 muestra algunas comparaciones de sistemas entre procesadores CISC y
RISC seleccionados: [4]

Ejemplos de CISC Ejemplos de


RISC
IBM 370/168 VAX 11/780 88000 R4000
Año de desarrollo 1973 1978 1988 1991
El número de 208 303 51 94
instrucciones
Tamaño de instrucción 2-6 2 - 57 4 4
(bytes)
Modos de 4 22 3 1
direccionamiento
Número de GRP's 16 16 32 32
Tamaño de caché (KB) 64 64 16 128

3. Técnicas utilizadas para evaluar las arquitecturas CISC y RISC

3.1 Combina las características de los procesadores CISC y los procesadores RISC:
Simon Garth ha propuesto e implementado un método para combinar dos
procesadores diferentes con dos sistemas operativos diferentes en un solo PC. Hubo
algunos problemas de hardware y software involucrados en ese estudio. La
tecnología CISC en el PC estaba basada en el procesador Intel 80x86, con sistema
operativo DOS. Mientras que la tecnología RISC en el PC estaba basada en el
procesador i860, con sistema operativo UNIX[8].

La Figura 1 muestra la arquitectura del sistema para la máquina combinada con un


alto nivel de abstracción.

El investigador llegó a la conclusión de que la capacidad resultante de aumentar la


potencia de cálculo añadiendo hardware adicional cuando se añade software
proporciona un medio eficaz para acomodar aplicaciones nuevas y más exigentes
dentro de los límites de la máquina existente[8].

3.2 Comparaciones experimentales entre procesadores CISC y procesadores


RISC: La comparación del rendimiento entre los procesadores CISC y RISC que
utilizan valores de referencia enteros y de coma flotante fue una técnica muy
popular durante muchos años. Un estudio realizado por Gao, Tang y Ding que
compara el conjunto de instrucciones MIPS R2000, que representa un conjunto de
9
instrucciones RISC puro y 80386, que representa un conjunto de instrucciones CISC
puro. Con base en algunos experimentos, los investigadores obtuvieron algunos
resultados estadísticos significativos.

10
La Tabla 3 muestra el resumen de las arquitecturas MIPS R2000 y 80386[1].

MIPS R2000 Intel 80386


Fecha de anuncio 1986 1985
Tamaño de la instrucción (bits) 32 Variable
Espacio de dirección (tamaño, modelo) 32 bits, plano 32 bits, segmentado con soporte
de paginación
Alineación de datos Alineado No
Modos de direccionamiento de datos 2 11
Protección Página Esquema segmentado
Registros de números enteros (número, 31 GPR*32 bits 8 GPR*32 bits, 6 segmentos
modelo, tamaño) registros*16 bits, 2 otros *16
bits
Registros separados de coma flotante 16*32 o 16*64 bits 8*80 bits
Formato en coma flotante IEEE 754 simple, doble IEEE 754 simple, doble,
extendido

Se han sacado las siguientes conclusiones[1]:


1- CISC tiene un conjunto de instrucciones
más rico.
2- CISC tiene mejor densidad de código, la longitud promedio de instrucción del
80386 es menor que la del MIPS R2000.
3- El 80386 tiene modos de direccionamiento más ricos, pero tanto en el caso de
números enteros como en el de coma flotante, se utilizan 3 modos de
direccionamiento para aproximadamente el 90% de los direccionamientos,
algunos de los cuales ni siquiera se utilizan nunca.
4- Para el 80386, los tipos de operandos pueden ser "Memory", mientras que en el
MIPS R2000, sólo carga/almacenamiento accederá a la memoria, todos los
operandos están en registros.

Otro estudio experimental ha sido realizado por Dileep y Douglas[9]. El estudio


comparó un ejemplo de implementación de las arquitecturas RISC y CISC (un
MIPS M2000 y un VAX 8700) en nueve de los diez puntos de referencia SPEC. Las
similitudes organizativas de estas máquinas ofrecen la oportunidad de examinar las
ventajas puramente arquitectónicas de RISC. El enfoque RISC promete muchas
ventajas sobre las arquitecturas CISC, incluyendo un rendimiento superior,
simplicidad de diseño y un tiempo de desarrollo rápido[9]. La fundación del
investigador fue que el RISC, MIPS M2000, tiene un rendimiento determinado
arquitectónicamente significativamente más alto que el CISC, el Digital VAX 8700.

3.3 El impacto del software del sistema en los procesadores CISC y RISC:
El cambio de una estrategia de diseño CISC a una estrategia de diseño RISC no está
exento de problemas. Los ingenieros de software deben ser conscientes de la clave
que surge al mover el código de un procesador CISC a un procesador RISC.

El rendimiento de un RISC depende en gran medida de la calidad del código que


está ejecutando. Si el programador (o compiladores) hace un mal trabajo de
programación de instrucciones, el procesador puede pasar un poco de tiempo
parando, esperando el resultado de una instrucción antes de poder proceder con una
instrucción subsiguiente.

Dado que las máquinas CISC realizan acciones complejas con instrucciones
simples, donde las máquinas RISC pueden requerir múltiples instrucciones para la
misma acción, la expansión del código puede ser un problema.

11
En los años noventa, la gente de Sun desarrolló el lenguaje java y también la
máquina virtual Java, que contiene una lista de instrucciones completa, basada en
pilas. Puede verse como una lista de instrucciones CISC. Pero comparado con el
RISC es opuesto en cada detalle:[Bli 2006]

12
La arquitectura de código de bytes de JVM es:

 Juego de instrucciones no reducido.


 No está basado en el registro.
 No load-store (Puede combinar el acceso a la memoria y la ejecución)

Las instrucciones son:


 No de longitud fija.
 No uno por ciclo.
 No es simple (Puede realizar múltiples accesos a la memoria y/o múltiples
ciclos de ejecución).

Ha habido varios trabajos de investigación que cubrieron el impacto del software


del sistema en el rendimiento del procesador y la memoria. John Ousterhout[10]
evaluó varias plataformas de hardware (MIPS M2000, VAX 8800, Sun-3/75 y Sun-
4/280) y varias plataformas de sistemas operativos como (Ultrix, SunOS, RISC/os y
Spriite). En su investigación se utilizaron una serie de puntos de referencia. El
estudio pone de relieve cuestiones en las que tanto los diseñadores de hardware
como la gente de sistemas operativos deben pensar[10].

La mejora del rendimiento informático, sin necesidad de actualizar el hardware,


puede lograrse dejando la optimización en manos del compilador, al que hoy en día
se le asignan las operaciones más recientes (dividiendo una operación compleja en
varias operaciones simples), o del programador[17].

4. Complex-Reduce Instruction Set Computers CRISC


4.1 CRISC el futuro del diseño de procesadores
Los chips de la serie Pentium de Intel a veces se describen como CRISC (Complex-
Reduce Instruction Set Computers), porque son híbridos entre las dos arquitecturas.
Esto comenzó cuando Intel lanzó su procesador i486, y se repitió ampliamente que
tenía una unidad entera RISC[19].

El término, al igual que su antónimo RISC, se ha vuelto menos significativo con la


evolución continua de los diseños e implementaciones de CISC y RISC. Las
primeras CPUs "CISC", como las 486s[19] de Intel, AMD, Cyrix e IBM,
ciertamente soportaron todas las instrucciones de sus predecesores, pero lograron
una alta eficiencia sólo en un subconjunto x86 bastante simple (parecido a un
conjunto de instrucciones "RISC" sin carga/almacenamiento).

En nuestro estudio, nos centramos en los microprocesadores de la familia Intel, para


ilustrar la tendencia futura de CISC y RISC, que es CRISC. Un ejemplo de CRISC
es el Intel Pentium-Pro, que es una interesante mezcla de las dos arquitecturas.
Todavía ejecuta el conjunto de instrucciones CISC, pero la implementación interna
es una CPU "Post RISC" de alto rendimiento[12].

13
La Tabla 3 muestra información sobre la familia Intel[7].

Microprocesador (Familia Número de transistores Año de desarrollo


Intel)
4004 2300 1971
8008 3500 1972
8080 6000 1974
8086 29000 1978
8088 29000 1981
286 134000 1982
386 275000 1985
486 1,2 millones 1989
PI 3.1 Millones 1993
IIP 7,5 millones 1995
PIII 9,5 millones 1997
P4 42 Millones 2000
Núcleo 2 Dúo 291 Millones 2006

350000000
300000000
250000000
200000000
transistores

150000000
Número de

100000000
50000000
0

Microprocesador
Número de
transistores

14
La Tabla 4 muestra información adicional sobre la familia Intel[7].

Microprocesador (Familia Velocidad Año de desarrollo


Intel)
4004 108 KHz 1971
8008 200 KHz 1972
8080 2 MHz 1974
8086 5 MHz 1978
8088 8 MHz 1981
286 12,5 MHz 1982
386 16 MHz 1985
486 33 MHz 1989
PI 66 MHz 1993
IIP 233 MHz 1995
PIII 1,2 GHz 1997
P4 1,8 GHz 2000
P4 con HT. 3,06 GHz 2002
Pentium D 2.66 X 2 GHz 2005
Núcleo 2 Dúo 3.0 X 2 GHz 2006

7000000
6000000
5000000
4000000
Spe e

3000000
d

2000000
1000000
0

Veloci Procesado
dad r

4.2 Arquitectura de Intel Core 2 Duo


En esta subsección, explicamos brevemente los aspectos arquitectónicos del reciente
procesador de Intel, el procesador Intel Core 2 Duo. La marca Core 2 se refiere a
una gama de CPUs x86 de 64 bits de doble y cuádruple núcleo para equipos
portátiles y de sobremesa basadas en la microarquitectura Intel Core. La marca Core
2 para PCs de sobremesa, portátiles y de estación de trabajo fue introducida el 27 de
julio de 2006 y comprende las ramas Duo (dual-core), Quad (quad-core) y extreme
(dual- or quad-core) (dual- or quad-core CPUs with higher speeds and unlocked
multiplier)[7].
A diferencia de la arquitectura de los procesadores Pentium 4 o Pentium D, la
arquitectura Core no hace hincapié en velocidades de reloj extremadamente altas,
sino en mejoras en el uso del procesador tanto de los ciclos de reloj disponibles
como de la potencia[7]. Esto se tradujo en etapas de decodificación más eficientes,
unidades de ejecución, cachés, buses, etc., reduciendo el consumo de energía de la
CPU Core 2 y mejorando al mismo tiempo su capacidad de procesamiento.
El diseño de Intel Core 2 Duo se ha elegido para maximizar el rendimiento y

15
minimizar el consumo de energía. Se hace hincapié principalmente en la eficiencia
de la caché y no en la

16
la frecuencia de reloj para una alta eficiencia energética. Aunque el reloj marca a un
ritmo más lento que el de la mayoría de sus competidores, las etapas más cortas y
las tuberías de emisión más anchas compensan el rendimiento con unas
comunicaciones entre procesos (IPC) más altas. Además, el procesador Core 2 Duo
tiene más unidades ALU[18].

El procesador Intel Core 2 Duo utiliza los siguientes conjuntos de instrucciones:


x86, MMX, SSE, SSE2, SSE3, SSSE3, x86-64. El conjunto de instrucciones más
reenviado que utiliza el procesador Core 2 Duo es la extensión 3 de SIMD de
transmisión de secuencias suplementaria (SSSE3), el nombre de Intel para la cuarta
iteración del conjunto de instrucciones SSE. El estado de la técnica anterior era
SSE3, e Intel ha añadido una S en lugar de incrementar el número de versión, ya que
parece que la considera una mera revisión de SSE3. SSSE3 contiene 16 nuevas
instrucciones discretas sobre SSE3[7].

El procesador Core 2 Duo tiene 14 etapas de canalización. La tubería ligeramente


más profunda permite aumentar la velocidad de los relojes y técnicas como la
desambiguación de la memoria y la lógica mejorada de la premezcla también
ayudan a compensar cualquier ventaja que ofrece un controlador de memoria
integrado. Incluye la caché compartida de 4 MB L2 y la caché L1 de 32 KB + 32
KB. Intel ha optado por no seguir el ejemplo en sus procesadores Core 2,
prefiriendo utilizar transistores adicionales en el chip para aumentar la caché de
Nivel 2 a 4MB, tiene 291 millones de transistores[7]. Las mejoras implementadas
en los chips Intel Core 2 los convierten sin duda en los procesadores más eficientes,
capaces de decodificar y procesar más instrucciones por ciclo de reloj.

Figura-2 Diagrama de bloques del procesador Intel Core 2 Duo

Las cinco características principales de Intel Core 2 Duo que contribuyen a su alto
rendimiento son[18]:
• La amplia ejecución dinámica de Intel
17
• El aumento de los medios digitales avanzados de Intel
• Capacidad de energía inteligente de Intel

18
• Caché inteligente avanzada de Intel
• Acceso a memoria inteligente de Intel

La Tabla 5 muestra información adicional sobre dos procesadores Core de Intel


diferentes[7].

Core 2 Duo (Merom) Core Duo (Yonah)


Proceso de fabricación 65nm 65nm
Tamaño de la matriz 143mm2 90mm2
Transistores 291 millones 151 millones
Velocidades de reloj 1,06 GHz - 2,4 GHz + 1.20GHz - 2.33GHz
FSB Frecuencia 533MHz - 800MHz 533MHz - 667MHz
Tamaño de la caché L1 32KB + 32KB 32KB + 32KB
Tamaño de la caché L2 2MB - 4MB 2MB compartidos
Compartido
Etapas del oleoducto 14 12
Decodificadores 1 complejo + 3 1 complejo + 2
simples simples
Velocidad máxima de 4+1 3
decodificación
Memoria intermedia de 96 80
reordenación
Unidades SSE 3 1
Conector M
Interfaz de enchufe Conector M
(PGA/BGA) Conector
(PGA/BGA)
P (PGA/BGA)

Creemos que el debate sobre las dos arquitecturas CISC y RISC ya no tiene interés
en la tecnología informática actual. Los ordenadores de hoy, aunque llevan la marca
de RISC o CISC, no son de hecho implementaciones puras de ninguno de los dos.
Son sistemas verdaderamente híbridos. Los arquitectos de RISC han adoptado un
conjunto más amplio de instrucciones y los arquitectos de CISC se han dado cuenta
de los beneficios de implementar un conjunto básico de instrucciones que pueden
ejecutarse en un solo ciclo de CPU. A partir de nuestra observación, el procesador
Core Duo de Intel ha mejorado el sistema de caché. Tiene dos cachés de alta
velocidad de tamaño (L1 y L2) en cada núcleo (procesador, que almacenará las
ubicaciones de memoria principal utilizadas más recientemente). Por lo general, sólo
se necesitan de uno a dos ciclos de procesador para acceder a los datos, en
comparación con los 10 a 200 ciclos que se necesitan para acceder a la memoria
principal. Debemos confesar que los cachés más grandes sólo mejorarán la tasa de
aciertos, pero disminuirán la velocidad de acceso. El procesador Core Duo de Intel
utiliza tuberías de 14 etapas para acelerar la ejecución, aunque las dependencias de
datos seguirán siendo uno de los problemas en los procesadores que utilizan
tuberías. Otro hecho en el procesador Core Duo de Intel es el creciente número de
transistores (291 millones), lo que significa circuitos más cercanos y como resultado
un mejor rendimiento.

La mayoría de los investigadores, que han realizado algún trabajo en este campo y
se han centrado en los aspectos de hardware o software de las dos arquitecturas
CISC y RISC, han elegido, de hecho, dos antiguos procesadores, uno para
representar un CISC puro y el otro para representar un RISC puro. Este tipo de
19
investigación no tiene mucho impacto en el diseño de los chips actuales. En
segundo lugar, las dos arquitecturas no son procesadores CISC y RISC puros. La
comparación entre ellos nos llevará a conclusiones erróneas, porque los
procesadores recientes son CRISC (Complex-Reduce Instruction Set Computer), un
procesador híbrido de características CISC y RISC. Estos tipos de procesadores se
han centrado en el creciente número de etapas de canalización y en el número de
conjuntos de instrucciones.

20
5. Conclusión
Se aborda una nueva tendencia de las arquitecturas CISC y RISC. Se destacaron
algunos de los trabajos anteriores y se presenta una nueva tecnología, el procesador
Core 2 Duo de Intel. Para obtener el mejor rendimiento y escalabilidad del
procesador Intel Core 2 Duo, los siguientes factores son importantes: (1)
comunicación rápida de caché a caché, (2) gran capacidad L2 o compartida, (3)
retardo de acceso rápido a L2 y (4) uso compartido justo de recursos (caché).

Referencias:
[1] Yi Gao, Shilang Tang, Zhangli Ding, "Comparison between CISC and RISC",
2000.
[2] John L. Hennessy, David A. Patterson, "Computer Architecture A Quantitative
Approach", tercera edición, 2006.
[3] Margarita Esponda, Ra'ul Rojas,"The RISC Concept - A Survey of
Implementations", 1991.
[4] William Stallings, "Computer Architecture Designing for Performance",
"Seventh Edition", 2006.
[5] Jeff Prosise, "RISc vs. CISC: The Real Story", PC Magazine, 1995.
[6] Carlos Carvalho,"The Gap between Processor and Memory Speeds", 2002.
[7] Grupo Intel, "Intel Core 2 Duo Processor Specification",
http://www.intel.com/core2duo , 2007.
[8] Simon C.J. Garth, "Combining RISC and CISc in PC System", 1991.
[9] Dileep Bhandarkar, Douglas W. Clark, "Performance from Architecture
Comparing a RISC and a CISC with Similar Hardware Design", 1991.
[10] John Ousterhout, "Why are't Operating Systems Getting Faster As Fast As
Hardware", 1989.
[11] Stefan Blixt, "Processors Designs for Embedded Systems", 2006.
[12] Mark Brehob, Trvis Doom, Richard Enbody, "Beyond RISC - The Post RISC
Architecture", 1996.
[13] Marc Tremblay, "Challenges and Trends in Processor Design", 1998.
[14] Jim Thomas, "Evaluation of Performance Instruction Set Architectures: RISC
versus CISC", 2003.
[15] Richard S. Piopho, William S. Wu, "A Comparison of RISC Architectures",
1989.
[16] Dileep Bhandarkar, "RISC versus CISC: A Tale of Two Chips", 1997.
[17] Carlos Jorge Lopes,"Improve Computing Performance, without any Hardware
Update", 2002.
[18] Tribuvan Kumar Prakash, "Performance Analysis of Intel Core 2 Duo
Processor", tesis, 2007.
[19] Paul DeMone, "RISc vs CISC Stilll Matters", 2000.

21

También podría gustarte