Está en la página 1de 54

FASE 1 UNIDAD 1 Tema 2

ARQUITECTURA DE
UN COMPUTADOR
ELEMENTAL

Ing. Mario Urrutia Espinoza

11/09/2007 SBM-UCSM/MUE 1
1. ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
1.1 ESQUEMA
El computador se compone de CPU y memoria
Los elementos de E/S y los perifricos no se
incluyen
Dentro del CPU se encuentran la UC, la ALU y sus
registros.
Tanto los mdulos internos como externos para
intercambiar informacin se conectan mediante los
buses

11/09/2007 SBM-UCSM/MUE 2
Se revisar cada uno de los elementos
que componen este computador,
definiendo las especificaciones
funcionales y las seales necesarias para
su control
Todas estas seales son activadas
secuencialmente por la UC para realizar la
lectura y ejecucin de las instrucciones
que residen en memoria
11/09/2007 SBM-UCSM/MUE 3
Oscilador

MDR-CI

A B MDR-EI MDR-EE
UC
OP M Bus de datos
D
ALU
R 8

Senales AC-C
de Control AC
MDR-CE

CS
RE
RE-C AC-E 8 Memoria
Principal WR

IR-C1 RD
IR PC
IR-C2 MAR-C
PC-INC PC-C

IR-E
PC-E
M
A
12 R 12
Bus de direcciones
MAR-E

CPU
1.2 REGISTROS INTERNOS
Los registros son celdas internas de la CPU que
guardan datos provenientes de memoria, resultados
parciales o informacin del CPU
Cada procesador tiene un determinado nmero de
registros internos
Es importante tener en cuenta el tamao de los
registros internos de datos pues indica el nmero
mximo de bits que puede tener un operando, y con
cuantos bits la CPU puede realizar operaciones en
paralelo. A este valor se le llama Longitud de palabra
del procesador
11/09/2007 SBM-UCSM/MUE 5
A. REGISTRO DE INSTRUCCIN (IR)

Es donde se almacena la instruccin a ejecutar


una vez que la CPU la ha ledo de memoria
El IR est dividido en campos, usualmente el
Campo Cdigo de Operacin (CO) y el cdigo de
direccin (CD)
En el ejemplo se considera que el IR es de 16
bits, y como la memoria guarda palabras de 8 bits
es preciso hacer 2 lecturas para traer la
instruccin completa. Segn ello, el CO ocupa 4
bits y el CD 12 bits.
11/09/2007 SBM-UCSM/MUE 6
Las seales de control que maneja el IR son:
Para leer las instrucciones de memoria se
usan dos seales: la primera es la IR-C1 que
carga los 8 bits ms bajos del registro
(IR[7:0]), y la segunda IR-C2 carga los 8 bits
ms altos (IR[15:8])
Una vez hecha la lectura, para habilitar la
salida al bus de direcciones del contenido del
campo CD (IR[4:15])se usa la seal IR-E

11/09/2007 SBM-UCSM/MUE 7
B. REGISTROS DE PROPOSITO GENERAL

Son varios registros que sirven para almacenar


datos o resultados intermedios
En el ejemplo, hay un nico registro llamado
Acumulador (AC) que adems de actuar como
operando, almacena el resultado de la ltima
operacin realizada por la ALU
Para su trabajo, el AC dispone de dos seales de
control: una para cargar el AC con el dato (AC-C),
y la otra para habilitar la salida del dato al bus
interno (AC-E)
11/09/2007 SBM-UCSM/MUE 8
C. REGISTRO DE ESTADO

Almacena en sus bits o flags informacin


sobre resultados de operaciones anteriores.
Los mas frecuentes son:
Z (cero): Almacena 1 cuando el resultado de la ultima
operacin realizada en la ALU fue cero
N (negativo): Almacena 1 cuando el resultado de la
ultima operacin realizada en la ALU fue menor que
cero
C (acarreo): Almacena 1 cuando el resultado de la
ultima operacin realizada en la ALU produjo un
acarreo en el ltimo bit
11/09/2007 SBM-UCSM/MUE 9
CP (acarreo parcial): Almacena 1 cuando el
resultado de la ultima operacin de la ALU
produjo acarreo entre el 4to y 5to bit
P (paridad): Almacena 1 cuando el resultado de
la ultima operacin realizada en la ALU produjo un
nmero par de 1
O (desbordamiento) Z (cero): Almacena 1
cuando el resultado de la ultima operacin
realizada en la ALU y almacenado en el AC es
incorrecto. Ello debido a que el resultado no se
puede representar con los bits que tiene el AC

