Download Presentación de PowerPoint

Document related concepts
no text concepts found
Transcript
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.
Ing. David Sánchez Rivero
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.
Ing. David Sánchez Rivero
Pág. 3
Ejecución de Instrucciones
(Ciclo de Instrucción)
1.
2.
3.
4.
5.
6.
7.
Extrae de la memoria la siguiente instrucción y la lleva
al registro de instrucción.
Cambia el contador de programa de modo que señale
la siguiente instrucción.
Determina el tipo de instrucción que acaba de extraer.
Verifica si la instrucción requiere datos de la memoria y,
si es así, determina dónde están situados.
Extrae los datos, si los hay, y los carga en los registros
internos de la CPU.
Ejecuta la instrucción.
Vuelve al paso 1 para comenzar la ejecución de la
instrucción siguiente.
Ing. David Sánchez Rivero
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
2n (o menos) operaciones diferentes.
A veces un código de operación se denomina macrooperación
porque especifica un grupo de microoperaciones.
Ing. David Sánchez Rivero
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.
Ing. David Sánchez Rivero
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.
Ing. David Sánchez Rivero
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.
Ing. David Sánchez Rivero
Pág. 8
Arquitectura Sencilla
Ing. David Sánchez Rivero
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.
Ing. David Sánchez Rivero
Pág. 10
Ejemplo del contenido de la memoria
Ing. David Sánchez Rivero
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.
Ing. David Sánchez Rivero
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.
Ing. David Sánchez Rivero
Pág. 13
Arquitectura Básica
Ing. David Sánchez Rivero
Pág. 14
Componentes y Operaciones del Sistema
Ing. David Sánchez Rivero
Pág. 15
Componentes y Operaciones del
Sistema
Ing. David Sánchez Rivero
Pág. 16
Ciclo de Búsqueda
Ciclo de
reloj
Microoperación
1
PC  MAR
Transmitir la posición de la
instrucción desde el PC al MAR.
2
M  GPR
Transmitir la palabra direccionada
al GPR.
Incrementar el PC.
PC + 1 PC
3
Ing. David Sánchez Rivero
GPR(OP)  OPR
Explicación
Transmitir la parte operación de la
instrucción al OPR.
Pág. 17
Direccionamiento Directo e Indirecto
Dirección
de Memoria
00
Dirección
de Memoria
00
01
01
02
03
02
ADD
3
7
03
ADD
3
7
04
Dirección
de la Dirección
del Operando
Dirección
de Operando
37
Operando
37
B6
Ing. David Sánchez Rivero
X
B
6
Operando
Pág. 18
Ciclo de ejecución
Operación: ADD, dirección
(direccionamiento directo)
Ciclo de
reloj
Microoperació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.
Ing. David Sánchez Rivero
Explicación
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
6
GPR(AD)  MAR
7
M  GPR
8
GPR + Acc  Acc
Ing. David Sánchez Rivero
Transmite el contenido de la celda de
memoria direccionada al GPR (el GPR
tendrá entonces la dirección del
operando).
Transmite la dirección del operando desde
GPR(AD) al MAR.
Transmite el operando direccionado al
GPR.
Suma el contenido del GPR al Acc.
Pág. 20
Ciclo Fetch-Execute
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
Ing. David Sánchez Rivero
Pág. 21
Sumario de Instrucciones
Ing. David Sánchez Rivero
Pág. 22
Microprogramación
Ejemplo: ADD, dirección (Dir. Indirecto)
Ing. David Sánchez Rivero
Pág. 23
Bifurcación en Microprograma
Ing. David Sánchez Rivero
Pág. 24
Bifurcación Condicional
Ing. David Sánchez Rivero
Pág. 25
Controlador Microprogramado
Ing. David Sánchez Rivero
Pág. 26