Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está...

34
Estructura de Computadores II 1 Tema 1 Estructuras de interconexión de un computador. En el nivel jerárquico superior, un computador consta de la UCP, la memoria y la unidad de E/S. Se puede describir un computador si se conoce: 1- La estructura externa de cada componente, es decir, los datos y señales de control que intercambia con otros módulos. 2- La estructura de interconexión y las ordenes de control que se necesitan para gestionar su utilización. Componentes de un Computador. La arquitectura Von Newman se fundamenta en tres ideas claves: a- En la memoria del computador se almacenan simultáneamente datos e instrucciones. b- Se puede acceder a la información contenida en la memoria especificando la dirección donde se encuentra almacenada. La memoria no distingue si lo que contiene es un dato o una instrucción. c- La ejecución de un programa se realiza de forma secuencial de una instrucción a la que le sigue, al no ser que se modifique la frecuencia con una ruptura. Con esta filosofía se pueden plantear dos procedimientos de construcción, en primer lugar se puede diseñar un sistema a medida, la alternativa consiste en considerar una configuración de módulos aritméticos y lógicos de propósito general. Los componentes básicos del sistema son: 1- Interprete de instrucciones: Unidad de Control. 2- Módulo de funciones lógicas y aritméticas de propósito general: Unidad Aritmético Lógica. Estas unidades constituyen la Unidad Central de Proceso. Para que el computador pueda funcionar necesita algunos componentes adicionales. La unidad de entrada/salida para la conexión con el exterior; y la unidad de memoria para el almacenamiento de datos. En su modo de funcionamiento normal es la UCP quien tiene el control del computador y opera intercambiando con la memoria. Para ello dispone de 2 registros: • Registro de dirección de memoria: Especifica la próxima dirección de memoria de donde se va a leer o escribir. • Registro de datos en memoria: Contiene el dato a escribir en la memoria o recibe el dato leído. El módulo de E/S también dispone de registros internos análogos. • Registro de dirección de E/S. Especifica un dispositivo particular de E/S Registro de datos de E/S. Se utiliza para el intercambio de datos entre un módulo de E/S y la UCP. Función de un computador. La secuencia de operaciones realizadas en la ejecución de una instrucción constituye lo que se denomina ciclo de instrucción. El punto de vista más sencillo es considerar que el procesamiento del ciclo de instrucción consta de dos pasos: Fase o ciclo de búsqueda. Fase o ciclo de ejecución La ejecución de un programa consiste en la repetición cíclica de las fase de búsqueda y ejecución de las instrucciones, y finaliza mediante una de las siguientes acciones: 1- Se desconecta el computador. 2- Ocurre algún tipo de error irrecuperable. 3- Se ejecuta una instrucción que fuerza su terminación Ciclo de búsqueda y ejecución. En el comienzo de cada ciclo de instrucción la UCP busca en la memoria una instrucción. En la UCP se dispone para ello de un registro llamado contador de programa. La instrucción leída se carga (almacena) en un registro de la UCP llamado registro de instrucción. La UCP interpreta la instrucción y ejecuta la acción indicada. En general la acción será una combinación de las siguientes categorías: UCP - Memoria UCP - Entrada/Salida Procesamiento de datos

Transcript of Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está...

Page 1: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 1

Tema 1 Estructuras de interconexión de un computador.En el nivel jerárquico superior, un computador consta de la UCP, la memoria y la unidad de

E/S. Se puede describir un computador si se conoce:1- La estructura externa de cada componente, es decir, los datos y señales de control que

intercambia con otros módulos.2- La estructura de interconexión y las ordenes de control que se necesitan para gestionar su

utilización.

Componentes de un Computador.La arquitectura Von Newman se fundamenta en tres ideas claves:a- En la memoria del computador se almacenan simultáneamente datos e instrucciones.b- Se puede acceder a la información contenida en la memoria especificando la dirección

donde se encuentra almacenada. La memoria no distingue si lo que contiene es un dato ouna instrucción.

c- La ejecución de un programa se realiza de forma secuencial de una instrucción a la que lesigue, al no ser que se modifique la frecuencia con una ruptura.

Con esta filosofía se pueden plantear dos procedimientos de construcción, en primer lugar sepuede diseñar un sistema a medida, la alternativa consiste en considerar una configuración de módulosaritméticos y lógicos de propósito general. Los componentes básicos del sistema son:

1- Interprete de instrucciones: Unidad de Control.2- Módulo de funciones lógicas y aritméticas de propósito general: Unidad Aritmético Lógica.Estas unidades constituyen la Unidad Central de Proceso.Para que el computador pueda funcionar necesita algunos componentes adicionales. La unidad

de entrada/salida para la conexión con el exterior; y la unidad de memoria para el almacenamiento dedatos.

En su modo de funcionamiento normal es la UCP quien tiene el control del computador y operaintercambiando con la memoria. Para ello dispone de 2 registros:

• Registro de dirección de memoria: Especifica la próxima dirección de memoria dedonde se va a leer o escribir.• Registro de datos en memoria: Contiene el dato a escribir en la memoria o recibe eldato leído.

El módulo de E/S también dispone de registros internos análogos.• Registro de dirección de E/S. Especifica un dispositivo particular de E/S• Registro de datos de E/S. Se utiliza para el intercambio de datos entre un módulo deE/S y la UCP.

Función de un computador.La secuencia de operaciones realizadas en la ejecución de una instrucción constituye lo que se

denomina ciclo de instrucción. El punto de vista más sencillo es considerar que el procesamiento delciclo de instrucción consta de dos pasos:

• Fase o ciclo de búsqueda.• Fase o ciclo de ejecución

La ejecución de un programa consiste en la repetición cíclica de las fase de búsqueda yejecución de las instrucciones, y finaliza mediante una de las siguientes acciones:

1- Se desconecta el computador.2- Ocurre algún tipo de error irrecuperable.3- Se ejecuta una instrucción que fuerza su terminación

Ciclo de búsqueda y ejecución.En el comienzo de cada ciclo de instrucción la UCP busca en la memoria una instrucción. En la

UCP se dispone para ello de un registro llamado contador de programa. La instrucción leída se carga(almacena) en un registro de la UCP llamado registro de instrucción. La UCP interpreta la instrucción yejecuta la acción indicada. En general la acción será una combinación de las siguientes categorías:

UCP - MemoriaUCP - Entrada/SalidaProcesamiento de datos

Page 2: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 2

ControlCiclo de interrupción.Todos los computadores disponen de un mecanismo para que otros módulos puedan interrumpir

a la UCP. El objetivo fundamental de las interrupciones es mejorar el rendimiento de los computadoresdesde el punto de vista de su velocidad de procesamiento.

Para permitir el mecanismo de interrupciones se ha de añadir en el ciclo de instrucción un ciclode interrupción. En este ciclo la UCP comprueba si se ha producido alguna interrupción y en casoafirmativo indica su presencia mediante una señal apropiada. Si no existe ninguna señal de interrupciónque este pendiente de estar atendida, la UCP continúa con el ciclo de búsqueda de la siguienteinstrucción del programa. Si por el contrario la UCP observa activada la señal de interrupción hace losiguiente:

• Guarda el contexto del programa que está ejecutando.• Carga en el contador de programa la dirección de comienzo de un programa encargado degestionar la interrupción.

Las interrupciones no se atienden siempre de forma inmediata. Es posible desactivarlas todas deforma selectiva y posteriormente volverlas a activar.

Función de E/SUn módulo de E/S puede intercambiar datos directamente con la UCP. De la misma forma que

la UCP puede iniciar una operación de lectura o escritura con memoria designando la dirección, la UCPpuede leer o escribir en un módulo de E/S. A veces puede ser deseable que los intercambios de E/Socurran directamente con memoria. En tal caso, la UCP cede al módulo de E/S la capacidad de leer oescribir en memoria, de manera que la transferencia E/S - memoria ocurre sin la intervención de laUCP.

Estructuras de interconexión.

El conjunto de caminos que conectan los diferentes módulos constituye la estructura deinterconexión. El diseño de esta estructura dependerá de los intercambios que se tengan que hacer entrelos módulos. Se han propuesto diferentes estructuras de interconexión para la arquitectura de uncomputador:

E/S a través de la UCP: La UCP y los módulos de E/S comparten la misma vía de acceso amemoria, por lo que la UCP debe parar sus cálculos al tener que controlar todos los intercambios. No esposible el acceso directo a memoria desde los módulos de E/S. Es la forma más económica, pero reduceel rendimiento de la UCP.

E/S a través de memoria: Es posible el acceso directo a memoria principal de dos o máscomponentes de forma independiente. El módulo de memoria contiene la lógica de control necesariapara resolver los conflictos. Se puede realizar transferencias entre la unidad de E/S y la memoriamientras la UCP realiza cálculos. Sus mecanismos de control son complejos y poco flexibles, es difícilañadir módulos adicionales.

E/S mediante conmutador central: Existe un mecanismo de distribución centralizado al cual seunen todos los componentes. El conmutador central controla el acceso a memoria tanto de la UCP comode los módulos de E/S. La UCP queda libre para realizar cálculos. Al mismo tiempo se puede informar ala UCP sobre las actividades que se realizan y proporciona una conexión directa entre la UCP y launidad de E/S. Se adopta en grandes sistemas y su coste es elevado y el conmutador complejo.

Bus de E/S: Un conjunto de líneas que se comparten por todos los módulos. En un instante sóloun módulo puede transmitir de forma satisfactoria, y una o más de las unidades deben encargarse decontrolar la utilización del bus. Es simple y flexible y se ha convertido en estándar.

Interconexión mediante bus.

Page 3: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 3

Un bus es un medio de transmisión compartido. Al bus se conectan múltiples dispositivos, y unaseñal transmitida por cualquiera de ellos puede ser recibida por todas las otras unidades. En undeterminado instante de tiempo sólo es posible la transmisión por parte de un único elementodispositivo.

Estructura de busUn bus es un conjunto de líneas independientes con una función particular. Se pueden clasificar

en tres grupo funcionales:• Líneas de datos.• Líneas de dirección.• Líneas de control.Las líneas de datos forman el bus de datos, cuya anchura es fundamental para determinar el

rendimiento global del sistema. Las líneas de dirección seleccionan la fuente o el destino de lainformación que hay sobre el bus de datos. La anchura del bus de direcciones determina la capacidad dedireccionamiento de la unidad de memoria del sistema. Las líneas de control gobiernan el acceso y eluso de las líneas de datos y dirección. Transmiten tanto órdenes como información de temporizaciónentre los módulos del sistema.

Para que un módulo envíe los datos a otro se debe hacer dos cosas:1- Obtener el uso del bus.2- Transmitir al módulo los datos a través del bus.

Si se quiere pedir datos de otro módulo:1- Obtener el uso del bus.2- Transferir la petición por las líneas de dirección y control.3- Esperar los datos.

Elementos de diseño del bus

Las líneas del bus se agrupan en dos tipos genéricas: dedicadas y no dedicadas. Una línea debus dedicada se asigna de forma permanente a una función o a un subconjunto de componentes delcomputador. Puede ser funcional o física. La dedicación física se refiere al uso de múltiples buses, cadauno se conecta a un subconjunto de módulos. Tiene mayor rendimiento debido a la menor contención delbus, pero aumenta el tamaño y el coste.

En las líneas no dedicadas la información sobre la dirección y los datos se transmite por elmismo conjunto de líneas utilizando una línea de dirección válida. El método de utilizar las mismaslíneas con objetivos diferentes se conoce como multiplexación en el tiempo. Aunque este sistemacomplica la circuitería y reduce el rendimiento del computador.

Dado que se puede dar el caso de que más de un módulo desee el control del bus se requierenmétodos de arbitraje, estos pueden ser centralizados o distribuidos. En un esquema centralizado elcontrolador del bus o árbitro es el responsable de asignar el tiempo de utilización del bus. En unesquema distribuido cada módulo contiene la lógica de control para acceder al bus, actuando de formacooperativa para compartir el recurso.

