Вы находитесь на странице: 1из 43

4.

Unidad de control

Contenidos

Estructura de una CPU Comunicacin externa. Reloj Ejecucin de instrucciones. Lenguaje descriptivo Interrupciones y excepciones Diseo de la unidad de control Reset o encendido del sistema.

Fundamentos y estructura de computadores

Estructura de una CPU


Memoria principal
L E

Interfaces de E/S

Buses de Direcciones Datos Control


4 Td Ta

Seales de Control

C1

MAR
T3

MBR

C2 C3

PC
T4

C4 C6 C5 T8

RI

Unidad de control
T7

Seales de interrupcin

Bus Interno

T1

T2

C9

RT1
0 1

C10

RT2 RE
0 1

C7 C8

A RA RB RC SC

B MA

T5

T6

MPX A

MB

MPX B

Banco de registros
E

Cod. Op

ALU
C11

RT3

CPU

Fundamentos y estructura de computadores

Estructura de una CPU


Caractersticas de la CPU:
Computador de 32 bits La memoria se accede por bytes Un ciclo de lectura y escritura Banco de 32 registros R0..R31 Asumir como en el MIPS R0 = 0 y SP = R29 Registros temporales RT1, RT2, RT3 Registros de control y estado: MAR, MBR, PC, RE, RI

Fundamentos y estructura de computadores

Estructura de una CPU


Acceso a buses externos: los registros MAR, MBR permiten a la CPU comunicarse con la memoria y los dispositivos externos
Bus de Direcciones Bus de Datos
Td C1 Ta

C1: Carga de MAR C2: Carga de MBR desde el bus de datos C3: Carga de MBR desde el bus interno T3: Salida MBR al bus interno
C2 Td: Salida de MAR al bus de direcciones C3

MAR T3

MBR

Ta: Salida de MBR al bus de datos

Fundamentos y estructura de computadores

Estructura de una CPU


Contador de programa: es el registro encargado de almacenar la direccin de memoria a la que se est accediendo
4

PC T4 C4 C5

C4: Carga desde el sumador (PC=PC+4) C5: Carga desde el bus T4: Salida al bus interno

Fundamentos y estructura de computadores

Estructura de una CPU


Unidad de control: Encargada de controlar la ejecucin y los procesos internos de la CPU
Seales de Control

RI: Registro de instrucciones, almacena la instruccin a ejecutar C6: Carga el RI desde el bus interno T8: Salida al bus interno del RI para Seales de poder utilizar direccionamientos Seales de control; las que posibilitan el control de la CPU (rojo)

C6 T8

RI

Unidad de control
Indicadores (RE)

interrupcin

Indicadores: provenientes del registro RE. Aportan las condiciones de ejecucin de determinadas instrucciones Seales de interrupcin: seales externas que cambian la secuencia de ejecucin normal del programa
Fundamentos y estructura de computadores

Estructura de una CPU


Banco de registros: 32 registros de 32 bits cada uno. Posee dos salidas diferentes (A y B) que van al bus interno o a la ALU.
T1 T2
A L U

T1: Triestado de la salida A a bus T2: Triestado de la salida B a bus

A RA RB RC SC

RA: Selectores de registro para la salida A


RB: Selectores de registro para la salida B RC: Selectores de registro de entrada (E) SC: Carga de entrada

Banco de registros
E

Fundamentos y estructura de computadores

Estructura de una CPU


ALU: Encargada de realizar las operaciones aritmticas, lgicas y de desplazamiento
C9, C10, temporales
C9
B
A

C11:

Carga

del

registros

RT1
MPX A
0 1

C10

RT2
MPX B
0 1

T5: Triestado de la salida directa al bus


T5 T6 T6: Triestado de la salida del reg. Temporal

MA Cod. Op

MB

3 al bus Cod. Op.: Operacin a realizar en la ALU


Indicadores

ALU
C11

A y B: Desde el banco de registros MA y MB: seleccin de entradas de MPXs Indicadores: Salida hacia el reg. de indicadores (RE)

RT3

Fundamentos y estructura de computadores

Estructura de una CPU


Registro de indicadores:
vnculo entre la ALU y la unidad de control. Almacena las incidencias producidas en la ejecucin de las operaciones. Estas incidencias condicionarn la ejecucin de determinadas instrucciones
Unidad de control
T7
RE

T7: Triestado de la salida al bus


C7 C8

C7: Carga desde el bus interno C8: Carga desde la ALU

ALU

Fundamentos y estructura de computadores

Comunicacin externa. Reloj


