You are on page 1of 39

3.

BUSES DE DATOS
MSc. Galo Valverde

EL NIVEL DE LA MICROPROGRAMACIN
E

V
O L

Para cada instruccin de un circuito especfico. Uno para dividir, sumar, etc....

U
C I N

Las instrucciones son realizadas paso a paso por un Intrprete que se ejecuta en el nivel de multiprogramacin (Mquina Multinivel)
Mquina Fsica Nivel n

EL NIVEL DE LA MICROPROGRAMACIN

Ejecutar Intrpretes de otras mquinas virtuales

Escribiendo programas que controlen los registros, buses, unidades aritmticas y lgicas, memorias y otros componentes del Hardware de las mquinas.

CONCEPTOS...

REGISTROS

0 1 0 1

Dispositivo capaz almacenar informacin. Es una forma de memoria, pero se diferencia de la tradicional porque residen dentro del procesador (velocidad R/W). El grupo de N Registros de una mquina, se denomina memoria local o de anotaciones. Los registros almacenan informacin representada por BITS. Su tamao est en en proporcin a la cantidad de bits que puede almacenar.

0 1 2 3
Nro. Registro

CONCEPTOS...

BUSES

Grupo de alambres usados para transmitir seales en paralelo, no seriales. Con un BUS podemos copiar el contenido de un registro a otro. Segn la direccin pueden ser: UNIDIRECCIONAL (registros fuente o destino) BIDIRECCIONAL NO SIMULTNEA (registros fuente y destino a la vez)

Un bus que puede conectarse y desconectarse elctricamente de los buses a los que estn conectados fsicamente se denomina TRIESTADO

CONCEPTOS...
Registro de 8 bits que recibe datos de un bus de entrada y entrega datos a un bus de salida. Para ello usa seales de control como CK que activa la carga de registro y DE que habilita la salida de los datos del registro. Cuando CK est desactivada, el contenido del registro no es afectado por las seales del bus.

Cuando DE est activo, el contenido de registro pasa al bus de salida.


Qu sucedera si existiese otro registro R conectado al bus de salida de nuestro registro. Cmo transferiramos informacin de un registro a otro. La mayora de las computadoras tiene 3 buses, de datos, de direccin y de control.

CONCEPTOS...

BUS

CONCEPTOS...

CONCEPTOS...
MULTIPLEXORES
Y DECODIFICADORES

Multiplexor: 2n entradas de datos (lneas o buses) y una salida de idntica estructura que la entrada. Adems de una entrada de control de n bits que encamina una de las entradas a la salida. El mecanismo que encamina su nica entrada a una de sus 2n salidas segn su lnea de control se llama Demultiplexor.
Decodificador: tiene n lneas de entrada y 2nde salida. Siempre tiene una sola salida activada (1) y las dems en 0 (desactivada). Su inverso es el Codificador.

CONCEPTOS...

CONCEPTOS...
UNIDADES ARITMTICAS Y LGICAS
REGISTROS DE CORRIMIENTO

ALU: Toma dos entradas de n bits y produce su suma como salida. Adems de algunas entradas y salidas de control. F0 y F1 determinan qu funcin deber realizar (control de entrada).
N si la salida es negativa y Z si es cero (control de salida). Registro de Corrimiento: puede desplazar su entrada un bit a la I/D.

CONCEPTOS...

CONCEPTOS...
RELOJES Es un dispositivo que emite una secuencia peridica de impulsos. Estos impulsos definen los ciclos de mquina.
En cada ciclo tiene lugar alguna actividad bsica, como sera una microinstruccin. Un ciclo dividido, recibe el nombre de subciclo y se justifica ante la necesidad de identificar la ejecucin de las partes de una microinstruccin. En un reloj de 4 salidas, la principal es la de arriba, las restantes se derivan de ella al someterlas a retardos.

CONCEPTOS...

UNA MICROARQUITECTURA TPICA

Cmo se interconectan los componentes bsicos (anteriormente mencionados)

La ruta de datos Microinstrucciones

Cronologa de las microinstrucciones


Secuenciamiento de las microinstrucciones

