La memoria principal. Los subsistemas de E/S. Los buses del sistema



Documentos relacionados
Capitulo V Administración de memoria

Arquitectura de Computadores

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

Señal de petición de Interrupción

Tema 7: Esquema del Funcionamiento de una Computadora. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

6-REGISTROS DEL 8086 Y DEL 80286

Pipelining o Segmentación de Instrucciones

Tema 2. Diseño del repertorio de instrucciones

Ensamblador. Interrupciones. Dentro de una computadora existen dos clases de interrupciones:

Centro de Capacitación en Informática

Lo que definimos como CPU (Central Process Unit) o Unidad Central de Proceso, está estructurado por tres unidades operativamente diferentes:

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Entorno de Ejecución del Procesador Intel Pentium

Requerimientos principales de un sistema operativo

Capítulo 4 Procesos con estructuras de repetición

- La implementación es responsable de: Los ciclos de reloj por instrucción (CPI). La duración del ciclo de reloj.

Organizacion del Computador

Figura 1.4. Elementos que integran a la Tecnología de Información.

INTRODUCCIÓN A LA CONTABILIDAD DE COSTOS DEFINICIÓN

CAPÍTULO III MARCO TEÓRICO. Cada día cambian las condiciones de los mercados debido a diferentes factores como: el

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Figura 4.1 Clasificación de los lenguajes de bases de datos

Requerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso

PROCEDIMIENTO DE ENLACE TCPIP

18. Camino de datos y unidad de control

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

3.8 Construcción de una ALU básica

La Unidad Procesadora.

Organización Básica de un Computador y Lenguaje de Máquina

2 Sea una unidad de disco duro de brazo móvil con las siguientes características:

Ejercicios. 5.2 [5] < 5.3> Este ejercicio es similar al 5.1, pero ahora considere los fallos causados por permanecer en 1 (la señal es siempre 1).

ENTORNO DE TRABAJO PARA LA SIMULACIÓN HARDWARE DE UNA COMPUTADORA SENCILLA

MATERIAL 2 EXCEL 2007

Clase 20: Arquitectura Von Neuman

Arquitectura Von Neumann

APUNTES DE WINDOWS. Windows y sus Elementos INSTITUTO DE CAPACITACIÓN PROFESIONAL. Elementos de Windows


Gestión de Permisos. Documento de Construcción. Copyright 2014 Bizagi

Diseño Estructurado de Algoritmos

Computación I Representación Interna Curso 2011

Unidad VI: Supervisión y Revisión del proyecto

_ Antología de Física I. Unidad II Vectores. Elaboró: Ing. Víctor H. Alcalá-Octaviano

Tema IV. Unidad aritmético lógica

HP Backup and Recovery Manager

TEMA 4. Unidades Funcionales del Computador

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Matemáticas para la Computación

Mod. I, Unid. 1, Obj. 1 Criterio de Dominio 1/1

Teclado sobre una PDA para Personas con Parálisis Cerebral

DISCOS RIGIDOS. Forman el principal elemento de la memoria secundaria de un ordenador, llamada así en oposición a la memoria principal o memoria RAM

Funcionamiento del Correo Electrónico

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

Tema 2. Software. Informática (1º Ingeniería Civil)

Funciones. Diseño de funciones. Uso de instrucción jal y retorno de subrutina.

Examinaremos las características claves de las memorias y luego analizaremos el subsistema de memoria principal.

INTRODUCCION A LA PROGRAMACION DE PLC

1 La Resolución de Problemas utilizando la Computadora

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

PROBLEMAS DE FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES T5. MEMORIAS

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

Tema 1: Fundamentos de lógica, teoría de conjuntos y estructuras algebraicas: Apéndice

Partes, módulos y aplicaciones de un Controlador de Procesos

3.2 Operaciones aritmético-lógicas en Pascal

Organización de Computadoras. Turno Recursantes Clase 8

Procesadores Superescalares: Paralelismo Implícito a Nivel de Instrucción

Estructuras de Datos y Algoritmos. Árboles de Expresión

1. Conociendo el equipo

Protocolo para voto electrónico.

Base de datos relacional

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León

El Computador. Software

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

5. Despliegue en la PC

MICROPROCESADORES PARTES DE UN MICROPROCESADOR