El objetivo de ambos métodos de arbitraje es designar un dispositivo ( UCP o módulo de E/S )como maestro y otro actúa como esclavo.

La temporización contempla como se coordinan los sucesos sobre el bus. Si es síncrona lossucesos sobre el bus están determinado sobre un reloj. El bus incluye una línea de reloj sobre la que setransmite una secuencia regular.

La temporización asíncrona es más simple de realizar y verificar pero es menos flexible, y elsistema no se beneficia de los avances que se producen en el rendimiento de sus dispositivos. Con latemporización asíncrona pueden compartir el bus una mezcla de dispositivos lentos y rápidos.

Ancho de banda (B): Máxima velocidad de transferencia en bits/seg.Fracción de ancho de banda, cuantifica el grado de ocupación de la velocidad de transferencia

de la memoria cuando se realizan operaciones de E/S con un periférico. Su valor está entre 0 y 1.B periférico / B memoria.

Consideraciones prácticas en la conexión mediante bus.La utilización del bus compartido implica el empleo de circuitos de acoplo con el fin de

garantizar el funcionamiento correcto del bus. Para evitar problemas de Fan Out, antes de conectar una

Page 4: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 4

línea del bus de dirección a través de todos los circuitos de un bloque de memoria se le hace pasar através de una etapa de circuitos denominados “drivers”, que no realizan ninguna función lógica, y suúnica misión es que desde el bus se contemple el bloque de memoria como un único circuito.

Tema 2 Unidad de memoria.

Definiciones y conceptos básicos:

Localización:Es uno de los aspectos más destacable de la memoria de un computador, desde este punto devista se puede clasificar en tres grandes grupos:a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de

alta velocidad que son internos a la UCP, donde se almacenan temporalmente instruccionesy datos.

b. Memoria principal: es relativamente grande y rápida, utilizada para el almacenamiento delos programas y sus datos correspondientes. Se puede acceder a ella mediante instruccionesmáquina.

c. Memoria externa o secundaria: Dispositivos periféricos de almacenamiento accesibles a laUCP a través de controladores de E/S. En los dispositivos externos se distingue entrecontrolador y soporte de la información. El controlador se encarga de dirigir loscomponentes mecánicos y electrónicos del dispositivo, de esta forma se libera a la UCP degran parte de la gestión de E/S. El soporte es el medio físico donde se almacena lainformación.

CapacidadEs la cantidad de información que puede almacenar, se mide en palabras. La capacidad de

memoria de p palabras con n bits cada palabra se representa como n x p bits.

Unidad de transferenciaEn una memoria interna la unidad de transferencia es igual al número de líneas de entrada y

salida al módulo de memoria. Puede coincidir con la longitud de la palabra pero puede no hacerlo.En la memoria principal es el número de bits leídos o escritos en la memoria simultáneamente,

y no tiene porque ser una palabra. Para memorias externas los datos se transfieren en bloques.

Método de accesoa- Acceso aleatorio: Puede accederse a las informaciones en cualquier orden, siendo el tiempo

independiente de la posición donde está localizada la información. (RAM). La unidad dedato es la celda.

b- Acceso secuencial: Se accede a la información almacenada mediante una secuencia lineal.El tiempo de acceso es variable y depende de la posición ( SAM ). Las unidades de datoselementales de una memoria SAM se llaman registros.

c- Acceso directo: Los bloques o registros individuales tienen una dirección única que se basaen su posición física. El acceso se realiza de forma aleatoria para alcanzar el registro dondese encuentra la información, y a continuación se realiza una búsqueda secuencial dentro deél. El tiempo de acceso es variable.

d- Acceso asociativo: Son de acceso aleatorio con la diferencia de que no pregunta por elcontenido de una posición, sino que se pregunta si existe una posición de memoria quecontiene una palabra determinada. Cada posición tiene su propio mecanismo dedireccionamiento y el tiempo de recuperación de información es constante e independientede la localización y configuración del acceso previo.

Tipos físicosa) Memorias de semiconductor : memorias principales.b) Memorias magnéticas: memorias secundarias.c) Memorias ópticas : memorias secundarias.

Page 5: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 5

Características físicas

a) Alterabilidad: Hace referencia a la capacidad de alterar el contenido de una memoria. Si nose puede alterar se denominan ROM. Las memorias que se pueden escribir y leer se conocencomo RWM. Algunas ROM son programables por el usuario PROM, si se borran yprograman EPROM. Si una EPROM se borra eléctricamente EEPROM o por rayosultravioletas UVEPROM .

b) Permanencia de la información:1- Lectura destructiva: (Núcleos de ferrita) DRO, para evitar la destrucción del

contenido hay que grabarlas después de leerlas. Si no son destructivas NDRO.2- Volatilidad :Posible destrucción de la información con un corte de suministro.

Volátiles y no volátiles.3- Almacenamiento estático/dinámico : Una memoria es estática si su información no

varía con el tiempo, en caso contrario la información se pierde con el tiempo y hayque refrescarla, lo que supone una dificultad de diseño, aunque las memoriasdinámicas suelen tener mayor capacidad y menos consumo que las estáticas.

Velocidad: Para medir el rendimiento se utilizan los siguientes parámetros:a) Tiempo de acceso ( TA ). Se define como el tiempo medio necesario para leer/escribir una

cantidad fija de información.b) Tiempo de ciclo de memoria (tc) ; el intervalo de tiempo mínimo entre dos lecturas

consecutivas, puede ser mayor que TA .c) Velocidad de transferencia o frecuencia de acceso ( fA): Es el número de palabras/segundo

que pueden ser accedidas:En el caso de acceso aleatorio : fA = 1/tc

En memorias de acceso no aleatorio: tn = tA + n/pdonde: tn : Tiempo medio en leer/escribir n bits

tA : Tiempo de acceso medio.n : Número de bits.p : Velocidad de transferencia (bits/seg.)

OrganizaciónEs la disposición física de los bits para formar palabras

Jerarquías de memoria.El diseño de la unidad de memoria de un computador se ve afectada por una jerarquía de

componentes que se ve afectada por tres parámetros: capacidad, coste y rapidez. Estos tres parámetrosestán íntimamente ligados

Menor tiempo de acceso à Mayor coste por bitMayor capacidad à Menor coste por bitMayor capacidad à Mayor tiempo de accesoLa solución a este conflicto está en emplear una jerarquía de memorias en lugar de una única

tecnología.

NivelSuperior Registros de

la UCP MemoriaInterna

Memoria Caché Datos a losfA decrece que la UCP

Memoria Principal accede confrecuencia

Discos Magnéticos MemoriaExterna

Cintas Magnéticas

NivelInferior

Page 6: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 6

Cuando se va a los niveles inferiores de la jerarquía ocurre que:a) El coste por bit disminuye.b) La capacidad aumenta.c) El tiempo de acceso aumentad) La frecuencia de acceso a memoria por la UCP disminuye.

Con la utilización de las jerarquías de memoria las memorias rápidas de baja capacidad y altocoste se complementan con las memorias lentas de gran capacidad y bajo coste.

La base de la validez de la condición d, es un principio conocido como localidad de referencia.Las referencias a memoria que realiza la UCP, para acceder a datos e instrucciones suelen estasagrupadas. Por este motivo es posible organizar los datos en los diferentes niveles de memoria, de formaque la frecuencia de acceso sea mucho menor cuanto más bajo se esté en la jerarquía.

El tiempo de acceso medio total (tA) empleado por la UCP para acceder a una palabra se puedeexpresar por la relación:

tA = tA1+ tA2 - Tt A2

100donde:

tA1 es el tiempo de acceso a la memoria de nivel 1tA2 es el tiempo de acceso a la memoria de nivel 2T es el porcentaje de tiempo total en que la palabra a la que desea acceder la UCP seencuentra en la memoria de nivel 1.

Memorias de semiconductor.

Características de un CIM (Circuito Integrado de Memoria ):Un CIM está organizado internamente como una matriz de N x m celdas elementales, en la que

se pueden almacenar N palabras de m bits. A cada palabra almacenada en el CIM se le asigna una únicadirección.

nBus de Direcciones

mSC CIM Bus de Datos

R/W

El número de líneas n del bus de dirección es tal que 2n = N, siendo N el número de palabrasdel CIM. El número de líneas m del bus de datos se corresponden con la longitud de la palabra.

Estructura de la celda básica de memoria:

Selección

SalidaEntrada

S Q

R Q

Escritura

Selección Escritura Contenido Salida

Page 7: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 7

0 X Contenido 0

1 0 Contenido Contenido

1 1 Entrada Entrada

El elemento básico de un CIM es la celda de memoria que permite almacenar un bit deinformación. Aunque de diferentes tecnologías, todas las celdas de memoria de tipo semiconductorcomparten ciertas propiedades:

• Presentan dos estados estables ( o semiestables)• Se pueden escribir (al menos una vez ) para fijar su estado• Se pueden leer para conocer su estado

Organización interna:Cada CIM contiene una matriz de celdas de memoria su estructura interna suele ser de dos

tipos:

n Organización 2D ( por palabras o lineal )Es el método más simple, aunque su coste es más elevado. El módulo de memoria se compone

de una matriz de celdas básicas. Para una memoria de 2n palabras de m bits la matriz está formada por2n filas y m columnas. Además el módulo requiere un decodificador de n entradas y 2n salidas y paraformar la salida m puertas OR de 2n entradas cada una.

Dirección n 2n Matriz deceldas

(2n x m celdas)

SelecciónCS

Control

R/Wm m

Dato de Dato deEntrada Salida

Es una organización rápida ya que el único retardo que presenta es el asociado con los circuitosde decodificación y con el acceso a los elementos físicos de almacenamiento. Como normalmente elnúmero de palabras es mayor que el número de bits por palabra, la organización 2D da lugar a matricesde celdas excesivamente largas y estrechas que no son adecuadas para su realización en un circuitointegrado.

n Organización 2 ½ D (Coincidencia):Utiliza un decodificador por coincidencia, en vez de usar un único decodificador con n entradas

y 2n salidas, usa dos decodificadores con n/2 entradas y 2n/2 salidas en cada uno de ellos, uno seleccionael eje X y el otro el eje Y. De esta manera se construyen matrices más cuadradas. Además requiere,menos puertas y con menor número de entradas por puerta. Utiliza una celda memoria más compleja yaque incluye una puerta AND para la selección por coincidencia.

Para seleccionar el bit de una palabra, la dirección de la palabra de divide en dos mitades. Laprimera parte de la dirección se introduce al decodificador Y, que selecciona la fila. El resto va aldecodificador X conectado a las columnas.

Page 8: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 8

Diseño de bloques de memoriaLa ampliación de componentes es una característica fundamental en el diseño y en el caso de la

memorias de semiconductor tiene dos objetivos:a) Incrementar el tamaño de las palabras (número de bits / palabra ).b) Incrementar el número de palabras de la memoria.Para el primer objetivo basta con interconectar un número determinado de módulos de

memoria.Incrementar el número de palabras supone aumentar la capacidad de direccionamiento, es decir

incrementar el número de bits del bus de dirección, lo que requiere el uso de un decodificador adicional

Conexión de la unidad de memoria al bus del sistemaSe realiza mediante el esquema de drivers, esta conexión es diferente según el tipo de línea del

bus de que se trate. El bus de dirección y de control son unidireccionales. El bus de datos esbidireccional. Se pueden distinguir dos situaciones, según que el bloque de memoria disponga de entraday salida de datos separada o las tenga en común sobre una sola línea bidireccional.

Estructura y direccionamiento de la unidad de memoria.En el diseño de la unidad de memoria principal se utiliza un bloque básico, que se dispone en

una placa de circuito impreso y se repite tantas veces como sea necesario. Este enfoque tiene comoventajas en el diseño global de la memoria:

a) Abaratamiento de los costes.b) Modularidad y posibilidad de ampliación.c) Facilidad de mantenimiento y preparación.Con este sistema se deberán realizar un pequeño circuito lógico de selección de placa, por lo

