PDF de programación - Clase 4 - Arquitectura de Computadoras II

Imágen de pdf Clase 4 - Arquitectura de Computadoras II

Clase 4 - Arquitectura de Computadoras IIgráfica de visualizaciones

Publicado el 8 de Mayo del 2018
578 visualizaciones desde el 8 de Mayo del 2018
2,8 MB
40 paginas
Creado hace 13a (11/08/2010)
Arquitectura de Computadores II

Clase #4

Facultad de Ingeniería
Universidad de la República

Instituto de Computación
Curso 2010

Contenido

 Unidad de control
 Control cableado
 Control microprogramado

 MIC-1

Arquitectura de Computadores II

La Unidad de Control

 La instrucción contenida en el Instruction Register (IR)

determina la acción de la Unidad de Control

 La ejecución incluye los siguientes pasos:

• Instruction Fetch (IF)
• Instruction Decode (ID)
• Operand Fetch (OF)
• Operation Execution (OE)
• Operand Store(OS)

 La Unidad de Control debe controlar la secuencia de pasos
discretos que son necesarios para decodificar y ejecutar las
instrucciones; se puede ver como un problema que se
puede resolver en hardware o en software.

Arquitectura de Computadores II

Control cableado

 Se implementa como un circuito secuencial, usando
compuertas y componentes (NAND, NOR, flip-flops,
contadores, etc.).

 Los sistemas cableados son rápidos pero pueden ser

inflexibles

 Las funciones de control son fijas; si se necesita agregar

instrucciones extra, el circuito debe rediseñarse

 Algunos procesadores RISC usan control cableado para

aumentar la velocidad

 Normalmente se usa una combinación de control

cableado para instrucciones sencillas y microcódigo
para instrucciones complejas y poco frecuentes

Arquitectura de Computadores II

Control microprogramado

 Solución en software del control de la máquina
 Un control microprogramado se puede ver como
un computador “interno” que implementa el ciclo
de instrucción de la CPU

 Para cada “macroinstrucción” existe una

secuencia específica de microinstrucciones que la
implementa

 El código elemental necesario para implementar
el ciclo de instrucción de la CPU se almacena en
memoria de microprograma de tipo ROM
 Usualmente denominado firmware

Arquitectura de Computadores II

La Unidad de Control

 La unidad de control emite señales:

 Internas
 Externas

 Tiene como entradas:
 Registro de instrucción
 Estado
 Señales de control externas

Arquitectura de Computadores II

Vista general de la Unidad de
Control

Registro de Instrucción

Señales de Control
internas a la CPU

Flags

Reloj

Unidad de Control

Señales de Control hacia
el Bus del sistema

Señales de Control desde
el Bus del sistema

Arquitectura de Computadores II

Bus de
Control

Entradas

 Reloj

 Una o varias micro-operaciones por ciclo

 Registro de Instrucción (IR)

 Opcode de la instrucción en ejecución
 Determina qué micro-operaciones deben ser ejecutadas

 Flags de condición

 Estado de la CPU, resultado de operaciones previas

 Del bus de control
 Ej. Interrupciones

Arquitectura de Computadores II

Salidas

 Internas a la CPU

 Movimiento de datos entre registros
 Activar funciones de ALU
 Hacia el bus de control

 Memoria
 E/S

 Ejemplo, señales de control en fetch

• Habilitar transferencia entre PC y MAR
• Habilitar transferencia entre MAR y bus de direcciones
• Señal de lectura de memoria
• Habilitar transferencia entre el bus de datos y MBR

Arquitectura de Computadores II

Repaso circuitos (i)

Arquitectura de Computadores II

Repaso circuitos (ii)

Arquitectura de Computadores II

Repaso circuitos (iii)

Arquitectura de Computadores II

Repaso circuitos (iv)

Arquitectura de Computadores II

Control implementado en
Hardware (i)

 Las entradas, como flags, IR, y señales del bus

de control, determinan, junto con el estado
actual (ej. etapa del ciclo de instrucción), las
señales de control que deben enviarse a los
diferentes componentes de la CPU y hacia el
exterior de la CPU.
 Instruction register

 Cada código de operación (op-code) implica diferentes

señales de control

 Se puede implementar usando un decodificador que

para cada código de operación activa una única salida

• n entradas binarias y 2n salidas

Arquitectura de Computadores II

Control implementado en
Hardware (ii)

 Reloj

 Secuencia de pulsos que determina la duración de las

micro-operaciones

 El ciclo de reloj debe ser lo suficientemente largo para

permitir la propagación de las señales

 Se deben generar señales de control en diferentes

intervalos dentro del ciclo de instrucción

 Contador con diferentes señales para t1, t2 etc.

 Problemas del control cableado

 Lógica compleja
 Difícil de diseñar y probar
 Diseño inflexible
 Difícil agregar nuevas instrucciones

Arquitectura de Computadores II

Control implementado en
Hardware (iii)

Arquitectura de Computadores II

Control implementado en
Hardware (iv)

Subciclo

Microoperaciones

Señales de Control

Fetch

t1: MAR <- PC
t2: MBR <- memory

PC <- PC+1

t3: IR <- MBR

C2
C5, CR
No se muestra en figura
C4

CR = Señal Read hacia el bus del sistema

Arquitectura de Computadores II

Unidad de Control
microprogramada

Arquitectura de Computadores II

Organización de la memoria de
Control

-
-

-
-

-
-

-

-

-

-

Jump to Indirect or Execute

Fetch cycle routine

Jump to Execute

Indirect Cycle routine

Jump to Fetch

Interrupt cycle routine

