Está en la página 1de 6

Micro-operaciones en el

RSCPU (Relatively Simple CPU)


Omar X. Avelar
ARQUITECTURA DE COMPUTADORAS (ESI 031B)
Instituto Tecnolgico y de Estudios Superiores de Occidente (ITESO)
Departamento de Electrnica, Sistemas e Informtica (DESI)

1. INSTRUCCIONES
Leer el capitulo 6 del Libro de Carpinelli.
Utilizando el programa de la practica Arquitectura y Simulador
del RSCPU (No. 1) ejecutarlo en el simulador del RSCPU paso a
paso a fin de determinar las micro-operaciones y las seales de
control para cada estado de cada ciclo instruccin.
Hacer una tabla como la mostrada en el Cap. 6 con los resultados obtenidos.

2. PROGRAMA

FIN:

ORG 0
LDAC x
MVAC
LDAC y
NOT
INAC
ADD
STAC z
JUMP FIN

x:
y:
z:

ORG 15h
DB 128
DB FFh
DB 0

INIT:

Materia: Arquitectura de Computadoras - Pag 1 de 6


Guadalajara, Mexico // lun 2 de noviembre de 2009.

ITESO

Micro-operaciones

Instituto Tecnolgico y de Estudios Superiores de Occidente (ITESO),


Perifrico Sur Manuel Gmez Morn 8585, Tlaquepaque, Jalisco, Mxico, C.P. 45604.
Departamento de Electrnica, Sistemas e Informtica (DESI).

Por: Omar X. Avelar

4. SIMULACIN

3. ANLISIS

Corriendo el programa en el RSCPU y observando algunas capturas de pantalla para analizar las micro-peraciones tenemos lo siguiente:
FETCH1:

Fig. 1: RTL del RSCPU.


FETCH1:
FETCH2:
FETCH3:

MAR PC,
MDR M[PC], PC PC + 1
IR MDR, MAR PC

LDAC1:
LDAC2:
LDAC3:
LDAC4:
LDAC5:

MDR M[MAR], PC PC + 1, MAR MAR + 1


TR MDR[0..7], MDR M[MAR], PC PC + 1
MAR MDR, TR
MDR M[MAR]
A MDR

MVAC1:

R A

LDAC1:
LDAC2:
LDAC3:
LDAC4:
LDAC5:

MDR M[MAR], PC PC + 1, MAR MAR + 1


TR MDR[0..7], MDR M[MAR], PC PC + 1
MAR MDR, TR
MDR M[MAR]
A MDR

NOT1:

NOT( ACC ), Z 0 or Z 0

INAC1:

A A + 1

ADD1:

A A + R,

STAC1:
STAC2:
STAC3:
STAC4:
STAC5:

MDR M[MAR], PC PC + 1, MAR MAR + 1


TR MDR, MDR M, PC PC + 1
MAR MDR, TR
MDR A
M[MAR] MDR

JMP1:
JMP2:
JMP3:

MDR M[MAR], MAR MAR + 1


TR MDR, MDR M[MAR]
PC MDR, TR

Va en el T0 de la micro-operacin, donde se carga el AR (address register) con lo que tiene el PC (poniendo el bus del PC en
salida).

FETCH2:

Z 0 or Z 0

Aqu podemos observar ya estando en el T1 como se incrementa


el PC de una vez, y se trae a donde apunta el AR a la localidad
DR (data register).
Fig. 2: Mapa de memoria ya ensamblado.

Materia: Arquitectura de Computadoras - Pag 2 de 6


Guadalajara, Mexico // lun 2 de noviembre de 2009.

ITESO

Micro-operaciones

Instituto Tecnolgico y de Estudios Superiores de Occidente (ITESO),


Perifrico Sur Manuel Gmez Morn 8585, Tlaquepaque, Jalisco, Mxico, C.P. 45604.
Departamento de Electrnica, Sistemas e Informtica (DESI).

Por: Omar X. Avelar

FETCH3:

LDAC1:

En el T2, ahora se carga en el IR lo que se trajo de memoria localizado en DR y lo que estaba en el PC (ya incrementado) se
vuelve a cargar en AR.

Ya conociendo que es una instruccin de LDAC (En T3 ya que nos


encontramos despus de la parte del fetch) se incrementa el AR
y el PC para poder traer los operandos a DR (el acomodo de esto
se puede visualizar en la siguiente tabla).
PC

PC + 1

PC + 2

OPCODE

DIR_PARTE1

DIR_PARTE2

