U.N.J.U. F.I. INGENIERÍA INFORMÁTICA LABORATORIO DE COMPUTADORAS ARQUITECTURA BÁSICA DE LAS COMPUTADORAS TEMA: ARQUITECTURA Y MICROPROGRAMACIÓN
Conceptos Básicos Computadora Digital: implica que la información en la computadora se representa por variables que toman un número limitado de estados discretos. Pág. 2
Concepto de Arquitectura Arquitectura de la computadora: se ocupa de la estructura y el comportamiento de la computadora desde el punto de vista del usuario. Incluye los formatos de instrucción, el conjunto de instrucciones y las técnicas para el direccionamiento de la memoria. El diseño de la arquitectura de un sistema de computadora se ocupa de las especificaciones de varios módulos funcionales (por ejemplo Procesador y Memoria) y de estructurarlos conjuntamente en un sistema de computadora. Pág. 3
Ejecución de Instrucciones (Ciclo de Instrucción) 1. Extrae de la memoria la siguiente instrucción y la lleva al registro de instrucción. 2. Cambia el contador de programa de modo que señale la siguiente instrucción. 3. Determina el tipo de instrucción que acaba de extraer. 4. Verifica si la instrucción requiere datos de la memoria y, si es así, determina dónde están situados. 5. Extrae los datos, si los hay, y los carga en los registros internos de la CPU. 6. Ejecuta la instrucción. 7. Vuelve al paso 1 para comenzar la ejecución de la instrucción siguiente. Pág. 4
Organización y diseño básico de computadoras Código de instrucción: es un grupo de bits que instruye a la computadora sobre cómo ejecutar una operación específica. La parte básica de un código de instrucción es la parte de operación. El código de operación de una instrucción es un grupo de bits que define operaciones como sumar, restar, mover, etc. El Nº de bits requerido para el código de operación de una instrucción depende de la cantidad de operaciones disponibles en la computadora. El código de operación debe estar formado por al menos n bits para un conjunto dado de 2 n (o menos) operaciones diferentes. A veces un código de operación se denomina macrooperación porque especifica un grupo de microoperaciones. Pág. 5
Organización de un programa almacenado La manera más simple de organizar una computadora es tener un registro de procesador (Acc) y un formato de código de instrucción con dos partes: la 1º especifica la operación que se va a ejecutar y la 2º especifica una dirección. La dirección de memoria le dice al control dónde encontrar un operando en la memoria. Este operando se lee en la memoria y se utiliza como el dato que se va a operar o junto con el dato almacenado en el Acc. La ejecución de un código de instrucción no siempre requiere de un operando de memoria. Pág. 6
Concepto de Controlador Los controladores son sistemas secuenciales que suministran niveles lógicos apropiados en los tiempos apropiados para controlar una secuencia de operaciones lógicas sencillas que, en conjunto, realizan una operación compleja. Pág. 7
Ejemplo: diseño de un controlador para transferencia de registros Explicación: a) La puesta a 1 lógico, brevemente, del terminal de control Mover A, B transmite el contenido del registro A al B. b) Se añade un reloj para sincronizar la operación. Pág. 8
Arquitectura Sencilla Pág. 9
Glosario PC: registro contador de programa, contiene la dirección de la próxima instrucción a ejecutarse. MAR: registro de direcciones de memoria, contiene una dirección de memoria que puede ser la de una instrucción o la de un dato. RAM: memoria de lectura/escritura. RI: registro de instrucción, contiene, básicamente el código de operación de la instrucción a ejecutarse y otro tipo de información. ALU: unidad aritmética/lógica. Acc: registro acumulador, es un registro de propósito general. Controlador: circuito que controla la ejecución de las microoperaciones en el orden correcto, en el momento adecuado. Pág. 10
Ejemplo del contenido de la memoria Pág. 11
Ciclo de Búsqueda Explicación: 1- Transfiere el contenido del contador de programa al registro de direcciones de memoria. 2- Transfiere la instrucción direccionada al registro de instrucción mediante: a) habilitación de la memoria al conectarla al bus; b) poniendo a R/W! a 1 al leer memoria, y c) transfiriendo la palabra del bus al registro de instrucción, incrementando el contador de programa preparándolo para llamar a la siguiente instrucción cuando se haya completado la respuesta a la primera instrucción. Pág. 12
Ciclo de Ejecución Operación: sustracción (por complementación) Explicación: 3- Transfiere la parte dirección del registro RI al registro de direcciones de memoria. 4- Transfiere la palabra direccionada de memoria al bus y de ahí al registro CI. 5- Complementa CI. 6- Incrementa CI. 7- Salida del registro sumador al registro acumulador. Pág. 13
Arquitectura Básica Pág. 14
Componentes y Operaciones del Sistema Pág. 15
Componentes y Operaciones del Sistema Pág. 16
Ciclo de Búsqueda Ciclo de reloj Microoperación Explicación 1 PC MAR Transmitir la posición de la instrucción desde el PC al MAR. 2 M GPR PC + 1 PC Transmitir la palabra direccionada al GPR. Incrementar el PC. 3 GPR(OP) OPR Transmitir la parte operación de la instrucción al OPR. Pág. 17
Direccionamiento Directo e Indirecto Dirección de Memoria 00 01 02 03 04 ADD 3 7 03 ADD 3 7 Dirección de Operando Dirección de Memoria 00 01 02 Dirección de la Dirección del Operando 37 Operando 37 X B 6 B6 Operando Pág. 18
Ciclo de ejecución Operación: ADD, dirección (direccionamiento directo) Ciclo de reloj Microoperación Explicación 4 GPR(AD) MAR Transmitir la dirección del operando desde GPR(AD) a MAR. 5 M GPR Lee desde la memoria la palabra de la celda cuya dirección está en el MAR. 6 GPR + Acc Acc Suma el contenido del GPR al contenido del Acc, dejando la suma en el Acc. Pág. 19
Ciclo de ejecución Operación: ADD, dirección (direccionamiento indirecto) Ciclo de reloj Microoperación Explicación 4 GPR(AD) MAR Transmite la dirección desde GPR al MAR. 5 M GPR Transmite el contenido de la celda de memoria direccionada al GPR (el GPR tendrá entonces la dirección del operando). 6 GPR(AD) MAR Transmite la dirección del operando desde GPR(AD) al MAR. 7 M GPR Transmite el operando direccionado al GPR. 8 GPR + Acc Acc Suma el contenido del GPR al Acc. Pág. 20
EJEMPLO: Escribir el microprograma del ciclo de ejecución de la siguiente instrucción: Mnemotécnico Direccionamiento Modo de Operación DEC Q Directo M <-- M - 8 Analizando a partir del instante en que termina la instrucción anterior, especificar en notación hexadecimal el contenido de cada registro usado en la arquitectura básica de una computadora después de cada ciclo de reloj hasta que se completa la ejecución de la instrucción. Suponer que: PC = 48h Acc = 021h Q = 18h Ciclo Fetch-Execute Pág. 21
Sumario de Instrucciones Pág. 22
Microprogramación Ejemplo: ADD, dirección (Dir. Indirecto) Pág. 23
Bifurcación en Microprograma Pág. 24
Bifurcación Condicional Pág. 25
Controlador Microprogramado Pág. 26