Ejecución de Programa en Procesador Von Neumann
Ejecución de Programa en Procesador Von Neumann
Estado de Morelos
Microcontroladores
ED01
“Ejecución de un programa en un
procesador”
Alumno:
Álvarez López Samuel
Profesor:
Jose Rene Chavarria Carranza
6.A
Objetivos.
✓ Conocer el funcionamiento de los elementos internos de un procesador.
✓ Entender el funcionamiento del acceso a la memoria para leer o escribir datos.
✓ Entender el funcionamiento del acceso a los puertos de interfaz para leer o escribir datos.
✓ Entender el funcionamiento del secuenciador de la ejecución del programa (PC, Program
Counter).
✓ Entender el funcionamiento del Registro de Instrucciones (IR, Instruction Register) y la
decodificación del código máquina de la instrucción.
✓ Entender el funcionamiento de la Unidad de Control (CU, Control Unit) como gestor del
flujo de información en el procesador, interna y externa.
Marco teorico.
Máquina de Von Newmann (Procesador Genérico).
La Máquina de Von Newman cumple con la arquitectura básica de una computadora, de
acuerdo con el propio modelo de Von Newmann y en su estructura interna incluye los
elementos que se observan en la siguiente figura:
𝐹𝑖𝑔𝑢𝑟𝑎 2.
Desarrollo.
El conjunto de Instrucciones (Instruction Set) que incluye esta máquina se enlista en la
siguiente
tabla.
1. La columna cero es una numeración secuencial.
2. En la primera columna se encuentra el código de la instrucción (los códigos son de ocho
bits y se presentan en hexadecimal).
3. La segunda columna es el nemónico (mnemonic) de la instrucción (un mnemónico es una
contracción de la palabra que describe la acción).
4. En la tercera columna se indica si requiere dos operadores, uno o ninguno.
5. En la cuarta columna se presenta un ejemplo.
6. En la última columna hay una descripción de la instrucción.
Desarrollo de actividades.
1. Escribir un programa, utilizando el conjunto de instrucciones de la tabla anterior, que
realice lo siguiente:
a. El programa se carga a partir de la localidad de memoria 0700h.
b. Cargar en A el dato que se encuentra en la localidad de memoria 0785h.
c. Cargar en B, de manera inmediata, el dato A5h.
d. Enmascarar los cuatro bits más significativos del dato en A, (Enmascarar es la operación
lógica AND con el valor 1111 0000, para este caso)
e. Incrementar por uno el dato en A.
f. Sumar el contenido de A con el contenido de B.
g. El resultado de la suma se envía a la localidad E03Bh.
h. El dato almacenado en la localidad 0785h es 3Bh.
2. Compilar el programa de acuerdo con los códigos de la tabla del conjunto de instrucciones.
3. Ejecutar el programa, paso por paso, de acuerdo con el diagrama de estados de ejecución
de instrucciones.
6 ADD A, B Sumar el
contenido de A
con el contenido B
7 MOV A, $E03Bh El dato
almacenado en la
localidad 0785h es
3Bh
0700h A2
0701h 07
0702c 85
0703F B1
0704 A5
0705 81
0706 F0
0707 3A
0708 1A
0709 A5
070A E0
070B 3B
070C F7
Datos
0784
0785 3B
0786
0787
Puertos interface
E03A
E03B D6
E03C
E03D
D. Ejecución del programa.
Conclusión.
A lo largo de esta práctica se siguio viendo el lenguaje de programación ya visto en clase, de
esta forma se reforzó aún más este lenguaje de programación, esta práctica tuvo un grado de
complejidad un poco mayor a las demás prácticas debido a que se tuvo que seguir exactamente
paso a paso cada uno de los puntos para que la práctica saliera como lo esperado, en
conclusión, esta práctica nos ayudó a identificar cada una de las instrucciones
propuestas con la tabla de conjunto de instrucciones y poder obtener la dirección de
cada uno de los códigos