You are on page 1of 19

FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

“AÑO DEL DIÁLOGO Y LA


RECONCILIACIÓN NACIONAL”
UNIVERSIDAD NACIONAL TORIBIO
RODRÍGUEZ DE MENDOZA

ASIGNATURA: Arquitectura de Computadoras.

DOCENTE: ING. Iván Adrianzen Olano.

TEMA: Manual de Instrucciones.

ESCUELA ACADÉMICA: Ingeniería de Sistemas.

CICLO: VIII

INTEGRATES: Zaida Cotrina Cabrera.

Brayam Julca Olivos

BAGUA-2018

1
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

2
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

1. Introducción.
Como ya se sabe una computadora es un dispositivo electrónico capas de recibir un
conjunto de instrucciones y ejecutarlas realizando cálculos sobre los datos numéricos
o bien compilando y correlacionando otros tipos de información.
En el mundo de la tecnología nunca hubiera existido de no ser por el desarrollo del
ordenador o computadora. Toda la sociedad utiliza estas máquinas, en distintos tipos
y tamaños, para el almacenamiento y manipulación de datos. Los equipos informáticos
han abierto una nueva era en la fabricación gracias a las técnicas de automatización, y
han permitido mejorar los sistemas modernos de comunicación. son herramientas
esenciales que están prácticamente en todos los campos de investigación y en
tecnología aplicada.

2. Objetivos.
2.1.Generales
 Conocer de una manera más interna de cómo es que un ordenador ejecutas las
instrucciones.
2.2.Específicos
 Investigar las fases que se dan para ejecutar una instrucción.
 Estudiar conceptos relacionados al tema, los cuales son desconocidos para nosotros.

3. Marco teórico.
Dado que la mira central de este trabajo está centrada en el ciclo de instrucciones que
realiza un ordenador para decodificar información será necesario plantear algunos
parámetros que sirvan de ejes conceptuales sobre los que apoyar la lectura de nuestro
trabajo.
Para empezar, entenderemos el concepto de instrucción, la cual es definida según
Patricia Quiroga en su libro Arquitectura de Computadoras, como “el conjunto de
datos insertados en una secuencia estructurada o específica que el procesador
interpreta y ejecuta”, otro de los conceptos mencionado en este libro es el de Formato
de Instrucción, el cual nos dice que es la manera en que deben interpretarse los bits
que constituyen el código de máquina de una instrucción.

3
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

4. Desarrollo.

4.1. CICLO DE EJECUCIÓN DE INSTRUCCIONES


La función básica de una computadora es la ejecución de un programa (proceso). El
procesador realiza este trabajo ejecutando las instrucciones especificadas por el
programa.
 Un proceso es una instancia de ejecución de un programa. Un programa puede
ser ejecutado varias ocasiones, y en cada ocasión se crea un proceso distinto,
generalmente identificado por un número conocido como PID (Identificador
de Proceso).
 Al ejecutarse el programa se crea un proceso, lo cual consiste en cargar en
memoria las instrucciones y datos de un programa. Generalmente, al proceso
se le asignan tres áreas en memoria llamadas segmento de código, segmento
de datos y segmento de stack o pila.

Nota: Normalmente, la dirección de inicio de cada segmento es guardada en un registro


de segmento.

 Segmento de Código - En este segmento se almacenan las instrucciones del


programa.

 Segmento de Datos - En este segmento se almacenan los datos – variables y