Manual del usuario. Flash Point Genius. FLASH POINT GENIUS: Programación Serial para turismos

La ventana de Microsoft Excel

Sistemas de numeración y aritmética binaria

Informática I Notas del curso

UNIDADES DE ALMACENAMIENTO DE DATOS

UN SIMULADOR DE UNA MAQUINA COMPUTADORA COMO HERRAMIENTA PARA LA ENSEÑANZA DE LA ARQUITECTURA DE COMPUTADORAS

BANCOS. Manejo de Bancos. Como crear una ficha de Banco? Como modificar los datos de una ficha de Banco? Como borrar una ficha de Banco?

Arquitectura basica de un computador

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

TELECOMUNICACIONES Y REDES. Redes Computacionales II. Prof. Cristian Ahumada V.

PROGRAMACIÓN ORIENTADA A OBJETOS

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

Norma ISO 9001:2015. Cuáles son los cambios presentados en la actualización de la Norma?

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

La Dirección Comercial

Arquitectura de Redes y Comunicaciones

Los polinomios. Un polinomio es una expresión algebraica con una única letra, llamada variable. Ejemplo: 9x 6 3x 4 + x 6 polinomio de variable x

BASE DE DATOS RELACIONALES

... partes internas del computador!...

Para poder acceder al sistema sólo deberá ingresar la siguiente liga desde el navegador de su preferencia:

Transcripción:

GUIA 23: MEMORIA E/S La estructura básica de la mayoría de los ordenadores actuales se representa mediante los siguientes elementos básicos: La Unidad Central de Procesamiento, CPU La memoria principal CPU BUS DE DIRECCIONES BUS DE DATOS BUS DE CONTROL Los subsistemas de E/S Los buses del sistema LA UNIDAD CENTRAL DE PROCESAMIENTO (CPU) La unidad central de procesamiento, conocida también como Procesador, es la encargada de controlar las operaciones de la computadora y realizar las funciones de procesamiento de datos. La función de la CPU es la de ejecutar una secuencia de instrucciones que están almacenadas en la memoria principal de la computadora. Al diseñar un procesador se especifica un repertorio de instrucciones que será capaz de realizar y que se conoce como conjunto de instrucciones. El procesador trabajará a manera de interprete decodificando las instrucciones para ser ejecutadas. Las funciones que realiza la CPU para ejecutar una instrucción son: Buscar instrucciones: El CPU debe leer instrucciones de la memoria. Interpretar instrucciones: La instrucción debe ser decodificada para determinar la acción a realizar. Buscar datos: La ejecución de una instrucción posiblemente requiera de leer datos de la memoria o de algún módulo de E/S. Procesar datos: La ejecución de una instrucción posiblemente requiera desarrollar algunos cálculos aritméticos o realizar operaciones lógicas con los datos. Escribir datos: El resultado de una ejecución posiblemente requiera escribir datos en la memoria o en algún modulo de E/S. La CPU para realizar sus funciones se compone de varias partes: La Unidad de Control (UC): Controla el funcionamiento del CPU. UNIDAD DE CONTROL ULA REGISTROS La Unidad Lógica y Aritmética (ULA): Ejecuta funciones de procesamiento de datos. Registros: Proveen almacenamiento interno al CPU Interconexiones: Permiten la comunicación entre la UC, la ULA y los Registros. GUIA 23 2007 Sandro Costantini 1

