4
Sistemas Digitales II E. Romero A. – ITSON Diseño de un procesador de 8 bits El procesador simplificado mostrado en la figura 1, puede ser implementado mediante el esquema de procesador discreto mostrado en la figura 2. A grandes rasgos, en éste esquema puede distinguirse 2 grandes bloques: el primero de ellos, formado por la interconexión en bus de un conjunto de registros y la ALU, denominado trayectoria de datos y otro que es la unidad de control. Procesador y control Memoria Bus de direcciones Bus de datos (escritura) Bus de datos (lectura) Figura 1: Procesador básico simplificado Analizando más detalle el esquema, se puede notar que el procesador discreto cuenta con las siguientes partes: PC Apuntador de programa: Es un contador el cual se incrementa al recibir un “1” lógico en la línea (X 5 ) de incremento. ACC Registro acumulador: Es un registro de tipo “D” múltiple (uno para cada bit del bus de datos) el cual almacenará la salida del MBR cuando reciba un “1” lógico en la línea X 9 . IR Registro de instrucción: Es un registro de tipo “D” múltiple (uno para cada bit del bus de datos) el cual almacenará la salida del MBR cuando reciba un “1” lógico en la línea X 1 . MAR Registro de direccionamiento de memoria: Es un registro de tipo “D” múltiple (uno para cada bit del bus de direcciones) que se cargará con la salida de PC o de la concatenación de MBR y MBR AUX (dependiendo del MUX 1). Su salida selecciona la localidad de memoria a leer o escribir. MBR Registro buffer de memoria: Es un registro de tipo “D” múltiple (uno para cada bit del bus de datos) que se cargará con la salida de ACC o del contenido de la dirección de memoria activa (dependiendo del MUX 2). Su salida puede ser enviada a casi todos los demás registros y a la ALU. Cabe señalar que todo que vaya a ser leído o escrito a memoria tiene que pasar a través del MBR. CCR Registro de código de condiciones: Es un registro de tipo “D” múltiple (uno para cada bandera) que almacena información que indican el estado de la última operación que realizó el ALU. T Registro de tiempos: Es un registro contador. Su función es la de dar los tiempos de cada parte de la instrucción (microinstrucción). Cada vez que recibe un pulso de reloj se incrementa hasta que recibe un “1” lógico en la línea de “clear” (fin de

Dis Proc 8bits

Embed Size (px)

DESCRIPTION

Se describen los distintos registros de un procesador de 8 bits

Citation preview

  • Sistemas Digitales II

    E. Romero A. ITSON

    Diseo de un procesador de 8 bits

    El procesador simplificado mostrado en la figura 1, puede ser implementado mediante el esquema de procesador discreto mostrado en la figura 2. A grandes rasgos, en ste esquema puede distinguirse 2 grandes bloques: el primero de ellos, formado por la interconexin en bus de un conjunto de registros y la ALU, denominado trayectoria de datos y otro que es la unidad de control.

    Procesadory

    controlMemoria

    Bus de direcciones

    Bus de datos (escritura)

    Bus de datos (lectura)

    Figura 1: Procesador bsico simplificado

    Analizando ms detalle el esquema, se puede notar que el procesador discreto cuenta con las siguientes partes: PC Apuntador de programa: Es un contador el cual se incrementa al recibir un 1

    lgico en la lnea (X5) de incremento. ACC Registro acumulador: Es un registro de tipo D mltiple (uno para cada bit del bus

    de datos) el cual almacenar la salida del MBR cuando reciba un 1 lgico en la lnea X9.

    IR Registro de instruccin: Es un registro de tipo D mltiple (uno para cada bit del

    bus de datos) el cual almacenar la salida del MBR cuando reciba un 1 lgico en la lnea X1.

    MAR Registro de direccionamiento de memoria: Es un registro de tipo D mltiple (uno para cada bit del bus de direcciones) que se cargar con la salida de PC o de la concatenacin de MBR y MBRAUX (dependiendo del MUX 1). Su salida selecciona la localidad de memoria a leer o escribir.

    MBR Registro buffer de memoria: Es un registro de tipo D mltiple (uno para cada bit

    del bus de datos) que se cargar con la salida de ACC o del contenido de la direccin de memoria activa (dependiendo del MUX 2). Su salida puede ser enviada a casi todos los dems registros y a la ALU. Cabe sealar que todo que vaya a ser ledo o escrito a memoria tiene que pasar a travs del MBR.

    CCR Registro de cdigo de condiciones: Es un registro de tipo D mltiple (uno para

    cada bandera) que almacena informacin que indican el estado de la ltima operacin que realiz el ALU.

    T Registro de tiempos: Es un registro contador. Su funcin es la de dar los tiempos

    de cada parte de la instruccin (microinstruccin). Cada vez que recibe un pulso de reloj se incrementa hasta que recibe un 1 lgico en la lnea de clear (fin de

  • Sistemas Digitales II

    E. Romero A. ITSON

    instruccin), entonces se pone en cero de nuevo para que el procesador inicie la ejecucin de la instruccin siguiente.

    ALU Unidad de aritmtica y lgica; Realiza el procesamiento de la informacin. Es un

    circuito con 3 entradas de varios bits; dos de las cuales son los datos que se procesarn de acuerdo a lo indicado por la tercera entrada. La salida es el resultado de la operacin seleccionada y las condiciones de salida de esta operacin (acarreo, sobreflujo, cero, signo, etc).

    Unidad de control: Es la encargada de generar las seales que forman las

    microinstrucciones (salidas X), estas se producen de acuerdo a la instruccin que se ejecutando (IR) y al tiempo en que se encuentre esta instruccin (T).

    Figura 2: Esquema de la arquitectura interna de un procesador bsico.

  • Sistemas Digitales II

    E. Romero A. ITSON

    Microinstrucciones Las proposiciones en un lenguaje de alto nivel, nos ocultan en gran medida el proceso que sigue el procesador para realizar sus operaciones. Esto permite que el programador se concentre ms en el problema a resolver que en las operaciones que realiza el procesador. Ya se vio que cada proposicin puede convertirse en una o ms instrucciones del juego de instrucciones del procesador. De la mismo forma, cada una de las instrucciones del juego de instrucciones de un procesador se descompone en grupos de instrucciones mas sencillas llamadas microinstrucciones. Al conjunto de microinstrucciones que conforman cada instruccin (del procesador) se llama microprograma. El uso de instrucciones permite que los componentes internos del procesador sean invisibles para el programador, y slo maneje los registros que tienen relacin con el programa. Las microinstrucciones que el procesador bsico propuesto puede realizar son sumamente sencillas, como por ejemplo, la transferencia de informacin de un registro a otro. Las microinstrucciones se producen activando alguna lnea X determinada; por ejemplo para incrementar el PC, la lnea X5 debe ponerse en 1. para enviar el contenido del PC al registro MAR, debe ponerse en 1 la lnea X6, etc. Microprogramas para cada instruccin Un microprograma es la secuencia de microinstrucciones que se deben producir para que una instruccin del procesador se realice. Para definir la secuencia de las microinstrucciones, se debe considerar qu instruccin se est ejecutando y en qu tiempo o etapa se encuentra la instruccin. El registro IR indica que instruccin se est ejecutando y el contador T indica el tiempo. El microprograma define el comportamiento de la unidad de control que produce las seales X. Cada lnea o rengln del microprograma define bajo que condiciones de entrada de seales q y t se deben producir alguna seal X, esto se representa en la forma: Condicin de entrada: Salida X Por ejemplo: t3q4: MAR PC Indica que la microinstruccin MAR PC debe efectuarse cuando el contador de tiempo sea 3 y el registro IR tenga un 4 (cdigo de la operacin). Otra forma de verlo es: Cuando IR = 4 y T = 3, la salida X6 debe ser 1 (al activarse X6 se carga MAR con el valor de PC). El contador T se incrementar por cada pulso de reloj desde cero (al inicio de la instruccin) hasta que se limpie debido a una seal de X10 = 1 (clear) producida por la microinstruccin T 0, la cual es la ltima microinstruccin de la instruccin, esto se repite peridicamente para cada instruccin del procesador.

  • Sistemas Digitales II

    E. Romero A. ITSON

    El registro de instruccin IR se carga con el cdigo de la instruccin a ser ejecutada mediante las primeras tres microinstrucciones, esta es la forma en que el procesador identifica la instruccin, a estas microinstrucciones se les conoce como ciclo fetch o de bsqueda de cdigo. Posteriormente IR define que instruccin se est realizando, de tal forma que para tiempos mayores de 2, IR determina que microinstruccin corresponde a cada tiempo. Ciclo fetch: t0: MAR PC t1: MBR M, PC PC + 1 t2: IR MBR T igual a cero es condicin suficiente para que se realice la microinstruccin MAR PC. Despus del pulso de reloj, T es igual a uno y esto es condicin suficiente para que se realicen las microinstrucciones MBR M y PC PC + 1. En el siguiente pulso de reloj T, es igual a dos, y se realiza la microinstruccin IR MBR. En este momento IR contiene el cdigo de la instruccin a ser realizada y PC apunta la direccin inmediata a este. Cuando T sea igual a tres, se realizar la microinstruccin cuyas condicin sea t3 and OPR, donde opr es el contenido de IR. Despus se incrementar T y se ejecutar t4OPR, y as hasta que T sea puesta en cero, y el ciclo se inicia de nuevo con la siguiente instruccin cuando T es igual a cero.