constantes del programa.

 Segmento de Stack o Pila - (en la que usando una estructura de stack, es decir,
LIFO, se almacena de manera controlada la información para controlar la
secuencia en que se llaman funciones o rutinas o cuando el procesador cambia
de proceso a ejecutar (cambio de contexto).

 El procesamiento requerido por una instrucción es conocido como ciclo de


instrucción.

 La ejecución de un programa o proceso consiste en repetir el ciclo de instrucción,


instrucción por instrucción hasta el fin del programa.

4
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

 En su forma más simple, el procesamiento de instrucciones consiste en dos pasos: El


procesador lee de memoria (fetch) las instrucciones, una a la vez y ejecuta cada
instrucción. Estos dos pasos son referidos como ciclo fetch y ciclo de ejecución.

 A lo largo de la ejecución de un proceso de inicio a fin (vida del proceso), éste


puede pasar por varios estados (Estados de un Proceso):

5
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

Ciclo de Instrucción de una Computadora moderna

El ciclo de instrucción de las computadoras actuales contempla los siguientes pasos:


 Fetch de Instrucción: Se procede a leer la siguiente instrucción a ejecutar en
la dirección de memoria proporcionada por el registro PC (Contador de
Programa). El código de instrucción contenido en la localidad de memoria
direccionada se deposita en el registro IR (Registro de Instrucción) del
procesador y se incrementa PC.
 Decodificación de Instrucción: El código de operación contenido en el
código de instrucción se lee para determinar o identificar (decodificar) la
instrucción a ejecutar y, en caso de requerirse, los operandos a usar.

 Cálculo de Dirección de Operandos: Si la operación involucra la referencia de


uno o más operandos en memoria o disponibles vía I/O (E/S), entonces se
determina la dirección del operando u operandos. La dirección de cada operando
se deposita en el registro MAR (Memory Address Register) para que, cuando la
unidad de control lo determine, la dirección sea propagada en el Bus de
Direcciones.

 Fetch de Operando: Se procede a leer los operandos requeridos en las


direcciones de memoria calculadas o de la I/O. Una vez que el operando se lee en
la memoria, éste se deposita temporalmente en el registro MBR (Memory Buffer
Register), mismo que transfiere el operando a algún registro del procesador
cuando lo indique la unidad de control.

 Ejecución de la Instrucción: La unidad de control envía de manera organizada


y sincronizada las señales a los distintos elementos y circuitos de la ALU que
procesan la operación indicada en la instrucción.

6
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

 Escritura de Resultados: Si se requiere, se escribe (guarda) el o los resultados


en memoria en la dirección indicada. En ocasiones, el o los resultados se almacena
en un registro del procesador, lo que no requiere acceso a memoria, o simplemente
la instrucción no produce un resultado a almacenar. En caso de requerirse escribir
el resultado en memoria, el resultado es depositado temporalmente en el MBR y
posteriormente se propaga por el bus de datos e instrucciones para que sea escrito
en la localidad de memoria con la dirección contenida en el MAR.

4.1.1. ejemplo de ejecución de un programa (proceso)


Funcionamiento de una Computadora – Ejemplo de ejecución de un
programa (proceso)Ejemplo de ejecución de un programa (proceso).

7
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

En el ejemplo anterior, se aprecia la ejecución de tres ciclos de instrucción:


a) Fetch de Instrucción: El registro PC contiene la dirección hexadicimal
300H de la siguiente instrucción. Esta instrucción tiene el código de
instrucción hexadecimal 1940H, el cual es cargado en el registro de
instrucción IR y se incrementa PC. Note que el proceso involucra el uso del
registro MAR y el registro MBR.

8
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

b) Decodificación de Instrucción: Los 4 bits (byte) más significativo (los


localizados al extremo izquierdo) representan el opcode de la instrucción,
mismo que en este caso indica la operación o instrucción cargar el registro
acumulador AC con el contenido de la localidad de memoria cuya
dirección queda especificada por los restantes 12 bits (tres dígitos
hexadecimales) a la derecha del opcode (calculo de dirección de
operando). En este caso, la dirección 940H indica la localidad de memoria
del dato a ser traido al procesador y almacenado en el registro MBR para
después ser depositado en el registro acumulador AC (fetch de operando).

c) Se realiza el fetch de la siguiente instrucción (5941H) de la localidad de


memoria 301H y el PC se incrementa. El opcode 5H (0101 en binario)
indica sumar al contenido del acumulador el valor en la localidad de
memoria 941H.

d) El contenido previo del registro AC y el contenido de la localidad 941H


se suman y el resultado es depositado en el registro AC.

e) Se realiza el fetch de la siguiente instrucción (2941H) de la localidad de


memoria 302H y el PC se incrementa. El opcode 2H (0010 en binario)
indica almacenar el contenido del acumulador en memoria.

f) El Contenido del acumulador AC se almacena en la localidad de memoria


941H (escribir resultado en memoria).