11/09/2007 SBM-UCSM/MUE 10
D. CONTADOR DE PROGRAMA

Contiene la direccin de memoria de la prxima


instruccin a ejecutarse
Debe ser actualizado por la UC cada vez que se
carga una instruccin
En el ejemplo, el tamao del PC es de 12 bits y se
incrementa 2 veces en cada lectura de instruccin ya
que las instrucciones completas son de 16 bits y
ocupan 2 posiciones de memoria de 8 bits cada una
Como el PC es un contador, se debe activar la seal
PC-INC para incrementar su valor

11/09/2007 SBM-UCSM/MUE 11
E. REGISTROS DE INTERFAZ CON EL BUS

Son registros que almacenan datos que el procesador


enva o captura del bus externo de direcciones o del de
datos. Usualmente son dos:
MAR (Registro de Almacenamiento de Direccin),
almacena la direccin que se pretende poner en el bus
externo de direcciones. Como solo debe llevar dicha
direccin, la transferencia es unidireccional, usando
para ello dos seales de control: MAR-C, que permite
tomar la informacin de la direccin, y MAR-E que es
una seal de habilitacin triestado para depositar la
direccin en el bus externo

11/09/2007 SBM-UCSM/MUE 12
MDR ( Registro de Almacenamiento de Dato),
contiene el dato que el procesador va a enviar o a
leer del bus externo de datos. Esta transferencia
es bidireccional ya que los datos provienen del
bus interno de datos hacia el externo (escritura en
memoria) y viceversa (lectura de memoria). De
acuerdo a ello, en el MDR existen 4 seales de
control: Las dos primeras son seales de carga,
una para los datos procedentes del bus de datos
interno (MDR-CI) y la otra para los datos
procedentes del bus externo (MDR-CE). Las otras
dos seales permiten la habilitacin interna (MDR-
EI) y la habilitacin externa (MDR-EE)
11/09/2007 SBM-UCSM/MUE 13
1.3 LA ALU

En el ejemplo, se tiene una ALU de dos


entradas: la entrada A recibe los datos del AC, y
la entrada B recibe los datos del MDR
Antes de realizar una operacin se debe cargar
el MDR con uno de los operandos y habilitar la
salida de datos de este registro al bus interno
de datos.
El otro operando debe estar almacenado en el
AC

11/09/2007 SBM-UCSM/MUE 14
La ALU recibe seales de control sobre el tipo de
operacin que debe realizar (OP). En el ejemplo,
estas operaciones son 6:
OP(001)=A+B
OP(010)=A+1
OP(011)=A-B
OP(100)=A and B
OP(101)=A or B
OP(110)=B
Como son 6 operaciones se codifican usando 3
lneas de operacin, por tanto las entradas sern
OP[3:1]

11/09/2007 SBM-UCSM/MUE 15
1.4 LA UNIDAD DE CONTROL
Su funcin es el gobierno del computador
Lee la instruccin desde memoria, la decodifica y la
ejecuta
Debe activar todas las seales de control necesarias para:
Realizar la transferencia entre registros. Tener en cuenta:
En cada transferencia de datos, solo puede haber un
registro origen, por lo que no deben activarse las salidas
triestado de dos registros a la vez
En el registro destino, la seal de carga ser activa por
flanco. Esta seal se activa a la mitad del periodo de la
seal de reloj para permitir que los datos provenientes de
otro registro estn estables en el bus
Generar las seales de operacin de la ALU
11/09/2007 SBM-UCSM/MUE 16
1.5 LA MEMORIA PRINCIPAL
Almacenamiento de datos e instrucciones a travs de las
lneas de direccin
Necesita de por lo menos 3 seales de control: CS:
Seleccin de la memoria, RD: Orden de lectura y WR:
Orden de escritura
Para realizar un ciclo de lectura de memoria, se sigue el
siguiente proceso:
a. La UC debe llevar la direccin de memoria al registro
MAR
b. Se activa el bus de direcciones externo que conecta
con la memoria

