diseño del procesador

Anuncio
Diseño del procesador
DISEÑO DEL PROCESADOR
Partes de
un sistema
digital

Unidad de procesamiento: Se almacenan y transforman los datos

Unidad de control: Genera las secuencias se señales de control de acuerdo
al algoritmo de transferencia de registros.
Tipos de
microoperaciones
Fases en el ciclo
de ejecución de
una instrucción

De transferencia

De proceso

Búsqueda

Decodificación

Búsqueda de los operandos

Ejecución
Tipos de
procesadores
según el
número de
direcciones
Esquema
Procesadores
de 3
direcciones
Esquema
Procesadores
de 1dirección
Página 1

2 direcciones

1 dirección

0 direcciones
Operan. 1
Operan. 2
Resultado
Formato de la instrucción
Cod. Opera.
Esquema
3 direcciones
Formato de la instrucción
Cod. Opera.
Procesadores
de 2
direcciones

Operan. 1 y Resultado
Formato de la instrucción
Cod. Opera.
Operando
Operan. 2
Diseño del procesador
Formato de la instrucción
Esquema
Procesadores
de 0
direcciones
Código Operación
Esquema
Formato de la instrucción
Procesador
sin ALU
Procesadores
con banco de
registros

Acceso más rápido a la memoria

Menos espacio en memoria


Implícito
Inmediato
Directo

Relativo


Indirecto
Indexado

Búsqueda de la instrucción (Emplea un ciclo de reloj)

Decodificación

Búsqueda de los operandos

Ejecución

Modos de
direccionamiento
Fases en la
ejecución de una
instrucción
JUNIO 2003 RESERVA
3- En un procesador con instrucciones de cero direcciones (procesador con pila), indique si las secuencias de
2
instrucciones propuestas calculan la expresión X=Y (X+Z)
I.
Push[X]; Push[Z]; Add; Push[Y]; Push[Y]; Mult; Mult; Pop[X]
II.
Push[Y]; Push[Y]; Push[X]; Push[Z]; Add; Mult; Mult; Pop[X]
A) I:sí, II:sí
Página 2
B) I:sí, II:no
C) I:no, II:sí
D) I:no, II:no
Diseño del procesador
Fases en el diseño del procesador:
Diseño de un procesador elemental SIMPLE1
Formato de instrucción:
Registros
Instrucciones:
Página 3
PC:
IR:
MAR:
MBR:
A , B:
ALU:
11 10
9
Cod. Operac.
8
7
6
5
4
3
Operando
2
1
Como la capacidad del operando  9 bits
Reg. Instrucciones  anchura del formato de la instrucción  12 bits
Reg. Direcc. Mem.  capacidad de direccionamiento  9 bits
Reg. Datos de memoria  anchura del formato de la instruc.  12 bits
Registros de trabajo  Como la capacidad del operando  9 bits
Suma / resta
0
Diseño del procesador
Diagrama de flujo del repertorio de instrucciones:
Asignación de recursos:
Página 4
Diseño del procesador
Diagrama ASM del procesador:
Diseño de la unidad de control:
H
C
Página 5
Habilitar salida de registro a bus
Cargar registro desde bus
Diseño del procesador
Página 6
Diseño del procesador
Página 7
Diseño del procesador
MODOS DE DIRECCIONAMIENTO
Formato de una instrucción
Código Operación
Operando
Ventajas de los tipos de
direccionamiento
a.) Reducción del tamaño de palabra de la instrucción
b.) Aumento de la flexibilidad en la programación
Modos de direccionamiento
Implícito
El propio C.O lleva asociado el operando
Código operación
Inmediato: La instrucción contiene al propio objeto
Código operación
MOVE.L
#$25 ,D1
Operando
; 25  D1
Direccionamiento directo: La instrucción contiene la dirección en lugar del propio objeto
a) DIRECTO ABSOLUTO de memoria: La instrucción contiene la dirección de memoria exacta
MOVE.L
Página 8
25 ,D1
; (25)  D1
25 decimal  $19
Diseño del procesador
b) DIRECTO ABSOLUTO de registro: El objeto está almacenado en uno de los registros y en la
instrucción viene indicado dicho registro
MOVE.B D1 ,D0 ; (D1)  D0
MOVE.B A1,D0
; (A1)  D0
Direccionamiento relativo: La dirección final se obtiene tras una operación aritmética entre dos
elementos.
Direccionamiento indirecto:
Indirección = La instrucción apunta a memoria y en el contenido de la memoria está la dirección del
objeto
Página 9
Diseño del procesador
Direccionamiento indexado:
El campo e dirección de la instrucción indica la dirección de comienzo (dirección base), mientras
que el índice del dato se encuentra en un registro índice específico o mediante un registro del
banco de registros.
Página 10
Diseño del procesador
INTRODUCCIÓN A LA MICROPROGRAMACIÓN
Microprogramación= método sistemático para diseñar la unidad de control de cualquier sistema digital
Estructura de una unidad de control (U.C.) microprogramada (programada)
c.) Tareas de la U.C. programada
d.) Elementos de la U.C. programada
Aspectos
e.) Secuenciamiento de las I (microinstrucciones)
f.) Organización de la mem. De ctrl.
g.) Ejecuciónd e las I (microinstrucciones)
a.) Tareas de la U.C. programada


