You are on page 1of 24

COMPUTADORES DE

REPERTORIO REDUCIDO DE
INSTRUCCIONES
Innovaciones principales
Concepto de familia
Unidad de control microprogramada
Memoria cache
Segmentación de cauce
Múltiples procesadores
Arquitectura RISC
Elementos clave de RISC
Gran numero de registros de uso general
o uso de tecnología de compiladores para
optimizar uso de registros
Repertorio de instrucciones limitado y
sencillo
Énfasis en la optimización de
segmentación de instrucciones
Características de algunos procesadores
CISC, RISC y superescalares
CISC RISC Superescalar

Característica IBM VAX Intel SPARC MIPS Power Ultra MIPS


370/168 11/78 80486 R4000 PC SPAR R100
0 C 00

Año de 1973 1978 1989 1987 1991 1993 1996 1996


desarrollo

Numero de 208 303 235 69 94 225


instrucciones

Tamaño de 2-6 2-57 1-11 4 4 4 4 4


instrucción
(bytes)
Modos de 4 22 11 1 1 2 1 1
direccionamiento

Numero de 16 16 8 40-520 32 32 40- 32


registros de uso 520
general
Tamaño de la 420 480 246 - - - - -
memoria de
control (kbits)
Tamaño de cache 64 64 8 32 128 16-32 32 64
(kbytes)
Ejemplos de organización de
registros
Características de la
ejecución de instrucciones
Coste del Hw ha disminuido
Coste del Sw ha ido creciendo
Desarrollo de HLL (high-level lenguage)
PROBLEMA:
– Salto semántico – la diferencia entre las
operaciones que proporcionan los HLL y las que
proporciona la arquitectura del computador
SOLUCION:
– Creación de arquitectura que incluye varias
sentencias HLL implementadas en Hw (CISC)
Propósito de repertorios
complejos de instrucciones
Facilitar trabajo del escritor de
compiladores
Mejorar la eficiencia de la ejecución, ya
que las secuencias complejas de
operaciones pueden implementarse en
micro código
Dar soporte a HLL aun mas complejos y
sofisticados
Características de la ejecución
de instrucciones
Operaciones realizadas: determinan las
funciones que lleva a cabo el MP, y su
interacción con la memoria
Operandos usados: los tipos de operandos y
su frecuencia de uso determinan la organización
de memoria para almacenarlos y los modos de
direccionamiento para accederlos
Secuencia de la ejecución: determina la
organización del control del cauce
Operaciones
Tipo de trabajo Pascal científico FORTRAN Pascal sistema C sistema

ASSIGN 74 67 45 38

LOOP 4 3 5 3

CALL 1 3 15 12

IF 20 11 29 43

GOTO 2 9 - 3

OTRAS - 7 6 1

Frecuencia dinámica relativa de operaciones en HLL.


Operaciones
Predominan las sentencias de asignación
– sencillo movimiento de datos tiene
mucha importancia
También predominan sentencias
condicionales – control del
secuenciamiento es importante
Estas sentencias deben ser
implementadas de una forma “optima”
¿qué sentencias consumen mas
tiempo?
Aparición dinámica Instrucciones maquina Referencias a memoria
ponderadas ponderadas

Pascal C Pascal C Pascal C

ASSIGN 45 38 13 13 14 15

LOOP 5 3 42 32 33 26

CALL 15 12 31 33 44 45

IF 29 43 11 21 7 13

GOTO - 3 - - - -

OTRAS 6 1 3 1 2 1
Operandos

Pascal C Promedio

Constantes enteras 16 23 20

Variables escalares 58 53 55

Matrices/estructuras 26 24 25
Operandos
La mayoría de las referencias se hacen a
variables escalares simples
Referencias a matrices / estructuras
requieren una referencia previa a su
índice o puntero, que suele ser un dato
escalar local
Candidato fundamental a optimizar –
mecanismo de almacenamiento y acceso
a variables escalares locales
Consecuencias
Realizar una arquitectura de repertorio de
instrucciones cercano al de los HLL, no es
la estrategia de diseño mas efectiva
Se puede ofrecer mejor soporte para los
HLL optimizando las prestaciones de las
características de los programas típicos
en HLL que mas tiempo consumen
Elementos RISC
Uso de gran numero de registros o un
compilador que optimice el uso de estos
(las prestaciones se mejoran reduciendo
las referencias a memoria)
Diseño especial de los cauces de
instrucciones (alta proporción de
instrucciones de bifurcación condicional )
Repertorio de instrucciones simplificado
Motivos de la tendencia hacia
CISC
Deseo de simplificar los compiladores
– Compilador genera secuencia de
instrucciones maquina para cada sentencia
de HLL
– Si existen instrucciones maquina que se
parezcan a sentencias del HLL, la tarea se
simplifica
– PERO: la mayoría de las instrucciones de
programa compilado son comparativamente
las mas sencillas
Motivos de la tendencia hacia
CISC
Deseo de mejorar las prestaciones:
esperanza de que CISC produzca programas
mas pequeños y rápidos
– Ocupa menos memoria: hoy día memoria es
barata y la ventaja potencial ya no es primordial
– Programa mas pequeño tiene menos
instrucciones y se necesita captar menos bytes de
instrucciones
– Programa para CISC en lenguaje maquina es mas
corto pero el numero de bits de memoria no es
mas pequeño
Tamaño del código, relativo al
RISC I
11 12 5
programas programas programas
en C en C en C
RISC I 1,0 1,0 1,0
VAX- 0,8 0,67 ---
11/780
M68000 0,9 --- 0,9
PDP-11/70 0,9 0,71 ---
Z8002 1,2 --- 1,12
Conclusión
Hay poco o ningún ahorro cuando se usa
un CISC en lugar de un RISC
Tendencia hacia repertorio de
instrucciones complejas no es apropiada
Características de las
arquitecturas RISC
Se ejecuta una instrucción maquina cada
ciclo maquina
– Ciclo maquina – tiempo que se tarda en
captar dos operandos desde dos registros,
realizar una operación de ALU y almacenar
resultado en un registro
– Instrucciones sencillas que pueden estar
cableadas
– No se realiza acceso a memoria
Características de las
arquitecturas RISC
Mayoría de operaciones deben ser del tipo
registro a registro
– Excepción: operaciones LOAD y STORE
– Simplifica repertorio de instrucciones y la CU
– P.ej., RISC incluye solo una o dos
instrucciones ADD (suma entera y con
acarreo); el VAX tiene 25 instrucciones ADD
diferentes
– Operandos permanecen en el
almacenamiento de alta velocidad (registros)
Características de las
arquitecturas RISC
Uso de modos de direccionamiento
sencillos
– La mayoría de instrucciones RISC usan
sencillo direccionamiento a registro
– Simplifica repertorio de instrucciones y la CU
Características de las
arquitecturas RISC
Uso de formatos de instrucción sencillos
– Generalmente se usa un formato o unos
pocos
– Longitud de instrucción es fija
– Posiciones de campos (principalmente del
CO) son fijos
– Decodificación del CO y acceso a operandos
en registros pueden tener lugar
simultáneamente
Actualidad
Diseños RISC pueden sacar provecho de la
inclusión de algunas características CISC
Diseños CISC pueden sacar provecho de la
inclusión de algunas características RISC
Diseños RISC mas recientes no son ya RISC
“puros” (PowerPC)
Diseños CISC mas recientes incorporan
ciertas características RISC (Pentium II, III,
IV)

You might also like