11/09/2007 SBM-UCSM/MUE 17
c. El procesador activa las seales CS y RD y
espera a que la memoria deposite los datos en el
bus. Este periodo de espera es el tiempo de
acceso de memoria (tiempo que necesita la
memoria para leer o escribir datos, medido desde
la activacin de las seales de control) y es de
medio periodo del reloj general, en el ejemplo
d. La UC activa la seal de carga en el MDR. Esto
se cumple tanto para datos como para
instrucciones
El ciclo de escritura se realiza de manera anloga,
diferencindose solo en la habilitacin de la seal
WR en vez de RD
11/09/2007 SBM-UCSM/MUE 18
Oscilador

MDR-CI

A B MDR-EI MDR-EE
UC
OP M Bus de datos
D
ALU
R 8

Senales AC-C
de Control AC
MDR-CE

CS
RE
RE-C AC-E 8 Memoria
Principal WR

IR-C1 RD
IR PC
IR-C2 MAR-C
PC-INC PC-C

IR-E
PC-E
M
A
12 R 12
Bus de direcciones
MAR-E

CPU
2. OPERACIONES CON REGISTROS

Las operaciones bsicas son:


Carga: Almacena un nuevo valor en el registro. Para
ello, debe ponerse el nuevo valor en la entrada y luego
activar la seal de carga del registro
Lectura: Permite la salida del dato contenido en el
registro. Generalmente los registros comparten un bus
para realizar la transferencia, pero solo uno de ellos
podr usar el bus en un momento. La seal de salida
o habilitacin actuar sobre los buffer triestado para
conectar el registro al bus y permitir que los datos
contenidos en el registro pasen al bus

11/09/2007 SBM-UCSM/MUE 20
Reset: Inicializa el valor contenido en
el registro a un valor conocido
Incremento: aumenta su contenido en
forma autnoma (contador)
Desplazamiento: Mueve sus bits uno
a uno de izquierda a derecha y
viceversa

11/09/2007 SBM-UCSM/MUE 21
Una operacin completa de un registro sera la de
transferencia, que permite transferir el valor de un
registro hacia otro, para ello se sigue el siguiente
proceso:
Siempre debe haber un registro origen, uno
destino y un bus compartido por mas de dos
elementos
Primero se vuelcan los datos del registro inicial al
bus mediante la habilitacin del los buffer triestado

11/09/2007 SBM-UCSM/MUE 22
Simultneamente hay que deshabilitar
los buffer triestado del resto de los
elementos con acceso al bus
Una vez que los datos se han
estabilizado en el bus, hay que indicar
al registro destino que los datos ya son
correctos y que los puede capturar. Esto
se realiza mediante la activacin de la
lnea de carga de este registro
11/09/2007 SBM-UCSM/MUE 23
C C C
A A A
0 0 0

E E E

1 0 0

BUS

C C C
A A A
0 0 0

E E E

1 0 0

BUS

C C C
A A A
0 0 1

E E E

1 0 0

BUS
3. INSTRUCCIONES
Consiste en la implementacin del
repertorio de instrucciones.
Todas las instrucciones tienen 4 bits
para el cdigo de operacin y 12 para el
cdigo de direccin, lo que permite
direccionar 4 KB

11/09/2007 SBM-UCSM/MUE 25
Las instrucciones bsicas son:
Instrucciones aritmticas y lgicas: Definidas
por la ALU
Instrucciones de transferencia: Copian el
contenido del AC a memoria (STORE) o leen
el dato desde memoria al AC (LOAD)
Instrucciones de salto: Representan los saltos
incondicionales o condicionales (de acuerdo al
resultado del registro de estado)
Otras instrucciones: No hacer nada, de paro
del procesador
11/09/2007 SBM-UCSM/MUE 26
4. EJECUCION DE LAS INSTRUCCIONES

Una operacin bsica, es una operacin de


