You are on page 1of 39

3.

BUSES DE DATOS
MSc. Galo Valverde

EL NIVEL DE LA MICROPROGRAMACIÓN
E

V
O L

Para cada instrucción de un circuito específico. Uno para dividir, sumar, etc....

U
C I Ó N

Las instrucciones son realizadas paso a paso por un Intérprete que se ejecuta en el nivel de multiprogramación (Máquina Multinivel)
Máquina Física Nivel n

EL NIVEL DE LA MICROPROGRAMACIÓN

Ejecutar Intérpretes de otras máquinas virtuales

Escribiendo programas que controlen los registros, buses, unidades aritméticas y lógicas, memorias y otros componentes del Hardware de las máquinas.

pero se diferencia de la tradicional porque residen dentro del procesador (velocidad R/W). El grupo de N Registros de una máquina. REGISTROS 0 1 0 1 Dispositivo capaz almacenar información. Registro . Es una forma de memoria. Los registros almacenan información representada por BITS.. se denomina memoria local o de anotaciones..CONCEPTOS. Su tamaño está en en proporción a la cantidad de bits que puede almacenar. 0 1 2 3 Nro.

BUSES Grupo de alambres usados para transmitir señales en paralelo.CONCEPTOS.. Con un BUS podemos copiar el contenido de un registro a otro. no seriales. Según la dirección pueden ser: UNIDIRECCIONAL (registros fuente o destino) ó BIDIRECCIONAL NO SIMULTÁNEA (registros fuente y destino a la vez) Un bus que puede conectarse y desconectarse eléctricamente de los buses a los que están conectados físicamente se denomina TRIESTADO ..

. . Cuando CK está desactivada.. Cómo transferiríamos información de un registro a otro. de datos. La mayoría de las computadoras tiene 3 buses. Para ello usa señales de control como CK que activa la carga de registro y DE que habilita la salida de los datos del registro. Qué sucedería si existiese otro registro R conectado al bus de salida de nuestro registro. de dirección y de control. Registro de 8 bits que recibe datos de un bus de entrada y entrega datos a un bus de salida. Cuando DE está activo. el contenido del registro no es afectado por las señales del bus.CONCEPTOS. el contenido de registro pasa al bus de salida.

. BUS .CONCEPTOS..

CONCEPTOS... .

El mecanismo que encamina su única entrada a una de sus 2n salidas según su línea de control se llama Demultiplexor. Su inverso es el Codificador. . MULTIPLEXORES Y DECODIFICADORES Multiplexor: 2n entradas de datos (líneas o buses) y una salida de idéntica estructura que la entrada. Decodificador: tiene n líneas de entrada y 2nde salida...CONCEPTOS. Además de una entrada de control de n bits que encamina una de las entradas a la salida. Siempre tiene una sola salida activada (1) y las demás en 0 (desactivada).

.CONCEPTOS. ..

. Además de algunas entradas y salidas de control..CONCEPTOS. UNIDADES ARITMÉTICAS Y LÓGICAS REGISTROS DE CORRIMIENTO ALU: Toma dos entradas de n bits y produce su suma como salida. . F0 y F1 determinan qué función 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.. ..

En un reloj de 4 salidas.. las restantes se derivan de ella al someterlas a retardos. recibe el nombre de subciclo y se justifica ante la necesidad de identificar la ejecución de las partes de una microinstrucción. RELOJES Es un dispositivo que emite una secuencia periódica de impulsos. En cada ciclo tiene lugar alguna actividad básica. como sería una microinstrucción. Un ciclo dividido. Estos impulsos definen los ciclos de máquina. .CONCEPTOS. la principal es la de arriba..

..CONCEPTOS..

UNA MICROARQUITECTURA TÍPICA Cómo se interconectan los componentes básicos (anteriormente mencionados) • La ruta de datos • Microinstrucciones • Cronología de las microinstrucciones • Secuenciamiento de las microinstrucciones .

LA RUTA DE DATOS I Es la parte de la CPU que contiene a la ALU. Cada registro puede sacar su contenido de los buses A o B o a ambos y tomarlo de un tercero C. 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). NOT A. AC. . sus entradas y sus salidas.. En nuestro caso tenemos 16 registros idénticos de 16 bits (PC. Esta puede realizar las siguientes funciones: A + B. A. SP. Las entradas de control de la ALU F0 y F1 indican la operación a realizar.. A AND B.) que conforman la memoria de anotaciones. Los buses A y B alimentan a la ALU.