LA RUTA DE DATOS I
Es la parte de la CPU que contiene a la ALU, sus entradas y sus salidas. En nuestro caso tenemos 16 registros idnticos de 16 bits (PC, AC, SP...) que conforman la memoria de anotaciones. Cada registro puede sacar su contenido de los buses A o B o a ambos y tomarlo de un tercero C.

Los buses A y B alimentan a la ALU. Esta puede realizar las siguientes funciones: A + B, A AND B, A, NOT A. Las entradas de control de la ALU F0 y F1 indican la operacin a realizar. Las salidas de control (bits de estado) son N para indicar si es negativo el resultado (se coloca en 1) y Z para indicar si el resultado es 0 (se coloca en 1).

LA RUTA DE DATOS II
La salida de la ALU pasa por un registro de corrimiento que puede desplazar un bit a la I/D o bien no realizar ningn desplazamiento. Los buses A y B no estn conectados directamente a la ALU, existen 2 registros buffer intermedios. Esto se debe a que la ALU calcula continuamente la salida en funcin de las entradas y el cdigo en funcin, con lo cual si no existiesen un clculo del tipo A = A + B, generara problemas. Quienes son los encargados de controlar los buffers son L0 y L1. Los registros MAR y MBR, nos permiten la comunicacin con la memoria. MAR puede cargarse a partir de B, en paralelo con una operacin de la ALU. La lnea M0 controla la carga de MAR.
PROCESAMIENTO DE DATOS I

LA RUTA DE DATOS III


En las operaciones de escritura se puede cargar el MBR con la salida del registro de corrimiento, en paralelo con el almacenamiento en la memoria de anotaciones o M1 controla la carga del MBR a partir de la salida del registro de corrimiento, M2 y M3 controlan las lecturas y escrituras de memoria. AMUX, es un multiplexor que con la lnea A0, permite seleccionar si la entrada de la ALU ser el contenido del bus A o el contenido del registro MBR.

PROCESAMIENTO DE DATOS I

LA RUTA DE DATOS

RUTA DE DATOS

PROCESAMIENTO DE DATOS I

LA RUTA DE DATOS

PROCESAMIENTO DE DATOS I

MICROINSTRUCCIONES
Para controlar la trayectoria de los datos, son necesarias:
16 para controlar la carga del bus A de registros internos 16 para controlar la carga del bus B de registros internos

16 para controlar la carga de la memoria local, bus C


2 para controlar los buffers A y B 2 para controlar las funciones de la ALU

2 para controlar el registro de corrimiento


4 para controlar MAR y MBR 2 para indicar si es R/W de memoria

1 controlar AMUX
En total, son 61 seales para realizar un ciclo en la Ruta de Datos
PROCESAMIENTO DE DATOS I

MICROINSTRUCCIONES
Un CICLO es:
Inicializar los buses A y B Almacenarlos en los buffers

Pasarlos por la ALU y el Registro de Corrimiento


Almacenar su resultado en memoria interna o MBR Cargarse el MAR

Registro de Control de 61 bits = seales de control


PROCESAMIENTO DE DATOS I

MICROINSTRUCCIONES

PROCESAMIENTO DE DATOS I

MICROINSTRUCCIONES
AMUX: 0 entra de Buffer A, 1 entra de MBR ALU: 0 = A+B, 1=A AND B, 2=A, 3=NOT A SH: Registro de corrimiento, 0=nada, 1=derecha, 2=izquierda MBR: Carga desde el Reg. de Corrimien., 0=no carga, 1=carga MAR: Carga del MAR a partir de B, 0=no carga, 1=carga RD: Peticin de lectura de memoria. 0=no pide, 1=carga el MBR de Memoria WR: Peticin de escritura de memoria, 0=no pide, 1=escribe el MBR en Memoria. ENC: Control de almacenamiento en registros de memoria interna, 0=no almacena, 1=almacena A,B: Selecciona la fuente del Bus, 0=PC, 1=AC, etc. C: Selecciona el registro donde almacenar. Si ENC=1 => 0=PC
PROCESAMIENTO DE DATOS I

CRONOLOGA DE LAS MICROINSTRUCCIONES


El orden en que se ejecutan las rdenes para controlar la Ruta de Datos, se llama cronologa. Para ello utilizaremos un reloj de 4 fases o subciclos. Carga de la microinstruccin en el MIR (Reg. de Mic.) Salida del contenido de los registros a los Buses A y B y su captura por los registros A y B