Memoria:
La memoria permite almacenar programas y datos. Son necesarias algunas seales para poder tomar y almacenar datos en ella: Memoria principal
L E

L: Lectura de datos E: Escritura de datos B. de datos: por el se reciben los datos a escribir y se envan los datos ledos B. de Direcciones: por el se recibe la localizacin dnde se leer o escribirn los datos B. de Control: conjunto de seales que permiten sincronizar todo el proceso de acceso a memoria.

Bus de direcc Bus de datos

Bus de control

En el tema 5 se estudiar en profundidad la constitucin seleccin y control de la memoria


Fundamentos y estructura de computadores

Comunicacin externa. Reloj


Dispositivos de E/S: permiten a la CPU comunicarse con el exterior.
Dispositivos de E/S
En el tema 6 se estudiar en profundidad la constitucin, seleccin y control de los dispositivos de entrada y salida

Bus de direcc Bus de datos

Bus de control

Fundamentos y estructura de computadores

Comunicacin externa. Reloj


Seal de reloj del sistema:
Es una seal digital, binaria y de frecuencia y ciclo de trabajo constante. Suele generarse en un circuito externo, pero hay CPUs que lo tienen implementado internamente. El flanco activo marca los momentos en que se realizan las transferencias entre registros internos. Sincroniza todo el sistema (interno y externo)

T = T= Periodo. Unidades: s, ms, s, ns) = F = Frecuencia. Unidades: Hz, MHz, GHz


Fundamentos y estructura de computadores

1 F T

Comunicacin externa. Otras seales


Otras seales:
Interrupciones externas. Permiten que la CPU atienda a los dispositivos externos en el momento en que estos lo solicitan. (INTR, INTA, NMI, etc) Control de DMA. Permiten que otros procesadores hagan uso de los buses, memoria y E/S. (DMAR, DMAA, HOLD, etc) Parada de la CPU. Permiten que la CPU detenga su funcionamiento por causas externas (HALT) Reinicio. Permite cargar el contenido de los registros con los valores iniciales e comenzar todo el proceso interno de la CPU. (RESET) Otras muchas dependiendo de cada CPU.

Fundamentos y estructura de computadores

Ejecucin de Instrucciones
Memoria principal
L E

Interfaces de E/S

Buses de Direcciones Datos Control


4 Td Ta

Seales de Control

C1

MAR
T3

MBR

C2 C3

PC
T4

C4 C6 C5 T8

RI

Unidad de control
T7

Seales de interrupcin

Bus Interno

T1

T2

C9

RT1
0 1

C10

RT2 RE
0 1

C7 C8

A RA RB RC SC

B MA

T5

T6

MPX A

MB

MPX B

Banco de registros
E

Cod. Op

ALU
C11

RT3

CPU

Fundamentos y estructura de computadores

Ejecucin de instrucciones
Lenguaje de transferencia de registro
Especifica lo que sucede dentro de la CPU por medio de las transferencias
Operaciones de transferencia MAR PC Operaciones de proceso R1 R2 + RT1

Para que cada operacin se realice hace falta activar una serie de seales de control: MAR PC R1 R2 + RT1
T4, C1 RB = 00010 (R2) MA = 1 MB = 0 Cod Op. = SUMA T5 RC 00001 (R1) SC
Fundamentos y estructura de computadores

Ejecucin de instrucciones
Fases de ejecucin de instrucciones:
Lectura de la Instruccin desde memoria
Leer la instruccin almacenada en la direccin de memoria indicada por PC y llevarla a RI. Incremento del PC

Decodificacin: Anlisis de la instruccin en RI para determinar:


La operacin a realizar. Direccionamiento a aplicar. Seales de control a activar

Ejecucin
Generacin de las seales de control en cada ciclo de reloj.

Fundamentos y estructura de computadores

Ejecucin de instrucciones
Lectura de la instruccin
Se ha de generar una secuencia de seales de control (S1 a S4) que posibiliten buscar el cdigo de instruccin en memoria, su carga en RI y la preparacin de PC para el ciclo de instruccin siguiente:
S1: MAR PC S2: PC PC + 4 S3: MBR MP S4: RI MBR

S1: MAR PC S2: PC PC + 4 | MBR MP S3: RI MBR

S2 y S3 pueden realizarse de forma simultnea, ahorrndose un ciclo de reloj en su ejecucin.


Fundamentos y estructura de computadores

Ejecucin de una instruccin


Bsqueda de una instruccin
Memoria principal
L E