4.2.INTERRUPCIONES
Virtualmente todas las computadoras proveen un mecanismo por medio del cual
programas, unidades I/O o memoria pueden interrumpir el procesamiento normal
del procesador.

9
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

 Una interrupción es una señal que se envía al procesador para indicarle la


ocurrencia de un evento. Subsecuentemente, el procesador “interrumpe o
pospone” la ejecución del proceso en turno para proceder a “servir” el
programa o rutina correspondiente al evento inherente a la interrupción
recibida. Usualmente, tras procesar una interrupción, el procesador
continúa con el procesamiento de la tarea que realizaba, en el punto en el
que se quedó antes de servir la interrupción.

 Las interrupciones son usadas primordialmente como un medio para


mejorar la eficiencia de procesamiento. Por ejemplo, la mayoría de los
dispositivos externos o periféricos son mucho más lentos que el
procesador, por lo que es necesario que se implemente un mecanismo de
sincronía entre el CPU y los dispositivos I/O.

 Una interrupción, dependiendo de su tipo y naturaleza, puede requerir


atención inmediata, esperar a que el CPU le dé servicio, o, simplemente,
ser ignorada.

 Existen dos tipos de interrupciones:


 Interrupciones de software (conocidas también como excepciones o
trampas). Estas interrupciones son generadas dentro de un programa y
son usadas para indicar al CPU que hacer una vez que recibe la
interrupción. Usualmente, las interrupciones de software son
implementadas como instrucciones dentro del conjunto de
instrucciones de una computadora. Estas interrupciones causan un
cambio de contexto (context switch), lo cual significa que se graba el
estado de ejecución de la operación en curso y se procede a ejecutar
una rutina manejadora similar a la de una instrucción de hardware.

10
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

Clases de Interrupciones de software:


Programa – Generadas por alguna condición que ocurre
como resultado de la ejecución de una instrucción (ejemplo:
overflow o sobreflujo resultante de una división por cero u
otra operación aritmética) o por alguna condición señalada
por el sistema operativo.

 Interrupción de hardware. Este tipo de interrupciones son producidas por otros


dispositivos, dispositivos periféricos, o componentes de hardware de la
computadora. Estas interrupciones causan que el procesador grabe el estado de
ejecución actual y que inicie la ejecución de una rutina manejadora de la
interrupción (interrupt handler). La unidad de control en la computadora que
recibe la interrupción es quien determina en dónde se encuentra la rutina de
manejo correspondiente e instruye que se inicie el procesamiento de la misma.

o Clases de Interrupciones de hardware:


 Timer o temporizador - Generada por un temporizador dentro del
procesador para permitir que el sistema operativo realice ciertas
funciones en forma regular.
 I/O - Generada por un controlador I/O para indicar una terminación
normal de una operación o para indicar una variedad de
condiciones de error.
 Falla de hardware – Generada por una falla, tal como la falla de
poder o de error de paridad de memoria.Nota: Las PCs, hasta hace
poco, daban soporte a 256 interrupciones de software y 15 de
hardware.

Ciclo de Instrucción de una Computadora moderna con Interrupciones Habilitadas

11
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

Cuando una computadora permite y habilitas interrupciones, al ciclo de instrucción se le


agrega los siguientes pasos:
 Fetch de Instrucción: Se procede a leer la siguiente instrucción a ejecutar en la
dirección de memoria proporcionada por el registro PC (Contador de Programa).
El código de instrucción contenido en la localidad de memoria direccionada se
deposita en el registro IR (Registro de Instrucción) del procesador y se incrementa
PC.
 Decodificación de Instrucción: El código de operación contenido en el código
de instrucción se lee para determinar o identificar (decodificar) la instrucción a
ejecutar y, en caso de requerirse, los operandos a usar.

Todos los pasos contenidos en el ciclo de instrucciones pueden ser agrupados en tres
subciclos o ciclos:
Ciclo Fetch: Incluye el fetch de instrucción.
Ciclo de Ejecución: Incluye la decodificación de la instrucción, cálculo de
direcciones de operandos, fetch de operandos, ejecución de la instrucción u
operación y escritura de resultados.
Ciclo de Interrupción: Incluye la revisión de ocurrencia de interrupciones y el
procesamiento de las interrupciones.