UNIDAD LOGICA ARITMÉTICA ULA Es la encargada de realizar todos los cálculos aritméticos y lógicos. Una operación básica de todas las computadoras es la adición o sustracción de dos números. Tales operaciones se proporcionan en el nivel de instrucciones de máquina. Se implantan, junto con las funciones lógicas AND, OR, NOT y EXOR en la ULA del CPU. Los operandos se le presentan a la ULA como salidas de dos registros del CPU, a través de un bus. Por lo general, el resultado se envía a otro registro del CPU para que la lógica combinatoria termine con los cálculos. Además una operación de la ULA es más veloz que una operación de acceso a memoria. Esto significa que en una instrucción en la que haya una operación de la ULA, el operando que deba traerse de memoria no requerirá mucho más tiempo de ejecución que una instrucción que sólo traslada el contenido de una localidad de memoria a otra. En comparación, las operaciones de multiplicación y división son más complejas que las de adición y sustracción. Por lo general, estas operaciones se incluyen en el conjunto básico de instrucciones, sin embargo, sus tiempos de ejecución pueden ser significativamente más lentos que los de otras instrucciones tales como sumar, mover, etc. Esto se debe a que están implantadas como una secuencia de pasos de adición y sustracción que realiza la ULA, controlada por un microprograma. En las computadoras de alto rendimiento, a menudo se utiliza hardware multiplicador y divisor para incrementar la velocidad de las operaciones aritméticas. Desde luego, siempre y cuando se cuente con las instrucciones de máquina de Suma y Sustracción, será posible suministrar operaciones tanto de multiplicación como de división, mediante rutinas de software. Estas rutinas implantan básicamente la multiplicación como una secuencia de sumas y desplazamientos y, la división, como una secuencia de sustracciones y desplazamientos. Comparadas con las operaciones aritméticas, las operaciones lógicas son simples desde el punto de vista de la circuitería combinatoria. Sólo requieren de que se realicen operaciones booleanas independientes en posiciones individuales de bits de los operandos. Como mencionamos anteriormente, la ULA es la parte de la computadora que se encarga de ejecutar operaciones aritméticas y lógicas a los datos. El resto de los componentes, unidad de control, registros, memoria, E/S, se encargan de llevar datos a la ULA para procesarlos y después toman el resultado de regreso. REGISTROS Para ejecutar las instrucciones la CPU requiere de algún tipo de almacenamiento temporal. Esta pequeña memoria interna, de alta velocidad, está constituida por registros, los cuales se pueden utilizar para el almacenamiento temporal de operandos o datos que se utilicen con frecuencia. Cada registro puede almacenar una palabra de dato. Los tiempos de acceso a los registros son generalmente de 5 a 10 veces más rápidos que los de acceso a memoria. En la figura se muestra un esquema simplificado de las conexiones entre registros ULA y unidad de control en el CPU. CPU R0 R1... Rn ULA PSW BUS INTERNO MDR MAR PC IR UNIDAD DE CONTROL BUS DE DATOS BUS DE DIRECCIONES BUS DE CONTROL M E M O R I A GUIA 23 2007 Sandro Costantini 2