S1: MAR PC Seales: T4, C1

Buses de Direcciones Datos Control


4 Td Ta

Seales de Control

C1
Bus Interno

MAR
T3

MBR

C2 C3

PC

C4 C7 C5 T8

RI

Unidad de control
T7

T4
T1 T2 C9

Seales de interrupcin

RT1
0 1

C10

RT2 RE
0 1

C7 C8

A RA RB RC SC

B MA

T5

T6

MPX A

MB

MPX B

Banco de registros
E

Cod. Op

ALU
C11

RT3

CPU

Fundamentos y estructura de computadores

Ejecucin de una instruccin


Memoria principal
L
E

Bsqueda de una instruccin S2: PC PC + 4 S3: MBR MP Seales: C4 Seales: Td, L, C2

Buses de Direcciones Datos Control


4

Td
C1 MAR
T3

Ta

Seales de Control

MBR

C2
C3

PC T4

C4 C7
C5 T8

RI

Unidad de control
T7

Seales de interrupcin

Bus Interno

T1

T2

C9

RT1
0 1

C10

RT2 RE
0 1

C7 C8

A RA RB RC SC

B MA

T5

T6

MPX A

MB

MPX B

Banco de registros
E

Cod. Op

ALU
C11

RT3

CPU

Fundamentos y estructura de computadores

Ejecucin de una instruccin


Memoria principal
L E

Bsqueda de una instruccin S4: RI MBR Seales: T3, C6

Buses de Direcciones Datos Control


4 Td Ta

Seales de Control

C1 MAR MBR
C2 C3

PC T4

C4 C5

C6
T8

RI

Unidad de control
T7

Bus Interno

T3
T1 T2 C9

Seales de interrupcin

RT1
0 1

C10

RT2 RE
0 1

C7 C8

A RA RB RC SC

B MA

T5

T6

MPX A

MB

MPX B

Banco de registros
E

Cod. Op

ALU
C11

RT3

CPU

Fundamentos y estructura de computadores

Ejecucin de instrucciones
Decodificacin
Se ajusta a un ciclo de reloj que no tiene actividad en las lneas de control ni en traspasos de registros internos de la CPU En este ciclo de permite que la unidad de control realice localice la secuencia de seales de control que den lugar a la ejecucin de la instruccin. Posteriormente se estudiar qu se realiza concretamente en este ciclo

Fundamentos y estructura de computadores

Ejecucin de instrucciones
Ejecucin
Se producir la secuencia de seales de control necesarias para la correcta ejecucin de la instruccin en curso. Siempre que sea posible y lgico, se solaparn las operaciones con los registros, a fin de minimizar el nmero de ciclos necesarios para la ejecucin.

Fundamentos y estructura de computadores

Ejecucin de instrucciones
Ejemplo de todo el ciclo de instruccin: lw $reg, dir
Secuencia de transferencia de registro y seales de control asociadas:
S1: MAR PC S2: PC PC + 4 S2: MBR MP S3: RI MBR S4: Decodificacin S5: MAR RI(dir) S6: MBR MP S7: $Reg MBR T4, C1 C4 Td, L, C2 T3, C6 ------------T8, C1 Td, L, C2 RC ($reg), T3, SC

Fundamentos y estructura de computadores

Ejecucin de instrucciones
Memoria principal
L E

Interfaces de E/S

Buses de Direcciones Datos Control


4 Td Ta

Seales de Control

C1

MAR
T3

MBR

C2 C3

PC
T4

C4 C6 C5 T8

RI

Unidad de control
T7

Seales de interrupcin

Bus Interno

T1

T2

C9

RT1
0 1

C10

RT2 RE
0 1

C7 C8

A RA RB RC SC

B MA

T5

T6

MPX A

MB

MPX B

Banco de registros
E

Cod. Op

ALU
C11

RT3

CPU

Fundamentos y estructura de computadores

Ejecucin de instrucciones
Ejercicio.
Cules son los pasos para realizar este pequeo programa? Sumar los nmeros que hay en dos posiciones de memoria y dejar el resultado en el registro numero 9

Ejecucin de instrucciones
Modos de Ejecucin
En los microprocesadores modernos es normal encontrarnos con modos de ejecucin diferenciados por sus privilegios en la ejecucin de determinadas instrucciones

Modo supervisor o nucleo: tienen todos los privilegios y suele ser el que utiliza el sistema operativo para su funcionamiento. Permite guardar coherencia y robustez en la ejecucin de diversas tareas simultneas. Modo usuario: suele ser el ms restringido. Permite que el modo supervisor vigile el uso adecuado de los recursos del computador.

