organizacion de computadoras

135
 UNIDAD 1.  TRANSFERENCIA ENTRE REGISTROS Y MICROOPERACIONES. 7.0 1.1 Transferencia entre regi stros. 1.2 Micro operaciones lógicas. 1.3 Micro operaciones aritméticas. 1.4 Micro operaciones de corrimiento. 1.5 Generación de funciones de control. 1.6 Representación de datos aritméticos (magnitud y signo), overflow, desplazamient os. punto flotante. UNIDAD 1   TRANSFEREN CIA DE REGISTROS Y MICRO-OPERACIONES  1.1 Lenguaje de transferencia de registros  Un sistema digital es una interconexión de módulos de hardware digital que realizan una tarea específica de procesamien to de información. Los módulos se construyen a partir de componentes digitales como registros , decodificadores, elementos aritméticos y lógica de control. Los diferentes módulos están interconectados con los datos y las trayectorias de control comunes para formar un sistema de computadora digital.  

Upload: javier-ramirez

Post on 14-Jul-2015

336 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 1/135

 

UNIDAD 1.

 TRANSFERENCIA ENTRE REGISTROS Y MICROOPERACIONES.

7.0 1.1 Transferencia entre registros.

1.2 Micro operaciones lógicas.

1.3 Micro operaciones aritméticas.

1.4 Micro operaciones de corrimiento.

1.5 Generación de funciones de control.

1.6 Representación de datos aritméticos (magnitud y signo), overflow,desplazamientos. punto flotante.

UNIDAD 1

 

 TRANSFERENCIA DE REGISTROS Y MICRO-OPERACIONES

 

1.1 Lenguaje de transferencia de registros

 

Un sistema digital es una interconexión de módulos de hardware digital querealizan una tarea específica de procesamiento de información. Los módulos seconstruyen a partir de componentes digitales como registros, decodificadores,elementos aritméticos y lógica de control. Los diferentes módulos estáninterconectados con los datos y las trayectorias de control comunes paraformar un sistema de computadora digital.

 

Page 2: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 2/135

 

Los módulos digitales se definen mejor por los registros que contienen y lasoperaciones que realizan sobre los datos que almacenan. Las operaciones quese ejecutan sobre los datos almacenados en los registros se llamanmicrooperaciones. Una microoperación es una operación básica realizada sobrela información almacenada en uno o mas registros. El resultado de la operaciónpuede sustituir la información binaria anterior de un registro o puedetransferirse a otro. Algunos ejemplos de microoperaciones son desplazar,contar, borrar y cargar.

 

La organización interna del hardware de una computadora digital se define

mejor al especificar:

1. El conjunto de registros que contiene y sus funciones.

2. La secuencia de microoperaciones que se realizan sobre la informaciónbinaria almacenada en los registros.

3. El control que inicia la secuencia de microoperaciones.

La notación simbólica que se utiliza para describir las transferencias demicrooperaciones entre registros se llama lenguaje de transferencia deregistros. El término "transferencia de registros" implica la disponibilidad decircuitos lógicos de hardware que puedan efectuar una microoperación definiday transferir el resultado de la operación al mismo o a otro registro. La palabra"lenguaje" se toma prestada de los programadores, quienes aplican estetérmino a los lenguajes de programación. Un lenguaje de programación es unprocedimiento para escribir símbolos con el fin de especificar cierto procesocomputacional. De igual manera, un lenguaje natural, como el inglés, es unsistema para escribir símbolos y combinarlos en palabras y enunciados para lacomunicación entre personas. Un lenguaje de transferencia de registros es unsistema para expresar en forma simbólica, las secuencias de microoperacionesentre los registros de un módulo digital. Es una herramienta conveniente para

describir la organización interna de las computadoras digitales de una maneraprecisa y concisa. También puede usarse para facilitar el proceso de diseñarsistemas digitales.

El lenguaje de transferencia de registros que se adopta aquí se considera lomás sencillo posible, para que no sea difícil de memorizar. En seguidadefiniremos los símbolos para diferentes tipos de microoperaciones y al mismotiempo describiremos el hardware asociado con el que se pueden llevar a cabolas microoperaciones planteadas. La denominación simbólica que se presenta

Page 3: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 3/135

 

en este capítulo se optimizará en capítulos posteriores para especificar lastransferencias de registros, las microoperaciones y las funciones de control quedescriben la organización interna del hardware de las computadoras digitales.Se puede aprender con facilidad otra simbología una vez que se familiariza uno

con este lenguaje, porque la mayoría de las diferencias entre los lenguajes detransferencia de registros, consisten en variaciones de los detalles más que enel propósito general.

 

1.2 Transferencia entre registros

Los registros de computadora están representados por letras mayúsculas (enocasiones seguidas de números), para denotar la función del registro. Porejemplo, el registro que contiene una dirección para la unidad de memoria, porlo general se llama un registro de direccionamiento de memoria y se designanlas letras MAR por sus siglas en inglés (memory address register). Otrosnombres para registros son PC (contador de programa), IR (registro deinstrucción) y 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 losnúmeros hacia la izquierda. La figura 4-1 muestra la representación deregistros en forma de diagrama de bloque. La manera más común derepresentar un registro es mediante una caja rectangular con el nombre delregistro dentro. Los bits individuales pueden distinguirse como en el ejemplo(b). La numeración de bits en un registro de 16 bits puede señalarse en laparte superior de la caja, como se muestra en el ejemplo (c). Un registro de 16bits se divide en 2 partes en el ejemplo (d). Los bits del O al 7 reciben elsímbolo L (byte bajo) y los bits del 8 al 15 reciben el símbolo H (byte alto). Elnombre del registro de 16 bits es PC. El símbolo PC (0-7) o Pc (L) denomina elbyte de orden menor y PC (8-15) o PC (H) designa al byte de orden mayor.

 

Page 4: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 4/135

 

La transferencia de información de un registro a otro se representa en formasimbólica mediante un operador de sustitución. El enunciado:

 

R2 <— Rl

 

denota una transferencia del contenido del registro Rl al registro R2. Designa lasustitución del contenido de R2 por el contenido de Rl. Por definición, elcontenido del registro fuente Rl no cambia después de la transferencia.

Un enunciado que especifica una transferencia de registro implica que estándisponibles circuitos de la salida del registro fuente a la entrada del registrodestino y que el registro destino tiene capacidad de carga paralela.Normalmente, deseamos que la transferencia ocurra sólo bajo una condiciónde 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. Enocasiones es conveniente separar las variables de control de la operación detransferencia de registros al especificar una función de control. Una función decontrol es una variable booleana, que es igual a O o a 1. La función de controlse incluye en el enunciado como sigue:

Page 5: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 5/135

 

 

P: R2~-Rl

 

La condición de control se termina con un signo de dos puntos. Representa lanecesidad de que la operación de transferencia sea ejecutada sólo por elhardware si P = 1.

 

Cada enunciado escrito en notación de transferencia de registros implica unaestructura de hardware para realizar la transferencia. Se muestra el diagramade bloque de la transferencia de Rl a R2. Las n salidas del registro Rl estánconectadas 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 realcuando se conozca el tamaño del registro. El registro R2 tiene una entrada decarga que activa la variable de control P. Se considera que la variable decontrol está sincronizada con el mismo reloj que se aplica al registro. Como semuestra en el diagrama de temporización, P se activa en la sección de controlmediante el flanco ascendente de un pulso de reloj en el tiempo t. La siguientetransición positiva del reloj en el tiempo t + 1 encuentra activa la entrada decarga y las entradas de datos de R2 se cargan a su vez en el registro enparalelo. P puede regresar a O en el tiempo t + 1; de otra manera, latransferencia ocurrirá con cada transición de pulso de reloj mientras Ppermanece activa.

Debe notarse que el reloj no se incluye como una variable en los enunciados detransferencia de registros. Se considera que todas las transferencias ocurrendurante una transición de flanco de reloj. Aunque la condición de control P seactiva inmediatamente después del tiempo t, la transferencia real no ocurrehasta que se activa el registro mediante la siguiente transición positiva delreloj en el tiempo t + 1.

Page 6: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 6/135

 

 

Los símbolos básicos de la notación de transferencia de registros se listan en latabla 4-1. Los registros están representados por letras mayúsculas y losnúmeros pueden estar después de las letras. Se usan paréntesis para señalaruna parte de un registro al especificar el rango de los bits o al otorgar unnombre simbólico a una parte de un registro. La flecha significa unatransferencia de información y su dirección. Se usa una coma para separar doso más operaciones que se ejecutan al mismo tiempo. El enunciado representauna operación que intercambia el contenido de dos registros durante un pulsode reloj común, siempre y cuando T = 1. Esta operación simultánea siempre esposible con registros que tienen flip-flops activados con flancos.

 

1.3 Microoperaciones aritméticas

 

Una microoperación es una operación elemental efectuada con los datosalmacenados en los registros. Las microoperaciones que se encuentran conmayor frecuencia en las computadoras digitales se clasifican en cuatrocategorías:

1. Microoperaciones de transferencia de registros que transfieren

información binaria de un registro a otro.

2. Microoperaciones aritméticas que ejecutan operaciones aritméticas sobredatos numéricos almacenados en los registros.

Page 7: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 7/135

 

3. Microoperaciones lógicas que ejecutan operaciones de manipulación de bitssobre datos no numéricos almacenados en registros.

4. Microoperaciones de corrimiento que ejecutan operaciones de corrimientosobre los datos almacenados en los registros.

La microoperación de transferencia de registros se analizó en la sección

Este tipo de microoperación no cambia el contenido de la información cuandola información binaria pasa del registro fuente al registro destino. Los otros tres

tipos de microoperaciones cambian el contenido de la información durante latransferencia. En esta sección presentamos un conjunto de microoperacionesaritméticas. En las dos siguientes secciones presentamos las microoperacioneslógicas y de corrimiento.

Las microoperaciones aritméticas básicas son suma, resta, incremento,decremento y corrimiento. Los corrimientos aritméticos se explican más tarde junto con las microoperaciones de corrimiento. La microoperación aritméticadefinida por el enunciado

 

R3 — Rl + R2

 

especifica una microoperación de suma. Declara que el contenido del registroRl se suma al contenido del registro R2 y que la suma se transfiere al registroR3. Para implantar este enunciado con hardware necesitamos tres registros yel componente digital que ejecuta la operación de suma. Las otrasmicrooperaciones aritméticas básicas se listan. La resta se lleva a cabo conmayor frecuencia, mediante la complementación y la suma. En lugar de usar el

Page 8: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 8/135

 

operador menos, podemos especificar la resta mediante el siguienteenunciado:

 

R3 — Rl + R2 + 1

 

R2 es el símbolo para el complemento a 1 de R2. Sumar 1 al complemento a 1,produce el complemento a 2. Sumar el contenido de Rl al complemento a 2 deR2, es equivalente a Rl -R2.

Las microoperaciones de incremento y decremento se representan mediantelas operaciones más-uno y menos-uno, respectivamente. Estasmicrooperaciones se implantan con un circuito combinaciónal o con uncontador binario descendente.

 

Las operaciones aritméticas de multiplicar y dividir. Estas dos son operacionesaritméticas válidas, pero no se incluyen en el conjunto básico demicrooperaciones. El único lugar donde estas operaciones pueden considerarsecomo microoperaciones es en un sistema digital, donde se ejecutan medianteun circuito combinatorio.

En tal caso, las señales que realizan estas operaciones se propagan por lascompuertas y el resultado de la operación se puede transferir a un registrodestino mediante un pulso de reloj, tan pronto como la señal de salida sepropaga por el circuito combinatorio. En la mayoría de las computadoras, laoperación de multiplicación se efectúa con una secuencia de microoperacionesde suma y de corrimiento. La división se ejecuta con una secuencia demicrooperaciones de resta y de corrimiento. Para especificar el hardware en un

Page 9: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 9/135

 

caso así, se necesita una lista de enunciados que utilicen las microoperacionesbásicas de suma, resta y corrimiento.

 

1.4 Microoperaciones lógicas

 

Las rnicrooperaciones lógicas especifican operaciones binarias para arreglos debits almacenados en registros. Estas operaciones consideran cada bit deregistro en forma separada y los tratan corno variables binarias. Por ejemplo, lamicrooperación OR-exclusiva con el contenido de dos registros Rl y R2 serepresenta mediante el enunciado

 

P: R1<—R1eR2

 

Específica que se va a ejecutar una microoperación lógica en los bitsindividuales de los registros, siempre que la variable de control P = 1. Como unejemplo numérico considere que cada registro tiene 4 bits. Sea el contenido de

Rl 1010 y el contenido de R2 1100. La microoperación OR-exclusivamencionada antes representa la operación lógica:

1010 Contenido de Rl

1100 Contenido de R2

0110 Contenido de Rl después de P = 1

Page 10: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 10/135

 

El contenido de Rl, después de la ejecución de la microoperación, es igual a laoperación OR-exclusiva bit a bit sobre pares de bits en R2 y valores previos deRl. Las microoperaciones lógicas se usan rara vez en cómputos científicos, peroson muy útiles para manipulación de bits de datos binarios y para tomardecisiones lógicas.

 

Se adoptarán símbolos especiales para las microoperaciones lógicas OR, AND ycomplementar, para diferenciarlas de los símbolos correspondientes que se

utilizan para expresar funciones booleanas. Se usará el símbolo V para denotaruna microoperación OR y el símbolo A para denotar una microoperación AND.La microoperación complementar es la misma que el complemento a 1 y utilizauna barra en la parte superior del símbolo que denota el nombre del registro.Al usar símbolos diferentes, será posible diferenciar una operación lógica y unafunción de control (o booleana). Otra razón para adoptar dos conjuntos desímbolos es la posibilidad de distinguir el símbolo + , cuando se usa pararepresentar un más aritmético, de una operación OR lógica. Aunque el símbolo+ tiene dos significados, será posible distinguirlos al identificar dónde ocurre elsímbolo. Cuando aparezca en una microoperación significará un másaritmético. Cuando ocurra en una función de control (o booleana), denotaráuna operación OR. Nunca la usaremos para representar una microoperaciónOR. Por ejemplo, en el enunciado:

 

P+Q: Rl~—R2+R3, R4~—R5VR6

 

el símbolo + entre P y Q es una operación OR entre dos variables binarias deuna función de control. El símbolo + entre R2 y R3 específica unamicrooperación de suma. La microoperación OR está representada por elsímbolo entre los registros R5 y R6.

Page 11: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 11/135

 

 

Lista de microoperaciones lógicas.

Existen 16 operaciones lógicas diferentes que pueden ejecutarse con dosvariables binarias.

Las 16 funciones booleanas de dos variables x y y se expresan en formaalgebraica en la primera columna. Las 16 microoperaciones lógicas se derivan

de estas funciones al sustituir la variable x por el contenido binario del registroA y la variable y por el contenido binario del registro B. Es importantecomprender que las funciones booleanas listadas en la primera columnarepresentan una relación entre dos variables binarias x y y. Lasmicrooperaciones lógicas listadas en la segunda columna representan unarelación entre el contenido binario de dos registros A y B. Cada bit del registrose trata como una variable binaria y la microoperación se ejecuta en la serie debits almacenados en el registro.

 

LDA: Cargar a AC

 

Esta instrucción transfiere la palabra de memoria especificada por la direcciónefectiva a AC. Las microoperaciones necesarias para ejecutar esta instrucciónson:

 

Page 12: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 12/135

 

D2T4:DR—M[AR]

D2T5:AC—DR,SC—O

 

Al revisar el canal del sistema de bus notamos que no hay una trayectoriadirecta desde el bus hasta AC. El circuito sumador y lógico recibe informaciónde DR la cual puede transferirse a AC. Por lo tanto, primero es necesario llevarla palabra de memoria a DR y después transferir el contenido de DR a AC. La

razón para no conectar el bus a las entradas de AC es el retraso que seencuentra en el circuito sumador y lógico. Se considera que el tiempo quetoma leer en la memoria y transferir la palabra a través del bus y el circuitosumador y lógico es mayor que el tiempo de un ciclo de reloj. Al no conectar elbus a las entradas de AC podemos mantener un ciclo de reloj pormicrooperación.

 

STA: Almacenar AC

 

Esta instrucción almacena el contenido de AC en la palabra de memoriaespecificada por la dirección efectiva. Como la salida de AC se aplica al bus y laentrada de datos de la memoria está conectada al bus, podemos ejecutar estainstrucción con una microoperación:

 

Page 13: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 13/135

 

D3T4:M[AR]<—AC,SC<—O

 

BUN: Brinco incondicional.

 

Esta instrucción transfiere el control del programa a la instrucción especificadapor dirección efectiva. Debe recordarse que PC contiene la instrucción de ladirección que se va a leer de la memoria en el siguiente ciclo de instrucción. PCse incrementa en el tiempo S1 para prepararlo para la dirección de la siguienteinstrucción en la secuencia del programa. La instrucción BUN permite que elprogramador especifique una instrucción fuera de secuencia y se dice que elprograma se brinca de manera incondicional. Esta instrucción se ejecuta conuna microoperación:

 

D4T4:PC-AR,SC—O

 

La dirección efectiva de AR se transfiere por el bus común al PC. Al restablecerSC a O se transfiere el control a t0. Después se busca y se ejecuta la siguienteinstrucción de la dirección de memoria proporcionada por el nuevo valor en PC.

BSA: Brincar y guardar la dirección de retorno.

Page 14: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 14/135

 

 

Esta instrucción es útil para brincar hacia una porción del programa llamadasubrutina o procedimiento. Cuando se ejecuta, la instrucción BSA almacena ladirección de la siguiente instrucción en secuencia (la cual está disponible enPC) dentro de una posición de la memoria especificada por la direcciónefectiva. La dirección efectiva más uno se transfiere después a PC para servircomo la dirección de la primera instrucción en la subrutina. Esta operación seespecificó con la siguiente transferencia de registro:

 

M[AR] <—PC, PC<—AR+1

 

Un ejemplo numérico que muestra cómo se usa esta instrucción con unasubrutina. Se considera que la instrucción BSA está en la memoria en ladirección 20. El bit 1 es O y la parte de la dirección de la instrucción tiene elequivalente binario de 135. Después de las fases de búsqueda ydecodificación, PC contiene 21, que es la dirección de la siguiente instrucciónen el programa (denominada dirección de retorno). AR contiene la direcciónefectiva 135. Esto se muestra en la parte (a) de la figura. La instrucción BSAejecuta la siguiente operación numérica:

 

M[135] <--21, PC—135+1=136

 

Page 15: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 15/135

 

El resultado de esta operación se muestra en la parte (b) de la figura. Ladirección de retomo 21 se almacena en la localidad de memoria 135 y elcontrol continúa con el programa de subrutina que comienza desde la dirección136. El regreso al programa original (y la dirección 21) se consigue mediante

una instrucción BUN indirecta, colocada al final de la subrutina.

Cuando se ejecuta esta instrucción el control regresa a la fase indirecta paraleer la dirección efectiva en la localidad 135, donde encuentra la dirección 21que se guardó antes. Cuando se ejecuta la instrucción BUN, la direcciónefectiva 21 se transfiere a PC. El siguiente ciclo de la instrucción encuentra PCcon el valor 21, por lo que el control sigue ejecutando la instrucción en ladirección de retorno.

 

Por lo general, la instrucción BSA ejecuta la función que se denomina llamada asubrutina. La instrucción BUN indirecta al final de la subrutina ejecuta lafunción que se denomina retomo de la subrutina. En la mayoría de lascomputadoras comerciales, la dirección de retorno asociada con una subrutinase almacena en un registro de procesador o en una porción de la memoriallamada pila (stack). Esto se analiza más adelante con mayor detalle.

 

No es posible ejecutar la operación de la instrucción BSA en un ciclo de relojcuando se utiliza el bus del sistema de la computadora básica. Para usar enforma adecuada la memoria y el bus, la instrucción BSA debe ejecutarse conuna secuencia de dos microoperaciones:

 

