Está en la página 1de 49

Tecnologia RISC

Arquitectura de Computadoras
Temario
Computadores de conjunto de
instrucciones reducido (RISC)
Caractersticas de RISC
Conjunto de instrucciones
Optimizacin
Arquitectura
Segmentacin
Procesadores Superescalares
COMPUTADORES DE
CONJUNTO DE
INSTRUCCIONES REDUCIDO
La tendencia hacia conjuntos de instrucciones ms
ricos, con un nmero mayor y ms complejo se debe al
deseo de simplificar los compiladores y mejorar las
prestaciones (programas ms pequeos y rpidos), con
lo que se da mejor soporte a los HLL.

Los programas ms pequeos ocupan menos
memoria, y se mejoran las prestaciones porque se
captan menos bytes de instruccin y en un entorno
paginado se ocupan menos pginas, reduciendo la falta
de pgina.!!!

INTRODUCCIN
La idea es que un conjunto de instrucciones poco
complejas son simples, y por tanto de ms rpida
ejecucin, lo que permite crear un cdigo ms
"dinmico, para ello nace RISC.

Sin embargo RISC tambin tena sus desventajas.
Debido a que una serie de instrucciones son
necesarias para completar incluso las tareas ms
sencillas, el nmero total de instrucciones para la
lectura de la memoria es ms grande, y por lo tanto
lleva ms tiempo.


INTRODUCCIN
QU ES RISC?
Es un tipo de microprocesador con las
siguientes caractersticas fundamentales:
Instrucciones de tamaos fijos y presentados en un
reducido nmero de formatos.
Slo las instrucciones de carga y almacenamiento
acceden a la memoria por datos.
Adems estos procesadores suelen disponer
de muchos registros de propsito general.
PRINCIPIOS DE DISEO DE LAS
COMPUTADORES RISC
Analizar las
aplicaciones
para encontrar
las operaciones
clave.
Disear un bus
de datos que
sea ptimo para
las operaciones
clave.
Disear
instrucciones
que realicen las
operaciones
clave utilizando
el bus de datos.
Agregar nuevas
instrucciones
slo si no hacen
ms lenta a la
mquina.
Repetir este
proceso para
otros recursos.
CARACTERSTICAS
CARACTERSTICAS
1
Modelo de conjunto de instrucciones Load/Store
2
Arquitectura no destructiva de tres direcciones.
3
Instrucciones simples, de formato fijo, con pocos modos de
direccionamiento.
4
Ausencia de microcdigo.
5
Ejecucin en conductos.
6
Ejecucin en ciclos nicos.
RISC MODERNO
Los diseos RISC han llevado a un gran
nmero de plataformas y arquitecturas al
xito, algunas de las ms grandes:
La lnea MIPS Technologies Inc
La serie IBM POWER
La versin PowerPC de Motorola e IBM
El procesador SPARC y UltraSPARC de Sun Microsystems
y Fujitsu
El PA-RISC y el HP/PA de Hewlett-Packard
El DEC Alpha
El ARM
RISC vs CISC
RISC CISC
nfasis en el software
Incluye el multi-reloj,
instrucciones reducida
Inter registro: CARGA y
ALMACN incorporado en
instrucciones
Altos ciclos por segundo,
tamaos de cdigo
pequeos
Transistores usados para
almacenar instrucciones
complejas

