Académique Documents
Professionnel Documents
Culture Documents
La Unidad de Control
Arquitectura de Computadores
I. T. Informtica de Sistemas
Curso 2009-2010
Transparencia: 2 / 73
ndice
Operaciones elementales Computador elemental Memoria principal Banco de registros Unidad aritmtico-lgica Unidad de direccionamiento Unidad de control Temporizacin de las seales de control Ejecucin de instrucciones Diseo de la Unidad de Control: cableado vs. Microprogramado Microprogramacin y nanoprogramacin: Motorola 68000 Excepciones en el computador Arranque del computador Bibliografa
Arquitectura de Computadores I. T. Informtica de Sistemas
Transparencia: 3 / 73
La unidad de control tiene como funcin bsica la ejecucin la secuencia siguiente: Tomar la instruccin apuntada por el CP de la memoria principal (fase de fetch) Decodificar la instruccin leda Ejecutar la instruccin Actualizar debidamente el CP La ejecucin de una instruccin est gobernada por un contador de periodos, durante los cuales, la UC genera las seales de control necesarias en funcin de la informacin de que dispone en: La propia instruccin El registro de estado Seales de E/S (interrupciones, DMA, reset, etc.)
Arquitectura de Computadores I. T. Informtica de Sistemas
Transparencia: 4 / 73
La ejecucin de cada instruccin requiere realizar una serie de pequeos pasos mediante seales 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 informacin de un elemento a otro
Todas las operaciones elementales, ya sean de transferencia o de proceso comienzan en un elemento de almacenamiento y terminan en otro
Arquitectura de Computadores I. T. Informtica de Sistemas
Transparencia: 5 / 73
Registro A
Registro B
Operacin de transferencia:
Volcar el contenido del Registro A al Bus de Datos Cargar el contenido del Bus de Datos en Registro B
Departamento de Automtica rea de Arquitectura y Tecnologa de Computadores Arquitectura de Computadores I. T. Informtica de Sistemas
Transparencia: 6 / 73
Operacin de proceso: XOR RC, RA, RB Llevar el Registro A a la ALU Llevar el Registro B a la ALU Escoger la operacin XOR Cargar el resultado en el Registro C LC Registro C TC Bus de Datos
Departamento de Automtica rea de Arquitectura y Tecnologa de Computadores Arquitectura de Computadores I. T. Informtica de Sistemas
ALU
SelOp
Transparencia: 7 / 73
Estudiaremos las seales de control que genera una Unidad de Control por medio del empleo de una mquina simplificada que siga la arquitectura de Von Neumann
REGISTROS
CPU
MEMORIA PRINCIPAL PERIFRICO PERIFRICO UNIDAD DE E/S PERIFRICO PERIFRICO CP PERIFRICO
UNIDAD ARITMTICA
UNIDAD DE CONTROL
Transparencia: 8 / 73
El bloque de memoria principal consta: Pastilla/s de memoria RAM Registro de direcciones Buffer bidireccional al bus de datos
Memoria Principal Mem Rd Wr Tmem
Bus de datos Bus de direcciones
Iniciar ciclo de memoria RD Nivel Memory read Ciclo de lectura WR Nivel Memory write Ciclo de escritura Address latch Carga el registro LDIR Flanco de direcciones enable A nivel alto los TMEM Nivel --datos se vuelcan al bus Nivel Memory
Transparencia: 9 / 73
La duracin de la seales RD y WR depende de la memoria, es decir, de sus tiempos de lectura y escritura La duracin de MEM ser la mnima posible, es decir, la correspondiente al periodo bsico de la mquina
seales MEM LDIR RD WR
vuelca contenido al bus Ciclo de lectura tiempo TMEM
Transparencia: 10 / 73
El banco de registros consta de los siguientes elementos: 16 registros de propsito general accesibles al usuario desde el ensamblador o lenguaje mquina 2 puertas de salida que permiten leer 2 registros simultneamente 1 puerta de entrada que permite cargar un registro desde el bus de datos
Dir A a la ALU Dir B Sal A Sal B
LR
Carga el registro indicado por Flanco Load register DIRECCIN A con un dato del bus de datos
Bus de Datos
Transparencia: 11 / 73
La unidad aritmtico-lgica consta de los siguientes elementos: Un operador con 4 seales de control para seleccin de la operacin a realizar 2 multiplexores de 4 entradas y 1 salida, que seleccionan entre los posibles operandos Un registro acumulador que permite almacenar resultados intermedios La salida del registro acumulador, puede transferirse al multiplexor X, al bus de datos o al bus de direcciones, segn indiquen las seales de control
Transparencia: 12 / 73
Selop
X0, X1 Y0, Y1 LAC
Bus de datos Bus de direcciones
Lac
TAC
TALU
Transparencia: 13 / 73
La unidad de direccionamiento se encarga de generar las direcciones de memoria El CP debe actualizarse cada vez que se ejecuta una instruccin, incrementndose segn la direccin de la siguiente instruccin El incremento vendr dado por la informacin disponible en el bus de datos
Seal Activa por Nombre Significado Carga una direccin Load program nueva en el CP LPC Flanco counter desde el bus de datos Transfiere el Data bus contenido del bus TBDAD Nivel transfer de datos al bus de direcciones Transfiere el Program contenido del TCP Nivel counter transfer registro CP al bus de direcciones
Transparencia: 14 / 73
La UC genera todas las seales que forman el bus de control Adems, necesita de: Registro de instrucciones, donde almacena varios bytes de cdigo mquina correspondiente a una instruccin Puerto de salida, que vuelca en el bus de datos los datos inmediatos o desplazamientos que llevan asociados algunas instrucciones Registro de estado, que contiene los flags. Este registro se carga selectivamente con varias seales de control activas por flanco y provenientes de la ALU Registro contador de fases, gobernado por el reloj del sistema y que se puede poner a 0 con la seal RESET Dos buses de 4 bits, que sirven para generar las seales de seleccin de registro
Arquitectura de Computadores I. T. Informtica de Sistemas
Transparencia: 15 / 73
al banco de registros
seales de control
Significado Carga una instruccin desde el bus de datos Transfiere un dato inmediato o un desplazamiento al bus de datos Carga los flags despus de una instruccin aritmtica o lgica Pone a 0 el contador de fases
Transparencia: 16 / 73
Tcp
Dir A Sal A S al B
Me m Rd Wr
Tme m
Transparencia: 17 / 73
Temporalizacin
El comportamiento de un computador es sncrono. Est gobernado por un reloj La ejecucin de una instruccin se divide en: 1. Fase de bsqueda de la instruccin o fase de fetch 2. Decodificar la instruccin 3. Ejecucin de la instruccin y en caso necesario: 3.1 Leer los operandos 3.2 Realizar la operacin 3.3 Almacenar el resultado 3.4 Actualizar el registro de estado Habr que actualizar el CP para que apunte a la instruccin siguiente a ejecutar Cada una de las fases se realiza en un nmero determinado de periodos de reloj
Arquitectura de Computadores I. T. Informtica de Sistemas
Transparencia: 18 / 73
Transparencia: 19 / 73
Leer instruccin
Carga del acumulador Cargar nuevo CP Transferencia al bus de datos Carga del nuevo CP
Transparencia: 20 / 73
Seleccin de operandos y de operacin X0, X1 (salida B), (simultaneamente) Y0, Y1 (salida A), Selop (suma) Carga del acumulador LAC TAC DIR A (registro A) LR LFlags
Guardar resultado: Transferir dato del acumulador Transferencia al bus de datos Cargar registro A Actualizar registro de estado: Poner a 0 el contador de fases: La UC genera direccin del registroA Seal de carga
RESET
10
Transparencia: 21 / 73
Transparencia: 22 / 73
Comentarios y mejoras: La fase de fetch solamente trae 1 byte si el tamao del bus de datos es de 1 byte; en ese caso tendramos que realizar dos accesos a memoria para traer la instruccin entera El periodo 4 se "pierde" en decodificar la instruccin; es parte del tiempo de ejecucin de la instruccin Los periodos 5 y 6 de actualizacin del CP se podran ahorrar con un sumador aparte para la Unidad de direccionamiento Igualmente, la actualizacin de CP llevara un periodo menos si los resultados de la ALU se volcaran directamente al bus de datos o direcciones sin pasar por el acumulador Se puede optimizar el funcionamiento si hacemos que antes de terminar de ejecutar la instruccin se empiece la siguiente fase de fetch Hay que tener cuidado con los posibles conflictos en los buses
Arquitectura de Computadores I. T. Informtica de Sistemas
11
Transparencia: 23 / 73
Registro A
Registro B 15 16
1234h 31
11 12
Transparencia: 24 / 73
OPERACIN ELEMENTAL CP bus de direcciones Cargar registro de direcciones Inicio ciclo de memoria Lectura Buffer de memoria al bus de datos Cargar registro de instrucciones
Leer la instruccin
Decodificacin
12
Transparencia: 25 / 73
OPERACIN ELEMENTAL UC pone en el bus de datos el 4 Seleccin de operandos y operacin de suma Cargar el acumulador
Transparencia: 26 / 73
OPERACIN ELEMENTAL
UC pone 1234h. B.datos UC genera direccin B Seleccin de operandos y operacin Cargar el acumulador
DIT <DIR A = B> <X0, X1 = b.dat> <Y0,Y1 = Sal A> <Selop = suma> LAC
13
Transparencia: 27 / 73
Transparencia: 28 / 73
registro B
registro A
14
Transparencia: 29 / 73
tiempo
Condicin de no salto
Departamento de Automtica rea de Arquitectura y Tecnologa de Computadores
Condicin de salto
Arquitectura de Computadores I. T. Informtica de Sistemas
tiempo
Transparencia: 30 / 73
La UC necesita del cdigo de operacin de la instruccin, el estado del sistema y las seales de E/S, al ritmo del contador de fases La UC es un circuito que genera las seales de control necesarias para ejecutar una instruccin El diseo de la UC se realiza definiendo todas las seales de control en funcin de todas las posibles entradas
INSTRUCCIN
CONTADOR DE FASES
UNIDAD DE CONTROL
SEALES DE CONTROL
ESTADO
E/S
15
Transparencia: 31 / 73
UC cableada (lgica cableada) Mtodo tradicional de diseo lgico Ejemplos: Alpha 21164, 21264, AMD K6, Pentium Computadores con lgica sencilla VENTAJAS: Circuito ms rpido que el de lgica almacenada INCONVENIENTES: Muy laborioso de disear Muy difcil de modificar
UC microprogramada(lgica almacenada) Almacena, en memoria de control, las palabras de control correspondientes a cada periodo de ejecucin de una instruccin Ejemplos: Ordenadores medios i80x86 VENTAJAS: Modificacin del juego de instrucciones Un computador puede admitir varios juegos de instrucciones INCONVENIENTES: Ms lentas
Arquitectura de Computadores I. T. Informtica de Sistemas
Transparencia: 32 / 73
La unidad de control es una mquina secuencial del tipo Moore, en la que las salidas dependen del estado en el que se encuentra y no de las entradas nicamente El nmero de estados depende del nmero de operaciones elementales a realizar, lo que dar el nmero de biestables para realizarlos Inicialmente la unidad de control est en estado de espera y necesita una seal externa para cambiar de estado La implementacin de este circuito puede hacerse mediante: Mtodo de la tabla de estados. El control pasa por una serie de estados que dependiendo de las entradas determinan el estado siguiente y qu seales de control se activan Mtodo de las clulas de retardo. Al diagrama de control de estados se le sustituyen los estados por clulas de retardo Mtodo del contador secuenciador. Se emplea un contador de ciclos que indica las seales a activar dependiendo de la instruccin
Arquitectura de Computadores I. T. Informtica de Sistemas
16
Transparencia: 33 / 73
Diseo de la Unidad de Control (IV) Lgica cableada (II). Mquina Estados (I)
Transparencia: 34 / 73
Diseo de la Unidad de Control (V) Lgica cableada (III). Mquina Estados (II)
Camino de datos anterior en la que se supone un repertorio RISC, siendo las instrucciones del tipo registro-registro. El repertorio de instrucciones ser Instrucciones de memoria:
LD R, Memoria (R Contenido de la Memoria) ST Memoria, R (Contenido de la Memoria R) ADDI / SUBI R1, R2, Inmediato (R1 = R2 +/- Dato inmediato) ADD / SUB R1, R2, R3 (R1 = R2 +/- R3) JZ Direccin de salto (CP CP + Desplazamiento) JMP Direccin de salto )CP Direccin de salto)
Instrucciones de proceso:
Instrucciones de control:
Inmediato, para las instrucciones de proceso Relativo a registro, para las instrucciones de acceso a memoria y la de salto condicional Directo a memoria, para la instruccin de salto incondicional
Arquitectura de Computadores I. T. Informtica de Sistemas
17
Transparencia: 35 / 73
Diseo de la Unidad de Control (VI) Lgica cableada (IV). Mquina Estados (III)
Transparencia: 36 / 73
Diseo de la Unidad de Control (VII) Lgica cableada (V). Mquina Estados (IV)
18
Transparencia: 37 / 73
Diseo de la Unidad de Control (VIII) Lgica cableada (VI). Mquina Estados (V)
4 0 5 0 6 0 7 0
9 0 10 0 11 0
14 0
Si Inmediato Si Registro CP a OP Reg Reg Reg. Dir. CP a Reg. Dir. Reg OP Inm CP a Reg. Dir. 0 al Acumulador al Acumulador 12 CP = CP + 2 CP = CP + 2 15 CP = CP CP 0 Acum a + 2 CP a Reg. Dir. Acum a + 2 CP = CPReg
13 0
Si mem a reg
Si reg a mem
8 0
Al estado 0
Transparencia: 38 / 73
Diseo de la Unidad de Control (IX) Lgica cableada (VII). Mquina Estados (VI)
Hace falta definir a partir del diagrama de estados la funcin de transicin de estados Como son 15 estados harn falta 4 bits para numerarlos Una opcin es usar el nmero del estado en binario, por ejemplo, el estado 0 (0000), el estado 1 (0001), el estado 2 (0010), etc Las ecuaciones del cambio de estado:
19
Transparencia: 39 / 73
Diseo de la Unidad de Control (X) Lgica cableada (VIII). Mquina Estados (VII)
Transparencia: 40 / 73
Diseo de la Unidad de Control (XI) Lgica cableada (IX). Mquina Estados (VIII)
10 0 11 0
Si Inmediato Si Registro CP a OP Reg Reg Reg. Dir. CP a Reg. Dir. Reg OP Inm 0 al Acumulador al Acumulador 12 CP = CP + 2 CP = CP + 2 CP a Reg. Dir. Acum a + 2 CP = CPReg
13 0
Al estado 0
20
Transparencia: 41 / 73
Diseo de la Unidad de Control (XII) Lgica cableada (X). Mquina Estados (IX)
Quedan por definir las seales que se deben generar en cada uno de los estados
Transparencia: 42 / 73
Diseo de la Unidad de Control (XIII) Lgica cableada (XI). Mquina Estados (X)
21
Transparencia: 43 / 73
Diseo de la Unidad de Control (XIV) Lgica cableada (XII). Mquina Estados (XI)
Una vez definida la funcin de transicin de estados, la unidad de control se mueve por dicho diagrama Como se ha visto en varios estados se generan las mismas seales de control Por ejemplo la seal LCP se activa en los estados 1, 9 y 15 y la seal de LAC en los estados 0, 4, 10, 12 y 14 con lo que la ecuacin para estas seales seran:
Transparencia: 44 / 73
Diseo de la Unidad de Control (XV) Lgica cableada (XIII). Mquina Estados (XII)
22
Transparencia: 45 / 73
Diseo de la Unidad de Control (XVI) Lgica cableada (XIV). Mquina Estados (XIII)
Transparencia: 46 / 73
Diseo de la Unidad de Control (XVII) Lgica cableada (XV). Clulas de retardo (I)
El diseo se basa en implementar el diagrama de estados mediante unos elementos que nicamente proporcionan un retardo llamados clulas de retardo Las lneas de control se conectan a las salidas de las clulas de retardo que representan el estado en el que se deben activar La funcin de las clulas de retardo es la de sincronizar el secuenciamiento de las seales de control Una vez realizadas las conexiones se introduce un nico pulso por el circuito El pulso circula por el circuito activando las seales adecuadas en cada momento
Arquitectura de Computadores I. T. Informtica de Sistemas
23
Transparencia: 47 / 73
Diseo de la Unidad de Control (XVIII) Lgica cableada (XVI). Clulas de retardo (II)
Para la misma mquina con el mismo repertorio de instrucciones y la misma mquina de estados, la seal LR se activa en los estados 7, 11 y 13
L cp CP Tcp
0 1 0 2 0 3 0
CP a Reg. Dir. CP = CP + 2 4
Dir A Sal A S al B
Me m Rd Wr
CO = memoria
Tme m
4 0 5 0 6 0 7 0
9 0 10 0 11 0
14 0
Si Inmediato Si Registro CP a OP Reg Reg Reg. Dir. CP a Reg. Dir. Reg OP Inm CP a Reg. Dir. 0 al Acumulador al Acumulador 12 CP = CP + 2 CP = CP + 2 15 CP = CP CP 0 Acum a + 2 CP a Reg. Dir. Acum a + 2 CP = CPReg
13 0
Si mem a reg
s eale s de c ont rol
Si reg a mem
8 0
Al estado 0
Transparencia: 48 / 73
Diseo de la Unidad de Control (XIX) Lgica cableada (XVII). Clulas de retardo (III)
4 0 5 0 6 0 7 0
9 0 10 0 11 0
14 0
Si Inmediato Si Registro CP a Reg. Dir. Clula de CP a Reg. Dir. Clula de CP a Reg. Dir. Clula de 12 CP = CP + 2 0 retardo 12 CP = CP + 2 retardo 10 15 CP = CP + 2 0 retardo 15 CP a Reg. Dir. Clula de CP = CP + 2 retardo 11
13 0
Si mem a reg
Si reg a mem
LR (2)
LR (3)
8 0
LR (1)
24
Transparencia: 49 / 73
Emplea un contador que marca los instantes en que se deben activar las seales La unidad de control debe conocer adems:
Con esa informacin las instrucciones recibirn para ejecutarse las seales apropiadas en el momento preciso
Transparencia: 50 / 73
Diseo de la Unidad de Control (XXI) Lgica cableada (XIX). Contador secuenciador (II)
Secuenicador AMD 2910. Caractersticas Contador de microinstrucciones con autoincremento Micropila de cinco niveles Contador con detector de cero para la realizacin de microbucles Mutiplexor para determinar la direccin de la siguiente microinstruccin Seales para recoger la salida de un comparador de condicin de bifurcacin para producir microbifurcaciones condicionales
25
Transparencia: 51 / 73
Diseo de la Unidad de Control (XXII) Lgica cableada (y XX) Contador secuenciador (III)
Unidad de control del IBM 370 / 45 empleando un secundiador AMD2910
Procesador basado en el secuenciador AMD 2910 Tiene un formato de instruccin de 32 bits Cdigo de operacin es de 8 bits que entra a la ROM de instrucciones
Transparencia: 52 / 73
Un conjunto de microinstrucciones es un microprograma encargado de ejecutar una determinada instruccin El conjunto de microprogramas que ejecutan las instrucciones se llama firmware o micro cdigo Requisitos a tener en cuenta: Limitacin del tamao de la memoria de control a utilizar Establecer una correspondencia entre cada instruccin mquina y su microprograma correspondiente Control del secuenciamiento de las Is
26
Transparencia: 53 / 73
Instruccin
Cada I. incluye la direccin de la siguiente I. El cdigo de operacin apunta a la posicin de memoria en la que se inicia la secuencia de cada microprograma Cada I incluye un bit que indica si es la ltima Ventaja: microprogramas diferentes, pueden utilizar secuencias Is. comunes Inconveniente: Se necesita memoria de control para almacenar la direccin de la siguiente I
C.Op.
MUX
Memoria de control
Transparencia: 54 / 73
Instruccin C.Op.
CP
Todas las Is. correspondientes a un microprograma se encuentran ordenadas secuencialmente Siendo necesario: Un contador de microprograma (CP) que apunte a las sucesivas Is. Una ROM que indique la posicin de la primera I. del microprograma
ROM
MUX
Reg. D
Memoria de control
Seales de control
Secuenciamiento
27
Transparencia: 55 / 73
programacin vertical
Las Is. slo realizan una operacin elemental por periodo Cada uno de los n bits controla directamente cada pieza de hardware, evitando otros niveles de decodificacin Las Is. presentan formatos largos Las Is. son rpidas Se desperdicia memoria
Se reduce el tamao de la memoria de control Las Is. son lentas, ya que necesitan decodificacin
Transparencia: 56 / 73
28
Transparencia: 57 / 73
Las instrucciones de salto condicional tienen dos cronogramas posibles, es decir, poseen dos microprogramas diferentes que se ejecutan dependiendo de la condicin Se necesita un mecanismo de micro salto que seleccione la ejecucin de un microprograma u otro El mecanismo depender del tipo de secuenciamiento utilizado
Transparencia: 58 / 73
Incluir dos direcciones significa agrandar demasiado el formato de la microinstruccin por lo que se hace que difieran en un solo bit El bit en ser: 1 si se cumple la condicin y 0 si no se cumple
Dir.sig.I. Bit de secuenciamiento Seales de control Bit de condicin
B.Datos
B.Dirs.
29
Transparencia: 59 / 73
Instruccin
Para poder elegir entre la secuencia normal u otra I, la direccin de la I debe estar contenida en el campo que comprueba la condicin Solapar el campo de direccin con un campo de funcin excluyente C.F.: Bit de control de funcin
C.Op.
CP
ROM
MUX
Reg. Dir.
Memoria de control
DEMU X
Dir.ss.I.
Transparencia: 60 / 73
Una memoria de control contiene muchas microinstrucciones Si muchas estn repetidas se pueden eliminar mediante la nanoprogramacin, descomponiendo las microinstrucciones de tal manera que en la segunda memoria todas sean distintas A las palabras de control del segundo nivel se les denominan nanoinstrucciones Se pueden agrupar en microrutinas El diseo merece la pena si se cumple que:
30
Transparencia: 61 / 73
Transparencia: 62 / 73
31
Transparencia: 63 / 73
Transparencia: 64 / 73
32
Transparencia: 65 / 73
Transparencia: 66 / 73
33
Transparencia: 67 / 73
Transparencia: 68 / 73
34
Transparencia: 69 / 73
Transparencia: 70 / 73
35
Transparencia: 71 / 73
Excepciones
Las excepciones son eventos inesperados en el procesador de naturaleza asncrona (divisin por cero, error de paridad de memoria, desbordamiento, llamadas al sistema operativo (trap), peticiones de entrada salida, etc.) Las excepciones deben ser detectadas por la Unidad de Control y tratadas correctamente por el sistema operativo Para tratar las interrupciones se debe:
Parar el programa en ejecucin Enviar la causa de la excepcin al sistema operativo Entregar el control al sistema operativo Registro de estado para las excepciones. La Unidad de Control coloca el cdigo de la excepcin en el registro Excepciones vectorizadas. Se asignan diferentes direcciones a cada tipo de excepcin. El Sistema Operativo ejecutar la rutina de tratamiento de la excepcin que encuentre en dicha direccin
Arquitectura de Computadores I. T. Informtica de Sistemas
Transparencia: 72 / 73
Al arrancar el computador los componentes hardware (registros, flags, etc) toman un estado aleatorio y desconocido. Si no se tiene en cuenta este hecho, la mquina empezar a ejecutar un "programa" desconocido a partir de una posicin de memoria tomada al azar La solucin consiste en forzar en el RESET todos los registros a un estado determinado (p. ej. todo a cero) y apuntar el CP a un programa cargador situado en memoria ROM Este programa se encargar de las tareas siguientes: Rutinas de comprobacin del computador Rutinas de configuracin (dispositivos perifricos, puertos asignados, interrupciones, etc) Carga de vectores de interrupcin Carga del sistema operativo Carga de controladores de dispositivos
36
Transparencia: 73 / 73
Bibliografa
Estructura y diseo de computadores David A. Patterson y John L. Hennessy. Revert, 2000 Captulo 5 y Apndice C Estructura y diseo de computadores Jose M Angulo. Paraninfo, 1996 Captulo 5 Arquitectura de computadores. Un enfoque cuantitativo John L. Hennessy y David A. Patterson. Mc Graw Hill, 3 ed, 2002 Captulo 5 Arquitectura de computadores Jos A. de Frutos y Rafael Rico. Servicio de Publicaciones de la Universidad de Alcal, 1995 Captulo 4.
Arquitectura de Computadores I. T. Informtica de Sistemas
37