Fundamentos y estructura de computadores

Interrupciones
Generalidades
Seal que llega a la unidad de control y que rompe la secuencia normal de ejecucin Causas:
Cuando ocurre un error en la ejecucin de la instruccin (divisin por 0, ) Ejecucin de una instruccin ilegal Acceso a una posicin de memoria ilegal Cuando un perifrico solicita la atencin del procesador Modo traza o de prueba.

Cuando se genera una interrupcin se detiene el programa actual y se transfiere la ejecucin a otro programa que atiende la interrupcin (rutina de gestin)
Fundamentos y estructura de computadores

Interrupciones
Clasificacin:
Excepciones hardware sncronas: Divisin por cero, acceso a una posicin de memoria ilegal, Excepciones hardware asncronas: Fallos o errores en el HW Interrupciones externas: Perifricos, modo traza o prueba. Llamadas al sistema: Instrucciones mquina especiales que generan una interrupcin para activar al sistema operativo

Los tipos de interrupciones, lgica y hardware necesario para el proceso de gestin de interrupciones y excepciones, se estudiar en profundidad en el siguiente tema.

Fundamentos y estructura de computadores

Interrupciones
Gestin de interrupciones:
de ejecucin de instrucciones. Se aade una nueva fase a la secuencia

1. 2. 3. 4.

Lectura de la Instruccin desde memoria Decodificacin: Ejecucin Ciclo de reconocimiento de interrupcin: Comprueba se hay activada
alguna seal de interrupcin. (Varias? Prioridad)
Si est activada:
Salva el contador de programa y el registro de estado Pasa de modo usuario a modo ncleo Obtiene la direccin de la rutina de gestin de la interrupcin Almacena en el contador de programa la direccin obtenida (de esta forma la siguiente instruccin ser la de la rutina de tratamiento)

Si no est activada. Se reinicia le ciclo de instruccin con normalidad

Fundamentos y estructura de computadores

Interrupciones
Rutinas de gestin de interrupciones:
Encargada de dar respuesta a la peticin de interrupcin de la secuencia normal del programa.

Forman parte del cdigo del sistema operativo. Qu deben de realizar? Cmo deben programarse?
1. 2. 3. 4. Salvar el resto de registros del procesador Atender la interrupcin ejecutndose la rutina propiamente dicha. Tras terminar de ejecutarse, Restaurar los registros del procesador utilizados por el programa interrumpido Ejecutar una instruccin mquina especial, RETI, que

Restaura el registro de estado del programa interrumpido (fijando de nuevo el modo del procesador a modo usuario) Restaura el contador de programa (de forma que la siguiente instruccin es la del programa interrumpido).

Fundamentos y estructura de computadores

Diseo de una unidad de control


Generalidades.
capaz de :
1. 2. 3. 4. Detectar los diferentes cdigos de instruccin Determinar las condiciones de ejecucin Secuenciar las seales de control necesarias Gestionar los errores e interrupciones que se puedan producir durante la ejecucin.

Se trata de diseo de un circuito sncrono (reloj)

La unidad de control es un autmata finito y por lo tanto es una mquina de estados. Diseo de Moore o Mealy. Se puede disear como un circuito digital convencional (lgica cableada) o mediante un secuenciador de estados (Lgica programada). La ltima opcin es la ms adecuada.

Fundamentos y estructura de computadores

Diseo de una unidad de control


Unidad de control:
- Entradas: Cdigo de operacin Perodo Estado (ocasionalmente) - Salida: Seales de control (especificadas en el cronograma)

El diseo de la unidad de control exige haber definido previamente las seales que hay que activar en cada una de las instrucciones mquina que es capaz de interpretar:
- Cronogramas. - Operaciones elementales. - Lenguaje simblico.

Dos tcnicas de disear y construir una unidad de control:


- Unidad de control en lgica cableada - Unidad de control almacenada (microprogramacin)

Unidad de Control Cableada


Construccin mediante puertas lgicas, siguiendo los mtodos de diseo lgico.

Caractersticas:
o Implementacin en Hardware - Muy rpida (Normalmente usado en computadores RISC) o Laborioso y costoso el diseo y puesta a punto del circuito o Difcil de modificar: rediseo completo.

Ejemplos de unidad cableada No estn asociada a nuestro procesador

UC Almacenada-Microprogramada
Concepto
Emplear una memoria donde almacenar las seales de cada perodo de cada instruccin.