que éstas no serían idénticas, por este motivo se utiliza un circuito de comparación con conmutadoresque permiten personalizar cada una de las placas.

Memoria caché.En todos los ciclos de instrucción la UCP accede a memoria al menos una vez para buscar la

instrucción y frecuentemente realiza múltiples accesos para leer los operandos o almacenar losresultados. La velocidad con que la UCP ejecuta instrucciones está limitada por el tiempo de ciclo dememoria. Se conoce como tiempo de ciclo del procesador al tiempo que la UCP necesita para realizaruna de sus operaciones básicas.

Para solucionar el compromiso entre velocidad, coste y capacidad se coloca una memoriapequeña y rápida entre la UCP y la memoria principal, la memoria caché.

La memoria caché almacena una copia de ciertas partes de la memoria principal. Cuando laUCP intenta leer una palabra en primer lugar comprueba si está en la caché. Si está, se lee, si no está, setransfiere a la memoria caché un bloque de la memoria principal, con un determinado número depalabras.

La memoria principal consta de 2n palabras y cada palabra se puede referenciar mediante unadirección única de n bits. Para realizar la transformación entre la memoria principal y la caché, seconsidera que la memoria principal está constituida por una serie de bloques de longitud fija de kpalabras/bloque, es decir, hay M = 2n/ k bloques. La memoria caché contiene C particiones de kpalabras ( C << M).

En cualquier instante de tiempo un determinado subconjunto de los bloques de memoriaprincipal reside en las particiones de la memoria caché. Si se desea leer una palabra de un bloque queestá en la memoria principal automáticamente este bloque se transfiere a una de las particiones de lamemoria caché. Cada partición incluye una marca o etiqueta que identifica al bloque de memoriaprincipal que está conteniendo en ese momento, normalmente la etiqueta es parte de la dirección de lamemoria principal.

El rendimiento de una memoria caché se mide en una cantidad llamada tasa de acierto, que esla razón entre el número de aciertos y el número total de referencias a memoria de la UCP.

Tasa de acierto = Acierto/( Acierto + Fallo)

Capacidad de la caché:El tamaño de la caché plantea el compromiso de ser pequeña para disminuir el coste medio por

bit almacenado en la memoria interna (caché + principal), por otro lado debe ser grande como para quetenga una tasa de acierto elevada.

Page 9: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 9

Función de correspondenciaLa función de correspondencia es la que asigna a los bloques de la memoria principal

posiciones definidas en la memoria caché.n Correspondencia directa.Cada bloque de memoria principal se transforma en una única partición de la memoria caché.

La función de transformación es :S = Número de partición asignado en memoria

cachéS = A módulo C A = Número de bloque de la memoria principal.

C = Número de particiones que tiene la caché.

La función de transformación se realiza utilizando los bits de dirección. Los menossignificativos sirven para localizar una palabra dentro de un bloque de la memoria principal. Los nrestantes especifican uno de los bloques ( 2n = A) de la memoria principal. La lógica de la memoriacaché interpreta la parte más significativa como etiqueta y los otros identifican una partición dentro dela memoria caché.

La técnica de correspondencia directa es simple y poco costosa. Su desventaja es que cualquierbloque dado tiene asignada una posición fija en la caché. Si un programa efectúa repetidas referencias apalabras de dos bloques diferentes que se transforman en la misma partición, estos bloques se estaránmoviendo continuamente entre la memoria principal y la caché, con perdida de rendimiento del sistema.

Formato de instrucción

Etiqueta Partición Palabra

n Correspondencia totalmente asociativaPermite que se cargue un bloque de memoria principal en cualquier partición de la memoria

caché, a condición que se almacene con él los n bits de su campo etiqueta. Para determinar si un bloqueestá ya en memoria caché es preciso que ésta incorpore la lógica necesaria que le permita examinarsimultáneamente todas las particiones y ver si el campo elegido del bloque coincide con alguna de lasetiquetas de las particiones almacenadas.

Este sistema permite decidir cual es el bloque que será sustituido en la caché por el nuevobloque leído en memoria principal. Su principal desventaja es la necesidad de una circuitería complejapara examinar en paralelo los campos de etiqueta de todas las particiones de la memoria caché.

Formato de instrucción

Etiqueta Palabra

n Correspondencia asociativa por conjuntos.Intenta juntar las ventajas de los dos métodos anteriores. La memoria caché ( de capacidad C

)se divide en I conjuntos, cada uno con J particiones

C = I x JK = A módulo I K = nº de conjunto de la memoria caché

Con este algoritmo, el bloque que contiene la dirección A se puede almacenar en una particióncualquiera del conjunto I. al igual que en la correspondencia directa, la dirección de la memoriaprincipal se interpreta como tres campos. Las dos técnicas anteriores son casos particulares:

a- I = C ; J = 1 à Correspondencia directab- I = 1 ; J = C à Correspondencia totalmente asociativa.

La utilización de I =C/2 , J = 2 ( 2 particiones por conjunto), es la organización más usual, también seemplea I =C/4 , J =4 ( 4 particiones por conjunto ), a partir de este valor, el beneficio marginal que seobtiene al aumentar el número de particiones por conjunto no compensa el coste que supone.

Formato de instrucción

Etiqueta Conjunto Palabra

Page 10: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 10

Algoritmos de reemplazamiento:La sustitución de un bloque por otro en el caso de la correspondencia directa, la partición está

determinada y no se puede realizar ninguna elección. Sin embargo, en las técnicas de tipo asociativo esnecesario un algoritmo de reemplazamiento. Para lograr tasas de transferencia elevadas, estos algoritmosdeben realizarse por hardware. Los algoritmos principales son:

a- Partición más antigua en la memoria caché sin ser referenciada (LRU).b- Partición más antigua en la memoria caché (FIFO).c- Partición utilizada menos frecuentemente. (LFU).d- Partición elegida de forma aleatoria.

Estrategia de escritura.Para reemplazar un bloque residente en la memoria caché, se debe tener en cuenta si ha sido

modificado y se debe actualizar la memoria principal. En general se plantean dos problemas:

a- Más de un dispositivo tiene acceso a la memoria principal. Si la palabra ha sido modificadaen la memoria caché el dato de la memoria principal no es válido, si por el contrario ha sidomodificado en memoria principal el dato de la caché no es válido.

b- Se conectan varias UPC’s a un bus y cada una tiene su propia memoria caché local.

La técnica más simple se denomina escritura directa y consiste en efectuar todas las operacionesde escritura tanto en memoria principal como en memoria caché, lo que asegura la validez delcontenido. Su desventaja es que genera un tráfico elevado con la memoria y puede crear un cuello debotella.

Otra técnica es la de realizar actuaciones sólo en la memoria caché, método que se conoce comopostescritura. Cuando se produce una modificación se pone a “1” un bit de actualización asociado concada partición de la memoria caché. Si se reemplaza un bloque se reescribe la memoria principal si ysólo si el bit de actualización está a “1”. El problema es saber que partes de la memoria principal ya noson válidas, para evitarlo los accesos de los módulos de E/S se permiten únicamente a través de la caché.

En una organización de bus en la que más de un dispositivo que tienen una memoria cachéasociada y se comparte la memoria principal aparece un nuevo problema. Si se modifica una palabrea dela memoria caché se invalida, además de la palabra en memoria principal, la misma palabra en otrasmemorias caché, en el caso de que la contengan. Incluso con la estrategia de escritura directa lasmemorias caché pueden tener datos inválidos. Un sistema que evita este problema se dice que mantienela coherencia de la memoria caché.

Tamaño del bloqueCuando se transfiere un bloque de la memoria principal a la memoria caché, con la palabra

deseada se mueve un conjunto de palabras adyacentes. Cuando se aumenta el tamaño del bloque seaumenta la tasa de acierto por el principio de localidad; sin embargo, a partir de un tamañodeterminado, la tasa de acierto disminuye debido a que la probabilidad de utilizar la información delbloque se hace menor que la probabilidad de rehusar la información a reemplazar y con ello aparecendos efectos específicos:

1- Cuando mayor sea el tamaño de los bloques, menor será el número de estos que es posibletener en memoria caché. Si el número de bloques es pequeño aumenta la frecuencia deutilización del algoritmo de reemplazo de bloques.

2- Cuando crece el tamaño de un bloque, cada nueva palabra añadida a ese bloque estará amayor distancia de la palabra requerida por la UCP, y por lo tanto es menos probable quesea necesitada a corto plazo.

Memorias asociativas

Estructura de una memoria asociativa:

Page 11: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 11

Consiste en una matriz de celdas de memoria, con su lógica asociada, organizada en n palabrascon m bits/palabra. El registro argumento A y el registro de máscara k tienen m bits cada uno y elregistro de marca M consta de n bits.

Cada palabra de la memoria se compara en paralelo con el contenido del registro argumento, yse pone a “1” el bit del registro de marca asociado a aquellas palabras cuyo contenido coincide con el delregistro argumento. El proceso de lectura se realiza mediante un acceso secuencial a las palabras dememoria cuyos bits en el registro de marca están a “1”.

Registro Argumento (A)

Registro Máscara (K)

EntradaMatriz de celdas

Leer de Memoria Asociativa Registro den palabras x m bits Marca (M)

Escribir

SalidaEl registro de máscara proporciona la clave para seleccionar la parte que se desee en la palabra

argumento.

La celda básica de memoria asociativa está formada por un elemento de memoria Q y lacircuitería adecuada para hacer las funciones siguientes:

a- Leer el bit almacenado en la celda durante una operación de lectura.b- Transferir al elemento de memoria el bit que tiene la celda en su entrada durante una

operación de escritura.c- Comparar el contenido de la celda con el correspondiente bit sin enmascarar del registro

argumento y proporcionar una salida para la lógica de decisión que actualiza el bit de marca(M).

Determinación de la función lógica del registro de máscara.M es ‘1’ si se produce coincidencia y ‘0’ en caso contrario. Si el registro de máscara contienesólo ceros, la salida de M valdrá ‘1’ independientemente del valor de A o de la palabra que hayen memoria por lo que es una situación que debe evitarse.

Operación de lectura.Si hay más de una palabra de memoria que concuerda con los bits sin enmascarar del registro

A, todas ellas tendrán un ‘1’en su posición del registro de marca. Para la operación de lectura esnecesario examinar uno a uno los bits del registro de marca. Si Mi = 1 se aplica una señal de lectura a lapalabra correspondiente. En la mayoría de aplicaciones la memoria asociativa almacena una tabla queno tiene, para una máscara dada, dos filas idénticas. En este caso, solamente puede coincidir una palabracon los bits sin enmascarar del registro A. Si se conecta la salida de Mi directamente a la línea de lectura

Page 12: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 12

de la palabra correspondiente, en lugar de conectarse al registro M, se presenta de forma automática elcontenido de la palabra que coincide y no se necesita señal de lectura

Operación de escrituraUna memoria asociativa debe de poder almacenar la información que se desee. Dependiendo de

la aplicación, la escritura en este tipo de memoria puede adoptar diferentes formas. Si antes de lasoperaciones de búsqueda se carga la memoria con nueva información, su escritura se puede realizardireccionando secuencialmente cada posición, lo que la convierte en una memoria de acceso aleatoriopara su escritura y direccionable por contenido para su lectura. Tiene como ventaja que la dirección parala entrada se puede decodificar como si fuese una memoria de acceso aleatorio, y en lugar de tener unbus de dirección de n líneas se puede reducir con un Decodificador a p líneas, donde n=2p.

Si se tienen que borrar las palabras que no se necesitan e insertar nuevas palabras una a una, esnecesario un registro especial, llamado registro etiqueta, que distingue las palabras activas de lasinactivas, tendrá tantos bits como palabras la memoria.

Memorias compartidas.

En los sistemas en que diferentes elementos tienen acceso a una misma unidad de memoria launidad básica es el árbitro, que es el elemento encargado de permitir el acceso a la unidad de memoria acada uno de los procesadores que solicitan dicho recurso. El problema que se plantea es establecer laestrategia de asignación de prioridades a la petición de servicios de los distintos elementos. Losprocedimientos más utilizados son:

n Asignación de la menor prioridad al elemento servido: Para cualquier estado presente, latransición al próximo estado se obtiene asignando la menor prioridad al elemento servido.Con esta estrategia la complejidad del árbitro aumenta factorialmente con el número deprocesadores a servir.

n Rotación de prioridades: Intenta reducir el número de estados del árbitro y en consecuenciasimplificar su diseño. El próximo estado se calcula rotando el orden de prioridades actualhasta que el procesador al que acaba de dar servicio tiene la menor prioridad. El número deestados del árbitro coincide con el número de elementos a servir.

Memorias tipo pila

Devuelven la información de modo inverso al de su almacenamiento, y se caracterizan porquesólo se puede leer el último dato almacenado en ellas, que se encuentra en la cumbre de la pila. (LIFO)

Hay dos formas básicas de realizar una memoria de pila:

A- Mediante un conjunto de registros.B- Mediante un conjunto de palabras de memoria principal. Para ello el procesador dispone de

un registro especial, SP, puntero de pila; y del repertorio de instrucciones para su manejo.

Pila realizada como un Pila formada por una zonaconjunto de registros de memoria principal

Utiliza la memoria principalVentajas Velocidad alta Bajo coste

Gran capacidad

Hardware propio en la UCPDesventajas Alto coste Velocidad baja

Capacidad limitada

A veces se dan realizaciones mixtas, las primeras posiciones de la pila están soportadas por unconjunto de registros y el resto sobre memoria principal.

Page 13: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 13

Las memorias tipo pila tienen como principales aplicaciones:• Salto a subrutinas• Tratamiento de interrupciones• Compilación de expresiones aritméticas.

Tema 3 Unidad de Entrada Salida

La unidad de E/S proporciona un método de comunicación eficaz entre el sistema central y elusuario. La E/S se puede ver como un conjunto de controladores; cada controlador se conecta al bus delsistema o a un conmutador centralizado y supervisa a uno o más dispositivos periféricos. Un controladorde E/S dispone de la lógica necesaria para realizar una función de comunicación entre los periféricos delcomputador y el bus.

Los motivos por los que no se conectan los periféricos al bus directamente son:a- La gran variedad de tipos y métodos de operación, por lo que no es práctico incorporar

dentro de la UCP la lógica que se necesita para controlar un conjunto tan amplio dedispositivos.

b- La velocidad de transferencia de datos de los periféricos suelen ser menor que la de lamemoria con la UCP.

c- Los periféricos utilizan formatos y longitudes de palabra distintas a las del computador.

Estas razones justifican la existencia de los controladores de E/S, que tiene dos grandesfunciones

• Comunicarse con la UCP y la memoria a través del bus del sistema.• Comunicarse con uno o varios dispositivos periféricos mediante enlaces de datos adaptados

a cada periférico.

Dispositivos externos

Un dispositivo externo se conecta al computador a través de un enlace con un controlador deE/S. El enlace se utiliza para intercambiar datos e información, sobre su control y estado, entre elcontrolador de E/S y el dispositivo externo.

Los periféricos pueden clasificarse en tres categorías:• Adaptados al usuario.• Adaptados a la máquina.• De comunicación.Lo dispositivos externos adaptados a la máquina pueden ser unidades de cinta y disco. Esto es

debido a que desde el punto de vista funcional pertenecen a la jerarquía de memorias, peroestructuralmente están supervisados por un controlador de E/S.

La comunicación con el controlador de E/S se efectúa mediante señales de datos, control y deestado del dispositivo. Los datos están constituidos por un conjunto de bit que se envían o reciben desdeel controlador de E/S. Las señales de control determinan la función que realiza el dispositivo. La lógicade controla asociada con el periférico gobierna su funcionamiento en respuesta a las ordenes enviadaspor el controlador de E/S. En una operación de salida los transductores convierten las señales eléctricasen otras formas de energía y a la inversa. Normalmente el transductor lleva asociado un registro quealmacena temporalmente el dato que se transfiere entre el controlador de E/S y el mundo exterior.

Page 14: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 14

Controlador de E/S

Es el módulo del computador responsable del control de uno o más dispositivos externos y delintercambio de datos entre dichos periféricos con la memoria principal o con los registros de la UCP.

Funciones del controlador de E/SEn cualquier instante de tiempo la UCP se puede comunicar con uno o más dispositivos

externos de manera no prefijada, dependiendo de las necesidades de E/S del programa que se estéejecutando. Por ello los recursos internos del computador deben de compartirse, la función de E/Srequiere un mecanismo de control y temporización que coordine el intercambio de información entre losrecursos internos y los externos.

Si el sistema emplea un solo bus, cada una de las interacciones entre la UCP y el controlador deE/S implica uno o más arbitrajes para conseguir el acceso al bus. La comunicación del controlador conla UCP requiere:

a- Decodificación de la ordenb- Intercambio de datosc- Información del estadod- Reconocimiento de la dirección.

El controlador de E/S realiza también la comunicación con el dispositivo, lo que comprendeordenes, información del estado del dispositivo y datos. Una tarea esencial de un controlador de E/S es elalmacenamiento temporal de los datos, debido a las diferentes velocidades de transferencia que tienenlos diferentes dispositivos. Este almacenamiento sirve para adecuar las diferentes velocidades entre lainterfaz interna con el computador y la interfaz externa. El controlador de E/S es responsable de ladetección de errores, y de informar a la UCP cuando ocurren.

Estructura del controlador de E/S:Los controladores de E/S varían considerablemente en complejidad y en el número de

dispositivos externos que pueden controlar. El controlador de E/S se conecta con el resto del computadora través del bus del sistema. Al conjunto de registros que almacenan datos y estados se les denominagenéricamente puertos. El controlador debe de reconocer y generar las direcciones asociadas con losdispositivos que controla.

Estructura del sistema de E/S

Hay tres maneras de utilizar el bus para interconectar la UCP con la memoria y la unidad deE/S:

1- Utilizar dos buses independientes, uno para memoria y otro para el sistema de E/S.2- Bus común para memoria y sistema de E/S, con líneas de control independientes.3- Bus único, con líneas de control comunes.

E/S controlada por programa.

Cuando se emplea E/S controlada por programa el computador adapta su velocidad de trabajo ala del periférico. Si la UCP está ejecutando un programa y encuentra una instrucción de E/S, envía unaorden al controlador E/S adecuado, el cual realiza la acción pedida y modifica el contenido de su registrode estado (RE) y no efectúa ninguna acción más para comunicárselo a la UCP. Es responsabilidad de laUCP comprobar periódicamente el estado del controlador de E/S, hasta que detecta el final de laoperación.

Ordenes de E/SPara ejecutar una instrucción de E/S, la UCP envía una orden de E/S y una dirección que

especifica el controlador y el periférico en particular. La UCP puede enviar cuatro tipo de ordenes: decontrol, de comprobación, de lectura y de escritura.

Mientras se realiza una operación después de la transferencia de un dato, el computadorpermanece en un bucle de espera hasta que el periférico esté preparado para realizar la siguientetransferencia, es decir, el procesador no realiza ningún trabajo útil mientras está en el bucle de espera.

Page 15: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 15

Instrucciones de E/S.En la E/S controlada por programa, hay una correspondencia muy estrecha entre las

instrucciones de E/S que la UCP recibe de memoria y las ordenes de E/S que la UCP envía alcontrolador de E/S para su ejecución. Las instrucciones se transforman fácilmente en órdenes de E/S, y amenudo hay una relación biunívoca entre ambas. La forma de la instrucción depende de la manera enque se direccionan los dispositivos externos.

Cuando la UCP, la memoria principal y la unidad de E/S comparten un bus común, la forma dehacer el direccionamiento difiere según la E/S esté localizada en memoria o esté aislada:

a- E/S localizada en memoria: Hay un único espacio de direcciones para las posiciones dememoria y los dispositivos de E/S. La UCP trata los registros de datos y de estado de loscontroladores de E/S como posiciones de memoria y utiliza las mismas instruccionesmáquina para acceder a memoria y periféricos. Sólo se necesita un conjunto de señales delectura y escritura. Cada controlador de E/S se organiza como un conjunto de registros queresponden a señales de lectura y escritura en el espacio normal de direcciones. Se reserva unsegmento el espacio total de direcciones para los registros internos de los controladores deE/S, aunque pueden estar localizados en cualquier dirección mientras no existan palabras dememoria que respondan a la misma dirección.

b- E/S aislada: El bus del sistema dispone, además de las líneas de control de lectura yescritura en memoria, de líneas de control específicas de E/S para acceder a los periféricos.La línea de control especifica si la dirección se refiere a una posición de memoria o a unperiférico. El rango de direcciones completo está disponible para ambos.

Los computadores que poseen E/S localizada en memoria pueden usar instrucciones dereferencia a memoria para acceder a datos de E/S lo que permite usar el mismo repertorio deinstrucciones para E/S que para memoria.

E/S por interrupciones.

La idea básica es eliminar el bucle de espera. La UCP envía una orden de E/S al periférico yprosigue la tarea que estaba ejecutando, en lugar de quedarse esperando a que se efectúe la operación deE/S. Cuando el periférico está preparado para intercambiar información, fuerza una interrupción en latarea que realiza la UCP para que atienda la operación de E/S. En ese momento la UCP realiza latransferencia de datos y a continuación sigue ejecutando el programa interrumpido. El periféricoadvierte a la UCP que está preparado para la transmisión activando una línea del bus de control. Lalínea de petición de interrupción.

Para no inferir en la tarea que ejecuta, la UCP en el momento de ser interrumpida guarda elcontenido del contador de programa y cualquier información que pueda afectar a la ejecución cuandoretorne al programa interrumpido. Salvaguardar el contexto supone una sobrecarga adicional en eltratamiento de interrupciones. En algunos sistemas se hace de forma automática por el mismo sistemade interrupciones y en otros el encargado es el programa de servicio de interrupciones.

La secuencia de pasos en el tratamiento de una petición de interrupción por parte de unperiférico son:

1- Activar el sistema de interrupciones en la UCP.2- El periférico activa la línea de petición de interrupción3- La UCP suspende la ejecución del programa. Salva el contenido del CP y otros registros

accesibles por programa.4- La UCP inhibe las interrupciones (bit de máscara) y ejecuta el programa de servicio de

interrupción.5- Se informa al periférico de que se ha reconocido su petición de interrupción mediante la

línea RI (Reconocimiento de Interrupción). El dispositivo se desactiva PI=0.6- Cuando finaliza el programa de servicio de interrupción se activa el sistema de

interrupciones (bit de máscara).7- La UCP continua con la ejecución del programa.

Clasificación de las interrupciones

Clasificación de interrupciones

Page 16: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 16

a-. Externa: Provocadas por un periférico.Origen b-. Interna: Provocadas por la UCP ( división por0).

c-. Simuladas: Provocadas por software.

Número de líneas de a-. Sólo una línea de interrupción Pi. interrupción b-. Múltiples líneas Pi1,Pi2,…Pin.

Control de la UCP sobre a-. Enmascarables. La UCP las puede desactivar.la interrupción b-. No enmascarables.

a-. Múltiples líneas.Identificación de la fuente b-. Encuesta. La interrupción se identifica por

programa.de interrupción c-. Vectorizada. La interrupción identifica al periférico.

Gestión de la prioridad a-. Por software. Un programa determina la prioridad.de la interrupción b-. Por hardware. Un circuito determina la prioridad.

Niveles de interrupción a-. Único. La interrupción no puede interrumpirse.b-. Multinivel. Anidamiento de interrupciones.

Identificación de la interrupción y gestión de su prioridad.La forma más directa de identificar la fuente de una interrupción es proporcionar múltiples

líneas de petición de interrupción; solución que es poco práctica, por lo que se reúnen las peticiones devarios periféricos en una línea. Hay varios métodos para que la UCP diferencie cuál de los periféricos hasolicitado la interrupción:

• Identificación por encuesta: Cuando la UCP detecta una petición de interrupción, lo primeroque hace es ir a un programa de servicio de interrupciones, donde interroga a cada uno delos controladores de E/S para determinar cual de ellos originó la petición. Una vezidentificado el periférico, la UCP comienza a ejecutar el programa de servicio específicopara esa interrupción. Este método tiene como desventaja el tiempo que se pierde enidentificar al periférico, aunque garantiza automáticamente la gestión de prioridades.

• Interrupciones vectorizadas: Es un mecanismo de encuesta tipo hardware. El periféricoenvía a la UCP un vector de interrupción que, de forma directa o indirecta, determina elcomienzo del programa de servicio específico de la interrupción. Esta técnica se conocecomo interrupciones encadenadas (daisy chain). Cuando hay peticiones simultáneas estáimplícita la prioridad de los periféricos.

Controlador de interrupciones.Cuando la UCP tiene múltiples líneas de interrupción, y se producen algunas peticiones

simultáneas, es preciso dotar al sistema de algún mecanismo de selección de la interrupción másprioritaria. Cualquier solución tipo hardware que se adopte se puede conseguir en versión software, acosta de perder velocidad al atender la interrupción.

Una de las alternativas es emplear un controlador de interrupciones (PIC), que amplia elnúmero de líneas de interrupción de la UCP y se encarga de la gestión del sistema de interrupciones. Lasfunciones que realiza el PIC son:

a- Identificar la fuente de la interrupción.b- Establecer las prioridades de cada periférico.c- Activar o desactivar de forma selectiva las peticiones de interrupción recibidas.d- Enviar a la UCP información sobre la petición de interrupción y cuál es el

periférico que debe ser atendido.El PIC resuelve las peticiones simultáneas de diferentes periféricos mediante un codificador de

prioridad. La lógica del codificador de prioridad es tal que si le llegan al mismo tiempo dos o másentradas, tendrá preferencia la de prioridad más alta.

Otra de las funciones del PIC es activar o desactivar de forma selectiva las peticiones deinterrupción que recibe. Hay dos formas básicas de realizar este enmascaramiento:

Page 17: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 17

1- Individualmente: Cada una de las n entradas al PIC de petición de interrupción estácontrolada por una puerta AND de dos entradas, cuya segunda entrada es el bitcorrespondiente de un registro de máscara de interrupciones. Cada uno de los bitsdel registro de máscara son accesibles por programa y en cada momento la UCPrecibe el valor deseado. El registro de estado almacena las peticiones deinterrupción que han sido autorizadas por el registro de máscara. Las peticiones deinterrupción se deben resolver por programa.

2- Por nivel: Las peticiones de interrupción, se ordenan siguiendo un criterio deprioridad que el codificador de prioridades se encarga de resolver. El codificadorentrega a su salida un código que indica la entrada de mayor prioridad que hasolicitado una interrupción. La UCP fija un nivel que puede ser modificado porprograma. Todas las interrupciones que tengan un nivel superior al especificadopueden ser atendidas, las otras quedan prohibidas.

Interrupciones multinivel. Anidamiento de interrupciones.

La organización de prioridades en una estructura multinivel significa que durante la ejecuciónde un programa de servicio de interrupciones se podrán aceptar peticiones de interrupción de algunosdispositivos, mientras que de otros no, dependiendo de sus prioridades relativas.

Para la realización de este esquema, se debe asignar a la UCP un nivel de prioridad modificablepor programa. El nivel de prioridad de la UCP es la prioridad del programa que se está ejecutando. LaUCP aceptará interrupciones sólo de aquellos dispositivos que tengan una prioridad mayor que la suya.

Acceso directo a MemoriaControlador de DMAEl DMA necesita un módulo adicional conectado al bus del sistema: el controlador de DMA

que es capaz de hacer las funciones asignadas a la UCP y asumir el control del sistema. El controladorde DMA tiene tres registros; datos, dirección y contador de palabras. Estos registros permiten alcontrolador de DMA transferir datos desde (o hacia) una zona contigua de memoria. El registro dedirección almacena la dirección de la siguiente palabra que se va a transmitir y se incrementa de formaautomática después de cada transferencia. El contador de palabras almacena el número de palabras porenviar. La Unidad de Control del DMA comprueba si el contenido del registro contador de palabras es 0y cuando alcanza este valor envía una señal de interrupción a la UCP que le indica el fin de latransferencia.

En resumen la técnica de DMA funciona de la forma siguiente: La UCP emite una orden alcontrolador de DMA con la siguiente información:

a- Si la operación de E/S es de lectura o escritura.b- Dirección del periférico.c- Posición de comienzo de memoria de donde hay que leer o escribir.d- Número de palabras que se tienen que leer o escribir.

A partir de ese momento la UCP continúa realizando otra tarea. El controlador de DMAtransfiere directamente, palabra a palabra, el bloque completo de datos entre el periférico y la memoriasin pasar por la UCP. Cuando la transferencia termina, envía una señal de interrupción a la UCP.

Transferencia de datos mediante DMA.El controlador de DMA necesita el control del bus para transmitir los datos. Hay varios

métodos:a- Ráfagas: Cuando el DMA toma el control del bus no lo libera hasta haber transmitido el

bloque de datos completo. La velocidad de transferencia es máxima, pero la UCP estáinactiva durante periodos grandes.

b- Robo de ciclos : Toma el control durante un ciclo, transfiere una palabra y lo libera. Reduceal máximo la velocidad de transmisión y la interferencia del controlador sobre la UCP.

c- DMA Transparente: Elimina totalmente la interferencia entre el controlador DMA y laUCP. El DMA sólo roba ciclos cuando la UCP no está utilizando el sistema.

d- Por demanda: El periférico comienza la transferencia por DMA, devuelve el control del busa la UCP cuando no tiene más datos. Cuando tiene más datos retoma el control del bus.

e- Dato a dato: Cuando el periférico solicita una transferencia por DMA envía un único dato ydevuelve el control a la UCP. El proceso acaba cuando se transfiere todo el bloque. Este

Page 18: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 18

método es útil cuando se ejecuta de forma simultánea un programa con la transmisiónrecepción de datos a velocidades moderadas.

Configuración del DMA.• Todos los módulos comparten el mismo bus del sistema. El controlador de DMA, que actúa

como sustituto de la UCP, utiliza E/S controlada por programa para intercambiar datos entre la memoriay un periférico a través del DMA. Esta configuración es económica y poco eficaz, ya que cadatransferencia de palabra consume dos ciclos de bus.

• Las funciones de DMA y E/S se integran, lo que supone que hay un camino entre el DMA yuno o más controladores de E/S que no incluyen el bus del sistema.

• Generalizando el concepto anterior, se utiliza en bus de E/S para conectar los controladoresde E/S al controlador de DMA. Reduce a uno el número de interfaces de E/S en el controlador de DMAy proporciona una configuración ampliable.

Procesador de E/S (PE/S).Características de los PE/S.El PE/S representa una extensión del concepto de DMA. Un PE/S tiene capacidad de ejecutar

instrucciones de E/S, lo que le da un control completo sobre dicha operación. En los computadores conPE/S, la UCP no ejecuta instrucciones de E/S, Así la UCP inicia una transferencia de E/S al dar la ordenal PE/S para ejecutar un programa en memoria, el cual especifica: el periférico que interviene; la zonade memoria utilizada; las prioridades y las acciones a realizar en caso de error.

El PE/S sigue estas instrucciones y controla la transferencias de datos. Hay dos tipos dePE/S:

1. Canal selector: Controla múltiples dispositivos de alta velocidad y en un instante de tiempoestá dedicado a la transferencia de datos con uno sólo de estos dispositivos.

2. Canal multiplexor: Puede controlar de manera simultánea operaciones de E/S con múltiplesdispositivos.

Tema 4 Unidad Aritmético LógicaLa UAL es la parte del computador donde se efectúan las operaciones sobre los datos. Las otras

unidades del computador, unidad de control, memoria y Entrada/Salida, son las encargadas desuministrar los datos y de recibirlos una vez procesados. Los datos llegan a la UAL a través de losregistros y los resultados que se generan también se almacenan en registros.

SUMADORES BINARIOSUn sumador binario se puede considerar como un conversor de código que recibe a la entrada

dos números binarios x e y de n bits cada uno y produce una salida s de n+1 bits que es la suma de losoperandos. Para conseguir un compromiso entre la velocidad y coste se emplea la estrategia detransformar el problema de la suma de dos números de n bits en n problemas idénticos de suma de dosnúmeros de 1 bit. Cada una de estas n sumas precisan información de los sumadores de las etapasprevias.

Semisumador binario:

x xy xy

c xy

= += x y c s

x y 0 0 0 0 l0 1 0 1 l1 0 0 11 1 1 0 l l

SSB

Tabla de verdad Representación por puntos

c s

Page 19: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 19

Semisumador completo: Se diferencia del semisumador porque tiene una tercer entrada, Ci-1,de arrastre de las etapa anterior, que le permite encadenarse con otros SBC para el diseño de circuitos desuma de números de n bits ( n>1).

x y

x y ci-1 ci s0 0 0 0 0 SSB0 0 1 0 1 c0 1 0 0 1 ci

0 1 1 1 0 s1 0 0 0 1 ci-1

1 0 1 1 0 SSB1 1 0 1 01 1 1 1 1

l l l

l l

Funciones lógicas:s x y c x y c x y c x y ci i i i i i i i i i i i i= + + +− − − −1 1 1 1

ci = xiyi + xi ci-1 + yi ci-1

Se sintetizan mediante circuitos lógicos de dos niveles ya que mediante SSB’s conectados en cascadaresulta más lento ya que deben de atravesar más puertas.

Sumador binario serie.Con un SBC de 1 bit, dos registros y un elemento de memoria, que realiza la función de retardo

unitario, se puede diseñar un circuito que realiza la suma de dos números de n bits. Cuya complejidad esindependiente del número de bits que hay que sumar, sin embargo el tiempo de operación crecelinealmente con el número de bits n.

Sumador binario paraleloMejora la velocidad de los sumadores binarios serie. Se conecta una cadena de SBC’s de forma

que se introduzcan en paralelo todos los bits de cada uno de los dos operandos. Para sumar n bits seencadenan n SBC’s.

xn-1 yn-1 x1 y1 x0 y0

cn-1 cn-2 c1 c0 c-1

sn-1 s1 s0

La salida sn-1 no será válida hasta que se conozca el arrastre cn-2 producido por el SBC de laetapa anterior. En el caso más desfavorable el resultado de la suma no será efectivo hasta que hayapasado un tiempo t d= n , siendo d el tiempo que tarda un SBC en general el arrastre. Por estemotivo se le conoce como sumador con propagación de arrastre.

Sumador - restador binario paraleloLa forma adecuada de sumar números negativos depende del tipo de representación que se

utilice, magnitud signo, complemento a 1 o complemento a 2. En el caso del complemento a 2 la resta esespecialmente sencilla, ya que el valor negativo es fácil de realizar:

• Se complementan todos los bits

Page 20: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 20

• Se suma 1teniendo en cuenta esto, se puede diseñar fácilmente un único circuito sumador restador:

En la representación de complemento a 1 el resultado obtenido no siempre sería correcto ya queno se puede ignorar la salida cn-1. Si cn-1= 1 hay que sumar 1 al resultado, lo que complica el circuito conrespecto al complemento a 2.

Detección del rebose en el circuito sumador - restador.Cuando se suman números sin signo el arrastre de la última etapa sirve de indicador de rebose.

En números con signos distintos nunca se produce rebose, por lo que sólo queda la situación en que elsigno es igual lo que produce dos casos:

• Los dos son positivos: El bit de signo es 0 y no puede generar ningún arrastre. El bitde signo de la suma sn-1 será 1 si se genera algún arrastre de la etapa anterior y elresultado será incorrecto.• Son negativos: Siempre se genera un arrastre en la posición del bit de signo ( c n-

1=1). El bit de suma Sn-1 será 0 sino genera o propaga arrastre desee la etapa anterior (cn-2=0 ) y el resultado será incorrecto.