generaría problemas. nos permiten la comunicación con la memoria. Los registros MAR y MBR.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 ningún desplazamiento. en paralelo con una operación de la ALU. con lo cual si no existiesen un cálculo del tipo A = A + B. existen 2 registros buffer intermedios. Quienes son los encargados de controlar los buffers son L0 y L1. La línea M0 controla la carga de MAR. MAR puede cargarse a partir de B. Esto se debe a que la ALU calcula continuamente la salida en función de las entradas y el código en función. Los buses A y B no están conectados directamente a la ALU. PROCESAMIENTO DE DATOS I .

permite seleccionar si la entrada de la ALU será el contenido del bus A o el contenido del registro MBR. AMUX. es un multiplexor que con la línea A0. 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.LA RUTA DE DATOS III En las operaciones de escritura se puede cargar el MBR con la salida del registro de corrimiento. PROCESAMIENTO DE DATOS I .

LA RUTA DE DATOS RUTA DE DATOS PROCESAMIENTO DE DATOS I .

LA RUTA DE DATOS PROCESAMIENTO DE DATOS I .

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 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.MICROINSTRUCCIONES Para controlar la trayectoria de los datos. son 61 señales 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 = señales de control PROCESAMIENTO DE DATOS I .

MICROINSTRUCCIONES PROCESAMIENTO DE DATOS I .

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

de Mic. •Carga de la microinstrucción en el MIR (Reg. se genera la salida estable de ALU (Operación elegida) y se carga el MAR si es necesario •Una vez estabilizada la salida del Registro de Corrimiento. Para ello utilizaremos un reloj de 4 fases o subciclos. se almacena el bus C en la memoria de anotaciones y el MBR si es necesario PROCESAMIENTO DE DATOS I .) •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.CRONOLOGÍA DE LAS MICROINSTRUCCIONES El orden en que se ejecutan las órdenes para controlar la Ruta de Datos. se llama cronología.

En nuestro ejemplo: Microinstrucciones de 32 bits Espacio de direcciones de 256 palabras MPC: cumple la función de MAR MIR: cumple la función de MBR PROCESAMIENTO DE DATOS I .CRONOLOGÍA DE LAS MICROINSTRUCCIONES En el diagrama de bloques. Puede ser R. se observa a la Izquierda la Ruta de Datos y a la derecha la sección de control Memoria de control: almacenamiento de las microinstrucciones. R/W.

CRONOLOGÍA DE LAS MICROINSTRUCCIONES PROCESAMIENTO DE DATOS I .

SECUENCIAMIENTO DE LAS MICROINSTRUCCIONES Cómo se extrae la siguiente microinstrucción? Secuencia inmediata Saltos condicionales Saltos Condicionales ADDR: dirección 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. PROCESAMIENTO DE DATOS I . 3=Jump ADDR incondicionalmente. 2=Jump ADDR si Z=1.

MACROARQUITECTURA Arquitectura de Nivel 2-3 Arquitectura del Nivel de máquina convencional que deberá ser soportado por el intérprete que se ejecuta en la máquina de nivel 0 * Pilas * Juego de Macroinstrucciones PROCESAMIENTO DE DATOS I .

PILAS Definición 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 después unirlas para que trabajen en línea o en forma escalonada Obtenemos así un promedio de ejecución de una instrucción por ciclo y no una instrucción cada 5 ciclos PROCESAMIENTO DE DATOS I .

pueden ser: .Iterativos PROCESAMIENTO DE DATOS I .Incondicionales . alteran la línea de procesamiento.Condicionales .PROCESAMIENTO PIPELINE Observaciones: Los saltos condicionales (ver B en diagrama).

bajo el control del microprograma. PROCESAMIENTO DE DATOS I . en donde las referencias a las memorias realizadas en un intervalo de tiempo corto. tienden a usar solo una fracción de la memoria total. C: Tiempo de acceso a caché M: Tiempo de acceso a memoria H: Proporción de aciertos Tiempo medio de Acceso es C+(1-H)M Proporción de Fallas 1-H Se basa en el principio de localidad.MEMORIA CACHÉ Memoria pequeña y rápida.

MEMORIA CACHÉ Memoria Caché ASOCIATIVA: cada renglón contiene el número de bloque y su entrada PROCESAMIENTO DE DATOS I .

MEMORIA CACHÉ Memoria Caché de MAPEO DIRECTO: Calcula el número de renglón de la dirección A como (A/4) módulo 1024 PROCESAMIENTO DE DATOS I .

PROCESAMIENTO DE DATOS I .MEMORIA CACHÉ Memoria Caché ASOCIATIVA AGRUPADA: Combinación de las dos anteriores.

EJEMPLO: MICROARQUITECTURA INTEL 8088 PROCESAMIENTO DE DATOS I .