Resumen Capitulo 12 Arquitectura de Computadoras
Enviado por Eriiick97 • 18 de Octubre de 2018 • Resumen • 2.701 Palabras (11 Páginas) • 430 Visitas
Los registros del procesador son de dos tipos:
- Registros visibles por el usuario: permiten al programador de lenguaje máquina o de ensamblador minimizar las referencias a memoria principal por medio de la optimización del uso de registros.
- Registros de control y estado: son utilizados por la unidad de control para controlar el funcionamiento del procesador y por programas privilegiados del sistema operativo para controlar la ejecución de programas.
Códigos de condición: también llamados indicadores o flags, son bits fijados por el hardware del procesador como resultado de alguna operación. El código puede ser examinado con posterioridad como parte de una operación de salto condicional.
Registros de control y estado
Son esenciales cuatro registros para la ejecución de una instrucción:
Contador de programa (Program Counter, PC): contiene la dirección de la instrucción a captar.
Registro de instrucción (Instruction Register, IR): contiene la instrucción captada más recientemente.
Registro de dirección de memoria (Memory Address Register, MAR): contiene la dirección de una posición de memoria.
Registro intermedio de memoria (Memory Buffer Register, MBR): contiene la palabra de datos a escribir en memoria o la palabra leída más recientemente.
12.3 Ciclo de instrucción
Un ciclo de instrucción incluye los siguientes subciclos:
- Captación: llevar la siguiente instrucción de la memoria al procesador.
- Ejecución: interpretar el código de operación y llevar a cabo la operación indicada.
- Interrupción: si las interrupciones están habilitadas y ha ocurrido una interrupción, guardar el estado del proceso actual y atender la interrupción.
El ciclo Indirecto
Se puede considerar la captación de direcciones indirectas como un subciclo de instrucción más. El resultado se muestra en la figura 12.4. La principal línea de actividad consiste en alternar las actividades de captación y ejecución de instrucciones. Después de ser captada, es examinada para determinar si incluye algún direccionamiento indirecto. Si es así, los operadnos requeridos se captan usando direccionamiento indirecto. Tras la ejecución se puede procesar una interrupción antes de la captación de la siguiente instrucción.
Flujo de datos
Durante el ciclo de captación se lee una instrucción de la memoria. La figura 12.6 muestra el flujo de datos en este ciclo. PC contiene la dirección de la siguiente instrucción que hay que captar. Esta dirección se lleva a MAR y se coloca en el bus de direcciones. La unidad de control solicita una lectura de memoria, y el resultado se pone en el bus de datos, se copia en MBR y después se lleva a IR. Mientras tanto, PC se incrementa en uno como preparación para la siguiente captación.
Una vez concluido el ciclo de captación, la unidad de control examina el contenido de IR para determinar si contienen un campo de operando que use direccionamiento indirecto. Si es así, se lleva a cabo un ciclo indirecto. Se trata de un ciclo sencillo. Los N bits más a la derecha de MBR, que contienen la dirección de referencia, se transfieren a MAR. Entonces, la unidad de control solicita una lectura de memoria para llevar la dirección del operando deseada a MBR.
Los ciclos de captación e indirecto son sencillos y predecibles. El ciclo de ejecución adopta muchas formas, ya que depende de cuál de las diversas instrucciones máquina esté en IR. Este ciclo implica transferencia de datos entre registros, lectura o escritura de memoria o E/S, o la utilización de la ALU.
Por otra parte, está el ciclo de interrupción, en el cual, el contenido actual de PC tiene que ser guardado para que el procesador pueda reanudar su actividad normal tras la interrupción. Así, el contenido de PC se transfiere a MBR para ser escrito en memoria. La dirección de memoria especial reservada para este propósito se carga en MAR desde la unidad de control.
12.4 segmentación de instrucciones
La segmentación de instrucciones es similar al uso de una cadena de montaje en una fábrica.
Debería quedar claro que este proceso acelerara la ejecución de instrucciones. Si las etapas de captación y ejecución fueran de igual duración, el tiempo de ciclo de instrucción se reduciría a la mitad.
La duplicación de la velocidad de la ejecución es poco probable por dos razones:
1.- El tiempo de ejecución será generalmente más largo que el tiempo de captación. La ejecución implicara la lectura y almacenamiento de operadnos y la realización de alguna operación. Por consiguiente, la etapa de captación puede tener que esperar algún tiempo antes de que pueda vaciar su buffer.
2.- En una instrucción de salto condicional la dirección de la siguiente instrucción a captar es desconocida. Por tanto, la etapa de captación debe esperar hasta que reciba la dirección de la siguiente instrucción desde la etapa de ejecución. La etapa de ejecución puede entonces tener que esperar mientras se capta la siguiente instrucción.
La pérdida de tiempo debida a la segunda razón puede reducirse haciendo una estimación. Una regla simple es la siguiente: cuando una instrucción de salto condicional pasa de la etapa de captación a la de ejecución, la etapa de captación capta la instrucción de memoria que sigue a la instrucción de salto, entonces si el salto no se produce, no se pierde tiempo, si el salto se produce debe desecharse la instrucción captada y captarse una nueva instrucción.
Para conseguir una mayor aceleración, el cauce debe tener más etapas:
- Captar instrucción: Leer la supuesta instrucción en un buffer.
- Decodificar instrucción: determinar los códigos de operación
- Calcular operadnos: Calcular la dirección efectiva de cada operando fuente
- Captar operadnos: Captar cada operando que resida en memoria
- Ejecutar instrucción: Realizar la operación indicada y almacenar el resultado.
- Escribir operando: Almacenar el resultado en memoria.
Cuanto mayor sea el número de etapas en el cauce, más rápida será la velocidad de ejecución, existen dos factores que frustran este aparentemente sencillo patrón de diseño de altas prestaciones y que siguen siendo elementos que ha de considerar un diseño actual:
1.- En cada etapa del cauce hay algún gasto extra debido a la transferencia de datos de buffer a buffer y a la realización de varias funciones de preparación y distribución.
2.- La cantidad de lógica de control necesario para manejar dependencias de memoria y de registros y para optimizar el uso del cauce aumenta enormemente con el número de etapas.
...