Caractersticas:
o -Fcil modificacin, actualizacin, ampliacin, etc.. Ej.: PSP, IPhone, etc. o - Fcil tener instrucciones complejas EJ.: Rutinas de diagnstico, etc. o - Fcil tener varios juegos de instrucciones Se pueden emular otros computadores. o - Hw simple difcil microcdigo

UC Almacenada-Microprogramada
Se emplea una memoria para almacenar el estado de las seales de control en cada periodo de cada instruccin. Memoria de control o micromemoria: bastar con ir leyendo una a una las posiciones adecuadas de esta memoria para ejecutar una determinada instruccin mquina

A cada palabra se la denomina microinstruccin.

UC Almacenada-Microprogramada
Microinstruccin: cadena de unos y ceros que representan el estado de cada seal de control durante un ciclo de reloj Cada microinstruccin tiene un bit por cada seal de control.

Microprograma: conjunto ordenado de microinstrucciones que representan el cronograma de una instruccin mquina Ejecutar una instruccin de Cdigo Mquina consiste en leer un microprograma Firmware: conjunto de los microprogramas de una mquina (se podra traducir como microcdigo)
El tamao de la memoria de control depender de: el nmero de instrucciones mquina el nmero de ciclos por instruccin del nmero de bits de cada microinstruccin

UC Almacenada-Microprogramada

Fech
Microprogramas

Firmware

Reset

add
bge

1 microprograma -> 1 instruccin en cdigo mquina 1 microprograma -> 1 instruccin especial 1 microprograma -> Varias Microinstrucciones

Memoria de Control

UC Almacenada-Microprogramada
Tres condiciones bsicas:

1) Memoria de control suficiente para almacenar todos los microprogramas correspondientes a todas las instrucciones.
2) Procedimiento para asociar a cada instruccin su microprograma
Procedimiento que convierta el cdigo de operacin de la instruccin en la direccin de la memoria de control donde empieza su microprograma.

3) Mecanismo para ir leyendo las sucesivas microinstrucciones, y para bifurcar a otro microprograma cuando termina el que se est ejecutando. Dos alternativas para 2) y 3): Secuenciamiento explcito Secuenciamiento implcito

UC Almacenada-Microprogramada SECUENCIAMENTOS:
Explcito
Cada microinstruccin proporciona la direccin de la microinstruccin siguiente. Gran cantidad de memoria de control para el secuenciamiento de instrucciones.

implcito
Instrucciones de un microprograma ordenadas consecutivamente en la memoria de control. Necesario: Etapa traductora (ROM o PLA) Registro de microdirecciones e incrementador

Reset o encendido del sistema


Cuando se enciende (Inicializacin en fro) un dispositivo electrnico que tiene registro en su interior, no es posible conocer en que estado se encuentran todo ellos. Si se iniciara directamente la secuencia de ejecucin de instrucciones, lo normal sera encontrarnos con malfuncionamientos. Por ello es necesario que el sistema sea capaz de reconocer las condiciones de encendido y ejecutar una rutina de inicializacin de todos los elementos importantes. Adicionalmente y en cualquier momento, podemos necesitar una una inicializacin de todo el sistema. (Inicializacin en caliente) Para posibilitar la re-inicializacin, los microprocesadores disponen de una entrada especfica denominada RESET. Cuando se activa, se ejecutan las rutinas de inicializacin del sistema.

Fundamentos y estructura de computadores

Reset o encendido del sistema


Ejemplo de circuito:
+5V
Cuando de enciende el sistema, en el nodo A aparece un valor cercano a 0V durante el tiempo suficiente para que la Unidad de control inicie la rutina de inicializacin del sistema

A
P

RESET

GND 5v 0v Te Tr

En cualquier momento es posible accionar el pulsador P, produciendo que le nodo A se coloque a una tensin cercana a 0V el tiempo suficiente para que se ejecute la rutina de inicializacin del sistema

La red RC debe estar diseada para ser inmune al ruido y mantener el tiempo necesario a 0v la seal de RESET.

Fundamentos y estructura de computadores

Reset o encendido del sistema


Proceso de inicializacin del computador
El Reset carga valores predefinidos en registros PC direccin de arranque del programa iniciador (memoria ROM) Se ejecuta el programa iniciador Test del sistema Carga en memoria el programa cargador del sistema operativo PC direccin del programa cargador del sistema operativo Se ejecuta el programa cargador del SO que carga el resto del sistema operativo Se pasa a ejecutar el sistema operativo

Fundamentos y estructura de computadores

Вам также может понравиться