LDAC2:

Este dato que es la parte baja de la direccin (little endian) es


guardado en un registro temporal (TR), para esto se vuelve a incrementar el PC (encontrndonos en el mismo tiempo T4).

Materia: Arquitectura de Computadoras - Pag 3 de 6


Guadalajara, Mexico // lun 2 de noviembre de 2009.

ITESO

Micro-operaciones

Instituto Tecnolgico y de Estudios Superiores de Occidente (ITESO),


Perifrico Sur Manuel Gmez Morn 8585, Tlaquepaque, Jalisco, Mxico, C.P. 45604.
Departamento de Electrnica, Sistemas e Informtica (DESI).

LDAC3:

Para el tiempo T5 ahora se trae la parte alta de la direccin y se


junta lo del registro temporal junto con eso para poder poner la
direccin completa de 2 Bytes en el bus de direcciones (DRHBUS
+ TRBUS = ADDRESS).

Por: Omar X. Avelar

LDAC5:

Ese dato obtenido guardado en el DR se va hacia la ALU[1..7].

LDAC4:

Donde el MUX selecciona S0 con ALUS3 para traerse a sumar lo


que se encontraba del bus con 0 y de ah pasarlo al acumulador
(no se por que la simulacin indica que ALUS7 se prende, ya que
el selector segn el diagrama debe ser en 0 para sacar al acumulador lo que se encuentra en la salida del circuito sumador).
En el tiempo T6 ahora ya con la direccin de memoria sobre el
bus (obtenida entre LDAC2 & LDAC3) se efecta una transferencia de memoria para guardar el dato en DR.

Materia: Arquitectura de Computadoras - Pag 4 de 6


Guadalajara, Mexico // lun 2 de noviembre de 2009.

ITESO
Instituto Tecnolgico y de Estudios Superiores de Occidente (ITESO),
Perifrico Sur Manuel Gmez Morn 8585, Tlaquepaque, Jalisco, Mxico, C.P. 45604.
Departamento de Electrnica, Sistemas e Informtica (DESI).

Micro-operaciones
Por: Omar X. Avelar

NOT1:

Y dentro de la ALU,

Donde por la parte de la izquierda en la seccin de operaciones


lgicas entra del acumulador a la compuerta inversora con el
MUX y seales de control ALUS5 & ALUS6 para as guardarlo en
el acumulador.

Materia: Arquitectura de Computadoras - Pag 5 de 6


Guadalajara, Mexico // lun 2 de noviembre de 2009.

ITESO

Micro-operaciones

Instituto Tecnolgico y de Estudios Superiores de Occidente (ITESO),


Perifrico Sur Manuel Gmez Morn 8585, Tlaquepaque, Jalisco, Mxico, C.P. 45604.
Departamento de Electrnica, Sistemas e Informtica (DESI).

Instruccin

MVAC

Seales de Control

FETCH1

ARLOAD, PCBUS,
T0

AR 0x00

FETCH2

FETCH2

PCINC, READ,
BUSMEM, PCINC,
DRLOAD, T1.

DR M[0x00], PC
0x01

FETCH3

FETCH3

ARLOAD, PCBUS,
IRLOAD, T2.

IR 0x01, AR 0x01

LDAC1

LDAC1

READ, BUSMEM,
ARINC, PCINC,
DRLOAD, T3.

DR M[0x01], PC
0x02, AR 0x02

LDAC2

LDAC2

BUSMEM, READ,
PCINC, DRLOAD,
TRLOAD, T4.

DR M[0x02], TR
0x15, PC 0x03

LDAC3

LDAC3

ARLOAD, DRHBUS, TRBUS, T5.

AR 0x0015, TR

LDAC4

LDAC4

READ, BUSMEM,
DRLOAD, T6.

DR M[0x0015]

LDAC5

LDAC5

DRLBUS, ACLOAD, ALUS3, T7.

A 0x80

FETCH1

FETCH1

ARLOAD, PCBUS,
T0

AR 0x03

FETCH2

PCINC, READ,
BUSMEM, PCINC,
DRLOAD, T1.

DR M[0x03], PC
0x04

FETCH3

ARLOAD, PCBUS,
IRLOAD, T2.

IR 0x03, AR 0x04

RLOAD, ACBUS

R 0x80

FETCH1

FETCH1

ARLOAD, PCBUS,
T0

AR 0x04

FETCH2

FETCH2

PCINC, READ,
BUSMEM, PCINC,
DRLOAD, T1.

