Title: Tema 3: Unidad de Control
1Tema 3Unidad de Control (Antonio J. de
Vicente)
- Operaciones elementales
- Estructura de un computador elemental
- Ejemplo de un computador elemental
- Temporización de las señales de control
- Ejecución de instrucciones
- Diseño de la unidad de control
- Cableada
- Microprogramada
- Nanoprogramación
- Arranque del computador
2BibliografÃa
- General
- Hennessy, John L. y Patterson, David A.
Arquitectura de computadores. Un enfoque
cuantitativo. Mc Graw Hill, 1993 - De Frutos Redondo, J.A. y Rico López, R.
Arquitectura de computadores. S. P. de la
Universidad de Alcalá, 1995 - Stallings, W. Organización y Arquitectura de
Computadores (4ª edición). Prentice Hall, 1.996
- Complementaria
- De Miguel Anasagasti, P. y otros. Problemas de
estructura de computadores. Paraninfo, 1993
3Operaciones elementales (I)
- La unidad de control tiene como función básica la
ejecución de la secuencia siguiente
- Tomar la instrucción apuntada por el contador de
programa de la memoria principal (fase de fetch)
- Decodificar la instrucción leÃda
- Actualizar debidamente el contador de programa
4Operaciones elementales (II)
- La ejecución de cada instrucción requiere
realizar una serie de pequeños pasos mediante
señales de control estos pasos se llaman
operaciones elementales
- Las operaciones elementales que puede realizar
todo sistema computador se clasifican en los
grupos siguientes
- Operaciones de transferencia
- Mover información de un elemento de
almacenamiento a otro
- Operaciones de proceso
- La información origen pasa a través de un
operador
- Todas las operaciones elementales, ya sean de
transferencia o de proceso comienzan en un
elemento de almacenamiento y terminan en otro
5Operaciones elementales (III)Operación elemental
de transferencia
- Operación de transferencia MOV RegB, RegA
- Volcar el contenido del Registro A al Bus de
Datos - Cargar el contenido del Bus de Datos en Registro
B
6Operaciones elementales (IV)Operación elemental
de proceso
- Operación de proceso XOR RC, RA, RB
- Llevar el Registro A a la ALU
- Llevar el Registro B a la ALU
- Escoger la operación XOR
- Cargar el resultado en el Registro C
7Estructura de un computador elemental
- Estudiaremos las señales de control que genera
una Unidad de Control por medio del empleo de una
máquina simplificada que siga la arquitectura de
Von Neumann
8Ejemplo de un computador elemental (I)Memoria
principal (I)
- El bloque de memoria principal constará de los
elementos siguientes
9Ejemplo de un computador elemental (II)Memoria
principal (II)
- Cronograma del ciclo de lectura
reloj
Mem
Ldir
Rd
Wr
Dirección a leer
10Ejemplo de un computador elemental (III)Memoria
principal (III)
- Cronograma del ciclo de escritura
11Ejemplo de un computador elemental (IV) Banco de
registros (I)
- El banco de registros está formado por los
siguientes elementos
12Ejemplo de un computador elemental (V) Banco de
registros (II)
- Lectura del banco de registros. Registros D y E
simultáneamente
13Ejemplo de un computador elemental (VI) Banco de
registros (III)
- Escritura en el banco de registros. Registro D
Reg. D
Dato a escribir
Bus de datos
14Ejemplo de un computador elemental (VII) Unidad
aritmético-lógica (I)
- La unidad aritmético-lógica consta de los
siguientes elementos
15Ejemplo de un computador elemental (VIII) Unidad
aritmético-lógica (II)
- Sumar al contenido de la Salida B del banco de
registros con el B.Dat
X0,X1
Y0,Y1
S0,S3
Lac
Bus de Datos
16Ejemplo de un computador elemental (IX) Unidad
de direccionamiento (I)
17Ejemplo de un computador elemental (X) Unidad de
direccionamiento (II)
Lcp
Tcp
Tcp
18Ejemplo de un computador elemental (XI) Unidad
de control (I)
- La UC genera todas las señales que forman el bus
de control
Consta de los elementos siguientes
19Ejemplo de un computador elemental (XII) Unidad
de control (II)
- Carga en el registro de instrucción del código
máquina de la instrucción
Código máquina Instrucción
Li
Dir. A
Dir. B
Dit
Reset
20Ejemplo de un computador elemental (XIII)
21Ejecución de instrucciones (I)Ejecución de SUB
D, E 1234h (I)
- Instrucción a ejecutar SUB D, E 1234h
D ? D - Memoria ( E 1234h)
- Instrucción aritmética con direccionamiento
directo relativo a registro
22Ejecución de instrucciones (II)Ejecución de SUB
D, E 1234h (II)
Dir. B
Dir. A
Bus de Datos
Bus de Direcciones
Direccionar el contador de programa
- Cargar R. Dir. con el contenido del B.Dir
señales de control
23Ejecución de instrucciones (III)Ejecución de SUB
D, E 1234h (III)
Dir. B
Dir. A
Bus de Datos
Bus de Direcciones
Leer la instrucción de memoria principal
- Inicio ciclo memoria, leer
- Cargar R. Inst. con el contenido del B.Dat
señales de control
24Ejecución de instrucciones (IV)Ejecución de SUB
D, E 1234h (IV)
Dir. B
Dir. A
Bus de Datos
Bus de Direcciones
- La Unidad de Control emplea un ciclo de reloj en
la decodificación de la instrucción leÃda
señales de control
25Ejecución de instrucciones (V)Ejecución de SUB
D, E 1234h (V)
Dir. B
Dir. A
Buffer Bidireccional
Bus de Datos
Bus de Direcciones
Incrementar en uno el CP
- Seleccionar operando (CP) y operar (Inc)
- Cargar Acumulador con el resultado
señales de control
26Ejecución de instrucciones (VI)Ejecución de SUB
D, E 1234h (VI)
Dir. B
Dir. A
Buffer Bidireccional
Bus de Datos
Bus de Direcciones
Cargar el nuevo valor del CP
- Acumulador ? Bus de Datos
- Cargar el CP con el contenido del Bus de Datos
señales de control
27Ejecución de instrucciones (VII)Ejecución de SUB
D, E 1234h (VII)
Dir. B
Dir. A
Bus de Datos
Bus de Direcciones
Calcular la dirección del operando fuente
- UC1234h en B. Datos Reg. E con Dir.A
- Seleccionar operandos y operar (suma)
- Cargar Acumulador con el resultado
señales de control
28Ejecución de instrucciones (VIII)Ejecución de
SUB D, E 1234h (VIII)
Dir. B
Dir. A
Bus de Datos
Bus de Direcciones
Direccionar el operando fuente
- Acumulador ? Bus de direcciones
- Cargar R. Dir. con el contenido del B.Dir
señales de control
29Ejecución de instrucciones (IX)Ejecución de SUB
D, E 1234h (IX)
Dir. B
Dir. A
Bus de Datos
Bus de Direcciones
Leer operando fuente y realizar operación
- Inicio ciclo de memoria y leer
- La UC selecciona Reg. D con Dir.A
- Selecc. Oper., restar, cargar Ac y mod. Flags
señales de control
30Ejecución de instrucciones (X)Ejecución de SUB
D, E 1234h (X)
a la ALU
Dir. B
Dir. A
Buffer Bidireccional
Bus de Datos
Bus de Direcciones
Guardar res. en reg. D y pasar a sig. Ins.
- Cargar Banco de Registros y poner el Contador de
Fases a cero
señales de control
31Temporización de las señales de control
- El comportamiento de un computador es sÃncrono.
Está gobernado por un reloj
- Cada una de las fases de ejecución de una
instrucción se realiza en un número determinado
de periodos de reloj
- Cronograma es el diagrama de las señales que se
activan en cada ciclo de reloj correspondiente a
cada una de las fases de ejecución de la
instrucción
32Cronograma (I)Ejecución de SUB D, E 1234h (I)
D E C O D I F I C A C I Ó N
33Cronograma (II)Ejecución de SUB D, E 1234h
(II)
DT Lcp
34Cronograma (III)Ejecución de SUB D, E 1234h
(III)
AT Ldir
35Cronograma (IV)Ejecución de SUB D, E 1234h
(IV)
ltDir A Dgt DT Lr Reset
36Cronograma (V)Ejecución de SUB D, E 1234h (V)
37Generación de las señales de control
(I)Ejecución de SUB D, E 1234h (I)
Dir. B
Dir. A
Bus de Datos
Bus de Direcciones
señales de control
38Generación de las señales de control
(II)Ejecución de SUB D, E 1234h (II)
Dir. B
Dir. A
Bus de Datos
Bus de Direcciones
señales de control
39Generación de las señales de control
(III)Ejecución de SUB D, E 1234h (III)
D E C O D I F I C A
C I Ó N
Dir. B
Dir. A
Bus de Datos
Bus de Direcciones
señales de control
40Generación de las señales de control
(IV)Ejecución de SUB D, E 1234h (IV)
Dir. B
Dir. A
Buffer Bidireccional
Bus de Datos
Bus de Direcciones
señales de control
41Generación de las señales de control
(V)Ejecución de SUB D, E 1234h (V)
Dir. B
Dir. A
Buffer Bidireccional
Bus de Datos
Bus de Direcciones
señales de control
42Generación de las señales de control
(VI)Ejecución de SUB D, E 1234h (VI)
43Generación de las señales de control
(VII)Ejecución de SUB D, E 1234h (VII)
Dir. B
Dir. A
Bus de Datos
Bus de Direcciones
señales de control
44Generación de las señales de control
(VIII)Ejecución de SUB D, E 1234h (VIII)
45Generación de las señales de control
(IX)Ejecución de SUB D, E 1234h (IX)
46Ideas principales