Arq. Von Neumann
Arq. Von Neumann
1. Introducción
2. Arquitectura Von Neumann:
2.1. Principios básicos de funcionamiento.
2.2. Fases de ejecución de instrucciones máquina.
3. Formatos de instrucción.
4. Modos de direccionamiento:
4.1. Implícito
4.2. Inmediato
4.3. Directo Absoluto
4.4. Indirecto
5. Ejercicios
1
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
1.1. Introducción
Concepto de COMPUTADOR:
“Máquina electrónica que acepta datos de entrada, efectúa con ellos
unas operaciones aritméticas y/o lógicas y produce resultados de
salida, todo ello sin intervención de un operador humano y bajo el
control de un programa previamente almacenado en el computador”
ENTRADAS SALIDAS
COMPUTADOR
Datos de Datos de salida
entrada
(resultados)
e instrucciones
2
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
MEMORIA SECUNDARIA
Señales de control
o MASIVA y de estado
Datos e
instrucciones
MEMORIA
PRINCIPAL
(Datos e Instrucciones)
Datos e
instrucciones
Instrucciones Datos
Datos
ENTRAD SALIDA
A UNIDAD Resultados o
DE CONTROL UNIDAD datos de salida
(UC) ARITMÉTICO
LÓGICA
(ALU)
3
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
MAR. MDR
Control
PC R0
R1
IR
... ALU
Rn
C.P.U
.
4
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
5
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
Operación de lectura
– Esperar READY
– Recoger el dato del MDR
– Desactivar RD Decod
Bus de direcciones
• Memoria
Ante una señal de RD
– Recoger dirección de
memoria del bus de
direcciones
– Decodificar dirección Bus de datos
Operación de escritura
– Activar WR
– Esperar READY
– Desactivar WR Decod
Bus de direcciones
• Memoria
Ante una señal de WR
– Recoger dirección de memoria
del bus de direcciones
– Decodificar dirección
Bus de datos
– Copia el contenido del bus de
datos en la palabra
decodificada
– Activar READY
– Esperar desactivación de WR
– Desactivar READY
7
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Operación de de
Universidad Escritura en Memoria
Castilla La Mancha
WR RD
CPU
Memoria
Unidad
de Control
0 1 0 1 0 1 1 1
MDR MAR
0 1 0 1 0 1 1 1 0 0 1 1 0
Decod
Bus de direcciones
Bus de datos
8
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
• Fase de Decodificación:
– Decodifica código de operación de la instrucción
– Rn ← OPERANDO
• Fase de Ejecución:
– Genera señales de control necesarias
– Almacenamiento de resultados
10
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
12
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
13
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
16
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
• Ejemplo (i8085):
– Rotación a la izquierda del acumulador con intervención del
bit de acarreo (el código del acumulador no aparece
explícitamente en la instrucción)
0001 0111
RAL:
código operación
18
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
MEMORIA
INSTRUCCIÓ
PC COD. OPN OP ALU
20
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
21
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
LDA 1000
MEMORIA
ALU
1000 OPERANDO
A
22
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
C. OP D + P
P-2d-1
Zona de direccionamiento
P+2d-1-1
2m-1
23
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
palabra de memoria o el
registro que contiene la
INSTRUCCIÓN
• Se pueden plantear
indirecciones de más de un OPERANDO
nivel.
24
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
25
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
27
Programación en Lenguaje Ensamblador. Práctica 1
Departamento de Sistemas Informáticos Escuela de Ingenieros Industriales de Albacete. Informática Industrial 2008-2009
Universidad de Castilla La Mancha
28
Programación en Lenguaje Ensamblador. Práctica 1