transferencia que se realiza en el interior del CPU
Estas operaciones bsicas tienen una duracin
mnima determinada por el tiempo que transcurre
entre dos flancos consecutivos del reloj
El computador para ejecutar una instruccin
realiza una serie de operaciones bsicas en un
determinado orden.

11/09/2007 SBM-UCSM/MUE 27
En un mismo periodo de reloj puede
realizarse varias operaciones en paralelo, si
stas no interfieren al usar un mismo bus o
algn elemento interno del procesador
Las ejecucin de una instruccin tpica se
divide en 4 fases. En general, cada fase
durar ms de un periodo de reloj,
realizndose en cada fase una serie de
operaciones bsicas que pueden ejecutarse
en serie o paralelo.
11/09/2007 SBM-UCSM/MUE 28
Oscilador

MDR-CI

A B MDR-EI MDR-EE
UC
OP M Bus de datos
D
ALU
R 8

Senales AC-C
de Control AC
MDR-CE

CS
RE
RE-C AC-E 8 Memoria
Principal WR

IR-C1 RD
IR PC
IR-C2 MAR-C
PC-INC PC-C

IR-E
PC-E
M
A
12 R 12
Bus de direcciones
MAR-E

CPU
Estas fases son:
Lectura de la instruccin (fetch). Es el inicio. El
proceso es el siguiente: cargar el MAR con el
contenido del PC, activar las seales de lectura,
guardar el dato en el MDR y transferir al IR, En el
ejemplo, este proceso se hace dos veces
Decodificacin de la instruccin y lectura de los
operandos: La UC se encarga de decodificar la
instruccin, y adems buscar los operandos que
necesite la instruccin. Estas dos fases duran lo
mismo para cualquier instruccin

11/09/2007 SBM-UCSM/MUE 30
Ejecucin de la operacin. La UC activa las

seales de control de sus registros para transferir
la informacin necesaria entre ellos y realizar las
operaciones adecuadas con la ALU. Esta fase
depende de la instruccin que est siendo
ejecutada
Almacenamiento de los resultados: Depende del
modo de direccionamiento empleado
Es posible que algunas instrucciones no necesiten
todas las fases completas

11/09/2007 SBM-UCSM/MUE 31
4.1 EJECUCION DE LA INSTRUCCIN:
ADD (456) // AC AC + M(456)
La instruccin consta de 16 bits
Como la longitud de palabra del bus de datos es de 8 bits,
se necesitan dos lecturas
Para empezar a ejecutar la instruccin se supone que
inicialmente el PC contiene la direccin de dicha
instruccin
La ejecucin se divide en 4 fases, cada una tiene un
determinado nmero de periodos de reloj y en cada una
de ellas se realizan unas determinadas operaciones
bsicas mediante la activacin de las correspondientes
seales de control.

11/09/2007 SBM-UCSM/MUE 32
A. PROCESO DE EJECUCION DE LA INSTRUCCIN:
ADD (456) // AC AC + M(456)

1. MAR PC: Transfiere la direccin del 1er byte


de la instruccin al registro MAR
2. PC PC + 1: Se incrementa PC para apuntar
a la siguiente posicin de memoria
3. MDR M (MAR): Se ejecuta una lectura de
memoria cargando el MDR con la parte baja de la
instruccin
4. IR MDR: Se transfieren los 8 bits de la parte
baja de la instruccin que estn en el MDR a los
8 bits menos significativos del IR (IR[0:7])
11/09/2007 SBM-UCSM/MUE 33
Oscilador

MDR-CI

A B MDR-EI MDR-EE
UC
OP M Bus de datos
D
ALU
R 8

Senales AC-C
de Control AC
MDR-CE

CS
RE
RE-C AC-E 8 Memoria
Principal WR

IR-C1 RD
IR PC
IR-C2 MAR-C
PC-INC PC-C

IR-E
PC-E
M
A
12 R 12
Bus de direcciones
MAR-E