D5T4: M[AR<—PC,AR<—AR+1

Page 16: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 16/135

 

D5T5: P<AR,SC<— O

 

La señal de temporización t4 inicia una operación de escribir en memoria,coloca el contenido del PC dentro del bus, y habilita la entrada INR de AR. Laoperación de escribir en memoria se completa y AR se incrementa cuandoocurre la siguiente transición de reloj. El bus se utiliza en t5 para transferir elcontenido de AR a PC.

 

ISZ: Incrementa y brinca si es cero.

 

Esta instrucción incrementa la palabra especificada por la dirección efectiva y,si el valor incrementado es igual a O, PC se incrementa en 1. El programadorpor lo general almacena un número negativo (en complemento a 2) en lapalabra de memoria. Como este valor negativo se incrementa una y otra vezen uno, eventualmente alcanza el valor de cero. En ese momento, PC seincrementa en uno para saltar la siguiente instrucción en el programa.

 

Como no es posible incrementar una palabra dentro de la memoria, esnecesario leer la palabra dentro de DR, incrementar DR y almacenar otra vez lapalabra en la memoria. Esto se hace con la siguiente secuencia demicrooperaciones:

Page 17: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 17/135

 

 

D6T4: DR <— M[AR]

D6T5: DR—DR+1

D6T6: M[AR] <— DR, si (DR = 0) entonces (PC <— P1),SC<O

 

1.5 Microoperaciones de Corrimiento

 

Las microoperaciones de corrimiento se usan para la transferencia serial dedatos. También se utilizan junto con operaciones aritméticas, lógicas y deprocesamiento de datos. El contenido de un registro puede correrse a laizquierda o a la derecha. Al mismo tiempo que se recorren los bits, el primerflip-flop recibe su información binaria de la entrada serial. Durante unaoperación de corrimiento a la izquierda la entrada serial recorre un bit a laposición de la extrema derecha. Durante una operación de corrimiento a laderecha la entrada serial transfiere un bit a la posición de la extrema izquierda.La información transferida mediante la entrada serial determina el tipo decorrimiento. Existen tres tipos de corrimientos: lógico, circular y aritmético.

Un corrimiento lógico es aquel que transfiere un O por la entrada serial.Adoptaremos los símbolos por sus siglas en inglés, shl y shr para lasmicrooperaciones de corrimiento lógico a la izquierda y corrimiento lógico a laderecha. Por ejemplo:

Page 18: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 18/135

 

 

Rl <—shl Rl

R2<—shr R2

 

son dos operaciones que especifican un corrimiento de un bit a la izquierda del

contenido del registro Rl y un corrimiento de un bit a la derecha del contenidodel registro R2. El símbolo de registro debe ser igual en ambos lados de laflecha. El bit transferido a la posición extrema por la entrada serial seconsidera que es O durante un corrimiento lógico.

El corrimiento circular (también conocido como operación de rotación) hacecircular los bits del registro por los dos extremos sin pérdida de información.Esto se consigue al conectar la salida serial del registro de corrimiento a suentrada serial. Utilizaremos los símbolos cii y cir para el corrimiento circular a

la izquierda y para el corrimiento circular a la derecha, respectivamente. Lanotación simbólica para las microoperaciones de corrimiento.

 

 TABLA Microoperaciones de desplazamiento

Representación simbólica Descripción:

R <—shl R Corrmiento a la izquierda del registro R

R <— shr R Corrimiento a la derecha del registro R

Page 19: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 19/135

 

R —ci1 R Corrimiento circular a la izquierda del registro R

R <—cir R Corrimiento circular a la derecha del registro R

R — ashl R Corrimiento aritmético a la izquierda de R

R —ashr R Corrimiento aritmético a la derecha d R

 

Un corrimiento aritmético es una microoperación que recorre un númerobinario con signo a la derecha o a la izquierda. Un corrimiento aritmético a laizquierda multiplica un número binario con signo por 2. Un corrimientoaritmético a la derecha divide el número entre 2. Los corrimientos aritméticosdeben dejar el bit del signo sin modificaciones porque el signo del númerosigue siendo el mismo cuando se multiplica o divide por 2. El bit de la extrema

izquierda en el registro contiene el bit de signo y los bits restantes contienen elnúmero. El bit de signo es O para los números positivos y 1 para los negativos.Los números negativos están en su forma de complemento a 2.

 

Se muestra un registro típico de n bits. El bit R --1 de la posición extremaizquierda contiene el bit de signo. R2 es el bit más significativo del número y es

el bit menos significativo. El corrimiento aritmético a la derecha no modifica elsigno y recorre el número (incluyendo el bit de signo) a la derecha. Por lo tantoR - i queda igual, R - 2 recibe el bit de RS1, y así sucesivamente para los otrosbits en el registro. El bit en se pierde.

El corrimiento aritmético a la izquierda inserta un O en R0 y recorre todos losotros bits a la izquierda. El bit inicial R~1 se pierde y se sustituye con el bit de

Page 20: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 20/135

 

R – 2. El signo se invierte si el bit en R1 cambia su valor después delcorrimiento. Esto sucede si la multiplicación por 2 provoca un sobreflujo.Ocurre un sobreflujo después de un corrimiento aritmético a la izquierda si, alinicio, antes del corrimiento, R,,1 no es igual a - 2• Puede usarse un flip-flop V.

de sobreflujo para detectar un sobreflujo en un corrimiento a la izquierdaaritmético.

Si V, = O, no hay sobreflujo, pero si V, = 1, hay un sobreflujo y una inversión designo después del corrimiento. V, debe transferirse dentro del flip-flop desobreflujo con el mismo pulso de reloj que ejecuta el corrimiento del registro.

 

1.6 Unidad de corrimiento lógico aritmético.

 

En lugar de tener registros individuales ejecutando las microoperaciones enforma directa, los sistemas computacionales emplean cierta cantidad deregistros de almacenamiento conectados a todas las unidades operacionalescomunes, la cual se denomina unidad aritmética-lógica, y se abrevia ALU(arithmetic logic unit).

Para ejecutar una microoperación, el contenido de los registros especificados

se coloca en las entradas de la ALU común. La ALU ejecuta una operación y elresultado se transfiere al registro destino. La ALU es un circuito combinatorio,por lo que toda la operación de transferencia de registros desde los registrosfuente por la ALU y hasta dentro del registro destino, puede ejecutarse duranteun período de un pulso de reloj. Las microoperaciones de corrimiento confrecuencia se ejecutan en una unidad separada, pero en ocasiones la unidad decorrimiento forma parte de la ALU general.

Page 21: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 21/135

 

Los circuitos aritméticos, lógicos y de corrimiento que se presentaron en lassecciones anteriores pueden combinarse en una ALU con variables de seleccióncomunes. Una etapa de una unidad de corrimiento aritmético-lógico. Elsubíndice i representa una etapa típica. Las entradas A y B se aplican a las

unidades aritméticas y lógicas. Se selecciona una microoperación particularcon las entradas S y So Un multiplexor 4 X 1 en la salida selecciona entre unasalida aritmética E y una salida lógica en H. Los datos en el multipiexor seseleccionan con entradas 53 y 2. Las otras dos entradas de datos al muitiplexorreciben entradas As1 para la operación de corrimiento a la derecha y A, + 1para la operación de corrimiento a la izquierda. Nótese que el diagramamuestra sólo una etapa típica. El circuito debe repetirse n veces para una ALUde n bits. El acarreo de salida C, +1 de una etapa aritmética dada debeconectarse al acarreo de entrada C, de la siguiente etapa en secuencia. Elacarreo de entrada a la primera etapa es el acarreo de entrada C, el cualproporciona una variable de selección para las operaciones aritmeticas.

 

 Tabla de función para una unidad de corrimiento lógica aritmética

Selección de la operación

S3 S2 S1 So Cen Operación Función

O O O O O F=A Transferir A

O O 0 0 1 F=A + 1 Incrementar A

O 0 0 1 0 F=A+B Sumar

O 0 0 1 1 F=A+B+1 Sumar con acarreo

Page 22: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 22/135

 

0 0 1 0 0 F=A + B Restar con préstamo

0 0 1 0 1 F=A+B+l Restar

O 0 1 1 0 F=A —1 Decrementar A

O 0 1 1 1 F=A TransferirA

O 1 0 0 x F=AB AND

0 1 0 1 x F=AVB OR

O 1 1 0 x F=AB XOR

0 1 1 1 X FA Complementar A

1 0 x x x F = shrA Corrimiento a la derecha adentro de F

1 1 x x x F=shlA Corrimiento a la izquierda adentro de F

 

El circuito cuya única etapa está especificada proporciona ocho operacionesaritméticas, cuatro operaciones lógicas, y dos operaciones de desplazamiento.Cada operación se selecciona con las cinco variables S3, S2, S1, S0 y Cen. Elacarreo de entrada Cen se utiliza para seleccionar sólo una operaciónaritmética.

Page 23: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 23/135

 

UNIDAD 2.

DISEÑO LÓGICO DE UN PROCESADOR.

2.1 Organización del procesador.

2.2 Unidad aritmética y lógica (ALU).

2.3 Registros.

2.4 Buses (canales).

LA ESTRUCTURA DE UN MICROCOMPUTADOR,

un microcomputador, aunque aparentemente es un aparato muy complejo , esuna máquina electrónica relativamente sencilla.

Esto se debe a que esta formado por varios bloques totalmente digitales yclaramente definidos, cada uno con una función especifico circuitos. Cadabloque a su vez esta formado por varios circuitos integrados fáciles deentender y manejar, la parte compleja esta dentro de los circuitos integrados,pero esto no le interesa al usuario, ya que este tan solo debe conocer la

configuración de los pines, su funcionamiento y programación.

Un computador digital esta formado por tres bloques funcionalmenteindependientes. Una unidad de entrada y salida, una CPU y una memoria.

A su vez, la unidad de entrada y salida se divide en un bloque de salida y unbloque de entrada. Del mismo modo, la CPU se divide en una unidad de controly una unidad aritmético-lógica (ALU), y la memoria en ROM y RAM,

obteniéndose seis bloques o unidades con funciones muy especifica.

Page 24: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 24/135

 

UNIDADDE

ENTRADA

 

UNIDADDE

SALIDA

 

UNIDADDE CONTROL

 

UNIDADARITMÉTICO

LOGICA

 

MEMORIARAM

 

MEMORIAROM

ESTRUCTURA GENERAL DE UN MICROCOMPUTADOR

 

UNIDAD DEENTRADA/SALIDA

MICROPROCESADOR O CPU

 

UNIDA DE MEMORIA

Page 25: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 25/135

 

 

Page 26: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 26/135

Page 27: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 27/135

 

☺ UNIDAD DE ENTRADA

Esta parte del circuito acepta o recibe información del mundo externo,procedente de un operador humano, un fenómeno físico (temperatura,

velocidad, etc.). El propósito de la unidad de entrada es llevar los datos delmundo externo hacia la unidad de memoria para su posterior procesamiento.

En los computadores para procesamiento de datos, los sistemas de entradamas usuales son un teclado, un mouse o ratón, una o varias unidades de discoflexible, una unidad de disco duro, un modem, un lápiz óptico y un micrófono,entre otros.

En los computadores utilizados para control, las unidades de entrada songeneralmente trasductores que censan fenómenos físicos como temperatura ,presión, peso, caudal, movimiento, posición, luz , sonido, etc. Las señalesanálogas de voltaje o de corriente producidas por estos censores se llevan alcomputador por medio de uno o varios convertidores A/D (análogo-digital).

☺ UNIDADES DE SALIDA

La misión de esta parte del circuito, es entregar los resultados de lainformación binaria, ya procesada por el computador, al mundo exterior.

Esta información se lleva desde la memoria o desde la unidad central deproceso (CPU) hacia circuitos o aparatos llamados periféricos que seencuentran fuera del computador.

En los componentes para procesamiento de datos, las unidades de salida masusuales son las impresoras, las pantallas o monitores de video, las unidades dedisco flexible y de disco duro, los módems para comunicaciones por redestelefónicas, lo protters o graficadores, los parlantes, etc.

Page 28: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 28/135

 

En los computadores para control, las señales digitales salen al mundo exteriora través de una o varias unidades de salida. Entre las mas comunes tenemoslas tarjetas de interfase que tiene reles, transistores bipolares, MOSFET de

potencia, SCRs.

Estos, a su vez, activan motores de corriente continua o servomotores paso apaso, actuadores mecánicos o hidráulicos, etc.

 También se encuentran como unidades de salida tarjetas como convertidoresD/A (Digitales-Análogos).

☺ UNIDAD DE MEMORIA

La función de la unidad de memoria consiste en almacenar programas y datosy es una de las mas importantes en un computador. Se distinguen dossistemas diferentes de memoria: la de almacenamiento primario y la dealmacenamiento secundario. La primera se denomina también memoriaprincipal y la secundaria memoria auxiliar.

- Memoria de Almacenamiento Principal

Formada por circuitos integrados de memoria donde se almacenan losprogramas que se van a ejecutar y los datos que se necesitan durante laejecución de esos programas.

Hay tres tipos de memoria principal: ROM, RAM y Cache.

Memoria ROM o memoria de solo lectura: La información pregrabadaelectrónicamente en ella (programas o listas de instrucciones), solamentepueden ser leídas y no es posible alterar su contenido. En esta memoria se

Page 29: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 29/135

 

escribe el programa monitor o de arranque del computador , los que permitenque ejecute las acciones necesarias para poder iniciar un trabajo.

Cuando encendemos un computador, se activa generalmente la pantalla y una

unidad de disco (flexible o duro), permitiendo el montaje de una parte delsistema operativo en la memoria RAM para continuar con la ejecución de unprograma.

Memoria RAM o memoria de lectura y escritura: en este tipo de memoriase puede almacenar información para ser utilizada posteriormente y, si esnecesario, se puede alterar o cambiar en cualquier momento. En la memoriaRAM se almacenan los programas y los datos que estoa van originando. Suactividad es muy intensa, ya que recibe y entrega millones de bits (1 y 0) por

segundo a todos los bloques del computador.

Memoria Cache: Es una memoria RAM con tiempo de “acceso” muy rápidodonde se mantienen los datos mas utilizados durante la ejecución de losprogramas. El objetivo de esta memoria , en la arquitectura de uncomputador , es acelerar la velocidad de procesamiento de la información.

 – 

MEMORIA DE ALMACENAMIENTO SECUNDARIO

Este sistema de almacenamiento, también llamado memoria auxiliar, se utilizapara guardar grandes cantidades de datos que no se requieren con frecuenciaen la memoria principal durante la operación del computador.

Hay varios sistemas de almacenamiento secundarios: floppis, discos duros,discos ópticos etc.

UNIDAD CENTRAL DE PROCESAMIENTO (CPU)

En la terminología de computadores se denomina como CPU (CentralProcessing Unit)o Unidad Central de Procesamiento, a la unidad que reúne la

Page 30: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 30/135

 

unidad de control y la unidad aritmético-lógica en un solo bloque. Esta unidadtambién se conoce como ALU (Arihmetic Logic Unit).

La CPU se encuentra en forma de integrado llamado microprocesador.

UNIDAD DE CONTROL

La unidad de control se encarga de la interpretación y ejecución de lasinstrucciones del programa. también controla todos los componentes de uncomputador por medio de líneas de conexión llamadas buses.

Esta unidad es el elemento central de toda la maquina y se encarga de enviarseñales de coordinación a todas las demás unidades.

UNIDAD ARITMETICO-LOGICA (ALU)

Esta unidad esta encargada de realizar las operaciones lógicas y aritméticasusando como base la operación de suma y la notación del complemento dedos.

Por ejemplo, si se desea sumar dos números almacenados en dos posicionesde memoria, estos se deben traer a la unidad aritmética donde se lleva a cavola operación. El resultado se almacena nuevamente en un posición dememoria.

Las principales operaciones aritméticas realizadas en la ALU son suma, la restay complemento a dos. Las principales operaciones lógicas son la AND, la OR, laNOT, la OR, la EXOR y la comparación.

Page 31: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 31/135

 

también realiza esta unidad operaciones con los registros internos comodesplazamiento, rotación y traslado de información digital.

BUSES

Un bus es un conjunto de líneas que llevan o traen señales digitales de uncircuito a otro.

Las líneas y el sentido de las flechas indican las rutas existentes entre las seisunidades para el intercambio mutuo de información. Entre los sistemas demicrocomputadores existen generalmente tres buses; dirección, datos y

control.

La unidad de control utiliza el bus de dirección para determinar pordecodificación, la posición de memoria o dispositivo de entra y salida queparticipa en una transferencia de información en un momento dado. Él numerode líneas del bus de dirección determina la capacidad de memoria del sistemay el numero de dispositivos de entrada/salida con los cuales puedecomunicarse.

Una vez que la unidad de control ha seleccionado el dispositivo con el cualquiere efectuara una transferencia de información. Utiliza el bus de datos paratransportar dicha información. Así, por medio de este bus, el microprocesadorpuede enviar o recibir datos de la memoria y también enviar o recibir señalesdel mundo exterior a través de las unidades de entrada y salida.

El número de líneas del bus de datos determina lo que se denomina “ancho”de la palabra de trabajo de la unidad de procesamiento central o CPU. Son

típicas longitudes de palabra de 4, 8, 16, 32, 64 bits.

El bus de control trasporta la señal que necesita la unidad de control paracoordinar y sincronizar el funcionamiento de todos los elementos delcomputador.

Page 32: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 32/135

 

El numero de líneas del bus de control varia según el tipo de CPU omicroprocesador que se utilice.

Utilidades de un microprocesador

El microprocesador incorpora en su arquitectura dos elementos lógicos

necesarios para realizar las funciones y puede se programado para realizar unagran variedad de tareas modificando únicamente una secuencia de palabrasbinarias (instrucciones) almacenada en uno de los elementos de memoria.

Aunque los microprocesadores fueron diseñados originalmente para seutilizados como unidades centrales de procesamiento en computadores, y estacontinua siendo su aplicación mas importante, la disponibilidad deprocesadores de bajo costo permite utilizarlos en una gran variedad de tareasigualmente importantes, limitadas únicamente por la imaginación. Lossiguientes son algunos ejemplos.

•  Juegos electrónicos

• Semaforización electrónica.

• Sistemas telefónicos

• Equipos fonográficos

Page 33: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 33/135

 

• Robots

•  Termómetros Inteligentes

• Sistemas de Seguridad

• Instrumentos electrónicos

• Calculadoras de bolsillo

•  Terminales POS (puntos de venta.)

• Equipos de control Industrial

• Aparatos domésticos.

• Equipos de oficina.

Equipos médicos.En general, los sistemas basados en microprocesadores de pueden clasificar endos categorías: (a) los orientados a computación y (b) los orientados a control.

 APLICACIONES GENERALES DE LOS

MICROPROCESADORES

En el caso de un sistema de computo, la función del microprocesador esproducir unos datos de salida que dependen funcionalmente de unos datos deentrada. De otro lado, en un sistema de control, el objetivo delmicroprocesador es mantener dentro de ciertos limites de funcionamientoespecíficos algún otro sistema sujeto a perturbaciones (físicas, biológicas,etc.)que tienden a llevarlo fuera de un rango de funcionamiento admitido comoaceptable.

Page 34: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 34/135

 

SISTEMA CONMICROPROCESADOR

 

SISTEMA CONMICROPROCESADOR

 

SISTEMA A SERCONTROLADO

SALIDA F(X)ENTRADA X

 

D’: Datos deperturbacióna) computaciónDEB) ControlE: Señalesdecorrección

PerturbaciónD

Page 35: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 35/135

 

El sistema bajo control suministra al sistema microprocesador ciertos datosque reflejan la naturaleza de la perturbación. En muchos casos, las funcionesde computo y control están íntimamente relacionadas.

Uno de los mayores mercados de los microprocesadores lo constituyen,actualmente, los juegos y juguetes electrónicos. Los microprocesadores se hanincorporado también en dispositivos domésticos como hornos, lavadoras,sistemas de aire acondicionado, televisores, alarmas antirrobos etc.

Cada vez más, la industria del automóvil recurre a los microprocesadores parael control de su maquinaria. En el automóvil, los microprocesadores supervisanlos sistemas eléctricos y de refrigeración, determinan la mezcla optima degasolina y aire en el carburador, fijan el ritmo de encendido de la chispa paraobtener el máximo rendimiento del combustible y minimiza la emisión degases.

La disponibilidad de computadores de propósito general y de bajo costopermiten a pequeñas empresas automotoras automatizar el inventario, lafacturación y otras operaciones administrativas similares, así como procesar ycorregir textos, cartas, informes, etc.

Page 36: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 36/135

 

Con la introducción de los llamados terminales POS (Point-Of-Sale: punto deventa) y la adopción del codigo de barras, los microprocesadores hansustituido también las traciones cajas registradoras electrónicas utilizadas eenlos establecimientos comerciales, permitiendo mantener actualizados losregistros de ventas, reordenar automáticamente las necesidades de

mercancías, controlar los flujos de dinero en las cajas, etc.

La automatización inducida por los microprocesadores en bancos einstituciones financieras de crédito permite a los clientes realizar sustransacciones desde un cajero electrónico.

En las fabricas, los microprocesadores se han incorporado en muchasmaquinas-herramientas como lo son lo CNC, en sistemas de control de

procesamientos, utilización de robots en la industria.

Actualmente, es muy común el uso de microprocesadores en instrumentos demedida, sistemas de navegación, aparatos médicos, equipos de comunicación,procesamiento de imagen y sonido.

también han optimizado la guerra, permitiendo desarrollar mísiles guiados,

satélites espías y los sistemas de seguridad.

Reseña histórica del microprocesador

 

1970 es la fecha de la invención del microprocesador, siendo uno de losadelantos tecnológicos mas importantes, revolucionando todos los campo de laactividad humana

Con el microprocesador ha evolucionado el mundo de la electrónica y de loscomputadores, la cual hasta el presente ha venido evolucionan do a una granvelocidad. Nadie en 1970 se imagino el impacto tan grande que causaría esteinvento.

Page 37: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 37/135

 

Ninguna herramienta anterior desarrollada por el hombre había dado tantopoder como para crear otras y acelerar su evolución en todos los campos.

La senda la abrió el inventos del tubo de vació por Lee DE Forres a

comienzos del siglo. Este dispositivo hizo posible el desarrollo comercial eindustrial de la electrónica, gracias a que este invento hizo posible lacreación de la radio, la telegrafía inalámbrica etc.

Luego vino la revolución de transistor, desarrollado en los laboratorios de laBell Telephone en 1948 y utilizado a partir de 1950 a escala industrial consu inclusión en la fabricación de radios, televisores, en la industria militaretc.

De los tres inventores del transistor (W Brattain, W. Shockley y J. Bardeen);Shockley fue el que se dedico a desarrollar metodos de fabricación en seriede este dispositivo, en su empresa Shockley Semiconductor Laboratoriesdando nacimiento a una nueva era en la industria electrónica y a laubicación de esta tecnología en el sitio de California cercano a SanFrancisco que mas tarde se llamo Silicon Valley o valle de silicon.

Es esta compañía se iniciarían los científicos e ingenieros que mas tardeformarían sus propias empresa.

Entre las razones de los ingenieros y científicos para retirarse de la empresade Shockey era su insistencia por trabajar con el germanio mientras sehabía demostrado que el silicio presentaba mejores características para lafabricación de transistores.

El microprocesador es el máximo exponente de la etapa siguiente altransistor: la tecnología de los circuitos integrados. El concepto de circuitosintegrados comenzó a rondar por la mente de quines trabajaban en lafabricación de transistores. El planteamiento es mas o menos el siguiente.

Page 38: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 38/135

 