Jump to Op code routine

Execute cycle begin

Jump to Fetch or Interrupt

AND routine

ADD routine

Jump to Fetch or Interrupt

Arquitectura de Computadores II

Implementación

 Asociar a cada señal de control un bit de micro-instrucción
 Una palabra de control para cada micro-operación, o para

todas las micro-operaciones que pueden realizarse
concurrentemente

 Secuencia de palabras de control para cada instrucción
 Agregar un campo de dirección para especificar próxima
micro-instrucción, dependiendo de las flags de condición

 Microprocesadores actuales

 Muchas instrucciones y hardware complejo
 Muchas señales de control
 El resultado es una memoria de control que:

• Contiene una gran cantidad de palabras, debido al amplio

repertorio de instrucciones.

• Tiene un ancho de palabra grande, debido a la gran cantidad de

señales que se deben generar.

Arquitectura de Computadores II

Tipos de microinstrucciones

 El ancho de palabra de la memoria de

microprograma depende de
 Cómo se codifica la información de control
 Cómo se especifica la dirección de la próxima micro-

instrucción

 Microprogramación horizontal

 Cada micro-instrucción especifica las señales de control

sin codificar (muchas señales se pueden generar en
paralelo)

 Microprogramación vertical
 Señales de control codificadas

Arquitectura de Computadores II

Micro-programación Horizontal

 Palabra de microprograma ancha
 Posibilidad de paralelismo
 Poca codificación de la información de control

Internal CPU Control Signals

Micro-instruction Address

System Bus

Control Signals

Jump Condition

 Compromiso

 Dividir la información de control en grupos disjuntos
 Codificar cada grupo en campos diferentes de la palabra de

control

 Soporta un nivel “razonable” de paralelismo sin demasiada

complejidad

Arquitectura de Computadores II

Micro-programación Vertical

 Palabra de microprograma angosta
 n combinaciones de señales de control

codificadas en log2 n bits

 Capacidad limitada para expresar paralelismo
 La información de control codificada requiere un
decodificador externo para manipular las señales
de control

Micro-instruction Address

Function Codes

Jump

Condition

Arquitectura de Computadores II

Nanoprogramación

w bits

log2 m bits

Microprograma

Donde Mu[k]=Mn[Mi[k]]

n

n

w bits

m Nanoprograma

Memoria Mu

Memoria Mi

Memoria Mn

Tamaño(Mu) # Tamaño(Mn)+ Tamaño(Mi)

Arquitectura de Computadores II

a
d
a
m
a
r
g
o
r
p
o
r
c
i
m

d
a
d
n
U

i

Arquitectura de Computadores II

Ruta de los datos (i)

Arquitectura de Computadores II

Ruta de los datos (ii)

Arquitectura de Computadores II

Microinstrucción

Arquitectura de Computadores II

Microcódigo

 El microcódigo se almacena en una memoria por

lo que no es más que una secuencia de ceros y
unos.

 Una manera de especificar las instrucciones es

indicar para cada campo distinto de cero su
valor.
 Ejemplo: Sumar el contenido del registro AC al

contenido del registro A y almacenar el resultado en
AC. ENC=1, C=1, B=1, A=10.

 Sin embargo podemos definir un lenguaje de

más alto nivel -> Microassembler

Arquitectura de Computadores II

Registros

 PC
 AC
 SP
 IR
 TIR
 0, 1, -1, AMASK, SMASK
 A al F

Arquitectura de Computadores II

Microassembler (i)

 Microassembler permite especificar

microinstrucciones a más alto nivel, pero hay
que tener en cuenta las limitaciones impuestas
sobre una microinstrucción.

 Asignación: ‘:=‘

 Ejemplos
• ac := a
• ac := ac + a

 El operando destino puede ser cualquiera de los

registros PC a F, MAR y MBR. Tener en cuenta que
entrada a MAR no pasa por ALU. MAR no puede ser
operando de origen.

Arquitectura de Computadores II

Microassembler (ii)

 Funciones (i)

 Suma

• Reg + Reg
• Ejemplos
• ac + a
• ac + (-1)

 And

• band(Reg,Reg)
• Ejemplo

• band(ir,amask)

Arquitectura de Computadores II

Microassembler (iii)

 Funciones (ii)

 not

• inv(Reg)
• Ejemplo
• inv(b)

Arquitectura de Computadores II

Microassembler (iv)

 Desplazamineto

 A la izquierda

• lshift(AluFunc)
• Ejemplo

• lshift(ir)
• lshift(ir+ir)

 A la derecha

• rshift(AluFunc)
• Ejemplo

• rshift(ir)
• rshift(ir+ir)

Arquitectura de Computadores II

Microassembler (v)

 Memoria

 Lectura: rd
 Escritura: wr

 Saltos incondicionales

 goto direccion
 Ejemplo: goto 20

 Saltos condicionales

 if (cond) then goto direccion
 Ejemplos

• if n then goto 30
• if z then goto 10

Arquitectura de Computadores II

Microassembler (vi)

 Pseudo variable

 alu, permite utilizar un registro para testear

una condición.

 Ejemplo: alu:=ac; if z then goto 0

Arquitectura de Computadores II

Microcodigo (i)

 Fetch

{main loop}
{incrementa PC}
{obtiene IR y decodifica}

0: mar:=pc;rd
1: pc:=pc+1;rd
2: ir:=mbr;if n then goto 28
3: tir:=lshift(ir+ir);if n then goto 19{opco
  • Links de descarga
http://lwp-l.com/pdf10962

Comentarios de: Clase 4 - Arquitectura de Computadoras II (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad