Está en la página 1de 5

Procesador Maxinez

ARQUITECTURA DE COMPUTADORAS

María Eugenia S. Sánchez Gálvez


INTEGRANTES:
Méndez Corona Jacqueline
Aguilar Tlapale Iván
López Torres José Armando
Capilla Amaro Osvaldo
Orozco Zavaleta Jesús Humberto
Procesador Maxinez

Del libro “VHDL el arte de programar sistemas digitales” autor David G. Maxinez y Jessica Alcala
Jara sección 8.2 “Diseño de un Microprocesador”

I. Dibujar de nuevo los módulos del procesador; en color azul los módulos y los buses
que tienen que ver con el control, en color verde los datos, en color rojo las
direcciones.
Realizar las tablas de los módulos implicados y explicar qué función realiza cada Módulo. Para
realizar la tabla de unidad de control, recuerde que es una tabla de estados.

Edo Entradas Edo Salidas Comentarios


Presente Futuro
Reset=1; D0 Pcontrol<=00000000,
rw<=0, Cs<=11110
D0 Irq=10 o D1 Cs<=11100 Se respalda la información que hay en los
01 acumuladores A y B, la dirección(de retorno) del
PC se guarda en el STACK.
Realice su diagrama de estados.

Edo Entradas Edo Salidas Comentarios


Presente Futuro
Reset=1; D0 Pcontrol<=0000000
0, rw<=0,
Cs<=11110
D0 Irq=10 o 01 D1 Cs<=11100 Se respalda la información que hay en los
Otro: acumuladores A y B, la dirección(de retorno)
D3 Cs<=11111 del PC se guarda en el STACK.
D1 Irq=10 o D1 Pcontrol<=0100000 Comprueba si se ha entrado a una
Irq=01 0 interrupción.
Otro: D3 Pcontrol<=1000000
0
Cs<=11110
D2 D5 Cs<=Cs
D3 D4 Cs<=10110, rw<=1 Se lee la instrucción.
D4 Datoin=0000 D2 Cs<=00001 Decodificación de instrucciones y determinar
D4 Datoin=0001 D5 Cs<=00010 el camino que siguen las instrucciones. Las
D4 Datoin=0010 D5 Cs<=00011 diferentes opciones son para los diferentes
D4 Datoin=0011 D5 Cs<=00100 tipos de instrucciones.
D4 Datoin=0100 D5 Cs<=00101
D4 Datoin=0101 D5 Cs<=00110
D4 Datoin=0110 D6 Cs<=11111
D4 Datoin=0111 D7 Cs<=11111
D4 Datoin=1000 D8 Cs<=11111
D4 Datoin=1001 D9 Cs<=00111
D4 Datoin=1010 D0 Cs<=11011
D4 Datoin=1011 Si rc(0) Cs<=11111 Comprueba si la condición de salto es
=1: verdadera, si es verdadera pasa el estado 10,
D10 sino pasa al estado 0
Si no:
D0
D4 Datoin=1100 Si rc(2) Cs<=11111
=1:
D10
Si no:
D0
D4 Datoin=1101 Si rc(1) Cs<=11111
=1:
D10
Si no:
D0
D4 Datoin=1110 Si rc(3) Cs<=11111
=1:
D10
Si no:
D0
D5 D11 Cs<=10101 Se coloca el resultado de la operación en el
bus de datos interno.
D6 D12 Cs<=10110, rw<=1 Se da una orden para introducir un dato.
D7 D11 Cs<=10110, rw<=1 Carga un dato en el acumulador A.
D8 D15 Cs<=10110, rw<=1 Carga un dato en el acumulador B.
D9 D0 Cs<=11000 La dirección del índice se coloca en Sel-Dir y
se habilita Tri-Est.
D10 D16 Cs<=10110, rw<=1 Se introduce el dato que determina el valor
del salto en SEL-DATO.
D11 D0 Cs<=10001, rw<=0 Se coloca un dato en el acumulador A.
D12 D13 Cs<=11111, rw<=0 El dato introducido en el estado anterior
PControl(0)<=datoin corresponde a la parte baja de la dirección a
(0)...(7) cargar en el registro índice.
D13 D14 Cs<=10110, rw<=1 Introducir un segundo dato.
D14 D0 Cs<=11010, rw<=0 El segundo dato introducido es la parte alta.
PControl(4)<=datoin
(0)...(3)
D15 D0 Cs<=10010, rw<=0 Se coloca un dato en el acumulador B.
D16 D17 Cs<=10000, Determina la longitud del salto.
f(0)<=datoin(0)...(2)
f(3)...(7)<=‘0’
D17 D0 Cs<=11110 Nueva dirección se coloca en el contador del
programa.
Edo Reset=0
Futuro

Leer el conjunto de instrucciones y clasificarlos en tres grupos: Transferencia de datos,


manipulación de datos y control.

Transferencia: STTA, LDX M, LDDA, LDDB


Modificación: ABA, SBA, ANAB, ORAB, NEG, EOAB
Control: BCS, BEQ, BMI, BVS, RTI, INX
En la ALU ¿cómo se definen los bits de estado en cada operación?

El registro de códigos de condición (rcc) de 4 bits indica cómo es el resultado de una operación.
Estos bits son: Acarreo (C), Negativo (N), Cero (Z) y Sobreflujo (V).

El acarreo se obtiene con cout.

El negativo se obtiene con el resultado de operación (3).

El cero se obtiene con: NOT(operación(3) OR (operación(2) OR operación(1) OR operación(0)).

El Sobreflujo se obtiene con la operación cout XOR c1(1). El sobreflujo no está definido para la
restani la operación and.

También podría gustarte