Si se fabrican transistores separados y luego se tiene que unir siempre de lamisma forma entre si con alambres y otros componentes como resistencias,condensadores y diodos ¿Por que no fabricar de una vez todo el conjunto demateriales contutores y aislantes, interconectados internamente paracumplir la misma función del sistema total?.

Este planteamiento fue desarrollado en la practica por dos empresas, enforma independiente Fairchild Semiconductor dirigiendo su equipo detrabajo Roberth Noyce y Texas Instrument dirigiendo su equipo de trabo Jack Kilby.

Los primeros circuitos integrados salieron al mercado en el año de 1959 y aun precio de 450 dólares. Solamente incluí 4 transistores y varias

resistencias.

La explosión de los circuitos integrado desde 1960 hasta la fecha hadesarrollado la ciencia y especialmente la electrónica, que inicialmente estadedicado a trabajar funciones lógicas sencillas como compuertas, flip-flops,contadores etc.

Luego se trabajo en el campo análogo o lineal con los amplificadoresoperacionales integrados, circuitos de audio o sonido, los temporizadoresetc.

Sobre el invento existe un gran polémica en cuanto a la patente. Esta tuvoque ser otorgada compartidamente y después de 20 años fue adjudicada Texas Instruments.

Noyce renuncio en 1968 de Fairchild y fundo en compañía de Gordon Moorey Andrew Glove y con respaldo económico de Arthur Rock, la empresa Inteldonde se dieron los primeros pasos pare le invento del microprocesador .

Las investigaciones de Intel se orientaron hacia el lado de loscomputadores, buscando la manera de reemplazar los circuitos de memoria

Page 39: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 39/135

 

magnéticos con núcleo de ferrita por circuitos de memoria basados ensemiconductores.

El cual consistía en un simple flip-flop como elemento de memoria. Así se

cero el primer circuito de memoria tipo Ram llamado 1103 con unacapacidad de 1024 bits.

Facilitando la construcción de computadores mas pequeños que lo IBM 360.

El diseño del microprocesador se inicio en Intel bajo el grupo de trabajodirigido por Ted Hoff. Todo empezó cuando Intel firmo un contrato con la

empresa japonesa Busicom Corporation para fabricar un conjunto decircuitos integrados que reemplazaran la gran cantidad de componente quetenían las calculadoras.

Después de largo trabajo se logro reemplazar todos los componentes portres chips , pero resultaron ser de mayor tamaño según los requerimiento. AHoff se le ocurrió que se debería agrupar toda la parte de procesoaritmético y lógico en un solo circuito y el resto de la calculadora en losotros dos circuitos.

A este circuito, de 2250 elementos integrados en un área de 3x4milímetros, se le llamo microprocesador. También se leído el nombre deCPU (Cental Processing Unit) o MPU (Micro Processing Unit).

El primer microprocesador en un solo chip fabricado como tal fue el 4004era un chip muy sencillo que manipulaba datos de 4 bits.

Intel desarrollo en 1972, el 8008, el cual podía procesar datos de 8 bits,este fue otro gran acontecimiento de la historia de los microprocesadoressin embargo el 8008 operaba con demasiada lentitud.

Posteriormente Intel creo un sustituto del 8008 que fue el 8085 confunciones adicionales y menos chips.

Page 40: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 40/135

 

Un equipo de diseñadores que había trabajado para Intel en el 8080conforman la empresa Zilog Inc. Y construyo el microprocesador Z80, queera compatible con el 8080, ha sido y continua siendo uno de los mas

utilizados en el campo de control.

Por la misma época en que Intel lanzaba el 8080, Motorola desarrollo el6800 un microprocesador de 8 bits. Motorola perfecciono el 6800 con el680, considerado como uno de lo9s mejores procesadores de 8 bits detodas las épocas.

El 6809 no tuvo el éxito comercial que se esperaba pero si el 6502 derivado

del 6800 pero fabricado por la compañía MOS Technology, con esteprocesador se fabricaron los primeros computadores personales con el PETde Commodore y el Apple II de Apple Computer Inc.

Comenzó así la guerra técnica y comercial entre estas dos empresa.

A principios de la década de los 80’s aparecieron los microprocesadores de16 bits, el primero el salir fue el 8086 de Inte, el cual fue adoptado por IBM ,

para la fabricación de su famoso IBM PC. Lo siguió de cerca el 68000 deMotorola que contiene registros internos de 32 bits, un bus de datos de 16bits y un bus de dirección de 24 bits.

Con este ultimo microprocesador se inicio en Apple un nueva familia demicrocomputadores: la Macintosh.

Intel desarrollo el 8088utilizado en el IBM AT, el 80286 para el IBM AT,también crea 80386, el 80486.

Los procesadores de Intel permiten la creación de clones.

Page 41: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 41/135

 

Motorola ha desarrollado el 68020, el 68030 y el 68040 este ultimo permitióla creacio9n de la Workstation o estaciones de trabajo caracterizadas por sualta capacidad de memoria, gran velocidad en los procesos 0

Descripción del microprocesador ideal.

Debe ser un dispositivo digital que acepte o leer datos aplicados a un ciertonumero de líneas de entrada (N) los procesa de acuerdo a las instruccionessecuenciales de un programa almacenado en la memoria y suministra o

escribe los resultados del proceso en un cierto numero de salidas (M)

Page 42: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 42/135

 

 programa

 

123

.

.

.

.

N

 

1

2

3

.

.

.

.

M

Page 43: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 43/135

 

EL MICROPROCESADOR IDEAL ES UN DISPOSITIVO CON (N) LINEAS DE ENTREA,

(M) LINEAS DE SALIDA

Y UN PROGRAMA ALMACENADO

Los datos de entrada pueden provenir de interruptores, censores,convertidores A/D, teclado etc. Los datos de salida pueden estar dirigidos aactuadores, displayes, pantalla, convertidores D/A, impresoras, alarmas etc. Elprograma almacenado determina como deben ser procesado los datos deentrada, y en consecuencia, que información enviarse a las líneas de salida.

El soporte físico de las instrucciones del programa es una memoria, la cualalmacena los datos que procesa y obtiene la máquina, pues la líneas de salida

de un microprocesador dependen no solamente del programa sino también dela historia de las señales entradas hasta el momento.

El microprocesador ideal debe tener una memoria interna ilimitada.

Funcionamiento de los buses en un microprocesador

Externamente, el dispositivo cuenta con un bus de datos, un bus de direccionesy un bus control, además de estos el microprocesador debe contar también conun bus de alimentación.

Page 44: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 44/135

 

Microprocesador

 

BUS DEDIRECCIÓN

 

BUS DEDATOS

 

ENTRADAS DECONTROL

 

SALIDAS DE CONTROL

 

FUENTE DE ALIMENTACION

BUSDECON

 TROL

Page 45: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 45/135

 

MICROPROCESADOR GENERALIZADO

Las líneas de los buses de un microprocesador transportan voltaje querepresentan números binarios (1’ s y 0’ s). El microprocesador, los puertos deentrada/salida y la memoria responden únicamente a esos números binarioscodificados electrónicamente. Cada microprocesador tiene su propia estructurade buses

 

Page 46: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 46/135

 

☺ El bus de datos. líneas bidireccionales

El bus de datos lleva datos e instrucciones hacia y desde el microprocesador.Las instrucciones proceden siempre de la memoria mientras que los datos queprocesa u obtiene el programa de instrucciones pueden provenir de o ir haciala memoria o los módulos de entrada/salida.

Generalmente, el numero de líneas de entrada es igual al numero de líneas desalida (N =M). Este numero define la longitud de la palabra de datos delmicroprocesador. Son comunes longitudes de palabras de 4, 8, 16, 32 y 64 bits.

El numero total de pines asignado en el circuito integrado al bus de datospuede reducirse si se utilizan los mismos puntos de conexión tanto para losdatos de entrada como los datos de salida, pero no para ambossimultáneamente.

Page 47: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 47/135

Page 48: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 48/135

 

MICROPROCESADORDE 8BITS

 

8 OUTD7-D0

 

8 IND7-D0 D0

D1

D2D3

D4

D5

D0

D1

D2D3

D4

D5

BLS

BUS DE

DATOS DE

MSB

BLS

BUS DE

DATOS DE

MSB

Page 49: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 49/135

 

El bus de datos así constituidos es bidireccional el sentido de que lainformación puede circular entrando o saliendo del microprocesador. La formade representar un bus de datos bidireccional para microprocesador de N bits seilustra a continuación

Page 50: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 50/135

 

Microprocesador

 

N

Page 51: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 51/135

 

REPRESENTACIÓN DE UN MICROPROCESADOR DE N BITS CON

UN BUS BIDIRECCIONAL DE DATOS

Un bus bidireccional puede constituirse con compuertas tri-state paracontrolar la dirección del flujo de información

Page 52: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 52/135

 

D3

D2

D1

D0

S1

S0

Page 53: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 53/135

 

MICROPROCESADOR DE 4 BITS CON BUS DE DATOS BIDIRECCIONAL

El microprocesador de 4 bits con un bus de datos bidireccional muestra laconfiguración de una línea de bus bidireccional. Las líneas de selección S1 y S0proceden del bus de control.

La transferencia de datos de entrada o salida desde hace o hacia el bus dedatos se realiza, respectivamente, con S1S0 = 10 y S1S0=01. las línea de buspuede habilitarse con S1S0=00 para impedir cualquier transferencia deinformación entre el bus de datos y el microprocesador.

Las líneas de selección pueden utilizarse para informar a los módulos externosque comparten el bus de datos el estado del bus bidireccional en un momentodad. Este es el propósito de las líneas marcadas DBOUT (Bus de datos en elmodo de salida), DBIN (bus de datos de modo entrada), HOLDA (bus de datos

en estado de alta impedancia.)

La información contenida en el bus de datos puede representarse numéricas,entre de varias formas: binaria, octal, y hexadecimal, principalmente, porejemplo, un microprocesador de 8 bits con el byte 10111011 en las líneas D7 aD0 de bus de datos, siendo D/ el bit mas significativo o SB y D0 el bit menossignificativo o LSB.

Page 54: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 54/135

 

Esta palabra de datos representada como un numero binario es simplemente10111011B o 101110112, representada como numero octal es 273Q ó 2788 ycomo un numero hexadecimal (la mas usual) es BBH ó BB16.los sufijos B, Q y H

y los subíndices 2,8 y 16 enfatizan el sistema numérico (binario, octal yhexadecimal) de cada representación.

A pesar de que el sistema hexadecimal proporciona una forma muy compactay concisa de expresar el contenido de un bus de datos, no podemos olvidarnoscompletamente de la representación binaria. Es una aplicación real esta ultimanos permite identificar fácilmente, por ejemplo, cual interruptor a de serabierto o cerrado en un momento dado para obtener una condición de entradaespecifica o cual lámpara a de ser energizada para tener un efecto de salidadeterminado.

EL BUS DE DIRECCIONES

El bus de direcciones contiene la información digital que envía elmicroprocesador a la memoria una unidad de entrada/salida o un registroparticular de la misma. l numero de líneas disponible en el bus de direcciones(n) determina el tamaño máximo de memoria que puede ser acomodado en el

sistema (2n

).

así por ejemplo, un microprocesador con bus de datos de 8 bits y un bus dedirecciones de 16 bits tal como el z-80 puede manejar directamente unamemoria de 216 = 65536 (igual 64 k) posiciones cada una conteniendo un byte(palabra de 8 bites).

Naturalmente, una vez seleccionada una posición de memoria, elmicroprocesador debe estar en capacidad tanto de almacenar información en

esa localización (operación de escritura) como extraerlas (operación delectura).

BUS DE CONTROL

Page 55: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 55/135

 

El bus de control contiene la información que envía el microprocesador a loselementos del sistema o bien recibe de estos con el propósito de sincronizar suoperación de la circuiteria externa el numero de líneas del bus de control esvariable y depende del microprocesador particular utilizado.

SEÑALES DE CONTROL TIPICAS DE UN

MICROPORCESADOR

 

Micro

procesador

CLK OUT

RESET OUT

INTP OUT

CLK IN

REST IN

 

Page 56: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 56/135

 

☺ CLK IN (Entrada de reloj), es usado por el microprocesador para generarpulsos de reloj y producir secuencias de tiempo y control para las funcionesinternas.

☺ CLK OUT (Salida de reloj) los pulsos de reloj son usados por módulosexternos para sincronizar sus operaciones con las operaciones delmicroprocesador.

☺ RESET IN (petición de reset) se utiliza para inicializar el microprocesador.

El termino RESET OUT (reconocimiento de reset) informal circuiteria externaque el microprocesador se encuentra en el estado reset.

☺ INTERRUPT OUT (reconocimiento de interrupción) informa a la circuiteriaexterna que la interrupción ha sido atendida. Una vez ejecutada la subrutina deinterrupción, el microprocesador retorna al programa previo.

☺ HOLD (terminal de petición de bus) se utiliza para suspender la operación

del microprocesador y llevarlos un estado llamado hold en el cual todos losbuses quedan en alta impedancia, incluyendo líneas de datos, de direcciones yde lectura / escritura.

☺ HOLDA (terminal petición de bus) informa que petición de hold ha sidoatendida.

☺ READ (lectura) y WRITE (escritura) informa al componente seleccionado

por el bus de direccionales la dirección de la transferencia esperada en el busde datos.

Las líneas READ (lectura) y WRITE (escritura) informan al componenteseleccionado por el bus de direcciones de transferencia esperada en el bus dedatos.

Page 57: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 57/135

 

Las señales de control reseñadas anteriormente constituyen un conjuntomínimo de funciones control para un microprocesador. Los nombres exactosasignados dependen del fabricante.

La mayoría de microprocesadores tienen características de control parafunciones adicionales, por ejemplo READY  (para sincronizar el procesadorcon memorias lentas.)

UNIDAD 3.

DISEÑO DE LA LÓGICA DE CONTROL.

3.1 Organización del control.

3.2 Control alambrado (Hard Wired).

3.3 Control microprogramado.

3.4 Control con P.L.A. (Program Logic Array).

IntroducciónU n p r o c e s o d e d i s e ñ o l ó g i c o e s u n a t a r e a m u y c o m p l e j a ,d e b i d o a e s o s e h a implementado el desarrol lo de una gran variedad detécnicas en relación con el diseño delcomputador con el fin de facilitar los procesosde diseño. Sin embargo para el desarrollo delos procedimientos algorítmicos este nofunciona debido a que para este se tiene que utilizar el razonamiento mental de ldiseñador humano. La parte mas difícil del diseño es en elmomento deestablecer los objetivos, además de la formulación de los algoritmos y losprocedimientos que se iran a utilizar para lograr los objetivos que ya planteados. Laformación binaria que se encuentre en un sistema digital es almacenada en unprocesador o en un registro de memoria y puede estar constituida por datos einformaciónd e c o n t r o l , e s t o s d a t o s s o n e l e m e n t o s

d i s c r e t o s q u e s o n m a n i p u l a d a s p o r l a s microoperaciones.Siendo un algoritmo un procedimiento para dar solución a un problemaespec i f i c o y una lgo r i t mo d i s eñado es pa ra c on f i gu ra r e l p rob lema c on una p iez ade l equipo.El diseño de un sistema digital requiere una secuencia de control que omienzacon lasuposición de la disponibilidad de variables de tiempo, este es diseñado como unavariablede secuencia por medio de un estado o una representación equivalentepara la transacciónentre estados. La secuencia de control y las relaciones detransferencia registros puedendeducirse directamente de la especificación enpalabras del problema, pero en algunasocasiones es conveniente utilizar una

Page 58: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 58/135

 

representación intermedia para describir la secuencianecesaria de operaciones delsistema.Un flujograma es una manera de expresar la secuencia de pasos deprocedimientos oinstrucciones y l a forma de tomar dec isión respecto unalgoritmo. Este en un algoritmodiseñado usa los nombres de las variables deregist ro definidos de la conf iguración inic ildel eq ui po , y est e co nsi ste enun diagrama de bloques conectados por medio de l íneasdirectas y dentro

de estos bloques encuentran las instrucciones para la configuración.Desarrollo

Diseño de Lógica de controlE l p r o c e s o d e l d i s e ñ o l ó g i c o e s u n a , t a r e a c o m p l e j a . M u c h a si n s t a l a c i o n e s desarrollan varias técnicas de diseño del computador automatizadopara facilitar el procesod e d i s e ñ o . S i n e m b a r g o l a s e s p e c i f i ca c i o n e sp a r a e l s i s t e m a y e l d e s a r r o l l o d e procedimientos algorítmicos para lograr las tareas requeridas de procesamiento de datos no pueden ser automatizados yrequieren un razonamiento mental para el diseñador.L a p a r t e d e m a y o r d e s a f í oy c r e a t i v i d a d d e l d i s e ñ o e s e l e s t a b l e c i m i e n t o d e objetivos de diseñoy la formulación de algoritmos y procesamientos para lograr objetivosenunciados. Estatarea requiere una cantidad considerable de experiencia e ingenuidad por parte deldiseñador.L a i n f o r m a c i ó n b i n a r i a e n c o n t r a d a e n u n s i s t e m ad i g i t a l s e a l m a c e n a e n u n procesador o regis tros de memor ia y puedesser constituida por dat os o información decont rol . Los datos son elementosdiscretos de información que se manipu lan por micro- operaciones.Latemporización de todos los registros en un sistema digital sincrónicos se maneja por medio de un generador de pulsos de reloj maestro.El diseño de un sistema digital querequiere una secuencia de control comienza conla suposición de la disponibilidad devariables de tiempoOrganización del controlUna vez que se haya establecido la secuencia de control se puede diseñar els is temasecuenc ia l que conf igura las operac iones de cont ro l . Como el

c on t ro l es un c i r c u i to secuencial, éste se puede diseñar por el procedimiento lógicosecuencial. Sin embargo, estemétodo es poco práctico en la mayoría de los casos debidoal gran número de estados que elci rc ui to de co nt ro l pu ed e te ne r. Lo smé to do s de di se ño qu e us an es ta do s y ta bl as de excitación pueden usarseen teoría pero en la práctica son engorrosos y difíciles de manejar.Además , loscircuitos de control obtenidos por este método requieren por lo generalun número excesivo de flip-flops y compuertas, lo cual implica el uso de compuertasSSI.El principal objetivo del di seño de lógica de control debe ser el desarrollode uncircuito que configure la secuencia de control deseada de una maneralógica y di recta. El es fu erz o de min imi zar e l núm ero de c i r cu i t ost en de rí a a p ro du ci r un a c on fi gu ra ci ón i r r e g u l a r , l o c u a l h a r í ad i f í c i l p a r a c u a l q u i e r p e r s o n a d i f e r e n t e a l d i s e ñ a d o r ,

e l r e c o n o c i m i e n t o d e l a s e c u e n c i a d e e v e n t o s p o r l o s c u a l e sp a s a e l c o n t r o l . C o m o consecuencia podría ser difícil dar servicio y mantener elequipo cuando está en operación.

Debido a las razones citadas anteriormente los diseñadores con experiencialógicausan métodos para el diseño de lógica de control que pueden ser considerados como unaextensión del método lógico secuencial clásico

Page 59: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 59/135

 

combinado con el método de trasferencia entre registros. En esta sección seconsideran cuatro métodos de organización de control.1. Mé todo de un flip-flop por estado:Es t e mé t odo us a un f l i p - f l op po r es t ado en e l c i r c u i t o s ec uenc ia l deco nt ro l. Solamente se pone a uno un flip-flop en un tiempo dado, los demásse ponen a cero . Se hace programar un solo bit de un flip-flop a otro bajo el control de

la lógica de decisión. Ental arreglo cada flip-flop representa un estado y se activasolamente cuando el bit de controlse trasfiere a éste.Este método no usa un númeromínimo de flip-flops para el circuito secuencial. Dehecho, éste usa un número máximo deflip-flops.La ventaja de un flip-flop por método de estado es la simplicidad conla cual se diseña. Este tipo de controlador puede diseñarse por inspección a partir de undiagrama deestado que describe la secuencia de control.La configuración de unalógica de control secuencial de cuatro estados, que usa cuatro flip-flops. Si elcircuito de control no necesita entradas externas para su cadencia, elcircuito se reduce aun circuito de desplazamiento simple con un solo bit que se desplaza deuna pos i c i óna l a s i gu ien t e . S i l a s ec uenc ia de c on t ro l debe r epe t i r s e una y o t rav ez , e l c o n t r o l s e r e d u c e a u n c o n t a d o r d e a n i l l o . U n c o n t a d o r  d e a n i l l o e s u n r e g i s t r o d e desplazamiento con la sal ida del Ú lt imo f lip-flop conectado a la entrada del primer flip- flop.2. Método del registro d e secuenciay el decodificador:Este método usa un registro para darle secuencia a los estados de control. El registrosedecodifica para suministrar una salida por cada estado. El circuito tendrá 2nestados y eldecodi ficado r 2nsalidas , para n flip- flops en e l registr o de secuencia. Por e jemplo un registro de4 bits puede estar en cualquiera de los 16 estados. Un decodificador 4x16 tendrá16s a l i das una pa ra c ada es t ado de l r eg i s t r o , t an t o e l r eg i s t r o defrecuencia como el decodificador con componentes MSI.

