Académique Documents
Professionnel Documents
Culture Documents
Este
CISC vs RISC
CISC (Complex Instruction Set Computer).
Al iniciarse el desarrollo de Microprocesadores, los diseadores se encontraron
con los mismos problemas que con los circuitos digitales de propsito especfico:
Largos tiempos de desarrollo
Gran costo de errores de diseo/implementacin
La complejidad tpicamente se originaba en la lgica de control que hace que
todos los componentes trabajen de la forma correcta.
La solucin: utilizar una memoria (tipo ROM, no voltil) para implementar esta
lgica de control. Las entradas de la lgica de control crean la direccin de la
memoria y el contenido de la posicin de memoria son las salidas de control
internas.
As, se acortan los tiempos de desarrollo y si hay cambios, basta con modificar
el microcdigo.
Se busc entonces resolver un problema de ese tiempo: acortar la brecha
semntica (semantic gap).
El semantic gap es la diferencia entre la representacin de un problema en un
lenguaje de alto nivel y el lenguaje de mquina.
CISC (Resumen)
Objetivo: Ayudar al programador de Assembler.
Estrategia: Reducir la brecha semntica.
Caractersticas de CISC:
Control interno por medio de microcdigo
Gran cantidad de instrucciones
Muchos modos de direccionamiento
Pocos registros
Casi todas la instrucciones pueden utilizar la memoria como operando
Largo de instrucciones variable
RISC
Surgi un movimiento, plasmado en un artculo tcnico de
llamado Reduced Instruction Set Computer.
William Stallings
RISC (Resumen)
Objetivos: Maximizar el desempeo.
Estrategia: Implementar mejoras arquitecturales, lgica de control ms rpida,
facilitar la implementacin de algoritmos optimizantes en los compiladores.
Caractersticas de RISC:
Control interno por medio de compuertas (hardwired)
Poca cantidad de instrucciones
Pocos modos de direccionamiento
Muchos registros
Accesos a memoria restringidos a Loads y Stores
Largo de instrucciones fijo
CISC vs RISC
En la actualidad, las arquitecturas CISC de alto desempeo se han beneficiado de
las mismas mejoras arquitecturales que los RISC implementaron por primera vez
(caching, pipelinening, etc.).
Debido a compatibilidad y a recursos de desarrollo, los RISC no han obtenido
popularidad en el segmento de desktops y laptops.
Son populares en los segmentos de Servidores de medio y alto desempeo y
aplicaciones embedded.
Pipeline Hazards
Existen problemas adicionales, propios de la naturaleza secuencial de la ejecucin
de los programas.
Estos se denominan pipeline hazards.
Los pipeline hazards se dividen en tres tipos:
Structural Hazards
Control Hazards
Data Hazards
Structural Hazards
Los Structural Hazards ocurren cuando dos o ms etapas del pipeline tratan de
utilizar el mismo recurso nico. Esto es reconocido como un error de diseo.
Control Hazards
Los Control Hazards ocurren cuando se altera el flujo normal secuencial de un
programa debido a saltos (branches) y llamadas a subrutinas (calls).
Para tratar de disminuir este impacto hay dos tipos de soluciones:
Estrategias Estticas
Estrategias Dinmicas
Las estrategias estticas son las que se implementan durante la compilacin.
Las estrategias dinmicas son las que se implementan durante la ejecucin del
cdigo.
Data Hazards
Los Data Hazards ocurren cuando una etapa del pipeline trata de accesar un dato
que an no est disponible, ya que est siendo actualizado por una istruccin
anterior
Data Dependencies
Hay dos tipos de Data Dependencies:
Registro de instrucciones
Conteo de instrucciones
Registro de estados o flags
Decodificador
Reloj
TIPOS DE REGISTROS
MBR = Registro de Buffer de memoria
MAR = Registro de direccin de memoria
IR = Instruccin de registro
IBR = Instruccin de buffer de registro
PC = Contador de programa
AC = Acumulador