Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ARQUITECTURA DE
UN COMPUTADOR
ELEMENTAL
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)
11/09/2007 SBM-UCSM/MUE 7
B. REGISTROS DE PROPOSITO GENERAL
11/09/2007 SBM-UCSM/MUE 10
D. CONTADOR DE PROGRAMA
11/09/2007 SBM-UCSM/MUE 11
E. REGISTROS DE INTERFAZ CON EL BUS
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
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
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
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)
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)
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