diseño del procesador diseÑo del procesador · 2011-06-04 · diagrama de flujo del repertorio de...

18
Diseño del procesador Página 1 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 De transferencia De proceso Fases en el ciclo de ejecución de una instrucción Búsqueda Decodificación Búsqueda de los operandos Ejecución Procesadores de 3 direcciones Esquema Formato de la instrucción Cod. Opera. Operan. 1 Operan. 2 Resultado Procesadores de 2 direcciones Esquema Formato de la instrucción Cod. Opera. Operan. 1 y Resultado Operan. 2 Procesadores de 1dirección Esquema Formato de la instrucción Cod. Opera. Operando Tipos de procesadores según el número de direcciones 3 direcciones 2 direcciones 1 dirección 0 direcciones

Upload: phungtu

Post on 25-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 1

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

De transferencia

De proceso

Fases en el ciclo de ejecución de una instrucción

Búsqueda

Decodificación

Búsqueda de los operandos

Ejecución

Procesadores de 3

direcciones

Esquema Formato de la instrucción

Cod. Opera. Operan. 1 Operan. 2 Resultado

Procesadores de 2

direcciones

Esquema Formato de la instrucción

Cod. Opera. Operan. 1 y Resultado Operan. 2

Procesadores de 1dirección

Esquema Formato de la instrucción

Cod. Opera. Operando

Tipos de procesadores

según el número de direcciones

3 direcciones

2 direcciones

1 dirección

0 direcciones

Page 2: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 2

Procesadores de 0

direcciones

Esquema Formato de la instrucción

Código Operación

Procesador sin ALU

Esquema Formato de la instrucción

Procesadores con banco de

registros

Acceso más rápido a la memoria

Menos espacio en memoria

Modos de direccionamiento

Implícito Inmediato

Directo

Relativo

Indirecto

Indexado

Fases en la ejecución de una

instrucción

Búsqueda de la instrucción (Emplea un ciclo de reloj)

Decodificación

Búsqueda de los operandos

Ejecución

JUNIO 2003 RESERVA 3- En un procesador con instrucciones de cero direcciones (procesador con pila), indique si las secuencias de

instrucciones propuestas calculan la expresión X=Y2(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í B) I:sí, II:no C) I:no, II:sí D) I:no, II:no

Page 3: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 3

Fases en el diseño del procesador:

Diseño de un procesador elemental SIMPLE1

Formato de instrucción:

Registros

PC: Como la capacidad del operando 9 bits IR: Reg. Instrucciones anchura del formato de la instrucción 12 bits MAR: Reg. Direcc. Mem. capacidad de direccionamiento 9 bits MBR: Reg. Datos de memoria anchura del formato de la instruc. 12 bits A , B: Registros de trabajo Como la capacidad del operando 9 bits ALU: Suma / resta

Instrucciones:

11 10 9 8 7 6 5 4 3 2 1 0 Cod. Operac. Operando

Page 4: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 4

Diagrama de flujo del repertorio de instrucciones:

Asignación de recursos:

Page 5: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 5

Diagrama ASM del procesador:

Diseño de la unidad de control:

H Habilitar salida de registro a bus C Cargar registro desde bus

Page 6: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 6

Page 7: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 7

Page 8: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 8

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 Operando

MOVE.L #$25 ,D1 ; 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 25 ,D1 ; (25) D1 25 decimal $19

Page 9: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 9

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

Page 10: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 10

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.

Page 11: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 11

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.])

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)

Aspectos

c.) Tareas de la U.C. programada

d.) Elementos de la U.C. programada

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

RDC = Reg. de direcciones de la memoria de controlRMC = Reg. de datos de la memoria de control

Page 12: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 12

c.) Secuenciamiento de las I (microinstrucciones) Se encarga de secuenciar la ejecución de las Is.

Saltos en un secuenciador

Incrementación de la dirección actual

Salto condicional

Tipos de direccionamiento

Explícito = especificado en un campo separado la dirección de salto

Implícito =

Diferencia mediante un campo si se trata de una I de control o de salto.

Instrucciones de control

Instrucciones de salto

Page 13: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 13

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

Formatos de las I

Horizontal (No codificados)

cada bit de la memoria se conecta a un punto físico de la unidad de procesamiento

Vertical (Codificada)

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)

Fases

1.- Búsqueda de la I

2.- Decodificación de los campos de la I

3.- Ejecución de las op

4.- Cálculo de la dir. De la próxima I

Tipos de ejecuciones

Monofásicas las op se pueden ejecutar al mismo tiempo

Polifásicas los campos se utilizan de forma escalonada en el tiempo de ejecución

* Muy importante

Page 14: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 14

Representación de los microprogramas

Representación de los

microprogramas

Nodos ops

Líneas secuencias de la U.C.

Page 15: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 15

Ejemplo:

Diseño de la Unidad de Control de un procesador sencillo con las siguientes especificaciones:

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:

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

Page 16: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 16

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.

Formato de la I:

Dirección de salto 0 1 2 3

Según secuencia del grafo

0rd5 0=0 0rd6 0=1

Page 17: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 17

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). Formato de ejecución 0 1 2 3

Dirección de salto Formato de test 1

Bit diferenciador

8 bits pq la mem es de 256*8

Page 18: Diseño del procesador DISEÑO DEL PROCESADOR · 2011-06-04 · Diagrama de flujo del repertorio de instrucciones: Asignación de recursos: Diseño del procesador Página 5 ... Dirección

Diseño del procesador

Página 18

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:

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?

A) k + n2m. B) k + nm. C) k + n(2m-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:

A) 210

palabras B) 220 palabras C) 217

palabras D) Ninguna de las anteriores

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.