Lenguaje de Transferencia de Registro

37
ARQUITECTURA DE COMPUTADORAS

Transcript of Lenguaje de Transferencia de Registro

Page 1: Lenguaje de Transferencia de Registro

ARQUITECTURA DE COMPUTADORAS

Page 2: Lenguaje de Transferencia de Registro

• 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.

Page 3: Lenguaje de Transferencia de Registro

• 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.

Page 4: Lenguaje de Transferencia de Registro

• 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.

Page 5: Lenguaje de Transferencia de Registro

• 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.

Page 6: Lenguaje de Transferencia de Registro

• 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.

Page 7: Lenguaje de Transferencia de Registro

• 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.

Page 8: Lenguaje de Transferencia de Registro

• 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.

Page 9: Lenguaje de Transferencia de Registro

• 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.

Page 10: Lenguaje de Transferencia de Registro

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.

Page 11: Lenguaje de Transferencia de Registro

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)

Page 12: Lenguaje de Transferencia de Registro

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

Page 13: Lenguaje de Transferencia de Registro

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.

Page 14: Lenguaje de Transferencia de Registro

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

Page 15: Lenguaje de Transferencia de Registro

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

Page 16: Lenguaje de Transferencia de Registro

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.

Page 17: Lenguaje de Transferencia de Registro

5-2 REGISTRO DE COMPUTADORA

Page 18: Lenguaje de Transferencia de Registro

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

Page 19: Lenguaje de Transferencia de Registro

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.

Page 20: Lenguaje de Transferencia de Registro

Estas necesidades dictan la configuración del registro que se muestra

en la figura 5-1.

Page 21: Lenguaje de Transferencia de Registro

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.

Page 22: Lenguaje de Transferencia de Registro

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.

Page 23: Lenguaje de Transferencia de Registro

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.

Page 24: Lenguaje de Transferencia de Registro

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).

Page 25: Lenguaje de Transferencia de Registro
Page 26: Lenguaje de Transferencia de Registro

5-3 INSTRUCCIONES DE COMPUTADORA

Page 27: Lenguaje de Transferencia de Registro

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.

Page 28: Lenguaje de Transferencia de Registro

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.

Page 29: Lenguaje de Transferencia de Registro

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.

Page 30: Lenguaje de Transferencia de Registro

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.

Page 31: Lenguaje de Transferencia de Registro

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.

Page 32: Lenguaje de Transferencia de Registro

5-5 CICLO DE INSTRUCCIÓN

Page 33: Lenguaje de Transferencia de Registro

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).

Page 34: Lenguaje de Transferencia de Registro

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.

Page 35: Lenguaje de Transferencia de Registro

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.

Page 36: Lenguaje de Transferencia de Registro
Page 37: Lenguaje de Transferencia de Registro

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.