Mayor Eficiencia de Procesamiento Mediante Interrupciones


Caso sin Interrupciones: Supóngase que un procesador no tiene interrupciones y, por lo
tanto, que éste está transfiriendo datos a una impresora usando el esquema del ciclo de
instrucción sin interrupciones. Después de cada operación de escritura, el procesor debe
entrar en una pausa y mantenerse inactivo hasta que la impresora termina su trabajo. La
longitud de la espera puede estar en el orden de cientos o, incluso, miles de ciclos de
instrucción que no involucran la memoria. Claramente, esto implica un gran desperdicio
de procesador.

12
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

El programa de usuario ejecuta una serie de llamadas de sistema (system calls) WRITE
dentro del código del programa. Los segmentos de código 1, 2 y 3 se refieren a secuencias
de instrucciones que no involucran entrada/salida (I/O). Las llamadas WRITE invocan a
un programa I/O que a la vez es una utilidad del sistema y que llevará a cabo la verdadera
operación de I/O.
El Programa I/O consiste de 3 secciones:
 Una secuencia de instrucciones, etiquetada con el número 4 en la figura de la
siguiente página, usada para preparar la operación de I/O. Esto puede incluir el
copiar los datos a ser transferidos a la salida en un buffer y preparar los parámetros
para un comando de dispositivo.
 El comando de I/O. Sin el uso de interrupciones, una vez que se emite este
comando, el programa debe esperar que el dispositivo I/O ejecute la función
solicitada (o periódicamente monitorear el dispositivo). El programa debe esperar
realizando repetidamente una operación de prueba para determinar si la operación
I/O terminó.
 Una secuencia de instrucciones, etiquetada con el número 5 en la figura de la
siguiente página, para completar la operación. Esto puede incluir el asignar un
valor a una bandera para indicar el éxito o falla de una operación.

Caso sin Interrupciones

Caso con Interrupciones: Con interrupciones, el procesador puede involucarse en la


ejecución de otras instrucciones mientras la operación de I/O está en progreso

 .Como en el caso anterior, el programa de usuario alcanza un punto en el cual


realiza una llamada de sistema en la forma de una llamada WRITE. El programa
I/O que es invocado en este caso consiste solamente en el código de preparación
y el comando de I/O. Después de que estas pocas instrucciones han sido
ejecutadas, el control regresa al programa de usuario. Por lo pronto, el dispositivo

13
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

externo está ocupado recibiendo datos de la memoria de la computadora e


imprimiéndolos. Está operación I/O se lleva a cabo concurrentemente con la
ejecución de la instrucción del programa.

 Cuando el dispositivo externo se vuelve disponible, esto es, cuando está listo a
aceptar más datos del procesador, el módulo I/O para el dispositivo externo envía
una señal de solicitud de interrupción.

 El procesador responde suspendiendo el proceso del programa en curso, saltando


a un programa para dar servicio al dispositivo de I/O particular, conocido como
manejador de interrupción (interrupt handler), y continuar con el proceso original
después que el dispositivo es servido.

Interrupciones Múltiples

Considérese ahora el caso en el que pueden presentarse múltiples interrupciones. Por


ejemplo, un programa puede recibir datos de una línea de comunicaciones y resultado de
impresión. La impresora generará una interrupción cada vez que termina una operación
de impresión. El controlador de la línea de comunicación generará una interrupción cada
vez que una unidad de datos se presenta. La unidad puede ser un caracter simple o un
bloque, dependiendo de la naturaleza de la comunicación. En cualquier caso, es posible
que una interrupción de comunicación ocurra mientras que la interrupción de la impresora
está siendo procesada.

Las interrupciones múltiples pueden ser tratadas de dos maneras:

1. Deshabilitación de Interrupciones mientras se procesa otra interrupción

 Una interrupción deshabilitada significa simplemente que el procesador


ignora la señal de solicitud de interrupción

14
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

 Si una interrupción ocurre durante este tiempo, generalmente queda


pendiente y será revisada por el procesador después de que el procesador
ha habilitado la interrupciones de nueva cuenta.

 Por lo tanto, cuando un programa de usuario está siendo ejecutado y una


