Interrupciones de un sistema computacional
básica de un computador =
ejecución de un programa
Ejecución
del programa: repetición el
proceso de captación y ejecución de
instrucción.
Un
programa de computadora es un conjunto
de instrucciones que la CPU entiende y
ejecuta.
Cómo
se obtiene un programa de
computadora:
Los programadores crean programas al escribir
declaraciones enun editor.
Todo el conjunto de comandos, representados
por las declaraciones, se almacena en un archivo
y se le denomina código fuente del programa.
La compilación es el proceso de conversión de un
código fuente a código objeto almacenado en un
archivo objeto y es el punto intermedio en la
creación de un archivo ejecutable.
Un enlazador acomoda todos los archivos objeto
para formar unarchivo ejecutable.
Procesamiento de
una instrucción
Ciclo de captación
Inicio
Captar la
siguiente
instrucción
Ciclo de instrucción
Ciclo de ejecución
Ejecutar la
instrucción
Parada
Al
comienzo de cada ciclo de instrucción la
CPU capta una instrucción de memoria e
incrementa el pc para conocer la instrucción
que debe captarse a continuación
La instruccióncaptada se almacena en el IR
(registro de instrucción)
La instrucción se escribe utilizando un código
binario que especifica la acción que debe
realizar la CPU
Tipos
de instrucción
Procesador – memoria: deben transferirse datos
desde la CPU a la memoria, o desde la memoria a
la CPU.
Procesador – E/S: Deben transferirse datos desde
el exterior.
Procesamiento dedatos: la CPU ha de realizar
alguna operación aritmética o lógica
Control: una instrucción puede especificar que la
secuencia de ejecución se altere.
Diagrama de estados del ciclo de instrucción
Captación
de
operando
Captación
de
instrucción
Varios operandos
Cálculo de
la dirección
de
instrucción
Decodificaci
ón de la
operación
de la
instrucción
Instruccióncompletada,
captar siguiente instrucción
Cálculo de
la
dirección
de
operando
Almacena
miento de
operando
Varios resultados
Operación
con datos
Cadena o vector de datos
Cálculo de
la
dirección
de
operando
Un
fragmento de programa suma el
contenido de la palabra de memoria en la
dirección 0x940 con el contenido de la
palabra de memoria en la dirección 0x941 yalmacena el resultado en esta última
posición.
Ejemplo:
El procesador posee un único registro de
datos: AC (acumulador)
Los datos y las instrucciones son de 16 bits
(palabras)
Características de la máquina hipotética
Formato de
instrucción
Formato de
enteros
0
34
Cod ops
01
S
15
Dirección
15
Magnitud
Preguntas:
¿Cuántos
¿Cuántas
códigos de operaciónpueden haber?
palabras de memoria se pueden
direccionar directamente?
Reg.
Internos de la CPU:
Contador de programa (PC) = dirección de
instrucción
Registro de instrucción (IR) = instrucción de
ejecución
Acumulador (AC) = almacenamiento temporal
Algunos
Códigos de operación:
0001 = Cargar AC desde memoria
0010 = Almacenar AC en memoria
0101 =Sumar a AC un dato de memoria
La idea es:
1. El contador de programa PC contiene el
valor 300, la dirección de la primera
instrucción. Esta instrucción se carga en el
registro de instrucción.
2. Los primeros 4 bits de IR indican que el
acumulador se va a cargar. Los restantes 12
bits especifican la dirección, que es 940.
3. El registro PC se incrementa y se capta la
siguienteinstrucción.
4. El contenido anterior de AC y el de la
posición de memoria 941 se suman, y el
resultado se almacena en AC
5. El registro PC se incrementa, y se capta la
siguiente instrucción.
6. El contenido de AC se almacena en la
posición 941.
300
301
302
1940
5941
2941
940
941
300
PC
0003
0002
-----1940
AC
IR
Contador de programa carga la
dirección de...
Regístrate para leer el documento completo.