E l r eg i s t r o de f r ec uenc ia t i ene 2 f l i p - f l ops y e l dec od i f i c ado r  es t ab lece s a l i das separadas para cada uno de los registros, La transmisión alsiguiente estado del registro desecuencia es una función del estado presente y lascondiciones de entradas externas.3. Control PLA:E l P L A e s u n c o m p o n e n t e L S I q u e p u e d e c o n f i g u r a r  c u a l q u i e r c i r c u i t o c om bi na ci on a l c om pl ej o. E l c on tr ol d el P LA e ses enc ia lmen t e s im il a r a l r eg is t r o de secuencia y al método del decodificador excepto que todos los circuitos combinacionales seconfiguran con un PLA,incluyendo el decod ificador y la lógic a de decis ión. Es posible reducir el númerode CI y el número de alambres de interconexión, usando un PLA para elcircuitocombinacional.Un registro de secuencia externo establece el estado presente del circuitode control.Las salidas PLA determinan cuáles micro-operaciones deben iniciarsedependiendo de lascondiciones de entrada externas y del estado presente delregist ro secuencial . Al mismo tiempo, otras salidas del PLA determinan el estadosiguiente del registro de secuencia.El registro de secuencia es externo al PLAsi la un id ad con f i gu ra so lam en te c ircui tos combinacionales . Sin embargohay algunos PLA dispon ibles que inc luyen no solamente compuertas sino flip-flopsdentro de la unidad.

Page 60: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 60/135

 

4. Control del microprograma:El propósito de la unidad de control es iniciar una serie de pasos secuenciales demicro -operaciones. Durante cualquie r tiempo dado se deben iniciar ciertas operacionesmientras que otras permanecen latentes. Así, las variablesde control en un tiempo dado pue den ser rep rese nta das por una cad enade 1 ó 0 l lam ada pal abr a d e c ont ro l . D i cha s palabras de control pueden

ser programadas para iniciar las diferentes componentes en elsistema de unamanera organizada. Una unidad de control cuyas variables de controlsealmacenan en una memoria, se llaman unidad de control micro-programada.Cada pa labra de control de memoria se llama microinstrucción y una secuencia demicroinstrucciones sellama microprograma. Como poco se necesitan lasal teraciones del microprograma, la me mo ri a de co ntr ol pu ed e se r un aROM. El uso del micr opr ogr ama comp ren de la ubicación de todas lasvariables de contro l en palabras de la ROM para usarlas por medio de lasunidades de control a través de operaciones sucesivas de lecturas. El contenido de lapalabra en la ROM en una dirección dada especifica las micro-operaciones delsistema.Un desarrollo mas avanzado conocido como micro-programación dinámicapermi tecargar in ic ia lmente un micro-programa a par t i r de una consolade c omput ado r o una memoria auxiliar como un disco magnético.

Control de componentes alambradosSe comienza con la posición del problema y se procede con los pasos deldiseño para obtener la lógica de control del sistema el diseño se lleva acabo en 5 pasos:1. Se enuncia el problema:el problema aquí es configurar con materiales la adición ysustracción de dos númerosbinarios de punto fijo representado en forma de signos-magnitud. Se puede usar aritmética implementada siempre y cuando el resultado final esteen forma de signo-magnitud.La suma de dos números en un registro de longitud finita podría resultar en unasuma queexcede la capacidad de almacenamiento.2. Se asume una c onfiguración inicial del equipo:

los dos números binarios con signos alser sumados o restados contienen bit. Lasmagnitudes de los números contienen R=N-1 bity se almacenan en los registros A y B. losbit de signos se almacenan en los flip-flops A yB.3. Se formula el algoritmo:la representación de números por signos-magnitud es famaliar debido a que se usa paralos calculos aritméticos a lápiz y papel. El procedimiento de desuma y resta de dosnúmeros binarios con signos de lápiz y papel es muy simple y directo.Una revision de esteprocedimiento podría ser útil para deducir el algoritmo diseñado.4. Se especifica l a parte del procesador de datos:el flujograma del algoritmo listatodaslas microoperaciones para la parte del procesador dedatos del sistema. Las operacionesentre A y B pueden realizarse con el ALU.5.Se diseña la lógica de control:

el diseño de un control con materiales interconectados esun problema de lógicasecuencial. Los recuadros del f lujograma pueden ser considerados co moes t ado de c i r c u i t o s ec uenc ia l y l os rec uad ros de dec i s i ón c omoco nd is io ne s de sistemas del siguiente estado. Las microopraciones quedeben ser ejecutadas en un estado dado, se especifican dentro de un recuadro defunción.Las condiciones para la transición del siguiente estado se especifican dentro delrecuadro dedecisión o en las líneas que se conectan entre los recuadros defunc ión. Aunque se puede formular esta relación entre un flujograma y el diagrama deestado, la conversión entre unaforma y o tra no es única. En consecuencia ,

Page 61: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 61/135

 

diferentes d iseñadores producían d iferentes d i a g r a m a s d e e s t a d o p a r ae l m i s m o f l u j o g r a m a y c a d a c u a l p u e d e s e r u n ac o r r e c t a representación del sistema.Control del microprograma

En un m ic rop rog rama de c on t ro l , l as v a r i ab les de c on t ro l que i n i c i anm ic ro- operaciones se almacenan en la memoria. La memoria de control es comúnmenteuna ROMya que la secuenc ia de control es permanen te y no necesitaal teración. Las variab les de control almacenadas en la memoria son leídas una a unapara iniciar la secuencia de micro-operaciones del sistema.Las palabras almacenadasen la memoria de control son microinstrucciones y cadauna de ellas especificauna o más micro-operaciones para los componentes en el sistema.Una vezque se ejecutan estas micro-operaciones, la unidad de control debedeterminar la siguiente dirección. Por tanto, unos pocos bits de la microinstrucción seusan para controlar la generación de la dirección para la siguiente microinstrucción. Asíuna microinstruccióncont iene bits para iniciar micro -operaciones y bi ts pa ra

determinar la siguiente dir ecc ión para la memoria de control en sí misma.Ademásde la memoria de control, una unidad de control de microprograma debe incluir circuitos especiales para seleccionar la siguiente dirección como se especifica por lamic ro in s t rucc i ón . Es tos c i rcu i to s y la c on f igu rac ión de los b i t s dem ic ro ins t ru cc ión almacenados en la memoria varían de una unidad a otra.U ne s t a d o e n l a m e m o r i a d e c o n t r o l s e r e p r e s e n t a p o r l ad i r e c c i ó n d e u n a m i cr o in s tr u cc i ón . U na d i re c ci ó n pa r a la m e mo r i ade c on tr o l es peci f i ca una pa lab ra de control dentro de una microinstrucción.Control de la unidad procesadoraU n a u n i d a d d e c o n t r o l d e l m i c r o p r o g r a m a d e b e t e n e r u n ac o n f i g u r a c i ó n d e propósito general para adaptarse a una gran cantidad desituaciones. Una unidad de controlde microprograma debe tene r una memoria decontrol suficiente como para almacenar microinstrucciones. Se debe hacer 

provisión para incluir todas las variables de control posibles en el sistema y nosolamente para controlar un ALU. El multiplexor y los bitsseleccionados debenincluir todos los demás bits de condición posibles que se quierancomprobar enel sistema. Se debe tener una provisión para aceptar una dirección externapara iniciar muchas operaciones en vez de dos operaciones solamente talescomo suma y sustracción.La pr incipal ventaja del control de l microprograma esel hecho que una vez que se ha es tab le ci do la con f i gu ra ció n de lo sma ter ia les no de be ha be r ne ces id ad de ca mb ios posteriores de lasconexiones entre los componentes. Si se quiere establecer una secuenciade cont ro l

Page 62: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 62/135

 

diferente para el sistema, todo lo que se necesita es especificar uncon junto d i fe re n te d e mi c ro ins t rucc ion es p ara la me mor ia de c ont ro l .La co nf ig ur ac ió n co n lo s materiales no debe cambiar para las diferentesoperaciones; el único cambio debe ser el microprograma que reside en la memoriade control.