xn-1 yn-1 sn-1 Rebose

0 0 0 0 0 0 1 1

0 1 0 0

0 1 1 0 R= C Cn n− −⊕2 1

1 0 0 0

Page 21: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 21

1 0 1 0

1 1 0 1

1 1 1 0

SUMADORES DE ALTA VELOCIDADLa naturaleza secuencial de la propagación del arrastre es el problema más difícil que hay que

resolver para acelerar la suma. Las diferentes soluciones son:• Aceptación de la existencia de los arrastres.• Anticipación del arrastre: circuitería extra que desvía la generación del arrastre.• Suma condicional: Produce la suma en tiempo O (log n), para n operandos.• Detector de fin de arrastre.• Disminución del número de arrastres subiendo la base de numeración.• Arrastre almacenado: Para más de dos sumandos.

Características de los arrastres.El arrastre se genera cuando la suma de los bits es mayor que uno; se propaga desde la posición

(i-1)-ésima a (i+1)-ésima si la suma de los bits xi, yi es uno:

y = 0 y = 1

x = 0 --- p

x = 1 p g

Estas situaciones [ - , p , g ] son mutuamente excluyentes.

Sumador con anticipación de arrastre.Es la forma más extendida de diseñar sumadores de alta velocidad. Su principio básico es el de

reducir el retardo producido por la propagación de los arrastres de los SBC’s de menor peso a los demayor peso. Generando la entrada de arrastre de la entrada i-ésima directamente a partir de los bits deentrada a las etapas precedentes. La suma y arrastre i-ésimo se definen como:

s p c c g c pi i i i i i i= ⊕ = + ⋅− −1 1;

A medida que aumenta el número de bits del sumador crece la complejidad por lo que estatécnica no resulta viable. Como solución se encadenan N SBAA’s de X bits con propagación de arrastre.A pesar de que el SBAA de mayor peso no puede dar su resultado mientras no conozca el acarreo delanterior, el retardo es menor que en la solución de SBC’s. A este tipo de sumadores se les conoce comosumadores con propagación de arrastre anticipado.

Sumadores de suma condicional.En cada bit del sumador se efectúan dos sumas diferentes si(0) y si(1), la primera supone que el

arrastre de entrada ( ce) a esa posición es 0 y la segunda que es 1.

Sumadores con detección de fin de arrastre.El tiempo de operación de la suma depende de forma lineal del número de bits de los sumandos.

Como un arrastre de máxima longitud no se da frecuentemente, si esperamos este tiempo siempre, en lamayoría de los casos se empleará un tiempo excesivo en el cálculo de una suma. La realización entre laslongitudes de propagación del arrastre más desfavorable y el valor medio de la longitud máxima vieneexpresada por:

t =n

nlog2

Un sumador que detecte cuando termina la operación es de naturaleza asíncrona ya que no esnecesario un intervalo fijo para la realización de la suma.

Page 22: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 22

Sumadores que minimizan el número de arrastres.Aumentando la base de numeración de los operandos con lo que se trabaja se disminuye la

propagación de los arrastres, sin embargo esto se consigue en base a complicar la circuitería, además detrabajar a velocidades más bajas. Una forma alternativa de realizar la suma aritmética en basessuperiores a dos es utilizando una tabla de consulta. Si los operandos de entrada son números de m bits,dicha tabla tendrá 2m filas X 2m columnas y 22m entradas. Se necesita pues una ROM de 22m palabras ×(m+1) bits. Los dos sumadores concatenados dan la dirección de memoria cuyo contenido es su suma.

Sumadores BCD.Si se suman dos dígitos BCD en un sumador binario de 4 bits el resultado es correcto si es

menor que 10. Cuando es mayor o igual que 10 la suma no es correcta y debe ser corregida sumando 6en BCD al resultado anterior. El circuito lógico que detecta cuando es necesario corregir el resultado ( c= 1 ) se obtiene de la forma siguiente:

• Si hay un arrastre en el primer sumador ( suma > 15 )• Si la suma está entre 10 y 15. Las configuraciones desde 1010 hasta 1111

Organización de sumadores en código BCD.• Sumador paralelo: contiene n sumadores BCD. El arrastre de salida de cada sumador se

conecta al arrastre de entrada del siguiente. La suma se genera en paralelo.• Sumador dígito serie, bit paralelo: Los dígitos se aplican en serie a un único sumador BCD,

los bits de cada dígito se aplican en paralelo.• Sumador dígito serie, bit serie: Es la más lenta, los bits se desplazan de uno en uno a través

de un SBC. La suma binaria después de cuatro desplazamientos debe ser corregida para obtener undígito válido en BCD.

Restador en código BCD.Una forma económica de efectuar la resta en código BCD es la de formar el complementa a 9 ó

10 del sustrayendo y sumar al minuendo. Como el código BCD no es autocomplementario, elcomplemento a 9 se obtiene mediante un circuito que resta cada dígito BCD de 9. Esto se consiguecomplementando los bits a condición de que se incluya la corrección necesaria. Existen dos métodospara efectuar la corrección:

• Se suma el número 10 ( 1010) a cada dígito BCD complementado; no se considera el arrastredespués de cada suma.• Se le suma el número 6 ( 0100 ) a cada dígito BCD antes de complementarlo.

Estructura de la Unidad Aritmético Lógica

La complejidad de la UAL viene impuesta por los tipos de operaciones que puede efectuar y laforma que las ejecuta. Si se usan algoritmos análogos para diferentes operaciones se puede simplificar sudiseño.

Circuito comparador.Un circuito comparador se puede realizar de tres formas:

• Utilizando un circuito combinacional• Utilizando un circuito secuencial• Utilizando un sumador

Circuito combinacional.En el caso más general hay que sintetizar tres funciones lógicas Mayor, Menor e Igual, de 2n

variables. La complejidad y coste del circuito aumenta de forma considerable con n.

Circuito secuencial.

Page 23: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 23

Un comparador recibe los bits xi, yi de forma serie, comenzando por los más significativos. Elcircuito parte de un estado inicial en el que considera que los dos números son iguales y continua en esteestado mientras xi = yi. Cuando detecta que xi # yi puede decidir si x > y o x < y. A partir de ese instanteel circuito no cambia de estado. El coste del comparador secuencial es independiente de la longitud n delos números, que sin embargo si que afecta al tiempo de ejecución.

Mediante sumador.Dado que la UAL dispone de un sumador, la forma más usual de realizar la comparación de dos

operandos es restando uno de otro y comprobar el signo del resultado. El procedimiento difiere segúnsean números con signo o sin signo.

Page 24: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 24

Tema 5 Metodología de diseñoUn sistema digital se puede definir como una colección de objetos denominados componentes,

que se conectan con un objetivo definido. La función que realiza el sistema queda determinada cuando seconoce:

• La función individual de cada componente.• La forma en que los componentes se interconectan entre sí.

El método de diseño puede considerarse a diferentes niveles de detalle o complejidad. Se suelenemplear los siguientes niveles:

• Nivel de puertas lógicas.• Nivel de registros• Nivel de procesador

La descripción de un sistema digital se divide en dos partes: la Unidad de Procesamiento y laUnidad de Control. La Unidad de Procesamiento es la parte del sistema digital en la que se almacenan ytransforman los datos. Consta de los siguientes elementos:

• Registros de almacenamiento.• Operadores aritmético lógicos ( recursos de cálculo).• Red de interconexión ( Camino de datos ).• Puntos de control.• Señales de condición.

La función de la Unidad de Control es generar una secuencia de señales de control de acuerdocon el algoritmo de transferencia de registros, que especifica la realización de la operación deseada.

Módulos de un sistema.Un sistema se puede considerar constituido por dos clases de elementos:

• Un conjunto de componentes, C, para el procesamiento de la información.• Un conjunto de señales, S, que transmiten la información entre los componentes.

Cuando se modela un sistema digital se efectúa la correspondencia entre C y los nodo y S y losarcos obteniendo un grafo que recibe el nombre de diagrama de bloques del sistema. Este diagrama sirvepara modelar la estructura del sistema pero no muestra su conducta funcional. Para mostrar la conductafuncional se usan las tablas de verdad, puertas lógicas y funciones de conmutación.

Niveles de diseño: Diseño jerárquico.Si un sistema complejo se va a diseñar con puertas lógicas, el proceso de diseño constará de los

siguientes pasos:• Especificar a nivel de procesador la estructura del sistema.• Especificar a nivel de registro la estructura de cada unidad del nivel de procesador.• Especificar a nivel de puertas lógicas la estructura de cada componente del nivelregistro.

Este punto de vista del diseño se conoce como diseño descendente o diseño estructurado. Unbuen diseño debe promover la utilización de los componentes más adecuados en cada nivel. Desde estaperspectiva, conviene tener en cuenta las siguientes características:

• Independencia de los componentes.• Modularidad del diseño.

Nivel de registro.A este nivel la unidad básica es la palabra. Atendiendo al tipo de información se pueden

distinguir dos clase de palabras, la palabra de datos y la de control. Los componentes que se emplean enun cierto nivel de diseño constituyen su principal caracterización. Un conjunto de componentes escompleto si se puede realizar cualquier función lógica utilizando sólo módulos de ese conjunto.

Modelo de un Sistema Digital.Cuando una máquina es capaz de efectuar diferentes operaciones las señales de selección de

función están agrupadas en palabras llamadas instrucciones. En estos casos se habla de procesador de unconjunto de instrucciones. El problema de diseño a nivel de transferencia de registros se puede plantearen los términos siguientes: Dados un conjunto de algoritmos, un repertorio de instrucciones y unconjunto de restricciones, obtener la estructura del circuito que realiza las funciones deseadas empleandosólo componentes de este nivel.

Page 25: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 25

Las ligaduras o restricciones especificadas en un problema de diseño imponen un compromisoentre el coste del circuito y su comportamiento (velocidad, fiabilidad, compatibilidad, … ). Paraproceder al diseño del sistema digital que realiza una operación genérica, se subdivide éste en dos partes,Unidad de Procesamiento y Unidad de Control.

La Unidad de Procesamiento realiza las funciones de almacenamiento y transformación de losdatos mientras que la Unidad de Control controla la transferencia de los datos, las transformaciones y elsecuenciamiento de acciones. La Unidad de Control produce secuencias de señales de control quegobiernan los cálculos realizados en la Unidad de Procesamiento. Las unidades de Control yProcesamiento se definen especificando los siguientes elementos:

• Un conjunto de componentes.• La estructura de interconexión entre los componentes.• La función realizada por los componentes interconectados.

La arquitectura de la Unidad de Procesamiento incluye:• Un conjunto de registros que almacenan los datos procesados.• Un conjunto de primi tivas o recursos que realizan el tratamiento sobre los datos.• Una red de interconexión capaz de conectar los registros con los recursos de cálculo.• Un conjunto de entradas de control denominadas puntos de control.• Un conjunto de salidas que constituyen las señales de condición o selección.

La función que realiza un componente (recurso de cálculo, registro o red de interconexión) sedetermina por las señales de control generadas en la Unidad de Control, que están presentes en lospuntos de control, es decir, se controlan externamente a través de la Unidad de Control que es unsistema o máquina secuencial.

Unidad de ProcesamientoLa Unidad de Procesamiento es aquella parte del sistema en la que se almacenan y transforman

los datos. Consta de registros de almacenamiento, operadores (recursos de cálculo), red de interconexión(camino de datos), puntos de control y señales de condición. Estos elementos se organizan de forma quepermiten la ejecución de las operaciones o algoritmos que se necesitan y satisfacen ciertos requisitos decompromiso coste/prestaciones. Las unidades de procesamiento se pueden clasificar en dos grandesgrupos; de propósito general o de propósito particular.

Puntos de control.Las entradas de la Unidad de Procesamiento que reciben las señales de control se denominan

