Unidad Control

Embed Size (px)

Citation preview

  • 7/25/2019 Unidad Control

    1/56

    Departamento de Informtica. Curso 2006-2007 1

    LA UNIDAD DE CONTROL

    LECCIN 1.

    DISEO DE SISTEMAS DIGITALES DECONTROL

  • 7/25/2019 Unidad Control

    2/56

    Departamento de Informtica. Curso 2006-2007 2

    FUNCIONES DE LA UNIDAD DE CONTROL

    Interpretacin de las instrucciones :Lectura y decodificacin de la instruccin.

    Secuenciamiento de las instrucciones :Temporizacin y secuenciamiento de todaslas operaciones necesarias para la correctaejecucin de la instruccin.

  • 7/25/2019 Unidad Control

    3/56

    Departamento de Informtica. Curso 2006-2007 3

    SEALES DE CONTROL

    Llamamosseales de control a un conjuntode variables binarias que gobiernan lasentradas y salidas de informacin de losregistros y el funcionamiento de las demsunidades funcionales.

  • 7/25/2019 Unidad Control

    4/56

    Departamento de Informtica. Curso 2006-2007 4

    TIPOS DE CONTROL

    Control cableado : En este caso la unidad de

    control es un circuito secuencial que est diseadopara llevar a cabo estas funciones. Sus caractersticasfundamentales son: alta velocidad y dificultad deadaptacin a cambios.Control microprogramado : El secuenciamiento delas seales de control se consigue con la ejecucin deun programa especfico para cada instruccin que se

    llama microprograma. Sus caractersticas son : unacierta lentitud y una gran adaptabilidad amodificaciones.

  • 7/25/2019 Unidad Control

    5/56

    Departamento de Informtica. Curso 2006-2007 5

    NIVELES DE ESTUDIO DE UN SISTEMA DIGITAL

    Nivel de puertas lgicas , la unidad de trabajo es

    el bit y suele corresponder a sistemas digitalessencillos.

    Nivel de registros , la unidad de transferencia es lapalabra y considera para su estudio los registros dela mquina y sus interconexiones.

    Nivel de procesador , la unidad de trabajo es elbloque de palabras y considera las distintas unidadesfuncionales como elemento de partida.

  • 7/25/2019 Unidad Control

    6/56

    Departamento de Informtica. Curso 2006-2007 6

    COMPONENTES BSICOS DE UN SISTEMA DIGITAL

    Un conjunto de registros o posiciones de memoria

    R[i] donde estn almacenados los datosUn conjunto de dispositivos lgicos que realizan lasoperaciones de transformacin de datos (p. ej. ALUentre otros)Una interfaz con el exterior que asegura el acceso adatos externosUn conjunto de buses que interconectan los distintoselementosUna unidad de control que permite ejecutar lasoperaciones en el orden establecido por el programa

  • 7/25/2019 Unidad Control

    7/56

    Departamento de Informtica. Curso 2006-2007 7

    DIAGRAMA DE GLUSHKOV

    Unidad de procesamiento que comprendelos registros, los recursos de clculo y loscaminos de datos (ruta de datos )

    Unidad de control que recibe de la unidadde procesamiento seales sobre el estado delas operaciones y genera la secuencia deseales de control que gobiernan a la unidadde procesamiento.

  • 7/25/2019 Unidad Control

    8/56

    Departamento de Informtica. Curso 2006-2007 8

    DIAGRAMA DE GLUSHKOV

  • 7/25/2019 Unidad Control

    9/56

    Departamento de Informtica. Curso 2006-2007 9

    NIVEL DE TRANSFERENCIA DE REGISTROS

    El comportamiento de un sistema digital a nivel de

    transferencia de registros se puede definir medianteun conjunto de operaciones O1 ,O2 , O3 , Onrealizadas sobre diferentes datos externos o internos.

    Cada una de estas operaciones elementales se lleva acabo mediante transferencias entre registros cuyaforma mas general puede ser:

    R[m] f ( R[i], R[j], R[k], )

  • 7/25/2019 Unidad Control

    10/56

    Departamento de Informtica. Curso 2006-2007 10

    LENGUAJE DE TRANSFERENCIA DE REGISTROS

    Sean A y B dos registros, la operacin mas habitual es transferirel contenido de un registro a otro, se expresa as: B A

    En caso de necesitar saber el nmero o posicin de los bitstransferidos se indica de la siguiente manera: B[7-0] A[15-8]

    Normalmente la transferencia est controlada mediante unaseal de habilitacin E (enable), se suele expresar de lasiguiente forma: E : B A

    La seal de habilitacin puede ser mas compleja, por ejemplo:Si x = 0 y t = 1 B AEn otro caso B C

  • 7/25/2019 Unidad Control

    11/56

    Departamento de Informtica. Curso 2006-2007 11

    LENGUAJE DE TRANSFERENCIA DE REGISTROS

    Los registros pueden ser objeto de las operacionesaritmticas y lgicas habituales, as tendremos:

    D A BLSR (A)

    ASR (A) A A + 1

    Otro operador disponible es & (concatenacin) p.ejLSR (A&B)

  • 7/25/2019 Unidad Control

    12/56

    Departamento de Informtica. Curso 2006-2007 12

    LENGUAJE DE TRANSFERENCIA DE REGISTROS

    Las transferencias de datos entre registros y

    memoria se pueden tratar como casosparticulares del caso anterior dondetendremos dos operaciones gobernadas porlas seales de control R (lectura) y W(escritura) y usando los registros MAR y MBRcon la notacin habitual tendremos:

    R: MBR M((MAR))W: M((MAR)) MBR

  • 7/25/2019 Unidad Control

    13/56

    Departamento de Informtica. Curso 2006-2007 13

    LENGUAJE DE TRANSFERENCIA DE REGISTROS

    Por ltimo las transferencias entre buses yregistros se escriben de forma similar:

    A Inbus [8]Outbus [8] A

  • 7/25/2019 Unidad Control

    14/56

    Departamento de Informtica. Curso 2006-2007 14

    DIAGRAMAS ASM

    Para describir el comportamiento de la unidadde control de forma grfica se utilizandiagramas ASM (Algorithmic State Machines)que describe la secuencia de sucesos, as

    como la relacin temporal entre los estadosde la unidad de control y las acciones queocurren en los estados como respuesta a los

    pulsos de reloj.

  • 7/25/2019 Unidad Control

    15/56

    Departamento de Informtica. Curso 2006-2007 15

    COMPONENTES BASICOS DE UN DIAGRAMA ASM

    Bloque de estado : rectngulo que contiene las operaciones detransferencia de registros y seales de salida que se activanmientras la unidad de control est en ese estado.Bloque de decisin: Describe la condicin bajo la que sellevarn a cabo distintas transformaciones en la ruta de datos yse seleccionar el prximo estado

    Bloque de condicin: Describe las asignaciones de variables ysalidas que se llevarn a cabo

    Bloque ASM : Es una estructura compuesta de un bloque deestado y un conjunto de bloques de decisin y de condicininterconectados en serie o en paralelo, tiene una sola entrada ypuede tener varias salidas.

  • 7/25/2019 Unidad Control

    16/56

    Departamento de Informtica. Curso 2006-2007 16

    DIAGRAMAS ASM

  • 7/25/2019 Unidad Control

    17/56

    Departamento de Informtica. Curso 2006-2007 17

    DIAGRAMAS ASM

    Podemos definir un diagrama ASM como unconjunto de bloques ASM interconectados deforma que:Todo camino definido por el conjunto debloques de condicin debe llevarnecesariamente a otro estadoCada diagrama de estado y su conjunto decondiciones debe llevar a un nico estadosiguiente.

  • 7/25/2019 Unidad Control

    18/56

    Departamento de Informtica. Curso 2006-2007 18

    IMPLEMENTACIN DE UN MULTIPLICADOR HARDWARE

    La metodologa que se utiliza tiene una serie

    de pasos comunes y un abanico de solucionesposibles para la implementacin de la unidadde control.

    Definir la tarea a realizar mediante unalgoritmo en lenguaje de transferenciade registrosEn nuestro caso vamos a implementar unmultiplicador con el algoritmo demultiplicacin por suma y desplazamiento

  • 7/25/2019 Unidad Control

    19/56

    Departamento de Informtica. Curso 2006-2007 19

    ALGORITMO DE MULTIPLICACION

    1: B Entrada (multiplicando) ;

    2: MQ Entrada (multiplicador) ;3: A 0 ;4: C 0 ;

    5: P n-1 ;for P:= n-1 downto 0 do6: if MQ[0] = 1 then A A + B , C CF ;

    7: LSR (C&A&MQ);8: P P 1 ;end for

  • 7/25/2019 Unidad Control

    20/56

    Departamento de Informtica. Curso 2006-2007 20

    UNIDAD DE PROCESAMIENTO

    Un registro B de n bits para almacenar el multiplicando, concapacidad de carga en paralelo.Un registro MQ de n bits para almacenar el multiplicador ydespus almacenar los n bits mas bajos del resultado. Necesitacapacidad de carga y desplazamiento a la derechaUn registro A de n bits, inicialmente a cero que despus

    almacenar los n bits de mayor peso del resultado, precisacapacidad de carga (resultado de la suma) y desplazamiento enparaleloUn sumador paralelo de n bitsUn contador P con capacidad de carga en paralelo y dedecrementarse. El tamao debe ser log2 n bits. Y debe tener uncircuito de deteccin de cero.Un elemento de memoria C que pueda ponerse a cero ycargarse con el arrastre CF del sumador.

  • 7/25/2019 Unidad Control

    21/56

    Departamento de Informtica. Curso 2006-2007 21

    DIAGRAMA DE BLOQUES DE LA UNIDAD DE PROCESAMIENTO

  • 7/25/2019 Unidad Control

    22/56

    Departamento de Informtica. Curso 2006-2007 22

    DIAGRAMA ASM DEL MULTIPLICADOR

  • 7/25/2019 Unidad Control

    23/56

    Departamento de Informtica. Curso 2006-2007 23

    DIAGRAMA ASM

    IDLE: Es un estado inicial de espera, del que sale cuando laseal G vale 1 y se inicia la operacin de multiplicacin. Se

    supone que los operandos ya estn cargados en los registros. Alpasar al siguiente estado se asignan los valores que se indicanen el bloque de condicin.

    MUL0: En este estado tenemos un bloque de decisin en el que

    se consulta el bit de menor peso del registro MQ ( Q0 ) y segnel valor que toma se realizan ciertas operaciones y se pasa alsiguiente estado

    MUL1: En este estado se realizan las operaciones dedesplazamiento de los registros C-A-MQ y se decrementa elcontador P. Tiene un bloque de decisin en el que secomprueba el valor de Z, si es cero pasa al estado MUL0 y si es1 pasa al estado IDLE.

  • 7/25/2019 Unidad Control

    24/56

    Departamento de Informtica. Curso 2006-2007 24

    DISEO DE LA UNIDAD DE CONTROL

    Generar las seales de control necesarias

    Establecer el mecanismo de secuenciamiento

    de estas seales

  • 7/25/2019 Unidad Control

    25/56

    Departamento de Informtica. Curso 2006-2007 25

    SEALES DE CONTROL NECESARIAS

  • 7/25/2019 Unidad Control

    26/56

    Departamento de Informtica. Curso 2006-2007 26

    SECUENCIAMIENTO DE LOS ESTADOS

  • 7/25/2019 Unidad Control

    27/56

    Departamento de Informtica. Curso 2006-2007 27

    DISEO DE LA UNIDAD DE CONTROL USANDO UNDECODIFICADOR Y UN REGISTRO DE SECUENCIA

    Un registro de secuencia est formado por nbiestables de tipo D y puede tener hasta 2**nestados, as mismo un decodificador de n entradastiene 2**n salidas, una para cada estado.

    Como tenemos tres estados necesitamos doselementos de memoria (llamados M1 M0 ) ycodificamos cada estado con un nmero ( IDLE = 00; MUL0 = 01 ; MUL1 = 10 )

    Por otra parte tenemos dos entradas de estadoprovenientes de la unidad de procesamiento, G y Z .

  • 7/25/2019 Unidad Control

    28/56

    Departamento de Informtica. Curso 2006-2007 28

    TABLA DE ESTADOS

  • 7/25/2019 Unidad Control

    29/56

    Departamento de Informtica. Curso 2006-2007 29

    ECUACIONES DE LAS ENTRADAS A LOS ELEMENTOS DEMEMORIA

    D0 = IDLE. G + MUL1. Z

    D1 = MUL0

  • 7/25/2019 Unidad Control

    30/56

    Departamento de Informtica. Curso 2006-2007 30

    ESQUEMA DE LA UNIDAD DE CONTROL

  • 7/25/2019 Unidad Control

    31/56

    Departamento de Informtica. Curso 2006-2007 31

    DISEO DE LA UNIDAD DE CONTROL USANDO UNCONTADOR Y UN DECODIFICADOR

    El contador : Es un dispositivo sncrono que

    proporciona una salida Q(t+1) en funcin de losvalores de las lneas de seleccin CL, H, L y de laentrada E(t)

    Si CL = 1 Q(t + 1) = 0Si L = 1 Q(t + 1) = E (t)Si H = 1 y L = 0 Q(t + 1) = (Q(t) + 1) mod 2**nEn cualquier otro caso Q(t + 1) = Q (t)

    La seal H es de habilitacin, la seal L es de carga yCL es de puesta a cero.

  • 7/25/2019 Unidad Control

    32/56

    Departamento de Informtica. Curso 2006-2007 32

    ESQUEMA DEL CONTADOR

  • 7/25/2019 Unidad Control

    33/56

    Departamento de Informtica. Curso 2006-2007 33

    DIAGRAMA DE ESTADOS DE MOORE

  • 7/25/2019 Unidad Control

    34/56

    Departamento de Informtica. Curso 2006-2007 34

    TABLA DE ESTADOS

  • 7/25/2019 Unidad Control

    35/56

    Departamento de Informtica. Curso 2006-2007 35

    ECUACIONES DE LAS ENTRADAS AL CONTADOR

  • 7/25/2019 Unidad Control

    36/56

    Departamento de Informtica. Curso 2006-2007 36

    ESQUEMA DE LA UNIDAD DE CONTROL

    DISEO DE LA UNIDAD DE CONTROL USANDO UN REGISTRO

  • 7/25/2019 Unidad Control

    37/56

    Departamento de Informtica. Curso 2006-2007 37

    DISEO DE LA UNIDAD DE CONTROL USANDO UN REGISTRODE ESTADO Y UNA MEMORIA ROM

    Usando una memoria ROM podemos

    almacenar una tabla en la que tengamos,para todas las combinaciones de los estadosy las seales de condicin, los valores del

    siguiente estado y las seales de control.En nuestro caso como tenemos tres estados ytres seales de condicin, la ROM tendr 32

    filas. Como generamos 4 seales de control,cada fila tendr 6 bits.

  • 7/25/2019 Unidad Control

    38/56

    Departamento de Informtica. Curso 2006-2007 38

    CONTENIDO DE LA ROM

  • 7/25/2019 Unidad Control

    39/56

    Departamento de Informtica. Curso 2006-2007 39

    ESQUEMA DE LA UNIDAD DE CONTROL

  • 7/25/2019 Unidad Control

    40/56

    Departamento de Informtica. Curso 2006-2007 40

    LA UNIDAD DE CONTROL

    LECCIN 2.DISEO DE PROCESADORES USANDOCONTROL CABLEADO

    RUTAS DE DATOS BSICAS BUS UNICO

  • 7/25/2019 Unidad Control

    41/56

    Departamento de Informtica. Curso 2006-2007 41

    RUTAS DE DATOS BSICAS: BUS UNICO

    ORGANIZACIN EN DOBLE BUS

  • 7/25/2019 Unidad Control

    42/56

    Departamento de Informtica. Curso 2006-2007 42

    ORGANIZACIN EN DOBLE BUS

    ORGANIZACIN EN TRIPLE BUS

  • 7/25/2019 Unidad Control

    43/56

    Departamento de Informtica. Curso 2006-2007 43

    ORGANIZACIN EN TRIPLE BUS

    INFLUENCIA DE LA ARQUITECTURA EN LA EJECUCIN DE

  • 7/25/2019 Unidad Control

    44/56

    Departamento de Informtica. Curso 2006-2007 44

    QLAS INSTRUCCIN

    Sea la operacin R 0 R 1 + R 2En bus comn:

    X R 1 Y X + R 2R 0 Y

    Doble bus Y R 1 + R 2R 0 Y

    Triple busR 0 R 1 + R 2

    FASES EN EL DISEO DE UN PROCESADOR

  • 7/25/2019 Unidad Control

    45/56

    Departamento de Informtica. Curso 2006-2007 45

    FASES EN EL DISEO DE UN PROCESADOR

    Podemos distinguir las siguientes fases:

    Diseo del repertorio de instruccionesDescripcin de la ruta de datosDiagrama de flujo del repertorio de

    instruccionesObtencin del diagrama ASMDiseo de la unidad de control

    Diseo de la ruta de datos Verificacin del prototipo

    DISEO DEL CONJUNTO DE INSTRUCCIONES

  • 7/25/2019 Unidad Control

    46/56

    Departamento de Informtica. Curso 2006-2007 46

    DISEO DEL CONJUNTO DE INSTRUCCIONES

    DISEO DEL FORMATO DE LAS INSTRUCCIONES

  • 7/25/2019 Unidad Control

    47/56

    Departamento de Informtica. Curso 2006-2007 47

    DISEO DEL FORMATO DE LAS INSTRUCCIONES

  • 7/25/2019 Unidad Control

    48/56

    ESQUEMA DE LA RUTA DE DATOS

  • 7/25/2019 Unidad Control

    49/56

    Departamento de Informtica. Curso 2006-2007 49

    ESQUEMA DE LA RUTA DE DATOS

    DIAGRAMA ASM

  • 7/25/2019 Unidad Control

    50/56

    Departamento de Informtica. Curso 2006-2007 50

    DIAGRAMA ASM

    DISEO DE LA UNIDAD DE CONTROL

  • 7/25/2019 Unidad Control

    51/56

    Departamento de Informtica. Curso 2006-2007 51

    DISEO DE LA UNIDAD DE CONTROL

    La unidad de control tiene 3 grupos deentradas:IR que contiene el cdigo de operacin y quenecesita de un decodificador para hacer llegarlas seales correspondientes a cadainstruccinReloj que precisa de un generador desubciclosSeales de condicin provenientes de la rutade datos

    ESQUEMA DE LA UNIDAD DE CONTROL

  • 7/25/2019 Unidad Control

    52/56

    Departamento de Informtica. Curso 2006-2007 52

    Q

    SEALES DE CONTROL

  • 7/25/2019 Unidad Control

    53/56

    Departamento de Informtica. Curso 2006-2007 53

    GENERACION DE LAS SEALES DE CONTROL

  • 7/25/2019 Unidad Control

    54/56

    Departamento de Informtica. Curso 2006-2007 54

    DISEO DE LA MATRIZ DE CONTROL

  • 7/25/2019 Unidad Control

    55/56

    Departamento de Informtica. Curso 2006-2007 55

    ECUACIONES LGICAS DE LAS SEALES DE CONTROL

  • 7/25/2019 Unidad Control

    56/56

    Departamento de Informtica. Curso 2006-2007 56

    IPC =3HPC =1CPC =4 BR + 4 BR.INHIR =4 LDA +4 STA +4 BR +4 BR.INCIR =3R = 2 + 5 LDAW =6 STA

    CMAR =1 + 4 LDA +4 STAHMBR =3 + 6 LDACMBR =5 STAHA =4 MAB +5 STACA =6 LDA +4 ADD +4 SUB

    CB =4 MABSUMA =4 ADDRESTA =4 SUBHALU =4 ADD +4 SUB