Secuenciamiento de las I
Ejecución de las I
I (microinstrucción) = conjunto de ord (microórdenes) que se ejecutan simultáneamente y contenidas en una
palabra de la mem. de control
b.) Elementos de la U.C. programada
Secuenciador
Mem. ctrl..
Unidad de procesamiento
Funcionamiento:
1.- La instrucción entra en IR y tras decodificarse carga
en RDC la dirección de la 1ª I.
2.- RDC apunta a la mem. de ctrl. que saca el dato a
RMC
3.- RMC contiene 3 campos:
 Señales de ctrl. al bus del sistema.
 Señales de ctrl. internas a CPU
 Próxima dirección de I
4.- El secuenciador carga la próxima instrucción en RDC
y continúa la secuencia.
Opciones:
 RDC  RDC+1
 Bifurcación: RDC  RMC [dirección]
 Bif. a siguiente instrucción:
RDC  Función (IR[cod. Oper.])
Página 11
RDC = Reg. de direcciones de la memoria de control
RMC = Reg. de datos de la memoria de control
c.) Secuenciamiento de las I (microinstrucciones)
Diseño del procesador
Se encarga de secuenciar la ejecución de las Is.
Saltos en un
secuenciador
 Incrementación de la dirección actual
 Salto condicional
 Explícito = especificado en un campo separado la dirección de salto
Tipos de
direccionamiento
Página 12

Implícito =
Diferencia
mediante un
campo si se trata
de una I de
control o de
salto.
 Instrucciones de control
 Instrucciones de salto
Diseño del procesador
d.) Organización de la memoria de control
Campos de una I

de control  señales para la unidad de procesamiento

de dirección  dirección de la próxima instrucción
* Muy importante

 Horizontal
(No codificados)
Formatos de las I
 Vertical
(Codificada)

cada bit de la memoria se conecta a un punto físico
de la unidad de procesamiento
el campo de ctrl. es dividido en subcampos, cada
uno de los cuales controla un conjunto de
operadores (estos operadores son excluyentes entre
sí, esto es no se pueden producir en el mismo
instante) y está codificado indicando la señal a
controlar y precisando un decodificador por
subcampo.
e.) Ejecución de las microinstrucciones (I)
1.- Búsqueda de la I
2.- Decodificación de los campos de la I
Fases
3.- Ejecución de las op
4.- Cálculo de la dir. De la próxima I
 Monofásicas  las op se pueden ejecutar al mismo tiempo
Tipos de
ejecuciones
Página 13
 Polifásicas  los campos se utilizan de forma escalonada en el tiempo de
ejecución
Diseño del procesador
Representación de los microprogramas
Representación
de los
microprogramas
Página 14
 Nodos  ops
 Líneas  secuencias de la U.C.