puntos de control y se emplean para controlar la selección de operaciones, los caminos de datos y lacarga de los registros. Permiten controlar el flujo de información a través de la estructura de la Unidadde Procesamiento.

El conjunto de señales de control se pueden clasificar en tres categorías:• Relojes. Su activación permite cargar el registro correspondiente con el contenidopresente en ese instante en el camino de datos que le llega• Conmutadores. Son dispositivos que controlan y/o seleccionan el paso deinformación de un camino de datos a otro.• De transformación. Controlan las distintas funciones de transformación que puedenefectuar las unidades funcionales de la Unidad de Procesamiento.

Señales de condición o selección.Son salidas de la Unidad de Procesamiento que se utilizan por la Unidad de Control para

determinar las señales de control condicionales o secuencias alternativas. En el lenguaje de descripciónse especifican en secuencias de asignación condicionales o rupturas de secuencias condicionales.

Unidad de ControlLa función de la Unidad de Control es generar una secuencia de señales de control de acuerdo

con el algoritmo de transferencia de registro que describe la operación deseada Sus entradas son lasseñales de condición generadas por la Unidad de Procesamiento, más las entradas de control externas.Sus salidas son las señales de control que se distribuyen por los correspondientes puntos de control de laUnidad de Procesamiento. La especificación de la Unidad de Control consiste en definir sus dosfunciones:

• Generación de señales de control.• Secuenciamiento de las señales de control.

Page 26: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 26

Existen varios métodos de realizar la Unidad de Control que van desde las estructuras fijas delógica cableada sintetizadas con elementos de memoria y puertas lógicas, a estructuras flexibles ymodificables de tipo programable.

Unidad de Control con lógica cableada.Es el procedimiento convencional de diseño de circuitos secuenciales que se conoce como

método de la tabla de estados. Las funciones de transición de estados y de salida se realizan con lógicacombinacional y no son modificables sin tener que volver a sintetizar el circuito. Por lo que no se puedecomenzar el diseño hasta que no se conocen de manera precisa todos los detalles del mismo.

Dados el algoritmo de transferencia de registros y la Unidad de Procesamiento, el diseño de laUnidad de Control cableada por el método de los estados consta de los siguientes pasos:

• Introducir un estado por cada sentencia del algoritmo de transferencia de registros. Si lasmicrooperaciones son independientes y se pueden completar en un ciclo de reloj, se agrupan enun único estado.• Construir el diagrama de estados de acuerdo con las relaciones especificadas en el algoritmode transferencia de registros.• Por cada nodo (estado) determinar las salidas (señales de control) que están activas.• Para cada arista determinar las entradas (externas y señales de condición) que originan latransición entre estados.• Aplicar el procedimiento general de síntesis de circuitos secuenciales al diagrama de estados.

Modelo sistemático de síntesis de circuitos secuenciales.¤ Modelar las especificaciones de la conducta secuencial deseada.¤ Minimizar el número de estados.¤ Codificar las entradas, salidas y estados.¤ Seleccionar el tipo de elemento de memoria.¤ Diseño de la circuitería combinacional.

Unidad de Control basada en elemento de retardo.Esta realización es adecuada cuando el número de estados es pequeño. La codificación de cada

estado se realiza con un elemento de memoria tipo D, lo que simplifica el procedimiento de diseño. Deesta manera, la transformación entre el diagrama de estados y el circuito secuencial es directa.

Cuando la transición al próximo estado no depende de ninguna variable de condición surealización es inmediata, la salida del elemento de memoria asociado con el estado Si se conecta a laentrada del elemento de memoria asociado con el elemento Sj. Cuando la transición depende del valorque toman las variables de condición la transformación se puede hacer con una puerta OR y undemultiplexor.

Unidad de Control basada en contadores.La utilización de un contador como registro de estado en la síntesis de un circuito secuencial

tiene ciertas ventajas:• Si el algoritmo de transferencia de registros presenta una estructura lineal (flujo secuencialde sentencias), la Unidad de Control se puede realizar programando el contador para que estáen modo contaje (H=1).• Las rupturas de secuencia en el algoritmo de transferencia de registro se efectúanprogramando el contador para que este en modo carga paralela (L=1).Unidad de Control basada en registros de desplazamiento.Presenta las mismas ventajas que la realización basada en contadores. En este caso, la

asignación del próximo estado corresponde a un código obtenido por uno de los dos métodos siguientes:a. Desplazando a derecha o izquierda el estado presente.b. Cargando un nuevo estado en el registro de desplazamiento a través de las entradas de carga

en paralelo.La primera opción se utiliza para codificar estados que van en secuencia en el diagrama de

estados, mientras que la segunda se usa cuando hay rupturas se secuencia.Unidad de Control basada en memorias ROM’s.Proporciona una realización de la Unidad de Control más flexible que las consideradas

anteriormente. Las distintas arquitecturas que incorporan ROM’s difieren en la forma que trata lasvariables de condición.

En el esquema típico, todas las variables de condición se utilizan con parte de las líneas dedirección de la ROM. Si hay q variables de condición, para cada estado se requieren 2q palabras ROM.Para n variables de estado se hay 2n grupos de 2q palabras, lo que hace un total de 2n+q palabras. Cada

Page 27: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 27

palabra de la ROM consta de dos campos uno de n bits que representa el próximo estado y otro de m bitsque constituyen las palabras de control.

ROM

Variables de Direccióncondición q n+q

2n+q palabras × (n+m) bits

Próximo estado n

Inicio Cl mReloj Registro

Estado presente n Señales decontrol

Un método para reducir el tamaño de la ROM se basa en el hecho de que no todas las variablesde condición son necesarias para cada estado. Si sólo se necesita una variable de condición en cualquierestado es mejor seleccionar dicha variable fuera de la ROM, lo que reduce su tamaño a dos palabras porestado, lo que da un tamaño de 2n+1 palabras. Para seleccionar la variable de condición que se precisa encada estado se puede emplear un multiplexor controlado por las variables de estado.

Multiplexor ROM

Variables de Direccióncondición 2n 1 n+1

2n+1 palabras × (n+m) bitsSelección

n n Próximo estado n

Inicio Cl mReloj Registro

Estado presente n Señales decontrol

Como alternativa se puede emplear un multiplexor de q entradas y log2q variables de controlque permite seleccionar una condición para cada estado. El tamaño de la ROM será de 2n+1 palabras conuna longitud de log2q + m+ n bits. El método de selección por campo es preferible al de selección porestado si el número total de variables de condición es más pequeño que el número de estados.

Page 28: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 28

Multiplexor ROM

Variables de Direccióncondición q 1 n+1

2n+1 palabras ×(log2q+n+m) bits

Selección

log2q n Próximo estado n

Inicio Cl mReloj Registro

Estado presente n Señales decontrol

Unidad de Control basada en PLA’s.Las variables de condición y de estado son las entradas al array AND del PLA. El próximo

estado y las señales de control son las salidas del array OR.La transformación de un diagrama de estados en una realización con PLA y un registro es

directa:• En el array AND se asigna una columna a cada uno de los próximos estados detodos los estados.• En el array OR la correspondiente columna del array AND especifica el próximoestado y las señales de control.

Page 29: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 29

Tema 6 Unidad de Control.La función de la Unidad de Control de un computador es la búsqueda de las instrucciones de

memoria, su interpretación y generación, en los instantes adecuados, de las señales de control necesariaspara ejecutar la operación especificada por cada instrucción. En este proceso se pueden distinguir dosaspectos: el secuenciamiento de las instrucciones y la interpretación de las mismas.

Secuenciamiento de Instrucciones.Es el proceso por el cual las instrucciones de un programa van siendo seleccionadas para su

ejecución en un orden determinado. El método más simple sería que cada instrucción especifique susucesora o sucesoras, especificación explícita, tiene como desventaja que alarga el formato de lasinstrucciones provocando el consiguiente aumento de memoria necesaria para almacenar un programa.

Dado que la mayor parte de las instrucciones de un programa tienen una única sucesora, si unainstrucción i se almacena en la posición de memoria m y tiene una única sucesora i1 resulta naturalalmacenar la instrucción i1 en la posición m+1. Con este sistema se puede emplear para elsecuenciamiento de instrucciones, un registro contador de programa. En general, si la instrucción inecesita p palabras de memoria, el incremento que debe sufrir el Contador de Programa para pasar a i1

será CP ß CP + p.La selección de un camino y la realización de bucles, requieren instrucciones capaces de

transferir el control a una instrucción distinta a la que le sigue, son las rupturas condicionales eincondicionales. Con frecuencia también es necesario la realizar un mecanismo de transferencia decontrol temporal desde un programa P a un subprograma S. Existen dos situaciones en las que estoocurre, los saltos a subrutinas y las interrupciones.

Microoperaciones.La operación de un computador, al ejecutar un programa es una secuencia ciclos de instrucción

con una instrucción máquina por ciclo. La secuencia de ciclos de instrucción no es necesariamente lamisma que la secuencia de instrucciones del programa debido a la existencia de instrucciones de rupturade secuencia.

Cada ciclo de control se puede considerar compuesto de una serie de unidades más pequeñasllamadas fases o ciclos, que son: búsqueda, direccionamiento indirecto, ejecución e interrupción. Deellos sólo los ciclos de búsqueda y ejecución están presentes en todas las instrucciones.

Cada una de las fases de una instrucción supone una serie de pasos en los que intervienen losregistros de la UCP. A estos pasos elementales se les conoce como micooperaciones. El prefijo micro serefiere al hecho de que se considera cada paso como una unidad indivisible, que cuando se ejecutasupone un pequeño cambio en el estado del procesador.

Ciclo de búsqueda.Ocurre al comienzo de cada ciclo de instrucción y origina que se realice la búsqueda de la

instrucción en memoria.

Memoria

Bus de Control

Bus de Datos

Bus de Dirección

RD Unidad RM de

UCP ControlCP RI

Page 30: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 30

Se utilizan los cuatro registros siguientes:• Registro de dirección de memoria (RD). Conectado a las líneas del bus del sistema, especificala próxima dirección de memoria a leer o escribir.• Registro de datos de memoria (RM). Conectado al bus de datos de sistema, contiene el dato aescribir en memoria o leído de memoria.• Contador de programa (CP). Almacena la dirección de la próxima instrucción que hay quebuscar en memoria.• Registro de instrucción (RI). Almacena la última instrucción leída de memoria.

El ciclo de búsqueda consta de tres pasos y cuatro microoperaciones, cada microoperación implica elmovimiento de algún dato desde o hacia alguno de los cuatro registros. Si estos movimientos nointerfieren unos con otros, pueden tener lugar dentro del mismo paso, lo que acelera la ejecución delciclo.

Posibles secuencias del ciclo de búsquedaCiclo de Microoperaciones Ciclo de Microoperaciones

búsqueda búsquedaPaso 1 RD ß (CP) Paso 1 RD ß (CP)

Paso 2 RM ß Memoria Paso 2 RM ß Memoria

CP ß (CP) + 1Paso 3 RI ß (RM) Paso 3 CP ß (CP) +1

RI ß (RI) + 1

Para agrupar microoperaciones se deben seguir dos reglas simples:• Respeta r la secuencia de acciones.• Evitar conflictos de lectura/escritura.

Ciclo de direccionamiento indirectoUna vez buscada la instrucción, el paso siguiente es encontrar los operandos a los que se refiere.

Se supone que la instrucción tiene un formato unidireccional y que son posibles los direccionamientosdirecto e indirecto. Si la instrucción especifica un direccionamiento indirecto, un ciclo de este tipo debepreceder al de ejecución.

Ciclo de interrupción.A la finalización del ciclo de instrucción, se efectúa un test para determinar si existe alguna

petición de interrupción pendiente, Si es así se pasa al ciclo de interrupción. La naturaleza de este ciclovaría mucho de una máquina a otra.

Ciclo de ejecuciónLos ciclo de búsqueda, direccionamiento indirecto e interrupción son simples y predecibles.

