ec-4: introducción al funcionamiento del procesador (v3d)
Post on 29-Jan-2018
249 Views
Preview:
TRANSCRIPT
Tema 4 (I)
El procesador
Estructura de Computadores
Grado en Ingeniería Informática
Grupo ARCOS
Universidad Carlos III de Madrid
Alejandro Calderón MateosFélix García-Carballeira,
Contenidos
2
1. Introducción
1. Motivación y objetivos
2. Funciones básicas de la unidad de control
3. Señales de control y operaciones elementales
2. Computador elemental:
1. Estructura del computador elemental
2. Señales de control
3. Operaciones elementales
ARCOS @ UC3M
Alejandro Calderón MateosFélix García-Carballeira,
A recordar…
ARCOS @ UC3M3
1. Estudiar la teoría asociada.
� Estudiar el material asociado a la bibliografía: las transparencias solo no son suficiente.
2. Repasar lo visto en clase.
� Realizar el cuaderno de prácticas progresivamente.
3. Ejercitar las competencias.
� Realizar las prácticas progresivamente.
� Realizar todos los ejercicios posibles.
Alejandro Calderón MateosFélix García-Carballeira,
Contenidos
4
1. Introducción
1. Motivación y objetivos
2. Funciones básicas de la unidad de control
3. Señales de control y operaciones elementales
2. Computador elemental:
1. Estructura del computador elemental
2. Señales de control
3. Operaciones elementales
ARCOS @ UC3M
Alejandro Calderón MateosFélix García-Carballeira,
Motivación
ARCOS @ UC3M5
• En el tema 3 se estudia
qué hace:
• Instrucciones
• Direccionamiento
• Etc.
• En el tema 4 se estudia
cómo lo hace:
• Funcionamiento interno
• Diseño de la U.C.S. E/S
ALU
BUS
B.R.
CPU
U.C.
M.P.
MARMAR
MDRMDR
Alejandro Calderón MateosFélix García-Carballeira,
S. E/S
ALU
BUS
B.R.
CPUM.P.
MARMAR
MDRMDR
Motivación
ARCOS @ UC3M6
• La Unidad de Control es el director de orquesta:
• coordina el funcionamiento del resto de los elementos
• El estudio de la Unidad de Control es importante
U.C.
Alejandro Calderón MateosFélix García-Carballeira,
Unidad de control
ARCOS @ UC3M7
� Entrada:
� Instrucción en ejecución
� Registro de estado
� Contador de programa
� Salida:
� Señales de control y
estado externas a la UCP
Señales de control
PCPC
RERE
RIRI
Unidad de
Control
Reloj
Ciclo de reloj
Alejandro Calderón MateosFélix García-Carballeira,
Objetivos
ARCOS @ UC3M8
� Conocer las señales de control típicas en un computador que genera la U.C.
Señales de control
PCPC
RERE
RIRI
Unidad de
Control
Reloj
¿?
Alejandro Calderón MateosFélix García-Carballeira,
Objetivos
ARCOS @ UC3M9
� Conocer las señales de control típicas en un computador que genera la U.C.
� Conocer la forma de:
� Especificar
� Diseñar
La unidad de control
Señales de control
PCPC
RERE
RIRI
Unidad de
Control
Reloj
¿?
Alejandro Calderón MateosFélix García-Carballeira,
Contenidos
10
1. Introducción
1. Motivación y objetivos
2. Funciones básicas de la unidad de control
3. Señales de control y operaciones elementales
2. Computador elemental:
1. Estructura del computador elemental
2. Señales de control
3. Operaciones elementales
ARCOS @ UC3M
Alejandro Calderón MateosFélix García-Carballeira,
Funciones de la unidad de control (1)
ARCOS @ UC3M11
• Leer de memoria principal la instrucción apuntada por el PC
• Incrementar PC
• Decodificar instrucción
• Hacer que se ejecute la instrucción
S. E/S
ALU
BUS
B.R.PCPC
CPU
U.C.
IRIR
M.P.
MARMAR
MDRMDR
Alejandro Calderón MateosFélix García-Carballeira,
Funciones de la unidad de control (1)
ARCOS @ UC3M12
• Leer de memoria principal la instrucción apuntada por el PC
• Incrementar PC
• Decodificar instrucción
• Hacer que se ejecute la instrucción
S. E/S
ALU
BUS
B.R.PCPC
CPU
U.C.
IRIR
M.P.
MARMAR
MDRMDR
PCPC
IRIR
Alejandro Calderón MateosFélix García-Carballeira,
Funciones de la unidad de control (1)
ARCOS @ UC3M13
• Leer de memoria principal la instrucción apuntada por el PC
• Incrementar PC
• Decodificar instrucción
• Hacer que se ejecute la instrucción
S. E/S
ALU
BUS
B.R.PCPC
CPU
U.C.
IRIR
M.P.
MARMAR
MDRMDR
+’1’
Alejandro Calderón MateosFélix García-Carballeira,
Funciones de la unidad de control (1)
ARCOS @ UC3M14
• Leer de memoria principal la instrucción apuntada por el PC
• Incrementar PC
• Decodificar instrucción
• Hacer que se ejecute la instrucción
S. E/S
ALU
BUS
B.R.PCPC
CPU
U.C.
IRIR
M.P.
MARMAR
MDRMDR
Alejandro Calderón MateosFélix García-Carballeira,
Funciones de la unidad de control (1)
ARCOS @ UC3M15
• Leer de memoria principal la instrucción apuntada por el PC
• Incrementar PC
• Decodificar instrucción
• Hacer que se ejecute la instrucción
S. E/S
ALU
BUS
B.R.PCPC
CPU
U.C.
IRIR
M.P.
MARMAR
MDRMDR
Alejandro Calderón MateosFélix García-Carballeira,
Funciones de la unidad de control (1)
ARCOS @ UC3M16
• Leer de memoria principal la instrucción apuntada por el PC
• Incrementar PC
• Decodificar instrucción
• Hacer que se ejecute la instrucción
S. E/S
ALU
BUS
B.R.PCPC
CPU
U.C.
IRIR
M.P.
MARMAR
MDRMDR
Alejandro Calderón MateosFélix García-Carballeira,
Funciones de la unidad de control (2)
ARCOS @ UC3M17
� Además:
• Resolver situaciones anómalas
• Atender las interrupciones
• Controlar la comunicación con los periféricos
S. E/S
ALU
BUS
B.R.PCPC
CPU
U.C.
IRIR
M.P.
MARMAR
MDRMDR
Alejandro Calderón MateosFélix García-Carballeira,
Funciones de la unidad de control (2)
ARCOS @ UC3M18
� Además:
• Resolver situaciones anómalas
• Atender las interrupciones
• Controlar la comunicación con los periféricos
S. E/S
ALU
BUS
B.R.PCPC
CPU
U.C.
IRIR
M.P.
MARMAR
MDRMDR
Alejandro Calderón MateosFélix García-Carballeira,
Funciones de la unidad de control (2)
ARCOS @ UC3M19
� Además:
• Resolver situaciones anómalas
• Atender las interrupciones
• Controlar la comunicación con los periféricos
S. E/S
ALU
BUS
B.R.PCPC
CPU
U.C.
IRIR
M.P.
MARMAR
MDRMDR
Alejandro Calderón MateosFélix García-Carballeira,
Funciones de la unidad de control (2)
ARCOS @ UC3M20
� Además:
• Resolver situaciones anómalas
• Atenderlas interrupciones
• Controlar la comunicación con los periféricos
S. E/S
ALU
BUS
B.R.PCPC
CPU
U.C.
IRIR
M.P.
MARMAR
MDRMDR
Alejandro Calderón MateosFélix García-Carballeira,
Contenidos
21
1. Introducción
1. Motivación y objetivos
2. Funciones básicas de la unidad de control
3. Señales de control y operaciones elementales
2. Computador elemental:
1. Estructura del computador elemental
2. Señales de control
3. Operaciones elementales
ARCOS @ UC3M
Alejandro Calderón MateosFélix García-Carballeira,
Registro y bus
ARCOS @ UC3M22
� Registro
� Permite almacenar varios bits
� Bus
� Permite transmitir varios bits entre dos elementos conectados a él
N-1 0
010101010101
Alejandro Calderón MateosFélix García-Carballeira,
Señales: triestado de salida
ARCOS @ UC3M23
� Triestado
� Se coloca entre los elementos y el bus
� Permite mandar al bus unos datos
� IMPORTANTE
� No se puede activar dos o más triestados al mismo bus y al mismo tiempo
N-1 0
Ta
010101010101
tiempo
CLK
Ta
Alejandro Calderón MateosFélix García-Carballeira,
Señales: carga en registro
ARCOS @ UC3M24
� Carga en registro
� Permite almacenar en el flanco de reloj el valor que esté a la entrada
� Durante el nivel del ciclo el registro mantiene el valor antiguo
� Al final del ciclo es cuando se actualiza
� IMPORTANTE
� Por tanto, en el siguiente ciclo se verá a la salida el nuevo valor
N-1 0
Ca010101010101
tiempo
CLK
Ca
Alejandro Calderón MateosFélix García-Carballeira,
Secuencia de señales
ARCOS @ UC3M25
N-1 0
Ca
Ta
010101010101
N-1 0
Cb
Tb
11111111111111111111111111
1111111111111
tiempo
CLK
Ca
Tb
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo de
operación elemental de transferencia
ARCOS @ UC3M26
� Operación elemental de transferencia:� Elemento de
almacenamiento origen� Elemento de
almacenamiento destino� Se establece un camino� A <- B
� IMPORTANTE
� Establecer el camino entre origen y destino en un mismo ciclo
� En un mismo ciclo NO:
� se puede atravesar un registro
� se pasará por un bus 2 veces
tiempo
CLK
Ca
Tb
N-1 0
Ta
010101010101
N-1 0
111111111111 CbCa
Tb
xx: A ← B [Tb, Ca]
Alejandro Calderón MateosFélix García-Carballeira,
Secuencia de señales
ARCOS @ UC3M27
N-1 0
000011
N-1 0
000010 CbN-1 0
000001 CcN-1 0
000000 Cd
Mux. 1 Mux. 2
+
Ca
SC1 SC2A B C D
000010
000010
tiempo
CLK
Ca
SC1
SC2sc2=d
sc1=b
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo de
operación elemental de procesamiento
ARCOS @ UC3M28
� Operación elemental de procesamiento:� Elemento(s) de origen� Elemento destino� Operación de transformación en
el camino� A <- B + C
� IMPORTANTE
� Establecer el camino entre origen y destino en un mismo ciclo
� En un mismo ciclo NO:
� se puede atravesar un registro
� se pasará por un bus 2 veces
yy: A ← B+C [SC1=b,SC2=d, Ca]
N-1 0
101010
N-1 0
101010 Cb
N-1 0
101010 Cc
N-1 0
101010 Cd
Mux. 1 Mux. 2
+
Ca
SC1 SC2
tiempo
CLK
Ca
SC1
SC2
sc2=d
sc1=b
Alejandro Calderón MateosFélix García-Carballeira,
Operaciones elementales
ARCOS @ UC3M29
Clasificación de operaciones elementales:
a) Operaciones de transferencia:� Elemento de almacenamiento origen� Elemento de almacenamiento destino� Se establece un camino
b) Operaciones de proceso:� Elemento/s origen� Elemento destino� Operación que transforma
la información en su camino
xx: A ← B
yy: A ← ϕ(B)
Alejandro Calderón MateosFélix García-Carballeira,
Contenidos
30
1. Introducción
1. Motivación y objetivos
2. Funciones básicas de la unidad de control
3. Señales de control y operaciones elementales
2. Computador elemental:
1. Estructura del computador elemental
2. Señales de control
3. Operaciones elementales
ARCOS @ UC3M
Alejandro Calderón MateosFélix García-Carballeira,
Estructura de un computador elemental
ARCOS @ UC3M31
Address BusData Bus
Control Bus
A31-A0 D31-D0 R W IOR
V7-V0D31-D0
BE3-BE0
I/O
IORdy ADDR DATA IOR IOW INT INTA INTV ADDR DATA IOR ADDR DATA IOR IOW
Display
IOSR IOCR IODR KBDR
INTA
KBSR DDR DSR
IOW INT MRdy IORdy
Keyboard
A31-A0
MRdy ADDR DATA R WBE
Processor
Memory
Alejandro Calderón MateosFélix García-Carballeira,
Estructura de un computador elemental
ARCOS @ UC3M32
Memory
Address BusData Bus
Control Bus
ALU
RegisterFile
MAR
IR
SR
0 1
MBRC0
C1
Ta
Td
T1
RARBRELE
T9 T10
AB
E
PCC2
Control Unit+4
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z I U
SelP
SELEC 5
Offset
Control Signals
Bytes SelectorBW C3
C4 C5
C6
C7
T2 T3
T4 T5 T6 T7 T8
2
2MA MB
M1 M2
4
Internal Bus
5
5
5
Processor
A31-A0 D31-D0 R W IOR
V7-V0D31-D0
BE3-BE0
SE
22
0 1MUX M7
SELEC11 10 01
CLK
I/O
IORdy ADDR DATA IOR IOW INT INTA INTV ADDR DATA IOR ADDR DATA IOR IOW
DisplayIOSR IOCR IODR KBDR
INTA
KBSR DDR DSR
IOW INT MRdy IORdy
Keyboard
A31-A0
MRdy ADDR DATA R WBE
Size5
MUX0 1
MUX
A1A0SEW
4
Alejandro Calderón MateosFélix García-Carballeira,
Estructura de un computador elemental
ARCOS @ UC3M33
Memory
Address BusData Bus
Control Bus
ALU
RegisterFile
MAR
IR
SR
0 1
MBRC0
C1
Ta
Td
T1
RARBRELE
T9 T10
AB
E
PCC2
Control Unit+4
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z I U
SelP
SELEC 5
Offset
Control Signals
Bytes SelectorBW C3
C4 C5
C6
C7
T2 T3
T4 T5 T6 T7 T8
2
2MA MB
M1 M2
4
Internal Bus
5
5
5
Processor
A31-A0 D31-D0 R W IOR
V7-V0D31-D0
BE3-BE0
SE
22
0 1MUX M7
SELEC11 10 01
CLK
I/O
IORdy ADDR DATA IOR IOW INT INTA INTV ADDR DATA IOR ADDR DATA IOR IOW
DisplayIOSR IOCR IODR KBDR
INTA
KBSR DDR DSR
IOW INT MRdy IORdy
Keyboard
A31-A0
MRdy ADDR DATA R WBE
Size5
MUX0 1
MUX
A1A0SEW
4
Banco de registros yregistros auxiliares (RT1 y RT2)
Alejandro Calderón MateosFélix García-Carballeira,
Señales de control
ARCOS @ UC3M34
Nomenclatura: Nomenclatura:
• Ry -> Identificador de registro parael punto y
• Mx -> Selección en multiplexor• Tx -> Señal de activación triestado• Cx -> Señal de carga de registro
� Banco de registros y registros RT1 y RT2
� RA – salida de registro RA a A
� RB – salida de registro RB a B
� RE – salida de registro RE a E
� LE – activa la escritura para RE
� T9 – copia de A al bus interno
� T10 – copia de B al bus interno
� C4 – del bus interno al RT1
� T4 – salida de RT1 al bus interno
� C5 – del bus interno al RT2
� T5 – salida de RT2 al bus interno
RegisterFile
RARBRELE
T9 T10
AB
E
RT1 RT2C4 C5
T4 T5
5
5
5
Internal Bus
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales en registros
ARCOS @ UC3M35
� SWAP R1 R2
RegisterFile
RARBRELE
T9 T10
AB
E
RT1 RT2C4 C5
T4 T5
5
5
5
Internal Bus
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales en registros
ARCOS @ UC3M36
� SWAP R1 R2
O. Elemental Señales
RT1� R1 RA=1, T9, C4
R1 � R2 RA=2, T9, RE=1, LE
R2 � RT1 T4, RE=2, LE
RegisterFile
RARBRELE
T9 T10
AB
E
RT1 RT2C4 C5
T4 T5
5
5
5
Internal Bus
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales en registros
ARCOS @ UC3M37
� SWAP R1 R2
O. Elemental Señales
RT1� R1 RA=1, T9, C4
R1 � R2 RA=2, T9, RE=1, LE
R2 � RT1 T4, RE=2, LE
RegisterFile
RARBRELE
T9 T10
AB
E
RT1 RT2C4 C5
T4 T5
5
5
5
Internal Bus
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales en registros
ARCOS @ UC3M38
� SWAP R1 R2
O. Elemental Señales
RT1� R1 RA=1, T9, C4
R1 � R2 RA=2, T9, RE=1, LE
R2 � RT1 T4, RE=2, LE
RegisterFile
RARBRELE
T9 T10
AB
E
RT1 RT2C4 C5
T4 T5
5
5
5
Internal Bus
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales en registros
ARCOS @ UC3M39
� SWAP R1 R2
O. Elemental Señales
RT1� R1 RA=1, T9, C4
R1 � R2 RA=2, T9, RE=1, LE
R2 � RT1 T4, RE=2, LE
RegisterFile
RARBRELE
T9 T10
AB
E
RT1 RT2C4 C5
T4 T5
5
5
5
Internal Bus
Alejandro Calderón MateosFélix García-Carballeira,
Estructura de un computador elemental
ARCOS @ UC3M40
Memory
Address BusData Bus
Control Bus
ALU
RegisterFile
MAR
IR
SR
0 1
MBRC0
C1
Ta
Td
T1
RARBRELE
T9 T10
AB
E
PCC2
Control Unit+4
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z I U
SelP
SELEC 5
Offset
Control Signals
Bytes SelectorBW C3
C4 C5
C6
C7
T2 T3
T4 T5 T6 T7 T8
2
2MA MB
M1 M2
4
Internal Bus
5
5
5
Processor
A31-A0 D31-D0 R W IOR
V7-V0D31-D0
BE3-BE0
SE
22
0 1MUX M7
SELEC11 10 01
CLK
I/O
IORdy ADDR DATA IOR IOW INT INTA INTV ADDR DATA IOR ADDR DATA IOR IOW
DisplayIOSR IOCR IODR KBDR
INTA
KBSR DDR DSR
IOW INT MRdy IORdy
Keyboard
A31-A0
MRdy ADDR DATA R WBE
Size5
MUX0 1
MUX
A1A0SEW
4
Unidad Aritmetico-Lógica (ALU)
Alejandro Calderón MateosFélix García-Carballeira,
Señales de control
ARCOS @ UC3M41
� ALU
� MA – selección de operando A
� MB – selección de operando B
� Cop – código de operación
ALU
AB
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z
C4 C5
C6
T4 T5 T6 T7
2MA MB
4
Internal Bus
CO (C03-C00) Operación
0000 A and B
0001 A or B
0010 not (A)
0011 A xor B
0100 Shift Right Logical (A) B= number of bits to shift
0101 Shift Right Arithmetic( A)B= number of bits to shift
0110 Shift left (A)B= number of bits to shift
0111 Rotate Right (A)B= number of bits to rotate
1000 Rotate Left (A)B= number of bits to rotate
1001 A + B
1010 A - B
1100 A * B (with overflow)
1101 A / B (integer division)
1110 A % B (integer division)
1111 LUI (A)
Alejandro Calderón MateosFélix García-Carballeira,
Señales de control
ARCOS @ UC3M42
ALU
AB
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z
C4 C5
C6
T4 T5 T6 T7
2MA MB
4
Internal Bus
0000000000000000
31 16 15 0
31 16 15 0
LUI
CO (C03-C00) Operación
0000 A and B
0001 A or B
0010 not (A)
0011 A xor B
0100 Shift Right Logical (A) B= number of bits to shift
0101 Shift Right Arithmetic( A)B= number of bits to shift
0110 Shift left (A)B= number of bits to shift
0111 Rotate Right (A)B= number of bits to rotate
1000 Rotate Left (A)B= number of bits to rotate
1001 A + B
1010 A - B
1100 A * B (with overflow)
1101 A / B (integer division)
1110 A % B (integer division)
1111 LUI (A)
Alejandro Calderón MateosFélix García-Carballeira,
Señales de control
ARCOS @ UC3M43
ALU
AB
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z
C4 C5
C6
T4 T5 T6 T7
2MA MB
4
Internal Bus
CO (C03-C00) Operación
0000 A and B
0001 A or B
0010 not (A)
0011 A xor B
0100 Shift Right Logical (A) B= number of bits to shift
0101 Shift Right Arithmetic( A)B= number of bits to shift
0110 Shift left (A)B= number of bits to shift
0111 Rotate Right (A)B= number of bits to rotate
1000 Rotate Left (A)B= number of bits to rotate
1001 A + B
1010 A - B
1100 A * B (with overflow)
1101 A / B (integer division)
1110 A % B (integer division)
1111 LUI (A)
Resultado O N Z
Resultado positivo (0 se considera +) 0 0 0
Resultado == 0 0 0 1
Resultado negativo 0 1 0
Desbordamiento de la operación 1 0 0
División por cero 1 0 1
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales en ALU
ARCOS @ UC3M44
� ADD $t3 $t1 $t2
O. Elemental Señales
$t3 � $t1 + $t2 RA=$t1, RB=$t2, MA=0, MB=0, cod.OP=+, T6, RE=$t3, LE=1
ALU
RegisterFile
RARBRELE
T9 T10
AB
E
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z
C4 C5
C6
T4 T5 T6 T7
2MA MB
4
Internal Bus
5
5
5
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales en ALU
ARCOS @ UC3M45
� SWAP R1 R2
O. Elemental Señales
RT1� R1 RA=1, T9, C4
R1 � R2 RA=2, T9, RE=1, LE
R2 � RT1 T4, RE=2, LE
ALU
RegisterFile
RARBRELE
T9 T10
AB
E
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z
C4 C5
C6
T4 T5 T6 T7
2MA MB
4
Internal Bus
5
5
5
� SWAP R1, R2 sin Rtmp
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales en ALU
ARCOS @ UC3M46
� SWAP R1 R2
O. Elemental Señales
RT1� R1 RA=1, T9, C4
R1 � R2 RA=2, T9, RE=1, LE
R2 � RT1 T4, RE=2, LE
ALU
RegisterFile
RARBRELE
T9 T10
AB
E
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z
C4 C5
C6
T4 T5 T6 T7
2MA MB
4
Internal Bus
5
5
5
� SWAP R1, R2 sin Rtmp
O. Elemental Señales
R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1
R2�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=2
R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1
R1 � (R1 ^ R2)
R2 � (R1 ^ R2) ^ R2
R1 � (R1 ^ R2) ^ R1
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales en ALU
ARCOS @ UC3M47
� SWAP R1 R2
O. Elemental Señales
RT1� R1 RA=1, T9, C4
R1 � R2 RA=2, T9, RE=1, LE
R2 � RT1 T4, RE=2, LE
ALU
RegisterFile
RARBRELE
T9 T10
AB
E
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z
C4 C5
C6
T4 T5 T6 T7
2MA MB
4
Internal Bus
5
5
5
� SWAP R1, R2 sin Rtmp
O. Elemental Señales
R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1
R2�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=2
R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales en ALU
ARCOS @ UC3M48
� SWAP R1 R2
O. Elemental Señales
RT1� R1 RA=1, T9, C4
R1 � R2 RA=2, T9, RE=1, LE
R2 � RT1 T4, RE=2, LE
ALU
RegisterFile
RARBRELE
T9 T10
AB
E
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z
C4 C5
C6
T4 T5 T6 T7
2MA MB
4
Internal Bus
5
5
5
� SWAP R1, R2 sin Rtmp
O. Elemental Señales
R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1
R2�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=2
R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales en ALU
ARCOS @ UC3M49
� SWAP R1 R2
O. Elemental Señales
RT1� R1 RA=1, T9, C4
R1 � R2 RA=2, T9, RE=1, LE
R2 � RT1 T4, RE=2, LE
ALU
RegisterFile
RARBRELE
T9 T10
AB
E
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z
C4 C5
C6
T4 T5 T6 T7
2MA MB
4
Internal Bus
5
5
5
� SWAP R1, R2 sin Rtmp
O. Elemental Señales
R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1
R2�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=2
R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales en ALU
ARCOS @ UC3M50
� SWAP R1 R2
O. Elemental Señales
RT1� R1 RA=1, T9, C4
R1 � R2 RA=2, T9, RE=1, LE
R2 � RT1 T4, RE=2, LE
ALU
RegisterFile
RARBRELE
T9 T10
AB
E
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z
C4 C5
C6
T4 T5 T6 T7
2MA MB
4
Internal Bus
5
5
5
� SWAP R1, R2 sin Rtmp
O. Elemental Señales
R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1
R2�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=2
R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1
Alejandro Calderón MateosFélix García-Carballeira,
Estructura de un computador elemental
ARCOS @ UC3M51
Memory
Address BusData Bus
Control Bus
ALU
RegisterFile
MAR
IR
SR
0 1
MBRC0
C1
Ta
Td
T1
RARBRELE
T9 T10
AB
E
PCC2
Control Unit+4
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z I U
SelP
SELEC 5
Offset
Control Signals
Bytes SelectorBW C3
C4 C5
C6
C7
T2 T3
T4 T5 T6 T7 T8
2
2MA MB
M1 M2
4
Internal Bus
5
5
5
Processor
A31-A0 D31-D0 R W IOR
V7-V0D31-D0
BE3-BE0
SE
22
0 1MUX M7
SELEC11 10 01
CLK
I/O
IORdy ADDR DATA IOR IOW INT INTA INTV ADDR DATA IOR ADDR DATA IOR IOW
DisplayIOSR IOCR IODR KBDR
INTA
KBSR DDR DSR
IOW INT MRdy IORdy
Keyboard
A31-A0
MRdy ADDR DATA R WBE
Size5
MUX0 1
MUX
A1A0SEW
4
Memoria principal, registro de direcciones y de datos
Alejandro Calderón MateosFélix García-Carballeira,
Señales de control
ARCOS @ UC3M52
Nomenclatura: Nomenclatura:
• MAR -> registro de direcciones• MBR -> registro de datos
� Memoria principal
� R – lectura
� W – escritura
� BE3-BE0 = A1A0 + BW
� C0 – del bus interno al MAR
� C1 – del bus de datos al MBR
� Ta – salida de MAR al bus de direcciones
� Td – salida de MBR al bus de datos
� T1 – salida de MBR al bus interno
� M1– selección para MBR: de memoria o bus interno
Memory
MAR
0 1
MBRC0 C1
Ta
Td
T1
BytesSelector
BW
M1
A31-A0 D31-D0
D31-D0
BE3-BE0
22
A31-A0
MRdy ADDR DATA R WBE
MUX
A1A0
4
Addr.BusData BusCtrl. Bus
SEW
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales para usar la memoria
ARCOS @ UC3M53
� Lectura
� Escritura
Memory
MAR
0 1
MBRC0 C1
Ta
Td
T1
BytesSelector
BW
M1
A31-A0 D31-D0
D31-D0
BE3-BE0
22
A31-A0
MRdy ADDR DATA R WBE
MUX
A1A0
4
Addr.BusData BusCtrl. Bus
SEW
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales para usar la memoria
ARCOS @ UC3M54
� Lectura
� Escritura
Memory
MAR
0 1
MBRC0 C1
Ta
Td
T1
BytesSelector
BW
M1
A31-A0 D31-D0
D31-D0
BE3-BE0
22
A31-A0
MRdy ADDR DATA R WBE
MUX
A1A0
4
Addr.BusData BusCtrl. Bus
SEW
O. Elemental Señales
MAR � <dirección> …, C0
MBR � MP[MAR] Ta, R, M1, C1
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales para usar la memoria
ARCOS @ UC3M55
� Lectura
� Escritura
Memory
MAR
0 1
MBRC0 C1
Ta
Td
T1
BytesSelector
BW
M1
A31-A0 D31-D0
D31-D0
BE3-BE0
22
A31-A0
MRdy ADDR DATA R WBE
MUX
A1A0
4
Addr.BusData BusCtrl. Bus
SEW
O. Elemental Señales
MAR � <dirección> …, C0
MBR � MP[MAR] Ta, R, M1, C1
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales para usar la memoria
ARCOS @ UC3M56
� Lectura
� Escritura
Memory
MAR
0 1
MBRC0 C1
Ta
Td
T1
BytesSelector
BW
M1
A31-A0 D31-D0
D31-D0
BE3-BE0
22
A31-A0
MRdy ADDR DATA R WBE
MUX
A1A0
4
Addr.BusData BusCtrl. Bus
SEW
O. Elemental Señales
MAR � <dirección> …, C0
MBR � MP[MAR] Ta, R, M1, C1
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales para usar la memoria
ARCOS @ UC3M57
� Lectura
� Escritura
Memory
MAR
0 1
MBRC0 C1
Ta
Td
T1
BytesSelector
BW
M1
A31-A0 D31-D0
D31-D0
BE3-BE0
22
A31-A0
MRdy ADDR DATA R WBE
MUX
A1A0
4
Addr.BusData BusCtrl. Bus
SEW
O. Elemental Señales
MAR � <dirección> …, C0
MBR � <dato> …, C1
Ciclo de escritura Ta, Td, E
O. Elemental Señales
MAR � <dirección> …, C0
MBR � MP[MAR] Ta, R, M1, C1
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales para usar la memoria
ARCOS @ UC3M58
� Lectura
� Escritura
Memory
MAR
0 1
MBRC0 C1
Ta
Td
T1
BytesSelector
BW
M1
A31-A0 D31-D0
D31-D0
BE3-BE0
22
A31-A0
MRdy ADDR DATA R WBE
MUX
A1A0
4
Addr.BusData BusCtrl. Bus
SEW
O. Elemental Señales
MAR � <dirección> …, C0
MBR � <dato> …, C1
Ciclo de escritura Ta, Td, E
O. Elemental Señales
MAR � <dirección> …, C0
MBR � MP[MAR] Ta, R, M1, C1
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales para usar la memoria
ARCOS @ UC3M59
� Lectura
� Escritura
Memory
MAR
0 1
MBRC0 C1
Ta
Td
T1
BytesSelector
BW
M1
A31-A0 D31-D0
D31-D0
BE3-BE0
22
A31-A0
MRdy ADDR DATA R WBE
MUX
A1A0
4
Addr.BusData BusCtrl. Bus
SEW
O. Elemental Señales
MAR � <dirección> …, C0
MBR � <dato> …, C1
Ciclo de escritura Ta, Td, E
O. Elemental Señales
MAR � <dirección> …, C0
MBR � MP[MAR] Ta, R, M1, C1
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales para usar la memoria
ARCOS @ UC3M60
� Lectura
� Escritura
Memory
MAR
0 1
MBRC0 C1
Ta
Td
T1
BytesSelector
BW
M1
A31-A0 D31-D0
D31-D0
BE3-BE0
22
A31-A0
MRdy ADDR DATA R WBE
MUX
A1A0
4
Addr.BusData BusCtrl. Bus
SEW
O. Elemental Señales
MAR � <dirección> …, C0
MBR � <dato> …, C1
Ciclo de escritura Ta, Td, E
O. Elemental Señales
MAR � <dirección> …, C0
MBR � MP[MAR] Ta, R, M1, C1
Alejandro Calderón MateosFélix García-Carballeira,
Estructura de un computador elemental
ARCOS @ UC3M61
Memory
Address BusData Bus
Control Bus
ALU
RegisterFile
MAR
IR
SR
0 1
MBRC0
C1
Ta
Td
T1
RARBRELE
T9 T10
AB
E
PCC2
Control Unit+4
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z I U
SelP
SELEC 5
Offset
Control Signals
Bytes SelectorBW C3
C4 C5
C6
C7
T2 T3
T4 T5 T6 T7 T8
2
2MA MB
M1 M2
4
Internal Bus
5
5
5
Processor
A31-A0 D31-D0 R W IOR
V7-V0D31-D0
BE3-BE0
SE
22
0 1MUX M7
SELEC11 10 01
CLK
I/O
IORdy ADDR DATA IOR IOW INT INTA INTV ADDR DATA IOR ADDR DATA IOR IOW
DisplayIOSR IOCR IODR KBDR
INTA
KBSR DDR DSR
IOW INT MRdy IORdy
Keyboard
A31-A0
MRdy ADDR DATA R WBE
Size5
MUX0 1
MUX
A1A0SEW
4
Registros SR, PC y IR
Alejandro Calderón MateosFélix García-Carballeira,
Señales de control
ARCOS @ UC3M62
� Contador de programa PC:� C2, M2 – PC <- PC + 4
� C2 – del bus interno al PC
� T2 – de PC a bus interno
� Registro de estado SR:� C7 – de bus interno al SR
� SelP=11, M7 – flags de ALU a SR
� T8 – del SR al bus interno
� Registro de instrucciones IR:� C3 – del bus interno al IR
� T3 – de IR al bus interno� Offset, Size, SE: qué parte de IR
IR
SELEC 5
Offset
C3
T3
Internal Bus
SESize
5
PCC2
+4
T2
M2
Internal Bus
MUX0 1
SR
0 N Z
SelP
C7
T8
2
0 1MUX M7
SELEC11 10 01
Internal Bus
Alejandro Calderón MateosFélix García-Carballeira,
Estructura de un computador elemental
ARCOS @ UC3M63
Memory
Address BusData Bus
Control Bus
ALU
RegisterFile
MAR
IR
SR
0 1
MBRC0
C1
Ta
Td
T1
RARBRELE
T9 T10
AB
E
PCC2
Control Unit+4
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z I U
SelP
SELEC 5
Offset
Control Signals
Bytes SelectorBW C3
C4 C5
C6
C7
T2 T3
T4 T5 T6 T7 T8
2
2MA MB
M1 M2
4
Internal Bus
5
5
5
Processor
A31-A0 D31-D0 R W IOR
V7-V0D31-D0
BE3-BE0
SE
22
0 1MUX M7
SELEC11 10 01
CLK
I/O
IORdy ADDR DATA IOR IOW INT INTA INTV ADDR DATA IOR ADDR DATA IOR IOW
DisplayIOSR IOCR IODR KBDR
INTA
KBSR DDR DSR
IOW INT MRdy IORdy
Keyboard
A31-A0
MRdy ADDR DATA R WBE
Size5
MUX0 1
MUX
A1A0SEW
4
Unidad de Control (UC)
Alejandro Calderón MateosFélix García-Carballeira,
Unidad de control
ARCOS @ UC3M64
Control Memory
MUX B0 1
76
CO
A0 A1
MUX A
µInstruction
µAd
dr
+1 00
A0
Sel RA Sel RB Sel RE
Sel A Sel B Sel E
RA RB RE Cop
49
0(fetch)
MUX0 1MR
Rest of CPUControl Signals
MUX0 1
MRMUX0 1
MR
co2µAddr
SRO N Z I U
B C MCMR Cop
µAddr
12
IR
MUX C8 7 6 5 4 3 2 1 0
31 30 29 1 0
MRdy IORdy INT 0
MUX0 1MC
4 4
IR3-IR0
01
10
11
5 5 5 55 5
6 4
Alejandro Calderón MateosFélix García-Carballeira,
� Microinstrucción: A cada palabra que define un período de una instrucción
� Las microinstrucciones � tienen un bit por cada señal de control.
� cadena de 1’s y 0’s que representa el estado de cada señal de control durante un período de una instrucción.
Unidad de control almacenada.
Microprogramación (1)
ARCOS @ UC3M65
Alejandro Calderón MateosFélix García-Carballeira,
� Microprograma: conjunto ordenado de microinstrucciones, que representan el cronograma de una instrucción.
� Firmware (microcódigo): conjunto de los microprogramas de una máquina.
Unidad de control almacenada.
Microprogramación (2)
……
mic
ropr
ogra
ma
firm
war
e
ARCOS @ UC3M66
Alejandro Calderón MateosFélix García-Carballeira,
� RESET: valores por defecto
� PC <-0x00, SP<- 0xFF, …
� FETCH: traer sig. instrucción
� I<- Mem[PC], PC++, salto-a-C.O.
� Microprograma: uno por instrucción de ensamblador
� Traer resto de operandos (si hay)
� actualizar PC en caso de más operandos
� Realizar la instrucción
� Salto a FETCH
Unidad de control almacenada.
Microprogramación (3)
…
RESET
FETCH
li $a0, #valor
bnez $a1 /posicion
Contenido M.Control
ARCOS @ UC3M67
Alejandro Calderón MateosFélix García-Carballeira,
Unidad de control
ARCOS @ UC3M68
MUX B0 1
76
CO
A0 A1
MUX A
µInstruction
µAd
dr
+1 00
A0
Sel RA Sel RB Sel RE
Sel A Sel B Sel E
RA RB RE Cop
49
0(fetch)
MUX0 1MR
Rest of CPUControl Signals
MUX0 1
MRMUX0 1
MR
co2µAddr
SRO N Z I U
B C MCMR Cop
µAddr
12
IR
MUX C8 7 6 5 4 3 2 1 0
31 30 29 1 0
MRdy IORdy INT 0
MUX0 1MC
4 4
IR3-IR0
01
10
11
5 5 5 55 5
6 4
Control MemoryA0 Sel A Sel B Sel EB C MCMR Cop
A0 Sel A Sel B Sel EB C MCMR Cop
……
…
Alejandro Calderón MateosFélix García-Carballeira,
Unidad de control
ARCOS @ UC3M69
MUX B0 1
76
CO
A0 A1
MUX A
µInstruction
µAd
dr
+1 00
A0
Sel RA Sel RB Sel RE
Sel A Sel B Sel E
RA RB RE Cop
49
0(fetch)
MUX0 1MR
Rest of CPUControl Signals
MUX0 1
MRMUX0 1
MR
co2µAddr
SRO N Z I U
B C MCMR Cop
µAddr
12
IR
MUX C8 7 6 5 4 3 2 1 0
31 30 29 1 0
MRdy IORdy INT 0
MUX0 1MC
4 4
IR3-IR0
01
10
11
5 5 5 55 5
6 4
Control MemoryA0 Sel A Sel B Sel EB C MCMR Cop
A0 Sel A Sel B Sel EB C MCMR Cop
……
…
µ00 µI1
µIM (salto a fetch)
ADD
fetch
µI0
µI1
µIK (salto a µProg)
Alejandro Calderón MateosFélix García-Carballeira,
Unidad de control
ARCOS @ UC3M70
MUX B0 1
76
CO
A0 A1
MUX A
µInstruction
µAd
dr
+1 00
A0
Sel RA Sel RB Sel RE
Sel A Sel B Sel E
RA RB RE Cop
49
0(fetch)
MUX0 1MR
Rest of CPUControl Signals
MUX0 1
MRMUX0 1
MR
co2µAddr
SRO N Z I U
B C MCMR Cop
µAddr
12
IR
MUX C8 7 6 5 4 3 2 1 0
31 30 29 1 0
MRdy IORdy INT 0
MUX0 1MC
4 4
IR3-IR0
01
10
11
5 5 5 55 5
6 4
Control MemoryA0 Sel A Sel B Sel EB C MCMR Cop
A0 Sel A Sel B Sel EB C MCMR Cop
……
…
µ00 µI1
µIM (salto a fetch)
ADD
fetch
µI0
µI1
µIK (salto a µProg) CO
0 µDir de la 1ª µI del ADD
1 µDir de la 1ª µI del LW
N µDir de la 1ª µI del µP N
µAddr
Alejandro Calderón MateosFélix García-Carballeira,
Unidad de control
ARCOS @ UC3M71
A0 A1 Salida
0 0 Sig µDir
0 1 µDir de salto
1 0 Salto a µProg. (ROM)
1 1 fetch
Control Memory
MUX B0 1
76
CO
A0 A1
MUX A
µInstruction
µAd
dr
+1 00
A0
Sel RA Sel RB Sel RE
Sel A Sel B Sel E
RA RB RE Cop
49
0(fetch)
MUX0 1MR
Rest of CPUControl Signals
MUX0 1
MRMUX0 1
MR
co2µAddr
SRO N Z I U
B C MCMR Cop
µAddr
12
IR
MUX C8 7 6 5 4 3 2 1 0
31 30 29 1 0
MRdy IORdy INT 0
MUX0 1MC
4 4
IR3-IR0
01
10
11
5 5 5 55 5
6 4
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplo operaciones elementales con la UC
ARCOS @ UC3M72
� Salto a la dirección 000100011100 (12 bits) si Z = 1. En caso contrario se salta a la siguiente.
O. Elemental Señales
Si (Z)
µPC=000100011100A0=0, B=0, C=01102, mADDR=0001000111002
� Salto incondicional a la dirección 000100011111
O. Elemental Señales
µPC=000100011111 A0=0, B=1, C=00002, mADDR=0001000111112
� Salto a la primera µdirección del µprograma asociado al CO
O. Elemental Señales
Salto a CO A0=0, B=1, C=00002
Alejandro Calderón MateosFélix García-Carballeira,
ResumenEstructura de un computador elemental
ARCOS @ UC3M73
Memory
Address BusData Bus
Control Bus
ALU
RegisterFile
MAR
IR
SR
0 1
MBRC0
C1
Ta
Td
T1
RARBRELE
T9 T10
AB
E
PCC2
Control Unit+4
0 1MUX
00 01 10 11MUX
RT3
RT1 RT2000…0100000…0001
Cop 3
0 N Z I U
SelP
SELEC 5
Offset
Control Signals
Bytes SelectorBW C3
C4 C5
C6
C7
T2 T3
T4 T5 T6 T7 T8
2
2MA MB
M1 M2
4
Internal Bus
5
5
5
Processor
A31-A0 D31-D0 R W IOR
V7-V0D31-D0
BE3-BE0
SE
22
0 1MUX M7
SELEC11 10 01
CLK
I/O
IORdy ADDR DATA IOR IOW INT INTA INTV ADDR DATA IOR ADDR DATA IOR IOW
DisplayIOSR IOCR IODR KBDR
INTA
KBSR DDR DSR
IOW INT MRdy IORdy
Keyboard
A31-A0
MRdy ADDR DATA R WBE
Size5
MUX0 1
MUX
A1A0SEW
4
Alejandro Calderón MateosFélix García-Carballeira,
ResumenEstructura de un computador elemental
ARCOS @ UC3M74
Control Memory
MUX B0 1
76
CO
A0 A1
MUX A
µInstruction
µAd
dr
+1 00
A0
Sel RA Sel RB Sel RE
Sel A Sel B Sel E
RA RB RE Cop
49
0(fetch)
MUX0 1MR
Rest of CPUControl Signals
MUX0 1
MRMUX0 1
MR
co2µAddr
SRO N Z I U
B C MCMR Cop
µAddr
12
IR
MUX C8 7 6 5 4 3 2 1 0
31 30 29 1 0
MRdy IORdy INT 0
MUX0 1MC
4 4
IR3-IR0
01
10
11
5 5 5 55 5
6 4
Alejandro Calderón MateosFélix García-Carballeira,
Contenidos
75
1. Introducción
1. Motivación y objetivos
2. Funciones básicas de la unidad de control
3. Señales de control y operaciones elementales
2. Computador elemental:
1. Estructura del computador elemental
2. Señales de control
3. Operaciones elementales
ARCOS @ UC3M
Alejandro Calderón MateosFélix García-Carballeira,
Descripción de la actividad de la U.C.
ARCOS @ UC3M76
Instrucción
Secuencia de operaciones elementales
Secuencia de señales de control por cada operación elemental
mv R0 R1
• RI <- [PC]
• PC++
• decodificación
• R0 <- R1
+ nivel de detalle Hw.
Alejandro Calderón MateosFélix García-Carballeira,
Descripción de la actividad de la U.C.
ARCOS @ UC3M77
Instrucción
Secuencia de operaciones elementales
Secuencia de señales de control por cada operación elemental
mv R0 R1
• RI <- [PC]
• PC++
• decodificación
• R0 <- R1
Alejandro Calderón MateosFélix García-Carballeira,
Operaciones elementales asociadas a una instrucción de ensamblador
ARCOS @ UC3M78
A. Fetch
B. Traer operandos
C. Ejecutar
D. Guardar resultados
1.- MAR ← PC2.- RI ← Memoria(MAR)3.- PC ← PC + ”4”4.- Decodificación de la instrucción
5.- MAR ← R4
6.- Rtmp ← Memoria(MAR)
7.- Rtmp ← R3 + Rtmp
8.- MBR ← Rtmp
9.- MAR← R2
10.- Memoria(MAR) ← MBR
ADD (R2) R3 (R4)
Alejandro Calderón MateosFélix García-Carballeira,
Operaciones elementales asociadas a una instrucción de ensamblador
ARCOS @ UC3M79
� Preciso conocer que operaciones son posibles en una arquitectura:
A <- A + CB <- A + DA <- A + BA <- C + D + AA <- D + D
1.- MAR ← PC2.- RI ← Memoria(MAR)3.- PC ← PC + ”4”4.- Decodificación de la instrucción
5.- MAR ← R4
6.- Rtmp ← Memoria(MAR)
7.- Rtmp ← R3 + Rtmp
8.- MBR ← Rtmp
9.- MAR← R2
10.- Memoria(MAR) ← MBR
ADD (R2) R3 (R4)
Alejandro Calderón MateosFélix García-Carballeira,
Operaciones elementales asociadas a una instrucción de ensamblador
ARCOS @ UC3M80
� Preciso conocer que operaciones son posibles en una arquitectura:
� No hay un “camino” para llevar los valores.
� No hay “operador” para hacer un cálculo.
� No es posible atravesar un registro en el ciclo de reloj
� No es posible llevar a un bus dos valores a la vez.
1.- MAR ← PC2.- RI ← Memoria(MAR)3.- PC ← PC + ”4”4.- Decodificación de la instrucción
5.- MAR ← R4
6.- Rtmp ← Memoria(MAR)
7.- Rtmp ← R3 + Rtmp
8.- MBR ← Rtmp
9.- MAR← R2
10.- Memoria(MAR) ← MBR
ADD (R2) R3 (R4)
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplos de describir las O.E. asociadas a una instrucción
ARCOS @ UC3M81
� ADD .4, .7
� LD .3, #734[.4++]
� SUB .12, [#1734[.13]]
� BZ #1342[.6]
Alejandro Calderón MateosFélix García-Carballeira,
Ejemplos de describir las O.E. asociadas a una instrucción
ARCOS @ UC3M82
Instrucción Significado
ADD .4, .7 R4 ← R4+ R7
LD .3, #734[.4++]R3 ← Memoria[#734 + R4]R4++
SUB .12, [#1734[.13]] R12 ← Memoria[Memoria[#1734 + R13]]
BZ #1342[.6]Si SR.Z==0
Salto a fetchPC ← #1342 + R6
Alejandro Calderón MateosFélix García-Carballeira,
ADD .4,.7 (Operaciones elementales)
ARCOS @ UC3M83
1. MAR ← PC
2. MBR ← memoria(MAR)
3. PC ← PC + ‘4‘
4. IR ← MBR
5. Decodificación y salto a CO
6. R4 ← R4 + R7, SR ← Bits de estado aritméticos
Instrucción Significado
ADD .4, .7 R4 ← R4+ R7
Alejandro Calderón MateosFélix García-Carballeira,
LD .3,#734[.4++] (Operaciones elementales)
ARCOS @ UC3M84
1. MAR ← PC2. MBR ← memoria(MAR)3. PC ← PC + ‘4‘4. IR ← MBR5. Decodificación y salto a CO
6. RT2 ← RI(734)7. MAR ← RT2 + R4
8. MBR ← memoria(MAR)9. R3 ← MBR10. R4 ← R4 + 1
Instrucción Significado
LD .3, #734[.4++]R3 ← MP[#734 + R4]R4++
Alejandro Calderón MateosFélix García-Carballeira,
LD .3,#734[.4++] (Operaciones elementales)
ARCOS @ UC3M85
1. MAR ← PC2. MBR ← memoria(MAR)3. PC ← PC + ‘4‘4. IR ← MBR5. Decodificación y salto a CO6. MAR ← PC7. MBR ← memoria(MAR)8. PC ← PC + ‘4‘9. RT2 ← MBR10. MAR ← RT2 + R4
11. MBR ← memoria(MAR)12. R3 ← MBR13. R4 ← R4 + 1
Instrucción Significado
LD .3, #734[.4++]R3 ← MP[#734 + R4]R4++
Alejandro Calderón MateosFélix García-Carballeira,
SUB .12,[#1734[.13]] (Operaciones elementales)
ARCOS @ UC3M86
1. MAR ← PC
2. MBR ← memoria(MAR)
3. PC ← PC + ‘4‘
4. IR ← MBR
5. Decodificación y salto a CO
6. RT2 ← RI(1734)
7. MAR ← RT2 + R13
8. MBR ← memoria(MAR)
9. MAR ← MBR
10. MBR ← memoria(MAR)
11. RT2 ← MBR
12. R12 ← R12 – RT2
Instrucción Significado
SUB .12, [#1734[.13]] R12 ← MP[MP[#1734+R13]]
Alejandro Calderón MateosFélix García-Carballeira,
BZ #1342[.6] (Operaciones elementales)
ARCOS @ UC3M87
1. MAR ← PC
2. MBR ← memoria(MAR)
3. PC ← PC + ‘4‘
4. IR ← MBR
5. Decodificación y salto a CO
6. Si no se cumple la condición, entonces saltar a FETCH
7. RT2 ← RI(1342)
8. PC ← RT2 + R6
9. saltar a FETCH
Instrucción Significado
BZ #1342[.6]Si SR.Z==0
Salto a fetchPC ← #1342 + R6
Tema 4 (I)
El procesador
Estructura de Computadores
Grado en Ingeniería Informática
Grupo ARCOS
Universidad Carlos III de Madrid
top related