CPU
5. MAR PC: Transfiere la direccin del 2do
byte de la instruccin al registro MAR
6. PC PC + 1: Se incrementa PC para
apuntar a la siguiente posicin de memoria
7. MDR M (MAR): Se ejecuta una lectura de
memoria cargando el MDR con la parte alta
de la instruccin
8. 8. IR MDR: Se transfieren los 8 bits de la
parte alta de la instruccin que estn en el
MDR a los 8 bits ms significativos del IR
(IR[8:15])
11/09/2007 SBM-UCSM/MUE 35
9. MAR IR: [4:15] Se transfiere la direccin del dato
al registro MAR para iniciar la lectura del mismo en la
memoria
10. MDR M (MAR): Se realiza la lectura de la posicin de
memoria cuya direccin est contenida en el Campo de
Direccin de IR en los bits IR[4:15
11. AC AC + MDR: Una vez el dato est en el MDR se
conecta el registro con la entrada B de la ALU mediante la
seal de habilitacin MDR-EI y se activan las seales OP
con el cdigo de suma. Cuando termina dicha operacin,
que tiene un retraso de medio ciclo de reloj, se activa la
seal de carga de AC
11/09/2007 SBM-UCSM/MUE 36
B. CRONOGRAMA DE LA INSTRUCCIN:
ADD (456) // AC AC + M(456)

FASE DE BUSQUEDA DE LA INSTRUCCIN

Primer periodo: Transferencia MAR PC:


i. Se activa la seal PC-E que habilita la salida
triestado del registro y permite que el contenido
del PC salga al bus de direcciones de la CPU
ii. La UC activa la seal MAR-C sincronizada con el
flanco de subida del reloj que carga a MAR con el
valor del bus de direcciones interno

11/09/2007 SBM-UCSM/MUE 37
Reloj

MDR-EI

MDR-CI

MDR-EE

MDR-CE

PC-C

PC-E

PC-INC

MAR-C

MAR-E
Primer Periodo
AC-E

AC-C

OP[3:1]

CS

WR

RD

IR-C1

IR-C2

IR-E

RE-C

Periodos 1 2 3 4 5 6 7 8 1 2
Segundo periodo: Se completa el acceso a
memoria
i. Se activan las seales CS y RD para el ciclo de
lectura
ii. Pasado el tiempo de acceso a memoria los
datos estn estables en el bus de datos externo
y se carga el contenido de la celda de memoria
en el registro MDR activando la seal MDR-CE
iii. Se activa la seal PC-INC de incremento del PC
para que apunte a la siguiente posicin de
memoria (parte alta de la instruccin)
11/09/2007 SBM-UCSM/MUE 39
Reloj

MDR-EI

MDR-CI

MDR-EE

MDR-CE

PC-C

PC-E

PC-INC

MAR-C

MAR-E
Segundo Periodo
AC-E

AC-C

OP[3:1]

CS

WR

RD

IR-C1

IR-C2

IR-E

RE-C

Periodos 1 2 3 4 5 6 7 8 1 2
Tercer periodo: Parte baja de la instruccin se
transfiere al IR:
i. Se activa la seal MDR-EI para que los datos del
MDR salgan al bus de datos interno de la CPU
ii. Luego se activa la seal IR-C1 para cargar los 8
bits mas bajos del registro IR
iii. Adems se realiza la transferencia MAR PC
para comenzar un nuevo ciclo y acceder a la
parte alta de la instruccin
11/09/2007 SBM-UCSM/MUE 41
Reloj

MDR-EI

MDR-CI

MDR-EE

MDR-CE

PC-C

PC-E

PC-INC

MAR-C

MAR-E
Tercer Periodo
AC-E

AC-C

OP[3:1]

CS

WR

RD

IR-C1

IR-C2

IR-E

RE-C

Periodos 1 2 3 4 5 6 7 8 1 2
Cuarto periodo: Se repite el periodo 2 para
leer la parte alta de la instruccin
Quinto periodo: Parte alta de la instruccin
se transfiere al IR y se decodifica
i. Se activa la seal MDR-EI para transferir los
datos al bus interno
ii. Se activa la seal de carga IR-C2
iii. La UC decodifica la instruccin pues los 4 bits
del CO que residen en la parte baja de la
instruccin ya estn en el IR
11/09/2007 SBM-UCSM/MUE 43
Reloj

MDR-EI

MDR-CI

MDR-EE

MDR-CE

PC-C

PC-E

PC-INC

MAR-C

MAR-E
Cuarto Periodo
AC-E

AC-C

OP[3:1]

CS

WR

RD

IR-C1

IR-C2

IR-E

RE-C

Periodos 1 2 3 4 5 6 7 8 1 2
Reloj

MDR-EI

MDR-CI

MDR-EE

MDR-CE

PC-C

PC-E

PC-INC

MAR-C

MAR-E
Quinto Periodo
AC-E

AC-C

OP[3:1]

CS

WR

RD

IR-C1

IR-C2

IR-E

RE-C

Periodos 1 2 3 4 5 6 7 8 1 2
FASE DE BUSQUEDA DE OPERANDOS
En el momento en que la UC decodifica la instruccin
cargada en IR comienza la bsqueda de operandos, esto
es, se almacena en el MDR el operando que se encuentra
en la posicin de memoria definida en IR[15..4]
Sexto periodo: Transferencia de la direccin MAR
IR[15..4]:
i. Se activa la seal IR-E para habilitar la salida de dichos
bits al bus de direcciones interno
ii. Se capturan dichos bits con la seal de carga MAR-C

11/09/2007 SBM-UCSM/MUE 46
Reloj

MDR-EI

MDR-CI

MDR-EE

MDR-CE

PC-C

PC-E

PC-INC

MAR-C

MAR-E
Sexto Periodo
AC-E

AC-C

OP[3:1]

CS

WR

RD

IR-C1

IR-C2

IR-E

RE-C

Periodos 1 2 3 4 5 6 7 8 1 2
Stimo periodo: Se completa el
acceso a memoria
i. Se activan las seales CS y RD para
el ciclo de lectura
ii. Pasado el tiempo de acceso a
memoria y estabilizados los datos se
carga el contenido de la celda de
memoria en el registro MDR activando
la seal MDR-CE
11/09/2007 SBM-UCSM/MUE 48
Reloj

MDR-EI

MDR-CI

MDR-EE

MDR-CE

PC-C

PC-E

PC-INC

MAR-C

MAR-E
Stimo Periodo
AC-E

AC-C

OP[3:1]

CS

WR

RD

IR-C1

IR-C2

IR-E

RE-C

Periodos 1 2 3 4 5 6 7 8 1 2
FASE DE EJECUCION Y ALMACENAMIENTO DE
RESULTADOS
Estas dos fases se realizan en el mismo periodo
de reloj
Octavo periodo: AC AC + MAR:
i. La CPU conecta el registro MDR a la entrada B
de la ALU activando la seal MDR-EI
ii. La UC indica a la ALU la operacin a realizar
mediante la activacin de las seales OP

11/09/2007 SBM-UCSM/MUE 50
iii. Sincronizada con el flanco de subida
de la seal de reloj, la UC activa la
seal de carga del acumulador AC-C
Tras la ejecucin de la instruccin se
actualiza el Registro de Estado, para
ello se activa la seal de flanco RE-C
en el instante en que la ALU finaliza la
operacin de suma

11/09/2007 SBM-UCSM/MUE 51
Reloj

MDR-EI

MDR-CI

MDR-EE

MDR-CE

PC-C

PC-E

PC-INC

MAR-C

MAR-E
Octavo Periodo
AC-E

AC-C

OP[3:1]

CS

WR

RD

IR-C1

IR-C2

IR-E

RE-C

Periodos 1 2 3 4 5 6 7 8 1 2
Reloj

MDR-EI

MDR-CI

MDR-EE

MDR-CE

PC-C

PC-E

PC-INC

MAR-C

MAR-E
Cronograma
AC-E final de la
AC-C

OP[3:1]
instruccin
CS

WR

RD

IR-C1

IR-C2

IR-E

RE-C

Periodos 1 2 3 4 5 6 7 8 1 2
Oscilador

MDR-CI

A B MDR-EI MDR-EE
UC
OP M Bus de datos
D
ALU
R 8

Senales AC-C
de Control AC
MDR-CE

CS
RE
RE-C AC-E 8 Memoria
Principal WR

IR-C1 RD
IR PC
IR-C2 MAR-C
PC-INC PC-C

IR-E
PC-E
M
A
12 R 12
Bus de direcciones
MAR-E

CPU

También podría gustarte