interrupción se presenta, las interrupciones son deshabilitadas
inmediatamente.

 Cuando el procesamiento de la rutina de la interrupción es completada, las


interrupciones son habilitadas antes de regresar al procesamiento del
programa de unuario y el procesador revisa para ver si se han presentado
interrupciones adicionales

 .Este método es simple, ya que las interrupciones son manejadas en un


estricto orden secuencial.

2. Definición de prioridades para interrupciones

Se define prioridades para interrupciones y se permite que una interrupción de mayor


prioridad cause que el manejador de interrupción (rutina) de una interrupción de menor
prioridad se interrumpa así mismo.

15
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

Como ejemplo, considérese un sistema con tres dispositivos I/O: una impresora, un disco
y una línea de comunicaciones, con prioridades crecientes de 2, 4 y 5, respectivamente.
La siguiente figura ilustra una posible secuencia:

 Un programa de usuario (proceso) inicia en t = 0.

 En t = 10, se presenta una interrupción de impresora. La información (contexto)


del proceso de usuario es almacenada en el stack del sistema, y se inicia el
procesamiento de la rutina de servicio (ISR) de la impresora

 .Mientras la ISR de la impresora está siendo procesada, en t = 15, ocurre una


interrupción de comunicaciones. Ya que la línea de interrupciones tiene mayor
prioridad que la impresora, se interrumpe el procesamiento de la ISR de la
impresora, su estado (contexto) es almacenado en el stack, y se procede a procesar
la ISR de la línea de comunicaciones.

 Mientras la ISR de comunicaciones se procesa, se presenta una interrupción de


disco en t = 20. Ya que esta interrupción tiene una prioridad menor, simplemente
es puesta en espera mientras se termina el proceso de la ISR de comunicaciones.

 Cuando se completa la ISR de comunicaciones en t = 25, el estado o contexto


anterior es reestablecido en el procesador, el cual corresponde a la ejecución de la
ISR de la impresora. Sin embargo, antes de que cualquier instrucción de esta rutina
de la impresora sea ejecutada, el procesor otorga su atención a la interrupción de
disco con mayor prioridad que la impresora y transfiere el control a la ISR del
disco.

16
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

 Solamente cuando el procesamiento de la ISR de disco se ha completado, (t = 35),


se reestablece el procesamiento de la ISR de la impresora. Cuando la rutina
termina en t = 40, el control regresa finalmente al programa de usuario.

Función I/O y Acceso Directo a Memoria (DMA)

 Un módulo I/O (por ejemplo, el controlador de un disco) puede intercambiar datos


directamente con el procesador. En la misma manera que un procesador puede
iniciar una operación de lectura o escritura con la memoria, designando la
dirección de una localidad de memoria específica, el procesador también puede
leer datos de o escribirlos en un módulo I/O. En este caso, el procesador identifica
un dispositivo específico que es controlado por un módulo I/O particular. Por lo
tanto, una secuencia de instrucciones similar a la que se presenta en la ejecución
de un proceso entre el procesador y la memoria, también puede darse con
instrucciones de I/O en lugar de instrucciones que referencian a la memoria.

 En algunos casos, es deseable permitir que el intercambio I/O ocurra directamente


con la memoria. En tal caso, el procesador otorga a un módulo I/O la autoridad de
leer de o escribir en la memoria directamente, de tal menera que la transferencia
I/O – memoria ocurra sin involucrar al procesador. Durante tal transferencia, el
módulo I/O emite comandos de lectura o escritura, liberando al procesador de la
responsabilidad del intercambio. Esta operación is conocida como acceso directo
a memoria (DMA – Direct Memory Access).

17
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

5. Conclusiones y recomendaciones.

18
FACULTAD DE INGENIERÍA DE SISTEMA Y MECÁNICA ELÉCTRICA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

BIBLIOGRAFÍA
https://es.wikipedia.org/wiki/Conjunto_de_instrucciones

https://es.wikipedia.org/wiki/Instrucci%C3%B3n_(inform%C3%A1tica)

Quiroga, P. (2010). Arquitectura de Computadoras. Argentina: Alfaomega.

19

You might also like