Secuenciador del microprogramaE l s e c u e n c i a d o r e s e l c e n t r o n e u r á l g i c o d e g e s t i ó n ,c o n t r o l y p l a n i f i c a c i ó n d e l m ic r op ro ce sa do r , po r ta nto sufunc ión es fundamenta l para e l desarro l lo de cualquier ins t rucc iónsoftware. A la hora de realizar un secuenciador pueden tenerse presente dos políticas dediseño:históricamente, la primera es la cableada. Esta metodología convierte elsecuenciador de lamáquina en un autómata finito determinista (máquina de Mealy omáquina de Moore). Lossecuenciadores así diseñados tendrán siempre la mismafuncionalidad, y sólo mediante unamodi ficación hardware podrá ser cambiada; est oobliga a un costoso desarrollo hardware de l eq ui po . Al mis mo t ie mp o qu edi f i cu lt a no ta bl em en te la pr ue ba y la f i ab il id ad de l mismo. Por otra parte, elsecuenciador puede diseñarse como si fuese un microprocesador del p r op iom ic rop roc es ado r . En es t e c as o , l as dec i s i ones no es t án s u je t as a unci rc ui to combinacional lógico, sino al contenido de una memoria (memoria demicroprograma e l cont eni do de es ta memo r ia es e l enc arg ado dees ta bl ece r el c i r cui to com bi na cio na l de estados lógicos para la realizaciónde una det erminada tarea, actuando de una forma muy sencilla. Un valor 1 lógicoen una posición de memoria (recuérdese una célula CMOS cargada)sería equiva lentea un circuito cerrado, mientras que un valor 0 lógico sería equivalente auncircuito abierto. Esta técnica de diseño permite. por tanto, variar fácilmente( bastaría cambiar el contenido de la memoria de microprograma) la actuación de unmicroprocesador an te lo s mis mo s eve nt os , e s d ec ir , pe rm it e p asa r f ác i lm en t e un m icr op roc esa do r de propósito general a uno de propósitoespecífico. En conclusión, se puede afirmar que si el microprocesador es el alma

funcional de unacomputadora, el secuenciador lo es a su vez en la misma proporción delmicroprocesador. La microprogramación, por tanto, es una programación de muybajo n ivel (más bajo que e l cód igo ens amb lado r) , a n ive l de len gua jemáqu ina ( c e ros y unos ) . Po r t an t o s u aplicación queda restringida a los centrosde investigación y desarrollo hardware, ya que elfabr icante real izará dicha apl icac ióntanto para un microprocesador de propósito generalcomo para unmicroprocesado r de propósito especifico , a petición del cliente. Debido a esto,un usuario normal no puede modificar ni la estructura ni el código demicroprogramaresidente en su microprocesador.

ConclusiónEl diseño de un sistema no puede comenzar hasta que el diseñador esteseguro de dos cosas : p r imer o e l p rob le ma debe compre ndersec omp le ta me n t e y debe se r de g ran interés para el diseñador, segundo se debeasumir una configuración inicial del equipo paraconformar el procedimiento. Y a partir delenunciado del problema y la disponibilidad delequipo se busca una solución y la forma delalgoritmo.El control inicia todas las micro-operaciones en el procesamiento dedatos, en un t i e m p o d e t e r m i n a d o , e l e s t a d o d e c o n t r o l s e c u e n c i a li n i c i a u n c o n j u n t o d e m i c r o -

Page 63: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 63/135

 

ope rac iones y a p res e lec c ionadas . Es t e pas a e l s i gu ien t e es t ado oin i c i a o t ras m ic ro - operaciones esto depende de las condiciones que estén presentey de otras entradas.El diseño lógico de control no puede separarse de l desarrollodel algoritmo para r e s o l v e r u n p r o b l e m a d e d i s e ñ o , s i n e m b a r g o , l al ó g i c a d e c o n t r o l e s t á r e l a c i o n a d a directamente a la parte del procesador de datos del sistema que este controla.

Page 64: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 64/135

Page 65: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 65/135

Page 66: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 66/135

Page 67: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 67/135

Page 68: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 68/135

Page 69: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 69/135

 

UNIDAD 6.

DISEÑO DE UNA COMPUTADORA.

6.1 Configuración del sistema.

6.2 Instrucciones de la computadora.

6.3 Control y tiempos.

6.4 Ejecución de las instrucciones.

6.5 Diseño del control.

6.6 Diseño de registro.6.7 Diseño de la consola.

UNIDAD 2

 

ORGANIZACIÓN BASICA Y DISEÑO DEL COMPUTADOR

 

2.1 Códigos de instrucción

 

En este capítulo presentamos una computadora básica y mostramos cómopuede especificarse su operación con enunciados de transferencia de registros.La organización de la computadora se define mediante sus registros internos,la estructura de temporización y control, y el conjunto de instrucciones queutiliza. Después se lleva a cabo, en detalle, el diseño de la computadora.

Page 70: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 70/135

 

Aunque la computadora básica que se presenta en este capítulo es muypequeña en comparación con las computadoras comerciales, tiene la ventajade ser lo suficientemente simple para mostrar el proceso de diseño sindemasiadas complicaciones.

 

La organización interna de un sistema digital está definida por la secuencia demicrooperaciones que ejecuta sobre los datos almacenados en sus registros. Lacomputadora digital de propósito general puede ejecutar variasmicrooperaciones y, además, puede recibir instrucciones acerca de lasecuencia específica de operaciones que debe realizar. El usuario de unacomputadora puede controlar el proceso mediante un programa. Un programa

es un conjunto de instrucciones que especifican las operaciones, operandos yla secuencia mediante la cual tiene que ocurrir el procesamiento.

La tarea de procesamiento de datos puede alterarse al especificar un nuevoprograma con instrucciones diferentes o especificando las mismasinstrucciones con otros datos.

Una instrucción de computadora es un código binario que especifica unasecuencia de microoperaciones para la computadora. Los códigos deinstrucciones y los datos se almacenan en la memoria. La computadora leecada instrucción de la memoria y la coloca en un registro de control. Entoncesel control interpreta el código binario de la instrucción y procede a ejecutarlomediante una secuencia de microoperaciones. Cada computadora tiene unconjunto de instrucciones único. La capacidad de almacenar y ejecutarinstrucciones, el concepto de programa almacenado, es la propiedad másimportante de una computadora de uso general.

 

Un código de instrucción es un grupo de bits que instruye a la computadorasobre cómo ejecutar una operación específica. Por lo general, se divide enpartes y cada una tiene una interpretación propia. La parte más básica de uncódigo de instrucción es su parte de operación. El código de operación de una

Page 71: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 71/135

 

instrucción es un grupo de bits que define operaciones como sumar, restar,multiplicar, desplazar y complementar. El número de bits requerido para elcódigo de operación de una instrucción depende de la cantidad total deoperaciones disponibles en la computadora. El código de operación debe estarformado de por lo menos n bits para un conjunto dado de 2 (o menor)

operaciones diferentes. Como ejemplo, consideremos una computadora con 64operaciones diferentes, una de las cuales es la operación sumar (ADD). Elcódigo de operación consta de seis bits, con una configuración de bits 110010asignada a la operación ADD. Cuando este código de operación se decodifícaen la unidad de control, la computadora emite señales de control para leer unoperando de la memoria y sumar el operando a un registro del procesador.

 

En este punto, debemos reconocer la relación entre una operación decomputadora y una microoperación. Una operación es parte de una instrucciónalmacenada en la memoria de la computadora. Es un código binario que le dicea la computadora que ejecute una operación específica. La unidad de controlrecibe la instrucción de la memoria e interpreta los bits de código de laoperación. Después emite una secuencia de señales de control para iniciarmicrooperaciones en los registros internos de la computadora. Para cadacódigo de operación, el control envía una secuencia de microoperacionesnecesarias para la implantación del hardware de la operación especificada. Por

esta razón, a veces un código de operación se denomina macrooperación,porque especifica un conjunto de microoperaciones.

 

La parte operativa de un código de instrucción especifica la operación que seva a realizar. Esta operación debe ejecutarse sobre algunos datos almacenadosen los registros del procesador o en la memoria. Por lo tanto, un código de

instrucción debe especificar no sólo la operación, sino también los registros olas palabras de la memoria donde se van a encontrar los operandos, al igualque el registro o la palabra de memoria donde se va a almacenar el resultado.

Pueden especificarse palabras de memoria en los códigos de instrucciónmediante sus direcciones. Pueden especificarse registros del procesador al

Page 72: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 72/135

 

asignar a la instrucción otro código binario de k bits que especifique uno de 2registros. Existen muchas variaciones para "componer el código binario deinstrucciones, y cada computadora tiene su propio formato de código deinstrucciones particular. Los diseñadores de computadoras formulan losformatos de código de instrucciones y especifican la arquitectura de la

computadora. En este capítulo elegimos un código de instrucción particularpara explicar la organización y el diseño básico de las computadoras digitales.

 

2.2 Registros de computadora

 

Por lo general, las instrucciones de computadora se almacenan en posicionesde memoria consecutivas y se ejecutan de manera secuencial, una a la vez. Elcontrol lee una instrucción de una dirección específica de la memoria y laejecuta. Después continúa leyendo la siguiente instrucción en secuencia y laejecuta y así sucesivamente. Este tipo de secuencia de instrucciones necesitaun contador para calcular la dirección de la siguiente instrucción después de

que se termina la ejecución de la instrucción presente. También es necesarioproporcionar un registro en la unidad de control para almacenar el código deinstrucción después de que se lee de la memoria. La computadora necesita losregistros del procesador para manipular datos y un registro para contener unadirección de memoria.

La unidad de memoria tiene una capacidad de 4096 palabras y cada palabracontiene 16 bits. Se necesitan doce bits de una palabra de instrucción paraespecificar la dirección de un operando. Esto deja tres bits para la parte deoperación de la instrucción y un bit para especificar un direccionamientodirecto o un indirecto. El registro de datos (DR) contiene el operando que se leede la memoria. El registro acumulador (AC) es un registro de procesamiento depropósito general. La instrucción que se lee de la memoria se coloca en el

Page 73: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 73/135

 

registro de instrucción (IR). Se utiliza el registro temporal (TR) para contenerlos datos temporales durante el procesamiento.

 

 TABLA Lista de registros para la computadora básica:

Símbolo Cantidad

de registro de bits Nombre del registro Función

DR 16 Registro de datos Contiene operando de la memoria

AR 12 Registro de dirección Contiene la dirección para la memoria

AC 16 Acumulador Registro del Procesador

IR 16 Registro de instrucción Contiene la código de instrucción

Pc 12 Contador de programa Contiene la Dirección de Instrucción

 TR 16 Registro temporal Contiene datos Temporales

Page 74: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 74/135

 

INPR 8 Registro de entrada Contiene carácter de Entrada

OUTR 8 Registro de salida Contiene carácter de Salida

 

El registro de direccionamiento (AR) de la memoria tiene 12 bits porque éste esel 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 leerde la memoria después de que se ejecute la instrucción presente. El PC recorreuna secuencia de conteo y hace que la computadora lea instruccionessecuenciales almacenadas previamente en la memoria. Las palabras deinstrucción se leen y se ejecutan en secuencia, a menos que se encuentre unainstrucción de transferencia del programa. Una instrucción de transferencia delprograma solicita una transferencia a una instrucción no consecutiva en elprograma. La parte de dirección de una instrucción de transferencia delprograma se transfiere al PC para convertirse en la dirección de la siguienteinstrucción. Para leer una instrucción, se toma el contenido del PC como la

dirección para la memoria y se inicia un ciclo de lectura de memoria. Despuésel PC se incrementa en uno, para que contenga la dirección de la siguienteinstrucción en secuencia.

 

Se usan dos registros para entrada y salida. El registro de entrada (INPR) recibeun 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 75: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 75/135

 

Bus común del sistema

 

La computadora básica tiene ocho registros, una unidad de memoria y unaunidad de control. Deben proporcionarse trayectorias para transferirinformación de un registro a otro y entre la memoria y el registro. La cantidadde líneas será excesiva si se hacen conexiones entre la salida de cada registroy las entradas de los otros registros.

Un esquema más eficiente para transferir información en un sistema conmuchos registros es usar un bus común. Hemos mostrado cómo construir unsistema de bus común utilizando multiplexores o compuertas de buffer de tresestados. La conexión de los registros y de la memoria de la computadorabásica a un sistema de bus común.

 

Las salidas de siete registros y de la memoria están conectadas al bus común.La salida específica que se selecciona para las líneas del bus en cualquiermomento dado, está determinada por el valor binario de las variables deselección S2, S1 y So El número que se encuentre adelante de cada salidamuestra el equivalente decimal de la selección binaria requerida. Por ejemplo,el número que está adelante de la salida de DR es 3. Las salidas de 16 bits deDR se colocan en las líneas del bus cuando S2S1S0 = 011 porque este es elvalor binario del decimal 3. Las líneas del bus común están conectadas a lasentradas de cada registro y las entradas de datos de la memoria. El registroparticular cuya entrada LD (cargar) está habilitada recibe los datos del bus

durante la siguiente transición del pulso de reloj. La memoria recibe elcontenido del bus cuando se activa su entrada de escritura. La memoria colocasu salida de 16 bits en el bus cuando se activa la entrada de lectura y S2S150= 111.

 

Page 76: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 76/135

 

Cuatro registros tienen 16 bits DR, AC, IR y TR. Dos registros, AR y PC, tienen12 bits cada uno porque contienen direcciones de memoria. Cuando elcontenido de AR o PC se aplica al bus común de 16 bits, los cuatro bits más

significativos se establecen en 0. Cuando AR o PC reciben información del bus,sólo se transfieren al registro los 12 bits menos significativos.

 

El registro de entrada INPR y el registro de salida OUTR tienen 8 bits cada unoy comunican con los 8 bits menos significativos del bus. INPR está conectadopara proporcionar información al bus pero OUTR sólo puede recibir información

desde el bus. Esto se debe a que INPR recibe un carácter desde un dispositivode entrada que después se transfiere a AC. OUTR recibe un carácter de AC y loenvía a un dispositivo de salida. No hay transferencia de OUTR a cualquiera delos otros registros.

 

Las 16 líneas del bus común reciben información de seis registros y de la

unidad de memoria. Las líneas del bus están conectadas a las entradas de seisregistros y a la memoria. Cinco registros tienen tres entradas de control:

LD (cargar), INR (incrementar) y CLR (borrar). Este tipo de registro esequivalente a un contador binario con carga paralela y borrado sincrónicosimilar al que se muestra en la figura

 

La operación incrementar se consigue al habilitar la entrada de cuenta en elcontador. Dos registros tienen una sola entrada LD.

Page 77: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 77/135

 

 

Los datos de entrada y de salida de la memoria están conectados al buscomún, pero la dirección de memoria está conectada a AR. Por lo tanto,

siempre debe utilizarse AR para especificar una dirección de memoria. Alutilizar un registro único para direccionamiento se elimina la necesidad de unbus de direcciones, que de otra manera sería necesario. Puede especificarse elcontenido de cualquier registro para la entrada de datos de la memoriadurante una operación. De igual manera, cualquier registro puede recibir losdatos de la memoria después de una operación de lectura, excepto AC.

 

Las 16 entradas de AC provienen de un circuito lógico y sumador. Este circuitotiene tres conjuntos de entradas. Un conjunto de entradas de 16 bits viene delas salidas de AC. Se utiliza para efectuar microoperaciones de registro como elcomplemento AC y el corrimiento AC. Otro conjunto de entradas de 16 bitsviene del registro de datos DR. Las entradas de DR y AC se utilizan paramicrooperaciones aritméticas y lógicas, como sumar DR a AC o aplicar AND deDR a AC. El resultado de una suma se transfiere a AC y el acarreo final de unasuma se transfiere al flip-flop E (el bit de extensión de AC). Un tercer conjuntode entradas de 8 bits viene del registro de entrada INPR.

 

Nótese que el contenido de cualquier registro puede aplicarse al bus y puedeejecutarse una operación en el sumador y en el circuito lógico durante elmismo ciclo de reloj. La transición de reloj al final del ciclo transfiere elcontenido del bus al registro destino designado y la salida del sumador y

circuito lógico a AC. Por ejemplo, las dos microoperaciones

DR—AC y AC<-DR

 

Page 78: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 78/135

 

pueden ejecutarse al mismo tiempo. Esto puede hacerse al colocar elcontenido de AC en el bus (con S251S0 = 100), habilitando la entrada LD(cargar) de DR, transfiriendo el contenido de DR a través del contenido del

sumador y circuito lógico hacia AC y habilitando la entrada LD (cargar) de AC,todo durante este mismo ciclo de reloj. Las dos transferencias ocurren durantela llegada de la transición de pulso de reloj al final del ciclo de reloj.

 

2.3 Instrucciones de computadora

 

Cada formato de la computadora tiene 16 bits. La parte del código deoperación de la instrucción contiene tres bits y el significado de los 13 bitsrestantes depende del código de operación que se encuentre. Una instrucciónde referencia a memoria utiliza 12 bits para especificar una dirección y 1 bitpara especificar el modo de direccionamiento es igual a O para una direccióndirecta y a 1 para una dirección indirecta. Las instrucciones de referencia a

registros se reconocen mediante el código de operación 111 con un O en el bitde la extrema izquierda (bit 15) de la instrucción. Una instrucción de referenciaal registro especifica una operación o una prueba del registro AC. No senecesita un operando de la

memoria, por lo tanto los otros 12 bits se utilizan para especificar la operacióno prueba que se va a ejecutar. De igual forma, una instrucción de entrada-salida no necesita una referencia a memoria y se reconoce por el código deoperació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 de entrada-salidao la prueba ejecutada.

 

Page 79: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 79/135

 

El tipo de instrucción se reconoce mediante el control de computadora de loscuatro bits en las posiciones de la 12 a la 15 de la instrucción. Si los tres bitsdel código de operación en las posiciones de la 12 a la 14 no son iguales a 111,la instrucción es del tipo de referencia a memoria y el bit de la posición 15 setoma como el modo de direccionamiento 1. Sí el código de operación de 3 bits

es igual a 111, el control revisa el bit en la posición 15. Si este bit es O, lainstrucción es del tipo de referencia a registro. Si el bit es 1, la referencia esdel tipo de entrada-salida. Nótese que el bit de la posición 15 del código deinstrucción está representado mediante el símbolo 1, pero no se utiliza comoun bit de modo cuando el código de operación es igual a 111.

 

Sólo se utilizan tres bits de la instrucción para el código de operación. Puedeparecer que la computadora está limitada a un máximo de ocho operacionesdistintas. Sin embargo, como las instrucciones con referencia a registro y deentrada-salida utilizan los 12 bits restantes como parte del código deoperación, la cantidad total de instrucciones puede exceder de ocho. De hecho,el número total de instrucciones escogidas para la computadora básica es iguala 25.

 

Las instrucciones para la computadora se listan. La representación simbólica esuna palabra de tres letras y significa una abreviatura destinada a losprogramadores y los usuarios. El código hexadecimal es igual al númerohexadecimal del código binario utilizado para la instrucción. Al usar elequivalente hexadecimal reducimos los 16 bits de un código de instrucción acuatro dígitos, donde cada dígito hexadecimal es equivalente a cuatro bits. Unainstrucción con referencia a memoria tiene una parte de dirección de 12 bits.La parte de direccionamiento está representada por tres x y tiene validez para

los tres dígitos hexadecimales que corresponden a la dirección de 12 bits. Elúltimo bit de la instrucción está representado por el símbolo 1. Cuando 1 = O,los últimos cuatro bits de una instrucción tienen un dígito hexadecimalequivalente de O a 6, dado que el último bit es O. Cuando 1 = 1, el dígitohexadecimal equivalente de los últimos cuatro bits de la instrucción varía de 8a E, porque el último bit es 1.

Page 80: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 80/135

 

 

Las instrucciones con referencia a registro utilizan 16 bits para especificar unaoperación. Los cuatro bits de la extrema izquierda son siempre 0111, lo cual es

el equivalente al hexadecimal 7. Los otros dígitos hexadecimales proporcionanel equivalente binario de los 12 bits restantes. Las instrucciones de entrada-salida también utilizan todos los 16 bits para especificar una operación. Losúltimos cuatro bits son siempre 1111, el equivalente al hexadecimal .

 

2.4 Temporización y control

 

La temporización de todos los registros de la computadora básica estácontrolada por un generador de reloj maestro. Los pulsos de reloj se aplican atodos los flip-flops y registros del sistema, incluyendo los de la unidad decontrol. Los pulsos de reloj no cambian el estado de un registro, a menos que

el registro esté habilitado mediante una señal de control. Las señales decontrol se generan en la unidad de control y proporcionan entradas de controlpara los multiplexores del bus común, entradas de control en los registros delprocesador, y microoperaciones para el acumulador.

 

Existen dos tipos principales de organizaciones de control: control por cableado

y control miroprogramado. En la organización por cableado la lógica de controlse logra mediante compuertas, flip-flops, decodificadores y otros circuitosdigitales.

Page 81: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 81/135

 

Esto tiene la ventaja de que puede utilizarse para, reroducir un modo deoperación rápido. En la organización microprogramación de información decontrol está almacenada en una memoria de control.

 

La memoria de control está programada para iniciar la secuencia demicrooperaciones requerida. Un control por cableado, como indica su nombre,necesita cambios en la instalación de cableado entre los diversoscomponentes, sí el diseño va a modificarse o cambiarse. En el controlmicroprogramado cualquier cambio o modificaciones requeridos puede hacerseactualizando el programa en la memoria de control. En esta sección sepresenta un control por cableado para la computadora básica. Una unidad de

control microprogramada para una computadora similar.

 

Una instrucción leída de la memoria se coloca en el registro de la instrucciónpresente (IR). La posición de este registro en el sistema de bus común. Elregistro de la instrucción presente, donde está dividido en tres partes: el bit 1,

el código de operación, y los bits de O a 11. El código de operación en los bitsdel 12 al 14 se decodifica con un decodificador 3 X 8. Las ocho salidas de estedecodificador se representan mediante los símbolos D0 a D7. El númerodecimal en el subíndice es equivalente al valor binario del código de operacióncorrespondiente. El bit 15 de la instrucción se transfiere a un flíp-floprepresentado por el símbolo.

 

Los bits de O al 11 se aplican en las compuertas lógicas de control. El contadorsecuencial de 4 bits puede contar en binario del O al 15. Las salidas delcontador se decodifican en 16 señales de temporización de t0 a t15. Después,se derivará la lógica interna de las compuertas de control, cuando se considereen detalle el diseño de la computadora.

Page 82: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 82/135

 

2. El contador secuencial SC puede incrementarse o limpiarse en formasíncrona. La mayor parte del tiempo, el contador se incrementa paraproporcionar la secuencia de señales de temporízación del decodificador 4 X

16. De vez en cuando, el contador se borra a O, haciendo que la siguienteseñal de temporización activa sea t0. Por ejemplo, consideremos el caso enque SC se incrementa para proporcionar las señales de temporización t0, t1,t2, t3, y t4 en secuencia. En el tiempo t4, SC se borra a O sí está activada lasalida D3 del decodificador. Esto se expresa en forma simbólica mediante elenunciado

 

D3T4: SC — O

 

El diagrama de temporizacíón muestra la relación de tiempo de las señales decontrol. El contador secuencial SC responde a la transición positiva del reloj. Alprincipio, la entrada CLR de SC está activa. La primera transición positiva del

reloj borra SC a O, lo cual a su vez activa la señal de temporización t0 deldecodificador. t0 está activa durante un ciclo de reloj.

La transición de reloj positiva t0 en el diagrama activará solamente aquellosregistros cuyas entradas de control están conectadas a la señal detemporización t0. SC se incrementa con cada transición de reloj positiva, amenos que su entrada CLR esté activa. Esto produce las secuencias y señalesde temporízación t1, t2, t3, t4 y así sucesivamente, según se muestra en eldiagrama. (Nótese la relación entre la señal de temporización y la transición de

reloj positiva correspondiente.) Si SC no se borra, las señales de temporizacióncontinuarán con t5, t6 hasta t15 y de regreso a t0.

 

Page 83: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 83/135

 

Las últimas tres ondas muestran cómo se borra SC cuando D3t4 = 1. La salidaD3 del decodificador de operación se activa al final de la señal detemporización t2. Cuando la señal de temporízación t4 se activa, también lohace la salida de la compuerta AND que implanta la función de control D3t4.Esta señal se aplica a la entrada CLR de SC. En la siguiente transición de reloj

positiva (la marcada con en el diagrama) el contador se pasa a O. Esto haceque se active la señal de temporización t0 en lugar de t1, que podría activarsesi SC se incrementara en lugar de borrarse.

 

Un ciclo de lectura o de escritura se iniciará con un flanco ascendente de unaseñal de temporización. Se considerará que el tiempo de un ciclo de memoria

es menor que un tiempo de ciclo de reloj. De acuerdo con esta suposición, unciclo de lectura o de escritura iniciado por una señal de temporización seterminará cuando el siguiente pulso de reloj llegue a su posición de transiciónpositiva. Después, se usará la transición de reloj para cargar la palabra dememoria en un registro. Esta relación de temporización no es válida en muchascomputadoras porque el tiempo del ciclo de memoria, por lo general, dura másque el ciclo del reloj del procesador. En tal caso es necesario proporcionarciclos de espera en el procesador hasta que esté disponible la palabra dememoria. Para facilitar la presentación, consideremos que un periodo deespera no es necesario en la computadora básica.

Para comprender por completo la operación de la computadora, es crucialentender la relación de temporización entre la transición de reloj y las señalesde temporización. Por ejemplo, el enunciado de transferencia de registro

 

 T0: AR—PC

 

Page 84: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 84/135

 

especifica una transferencia del contenido de PC a AR, si está activa la señal detemporízación T0. T0 está activa durante todo un intervalo de ciclo de reloj.Durante este tiempo, el contenido de PC se coloca dentro del bus (con S2S1SO= 010) y se habilita la entrada LD (cargar) de AR. La transferencia real noocurre hasta el final del ciclo de reloj, cuando el reloj llega a una transición

positiva. Esta misma transición de reloj positiva incrementa el contadorsecuencial SC de 0000 a 0001. El siguiente ciclo de reloj tiene a activo y t0inactivo.

 

2.5 Ciclo de instrucción

 

Un programa residente en la unidad de memoria de la computadora está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 deinstrucción se divide en una secuencia de subciclos o fases. En la computadorabá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ónindirecta.

Page 85: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 85/135

 

4. Ejecutar la instrucción.

 

Cuando se termina el paso 4, el control regresa al paso 1 para buscar,decodificar y ejecutar la siguiente instrucción. Este proceso continúa en formaindefinida a menos que se encuentre una instrucción HALT (alto).

 

Búsqueda y decodificación

Al principio, el contador de programa PC está cargado con la dirección de laprimera instrucción del programa. El contador secuencial SC se borra a 0,

proporcionando una señal de temporización codificada T0. Después de cadapulso de reloj, SC se incrementa en uno, para que las señales de temporizaciónrecorran una secuencia T0, T1, S2 y así sucesivamente. Las mícrooperacionespara las fases de búsqueda y decodificación.

pueden especificarse mediante los siguientes enunciados de transferencia deregistro.

 

 T0: AR4E—PC

 T1: IR—M[AR], PC<—PC+1

Page 86: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 86/135

 

 T2: D0,..., D7 — Decodificar IR(12—14), AR —IR(O--1—IR(15)

 

Como sólo AR está conectada a las entradas de direccionamiento de lamemoria, es necesario transferir la dirección del PC a AR durante la transiciónde reloj asociada con la señal de temporización t0. Después, se coloca lainstrucción de leer de la memoria en el registro de instrucción presente IR, conla transición de reloj asociada a la señal de temporización t1. Al mismo tiempo,PC se incrementa en uno a fin de preparar para la dirección de la siguienteinstrucción en el programa. En el tiempo se decodifica el código de operación

en IR, el bit indirecto se transfiere al flip-flop 1 y la parte de la dirección de lainstrucción se transfiere a AR. Nótese que SC se incrementa después de cadapulso de reloj para producir la secuencia t0, t1 y t2.

 

Se muestra cómo se implantan los primeros dos enunciados de transferenciade registro en el canal del sistéma de bus. Con el fin de proporcionar la

trayectoria de datos para la transferencia del PC a AR, se debe aplicar unaseñal de temporización para obtener la siguiente conexion:

 

1. Colocar el contenido del PC dentro del bus al hacer que las entradas deselección de bus S2S1SO sean iguales a 010.

2. Transferir el contenido del bus a AR al habilitar la entrada LD de AR.

 

Page 87: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 87/135

 

 

La siguiente transición de reloj inicia la transferencia de PC a AR porque t0= 1.Para cumplir el segundo enunciado es necesario usar la señal de temporización

t1, con el fin de proporcionar las conexiones siguientes en el canal del sistemade bus.

 

1. Habilitar la entrada de lectura de la memoria.

2. Colocar el contenido de la memoria dentro del bus al hacer queS2,S1,S0=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.

 

La siguiente transición de reloj inicia las operaciones de leer e incrementarporque t1 = 1.

 

Determinación del tipo de instrucción

 

Page 88: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 88/135

 

La señal de temporización que está activa después de la decodificación es t3.Durante el tiempo t3, la unidad de control determina el tipo de instrucción quese acaba de leer de la memoria. El diagrama de flujo presenta una

configuración inicial para el ciclo de instrucción y muestra cómo el controldetermina el tipo de instrucción después de la decodificación. Los tres tipos deinstrucción posibles de que se dispone en la computadora básica.

 

La salida del decodificador D7 es igual a 1 si el código de operación es igual al111 binario.

 

Determinamos que si D7 = 1, la instrucción debe ser del tipo de referencia aregistro o de entrada-salida.

Si = 0, el código de operación debe ser uno de los otros siete valores de 000 a110, especificando una instrucción de referencia a memoria. Después el controlrevisa el valor del primer bit de la instrucción, el cual está ahora disponible enel flip-flop 1. Si D7 = O e 1 = 1, tenemos una instrucción de referencia amemoria con un direccionamiento indirecto. Entonces es necesario leer ladirección efectiva de la memoria. La microoperación para la condición dedireccionamiento indirecto se puede representar mediante el enunciado detransferencia de registros

 

AR<—MIARI

 

Page 89: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 89/135

 

Al principio AR contiene la parte de dirección de la instrucción. Esta direcciónse utiliza durante la instrucción de lectura de memoria. La palabra en ladirecció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ónindirecta que reside en los 12 bits menos significativos de la palabra dememoria.

 

Los tres tipos de instrucciones se subdividen en cuatro trayectorias separadas.La operación seleccionada se activa con la transición de reloj asociada con la

señal de temporización t3. Esto puede representarse como sigue:

 

D7I´T3: AR<—M[ARI

D´7II’T3: Nada

D7I’T3: Ejecutar una instrucción de referencia

D7 IT3: Ejecutar una instrucción de entrada salida

 

Cuando se encuentra una instrucción de referencia a memoria con 1 = O no esnecesario hacer nada porque la dirección efectiva ya está en AR. Sin embargo,el contador secuencial SC debe incrementarse cuando D’7T3 = 1, para quepueda continuarse la ejecución de la instrucción de referencia a memoria conla variable de temporización T4. Puede ejecutarse una instrucción de referencia

Page 90: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 90/135

 

a registro o de entrada-salida mediante el reloj asociado con la señal detemporización T3. Después de ejecutarse la instrucción, se borra SC a O y elcontrol regresa a la fase de búsqueda con T0 = 1.

 

Nótese que el contador secuencial SC se incrementa o se borra a O con cadatransición de reloj positiva. Adoptaremos la norma de que si SC se incrementa,no escribiremos el enunciado SC - SC + 1, pero estará implícito que el controlpasa a la siguiente señal de temporización en secuencia. Cuando se va a borrarSC, incluiremos el enunciado SC — O.

Las transferencias de registros necesarias para la ejecución de lasinstrucciones de referencia a registros se presentan en esta sección. En lasiguiente sección se explican las instrucciones de referencia a memoria.

 

Instrucciones de referencia a registros

 

El control reconoce las instrucciones de referencia a registros cuando D7 = 1 -e 1 = O. Estas instrucciones utilizan los bits del O al 11 del código deinstrucción para especificar una de las 12 instrucciones. Estos 12 bits estándisponibles en IR(O-11). También se transfirieron a AR durante el tiempo t2.Las funciones de control y las microoperaciones para las instrucciones

de referencia a registro. Estas instrucciones se ejecutan con la transición dereloj asociada con la variable de temporización T3. Cada función de controlnecesita la relación booleana D7I’t3 la cual, por conveniencia, representaremoscon el símbolo r. La función de control se distingue por uno de los bits en IR (0-11). Al asignar el símbolo B11 al bit i de IR, todas las funciones de control se

Page 91: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 91/135

 

pueden representar con sencillez mediante rB11. Por ejemplo, la instrucciónCLA tiene el código hexadecimal 7800 el cual da el binario equivalente 0111100000000000. El primer bit es un cero y es equivalente a 1’. Los siguientestres bits constituyen el código de operación y se reconocen de la salida deldecodificador D7. El bit 11 en IR es 1 y se reconoce de B11. La función de

control que inicia la microoperación para esta instrucción es D71’T3B11 =rB11. La ejecución de una instrucción de referencia a registro se termina en eltiempo 7I’3. El contador secuencial SC se borra a O y el control regresa abuscar la siguiente instrucción con la señal de temporización t0.

 

Las primeras siete instrucciones de referencia a registro ejecutan las

microoperaciones de borrar, complementar, corrimiento circular e incrementarsobre los registros AC o E. Las siguientes cuatro instrucciones provocan unbrinco de la siguiente instrucción en secuencia cuando se satisface unacondición establecida. La instrucción de brinco se ejecuta al incrementar la PCuna vez más (además, se incrementa durante la fase de búsqueda en el tiempot1). Los enunciados de control de condición deben reconocerse como parte delas condiciones de control. AC es positivo cuando el bit de signo en AC(15) = O;es negativo cuando AC(15) = 1. El contenido de AC es cero (AC = O) si todoslos flip-flops del registro son cero. La instrucción HLT borra un flip-flop de inicio-alto 5 y detiene el funcionamiento del contador secuencial. Para restablecer la

operación de la computadora, el flip-flop inicio-alto debe iniciarse en formamanual.

 

2.6 Instrucciones de referencia a memoria

 

Page 92: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 92/135

 

Para especificar las microoperaciones que se requieren para la ejecución decada instrucción, es necesario que la función que se pretende ejecutar sedefina con precisión en la cual se listan las instrucciones, encontramos quealgunas tienen una descripción ambigua. Esto se debe a que, por lo general, laexplicación de una instrucción con palabras es extensa y no hay espacio

disponible en la tabla para su explicación. Ahora mostraremos que la funciónde las instrucciones de referencia a memoria puede definirse en forma precisamediante la notación de transferencia a registros.

 

La tabla lista las siete instrucciones de referencia a memoria. La salidadecodificada Di para i = 0, 1, 2, 3, 4, 5 y 6 del decodificador de operación que

pertenece a cada instrucción se incluye en la tabla. La dirección efectiva de lainstrucción está en el registro de direccionamiento AR y se colocó ahí durantela señal de temporización 1’2 cuando 1 = O o durante la señal detemporización t3 cuando 1 = 1. La ejecución de las instrucciones de referenciaa memoria comienza con la señal de temporización T4. La descripciónsimbólica de cada instrucción se especifica en la tabla en términos de flotaciónde transferencia de registros. La ejecución real de la instrucción en el canal delsistema de bus requerirá una secuencia de microoperaciones.

 TABLA Instrucciones de referencia a memoria

Decodificador

Símbolo de operación Descripción simbólica

 

AND Do AC<-AC A M[AR]

ADD D1 AC<-AC+M[AR], E4-C-salir,

LDA D2 AC<-M[AR]

Page 93: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 93/135

 

STA D3 M[AR]<-AC

BUN D4 PC-AR

BSA D5 M[AR]<—PC, PC-AR+1

ISZ D6 M(AR]*-M[AR]+1,

Si M[AR] +1 =entonces PC <— PC + 1

Esto es porque los datos almacenados en la memoria no pueden procesarse enforma directa. Los datos deben pasarse de la memoria a un registro dondepueden ser operados sobre circuitos lógicos. Ahora explicamos la operación decada instrucción y hacemos una lista de las funciones de control ymicrooperaciones necesarias para su ejecución. Al final de esta sección se

presenta un diagrama de flujo que resume todas las microoperaclones.

 

Ejecución de la instrucción AND a AC

 

Esta es una instrucción que ejecuta la operación lógica AND sobre pares de bitsen AC y la palabra de memoria especificada mediante la dirección efectiva. Elresultado de la operación se transfiere a AC. Las microoperacíones que ejecutaesta instrucción son:

 

D0T4: DR—M[AR]

Page 94: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 94/135

 

D0T5: AC<—ACADR, SC<—O

 

La función de control para esta instrucción utiliza el decodificador de operaciónD0 porque la salida del decodificador está activa cuando la instrucción tieneuna operación AND cuyo valor de código binario es 000. Se necesitan dosseñales de temporización para ejecutar la instrucción. La transición de relojasociada con la señal de temporización T4 transfiere el operando de lamemoria dentro de DR. La transición de reloj asociada con la siguiente señal detemporización transfiere a AC el resultado de la operación lógica AND entre elcontenido de DR y AC. La misma transición de reloj pasa SC a O, al transferir elcontrol a la señal de temporización T0 para comenzar un nuevo ciclo de

instrucción.

 

Ejecución de la instrucción ADD a AC

 

Esta instrucción suma el contenido de la palabra de memoria especificada porla dirección efectiva al valor de AC. La suma se transfiere dentro de AC y elacarreo de salida C,S1 se transfiere al flip-flop E (extensión del acumulador).Las microoperaciones para ejecutar la instrucción son

 

Page 95: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 95/135

 

D1T4: DR <— M[AR]

D1T5: AC<—AC+DR, E<—Q1, SC--O

 

Se usan otra vez las mismas dos señales de temporízación, t4 y t5, pero con eldecodificador de operación D1 en lugar de D0, el cual se utilizó para lainstrucción AND. Después de que se busca la instrucción en la memoria y sedecodifica, sólo estará activa una salida del decodificador de operación y esa

salida determina la secuencia de microoperaciones que sigue el controldurante la ejecución de la instrucción de referencia a memoria.

 

LDA: Cargar a AC

 

Esta instrucción transfiere la palabra de memoria especificada por la direcciónefectiva a AC. Las microoperaciones necesarias para ejecutar esta instrucciónson

 

D2T4:DR—M[AR]

D2T5:ACDR,SC—O

Page 96: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 96/135

 

 

Al revisar el canal del sistema de bus notamos que no hay una trayectoriadirecta desde el bus hasta AC. El circuito sumador y lógico recibe informaciónde DR la cual puede transferirse a AC. Por lo tanto, primero es necesario llevarla palabra de memoria a DR y después transferir el contenido de DR a AC. Larazón para no conectar el bus a las entradas de AC es el retraso que seencuentra en el circuito sumador y lógico. Se considera que el tiempo quetoma leer en la memoria y transferir la palabra a través del bus y el circuitosumador y lógico es mayor que el tiempo de un ciclo de reloj. Al no conectar elbus a las entradas de AC podemos mantener un ciclo de reloj pormicrooperación.

 

STA: Almacenar AC

 

Esta instrucción almacena el contenido de AC en la palabra de memoriaespecificada por la dirección efectiva. Como la salida de AC se aplica al bus y laentrada de datos de la memoria está conectada al bus, podemos ejecutar estainstrucción con una microoperación:

 

D3T4:M[AR]<—AC,SC<—O

Page 97: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 97/135

 

 

BUN: Brinco incondicional.

 

Esta instrucción transfiere el control del programa a la instrucción especificadapor dirección efectiva. Debe recordarse que PC contiene la instrucción de la

dirección que se va a leer de la memoria en el siguiente ciclo de instrucción. PCse incrementa en el tiempo S1 para prepararlo para la dirección de la siguienteinstrucción en la secuencia del programa. La instrucción BUN permite que elprogramador especifique una instrucción fuera de secuencia y se dice que elprograma se brinca de manera incondicional. Esta instrucción se ejecuta conuna microoperación:

 

D4T4:PC-AR,SC—O

 

La dirección efectiva de AR se transfiere por el bus común al PC. Al restablecerSC a O se transfiere el control a t0. Después se busca y se ejecuta la siguiente

instrucción de la dirección de memoria proporcionada por el nuevo valor en PC.

BSA: Brincar y guardar la dirección de retorno.

Page 98: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 98/135

 

 

Esta instrucción es útil para brincar hacia una porción del programa llamadasubrutina o procedimiento. Cuando se ejecuta, la instrucción BSA almacena la

dirección de la siguiente instrucción en secuencia (la cual está disponible enPC) dentro de una posición de la memoria especificada por la direcciónefectiva. La dirección efectiva más uno se transfiere después a PC para servircomo la dirección de la primera instrucción en la subrutina. Esta operación seespecificó con la siguiente transferencia de registro:

 

M[AR] <—PC, PC<—AR+1

 

Un ejemplo numérico que muestra cómo se usa esta instrucción con unasubrutina. Se considera que la instrucción BSA está en la memoria en ladirección 20. El bit 1 es O y la parte de la dirección de la instrucción tiene el

equivalente binario de 135. Después de las fases de búsqueda ydecodificación, PC contiene 21, que es la dirección de la siguiente instrucciónen el programa (denominada dirección de retorno). AR contiene la direcciónefectiva 135. Esto se muestra en la parte (a) de la figura. La instrucción BSAejecuta la siguiente operación numérica:

 

M[135] <--21, PC—135+1=136

 

Page 99: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 99/135

 

El resultado de esta operación se muestra en la parte (b) de la figura. Ladirección de retomo 21 se almacena en la localidad de memoria 135 y elcontrol continúa con el programa de subrutina que comienza desde la dirección136. El regreso al programa original (y la dirección 21) se consigue medianteuna instrucción BUN indirecta, colocada al final de la subrutina.

Cuando se ejecuta esta instrucción el control regresa a la fase indirecta paraleer la dirección efectiva en la localidad 135, donde encuentra la dirección 21que se guardó antes. Cuando se ejecuta la instrucción BUN, la direcciónefectiva 21 se transfiere a PC. El siguiente ciclo de la instrucción encuentra PCcon el valor 21, por lo que el control sigue ejecutando la instrucción en ladirección de retorno.

 

Por lo general, la instrucción BSA ejecuta la función que se denomina llamada asubrutina. La instrucción BUN indirecta al final de la subrutina ejecuta lafunción que se denomina retomo de la subrutina. En la mayoría de lascomputadoras comerciales, la dirección de retorno asociada con una subrutinase almacena en un registro de procesador o en una porción de la memoriallamada pila (stack). Esto se analiza más adelante con mayor detalle.

 

No es posible ejecutar la operación de la instrucción BSA en un ciclo de relojcuando se utiliza el bus del sistema de la computadora básica. Para usar enforma adecuada la memoria y el bus, la instrucción BSA debe ejecutarse conuna secuencia de dos microoperaciones:

 

D5T4: M[AR]<— PC, AR <— AR + 1

Page 100: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 100/135

 

D5T5:PC<—AR, SC <— O

 

La señal de temporización t4 inicia una operación de escribir en memoria,coloca el contenido del PC dentro del bus, y habilita la entrada INR de AR. Laoperación de escribir en memoria se completa y AR se incrementa cuandoocurre la siguiente transición de reloj. El bus se utiliza en t5 para transferir elcontenido de AR a PC.

 

ISZ: Incrementa y brinca si es cero.

 

Esta instrucción incrementa la palabra especificada por la dirección efectiva y,si el valor incrementado es igual a O, PC se incrementa en 1. El programadorpor lo general almacena un número negativo (en complemento a 2) en lapalabra de memoria. Como este valor negativo se incrementa una y otra vezen uno, eventualmente alcanza el valor de cero. En ese momento, PC seincrementa en uno para saltar la siguiente instrucción en el programa.

 

Como no es posible incrementar una palabra dentro de la memoria, esnecesario leer la palabra dentro de DR, incrementar DR y almacenar otra vez lapalabra en la memoria. Esto se hace con la siguiente secuencia demicrooperaciones:

Page 101: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 101/135

 

 

D6T4: DR <— M[AR]

D6T5: DR—DR+1

D6T6: M[AR] <— DR, si (DR = 0) entonces (PC <— PC + 1), SC <— O

UNIDAD 7.

ORGANIZACIÓN DE ENTRADA/SALIDA.

7.1 Repaso de dispositivos periféricos.

7.2 Interfaz E/S

7.3 Interfaz asíncrona serie.

7.4 Acceso directo a memoria (DMA)

7.5 Sistema de interrupciones.

7.6 Comunicación entre periféricos.

7.7 Procesadores E/S.

7.8 Periféricos.

UNIDAD 5

 

Page 102: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 102/135

 

ORGANIZACIÓN DE ENTRADA-SALIDA

 

5.1 Dispositivos periféricos

 

El subsistema de entrada-salida de una computadora, denominado E/S,proporciona un modo de comunicación eficiente entre el sistema central y elambiente externo. Los programas y datos deben introducirse a la memoria dela computadora para su procesamiento y los resultados que se obtienen de loscálculos deben grabarse o registrarse para el usuario. Una computadora notiene ningún propósito útil sin la capacidad de recibir información de unafuente externa y de transmitir los resultados de manera comprensible.

 

El medio más familiar de introducir información en una computadora es através de un teclado tipo máquina de escribir, que permite a una personaintroducir información alfanumérica en forma directa. Cada vez que se oprimeuna tecla, la terminal envía un carácter codificado en binario a la computadora.La velocidad más alta posible para introducir información de esta maneradepende de la velocidad para teclear de una persona. Por otra parte, la unidadde procesamiento central es un dispositivo extremadamente rápido capaz deejecutar operaciones a muy alta velocidad. Cuando se transfiere a un

procesador información de entrada mediante un teclado lento, el procesadorestará ocioso la mayor parte del tiempo, mientras espera que llegue lainformación.

Para utilizar una computadora de manera eficiente, deben prepararse conanticipación una gran cantidad de programas y datos, y deben transmitirse aun medio de almacenamiento como discos o cintas magnéticas. La información

Page 103: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 103/135

 

del disco se transfiere después a la memoria de la computadora a granvelocidad. Los resultados de los programas también se transfieren a unalmacenamiento de alta velocidad, como discos, desde los cuales se puedentransferir, más tarde, a una impresora para proporcionar una salida impresa delos resultados.

 

Los dispositivos que están bajo el control directo de la computadora estánconectados en línea. Estos dispositivos están diseñados para leer informaciónhacia adentro o afuera de la unidad de memoria ante un comando de la CPU yse considera que son parte del sistema total de la computadora. Losdispositivos de entrada o salida conectados a la computadora también se

llaman periféricos. Entre los periféricos más comunes están los teclados, losmonitores y las impresoras. Los periféricos que proporcionan almacenamientoauxiliar para el sistema son cintas y discos magnéticos. Los periféricos sondispositivos electromecánicos y electromagnéticos de cierta complejidad. Aquí sólo se proporcionará un breve análisis de su funcionamiento, sin entrar endetalles de su construcción interna.

 

Los monitores de video son los periféricos de uso más común. Consisten en unteclado como dispositivo de entrada y una pantalla como dispositivo de salida.Hay diferentes tipos de monitores de video, pero los más populares utilizan untubo de rayos catódicos (CRT). El CRT contiene un cañón electrónico que envíaun haz de electrones a una pantalla fosforescente al frente del tubo. El hazpuede desviarse en forma horizontal y vertical. Para producir un patrón en lapantalla, una rejilla dentro del CRT recibe un voltaje variable que hace que elhaz entre en contacto con la pantalla y la haga brillar en puntos seleccionados.Las señales horizontales y verticales desvían el haz y lo hacen barrer por el

tubo, haciendo que aparezca en la pantalla un patrón visual. Una característicade los monitores es un cursor que marca la posición en que se insertará elsiguiente carácter en la pantalla. El cursor puede moverse a cualquier posiciónen la pantalla, sobre un carácter único, una palabra o cualquier línea. Lasteclas de edición agregan o borran información con base en la posición delcursor. El monitor puede operar en forma de carácter único, de donde todos loscaracteres introducidos en la pantalla a través del teclado se trasmiten a la

Page 104: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 104/135

 

computadora en forma simultánea. En el modo de bloque, el texto editado sealmacena primero en una memoria local dentro de la terminal. El texto setransfiere a la computadora como un bloque de datos.

 

Las impresoras proporcionan un registro permanente, sobre el papel, de losdatos o el texto de salida de la computadora. Hay tres tipos básicos deimpresoras de caracteres: de margarita, de matriz de puntos y láser. Laimpresora de margarita contiene un disco con los caracteres colocados en laorilla de la circunferencia. Al imprimir un carácter, la rueda gira a la posiciónapropiada y después un imán, al que se aplica una corriente, la oprime contrala cinta. La impresora de matriz de puntos contiene un conjunto de puntos a lo

largo del mecanismo de impresión. Por ejemplo, una impresora de matriz de 5X 7 puntos que imprime 80 caracteres por línea tiene varias líneas horizontalesy cada una consta de 5 X 80 = 400 puntos. Cada punto puede imprimirse o no,dependiendo de los caracteres específicos que están impresos en la línea. Laimpresora láser utiliza un tambor fotográfico rotatorio que se emplea paraimprimir las imágenes de caracteres. Después, el patrón se transfiere sobre elpapel igual que en una máquina copiadora.

 

Las cintas magnéticas se utilizan principalmente para almacenar archivos dedatos: por ejemplo, el registro de la nómina de una compañía. El acceso essecuencial y consta de registros que pueden accesarse uno después de otro,conforme la cinta se mueve a lo largo de un mecanismo estacionario delectura-escritura. Es uno de los métodos más baratos y lentos para almacenary tiene la ventaja de que las cintas pueden quitarse cuando no se usan. Losdiscos magnéticos tienen superficies rotatorias de alta velocidad, con unacubierta de material magnético.

 

Page 105: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 105/135

 

Sobre todo, los discos se utilizan para el almacenamiento de grandescantidades de programas y datos Las cintas y discos se analizan junto con supapel como memoria auxiliar.

 

Otros dispositivos de entrada y salida que se encuentran en sistemas decomputadora son los gratificadores digitales, los lectores de caracteres ópticosy magnéticos, los convertidores analógicos-digitales y equipo diverso deadquisición de datos. No todas las entradas provienen de personas y no todaslas salidas están dirigidas a ellas. Las computadoras se utilizan para controlarvarios procesos en tiempo real, como provisión de partes de máquinas,procedimientos de ensamblado en línea y procesos químicos e industriales.

Para tales aplicaciones, debe proporcionarse un método para captar lascondiciones de estado del proceso y enviar señales de control al proceso quese controle.

 

La organización de entrada-salida de una computadora es una función del

tamaño de la computadora y de los dispositivos conectados a ella. Ladiferencia entre un sistema grande y pequeño depende en gran parte de lacantidad de circuitería que tiene disponible la computadora para comunicarsecon unidades periféricas y la cantidad de periféricos conectados al sistema.Como cada periférico se comporta en forma diferente de los demás, seríaprohibitivo entrar en detalles de las interconexiones necesarias entre lacomputadora y cada periférico. En este capítulo se presentan ciertas técnicascomunes a la mayoría de los periféricos.

 

5.2 Interface de entrada-salida

 

Page 106: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 106/135

 

La interface de entrada-salida proporciona un método para transferirinformación entre dispositivos de almacenamiento interno y de E/S externas.Los periféricos conectados a una computadora necesitan enlace de

comunicación especial para funcionar como una interface con la unidad deprocesamiento central. El propósito del enlace de comunicación es resolver lasdiferencias que existen entre la computadora central y cada periférico. Lasdiferencias principales son:

 

1. Los periféricos son dispositivos electromecánicos y electromagnéticos y su

manera de operación es diferente a la de la CPU y la memoria, que sondispositivos electrónicos. Por lo tanto, puede requerirse una conversión devalores de señales.

2. La velocidad de transferencia de datos de los periféricos, por lo general, esmenor que la velocidad de transferencia de la CPU y, en consecuencia, puedenecesitarse un mecanismo de sincronización.

3. Los códigos de datos y los formatos en los periféricos son diferentes delformato de la palabra en la CPU y en la memoria.

4. Los modos de operación de los periféricos son diferentes uno de otro y cadauno debe estar controlado para no perturbar la operación de otros periféricosconectados a la CPU.

 

Para resolver estas diferencias, los sistemas de computadora incluyencomponentes de circuitería especiales entre la CPU y los periféricos parasupervisar y sincronizar todas las transferencias de entrada y salida. Estoscomponentes se llaman interfaces, porque se comunican tanto con el canal delprocesador como con el dispositivo periférico.

Page 107: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 107/135

 

 

Además, cada dispositivo puede tener su propio controlador que supervisa lasoperaciones del mecanismo particular en el periférico. Canal de EIS y módulosde interface

Un enlace de comunicación típico entre el procesador y varios periféricos. Elcanal de E/S, consta de líneas de datos, líneas de dirección y líneas de control.

Se emplean el disco magnético, la impresora y la terminal en casi cualquier

computadora de propósito general. La cinta magnética se utiliza en algunascomputadoras para el almacenamiento de respaldos. Cada dispositivoperiférico tiene asociada una unidad de interface. Cada interface decodifica ladirección y el control que se recibe del canal de E/S, y las interpreta para elperiférico y proporciona señales para el controlador del periférico. Tambiénsincroniza el flujo de datos y supervisa la transferencia entre el periférico y elprocesador. Cada periférico tiene su propio controlador que opera el dispositivoelectromecánico particular. Por ejemplo, el controlador de impresora se hacecargo del movimiento de papel, la temporización de la impresión y la selecciónde los caracteres que se imprimen. Un controlador puede alojarse en forma

separada o puede integrarse físicamente con el periférico.

 

El canal de E/S del procesador se conecta a todas las interfaces del periférico.Para comunicarse con un dispositivo particular, el procesador coloca unadirección de dispositivo en las líneas de direccionamiento. Cada líneaconectada al canal de E/S contiene un decodificador de dirección que

monitorea las líneas de direccionamiento. Cuando la interface detecta supropia dirección, activa la trayectoria entre las líneas del canal y el dispositivoque controla. Todos los periféricos cuyas direcciones no corresponden a ladirección en el canal, son inhabilitados por su interface.

 

Page 108: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 108/135

 

Al mismo tiempo que queda disponible la dirección en las líneas dedireccionamiento, el procesador proporciona un código de función en las líneasde control. La interface seleccionada responde al código de función y avanza a

ejecutarlo. El código de función se denomina un comando de E/S y es, enesencia, una instrucción que se ejecuta en la interface y está conectada a launidad periférica. La interpretación del comando depende del periférico quedirecciona el procesador. Una interface puede recibir cuatro tipos decomandos. Se clasifican como control, estado, salida de datos y entrada dedatos.

 

Se emite un comando de control para activar el periférico e informarle quéhacer. Por ejemplo, una unidad de cinta magnética puede instruirse para quehaga regresar la cinta un registro, para que se rebobine o para que empiece amoverse hacia adelante. El comando de control particular que se emitedepende del periférico y cada periférico recibe su propia secuencia distinta decomandos de control, dependiendo de su modo de operación.

 

Se utiliza un contando de estado para probar diversas condiciones de estadoen la interface y un periférico. Por ejemplo, es posible que la computadoraquiera comprobar el estado del periférico antes de que se inicie unatransferencia. Durante la transferencia, pueden ocurrir uno o más errores quedetecta la interface. Estos errores se representan al activar bits en un registrode estado que el procesador pueda leer en ciertos intervalos.

 

Un comando de salida de datos hace que la interface responda transfiriendodatos del canal a uno de sus registros. Consideremos un ejemplo con unaunidad de cinta. La computadora comienza a mover la cinta al emitir uncomando de control.

Page 109: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 109/135

 

. Después, el procesador monitorea el estado de la cinta mediante un comandode estado. Cuando la cinta está en la posición correcta, el procesador envía uncomando de salida de datos. La interface responde a la dirección y al comando

y transfiere la información de las líneas de datos del canal a su registrointermedio (buffer). En seguida, la interface comunica con el controlador de lacinta y envía los datos que se van a almacenar.

 

El comando de entrada de datos es lo opuesto al de salida de datos. En estecaso, la interface recibe datos del periférico y los coloca en su registro

intermedio. El procesador verifica silos datos están disponibles mediante uncomando de estado y después envía un comando de entrada de datos. Lainterface coloca los datos sobre las líneas de datos, donde el procesador losacepta.

 

5.3 Transferencia asíncrona de datos

Las operaciones internas en un sistema digital se sincronizan mediante pulsosde reloj proporcionados por un generador de pulsos común. Los pulsos de relojse aplican a todos los registros dentro de una unidad y todas las transferenciasde datos entre registros internos ocurren en forma simultánea durante el

transcurso de un pulso de reloj. Se designan dos unidades, por ejemplo la CPUy la interface de E/S, independientes una de la otra. Si los registros de lainterface comparten un reloj común con los registros de la CPU, se dice que latransferencia entre las dos unidades es síncrona. En la mayoría de los casos, latemporización interna en cada unidad es independiente de la otra, que en esecaso utiliza su propio reloj para sus registros internos. En ese caso, se dice quelas dos unidades son asíncronas una de la otra. Este enfoque se utiliza conmucha frecuencia en la mayoría de los sistemas de computadora.

Page 110: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 110/135

 

 

La transferencia de datos asíncrona entre dos unidades independientesrequiere que se transmitan señales de control entre las unidades que secomunican para indicar el momento en el cual se están transmitiendo datos.

 

Una manera de conseguir esto es mediante un pulso de habilitación(estroboscópico), proporcionado por medio de una de las unidades para indicar

s. la otra unidad cuándo tiene que ocurrir la transferencia. Otro método muy.Generalizado es acompañar cada conjunto de datos que se transfiere con unaseñal de control que indica la presencia de datos en el canal. La unidad querecibe el conjunto de datos responde con otra señal de control parareconocimiento la recepción de los datos. Este tipo de acuerdo entre dosunidades in pendientes se conoce como reconocimiento mutuo (handshaking).

 

El método de pulso estroboscópico y el método de reconocimientotransferencia de datos asíncronos no se limitan a las transferencias de El Dehecho, se utilizan ampliamente en numerosas ocasiones que requierentransferencia de datos entre dos unidades independientes. En general,consideramos la unidad que transmite como la fuente, y la unidad que recibecomo el destino. Por ejemplo, la CPU es la unidad fuente durante latransferencia de salida o de escritura y es la unidad destino durante unatransferencia de entrada o de lectura. Se acostumbra especificar latransferencia asíncrona entre dos unidades independientes mediante un

diagrama temporización que muestra la relación de temporización que debe eentre las señales de control y los datos en los canales. La secuencia de condurante una transferencia asíncrona depende de si la transferencia la unidadfuente o la unidad destino.

 

Page 111: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 111/135

 

Control de habilitación.

 

El método de control de habilitación (estroboscópico) de transferenciaasíncrona de datos emplea una línea de control única para temporizar cadatransferencia. La unidad fuente o la unidad destino pueden activar el pulso dehabilitación. Se muestra una transferencia iniciada por la fuente. El canal dedatos lleva la información binaria de la unidad fuente a la unidad destino. Demanera típica, el canal tiene líneas múltiples para transferir un byte o palabracompletos. El estroboscopio es una línea única que informa a la unidad destino

cuándo está disponible en el canal una palabra de datos válida.

 

Como se muestra en el diagrama de temporización, primero la unidad fuentecoloca los datos en el canal de datos. Después de un breve retraso, paraasegurar que los datos se establecen en un valor regular, la fuente activa elpulso de habilitación. La información en el canal de datos y la señal de

habilitación se quedan en estado activo durante un tiempo suficiente parapermitir que la unidad destino reciba los datos. Con frecuencia la unidaddestino utiliza un flanco descendente del pulso de habilitación para transmitirel contenido del canal de datos a sus registros internos. La fuente quita losdatos del canal en un breve período previo a la deshabilitación del pulso dehabilitación. En realidad, la fuente no tiene que cambiar la información en elcanal de datos, el hecho de que la señal de habilitación esté deshabitada indicaque el canal de datos no contiene datos válidos. Habrá disponibles nuevosdatos válidos sólo después de que se vuelva a habilitar el pulso de control dehabilitación.

 

Se muestra una transferencia de datos iniciada por la unidad destino. En estecaso, la unidad destino activa el pulso de habilitación, informando a la fuente

Page 112: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 112/135

 

que proporcione los datos. La unidad fuente responde colocando la informaciónbinaria solicitada en el canal de datos, Los datos deben ser válidos ypermanecer en el canal el tiempo suficiente para que la unidad destino losacepte. Puede utilizarse otra vez el flanco descendente del pulso dehabilitación para activar un registro destino. Después la unidad destino habilita

el pulso. La fuente quita los datos del canal después de un intervalo de tiempopredeterminado.

 

En muchas computadoras, el pulso de habilitación se controla en realidadmediante pulsos de reloj en la CPU. La CPU está siempre a cargo de los canalese informa a las unidades externas cómo transferir datos. Por ejemplo, el pulso

de habilitación debe ser una señal de control de escritura de memoria de laCPU a una unidad de memoria. La fuente, en este caso la CPU, coloca unapalabra en el canal y le informa a la unidad de memoria, la cual es el destino,que ésta es una operación de escritura. De igual manera, el pulso dehabilitación puede ser una señal de control de lectura de memoria de la CPU auna unidad de memoria. El destino, la CPU, inicia la operación de lectura parainformar a la memoria, la cual es la fuente, que coloque la palabraseleccionada en el canal de datos.

 

La transferencia de datos entre la CPU y una unidad de interface es similar a laque se acaba de describir. Por lo general, la transferencia de datos entre unainterface y un dispositivo de E/S es controlada por un conjunto de líneas dereconocimiento mutuo.

 

 Transferencia serial asíncrona.

 

Page 113: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 113/135

 

La transferencia de datos entre dos unidades puede hacerse en forma paralelao serial. En la transmisión de datos paralela, cada bit en el mensaje tiene supropia trayectoria y todo el mensaje se transmite al mismo tiempo. Esto

significa que un mensaje de n bits debe transmitirse a través de n trayectoriasconductoras separadas. En la transferencia de datos serial, cada bit en elmensaje se envía en secuencia uno a la vez. Este método requiere el uso de unpar de conductores o un conductor y una tierra común.

La transmisión paralela es más rápida pero requiere muchas líneas. Tambiénse utiliza para distancias cortas y cuando la velocidad es importante. Latransmisión serial es más lenta pero es menos cara porque sólo requiere un parde conductores.

 

La transmisión serial puede ser síncrona o asíncrona. En la transmisiónsíncrona, las dos unidades comparten una frecuencia de reloj común y los bitsse transmiten en forma continua a la velocidad que dictan los pulsos de reloj.En la transmisión serial de larga distancia, cada unidad es manejada por unreloj separado de la misma frecuencia. En forma periódica se transmiten

señales de sincronización entre las dos unidades para mantener sus relojes ensincronía uno con el otro. En la transmisión asíncrona, sólo se envíainformación binaria cuando está disponible y la línea está desocupada cuandono hay información por transmitir. Esto contrasta con la información síncrona,en la cual los bits deben transmitirse en forma continua para conservarsincronizada la frecuencia de reloj en ambas unidades.

 

Una técnica serial de transmisión asíncrona de datos, utilizada en muchasterminales interactivas emplea bits especiales que se insertan en ambosextremos del código de carácter. Con esta técnica, cada carácter consta detres partes: un bit de inicio, los bits del carácter y los bits de paro. Laconvención es que el transmisor está en el estado 1 cuando no se transmitencaracteres. El primer bit, llamado el bit de inicio, es siempre O y se utiliza para

Page 114: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 114/135

 

indicar el comienzo de un carácter. El último bit, llamado el bit de paro, essiempre 1.

 

Un carácter transmitido puede detectarlo el receptor a partir del conocimientode las reglas de transmisión:

 

1. Cuando no se está enviando un carácter, la línea se mantiene en el estado 1.

2. La iniciación de una transmisión de carácter se detecta a partir del bit deinicio, el cual es siempre O.

3. Los bits de caracteres siempre van después del bit de inicio.

Después de que se transmite el último bit de carácter, se detecta un bit deparo cuando la línea retorna al estado 1, por al menos un tiempocorrespondiente a un bit.

Al usar estas reglas, el receptor puede detectar el bit de inicio cuando la líneapasa de 1 a 0. Un reloj en el receptor examina la línea en los tiempos de bitconvenientes. El receptor conoce la velocidad de transferencia de los bits y lacantidad de bits de caracteres que debe aceptar. Después de que setransmiten los bits de caracteres, se envían uno o dos bits de paro. Los bits deparo están siempre en el estado 1 y marcan el fin del carácter para dar aentender el estado desocupado o de espera.

 

Page 115: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 115/135

 

Al final del carácter, la línea se conserva en el estado 1 por un período de almenos uno o dos tiempos correspondientes a un bit, para que el transmisor yel receptor puedan volverse a sincronizar. El tiempo que la línea permanece en

este estado depende de la cantidad de tiempo requerida por el equipo paravolverse a sincronizar. Algunas terminales electromecánicas antiguas utilizandos bits de paro, pero las terminales más nuevas utilizan sólo un bit. La líneapermanece en el estado 1 hasta que se transmite otro carácter. El tiempo deparo asegura que no llegará un carácter nuevo durante uno o dos tiempos debit.

 

Como ejemplo, consideremos la transmisión serial de una terminal cuyavelocidad de transferencia es de 10 caracteres por segundo. Cada caráctertransmitido consta de un bit de inicio, ocho bits de información, y dos bits deparo, para un total de 11 bits. 10 caracteres por segundo significan que cadacarácter necesita O.ls para la transferencia. Como se van a transmitir 11bits, sesabe que el tiempo para un bit es 9.09 ms. La velocidad en baudios se definecomo la velocidad a la cual se transmite información serial y es equivalente ala transferencia de datos en bits por segundo. Diez caracteres por segundo conun formato de 11 bits tiene una velocidad de transferencia de 110 baudios. Laterminal tiene un teclado y una impresora. Cada vez que se oprime una tecla,una terminal envía 11 bits en forma serial a lo largo de una línea. Para imprimirun carácter en la impresora, debe recibirse un mensaje de 11 bits a través deotra línea. La interface de la terminal consta de un transmisor y un receptor. Eltransmisor acepta un carácter de 8 bits de la computadora y procede a enviarun mensaje serial de 11 bits a través de la línea de la impresora. El receptoracepta el mensaje serial de 11 bits de la línea del teclado e introduce el códigode carácter de 8 bits dentro de la computadora. Están disponibles circuitosintegrados diseñados en forma específica para proporcionar la interface entrela computadora y terminales interactivas similares. Tal circuito se denominauna interface de comunicación asíncrona o receptor-transmisor asíncrono

universal (universal asynchronous receiver-transmitter, UART).

 

5.4 Modos de transferencia

Page 116: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 116/135

 

 

La información binaria recibida de un dispositivo externo por lo general sealmacena en la memoria para su procesamiento posterior. La informacióntransferida de la computadora central a un dispositivo externo se origina en launidad de memoria. La CPU sólo ejecuta las instrucciones E/S y puede aceptarlos datos en forma temporal, pero la fuente o destino final es la unidad dememoria. La transferencia de datos entre la computadora central y losdispositivos de E/S puede manejarse en diversos modos. Algunos modosutilizan la CPU como una trayectoria intermedia; otros transfieren los datosdirectamente a y de la unidad de memoria. La transferencia de datos de y aperiféricos puede manejarse en uno de tres modos posibles.

 

Las operaciones de E/S programadas son el resultado de instrucciones de E/Sescritas en el programa de la computadora. Cada transferencia de datos seinicia mediante una instrucción en el programa. Por lo general, la transferenciaes hacia y desde un registro de CPU o periférico. Se necesitan otrasinstrucciones para transferir los datos hacia y desde la CPU y la memoria.

 

1. E/S programada

2. E/S iniciada por interrupción

Acceso directo a memoria (DMA)

transferir datos bajo el control del programa requiere que la CPU realice unmonitoreo constante de periféricos. Una vez que se inicia una transferencia de

Page 117: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 117/135

 

datos, es necesario que la CPU monitoree la interface para ver cuándo puedevolverse a hacer una transferencia. Depende de las instrucciones programadasy ejecutadas en la CPU, observar en detalle todo lo que acontece en la unidadde interface y en el dispositivo de E/S.

 

En el método de E/S programada, la CPU permanece en un ciclo de programahasta que la unidad de E/S indica que está preparada para transferencia dedatos. Este es un proceso que consume bastante tiempo porque mantieneocupado el procesador en forma innecesaria. Puede evitarse al usar una opciónde interrupción y comandos especiales para informar a la interface que emitauna señal de solicitud de interrupción cuando están disponibles los datos del

dispositivo. Mientras tanto, la CPU puede avanzar a ejecutar otro programa. Enese lapso, la interface sigue monitoreando dispositivos. Cuando la interfacedetermina que el dispositivo está preparado para transferencia de datos,genera una solicitud de interrupción a la computadora. Cuando se detecta laseñal de interrupción externa, la CPU detiene un momento la tarea que estáprocesando, transfiere el control a un programa de servicio para procesar latransferencia de E/S y después regresa a la tarea que ejecutaba originalmente.

 

La transferencia de datos bajo E/S programada es entre la CPU y un periférico.En el acceso directo a memoria, (DMA), la interface transfiere datos haciaadentro y hacía afuera de la unidad de memoria por medio del canal dememoria. La CPU inicia la transferencia al proporcionar a la interface ladirección inicial y la cantidad de palabras necesarias que se van

a transmitir y después avanza a ejecutar otras tareas. Cuando se hace latransferencia, el DMA solícita ciclos de memoria mediante el canal de memoria.Cuando el controlador de memoria concede la solicitud, el DMA transfiere losdatos directamente a la memoria. La CPU sólo retrasa su operación de accesoa memoria para permitir la transferencia directa de E/S a memoria. Como lavelocidad de los periféricos por lo general es menor que la velocidad delprocesador, las transferencias a memoria de E/S no son frecuentes encomparación con el acceso a memoria del procesador.

Page 118: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 118/135

 

 

Muchas computadoras combinan la lógica de interface con los requisitos paraacceso directo a memoria en una unidad y la llaman procesador de E/S IOP. ElIOP puede manejar muchos periféricos a través de un DMA y la opción deinterrupción. Con tal sistema, la computadora se divide en tres módulosseparados: la unidad de memoria, la CPU y el IOP.

 

En el método de E/S programada, el dispositivo de E/S no tiene acceso directoa la memoria.

Una transferencia de un dispositivo de E/S a memoria requiere que la CPUejecute varias instrucciones, incluyendo una instrucción de entrada para

transferir los datos del dispositivo a la CPU y una instrucción dealmacenamiento para transferir los datos de la CPU a la memoria. Puedennecesitarse otras instrucciones para verificar que están disponibles los datosdel dispositivo y para contar la cantidad de palabras transferidas.

 

Un ejemplo de transferencia de datos de un dispositivo de E/S por medio de

una interface a la CPU. El dispositivo transfiere bytes de datos uno a la vez,conforme están disponibles. Cuando está disponible un byte de datos, eldispositivo lo coloca en el canal de E/S y habilita su línea de datos válidos. Lainterface acepta el byte en su registro de datos y habilita la línea de datosaceptados. La interface activa un bit en el registro de estado quedenominaremos bit de "bandera" o bit E. Ahora el dispositivo puededeshabilitar la línea de datos válidos, pero no transferirá otro byte hasta que la

Page 119: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 119/135

 

interface deshabilite la línea de datos aceptados. Esto se apega alprocedimiento de reconocimiento mutuo.

 

Está escrito un programa para la computadora con el fin de comprobar labandera en el registro de estado, para determinar si se ha colocado un byte enel registro de datos mediante el dispositivo de E/S. Esto se hace al leer elregistro de estado dentro del registro de la CPU y comprobar el valor del bit debandera. Si la bandera es igual a 1, la CPU lee los datos del registro de datos.Después, la CPU o la interface desactivan el bit de bandera a 0, dependiendode cómo están diseñados los circuitos de la interface. Una vez que se desactivala bandeja, la interface deshabilita la línea de datos aceptados y el: dispositivo

puede transferir, entonces, el siguiente byte de datos.

 

Un diagrama de flujo del programa que debe escribirse para la CPU. Seconsidera que el dispositivo está enviando

una secuencia de bytes que debe almacenarse en la memoria. La transferenciade cada byte requiere de tres instrucciones:

1. Leer el registro de estado.

2. Comprobar el estado del bit de bandera y transferir el control al paso 1 sí noestá activado o al paso 3 si lo está.

Leer el registro de datos.

Cada byte se lee en el registro de la CPU y después se transfiere a la memoriacon una instrucción de almacenar. Una tarea común de programación de E/S es

Page 120: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 120/135

 

transferir un bloque de palabras de un dispositivo de E/S y almacenarlas en unbuffer de memoria. Un programa que almacena caracteres de entrada en elbúffer que utiliza las instrucciones.

 

El método de E/S programada es particularmente útil en computadoraspequeñas de baja velocidad o en sistemas que están dedicados a monitorearun dispositivo en forma continua. La diferencia en la velocidad de transferenciade información entre la CPU y el dispositivo de E/S hace ineficiente este tipo detransferencia. Para apreciar por qué es ineficiente, consideremos unacomputadora típica que puede ejecutar las dos instrucciones que leen elregistro de estado y comprueban la bandera en un micro-segundo.

Consideremos que el dispositivo de entrada transfiere sus datos a unavelocidad promedio de 100 bytes por segundo. Esto es equivalente a un bytecada 10000 micro-segundos. Esto significa que la CPU comprobará la bandera10,000 veces entre cada transferencia. La CPU está gastando tiempo mientrascomprueba la bandera en lugar de hacer alguna otra tarea de procesamientoútil.

 

5.5 Prioridad de interrupción

 

La transferencia de datos entre la CPU y un dispositivo de E/S la inicia la CPU.Sin embargo, la CPU no puede comenzar la transferencia a menos que el

dispositivo esté preparado para comunicarse con la CPU. La disponibilidad deldispositivo puede determinarse de una señal de interrupción. La CPU respondea la solicitud de interrupción al almacenar la dirección de retorno del PC dentrode una pila de memoria y después el programa se transfiere a una rutina deservicio que procesa la transferencia solicitada. Algunos procesadores tambiénsalvan dentro de la pila la palabra de estado del procesador (PSW) y carganuna nueva PSW para la rutina de servicio. Aquí no consideramos la PSW parano complicar el análisis de las interrupciones de E/S.

Page 121: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 121/135

 

 

En una aplicación típica, se conectan varios dispositivos de E/S a lacomputadora, y cada dispositivo puede originar una solicitud de interrupción.La primera tarea del sistema de interrupción es identificar la fuente de lainterrupción. También existe la posibilidad de que varías fuentes solicitenservicio en forma simultánea. En este caso, el sistema debe decidir también acuál dispositivo atender primero.

 

Una prioridad de interrupción es un sistema que establece una prioridad entrelas diversas fuentes para determinar qué condición se va atender primerocuando llegan al mismo tiempo dos solicitudes. El sistema también puededeterminar cuales condiciones se permiten para interrumpir a la computadoramientras se da servicio a otra interrupción. Se asignan niveles de interrupciónde alta prioridad a solicitudes que, si se posponen o interrumpen, puedenproducir consecuencias serias. Los dispositivos con transferencias de altavelocidad como discos magnéticos reciben una alta prioridad y los dispositivoslentos como los teclados reciben baja prioridad. Cuando dos dispositivos

interrumpen la computadora al mismo tiempo, la computadora atiende aldispositivo con mayor prioridad.

 

Puede establecerse la prioridad de interrupciones simultáneas medianteprogramación o circuitería. Se usa un procedimiento de "encuesta" paraidentificar la fuente de prioridad más alta por medio de programación. En este

método existe una dirección de transferencia de control común para todas lasinterrupciones y el programa cuida que las interrupciones comiencen en ladirección de transferencia y registra las fuentes de interrupción en secuencia.El orden en la cual se prueba determina la prioridad de cada interrupción. Seprueba primero la fuente de prioridad más alta y, si su señal de interrupciónestá activada, el control se transfiere a una rutina de servicio para esta fuente.De otra manera, se prueba la fuente con la siguiente prioridad hacia abajo y así 

Page 122: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 122/135

 

sucesivamente. Por lo tanto, la rutina de servicio inicial para todas lasinterrupciones consiste en un programa que prueba las fuentes de interrupciónen secuencia y transfiere el control a una de varias rutinas de servicio posibles.La rutina de servicio particular alcanzada, pertenece al dispositivo de prioridadmás alta entre todos los dispositivos que interrumpieron a la computadora. La

desventaja del método de programación es que, si hay muchas interrupciones,el tiempo requerido para registrarlas puede exceder el tiempo disponible paraatender el dispositivo de E/S. En esta situación, puede utílizarse una unidad decircuito de prioridad de interrupción para acelerar la operación.

 

Una unidad de prioridad de interrupción de circuitería funciona como un

administrador general en un ambiente de sistema de interrupciones. Aceptasolicitudes de interrupción de muchas fuentes, determina cuál de lassolicitudes que llegan tiene la prioridad más alta y emite una solicitud deinterrupción a la computadora con base en esta determinación. Para acelerar laoperación, cada fuente de interrupción tiene su propio vector de interrupciónpara accesar en forma directa su propia rutina de servicio.

Por lo tanto, no se necesita el registro porque todas las decisiones lasestablece la unidad de circuito de prioridad de interrupción. La función de

prioridad de círcuitería puede establecerla una conexión serial o paralela delíneas de interrupción. La conexión serial también se conoce como el métodode cadena circular.

 

5.6 Acceso directo a memoria (DMA)

 

La transferencia de datos entre un dispositivo de almacenamiento rápido comoun disco magnético y la memoria, con frecuencia está limitada por la velocidad

Page 123: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 123/135

 

de la CPU. Quitar la CPU de la trayectoria y permitir que el dispositivo periféricomaneje en forma directa los canales de memoria mejoraría la velocidad detransferencia. Esta técnica de transferencia se llama acceso directo a memoria(Direct Memory Access, DMA). Durante una transferencia DMA, la CPU estáinactiva y no tiene el control de los canales de memoria. Un controlador DMA

funciona sobre los canales para manejar la transferencia en forma directa entreel dispositivo de E/S y la memoria.

 

La CPU puede colocarse en un estado inactivo de diversas maneras. Un métodocomún que se usa con mucha frecuencia en los microprocesadores, esdeshabilitar los canales mediante señales de control especiales. muestra dos

señales de control en la CPU que facilitan la transferencia DMA. El controladorDMA utiliza la entrada de solicitud de canal (BR) para solicitar a la CPU queentregue el control de los canales. Cuando esta entrada está activa, la CPUtermina la ejecución de la instrucción actual y coloca el canal de direcciones, elcanal de datos, y las líneas de lectura y escritura dentro de un estado de altaimpedancia.

El estado de alta impedancia es equivalente a un circuito abierto, lo quesignifica que la salida está desconectada y no tiene un significado lógico. La

CPU activa la salida de cesión de canal (BG) para informar a la DMA externaque los canales están en estado de alta impedancia. La DMA que originó lasolicitud de canal puede ahora tomar el control de los canales para conducirtransferencias de memoria sin la intervención del procesador. Cuando la DMAtermina la transferencia, deshabilita la línea de solicitud de canal. La CPUdeshabilita la cesión del canal, toma el control de los canales y retorna a suoperación normal.

 

Cuando la DMA toma el control del canal del sistema, se comunicadirectamente con la memoria. La transferencia puede hacerse de variasmaneras. En la transferencia de DMA en ráfagas, es una secuencia de bloque,que consiste en varias palabras de memoria, se transfiere en una ráfagacontinua mientras el controlador DMA domina los canales de memoria. Este

Page 124: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 124/135

 

modo de transferencia se necesita para dispositivos rápidos como discosmagnéticos, en donde la transmisión de datos no puede detenerse o hacerselenta hasta que sea transferido todo un bloque. Una técnica alterna llamadarobo de ciclo, permite al controlador DMA transferir una palabra de datos a lavez, después de lo cual debe retornar el control a los canales de la CPU. La CPU

sólo retrasa su operación por un ciclo de memoria para permitir que latransferencia de E/S de memoria directa "robe" un ciclo de memoria.

 

Controlador DMA.

El controlador DMA necesita los circuitos usuales de una interface paracomunicarse con la CPU y el dispositivo de E/S. Además necesita un registro dedireccionamíento, un registro de cuenta de palabras, y un conjunto de líneasde direccionamiento. El registro de direccionamiento y las líneas dedireccionamiento se utilizan para la comunicación directa con la memoria. Elregistro de cuenta de palabras especifica la cantidad de palabras que debentransferirse. La transferencia de datos puede hacerse directamente entre eldispositivo y la memoria bajo el control del DMA.

Se muestra el diagrama de bloque de un controlador de DMA típico. La unidadse comunica con la CPU mediante el canal de datos y las líneas de control. Losregistros en el DMA se seleccionan mediante la CPU por medio del canal dedatos al habilitar las entradas de selección de DMA (DS) y de selección deregistros (RS). Las entradas lectura (RD) y escritura (write, WR) sonbidireccionales. Cuando la entrada de cesión de canal (BG) es O, la CPU puedecomunicarse con los registros de DMA por medio del canal de datos para leerde o escribir en los registros DMA. Cuando BG = 1, la CPU ha entregado loscanales y el DMA puede comunicarse directamente con la memoria alespecificar una dirección en el canal de direcciones y activar el control RD o

WR. DMA se comunica con el periférico externo mediante líneas de solicitud yreconocimiento al utilizar un procedimiento preestablecido de reconocimientomutuo.

 

Page 125: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 125/135

 

El controlador de DMA tiene tres registros: un registro de direccionamiento, unregistro de cuenta de palabras y un registro de control. El registro dedíreccionamiento contiene una dirección para especificar la localidad deseada

en la memoria. Los bits de direccionamiento van a través de búffers al canal dedirecciones. El registro de direccionamiento se incrementa después que cadapalabra se transfiere a la memoria. El registro de cuenta de palabras contienela cantidad de palabras que’ se van a transferir. Este registro se decrementaen uno con cada transferencia de palabras y realiza una prueba interna enbusca de cero. El registro de control especifica el modo de transferencia. Todoslos registros en el DMA aparecen ante la CPU como registros de interface deE/S. Por lo tanto, la CPU puede leer o escribir dentro de los registros DMA bajoel control de programa mediante el canal de datos.

 

Primero, la CPU ínicializa el DMA. Después de eso, el DMA empieza y continúala transferencia de datos entre la memoria y la unidad periférica hasta que setransfiere un bloque completo. El proceso de inicialización es esencialmente unprograma que consiste en instrucciones de E/S que incluyen la dirección paraseleccionar registros DMA particulares. La CPU inicializa el DMA al enviar lasiguiente información por el canal de datos:

 

La dirección inicial del bloque de memoria en donde están disponibles los datos(para lectura) o donde se van a almacenar los datos (para escritura).

La cuenta de palabras, que es el número de palabras en el bloque de memoria.

Un control para especificar el modo de transferencia como de lectura o deescritura.

Un control para iniciar la transferencia DMA.

Page 126: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 126/135

 

La dirección inicial se almacena en el registro de direccionamiento. La cuentade palabras se almacena en el registro de cuenta de palabras y la informaciónde control en el registro de control. Una vez que se inicializa el DMA, la CPU

detiene la comunicación con el DMA, sólo que reciba una señal de interrupcióno que desee comprobar cuántas palabras se han transferido.

 

5.7 Procesador de entrada-salida (IOP)

 

En lugar que cada interface se comunique con la CPU, una computadora puedeincorporar uno o más procesadores externos y asignarles la tarea decomunicarse directamente con todos los dispositivos E/S. Un procesador deentrada-salida (IOP), puede clasificarse como un procesador con capacidad deacceso directo a memoria que comunica con dispositivos de E/S. En estaconfiguración, el sistema de computadora puede dividirse en una unidad dememoria y varios procesadores que comprenden la CPU y uno o más IOP. Cada

IOP atiende tareas de entrada y salida, relevando a la CPU de los "quehaceresdomésticos" que involucran las transferencias de E/S. Un procesador quecomunica con terminales remotas por teléfono y otros medios de comunicaciónen forma serial se llama un procesador de comunicación de datos (DCP).

 

El IOP es similar a una CPU, excepto que está diseñado para manejar losdetalles del procesamiento de E/S. A diferencia del controlador de DMA, quedebe ser inicializado por completo por la CPU, el IOP puede buscar en memoriay ejecutar sus propias instrucciones. Las instrucciones IOP estánespecíficamente diseñadas para facilitar las transferencias de E/S. Además, elIOP puede ejecutar otras tareas de procesamiento, como aritmética, lógica,transferencia de control y traducción de código.

Page 127: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 127/135

 

 

El diagrama de bloque de una computadora con dos procesadores. La unidadde memoria ocupa una posición central y puede comunicarse con cadaprocesador mediante acceso directo a memoria. La CPU es responsable delprocesamiento de datos necesarios en la solución de tareas computacionales.El IOP proporciona una trayectoria para transferencia de datos con diversosdispositivos periféricos y la unidad de memoria. Por lo general, la CPU tiene latarea de inicializar un programa de E/S. En lo sucesivo el IOP opera en formaindependiente de la CPU y continúa transmitiendo datos de dispositivosexternos y la memoria.

 

Los formatos de datos de los dispositivos periféricos difieren de los formatos dedatos de la memoria y la CPU. El IOP debe estructurar palabras de datos demuchas fuentes diferentes. Por ejemplo, puede ser necesario tomar cuatrobytes de un dispositivo de entrada y guardarlos en una palabra de 32 bitsantes de la transferencia a memoria. Los datos se reúnen en el IOP a lavelocidad del dispositivo y a la capacidad de bits mientras la CPU ejecuta su

propio programa. Después de que los datos se reúnen en una palabra dememoria, se transfieren del IOP directamente dentro de la memoria al "robar"un ciclo de memoria de la CPU. De igual manera, una palabra de salidatransferida de la memoria al IOP se dirige del IOP al dispositivo de salida a lavelocidad del dispositivo y a su capacidad de bits.

 

Canal de EIS IBM 370

 

Page 128: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 128/135

 

El procesador de E/S en la computadora IBM 370 se denomina canal. Unaconfiguración de sistema de computadoras típico incluye varios canales y cadauno de ellos está conectado a uno o más dispositivos de E/S. Existen tres tiposde canales: multiplexor, selector y bloque multiplexor. El canal multiplexorpuede conectarse a varios dispositivos de velocidad lenta y media y puede

operar con varios dispositivos de E/S en forma simultánea. El canal selectorestá diseñado para manejar una operación de E/S a la vez y se usanormalmente para controlar un dispositivo de alta velocidad. El canal debloque multiplexor combina las características de los canales multiplexor yselector. Proporciona una conexión a varios dispositivos de alta velocidad, perotodas las transferencias de E/S pueden conducirse en un bloque de datoscompleto a diferencia de un canal multiplexor, que sólo puede transferir unbyte a la vez.

 

La CPUs comunica en forma directa con los canales por medio de líneas decontrol dedicadas e indirectamente por medio de áreas de almacenamientoreservadas en la memoria. Los formatos de palabra asociados con la operacióndel canal. El formato de instrucción de E/S tiene tres campos: código deoperación, dirección del canal y dirección del dispositivo. El sistema decomputadora puede tener varios canales y a cada uno se le asigna unadirección. De igual manera, cada canal puede estar conectado a varios

dispositivos y a cada dispositivo se le asigna una dirección. El código deoperación específica una de ocho instrucciones E/S: iniciar E/S, iniciar envíorápido de E/S, probar E/S, borrar E/S, detener E/S, detener dispositivo, probarcanal y almacenar identificación del canal. Los canales direccionadosresponden a cada una de las instrucciones de E/S y las ejecutan. Tambiénestablecen uno de cuatro códigos de condición en un registro de procesadorllamado palabra de estado del procesador (PSW). La CPU puede comprobar elcódigo de condición en la PSW para determinar el resultado de la operación deE/S. El significado de los cuatro códigos de condición es diferente para cadainstrucción de E/S.

Pero, en general, especifican si el canal o el dispositivo están ocupados, si sonoperacionales o no, si hay interrupciones pendientes, si la operación de E/Scomenzó exitosamente y si se almacenó una palabra de estado en la memoriapor medio del canal.

Page 129: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 129/135

 

 

El formato de la palabra de estado del canal. Siempre está almacenado en laposición 64 en la memoria. El campo de clave es un mecanismo de protección

utilizado para evitar el acceso no autorizado por parte de un usuario a lainformación que pertenece a otro usuario o al sistema operativo. El campo dedirección de la palabra de estado proporciona la dirección de la última palabradel comando utilizada por el canal. El campo de cuenta proporciona la cuentaresidual cuando se terminó la transferencia. El campo de cuenta mostrará cerosi la transferencia se terminó exitosamente. El campo de estado identifica lascondiciones en el dispositivo y el canal y cualesquiera errores ocurridosdurante la transferencia.

 

La diferencia entre las instrucciones iniciar E/S e iniciar envío rápido de E/S esque la última requiere menos tiempo de CPU para su ejecución, cuando elcanal recibe una de estas dos instrucciones, hace referencia a la localidad 72de la memoria para la dirección de la primera palabra de comando del canal(CCW). El formato de la palabra de comando. El campo de dirección de datosespecifica la primera dirección de un búffer de memoria y el campo de cuentaproporciona la cantidad de bits que participan en la transferencia. El campo de

comando especifica una operación de E/S y los bits de bandera proporcionaninformación adicional para el canal.

El campo de comando corresponde a un código de operación que especificauno de seis tipos de operaciones E/S:

 

1. Escribir. Transferir datos de la memoria a un dispositivo de E/S.

2. Leer. Transferir datos de un dispositivo de E/S a la memoria.

Page 130: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 130/135

 

3. Leer en reversa. Leer una cinta magnética cuando se mueve en reversa.

4. Controlar. Se usa para iniciar una operación que no implica transferencia dedatos, como rebobinar una cinta o posicionar un mecanismo de acceso a disco.

5. Detectar. Le informa al canal que transfiera su palabra de estado de canal ala localidad de memoria 64.

6. Transferir en el canal. Se utiliza en lugar de una instrucción de brinco. Aquí el campo de dirección de datos especifica la dirección de la siguiente palabrade comando que va a ejecutar el canal.

 

Consta de tres palabras de comando. La primera produce una transferenciadentro de una cinta magnética de 60 bytes desde la memoria comenzando enla dirección 4000. Las siguientes dos palabras de comando ejecutan unafunción similar con una porción diferente de la memoria y de cuenta de bytes.Las seis banderas en cada palabra de control especifican ciertas interrelaciones

entre las palabras de comando. La primera bandera se activa en 1 en laprimera palabra de comando para especificar "encadenamiento de datos". Dacomo resultado la combinación de 60 bytes de la primera palabra de comandocon los 20 bytes de su sucesor dentro de un registro de 80 bytes. Los 80 bytesse escriben en cintas sin ninguna separación o salto, aunque se utilizaron dossecciones de memoria. La segunda bandera se activa en 1 en la segundapalabra de comando para especificar "encadenamiento de comandos". Leinforma al canal que la siguiente palabra de comando utilizará el mismodispositivo de E/S, en este caso, la cinta. El canal le informa a la unidad decinta que comience a insertar un intervalo de registro en la cinta y avance a

leer la siguiente palabra de comando de la memoria. Después se escriben los40 bytes de la tercera palabra de comando en una cinta como un registroseparado. Cuando todas las banderas son igual a cero, significa terminar lasoperaciones de E/S para el dispositivo de E/S particular.

Un mapa de la memoria que muestra toda la información pertinente para elprocesamiento de E/S. La operación comienza cuando el programa de la CPU

Page 131: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 131/135

 

encuentra una instrucción de iniciar de E/S. El E/S va después a la posición dememoria 72 para obtener una palabra de dirección de canal. Esta palabracontiene la dirección inicial del programa de canal de E/S. En seguida, el canalavanza a ejecutar el programa especificado mediante las palabras de comandode canal. El canal construye una palabra de estado durante la transferencia y

la almacena en la posición 64. Cuando ocurre una interrupción, la CPU puedehacer referencia a la posición de memoria 64 para la palabra de estado.

 

5.8 Comunicación serial

 

Un procesador de comunicación de datos es un procesador de E/S quedistribuye y recoge datos de muchas terminales remotas conectadas medianteel teléfono y otras líneas de comunicación. Es un procesador de E/Sespecializado diseñado para comunicar directamente con redes decomunicación de datos. Una red de comunicación puede contener cualquierade una amplia variedad de dispositivos, como impresoras, dispositivos

interactivos de exhibición visual, sensores digitales o una opción decomputación remota. Con el uso de un procesador de comunicación de datos,la computadora puede dar servicio a fragmentos de cada demanda de red demanera intercalada y por lo tanto tener un desempeño aparente de servir amuchos usuarios a la vez. De esta manera, la computadora puede operareficientemente en un ambiente de tiempo compartido.

 

La diferencia más notable entre un procesador de E/S y un procesador decomunicación de datos es la manera en la que el procesador se comunica conlos dispositivos de E/S. Un procesador de E/S se comunica con los periféricos através de un canal de E/S común que consta de muchas líneas de datos y decontrol. Todos los periféricos comparten el canal común y lo utilizan paratransferir información hacia y desde el procesador de E/S. Un procesador decomunicación de datos se comunica con cada terminal por medio de un solo

Page 132: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 132/135

 

par de cables. La información de control y de datos se transmite de maneraserial con el resultado de que la velocidad de transferencia es mucho máslenta. La tarea del procesador de comunicación de datos es transmitir yrecoger información digital hacia y desde cada terminal, determinar si lainformación es de datos o de control y responder a todas las solicitudes de

acuerdo a procedimientos establecidos con anticipación. Es obvio que elprocesador también debe comunicarse con la CPU y la memoria de la mismamanera que cualquier procesador de E/S.

 

La manera en que están conectadas las terminales remotas a un procesador decomunicación de datos es mediante líneas telefónicas u otras opciones de

comunicación privadas o públicas. Como las líneas de comunicación estabandiseñadas originalmente para la comunicación de canal y las computadoras secomunican en términos de señales digitales, debe utilizarse alguna forma deconversión. Los convertidores se denominan conjuntos de datos, acopladoresacústicos o módems (de "modulador-demodulador"). Un módem convierte lasseñales digitales en tonos de audio que se transmiten por líneas telefónicas ytambién convierten tonos de audio de la línea a señales digitales para el uso dela máquina. Se utilizan varios esquemas de modulación al igual que diferentesgrados de medios de comunicación y velocidades de transmisión. Una línea decomunicación puede estar conectada a una interface síncrona o asíncrona,

dependiendo del método de transmisión de la terminal remota. Una interfaceasíncrona recibe datos seriales con bits de inicio y paro en cada carácter. Estetipo de interface es similar a la unidad de interface de comunicación asíncrona.

 

La transmisión síncrona no utiliza los bits de inicio y paro para delimitar loscaracteres y por lo tanto usa el enlace de comunicación de manera más

eficiente. Los dispositivos de alta velocidad utilizan la transmisión síncronapara obtener esta eficiencia. Los módems utilizados en la transmisión síncronatienen relojes internos que se inicializan a la frecuencia que se estántransmitiendo los bits en la línea de comunicación. Para una operaciónadecuada, se necesita que los relojes en los módems transmisor y receptorestén sincronizados en todas las ocasiones. Sin embargo, la línea decomunicación contiene sólo los bits de datos a partir de los cuales debe

Page 133: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 133/135

 

obtenerse la información de reloj. La sincronización de la secuencia la consigueel módem receptor de las transiciones de señal que ocurren en los datosrecibidos. Cualquier cambio de secuencia que puede ocurrir entre los relojestransmisor y receptor se ajusta continuamente al mantener el reloj receptor enla frecuencia del flujo de bits que llega.

 

El modem transfiere los datos recibidos junto con el reloj a la unidad deinterface. La interface o terminal en el lado transmisor también utiliza lainformación de reloj de su módem. De esta manera, se mantiene la mismavelocidad de bits en el transmisor y en el receptor.

 

A diferencia de la transmisión asíncrona, en la cual cada carácter puedeenviarse en forma separada con sus propios bits de inicio y paro, la transmisiónsíncrona debe enviar un mensaje continuo para mantener la sincronización. Elmensaje consta de un grupo de bits transmitidos en forma secuencial como unbloque de datos. todo el bloque se transmite con caracteres de control

especiales al comienzo y al final del bloque. Los caracteres de control al iniciodel bloque proporcionan la información necesaria para separar los bits quellegan en caracteres individuales.

 

Una de las funciones del procesador de comunicación de datos es verificar lapresencia de errores de transmisión. Puede detectarse un error al comprobar la

paridad en cada carácter recibido. Otro procedimiento utilizado en terminalesasíncronas en las que interviene un operador humano es escuchar el eco de loscaracteres. El procesador reconoce los caracteres transmitidos del teclado a lacomputadora y los retransmite a la impresora terminal. El operador debe darsecuenta de que ha ocurrido un error durante la transmisión si el carácterimpreso no es igual a la tecla que se ha oprimido.

Page 134: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 134/135

 

 

En la transmisión síncrona, en la cual se transmite un bloque de caracterescompleto, cada carácter tiene un bit de paridad que debe verificar el receptor.

Después de que se envía el bloque completo, el transmisor envía un caráctermás que constituye una paridad sobre la longitud del mensaje. Este carácter sellama una comprobación de redundancia longitudinal (longitudinal redundancycheck, LRC) y es la acumulación de las OR exclusivas de todos los caracteresrecibidos. La estación receptora calcula la LRC conforme recibe caracteres y lacompara con la LRC transmitida. Las LRC calculadas deben ser iguales paraque los mensajes no contengan error. Si el receptor encuentra un error en elbloque transmitido, le informa a quien envía que retransmita el mismo bloquede nuevo. Otro método utilizado para comprobar errores en la transmisión es lacomprobación de redundancia cíclica (ciclyc redundancy check, CRC). Este es

un código de polinomio que se obtiene de los bits de mensaje al pasarlos através de un registro de corrimiento retroalimentado que contiene variascompuertas OR exclusivas. Este tipo de código es conveniente para detectarerrores de ráfaga que ocurren en el canal de comunicación.

 

Pueden transmitirse datos entre dos puntos en tres modos diferentes: símplex,

semidúplex o dúplex completo. Una línea símplex transmite información sóloen una dirección.

Este modo se utiliza rara vez en comunicación de datos porque el receptor nopuede comunicarse con el transmisor para indicarle la aparición de errores. Losejemplos de transmisión simpiex son la programación de radio y televisión.

 

Un sistema de transmisión semidúplex es uno que puede transmitir en ambasdirecciones pero sólo pueden transmitirse los datos en una dirección a la vez.Se necesitan un par de cables para este modo. Una situación común es la deun modem que actúa como el transmisor y otro como receptor. Cuandotermina la transmisión en una dirección, el papel de los modems se invierte

Page 135: organizacion de computadoras

5/12/2018 organizacion de computadoras - slidepdf.com

http://slidepdf.com/reader/full/organizacion-de-computadoras-55a4d312cd525 135/135

 

para habilitar la transmisión en sentido opuesto. El tiempo requerido paracambiar una línea semidúplex de una dirección a otra se llama tiempo devuelta.

 

Una transmisión dúplex completa puede enviar y recibir datos en ambasdirecciones simultáneamente. Esto puede lograrse mediante un enlace decuatro cables con un par de líneas diferentes dedicadas a cada dirección detransmisión. Alternativamente, un circuito de dos líneas puede soportarcomunicación dúplex completa si el espectro de frecuencia se subdivide en dosbandas de frecuencia no sobrepuestas para crear canales de recepción ytransmisión separados en el mismo par de líneas físico.

 

Las líneas de comunicación, los módems y otro equipo utilizado en latransmisión de información entre dos o más estaciones se denomina enlace dedatos. La transferencia de información ordenada en un enlace de datos seconsigue mediante un protocolo. Un protocolo de control de enlace de datos es

un conjunto de reglas que siguen las computadoras y terminalesinterconectadas para asegurar la transferencia de información ordenada. Elpropósito de un protocolo de enlace de datos es establecer y terminar unaconexión entre dos estaciones, identificar al transmisor y al receptor,asegurarse que todos los mensajes pasen en forma correcta sin errores ymanejar todas las funciones de control implícitas en una secuencia detransferencias de datos. Los protocolos se dividen en dos categoríasprincipales, de acuerdo a las técnicas de ordenamiento de mensajes. Estos sonel protocolo orientado a caracteres y el protocolo orientado a bits.