Upload
celine-depardieu
View
14
Download
0
Embed Size (px)
DESCRIPTION
Práctica 02
Citation preview
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.
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:
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.