Los registros de la CPU están clasificados en dos categorías de acuerdo a sus funciones, aunque no existe una clara separación entre las dos. Registros visibles al usuario. Permiten al programador de lenguaje de máquina o ensamblador minimizar las referencias a la memoria principal, cuando optimiza el uso de los registros. Registros de control y estado. Son utilizados por la unidad de control para controlar el funcionamiento de la CPU, y por programas privilegiados del sistema operativo para controlar la ejecución de programas. (Antes mencionamos que no existe una clara separación entre las dos categorías, por ejemplo aunque en la mayoría de las máquinas el Contador de Programa(PC) no es visible al usuario, en algunas si lo es. REGISTROS VISIBLES AL USUARIO: Son aquellos que pueden ser referenciados por medio del lenguaje de máquina que ejecuta la CPU. Se pueden clasificar en las siguientes categorías: Registros de Propósito General: pueden ser asignados por el programador a una gran variedad de funciones. Puede contener el operando de cualquier instrucción. Registros de Datos: Se utilizan únicamente para almacenar datos, y no pueden utilizarse para el cálculo de la dirección de un operando. REGISTROS DE DIRECCIONES Pueden ser de uso mas o menos general, o pueden estar dedicados a un modo particular de direccionamiento. Como ejemplo tenemos: Apuntadores de segmento: contiene la dirección de la base del segmento en una máquina con direccionamiento segmentado. Registros índices: Utilizados para direccionamiento indexado, y pueden ser autoindexados. Apuntadores de Pila: Si existe un direccionamiento de pila visible al usuario, entonces la pila está en memoria y hay un registro dedicado que apunta al tope de esta. REGISTROS DE CODIGOS DE CONDICION (banderas(flags)) Son bits fijados por el hardware de la CPU como resultados de una operación. Por ejemplo una operación aritmética puede producir un resultado positivo, negativo, nulo o con desbordamiento. Además de almacenar el propio resultado en memoria, se obtiene también un código de condición, que puede ser consultado como parte de una bifurcación condicional. Los bits de códigos de condición se reúnen en uno o mas registros. Normalmente forman parte del registro de control. Generalmente las máquinas permiten que estos bits se lean mediante referencias implícitas, pero no pueden ser alterados por el programador. En algunas máquinas, una llamada a una subrutina implica guardar el contenido de los registros visibles al usuario, para reestablecerlos al regreso. Esta tarea es realizada por el CPU como parte de la ejecución de la llamada y del regreso. Esto permite que cada subrutina utilice los registros independientemente. En otras máquinas es responsabilidad del programador guardar y reestablecer los valores de los registros Al momento de diseñar los registros de un CPU hay varios puntos que hay que considerar. Uno muy importante es la especialización, que trata de si deben utilizarse únicamente registros de propósito general o especializar su uso. Con el uso de registros especializados puede estar implícito en el código de operación el tipo de registro al que hará referencia un operando. Este debe identificar únicamente un registro de un conjunto especializado, en lugar de uno de entre todos los registros. Esto por un lado ahorra bits, pero la especialización limita la flexibilidad del programador. No existe una solución única en este punto, pero la tendencia es el uso de los registros especializados. GUIA 23 2007 Sandro Costantini 3

Otro punto es el Numero de Registros, ya sean de propósito general, de datos o de direcciones. Esto afecta el diseño del conjunto de instrucciones dado que más registros requieren más bits de operandos. Al parecer de 8 a 32 registros son opt5imos. Utilizar pocos registros produce más referencias a la memoria; muchos registros no reducen notablemente el número de referencias a memoria. Sin embargo, existe un nuevo planteamiento, el cual encuentra ventajas en el uso de cientos de registros, y se encuentra en algunos sistemas RISC Un último punto en el diseño es la Longitud de los Registros. Los registros que contienen direcciones deben ser lo suficientemente grandes para contener direcciones grandes. Los registros de datos deben ser capaces de almacenar valores de la mayoría de los tipos de datos. Algunas máquinas permiten el uso de dos registros contiguos para almacenar valores de longitud doble. REGISTROS DE CONTROL Y ESTADO Hay una gran variedad de registros que son utilizados para controlar la operación del CPU. La mayoría de estos, en muchísimas máquinas, no son visibles al usuario. Algunos duden ser visibles a instrucciones de máquina realizadas en un modo de control o de sistema operativo. Por supuesto, existen diferentes organizaciones de registros y utilizan diferentes tecnología. A continuación se muestra una lista, razonablemente completa, de tipos de registros y una breve descripción. Registros esenciales para la ejecución de una instrucción: Registro de dirección de memoria MAR: Especifica la dirección de memoria a la que se está accediendo. Está conectado al bus de dirección. Registro de datos de memoria MDR: Contiene el valor a escribir en la memoria o el últimos valor leído de la memoria. Está conectado al bus de datos. Contador de Programa PC: Contiene la dirección de la próxima instrucción a captar. Registro de Instrucción IR: Almacena la instrucción que actualmente se está ejecutando MAR: Memory Address Register; MDR: Memory Data Register; PC:Program Counter; IR:Instruction Register El PC es actualizado por el CPU después de cada búsqueda de instrucción, por lo que siempre apunta a la siguiente instrucción a ser ejecutada. Una instrucción de salto también modifica al PC. La instrucción buscada se coloca en el IR donde el código de operación y el operando son analizados. Los datos se intercambian utilizando MAR y MDR. Estos cuatro registros se utilizan para la transferencia de datos entre el CPU y la memoria. Dentro del CPU los datos son presentados a la ULA para procesarlos. La ULA debe tener acceso directo al MDR y a los registros visibles al usuario. GUIA 23 2007 Sandro Costantini 4

En la figura se muestran los dos registros involucrados directamente con el acceso a memoria. CPU UNIDAD DE CONTROL MEMORIA MDR MAR 0 1 0 1 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 1 DECOD Bus de direcciones Bus de datos Todos los diseños del CPU incluyen un registro, o conjunto de registros, conocido como palabra de estado del programa PSW (program status word). Frecuentemente el PSW contiene códigos de condición y otra información de estado. Entre los campos comunes se incluyen los siguientes: Signo: Contiene el bit de signo resultante en la última operación aritmética. Cero: Puesto a 1 cuando el resultado es cero. Acarreo: Puesto a 1 si la operación da como resultado un acarreo del bit más significativo. Igual: Puesto en 1 si el resultado de una comparación lógica es la igualdad. Overflow: Utilizado para indicar un desbordamiento en una operación aritmética. Interrupt enable disable: Utilizada para habilitar o deshabilitar las interrupciones. Supervisor: Indica cuando el CPU está operando en modo supervisor o en modo usuario. Ciertas instrucciones y áreas de memoria solo pueden accesarse en modo supervisor GUIA 23 2007 Sandro Costantini 5

UNIDAD DE CONTROL UC. La función de una computadora es la de ejecutar programas. Estos programas están compuestos de una serie de instrucciones, las cuales son ejecutadas una cada vez. Es decir, que la ejecución de un programa consiste en realizar una secuencia de ciclos de instrucción, con una instrucción de máquina por ciclo. La función de la unidad de control de un computador es la búsqueda de las instrucciones en memoria, su interpretación y la generación en los instantes adecuados, de las señales de control necesarias para ejecutar la operación especificada por cada instrucción. En este proceso se distinguen dos aspectos fundamentales: El secuenciamiento de las instrucciones. La interpretación de las instrucciones. SECUENCIAMIENTO El secuenciamiento de las instrucciones es el proceso por el cual las instrucciones de un programa van siendo seleccionadas para su ejecución en un orden determinado. La mayor parte de las instrucciones de un programa tienen una sola sucesora, por lo que resulta natural almacenadas en posiciones consecutivas de memoria. Para su secuenciamiento, se utiliza un registro denominado contador de programa (CP). En general, si la instrucción i necesita p palabras de memoria, el incremento del CP para pasar a la instrucción i+1 será CP CP+p. Las instrucciones de ruptura son las que permiten la selección de un camino entre varios posibles. Cuando es necesario transferir el control del programa principal a una subrutina o una interrupción, lo que se hace es guardar el contenido del CP (que será la dirección de la siguiente instrucción del programa principal) en algún registro de la CPU o en una posición determinada de la memoria principal llamada dirección de retorno. Después se carga en el CP la dirección en la que se encuentra la instrucción que arranca el subprograma, que se ejecuta hasta que finaliza, volviendo luego el control al programa principal recuperando el contenido del CP de la dirección de retorno. INTERPRETACIÓN: Es el proceso por el cual la unidad de control obtiene las instrucciones almacenadas en memoria y las ejecuta. Esto se realiza en lo que llamaremos ciclo de instrucción. CICLO DE INSTRUCCIÓN La ejecución de un programa consiste en la ejecución secuencial de sus instrucciones. Cada instrucción se ejecuta durante un ciclo de instrucción que está compuesto de subciclos más pequeños (búsqueda, direccionamiento indirecto, ejecución e interrupción) La realización de cada uno de esos subciclos implica una o más operaciones más pequeñas llamadas microoperaciones. Ciclo de captación Ciclo de decodificación Ciclo de ejecución CICLO DE CAPTACIÓN Las instrucciones que forman un programa se almacenan en forma secuencial en la memoria. Para ejecutar este programa la CPU trae una instrucción a la vez de la memoria y realiza las funciones especificadas. A este proceso se le conoce como ciclo de captación y ocurre al comienzo de cada ciclo de instrucción produciendo que una instrucción sea obtenida de la memoria. Se utilizan los cuatro registros siguientes cuya descripción se mencionó en la sección correspondiente a los registros: Registro de dirección de memoria MAR Registro de datos de memoria MDR. Contador de Programa PC Registro de Instrucción IR GUIA 23 2007 Sandro Costantini 6

Para explicar las microoperaciones del ciclo de captación consideremos los eventos que se van sucediendo, y su efecto sobre los registros del CPU. El primer paso consiste en traer de la memoria la instrucción a ejecutar. Al comienzo del ciclo de captación la dirección de la próxima instrucción a ejecutarse se encuentra almacenada en el contador de programa (PC). Entonces debemos colocar el contenido del PC en el registro de dirección de memoria(mar), ya que este es el registro que está conectado a las líneas de dirección del bus del sistema. El segundo paso consiste en traer la instrucción. Para esto la dirección (contenida en el MAR) se coloca en el bus de direcciones y la unidad de control emite una señal de LECTURA en el bus de control. El resultado aparece en el bus de datos y se copia en el registro de datos de memoria (MDR). Es necesario además actualizar el valor del PC para que contenga la dirección de la siguiente instrucción. Esto se realiza incrementando el PC en I (longitud de la instrucción), para que esté preparado para la próxima instrucción. Dado que las dos operaciones no interfieren entre sí, se pueden realizar simultáneamente para ahorrar tiempo. El tercer paso consiste en transferir el dato almacenado en MDR al registro de instrucción (IR). Esto libera MDR para su posible uso durante un ciclo indirecto. De esta forma, el ciclo de captación consta de 4 microoperaciones que se realizan en 3 pasos. Las secuencias de pasos en el ciclo de búsqueda pueden representarse simbólicamente de la siguiente forma: t1: MAR [PC] Transferir el contenido de PC a MAR t2: MDR Memoria Transferir el contenido de la posición de memoria señalada por MAR a MDR. PC [PC] + I Incrementar en I el contenido de PC t3: IR MDR Transferir el contenido de MDR a IR. ti representa unidades sucesivas de tiempo y los corchetes [ ] se utilizan para denotar el contenido de. CICLO DE DECODIFICACION Una vez que se tiene la microinstrucción, el siguiente consiste en analizar los bits correspondientes al código de operación de la instrucción y determinar las operaciones a ejecutarse en el ciclo de ejecución. CICLO DE EJECUCIÓN El ciclo de ejecución no tiene una secuencia fija de operaciones, sino que para cada código de operación y modo de direccionamiento hay una secuencia distinta. De forma general se efectúan las siguientes operaciones: Calculo de las direcciones efectivas de los operandos (dependen del modo de direccionamiento) Lectura de los operandos (se leen de la memoria principal y se almacenan en registros a la entrada de la Unidad Aritmético lógica) Operación con los datos (en la Unidad Aritmético Lógica) Almacenamiento de operando (escritura del resultado en la memoria) Al terminar con el ciclo de instrucción se sigue el mismo procedimiento con la instrucción siguiente. GUIA 23 2007 Sandro Costantini 7

NOTAS ADICIONALES Algunos autores especifican un ciclo indirecto que hemos considerado como parte del ciclo de ejecución CICLO INDIRECTO Una vez que se tiene la microinstrucción, el siguiente paso consiste en captar los operandos. Supongamos que el formato de instrucción requiere de un direccionamiento directo o indirecto. Si la instrucción especifica un direccionamiento indirecto (consiste en obtener la dirección almacenada en otra localidad de memoria), entonces se debe realizar un Ciclo Indirecto. Esto incluye las siguientes microoperaciones: t1: MAR [IR(Dirección)] t2: MDR Memoria t3: IR(dirección) [MDR(Dirección)] El campo de dirección en la instrucción se transfiere a MAR. Este se utiliza después para captar la dirección del operando. Por último, el campo de dirección de IR se actualiza con el contenido de MDR, de modo que contenga una dirección directa en lugar de una indirecta. IR tiene ahora el mismo estado que si no se hubiera usado direccionamiento indirecto, y está listo para el ciclo de ejecución. CICLO DE INTERRUPCION Cuando termina el ciclo de ejecución, se realiza una comprobación para determinar si se ha habilitado alguna interrupción. Si es así, entonces antes de captar la siguiente instrucción tiene lugar el ciclo de interrupción. La secuencia es la siguiente: t1: MDR [PC] t2: MAR Dirección de regreso PC Dirección de rutina t3: Memoria [MDR] Aquí el contenido de PC se almacena en el MDR para que cuando la rutina termine de ejecutarse, el CPU sepa en donde debe continuar. Se coloca en el MAR la dirección donde se almacenará el contenido de PC y la dirección de la rutina a ejecutar se almacena en el PC. Posteriormente la unidad de control especifica que se debe realizar una escritura para almacenar en memoria el dato contenido en MDR. GUIA 23 2007 Sandro Costantini 8