nfasis en el hardware
Solo-reloj, instrucciones
complejas
Memoria a memoria:
CARGA y ALMACN son
las instrucciones
independientes
Ciclos bajos por segundo,
tamaos de cdigo grandes
Pasa ms transistores en los
registros de la memoria .
CONJUNTO DE
INSTRUCCIONES
CONJUNTO DE INSTRUCCIONES
Instrucciones de
carga/almacenamiento
Instrucciones
Aritmticas
OPERANDO DESCRIPCIN
LDSB Cargar byte con signo
LDSH Cargar media palabra con
signo
LDUB Cargar byte sin signo
LDUH Cargar media palabra sin
signo
LD Cargar palabra
LDD Cargar doble palabra
STB Almacenar byte
STH Almacenar media palabra
STD Almacenar palabra
STDD Almacenar doble palabra
OPERANDO DESCRIPCIN
ADD Sumar
ADDCC Sumar, ajustar icc
ADDX Sumar con acarreo
ADDXCC Sumar con acarreo, ajustar
icc
SUB Restar
SUBCC Restar, ajustar icc
SUBX Restar con adeudo
SUBXCC Restar con adeudo, ajustar
icc
MULSCC Paso de multiplicacin,
ajustar icc
CONJUNTO DE INSTRUCCIONES
Instrucciones Booleanas
Instrucciones de
salto/bifurcacin
OPERANDO DESCRIPCIN
AND Y
ANDCC Y, ajustar icc
ANDN No Y
ANDNCC No Y, ajustar icc
OR O
ORCC O, ajustar icc
ORN No O
ORNCC No O, ajustar icc
XOR O Exclusiva
XORCC O Exclusiva, ajustar icc
XNOR No O Exclusiva
XNORCC No O Exclusiva, ajustar icc
OPERANDO DESCRIPCIN
BCC Bifurcar si condicin
FBCC Bifurcar si condicin de
coma flotante
CBCC Bifurcar si condicin del
procesador
CALL Llamar a procedimiento
JMPL Saltar y enlazar
TCC Interceptar si condicin
SAVE Avanzar ventana de
registros
RESTORE Mover ventanas hacia atrs
RETT Retornar de interceptacin
CONJUNTO DE INSTRUCCIONES
Instrucciones de
desplazamiento Instrucciones diversas
OPERANDO DESCRIPCIN
SLL Desplazamiento lgico a la
izquierda
SRL Desplazamiento lgico a la
derecha
SRA Desplazamiento aritmtico
a la derecha
OPERANDO DESCRIPCIN
SETHI Fijar los 22 bits altos
UNIMP Instruccin no
implementada
(Interceptacin)
RD Leer un registro especial
WR Escribir en un registro
especial
IFLUSH Vaciar la cach de
instrucciones
CISC RISC
Una instruccin por
circunstancia.
Pequeas instrucciones.
Instrucciones complejas. Instrucciones simples.
Lenta ejecucin de la
instruccin.
Ejecucin rpida de las
instrucciones.
Pocas instrucciones por
trabajo
Varias instrucciones por
trabajo especfico.
CUADRO COMPARATIVO CISC Y RISC
El nico modo de direccionamiento disponible, aparte
del modo registro, es el modo de desplazamiento.

La direccin efectiva de un operando consiste en una
direccin contenida en un registro ms un
desplazamiento.

EA = (R1) + S (constante)
EA = (R1) + (R2)

MODOS DE DIRECCIONAMIENTO
El SPARC emplea un formato de instrucciones de
32 bits.

Todas las instrucciones comienzan con un cdigo
de operacin de 2 bits. En ciertas instrucciones, este
cdigo se amplia con bits de cdigo de operacin
adicionales en otras partes del formato.

FORMATO DE INSTRUCCIONES
FORMATO DE
INSTRUCCIONES
OPTIMIZACIN
El objetivo del compilador es mantener en registros los
operandos necesarios para tantos clculos como sea
posible y minimizarlas operaciones de carga
almacenamiento. Se usa la siguiente aproximacin,
cada cantidad candidata a residir en un registro se
asigna a un registro simblico. Despus el nmero
ilimitado de registros simblicos es asignado a un
nmero fijo de registros reales. Los registros
simblicos cuyo uso no se solapa pueden compartir el
mismo registro real. Si hay ms cantidades que
registros, algunas de las cantidades se asignan a
posiciones de memoria y otras a registros. La tcnica
usada en los compiladores para RISC es el coloreado de
grafos.