Una vez que se estabilizan las entradas a la ALU, se genera la salida estable de ALU (Operacin elegida) y se carga el MAR si es necesario
Una vez estabilizada la salida del Registro de Corrimiento, se almacena el bus C en la memoria de anotaciones y el MBR si es necesario

PROCESAMIENTO DE DATOS I

CRONOLOGA DE LAS MICROINSTRUCCIONES

En el diagrama de bloques, se observa a la Izquierda la Ruta de Datos y a la derecha la seccin de control Memoria de control: almacenamiento de las microinstrucciones. Puede ser R, R/W. En nuestro ejemplo: Microinstrucciones de 32 bits Espacio de direcciones de 256 palabras MPC: cumple la funcin de MAR MIR: cumple la funcin de MBR

PROCESAMIENTO DE DATOS I

CRONOLOGA DE LAS MICROINSTRUCCIONES

PROCESAMIENTO DE DATOS I

SECUENCIAMIENTO DE LAS MICROINSTRUCCIONES


Cmo se extrae la siguiente microinstruccin? Secuencia inmediata Saltos condicionales Saltos Condicionales
ADDR: direccin del sucesor potencial COND: si se extrae de Secuencia inmediata (MPC + 1) o de ADDR

MMUX: es un multiplexor que encamina a MPC+1 o ADDR al MPC COND: 0=MPC+1, 1=Jump ADDR si N es 1, 2=Jump ADDR si Z=1, 3=Jump ADDR incondicionalmente.

PROCESAMIENTO DE DATOS I

MACROARQUITECTURA

Arquitectura de Nivel 2-3 Arquitectura del Nivel de mquina convencional que deber ser soportado por el intrprete que se ejecuta en la mquina de nivel 0 * Pilas * Juego de Macroinstrucciones

PROCESAMIENTO DE DATOS I

PILAS
Definicin Componentes (SP)

Operaciones
PUSH POP Aplicaciones Direccionamiento

Variables locales
Recursividad Etc.
PROCESAMIENTO DE DATOS I

EL JUEGO DE MACROINSTRUCCIONES
4096 palabras de 16 bits Registros:

Program Counter (PC)


Stack Pointer (SP) Acumulator (AC) Modos de Direccionamiento Directo

Indirecto
Local Desplazamiento
PROCESAMIENTO DE DATOS I

EL JUEGO DE MACROINSTRUCCI ONES

PROCESAMIENTO DE DATOS I

PROCESAMIENTO PIPELINE
Conformar un Hardware con varias unidades funcionales para despus unirlas para que trabajen en lnea o en forma escalonada

Obtenemos as un promedio de ejecucin de una instruccin por ciclo y no una instruccin cada 5 ciclos
PROCESAMIENTO DE DATOS I

PROCESAMIENTO PIPELINE
Observaciones: Los saltos condicionales (ver B en diagrama), alteran la lnea de procesamiento, pueden ser:
- Condicionales - Incondicionales

- Iterativos

PROCESAMIENTO DE DATOS I

MEMORIA CACH
Memoria pequea y rpida, bajo el control del microprograma. C: Tiempo de acceso a cach M: Tiempo de acceso a memoria H: Proporcin de aciertos Tiempo medio de Acceso es C+(1-H)M Proporcin de Fallas 1-H

Se basa en el principio de localidad, en donde las referencias a las memorias realizadas en un intervalo de tiempo corto, tienden a usar solo una fraccin de la memoria total.
PROCESAMIENTO DE DATOS I

MEMORIA CACH
Memoria Cach ASOCIATIVA: cada rengln contiene el nmero de bloque y su entrada

PROCESAMIENTO DE DATOS I

MEMORIA CACH
Memoria Cach de MAPEO DIRECTO: Calcula el nmero de rengln de la direccin A como (A/4) mdulo 1024

PROCESAMIENTO DE DATOS I

MEMORIA CACH
Memoria Cach ASOCIATIVA AGRUPADA: Combinacin de las dos anteriores.

PROCESAMIENTO DE DATOS I

EJEMPLO: MICROARQUITECTURA INTEL 8088

PROCESAMIENTO DE DATOS I

You might also like