arquitecturas de computadores 2º curso ingeniería técnica en

Anuncio
ARQUITECTURAS DE
COMPUTADORES
2º CURSO INGENIERÍA TÉCNICA
EN INFORMÁTICA DE GESTIÓN
TEMA 1 - INTRODUCCIÓN
JOSÉ GARCÍA RODRÍGUEZ
JOSÉ ANTONIO SERRA PÉREZ
Tema 1.MaNoTaS
1
Definiciones (I)
Descripción
Un computador es:
Un sistema electrónico complejo, que
posee una enorme cantidad de
dispositivos electrónicos básicos
Un sistema jerárquico complejo
Tema 1.MaNoTaS
2
Definiciones
(II)
Descripción
• Podemos definir:
– estructura como el modo en que los
componentes están interrelacionados
– función como la operación de cada
componente individual como parte de
la estructura.
Tema 1.MaNoTaS
3
Funciones
Descripción
(I)
• Funciones básicas del computador:
– Procesamiento de datos
– Almacenamiento de datos
– Transferencia de datos
– Control
Tema 1.MaNoTaS
4
Funciones
(II)
Bloques
Procesamiento
de datos
Entrada/salida
de datos
Transferencia
de datos
Control
Almacena.
de datos
Tema 1.MaNoTaS
5
Estructuras
Descripción
(I)
• Estructuras básicas del computador:
– Unidad de Procesamiento Central
– Memoria Principal
– Unidad de E/S
– Ruta de datos
Tema 1.MaNoTaS
6
Estructuras
(II)
Bloques
COMPUTADOR
Memoria
CPU
Ruta de
datos
E/S
Tema 1.MaNoTaS
7
Estructuras
Bloques
(III)
C.P.U.
A.L.U.
U.C.
Ruta de
Datos de
la U.C.
Registros
Tema 1.MaNoTaS
8
Máquina de von Neumann
Premisas
(I)
• Se basa en tres conceptos:
– Existencia de una única memoria de
lectura/escritura
– Acceso a la memoria indicando su
dirección.
– Ejecución del programa continua.
Tema 1.MaNoTaS
9
Máquina de von Neumann
(II)
Bloques
U.C
MEMORIA
A.L.U.
E/S
C.P.U.
Tema 1.MaNoTaS
10
MaNoTaS
Descripción
(I)
• Recursos de MaNoTaS
– ALU capaz de realizar operaciones A/L.
– Memoria de 64Kbytes.
– Repertorio de instrucciones reducido.
– Cuatro modos de direccionamiento.
– Un banco de registros.
– Registro de estado (Z,C,O,I)
Tema 1.MaNoTaS
11
MaNoTaS.
Memoria
(II)
• Capacidad 64Kbytes
– 16 líneas para direcciones
– 8 líneas para datos
• Dos caminos para la información
– Bidireccional para los datos
– Unidireccional para las instrucciones
Tema 1.MaNoTaS
12
MaNoTaS.
(III)
Memoria
B. DIRECCIONES
MEMORIA
64Kx8
16
8
Tema 1.MaNoTaS
B. DATOS
13
MaNoTaS.
Modos
Direcciona.
(IV)
• Posee 4 modos de direccionamiento
– Inmediato.
– Directo a memoria.
– Directo a registro.
– Indirecto a registro
Tema 1.MaNoTaS
14
MaNoTaS.
Modos
Direcciona.
(V)
• Inmediato.
Después del código de operación se encuentra el dato. Constan de 2
bytes, uno para el código de operación y otro para el dato.
• Directo a memoria.
El operando se define mediante la dirección de la memoria donde se
almacena. Constan de 3 bytes uno para el código de operación y dos para
la dirección.
• Directo a registro.
El operando se encuentra en el registro especificado. Constan de 1 byte
• Indirecto a registro.
El operando se encuentra en la dirección dada por el registro especificado.
Constan de 1 byte
Tema 1.MaNoTaS
15
MaNoTaS.
Repertorio
Instrucciones
Transferencia
LDA dir
STA dir
LDAX
STAX
LFA
SFA
MOV r1,r2
MVI dato8,r1
MVIL nom_eti,r1
MVIH nom_eti,r1
PUSH r1
POP r1
PUSHF
POPF
Aritméticas
ADD r1
ADI dato
INR r1
DER r1
SUB r1
SUI dato
CMP r1
CPI dato
Lógicas
ANA r1
ANI dato
ORA r1
ORI dato
XRA r1
XRI dato
CMA
Tema 1.MaNoTaS
(VI)
Control
JMP dir
JZ dir
JO dir
JC dir
CALL dir
RET
INT #n
IRET
CLI
STI
NOP
E/S
IN #n
OUT #n
16
MaNoTaS.
Descripción
Instrucciones
(VII)
• Transferencia.
–
–
–
–
–
–
LDA dir
STA dir
LDAX
STAX
MOV r1,r2
MVI dato,r1
A ← M(dir)
M(dir) ← A
A ← M(D-E)
M(D-E) ← A
r2 ← r1
r1 ← dato
Tema 1.MaNoTaS
17
MaNoTaS.
Descripción
Instrucciones
(VIII)
• Aritméticas.
–
–
–
–
–
–
ADD r1
ADI dato
INR r1
SUB r1
SUI dato
CMP r1
– CPI dato
A ← A+r1
A ← A + dato
r1 ← r1 + 1
A ← A – r1
A ← A – dato
A – r1 si A=r1 entonces FZ=1
si A < r1 ⇒ FC=1
A – dato si A=dato entonces FZ=1
si A < dato ⇒FC=1
Tema 1.MaNoTaS
18
MaNoTaS.
Descripción
Instrucciones
(IX)
• Lógicas.
–
–
–
–
–
–
–
ANA r1
ANI dato
ORA r1
ORI dato
XRA r1
XRI dato
CMA
A ← A and r1
A ← A and dato
A ← A or r1
A ← A or dato
A ← A ⊕ r1
A ← A ⊕ dato
A ← C1(A)
• Manejo de señalizadores.
– LFA
– SFA
A ← señalizadores
señalizadores ← A
Tema 1.MaNoTaS
19
MaNoTaS.
Descripción
Instrucciones
(X)
• Rotura de la secuencia de programa.
–
–
–
–
–
–
–
–
–
–
JMP dir
JZ dir
JC dir
JO dir
CALL dir
RET
IRET
PC ← dir
si FZ=1; PC ← dir
si FC=1; PC ← dir
si FO=1; PC ← dir
M(SP) ← PCL; SP ← SP+1
M(SP) ← PCH; SP ← SP+1 PC ← dir
SP ← SP – 1; PCH ← M(SP)
SP ← SP – 1 PCL ← M(SP)
SP ← SP – 1; PCH ← M(SP);
SP ← SP – 1; PCL ← M(SP); I← 1
Tema 1.MaNoTaS
20
MaNoTaS.
Codificación
Instrucciones
(X)
• De un byte
MOV A,
MOV A,
MOV A,
MOV A,
MOV A,
A 44h
B 40h
C 41h
D 42h
C 43h
MOV B,
MOV B,
MOV B,
MOV B,
MOV B,
A 00h
B 04h
C 08h
D 0Ch
E 10h
MOV D,
MOV D,
MOV D,
MOV D,
MOV D,
A 02h
B 06h
C 0Ah
D 0Eh
E 12h
MOV E,
MOV E,
MOV E,
MOV E,
MOV E,
A 03h
B 07h
C 0Bh
D 0Eh
E 13h
Tema 1.MaNoTaS
MOV C,
MOV C,
MOV C,
MOV C,
MOV C,
A 01h
B 05h
C 09h
D 0Dh
E 11h
21
MaNoTaS.
Codificación
Instrucciones
(XI)
• De un byte
LDAX
STI
CLI
B0h
AAh
ABh
STAX
LFA
SFA
90h
81h
82h
ADD
ADD
ADD
ADD
ADD
45h
30h
31h
32h
33h
SUB
SUB
SUB
SUB
SUB
A
B
C
D
E
46h
18h
19h
1Ah
1Bh
CMP A
CMP B
CMP C
CMP D
CMP E
47h
1Ch
1Dh
1Eh
1Fh
4Bh
2Ch
2Dh
2Eh
2Fh
DER
DER
DER
DER
DER
A
B
C
D
E
A0h
A1h
A2h
A3h
A4h
CMA
80h
A
B
C
F
E
INR A
INR B
INR C
INR D
INR E
Tema 1.MaNoTaS
22
MaNoTaS.
Codificación
Instrucciones
(XII)
• De un byte
ANA A
ANA B
ANA C
ANA D
ANA E
48h
20h
21h
22h
23h
ORA
ORA
ORA
ORA
ORA
A
B
C
D
E
49h
24h
25h
26h
27h
XRA
XRA
XRA
XRA
XRA
A
B
C
D
E
4Ah
28h
29h
2Ah
2Bh
PUSH
PUSH
PUSH
PUSH
PUSH
55h
56h
57h
58h
59h
POP A
POP B
POP C
POP D
POP E
5Ah
5Bh
5Ch
5Dh
5Eh
PUSHF
POPF
RET
IRET
NOP
50h
51h
7Bh
7Ch
FFh
A
B
C
D
E
Tema 1.MaNoTaS
23
MaNoTaS.
Codificación
Instrucciones
(XIII)
• De dos bytes
MVI dato, A
MVI dato, C
MVI dato, E
SUI dato
64h
61h
63h
36h
dato
dato
dato
dato
ANI dato
ORI dato
XRI dato
68h dato
69h dato
6Ah dato
INT #n
54h numInterrupción
IN #n
OUT #n
52h numPuerto
53h numPuerto
MVI dato, B
MVI dato, D
ADI dato
CPI dato
Tema 1.MaNoTaS
60h dato
62h dato
35h dato
37h dato
24
MaNoTaS.
Codificación
Instrucciones
(XIV)
• De tres bytes
MVI dato, SP
LDA dir
STA dir
JMP dir
JZ dir
JC dir
JO dir
65h
70h
71h
74h
72h
73h
75h
dL
dL
dL
dL
dL
dL
dL
dH
dH
dH
dH
dH
dH
dH
CALL dir
7Ah dL dH
Tema 1.MaNoTaS
25
MaNoTaS.
A.L.U.
(XV)
• Realiza las operaciones
– Suma, resta, comparación
– And, Or, Xor, Not, Incrementa y Decrementa
• El registro de estado tiene.
– Cero (Z). Se pone a 1 cuando el resultado de la última
operación realizada en la A.L.U. ha sido cero
– Acarreo (C). Se pone a 1 cuando al sumar los 2 bits de
mayor peso de los operandos se produce llevada.
– Interrupción (I). Se pone a 1 para habilitar las
interrupciones.
– Overflow (O). Se pone a 1 cuando el resultado de la última
operación realizada en la A.L.U. es mayor que el mayor
número representable con el tamaño de la palabra que
estamos trabajando.
Tema 1.MaNoTaS
26
MaNoTaS.
(XVI)
A.L.U.
DATO 1
DATO 2
8
RF
8
+
CM
Z
C
O
I
A.L.U.
8
RESULTADO
Tema 1.MaNoTaS
27
MaNoTaS.
Banco de
Registros
(XVII)
• La definición de las instrucciones obliga a dotar
a MaNoTaS de un banco de registros.
ENTRADA SALIDA DE DATOS
8
2
B
C
D
E
DEC
SEL. REG.
Tema 1.MaNoTaS
28
MaNoTaS.
Selección de
Direcciones
(XVIII)
• Para seleccionar las fuentes del bus de direcciones, se
hace necesario un sistema de multiplexión.
PC
16
SP
MX
B. DIRECCIONES
HL
2
Sel
Tema 1.MaNoTaS
29
MaNoTaS.
U.C.
(XIX)
• Realiza las siguientes operaciones:
– Carga las instrucciones, que se encuentran en la
memoria, en un registro al que se le denomina
Registro de Instrucción.
– Controla un registro denominado Contador de
Programa, que es el que lleva la cuenta de la
instrucción que se va a ejecutar en cada momento.
– Decodifica la instrucción.
– Controlar la ejecución de las instrucciones y la
comunicación con los periféricos.
Tema 1.MaNoTaS
30
MaNoTaS.
(XX)
Ruta Datos
Tema 1.MaNoTaS
31
Simulador MaNoTaS.
(I)
Simulador
Tema 1.MaNoTaS
32
Simulador MaNoTaS.
(II)
Simulador
Traza
Tema 1.MaNoTaS
33
Simulador MaNoTaS.
(III)
Simulador
Editor
Tema 1.MaNoTaS
34
Descargar