DR M[0x04], PC
0x05

FETCH3

FETCH3

ARLOAD, PCBUS,
IRLOAD, T2.

IR 0x01, AR 0x05

LDAC1

LDAC1

READ, BUSMEM,
ARINC, PCINC,
DRLOAD, T3.

DR M[0x05], PC
0x06, AR 0x06

LDAC2

LDAC2

BUSMEM, READ,
PCINC, DRLOAD,
TRLOAD, T4.

DR M[0x05], TR
0x16, PC 0x07

LDAC3

LDAC3

ARLOAD, DRHBUS, TRBUS, T5.

AR 0x0016, TR

LDAC4

LDAC4

READ, BUSMEM,
DRLOAD, T6.

DR M[0x0016]

LDAC5

LDAC5

DRLBUS, ACLOAD, ALUS3, T7.

A 0xFF

FETCH1

FETCH1

ARLOAD, PCBUS,
T0

AR 0x07

FETCH2

PCINC, READ,
BUSMEM, PCINC,
DRLOAD, T1.

DR M[0x07], PC
0x08

FETCH3

ARLOAD, PCBUS,
IRLOAD, T2.

IR 0x0F, AR 0x08

NOT1

ACLOAD, ZLOAD,

A 0x00, Z 1

MVAC

LDAC

NOT

Siguiente Estado

Estado

LDAC

FETCH2

Operaciones

Por: Omar X. Avelar

ALUS5, ALUS6,
ALUS7, T3.
ARLOAD, PCBUS,
T0

AR 0x08

PCINC, READ,
BUSMEM, PCINC,
DRLOAD, T1.

DR M[0x08], PC
0x09

ARLOAD, PCBUS,
IRLOAD, T2.

IR 0x0A, AR 0x09

, T3.

A 0x01

FETCH1

ARLOAD, PCBUS,
T0

AR 0x09

FETCH2

PCINC, READ,
BUSMEM, PCINC,
DRLOAD, T1.

DR M[0x09], PC
0x0A

ARLOAD, PCBUS,
IRLOAD, T2.

IR 0x08, AR 0x0A

RBUS, ACLOAD,
ALUS5, ALUS7,
ZLOAD, T3.

A 0x81

FETCH1

ARLOAD, PCBUS,
T0

AR 0x0A

FETCH2

PCINC, READ,
BUSMEM, PCINC,
DRLOAD, T1.

DR M[0x0A], PC
0x0B

ARLOAD, PCBUS,
IRLOAD, T2.

IR 0x02, AR 0x0B

STAC1

READ, BUSMEM,
ARINC, PCINC,
DRLOAD, T3.

DR M[0x0B], PC
0x0C, AR 0x0C

STAC2

BUSMEM, READ,
PCINC, DRLOAD,
TRLOAD, T4.

DR M[0x0C], TR
0x15, PC 0x0D

STAC3

ARLOAD, DRHBUS, TRBUS, T5.

AR 0x0017, TR

STAC4

DRLOAD, ACBUS,
DR 0x81
T6.

STAC5

MEMBUS, WRITE,
M[0x0017] 0x81
DRLBUS, T7.

FETCH1

ARLOAD, PCBUS,
T0

AR 0x0D

FETCH2

PCINC, READ,
BUSMEM, PCINC,
DRLOAD, T1.

DR M[0x0D], PC
0x0D

FETCH3

ARLOAD, PCBUS,
IRLOAD, T2.

IR 0x05, AR 0x0D

LDAC1

JMP1

BUSMEM, READ,
ARINC, DRLOAD,
T3.

DR 0x05, AR 0x0F

LDAC2

JMP2

BUSMEM, READ,
DRLOAD, TRLOAD, T4.

TR 0x0D, DR 0x00

LDAC3

JMP3

DRHBUS, TRBUS,
PC 0x000D
PCLOAD, T5.

FETCH1
FETCH2
INAC
FETCH3
INAC1
FETCH1
FETCH2
ADD
FETCH3
ADD1
FETCH1

FETCH2

FETCH2

FETCH3
FETCH3
MVAC
STAC

FETCH1
FETCH2

JMP

FETCH3

FETCH2
FETCH3

INAC1

FETCH3

ADD1

FETCH3

STAC1
STAC2

STAC3

STAC4
STAC5

FETCH3

FETCH1

NOT1
FETCH1

Materia: Arquitectura de Computadoras - Pag 6 de 6


Guadalajara, Mexico // lun 2 de noviembre de 2009.

También podría gustarte