Diseño del procesador
Ejemplo:
Diseño de la Unidad de Control de un procesador sencillo con las siguientes especificaciones:
Elementos:
M[MAR]  RAM de 256*8
T  Reg. de 8 bits
R1  Reg. de 8 bits
MAR  Reg. dir. Mem. 8 bits
DECR (-1)  Decremento en 1
INCR (+1)  Incremento en 1
SUM  Sumador
Microórdenes de la ruta de datos
Microorden
Significado
Acción
ord0
Decrementa T
T  T-1
ord1
Transfiere T+1 a MAR
MAR  T+1
ord2
Transfiere T a MAR
MAR  T
ord3
Suma R1 a M[MAR]
M[MAR]  M[MAR]+R1
ord4
Transfiere M[MAR] a R1
R1  M[MAR]
Microórdenes para el secuenciamiento
Microorden
Significado
Acción
ord5
Secuencia normal
RDC  RDC+1
ord6
Salto condicional a I(x)
RDC  x
Objetivo del microprograma:
T  T-1
M[T]  M[T] + M[T+1]
If M(T) = 0 then RDC  x else RDC  RDC+1
Unidad de control:
Página 15
Diseño del procesador
Solución a: Formato horizontal
Cada señal de control su propio bit en la memoria  mayor anchura de la memoria
Formato de la I:
Dirección de salto
ord0 ord1 ord2 ord3 ord4 ord5 ord6
Solución b: Formato vertical
El campo de ctrl. es dividido en subcampos, cada uno de los cuales controla un conjunto de operadores (estos
operadores son excluyentes entre sí, esto es no se pueden producir en el mismo instante) y está codificado indicando
la señal a controlar y precisando un decodificador por subcampo.
Provoca un mejor aprovechamiento de la memoria, resultando ésta más estrecha en el bus de datos.
Se codifican las ords excluyentes.
Según secuencia del
grafo
0rd5  0=0
0rd6  0=1
Formato de la I:
Dirección de salto
0
Página 16
1
2
3
Diseño del procesador
Solución c: Direccionamiento implícito
En principio el formato es vertical, pero para la bifurcación se utiliza un formato especial de instrucción. Se utiliza un bit
del formato de instrucción para diferenciarlas instrucciones de ejecución normal (bit=0) de las de bifurcación (bit=1).
Bit diferenciador
Formato de ejecución
0
Formato de test
1
1
2
3
Dirección de salto
8 bits pq la mem es de 256*8
Página 17
Diseño del procesador
Solución c: Ejecución paralelo de varias microórdenes (ord)
Se basa en reordenar la secuencia de ords para realizar el mismo tiempo las que no tengan influencia unas sobre
otras.
EXAMENES
Preguntas de test:
2ª semana
6.- En una Unidad de Control microprogramada con formato de microinstrucciones vertical, un subcampo que deba especificar 16
señales de control habrá de tener una anchura mínima de:
Mucho cuidado porque en el caso del formato vertical,
codificar las señales siempre hay que tener en cuenta
una codificación de más, la correspondiente a que
todas las señales de control estén desactivadas.
El caso del formato vertical, esto no se considera
porque cuando se precisa que no esté activada
ninguna de las señales, basta con ponerlas todas a 0.
A) 4 bits.
B) 5 bits.
C) 16 bits.
1ª semana /Septiembre 2006
1.- Un computador usa el formato vertical de codificación de instrucciones para parte de las señales de control y el formato
horizontal para k señales de control. El formato vertical posee n campos codificados de m bits cada uno.
¿Cuál es el máximo número de señales de control que pueden usarse en este computador?
m
A) k + n2 .
m
B) k + n .
m
C) k + n(2 -1).
D) Ninguna de las anteriores.
1ª semana
6.- Un computador microprogramado tiene un total de 132 señales de control. De ellas, un grupo de 16 son mutuamente excluyentes
entre sí y otro grupo de 30 son mutuamente excluyentes entre sí. Indique si las siguientes afirmaciones son verdaderas:
I. Utilizando formato vertical, el tamaño de los subcampos codificados sería de 4 y 5 bits, respectivamente.
II. Al existir señales mutuamente excluyentes no puede utilizarse el formato vertical de microinstrucciones.
A) I: sí, II: sí.
B) I: sí, II: no.
C) I: no, II: sí.
D) I: no, II: no.
2.- Una Unidad de Control microprogramada con direccionamiento explícito con dos direcciones por microinstrucción, tiene una
memoria de control con 35 bits de longitud de palabra. Si las microinstrucciones emplean 15 bits para los campos de control, el
número máximo de palabras de la memoria de control de esta Unidad de Control microprogramada es de:
10
A) 2 palabras
Página 18
20
B) 2 palabras
17
C) 2 palabras
D) Ninguna de las anteriores
Descargar