OPTIMIZACIN
El problema es, dado un grafo asignar colores a los
nodos de manera que nodos adyacentes tengan colores
diferentes y se minimice el nmero de colores distintos.
Se adapta una vez que el programa se ha analizado para
construir un grafo de interferencias entre registros. Los
nodos son los registros simblicos. Si dos registros
estn vivos se unen por un arco para representar su
interferencia. Se intenta colorear el grafo con n
colores, donde n es el nmero de registro. Los nodos
que no se pueden colorear se colocan en memoria.
OPTIMIZACIN
OPTIMIZACIN
ARQUITECTURA
Arquitectura CISC
Arquitectura CISC
Reduce la complejidad de crear
compiladores.
Permite reducir el costo total del
sistema.
Reduce los costos de desarrollo de
software.
Mejora la compactacin de cdigo.
Facilita la depuracin de errores
Arquitectura RISC
Arquitectura RISC
Objetivos de RISC
Alto rendimiento va segmentacin
Facilitar la implementacin HW
Compatibilidad con compiladores optimizado
Estos objetivos dieron lugar a
Instrucciones sencillas
Modos de direccionamiento sencillos
Formato de instrucciones de longitud fija
Gran nmero de registros
Arquitectura RISC
La estructura simple de RISC conduce a
una notable reduccin de la superficie
del IC. Se aprovecha para:
Unidad para el procesamiento aritmtico de
punto flotante
Unidad de administracin de memoria
Funciones de control de memoria cache
Implantacin de un conjunto de registros
mltiples
Arquitectura RISC
La CPU trabaja ms rpido al utilizar
menos ciclos de reloj para ejecutar
instrucciones.
Utiliza un sistema de direcciones no
destructivas en RAM.
Cada instruccin puede ser ejecutada en
un solo ciclo del CPU.
Arquitectura RISC
Una instruccin ingresa en forma
fija en el circuito integrado del
procesador (es decir, se alambra
fsicamente en el procesador) si se
ha demostrado que la capacidad
total del sistema se incrementa en
por lo menos un 1%.

Diseadores RISC de MIPS y HP
SEGMENTACIN
Detalle de la segmentacin de
instrucciones
La segmentacin consiste en descomponer la ejecucin de cada
instruccin en varias etapas para poder empezar a procesar una
instruccin diferente en cada una de ellas y trabajar con varias a la
vez.
Ejemplo
Ciclo 1 2 3 4 5 6 7 8 9 10
Ins. 1 IF ID EX MEM WB
Ins. 2 IF ID EX MEM WB
Ins. 3 IF ID EX MEM WB
Ins. 4 IF ID EX MEM WB
Ins. 5 IF ID EX MEM WB
Ins. 6 IF ID EX MEM WB
IF: Bsqueda
ID: Descodificacin
EX: Ejecucin de Unidad Aritmtica Lgica
MEM: Memoria
WB: Escritura
Riesgos de Datos y de Control
RAW (read after write): una instruccin
posterior trata de leer un operando
antes de que lo escriba una anterior.
WAR (write after read): una instruccin
posterior trata de escribir su resultado
antes de que lo haya ledo una anterior.
WAW (write after write): una escritura
posterior se produce antes que otra
escritura anterior en el mismo destino
Diagramas de Segmentacin
Modelo de un CPU subescalar
Pipeline genrica
Diagramas de Segmentacin
Programacin de
instrucciones
usando un pipeline
de 5 etapas
Programacin de
instrucciones en un
procesador
superescalar
Diagramas de Segmentacin
Programacin de
instrucciones en un
procesador VLIW
Programacin de
instrucciones en
un procesador
vectorial
VENTAJAS Y DESVENTAJAS
Ventajas de RISC
La CPU trabaja mas rpido al utilizar menos ciclos de reloj
para ejecutar instrucciones.
Cada instruccin puede ser ejecutada en un solo ciclo del
CPU
ofrece soluciones atractivas donde se requiere una elevada
capacidad de procesamiento y se presente una orientacin hacia
los lenguajes de alto nivel.
Desventajas
Una de las principales desventajas de estos sistemas, como es
evidente, es la duplicacin de recursos caros como memoria,
dispositivos de entrada/salida, que adems estn desocupados
en gran parte del tiempo.
APLICACIONES Y
NOVEDADES
Procesadores SPARK
Procesadores ARM
Procesadores MIPS
OpenRISC
OpenRISC es un diseo de CPU RISC de
especificacin libre, realizado por
OpenCores y publicado bajo la licencia
LGPL.
iPhone 4, Maquinon
Ubuntu 9.04 soporta ARM
Gracias Totales!!!
PASADO FUTURO