3
Universidad Nacional Autónoma de México Facultad de Ciencias Arquitectura de computadoras 2013-1 Profesor: José de Jesús Galaviz Casas Ayudante de laboratorio: Roberto Monroy Argumedo Práctica 2 Lógica secuencial Register File Un register file consiste de un conjunto de registros en los cuales se puede escribir y leer indicando el número del registro. Para leer sólo es necesario indicar el número de registro, la salida será la información contenida en ese registro. Para escribir, son necesarias tres entradas: el número de registro en el que se va a escribir, los datos a escribir y un pulso de reloj que controle la escritura del registro. Ejercicio 1 (3.5 pts) Simular un register file en logisim utilizando 4 registros de 8 bits construidos con flip-flops tipo D. El register file tendrá dos puertos de lectura y uno de escritura: Para la lectura se tendrán dos entradas que indican que registros se quieren leer ( Read register numer 1 y Read register number 2) y dos salidas para entregar los datos de los registros solicitados (Read data 1 y Read data 2 respectivamente). Para la escritura son tres entradas, una para indicar el registro en el que se quiere escribir (Write Register), la segunda serán los datos a escribir ( Write data) y la tercera el reloj con el cual se controla la escritura (Write). Hay que ser especialmente cuidadosos en el diseño de la lógica necesaria para el reloj, ya que una mala implementación borrara todos los registros cuando se escriba.

Práctica 02

Embed Size (px)

DESCRIPTION

Práctica 02

Citation preview

Page 1: Práctica 02

Universidad Nacional Autónoma de MéxicoFacultad de Ciencias

Arquitectura de computadoras 2013-1

Profesor: José de Jesús Galaviz CasasAyudante de laboratorio: Roberto Monroy Argumedo

Práctica 2Lógica secuencial

Register File

Un register file consiste de un conjunto de registros en los cuales se puede escribir y leer indicando el número del registro. Para leer sólo es necesario indicar el número de registro, la salida será la información contenida en ese registro. Para escribir, son necesarias tres entradas: el número de registro en el que se va a escribir, los datos a escribir y un pulso de reloj que controle la escritura del registro.

Ejercicio 1 (3.5 pts) Simular un register file en logisim utilizando 4 registros de 8 bits construidos con flip-flops tipo D. El register file tendrá dos puertos de lectura y uno de escritura:

Para la lectura se tendrán dos entradas que indican que registros se quieren leer (Read register numer 1 y Read register number 2) y dos salidas para entregar los datos de los registros solicitados (Read data 1 y Read data 2 respectivamente).

Para la escritura son tres entradas, una para indicar el registro en el que se quiere escribir (Write Register), la segunda serán los datos a escribir (Write data) y la tercera el reloj con el cual se controla la escritura (Write). Hay que ser especialmente cuidadosos en el diseño de la lógica necesaria para el reloj, ya que una mala implementación borrara todos los registros cuando se escriba.

Page 2: Práctica 02

Ejercicio 2 (3.5 pts) Conectar el register file a la ALU de la práctica 1, las salidas de lectura del register file estarán conectadas a las entradas de la ALU y la salida de la register file estará conectada a la entrada de escritura del register file. Se deberá entregar un circuito que recibirá 18 bits:

3 bits para indicar la operación.2 bits para indicar el primer registro (Primer operando).2 bits para indicar el segundo registro (Segundo operando).2 bits para indicar el registro en el que se escribirá.8 bits para recibir un entero (Segundo operando).1 bit para indicar que se tomará como segundo operando, 0 si se operará con el valor

guardado en el segundo registro de lectura o 1 si se opera con el entero indicado con 8 bits.

Ejemplos:

0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0

Como el último bit es 0 , entonces se tomara el segundo registro para operar, es decir el registro 01. La operación 010 corresponde a la suma, por lo que la operación será: suma el valor guardado en el registro 00 con el valor guardado en el registro 01 y guarda el resultado el registro 10.

0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 0 1

Como el último bit es 1 , entonces se tomara el valor indicado por los 8 bits para operar, es decir el valor 10101010. El código 000 corresponde a la operación AND , por lo que la operación será: el valor guardado en el registro 00 AND 10101010, el resultado guardará en el registro 10.

Máquina de estados finitos

Ejercicio 3 (3 pts.) Simular en logisim el circuito secuencial indicado por el siguiente autómata:

Page 3: Práctica 02

Recuerda:¿Cuántos bits son necesarios para almacenar el estado?¿Cuántas funciones lógicas son necesarias para modificar el estado?¿Cuáles son las entradas?En base a esto, realiza la tablas de verdad y los mapas de Karnaugh necesarios.

Observaciones

Se entregaran tres archivos:

RegisterFile.circ contendrá 2 circuitos (aparte de los necesarios para la ALU): el ejercicio 1 y el ejercicio 2.

Automata.circ contendrá el circuito del ejercicio 3.

Automata.pdf contendrá las tablas de verdad, los mapas de Karnaugh y las funciones lógicas usadas para diseñar el circuito del ejercicio 3.