Cada uno de ellos contiene una secuencia fija de microoperaciones y en cada caso, las mismasmicrooperaciones se repiten una y otra vez. Esto no sucede con el ciclo de ejecución, ya que para unamáquina con N códigos de operación, hay N secuencias distintas de microoperaciones.

Ciclo de instrucción.Cada fase del ciclo de instrucción se puede descomponer en una secuencia de operaciones

elementales llamadas microoperaciones. Para reconocer en que fase de instrucción se encuentra seintroduce el código de ciclo de instrucción de dos bits.

Interpretación de las instrucciones.Todas las microoperaciones que se necesitan para realizar un ciclo de instrucción, incluyendo

las específicas de cada una de las instrucciones del repertorio de instrucciones de la UCP, pertenecen auna de las categorías siguientes:

1- Transferencia de datos desde un registro a otro2- Transferencia de datos desde un registro al bus del sistema3- Transferencia de datos desde el bus del sistema a un registro4- Realización de una operación aritmético lógica, utilizando registros como E/S.

La unidad de control realiza dos funciones básicas:

Page 31: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 31

• Secuenciamiento de las microoperaciones de la UCP• Ejecución de las microoperaciones.

Para que la Unidad de Control realice su tarea debe poseer entradas que le permitan determinarel estado del sistema y salidas que puedan controlar su funcionamiento, Son las especificaciones externasde la Unidad de Control. Internamente la Unidad de Control contiene los componentes lógicosnecesarios para hacer sus funciones se secuenciamiento y ejecución.

Las entradas a una Unidad de Control son:• Reloj: Permite a la UCP mantener la temporización básica de todo el sistema. La

Unidad de Control realiza una microoperación ( o un conjunto de ellassimultáneas) durante cada pulso de reloj, que se denomina ciclo del procesador.

• Registro de instrucción. El código de operación de la instrucción actual se utilizapara determinar que microoperación hay que ejecutar durante el ciclo de ejecución.

• Señales de condición. Las necesita la Unidad de Control para conocer el estado enque se encuentran la UCP y el resultado de las operaciones anteriores realizadas porla UAL.

• Señales de control del bus del sistema. Señales de interrupción, etc.

Sus salidas son:• Señales de control internas a la UCP. Hay dos tipos: las que originan que los datos

se muevan entre los registros y las que activan funciones específicas de la UAL.• Señales de control hacia el bus del sistema: de control de memoria y de control a

módulos E/S.Organización interna de la UCP.Para simplificar la organización y diseño de la UCP se organizan todos sus elementos alrededor

de un bus interno. Con esta disposición se deben de proporcionar los puntos de control necesarios parapermitir el movimiento de entradas y salidas del bus desde todos los registros. Se necesitan puntos decontrol adicionales para transferir datos a y desde el bus externo del computador y para gobernar elfuncionamiento de la UAL.

Unidad de Control con Lógica Programada

Es esencialmente un circuito secuencial. Sus entradas se transforman en un conjunto de salidasque son sus señales de control.

Entradas de la Unidad de Control

Registro de instrucción

Decodificador

I0 I1 …. IK

Generador Unidad S0

Reloj de de subciclos Control Sp

C0 C1 ….. Cm

Señales de control

Dado que el computador ejecuta un conjunto de instrucciones será necesario un circuito asociado a laUnidad de Control que identifique cual es la instrucción que se está ejecutando, de tal forma que si laUCP está ejecutando la instrucción I, la Unidad de Control genera exclusivamente la secuencia demicrooperaciones que realiza la instrucción. El elemento responsable de esta función es el decodificador

Page 32: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 32

de instrucciones, que es un circuito combinacional que tiene como entrada el código de instrucciónalmacenado en el registro de instrucción.

El generador de subciclos de la Unidad de Control produce una secuencia de pulsos repetitivosque se utilizan para medir la duración de las microoperaciones. El periodo de impulsos del reloj debe sersuficiente para permitir la propagación de las señales a través de los distintos caminos de datos queexisten en la UCP. Dado que la Unidad de Control genera señales de control en diferentes instantes detiempo durante un ciclo de instrucción, se divide el ciclo en un conjunto de subciclos suficiente para quese puedan ejecutar todas las instrucciones máquina del computador. Esta secuencia se repiteperiódicamente con la ejecución de cada instrucción.

Dado que el número de ecuaciones lógicas que se necesitan para definir la UCP es muy grandese usa un enfoque más sistemático para la Unidad de Control que se conoce como microprogramación.

Unidad de control microprogramada.La microprogramación es un método para el diseño de la Unidad de Control que se basa en el

hecho de que una instrucción se puede especificar mediante una secuencia de instrucciones primitivasllamadas microinstrucciones.

La ejecución de una microinstrucción requiere una secuencia de búsqueda - decodificación -ejecución que aunque es más simple debe ser controlada por otra Unidad de Control. De una formarecursiva se podría considerar que esta nueva y más sencilla Unidad de Control se realiza con técnicasde microprogramación. La solución de este problema recursivo obliga a que la Unidad de Control finalse realice mediante lógica de tipo cableado. La microprogramación se puede considerar como un métodosistemático para diseñar la Unidad de Control de cualquier sistema digital.

Conceptos básicos.La microprogramación permite generalizar un diseño de la Unidad de Control basado en la

utilización de memorias ROM. Las funciones de transición de estado y de salida se sintetizan mediantetablas de consulta que están en una RAM o ROM. Cada sentencia del algoritmo de transferencia deregistros que se almacena en una palabra de la memoria constituye lo que se denomina microinstrucción.

Una microinstrucción es pues una o más microoperaciones que se pueden ejecutar de formasimultánea y que está contenida en una palabra de la ROM o RAM (palabra de control). Cadamicroinstrucción estaría representada por un conjunto diferente de 1’s y 0’s contenidos en las palabrasde control. Los elementos que definen una microinstrucción son:

1- Las señales de control que están activas durante la ejecución de la microinstrucción y sutemporización

2- El secuenciamiento de información que determina la próxima microinstrucción que hay queejecutar.

Así pues, una microinstrucción está compuesta de algunos campos que definen las señales decontrol, la dirección de la próxima microinstrucción y su temporización.

El campo de control especifica los valores de las señales de control durante la ejecución de lamicroinstrucción y está dividido en subcampos, cada uno de los cuales gobierna una microoperacióncuando se ejecuta la microinstrucción, por lo que el número de microoperaciones concurrentes no puedeser mayor que el número de subcampos de control.

Existen dos formas básicas de definir los subcampos de control:a- Formato horizontal: Cada señal de control tiene un subcampo independiente de un bit que

indica el correspondiente valor de la señal de control. Proporciona la máxima concurrenciaentre señales de control.

b- Formato vertical: Emplea un subcampo con varios bits para codificar subconjunto de lasseñales de control. Un subcampo de j bits puede especificar 2j-1 señales de control. Como encada momento sólo puede haber una señal activa por subcampo, hay que elegirlos de formaque se garantice que las operaciones que controlan nunca se necesitan de forma simultánea.Es más lento que el formato horizontal, pero utiliza longitudes de palabra más pequeñas yrequiere memorias de control más pequeñas. No tiene las señales de control decodificadas.

Arquitectura de una Unidad de Control microprogramada

Page 33: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 33

Los elementos clave son: El registro de dirección de memoria de control (RDC) que mantiene ladirección de la próxima microinstrucción que se va a leer. Cuando se lee una microinstrucción de lamemoria de control, se transfiere al registro de datos de la memoria de control (RMC).

Secuenciamiento de las microinstrucciones:Las dos tareas básicas realizadas por una Unidad de Control microprogramada son:

• Secuenciamiento de las microinstrucciones. Obtener la próxima microinstrucción dela memoria de control.• Ejecución de las microinstrucciones, consiste en generar las señales de control quese necesitan para ejecutar la microinstrucción.

La determinación de la siguiente microinstrucción se puede realizar:Por direccionamiento explícito: La dirección de la próxima instrucción se especifica en un

campo separado. Es muy flexible y rápida, pero precisa una longitud grande. Trata de optimizar lautilización de la memoria de control.

Esta dirección se carga en el registro de dirección de memoria de control (RDC). Cuando en elmicroprograma existen rupturas de secuencia condicional se necesitan dos o más direcciones pormicroinstrucción. En este esquema la memoria de control puede ser vista como una lista encadenada

En la arquitectura de una Unidad de Control microprogramada con dos direcciones porinstrucción cada microinstrucción tiene asociada su propio microprograma, almacenado a partir de unaposición determinada de la memoria de control. La transformación de los bits del código de operación dela instrucción, en una dirección de la memoria de control donde está localizado el microprograma, larealiza un bloque denominado lógica de transformación. Un procedimiento de transformación es unaregla que convierte el código de una instrucción en una dirección de la memoria de control. El bloquelógica de bifurcación proporciona la capacidad de toma de decisiones en la Unidad de Control.

El formato con dos campos de dirección por microinstrucción produce memorias de control conlongitudes de palabras grandes. Otra posibilidad de direccionamiento explícito que mejora este aspectoes el de usar un formato de microinstrucción con sólo un campo de dirección.

Por direccionamiento implícito: Reduce el tamaño. La microinstrucción se ejecuta en el ordenque se almacena en la memoria de control. Por lo que no se necesita ninguna información desecuenciamiento en la misma microinstrucción que sólo contiene los campos de control. Se necesita unamicroinstrucción especial para especificar una bifurcación, que tendrá dos campos. El primero define lacondición que se utiliza para efectuar la bifurcación y el segundo la dirección de ésta.

Ejecución de una microinstrucciónEl ciclo de ejecución de una microinstrucción consta de las siguientes fases:

• Búsqueda (lectura de una microinstrucción).• Decodificación de los campos de la microinstrucción.• Ejecución de las microoperaciones.• Cálculo de la dirección de la siguiente microinstrucción.

Atendiendo a la forma en que cada microinstrucción se ejecuta se pueden clasificar en:Monofásicas: Las microoperaciones especificadas en la microinstrucción se puedenejecutar todas a la vez.Polifásicas: Sus campo se utilizan de forma escalonada a los largo del tiempo deejecución. Apropiadas cuando la búsqueda es lenta a comparación con su ejecución.

ConclusionesUn computador es una máquina programable de propósito general. El programador ve al

computador como una máquina en cuya estructura se puede suponer que existe una jerarquía de nivelesde abstracción:

Nivel lógicoMicroprogramaciónLenguaje máquinaLenguaje ensamblador

Page 34: Tema 1 Estructuras de interconexión de un computador. · a. Memoria interna del procesador : está constituida por un pequeño conjunto de registros de alta velocidad que son internos

Estructura de Computadores II 34

Lenguaje de alto nivel

Un intérprete es un sistema que analiza y ejecuta instrucciones del lenguaje que describe undeterminado nivel. Cada nivel de abstracción de un computador es idealmente ejecutado por unintérprete realizado en el nivel inmediatamente superior de la jerarquía.

La Unidad de Control de un computador se encarga de extraer de la memoria cada instrucción,decodificarla y generar la secuencia correcta de señales de control para que pueda ejecutarse. Es decir,interpreta el lenguaje máquina de un computador y está constituida por niveles lógicos y demicroprogramación.

Un interprete del nivel de microprogramación interpreta las instrucciones del lenguaje demicroprogramación, llamadas microinstrucciones, directamente sobre los circuitos digitales del nivellógico.

Un interprete del nivel de lenguaje máquina interpreta las instrucciones del lenguaje máquinadel computador con la ayuda de una Unidad de Control microprogramada. Si se suprime y se interpretael lenguaje máquina directamente sobre el nivel lógico se habla de una Unidad de Control con lógicacableada, mientras que en el anterior se dispone de una Unidad de Control con lógica microprogramada.

En la Unidad de Control microprogramada las señales de control se generan por programa yresulta sencillo introducir modificaciones en el diseño, ya que sólo se necesita alterar el contenido de lamemoria de control. Cuando esta es del tipo RAM se dice que la Unidad de Control esmicroprogramable.