32337139 Registro de Emisiones y Transferencia de Contaminantes RETC
Lenguaje de Transferencia de Registro
-
Upload
hugo-alberto-rivera-diaz -
Category
Technology
-
view
987 -
download
1
Transcript of Lenguaje de Transferencia de Registro
ARQUITECTURA DE COMPUTADORAS
• Un sistema digital es una interconexión de módulos de hardware
digital que realizan una tarea especifica de procesamiento de
información. Los sistemas digitales varían en tamaño y complejidad
desde unos cuantos circuitos integrados hasta un complejo de
computadoras digitales interconectadas e interactivas.
• El diseño de sistemas digitales utiliza de manera invariable un
enfoque modular. Los módulos se construyen a partir de
componentes digitales como registros, decodificadores, elementos
aritméticos y lógica de control.
• Los módulos digitales se definen mejor por los registros que
contienen y las operaciones que realizan sobre los datos que
almacenan. Las operaciones que se ejecutan sobre los datos
almacenados en los registros se llaman micro operaciones. Una
micro operación es una operación básica realizada sobre la
información almacenada en uno o mas registros.
• Algunos ejemplo de micro operaciones son desplazar, contar, borrar y
cargar.
• Por ejemplo, un contador con carga paralela puede realizar las micro
operaciones de incremento y carga; un registro de desplazamiento
bidireccional puede realizar las micro operaciones de
desplazamiento a la derecha y a la izquierda.
• La organización interna del hardware de una computadora digital se
define mejor al especificar:
1. El conjunto de registro que contiene y sus funciones.
2. La secuencia de micro operaciones que se realizan sobre la
información binaria almacenada en los registros.
3. El control que inicia la secuencia de micro operaciones.
• Es posible especificar la secuencia de microoperaciones en una
computadora, al explicar cada operación en palabras, pero este
procedimiento por lo general representa una extensa explicación
descriptiva.
• El uso de símbolos en lugar de una explicación narrativa proporciona
una manera organizada y concisa para enlistar las secuencias de
microoperaciones en los registros y las funciones de control que las
inician.
• La notación simbólica que se utilizan para describir las transferencias
de microoperaciones entre registro se llama lenguaje de
transferencias de registros. El termino “transferencia de registro”
implica la disponibilidad de circuitos lógicos de hardware que puedan
efectuar una microoperacion definida y transferir el resultado de la
operación al mismo o a otro registro, la palabra “lenguaje” se toma
prestada de los programadores, quienes aplican este termino a los
lenguajes de programación.
• De igual manera, un lenguaje natura, como el ingles, es un sistema
para escribir símbolos y combinarlos en palabras y enunciados para
la comunicación entre personas un lenguaje de transferencia de
registros es un sistema para escribir símbolos y comunicarlos en
palabras y enunciados para la comunicación entre personas.
• El lenguaje de transferencia de registros que se adopta aquí se
considera lo mas sencillo posible, para que no sea difícil de
memorizar.
• Se puede aprender con facilidad otra simbología una vez que se
familiariza uno con este lenguaje, por que la mayoría de las
diferencias entre los lenguajes de transferencia de registros,
consisten en variaciones de los detalles mas que en el propósito
general.
4-2 TRANSFERENCIA DE REGISTRO
LOS REGISTROS SON UN MEDIO DE AYUDA A LASOPERACIONES REALIZADAS POR LA UNIDAD DE CONTROL, LAUNIDAD ARITMÉTICA Y LÓGICA. QUE PERMITEN ALMACENARINFORMACIÓN, TEMPORALMENTE, PARA FACILITAR LAMANIPULACIÓN DE LOS DATOS POR PARTE DE LA CPU.
Los registros de computadora están representados por letras mayúsculas (en
ocasiones seguidas de números), para denotar la función del registro. Por
ejemplo, el registro que contiene una dirección para la unidad de memoria, por
lo general se llama un registro de direccionamiento de memoria y se designan
las letras MAR (memory address register).
Otros nombres para registros son :
PC (contador de programa)
IR (registro de instrucción)
Rl (registro de procesador)
Los flip-flops individuales en un registro de n bits están numerados en una secuencia de O hasta n — 1,
comenzando desde O en la posición de la extrema derecha y aumentando los números hacia la izquierda.
La siguiente figura muestra la representación de registros en forma de diagrama de bloque.
La manera más común de representar un registro es mediante una caja rectangular con el nombre del
registro dentro ejemplo (a).
Los bits individuales pueden distinguirse como en el ejemplo (b).
R1 7 6 5 4 3 2 1 0
R2 PC(H) PC(L)
a) Registro R b) Aspectos de los bits individuales
c) Numeración de bits d) Dividido en dos partes
La numeración de bits en un registro de 16 bits puede señalarse en la parte superior de la caja,
como se muestra en el ejemplo (c).
Un registro de 16 bits se divide en 2 partes en el ejemplo (d).
Los bits del O al 7 reciben el símbolo L (byte bajo) y los bits del 8 al 15 reciben el símbolo H (byte
alto). El nombre del registro de 16 bits es PC. El símbolo PC (0-7) o PC (L) denomina el byte de orden
menor y PC (8-15) o PC (H)designa al byte de orden mayor.
La transferencia de información de un registro a otro se representa en forma simbólica mediante un
operador de sustitución. El enunciado:
R2 <— Rl
denota una transferencia del contenido del registro Rl al registro R2. Designa la sustitución del
contenido de R2 por el contenido de Rl. Por definición, el contenido del registro fuente Rl no cambia
después de la transferencia.
Un enunciado que especifica una transferencia de registro implica que están disponibles circuitos de
la salida del registro fuente a la entrada del registro destino y que el registro destino tiene capacidad
de carga paralela. Normalmente, deseamos que la transferencia ocurra sólo bajo una condición de
control predeterminada. Esto puede mostrarse mediante un enunciado si, entonces Qf-then)
Si (P = 1) entonces (R2 <— Rl)
donde P es una señal de control que se genera en la sección de control. En ocasiones es
conveniente separar las variables de control de la operación de transferencia de registros al
especificar una función de control. Una función de control es una variable booleana, que es igual a
O o a 1. La función de control se incluye en el enunciado como sigue:
P: R2~-Rl
La condición de control se termina con un signo de dos puntos. Representa la necesidad de que la
operación de transferencia sea ejecutada sólo por el hardware si P = 1.P: R2~-Rl
Se muestra el diagrama de bloque de la transferencia de Rl a R2. Las n salidas del registro Rl están
conectadas a las n entradas del registro R2. La letra n se usará para indicar cualquier cantidad de bits
para el registro. Se sustituirá por un número real cuando se conozca el tamaño del registro. El
registro R2 tiene una entrada de carga que activa la variable de control P. Se considera que la
variable de control está sincronizada con el mismo reloj que se aplica al registro.
Circuito de control R2
R1
cargaP
n
Reloj
a) Diagrama de bloque
Como se muestra en el diagrama de temporización, P se activa en la sección de control mediante el flanco
ascendente de un pulso de reloj en el tiempo t. La siguiente transición positiva del reloj en el tiempo t + 1
encuentra activa la entrada de carga y las entradas de datos de R2 se cargan a su vez en el registro en
paralelo. P puede regresar a O en el tiempo t + 1; de otra manera, la transferencia ocurrirá con cada transición de
pulso de reloj mientras P permanece activa.
Debe notarse que el reloj no se incluye como una variable en los enunciados de transferencia de registros. Se
considera que todas las transferencias ocurren durante una transición de flanco de reloj. Aunque la condición de
control P se activa inmediatamente después del tiempo t, la transferencia real no ocurre hasta que se activa el
registro mediante la siguiente transición positiva del reloj en el tiempo t + 1.
t+1t
La transferencia
ocurre aquí
carga
b) Diagrama de temporización
Transferencia de R1 a R2 cuando P=1.
5-2 REGISTRO DE COMPUTADORA
5-2 REGISTRO DE COMPUTADORA
Por lo general, las instrucciones de computador a se almacenan en
posiciones de memoria consecutivas y se ejecutan de manera secuencia,
una la vez.
El control lee una instrucción de una dirección de la siguiente instrucción
después de que se termina la ejecución de la instrucción presente
La computadora necesita los registros del procesador para manipular
datos y un registro para obtener una dirección de memoria.
También se listan los registros de la tabla 5-1 junto con una breve
descripción de su función y de la cantidad de bits que contienen.
Estas necesidades dictan la configuración del registro que se muestra
en la figura 5-1.
El registro de direccionamiento (AR) de la memoria tiene 12 bits porque estés es el
ancho de una dirección de memoria. El contador de programa (PC) también tiene 12
bits y contiene la dirección de la siguiente instrucción que se va a leer de la memoria
después de que se ejecute la instrucción presente
La parte de dirección de una instrucción de transferencia del programa se transfiere al
PC para convertirse en la dirección de la siguiente instrucción.
Se usan dos registros para entrada y salida. El registro de entrada (INPR) recibe un
carácter de 8 bits de un dispositivo de entrada. El registro de salida (OUTR) contiene
un carácter de 8 bits para un dispositivo de salida.
BUS COMÚN DEL SISTEMA
La computadora básica tiene ocho registro, una unidad de memoria y una
unidad de control.
Deben proporcionarse trayectorias para transferir información de un registro
a otro y entre la memoria y el registro.
Un esquema mas eficiente mas eficiente para transferir información en un
sistema con muchos registros es usar un bus común.
Las salidas de siete registro y de la memoria están conectados al bus común
. La salida.
La salida especifica que se selecciona para la líneas del bus en
cualquier momento dado esta determinada por el valor binario de las
variables de selección s2, s1, s0.
El numero que se encuentre delante de cada salida muestra el
equivalente decimal de la selección binaria requerida por ejemplo, el
numero que esta delante de la salida DR es 3. las salidas de 16 bits de
DR se colocan en líneas de bus cuando s2, s1, s0= 011 porque este es
el valor binario del decimal 3.
Cuatro registro tiene 16 bits DR, AC, IR Y TR. Dos registros, AR Y PC,
tiene 12 bits cada uno por que contiene direcciones de memoria.
Cuando el contenido de AR O PC se aplica al bus común 16 bits, los
cuatro bits mas significativos se establecen en 0. cuando AR o PC
reciben información del bus, solo se transfieren al registro los 12 bits
menos significativos.
Las 16 líneas del bus común reciben información de seis registros y de
la unidad de memoria. Las líneas de bus están conectadas a las
entradas de seis registros y a la memoria. Las líneas del bus están
conectadas a las entradas de seis registros y ala memoria. Cinco
registros tienen tres entradas de control: LD (cargar), INR (Incrementar)
y CLR (borrar).
5-3 INSTRUCCIONES DE COMPUTADORA
La computadora básica tiene tres formatos de código de instrucciones,
según se muestra en la siguiente figura 5-5 . Cada formato 16 bits. La
parte del código de operación de la instrucción contiene tres bits y el
significado de los 13 bits restantes depende del código de operación
que se encuentre.
La instrucciones de referencia a registros se reconocen mediante el
código de operación 111 con un 0 en el bit de la extrema izquierda (bit
15) de la instrucción.
De igual forma, una instrucción de entrada - salida no necesita una
referencia a memoria y se reconoce por el código de operación 111 con 1
en el bit de la extrema izquierda de la instrucción. Los 12 bits restantes se
utilizan para especificar el tipo de operación entrada – salida o la prueba
ejecutada.
El tipo de instrucción se reconoce mediante el control de computadora de
los cuatro bits en la posiciones de la 12 a la 15 de la instrucción.
Solo se utiliza tres bits de la instrucción para el código de operación.
Puede parecer que la computadora esta limitada a un máximo de ocho
operaciones distintas. De echo el numero total de instrucciones escogidas
para la computadora básica es igual a 25.
Las instrucciones para la computadora se listan en la tabla 5-2. la
representación simbólica es una palabra de tres letras y significa una
abreviatura destinada a los programadores y los usuarios.
Al usar el equivalente hexadecimal reducimos los 16 bits de un código de
instrucción a cuatro dígitos, donde cada digito hexadecimales equivalente a
cuatro bits. Una instrucción con referencia a memoria tiene una parte de
dirección de 12 bits.
El ultimo bits de la instrucción esta representado por el símbolo I. cuando I =
0, los últimos 4 bits de una instrucción tienen un digito hexadecimal
equivalente de 0 a 6,dado que el ultimo bit es 0
Cuando I = 0, el digito hexadecimal equivalente de los últimos cuatro bits de
la instrucción varia de 8 a E, porque el ultimo bit es 1.
VERSATILIDAD DEL CONJUNTO DE INSTRUCCIONES
Antes de investigar las operaciones que ejecutan las instrucciones, analicemos el tipo
de instrucciones que deben incluirse en una computadora. Una computadora debe
tener un conjunto de instrucciones para el fin de evaluar cualquier función que se
sepa que puede computarse.
1. Instrucciones aritméticas, lógicas y de corrimiento.
2. Instrucciones para mover información hacia y desde la memoria y los registros del
procesador.
3. Instrucciones de control del programa, junto con instrucciones que verifiquen las
condiciones de estado.
4. Instrucciones de entrada y salida.
5-5 CICLO DE INSTRUCCIÓN
un programa residente en la unidad de memoria de la computadora esta formado por
una secuencia de instrucciones. El programa se ejecuta en la computadora
recorriendo un ciclo para cada instrucción. A su vez cada ciclo de instrucción se
divide en una secuencia de subciclos o fases. En la computadora básica cada ciclo
de instrucción consiste en las siguientes fases:
1. Buscar una instrucción de la memoria.
2. Decodificar la instrucción.
3. Leer la dirección efectiva de la memoria si la instrucción tiene una dirección
indirecta.
4. Ejecutar la instrucción.
Cuando se termina el paso 4, el control regresa el paso 1 para buscar, decodificar y
ejecutar la siguiente instrucción. Este procesos continua en forma indefinida a menos
que se encuentre una instrucción HALT (alto).
BÚSQUEDA Y DECODIFICACIÓN
Al principio, el contador de programa PC esta cargado con la dirección de la primera instrucción del
programa. El contador secuencial SC se borra a 0, proporcionado una señal de temporización
codificada T0.
Como solo AR esta conectada a las entradas de direccionamientos de la memoria, es necesario
transferir la dirección del PC a AR durante la transición de reloj asociada a la señal de temporización
T1.
Con el fin de proporcionar la trayectoria de datos para la transferencia de PC a AR, se debe aplicar
una señal de temporización T0 para obtener la siguiente conexión:
1. Habilitar la entrada de la lectura de la memoria.
2. Colocar el contenido de la memoria dentro del bus al hacer que S2S1S0 = 111.
3. Transferir el contenido del bus a IR al habilitar la entrada LD de IR.
4. Incrementar PC al habilitar la entrada INR de PC.
DETERMINACIÓN DEL TIPO DE INSTRUCCIÓN
La señal de temporización que esta activa después de la decodificación es
T3.Durante el tiempo T3 la unidad de control determina el tipo de instrucción que se
acaba de leer de la memoria. El diagrama de flujo de la figura 5-9 presenta una
configuración inicial para el ciclo de instrucción y muestra como el control determina
el tipo de instrucción posibles de que dispone en la computadora básica se
especifican en la siguiente figura.
La microoperación para la condición de direccionamiento indirecto se puede
representar mediante el enunciado de transferencia de registros
AR M[AR]
AL principio AR contiene la parte de dirección de la instrucción. Esta dirección
se utiliza durante la instrucción de lectura de memoria . La palabra en la
dirección proporcionada por AR se lee de la memoria y se coloca en el bus
común. Después, se habilita la entrada LD de AR, para recibir la dirección
indirecta que reside en los 12 bits menos significativos de la palabra de
memoria.
Cuando se encuentra en una instrucción de referencia a memoria I = 0 noes
necesario hacer nada porque la dirección efectiva ya esta en AR. Sin
embargo, el contador secuencial SC debe incrementarse cuando D´7T3 = 1,
para que pueda continuarse la ejecución dela instrucción de referencia a
memoria con la variable de temporización T4.