Diseño logico de procesadores

55
 368  LOGICA DE TRASFER ENCIA ENTRE REGISTROS CAP. 8 ( a )  r,:  F*- A f\ B (b ) T 2 : G^C\JD ( c )  T 3: E*-E C + D: F<-A + B Especifique la trasferencia en serie dibujada en la Figura 7-8 en forma sim  b ob e a . S e a S  la función de control de desplazamiento. Asuma que S se habi lita por un período de cuatro pulsos. Muestre los elementos y materiales que configuran la siguiente proposición Incluya las compuertas lógicas para la función de control. . Un sist em a digit al tiene tre s registro s:  A R , B R y  P R. Los tres flip-flops su ministran las funciones de control del sistema. S es un flip-flop el cual es habilitado por una señal externa para comenzar la operación del sistema;  F  y  R se usan para dar secuencia a las microoperaciones. Un cuarto flip-flop,'  D, se pone a 1 por el sistema digital una vez se complete la operación.  La función del sistema se describe por medio de las siguientes operaciones de trasferencia entre registros:  S: PR ^O ,  S *-0, D+-0,  F <-  1  F ^ O ,  s i  (AR =  0 ) entonces  (D^l)  por tanto  ( R   1 )  R : P R < -P R + B R , A R < -A R -l, R<-0,  F«-l ¿Cuál es la función que ejecuta el sistema? -15. Eje cu te las o pe ra ci o ne s ari tméti cas (+ 4 2 ) + (- 1 3 ) y (- 42) - ( - 13 ) en bi nario usando: (a) Representación en sign o-co m plem ento de 1. (b) Representación en sign o-co m plem ento de 2 . Los números binarios listados a continuación tienen un bit de signo en la  posic n de e x tre m a izq u ie rd a y si so n n eg a t iv o s se r e p r ese n t a n e n c o m ple mento de 2. Realice las operaciones aritméticas indicadas, usando los algo ritmos de sum a y resta enunciado s en el texto. Co mp rueb e su s resultados haciendo la aritmética con números decimales equivalentes.  xy 'T 0  + T¡ + x'yT 2 : A *— A + B (a ) 00 1110 + 1 10 01 0 ( b ) 01 0101 + 00 0011 (c ) 11 1 0 0 1 + 00 10 10 (d)  1 0 10 11 + 111000 ( e)  01 0101 (f) 001 01 0 g 11 10 01 ( h) 10 1011 000111 11 10 01 00 10 10 10 01 10

Transcript of Diseño logico de procesadores

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 1/55

368 L O G I C A D E T R A S F E R E N C I A E N T R E R E G I S T R O S CAP. 8

(a) r,: F*- A f\ B

(b) T 2: G^C\JD

(c) T 3: E*-E 

C + D: F<-A + B

Especifique la trasferencia en serie dibujada en la Figura 7-8 en forma sim bobea. SeaS la función de control de desplazamiento. Asuma que S se habilita por un período de cuatro pulsos.

Muestre los elementos y materiales que configuran la siguiente proposición

Incluya las compuertas lógicas para la función de control.

. Un sistema digital tiene tres registros:A R , BR y P R . Los tres flip-flops suministran las funciones de control del sistema. S es un flip-flop el cual eshabilitado por una señal externa para comenzar la operación del sistema;

 F y R se usan para dar secuencia a las microoperaciones. Un cuarto flip-flop,' D, se pone a 1 por el sistema digital una vez se complete la operación. Lafunción del sistema se describe por medio de las siguientes operaciones detrasferencia entre registros:

  S: PR^O,S *-0, D+-0, F <- 1

 F ^ O , s i (AR = 0 ) entonces ( D ^ l ) por tanto (R —  1 )

  R: PR<-PR + BR, AR<-AR-l, R<-0, F«-l 

¿Cuál es la función que ejecuta el sistema?

-15. Ejecute las operaciones aritméticas (+ 42) + (- 13) y (-42) - ( -13) en binario usando:

(a) Representación en signo-complemento de 1.(b) Representación en signo-complemento de 2.

Los números binarios listados a continuación tienen un bit de signo en la posición de extrema izquierda y si son negativos se representan en complemento de 2. Realice las operaciones aritméticas indicadas, usando los algoritmos de suma y resta enunciados en el texto. Compruebe sus resultados

haciendo la aritmética con números decimales equivalentes.

 xy'T 0 + T¡ + x'yT 2: A *— A + B

(a) 001110 + 110010(b) 010101 + 000011(c) 111001 + 001010(d) 101011 + 111000

(e)010101(f) 001010( g ) 111001

(h) 101011

000111111001001010100110

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 2/55

P R O B L E M A S 369

8-17. ¿Cuál es el rango de los números que pueden ser acomodados en un registro

de 16 bits cuando los números binarios se representan en:(a) Signo-magnitud?(b) Signo-complemento de 2?Dé las respuestas en representación decimal equivalente.

8-18. Ejecute las operaciones aritméticas listadas a continuación con números binarios en representación de signo-complemento de 2 y aplicando el algoritmo enunciado en el texto. Use ocho bits para acomodar cada número con

 juntamente con su signo:

(1) ( + 65) + ( + 78) (4) ( + 65) + (-78)(2) (-65)+ (-78) (5) (-65) + ( + 78)(3) ( + 35) + ( + 40) (6) (-35) + (-40)

Inspeccione la respuesta de 8 bits en cada caso y:(a) Determine si hay una sobrecapacidad.(b) Liste los arrastres (carries) que entran o salen de la posición correspon

diente al bit de signo.(c) Determine el signo del resultado (el octavo bit).(d) Enuncie la relación entre (a) y (b).(e) Enuncie la relación entre (a) y (c).

8-19. (a) Muestre que el contenido de un registro de 8 bits que almacena los números + 36 y -36 en binario y en tres representaciones diferentes, esdecir, signo-magnitud, signo-complemento de 1 y signo-complementode 2.'

(b) Muestre el contenido del registro después de que los números se desplacen aritméticamente una posición a la derecha (en todas las tres representaciones).

(c) Repita (b) para un desplazamiento a la izquierda.

8-20. Dos números en representación de signo-complemento de 2 se suman de lamanera mostrada en la Figura 8-10 y la suma se trasfiere al registro A. Muestre que el desplazamiento aritmético a la derecha simbolizado por:

 A<-s\irA, A„^An@V 

  producirá siempre la suma correcta dividida por 2 hubiese o no ocurridouna sobrecapacidad en la suma original.

8-21. Represente + 149 y - 178 en BDC usando la representación de signo-complemento de 10. Use un bit para el signo. Sume los dos números BDC, incluyendoel bit de signo e interprete la respuesta obtenida.

8-22. Los registros para sumar y restar números decimales representados en signo-complemento de 10 es similar a los algoritmos para los números binarios re

 presentados en signo-complemento de 2.(a) Enuncie los algoritmos para la adición y sustracción con representación

en signo-complemento de 10. Un signo positivo se representa por un 0 yun sig o negativo por un 9 en la posición más significativa.

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 3/55

370 L O G I C A D E T R A S F E R E N C I A E N T R E R E G I S T R O S

(b) Aplique los algoritmos para los conjuntos decimales ( -638) + (785) v(- 638)-(185).

8-23. Un número binario de punto flotante de 36 bits tiene 8 bits más el signo parael exponente. El coeficiente se asume como una fracción normalizada. Losnúmeros en el coeficiente y exponente están en la forma de signo-magnitud.¿Cuáles son las mayores y menores cantidades positivas que pueden seracomodadas, excluyendo el cero?

8-24. Un registro de 30 bits almacena un número decimal de punto flotante representado en BDC. Los coeficientes ocupan 21 bits del registro y se asume como un entero normalizado. Los números en el coeficiente y exponente se asumen representados en forma de signo-magnitud. ¿.Cuáles son las cantidadesmayores y menores que pueden ser acomodadas excluyendo el cero?

8-25. Represente el número ( + 31,5),,, con un coeficiente entero normalizado de

13 bits y un exponente de 7 bits como:(a) Un número binario (asuma base de 2).

ib/ Un número octal binario codificado (asuma base de 8).

(ci Un numero hexadecimal binario codificado (asuma base de 16).

8-26. El registro A almacena la información binaria 11011001. Determine el operando B y la microoperacion lógica que se va a realizar entre A y B para cambiarel valor de A a:

(a) 01101101

ib) 11111101

8-27. Determine la operación lógica que borrará selectivamente los bits del registro A en aquellas posiciones donde hay 1 en los correspondientes bits del

registro B.

8-28. Un computador digital tiene una unidad de memoria con 24 bits por palabra.El conjunto de instrucciones consiste de 190 operaciones diferentes. Cadainstrucción se almacena en una palabra de la memoria y consiste de una parte de código de operación y una parte de dirección.

(a) ¿Cuántos bits se necesitan para el código de operación?

(b) ¿Cuántos bits se dejan para la parte de dirección de la instrucción?

(c) ¿Cuántas palabras pueden acomodarse en la unidad de memoria?

'd) ¿Cuál es el mayor número binario de punto fijo con signo que puede seralmacenado en una palabra de memoria?

8-29. Especifique un formato de ins trucción para un computador que realice la siguiente operación:

  A * M\dirección] + R

donde R puede ser cualquiera de los ocho registros posibles en el procesador.

8-30. Asuma que la unidad de memoria de la Figura 8-14 tiene 65,536 palabras de8 bits cada una.

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 4/55

PROBLEMAS 377

(a) ¿Cuál debería ser el número de bits de los cinco primeros registros 1

tados en la Tabla 8-4?

(b) ¿Cuántas palabras de memoria se requieren para almacenar la instnción:

  LDA ADRS 

como se especifica en la Tabla 8-5?(c) Liste la secuencia de microoperaciones necesarias para ejecutar la ins

trucción. El registro R puede ser usado para almacenar temporalmenteparte de una dirección.

8-31 Una instrucción inmediata para un simple computador definida en la Figura8-14 tiene un código de operación 00000100. La instrucción se especifica dela siguiente manera:

  L R I OPRO (Ca r g a r OPRDa f i ) R- OPRO

Liste la secuencia de microoperaciones para ejecutar esta instrucción.

8-32 Repita el diseño del computador sencillo presentado en la Figura 8-12. Remplace las instrucciones en la Tabla 8-5 por las siguientes instrucciones:

Códigode operación Mne mòni co Descripc ión Funci ón

00000001 ADD R Sumar directo a A A <- A + R00000010 ADI OPRD Sumar el operando a A A <- A + OPRD00000011 ADA ADRS Sumar R a A A <- A + M[ADRS]

8-33 Dibuje un diagrama de bloque mostrando la configuración de componentdel sistema especificado en el Problema 8-14. Incluya una entrada de comie, zo para poner a 1 el flip-flop S y una salida de hecho (done) para el flip-ílop 1

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 5/55

Diseño lóg ico

d e p r o c e s a d o r e s

9 - 1 I N T R O D U C C I O N

Una unidad procesadora es aquella parte de un sistema digital o un com putador digital que configura las operaciones en el sistema. Está compuesta por un numero de registros y de funciones digitales que conforman micro-operaciones aritméticas, lógicas, de desplazamiento y trasferencia. Launidad de proceso se llama una unidad central de proceso o CPU, cuandose combina con una unidad de control que supervisa la secuencia de micro-operaciones. Este capítulo versa sobre la organización y diseño de la unidad del procesador. El siguiente capítulo trata de la lógica de diseño de launidad de control. En el Capítulo 11 se demostrará la organización y diseñode un computador CPU.

El número de registros de una unidad procesadora varía desde un registro procesador hasta 64 registros o más. Algunos computadores antiguosvienen con un registro procesador solamente. En algunos casos un sistema

digital puede emplear un registro procesador sencillo para propósitos especiales. Sin embargo, como los registros y otras funciones digitales son de bajo costo cuando se construyen con circuitos integrados, todos los computadores recientes emplean un gran número de registros procesadores ycanalizan la información entre ellos a través de buses comunes.

Una operación puede ser configurada en una unidad de proceso conuna microoperación sencilla o con una secuencia de microoperaciones. Por ejemplo la multiplicación de dos números binarios almacenados en dos registros puede ser configurada con un circuito combinacional que realiza laoperación por medio de compuertas. Tan pronto como las señales se propagan a través de las compuertas, el producto estará disponible y puede ser trasfendo a un registro de destino con un pulso de reloj sencillo. Alternativamente, la operación de multiplicación puede realizarse con una secuencia de microoperaciones de suma y desplazamiento. El método escogido para

la configuración determina la cantidad y tipo de componentes de la unidadde proceso.

372

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 6/55

SEC. 9-2 O R G A N I Z A C I O N D E L P R O C E S A D O R 373

Todos los computadores, excepto los muy grandes y rápidos, configurar,las operaciones participantes por medio de una secuencia de microopera

ciones. De esta manera, el procesador necesita tener solamente circuitosque configuren las microoperaciones básicas simples tales como sumar ydesplazar. Otras operaciones, tales como multiplicación, división y aritmética de punto flotante, se generan conjuntamente con la unidad de control.La unidad procesadora en sí se diseña para configurar microoperaciones

  básicas del tipo discutido en el Capítulo 8. La unidad de control se diseña para dar secuencia a las microoperaciones que no se incluyen en el conjunto básico.

La función digital que configura las microoperaciones con la información almacenada en los registros del procesador se llama comúnmente unidad básica aritmética o ALU. Para realizar una microoperación, el controlcanaliza la fuente de información de los registros hasta las entradas delALU. El ALU recibe la información de los registros y realiza una operacióndada de la manera especificada por el control. El resultado de la operación

se trasfiere al registro de destino. Por definición, el ALU es un circuitocombinacional; de manera que toda la operación de trasferencia entre registros pueden realizarse durante el intervalo de un pulso de reloj. Todaslas operaciones de trasferencias entre registros, incluyendo la trasferenciaentre registros de una unidad procesadora típica, se realizan en un ALUcomún; de lo contrario, sería necesario duplicar las funciones digitales

  para cada registro. Las microoperaciones de desplazamiento se realizan amenudo en una unidad separada. Una unidad de desplazamiento se muestra por lo general separada, pero algunas veces está incluida como parte dela unidad enteramente aritmética y lógica.

Un computador CPU debe manipular no solamente datos sino tambiéncódigos de instrucción y direcciones que vienen de la memoria. El registroque almacena y manipula el código de operación de instrucciones se consi

dera como parte de la unidad de control. Los registros que almacenan direcciones son incluidos algunas veces como parte de la unidad de proceso y lainformación de direcciones se procesa por un ALU común. En algunos com

 putadores, los registros que almacenan direcciones son conectados a un busseparado y la información de dirección se manipula con funciones digitalesseparadas.

Este capítulo presenta varias alternativas para la organización y diseño de una unidad de proceso. El diseño de una unidad aritmética lógica

  particular se lleva a cabo para mostrar el proceso de diseño usado en laformulación e implementación de una función digital común capaz de realizar un gran número de microoperaciones. Otras funciones digitales consideradas y diseñadas en este capítulo son la unidad de desplazamientoy el registro procesador para propósitos generales, comúnmente llamadoacumulador.

9-2 ORGANIZACION DEL PROCESADOR 

La parte procesadora de un computador CPU se trata algunas veces comoel canal de datos del CPU porque el procesador formula los canales de trasferencia de datos entre los registros de la unidad. Los diferentes caminos

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 7/55

374  DISEÑO LOGICO DE PROCESADORES CAP. 9

son controlados supuestamente por medio de compuertas que abren los caminos necesarios y cierran otros. Una unidad procesadora puede diseñarse

  para satisfacer un conjunto de canales de datos para una aplicación específica. El diseño de un procesador para propósitos especiales fue demostrado en la Sección 8-9. La Figura 8-16 muestra los diferentes canales de datos

 para un procesador muy limitado. La abertura de los canales o caminos dedatos se logra por medio de decodificadores y circuitos combinacionalesque comprenden la sección de control de la unidad.

En una unidad procesadora bien organizada, los canales de datos seforman por medio de buses y otras líneas comunes. Las compuertas de control que formulan los canales de datos son esencialmente multiplexores ydecodificadores cuyas líneas de selección especifican el camino requerido.El proceso de información se hace mediante una función digital común cuyocanal de datos puede ser especificado por un conjunto de variables de selección comunes. Una unidad procesadora que tiene una organización bienestructurada puede usarse en una gran cantidad de operaciones. Si seconstruye dentro de un circuito integrado, se hará disponible para muchosusuarios ya que para cada uno se puede tener una aplicación diferente.

En esta sección, se investigan varias alternativas para organizar unaunidad procesadora para propósitos generales. Todas las organizacionesemplean un ALU común y un registro de desplazamiento. Las diferenciasen las organizaciones se manifiestan principalmente en la organización delos registros y sus canales comunes al ALU.

Organización del bus

Cuando se incluye un gran número de registros en una unidad de procesoes más eficiente conectarlos por medio de buses comunes o arreglarlos co

mo una memoria pequeña que tiene un tiempo de acceso muy rápido. Losregistros se comunican entre sí no solamente por la trasferencia directade datos sino también cuando se realizan varias microoperaciones. En laFigura 9-1 se muestra una organización con bus para cuatro registros procesadores. Cada registro se conecta a dos multiplexores (MUX) para formar los buses de entrada A y B. Las líneas de selección de cada multiplexor seleccionan un registro para el bus particular. Los buses A y B se aplicana una unidad lógica aritmética común. La función seleccionada en el ALUdetermina la operación particular que se va a realizar. Las microoperaciones de desplazamiento se configuran en el registro de desplazamiento. Elresultado de la microoperación pasa a través del bus de salida S hasta lasentradas de todos los registros. El registro de destino que recibe la información del bus de salida se selecciona por medio de un decodificador.Cuando se habilita, este decodificador activa una de las entradas de carga

del registro para suministrar un canal de trasferencia entre los datos del  bus S y las entradas del registro de destino seleccionado.

El bus de salida S alimenta los terminales para trasferir datos de undestino externo. Una entrada del multiplexor A o B puede recibir datos delos elementos que lo rodean cuando es necesario trasferir datos externosa la unidad de proceso.

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 8/55

Carga

Habilitar • Decodificador

Selección

de destino

 RO

 R2

 R3

Selector A- MUX

Entradade datos

Selector B

Bus A Bus B

Unidad aritméticalógica (ALU)

Registro de dssplazamiento

Bus S

-Selector defunción

«— Selector dedesplazamiento

Salida de datos

Figura 9-1 Registros procesadores y ALU conectados por medio de buses comunes

375

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 9/55

376  D I S E Ñ O L O G I C O D E P R O C E S A D O R E SCAP. 9

La operación de los multiplexores, los buses y el decodificador de destino se explica en la Sección 8-2 conjuntamente con la Figura 8-6. El ALU

y el registro de desplazamiento se discuten más tarde en este capítulo.Una unidad procesadora puede tener más de cuatro registros. La construcción de un procesador con bus organizado con más registros requieremultiplexores mayores y decodificador; de otra forma sería similar a laorganización presentada en la Figura 9-1.

La unidad de control que supervisa el sistema de bus procesador dirige el flujo de información a través del ALU seleccionando los diferentescomponentes de la unidad. Por ejemplo para realizar la microoperación:

  R\«- R2 + R3

el control debe suministrar variables de selección binarias a las siguientesentradas de selección:

1. Selector MUX A: coloca el contenido de R2 en el bus A.

2. Selector MUX B: coloca el contenido de R3 en el bus B.

3. Selector de función ALU: genera la operación ari tmética A + B.

4. Selector de desplazamiento: para la trasferencia directa de la salidadel ALU al bus de salida S (ningún desplazamiento).

5. Selector de destino del decodificador: trasfíere el contenido del bus S  a Rl.

Las cinco variables selectivas de control deben ser generadas simultáneamente y deben estar disponibles durante un intervalo de pulso de relojcomún. La información binaria de los dos registros fuente se propaga a tra

vés de las compuertas combinacionales en los multiplexores, el ALU y elregistro de desplazamiento hasta el bus de salida y a las entradas del registro de destino durante un intervalo de pulso de reloj, la información binaria en el bus de salida se trasfíere al Rl  cuando se presenta el siguiente

 pulso de reloj. Para lograr una rápida respuesta de tiempo, se construye elALU con circuitos generadores de arrastre posterior y el registro de desplazamiento se configura con compuertas combinacionales.

Cuando se encapsula en un CI, la unidad procesadora se llama algunasveces registro y unidad lógica aritmética o RALU (register and arithmeticlogic unit). Algunos fabricantes lo llaman un microprocesador de un grupode bits. El prefijo micro se refiere a un tamaño físico muy pequeño del circuito integrado en el cual se incluye el procesador. El grupo de bits se refiere al hecho de que el procesador puede ser expandido a una unidad de

  proceso con un gran número de bits usando un grupo de CI. Por ejemplo

un microprocesador de un grupo de 4 bits contiene registros y ALU paramanipular datos de 4 bits. Dos CI de éstos pueden ser combinados paraconstruir una unidad procesadora de 8 bits. Para un procesador de 16 bits,es necesario usar cuatro circuitos integrados y conectarlos en cascada Elarrastre de salida de un ALU se conecta al arrastre de entrada del siguiente ALU de mayor orden y la salida en serie y líneas de entrada de los re-

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 10/55

SEC. 9-2 ORGANIZACION DEL PROCESADOR  377 

gistros de desplazamiento se conectan también en cascada. Un microproce  sador de un grupo de bits debe distinguirse de otro tipo de CI llamado

microprocesador. El primero es una unidad procesadora mientras que elmicroprocesador se refiere a un computador CPU completo encapsuladoen una pastilla de CI. Los microprocesadores y su equipo asociado se discutirán en el Capítulo 12.

M e m o r i a " s c r a t c h p a d " o m e m o r i a t a p ó n

Los registros de una unidad procesadora pueden ser metidos dentro de unaunidad pequeña de memoria. Cuando estos se incluyen en la unidad de

 proceso, la memoria pequeña se llama memoria tapón o de borrado. El usode una pequeña memoria es una alternativa muy económica para conectar los registros procesadores a través del sistema de bus. La diferencia entredos sistemas es la manera en la cual la información se selecciona para latrasferencia al ALU. En el sistema de bus, la trasferencia de informaciónse selecciona por medio de los multiplexores que forman los buses. Por otra

  parte, un solo registro dentro de un grupo de registros organizados comouna pequeña memoria puede ser seleccionado por medio de una dirección dela unidad de memoria. Un registro de memoria puede funcionar justamentecomo cualquier otro registro procesador ya que su única función es almacenar información binaria para ser procesada en el ALU.

Una memoria tapón o de borrado debe distinguirse de la memoria principal del computador. En contraste con la memoria principal, la cual almacena instrucciones y datos, una pequeña memoria de una unidad de procesoes meramente una alternativa para conectar un número de registros procesadores por medio de un camino de trasferencia común. La informaciónalmacenada en una memoria tapón o de borrado debe venir normalmentede la memoria principal por medio de instrucciones en el programa.

Considérese, por ejemplo, una unidad procesadora que emplea ocho registros de 16 bits cada uno. Los registros pueden incluirse dentro de unamemoria pequeña de ocho palabras de 16 bits cada una, o un RAM de 8 x 16.Las ocho palabras de memoria pueden designarse como RO hasta Rl, corres

  pondiendo a las direcciones 0 hasta 7 y constituyen los registros para el procesador.

Una unidad procesadora que usa una memoria tapón o de borrado semuestra en la Figura 9-2. Un registro fuente se selecciona de la memoriay se carga al registro A. Un segundo registro fuente se selecciona de la memoria y se carga al registro B. La selección se hace especificando las direcciones de palabra correspondientes y activando la entrada de lecturade la memoria. La información de A y B se manipula en el ALU y en el registro de desplazamiento. El resultado de la operación se trasfiere a unregistro de memoria especificando su dirección de palabra y activando el

control de entrada de escritura en memoria. El multiplexor a la entrada dela memoria puede seleccionar datos de entrada de una fuente externa.

Asúmase que la memoria tiene ocho palabras, de manera que una dirección puede especificarse con tres bits. Para realizar la operación:

  Rl <- R2 + R3

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 11/55

378 DISEÑO LOGICO DE PROCESADORES CAP. 9

el control debe suministrar las variables de selección binarias para realizar la siguiente secuencia de tres microoperaciones:

T  x : A<-M[0\0] 

T 2: 5 < - M [ 0 i l ]

T 3: M[00l]<-A  B

leer R2 al registro A

leer R3 al registro B

ejecutar una operación en el ALUy trasferir el resultado a Rl 

La función de control 7\ debe suministrar la dirección 010 a la memoria yactivar las entradas A de lectura y carga. La función de control T 2 debealimentar una dirección 011 a la memoria y activar las entradas B de lectura y carga. La función de control T¡ debe suministrar el código de función al ALU y al registro de desplazamiento para ejecutar la operación de

 suma (sin desplazamiento), aplicar una dirección 001 a la memoria, selec

cionar la salida del registro de desplazamiento para el MUX y activar laentrada de escritura de memoria. El símbolo M [xxx]  designa una pala  bra de memoria (o registro) especificada por una dirección dada en el número binario xxx.

Entradade datos

MUX

Dirección

Salidade datos

Carga

Selección

Memoria tapón

o de borrado

- Lectura

"Escritura

ALU

Shifter 

Carga

Selecciónde función

  _ Selección dedesplazamiento

Figura 9-2 Unidad de proceso que emplea una memoria tapón

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 12/55

SEC. 9-2 O R G A N I Z A C I O N D E L P R O C E S A D O R 379

La razón de una secuencia de tres microoperaciones en vez de una.como en un procesador con organización de bus, se debe a la limitación de

la unidad de memoria. Como la unidad de memoria tiene solamente un gru po de terminales de dirección y se va a comunicar con dos registros fuente,se necesitan dos vías de acceso a la memoria para leer la información de lafuente. La tercera microoperación es necesaria para direccionar el registrode destino. Si el registro de destino es el mismo que el segundo registrofuente, el control podría activar la entrada de lectura, para extraer la información de la segunda fuente, seguida de una señal de escritura paraactivar la trasferencia de destino y sin tener que cambiar el valor de ladirección.

Algunos procesadores emplean una memoria de 2 puertos para poder vencer la demora causada al leer dos registros fuentes. Una memoria de 2

  puertos tiene dos líneas de dirección separadas para seleccionar las pala  bras de memoria simultáneamente. De esta manera pueden leerse los dosregistros fuente al mismo tiempo. Si el registro de destino es igual a uno

de los registros fuente, entonces toda la microoperación puede hacerse durante el período de un pulso de reloj.

La organización de una unidad procesadora con una memoria de 2  puertos se muestra en la Figura 9-3.* La memoria tiene dos grupos de direcciones, una para el puerto A y otra para el puerto B. Los datos de cualquier palabra en la memoria se leen en registro A especificando una dirección A. De igual manera cualquier palabra de memoria se lee al registro Bespecificando una dirección B. La misma dirección puede ser aplicada a la

Dirección A

Habilitaciónescritura (WE)

Pulso de reloj (CP)CP 

Memoria tapóno de borrado

WE ME 

Dirección B

n r 

  — Habilitarmemoria (ME)

ALU y registrode desplazamiento

Figura 9-3 Unidad de proceso con una memoria de 2 puertos

*Esta organización es similar al microprocesador de un grupo de bits, tipo 2901.

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 13/55

380 DISEÑO LOGICO DE PROCESADORES CAP. 9

dirección A y a la dirección B, en cuyo caso aparecerá una palabra idénticaen ambos registros A y B. Cuando se habilitan por medio del terminal ha-

 bilitador de memoria (ME= memory enable), se pueden escribir nuevos datos a la palabra especificada por la dirección B. Así las direcciones de A y B especifican dos registros fuente simultáneamente y la dirección B especifica siempre el registro de destino. La Figura 9-3 no muestra un camino

  para datos externos de entrada y salida, pero pueden ser incluidos comoen las organizaciones anteriores.

Los registros A y B son, en efecto, retenedores que aceptan nueva información siempre y cuando el pulso de reloj CP esté en el estado 1; cuandoCP vaya a 0, los retenedores se inhabilitan y retienen la información queestaba almacenada cuando CP era un 1. Esto elimina cualquier condiciónde congestión que puede ocurrir cuando se está escribiendo la nueva información en la memoria. La entrada del reloj controla las operaciones delectura y escritura en memoria por medio del terminal de habilitación deescritura (write enable). Este controla las trasferencias a los retenedores

A y B. La forma de onda de un intervalo de un pulso de reloj se muestra enel diagrama.Cuando el terminal de reloj es 1, los retenedores A y £ se abren y acep

tan la información que viene de la memoria. El terminal WE está tambiénen el estado 1. Este habilita la operación de escritura y de lectura en lamemoria. Así cuando CP= 1 las palabras seleccionadas por las direccionesA y B se leen de la memoria y se colocan en los registros A y B respectivamente. La operación en el ALU se realiza con los datos almacenados en

 A y B. Cuando el terminal del reloj va a 0, los retenedores se cierran y seretienen los últimos datos introducidos. Si el terminal de ME está habilitado cuando WE = 0, el resultado de la microoperación se escribe en la  palabra de memoria definida por la dirección B. Así una microoperación:

  R\<~R\ + R2

  puede hacerse dentro de un período de un pulso de reloj. El registro dememoria Rl debe especificarse con la dirección B y R2 con la dirección A.

Registro acumulador

Algunas unidades procesadoras separan un registro de otros y se le llamaregistro acumulador, abreviado AC o registro A. El nombre de este registrose deriva del proceso de adición aritmética que se encuentra en los computadores digitales. El proceso de sumar muchos números se lleva a cabo almacenando inicialmente esos números en otros registros procesadores oen la unidad de memoria del computador y borrando el acumulador a 0. Losnúmeros se agregan al acumulador uno a uno en orden consecutivo. El pri

mer número se agrega a 0 y la suma se trasfiere al acumulador. El segundonúmero se agrega a los contenidos del acumulador y la suma formada denuevo remplaza su valor previo. Este proceso se continúa hasta que todoslos números se agregan y se forma la suma total. Así, el registro "acumula"la suma paso a paso haciendo sumas secuenciales entre un número nuevoy la suma acumulada previamente.

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 14/55

SEC. 9-2 O R G A N I Z A C I O N D E L P R O C E S A D O R 38

El registro acumulador en una unidad de proceso es un registro muln- propósito capaz de realizar no solamente la microoperación de suma sino

también otras microoperaciones de la misma forma. De hecho, las com  puertas asociadas con un registro acumulador suministran todas las funciones digitales encontradas en un ALU.

La Figura 9-4 muestra el diagrama de bloque de una unidad procesa-dora que emplea un registro acumulador. El registro A se distingue detodos los demás registros procesadores. En algunos casos toda la unidad

  procesadora es justamente el registro acumulador y el ALU asociado. Elregistro en sí puede funcionar como un registro de desplazamiento parasuministrar las microoperaciones de desplazamiento. La entrada B suministra una fuente de información externa. Esta información puede provenir de otros registros procesadores o directamente de la memoria principaldel computador. El registro A suministra la otra fuente de información alALU por el terminal A. El resultado de una operación se trasfiere de nuevoal registro A y se remplaza su contenido previo. La salida del registro A

  puede ir a un destino externo o a los terminales de entrada de otros registros procesadores o unidad de memoria.Para formar la suma de dos números almacenados en los registros pro

cesadores, es necesario agregarlos en el registro A usando la siguientesecuencia de microinstrucciones:

T,: A *- 0 borrar A

T 2; A*-A + R \ t r a s f e r i r f í l aA

T 3: A*-A + R2 agregar R2 a A

Entrada de datos

1Registros procesadoreso

unidad de memoria

 B

A L U A A L U

Registroacumulador (A)

Salida de datos

?igura 9-4 Procesador con un registro acumulador

Selecciónfuente B

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 15/55

382D I S E Ñ O L O G I C O D E P R O C E S A D O R E S C A P . 9

El registro A se borra primero. El primer número en Rl se trasfíere al registro A agregando al actual contenido de ceros de A. El segundo número en

 R2 se agrega al valor presente de A. La suma formada en A debe usarse para otros cálculos o puede ser trasferida a su destino requerido

9 - 3 UNIDAD LOGICA ARITMETICA

Una unidad lógica aritmética (ALU) es una función multioperación digitalde lógica combinacional. Esta puede realizar un conjunto de operacionesaritméticas básicas y un conjunto de operaciones lógicas. El ALU tiene unnumero de lineas de selección para seleccionar una operación particular de la unidad. Las lineas de selección se decodifican dentro del ALU de manera que las k  variables de selección pueden especificar hasta 2* operaciones diferentes. v

La Figura 9-5 muestra el diagrama de bloque de un ALU de 4 bits Lascuatro entradas de datos de A se combinan con las cuatro entradas de B  para generar una operación en las salidas F. El terminal de selección demodo s2 distingue entre las operaciones aritméticas y lógicas. Las dosentradas de selección de función 8l y s0 especifican la operación aritmética o lógica que se va a generar. Con tres variables de selección es posibleespec.ñcar cuatro operaciones aritméticas (con s2 en un estado) y cua-

daZZTT  ^ *a ?" c l ° t r ° e s t a d o ) " L o s a r r a s t r e s «e entrada y salida tienen significado solamente durante una operación aritmética

El arrastre de entrada en la posición menos significativa de un ALUse usa muy a menudo como una cuenta variable de selección que puede do

 blar el numero de operaciones aritméticas. De esta manera, es posible ge-méticas ° P e r a C Í O n e S m á s ' p a r a u n t o t a l d e o c h ° operaciones arit-

Un diseño de un ALU típico se llevará a cabo en tres etapas. Primerosera emprendido el diseño de la sección aritmética. Segundo, debe considerarse el diseño de la sección lógica. Finalmente, deberá modificarse la sec-

ou t

(Arrastre de salida)

 A4  A3 A2 A x   B4  B } B2 B X 

Unidad lógica aritmética(ALU)

F 4  F  } F, F,

' s

2  (Selección de modo)

(Selección de función)

- C fa (Arrastre de entrada)

Figura 9-5 Diagrama de bloque de un ALU de 4 bits

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 16/55

SEC. 9-4 DISEÑO DE UN CIRCUITO ARITMETICO 383

ción aritmética de manera que puedan realizarse ambas operaciones aritmé

ticas y lógicas.

9 - 4 DISEÑO DE UN CIRCUITO ARITMETICO

El componente básico de la sección aritmética de un ALU es un sumador 

en paralelo. Un sumador en paralelo se construye con un numero de cir¬

 A B A B

Sumadoren paralelo

- C i n =0 C"out

11Sumador

en paralelo- C i n = 1

F = A +B

(a) Suma

F=A+B+\

(b) Suma con arrastre

 A B

1 _LSumador

en paralelo -a= 0

 A B

1 1Sumador

en paralelo • C,„ =1

F  = A+B

(c) A más el complementode 1 de B

 A 0

CDUI

 LASumador

en paralelo• C:„ = 0

F = A +B+1

(d) Sustracción

 A 0

Sumadoren paralelo • C, =1

F = A

(e) Trasferire

F = A + \

(f) Incrementar A

 A Ali l's

J_LSumador

en paralelo•C: =0

 A AJI l's

I tSumador

en paralelo

F=A-\

(g) DecrementarA

F = A(h) Trasferir A

Figura 9-6 Operaciones obtenidas mediante el control de un grupode entradas de un sumador en paralelo

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 17/55

384  D I S E Ñ O L O G I C O D E P R O C E S A D O R E S C A p g

t ^ n í n H 1 1 ? ^ 0 ? 8rn

Tle

í,08 c o n e c t a d o s e n c a ^ada (ver  Sección 5-2). Con

t a n d o la entrada de datos al sumador en paralelo, es posible obtener 

aferentes tipos de operaciones aritméticas. La Figura 9-6 muestra las operaciones aritméticas obtenidas cuando un grupo de entradas a un sumador T J Z  ° ^ r

t r o l a n

, e x t e r n a m e n t e . El número de bits en el sumador en paralelo puede tener cualquier valor. El arrastre de entrada Cm pasa al cir 

de alXc °r 3 ? ° S Í C Í Ó n d e l b Í t m e n

°S s i ^ i f - a t i v o . E l arrastre

íáTsiSfiitií̂ circu ito suma dor completo de Ia posición del bit

n ú m p r n •a i i  } m é  } i c ? s e l o ? r a c u a n d o u n «ñipo de entradas recibe unnumero binario A, el otro conjunto de entradas recibe un número binario

9 L) u2 Zr i* S G m a n , t i e n e e n 0. Esto se muestra en la Figuras ñ i t

H T e " d 0 = 1 cr ° e n l a F i ^ r a 9 " 6 (  b ) - e s Posible agregar l a lanSada^ Cuando r e S e ^. ? f e C t <\ d e -mpletarjodos lefs bits de la

entrada ti. Cuando Cin = 0, la salida produce F = A + B la cual es la sumade A mas el complemento de 1 de B. Agregando 1 aTestasuma hac enTo

menTo de 2 de B e F , rl °  C u a l

Pr o d u c e l a — a A máael comple

mentó de 2 de B. Esta operación es similar a la operación de sustracción sie descarta el arrastre de salida. Si se colocan sólo ceros a los terminales B

se obtiene F = A + 0 = A, lo cual trasfíere la entrada A a la salida F. ¿re gando un la Cin como en la Figura 9-6(f), se obtiene F = A + 1 lo cual es laoperación de incremento.

term^ir dfí C ÍF"t!! U S t r  , d a " ] ^ 9 " 6 ( g ) C

°l o C a r á t o d o s l o s 1 e "terminales B. Esto produce la operación de decremento F=A-1 Para

mostrar que esta condición es una operación de decremento, considérese

 Z^ ma Í°T T 7 a r a l

1

1 ° C ° n n d r C U Í t 0 s «""adores completos. Cuando elarrastre de salida es 1 éste representa el número 2", porque 2« en binarioconsiste de un 1 seguido por „ ceros. Restando 1 de 2", se obtienenlo cual en binario es un número de n unos. Sumando 2" — 1 a A se obtiene

 N P  F_  A i p t !e s u

Pr i m e

e l

arrastre de salida 2"  se obtie-n~SyAZ 9 . Eníonees: 1 " ^ d e m ° S t r a c Í ó n c o n u n ejemplo numérico, sea

 A = 0000 1001 = (9)10

2" = 1 0000 0000 = (256)IO

2" - 1 = 1111 1111 =(255)10

 A + 2" - 1 = 1 0000 1000 = (256 + 8)10

Quitando el arrastre de salida 2" = 256, se obtiene 8= 9 - 1 Así se hadecrementado A en 1 agregándole un número binario con sólo unos'

El circuito que controla la entrada B para suministrar las funcioneslustradas en la Figura 9-6 se llaman elemento verdadero/complemento,

uno/cero. Este circuito se ilustra en la Figura 9-7. Las dos líneas de se-eccion Sl y s0 controlan la entrada de cada terminal B. El diagrama mues

tra una entrada típica designada por  Bt  y una salida designada por  Y En una aplicación típica, hay n circuitos para i = 1, 2, . . ., „. Como se mues-

\ ? u £  y d  A k  F  T  m 9' 7 '  C U a n d ° a m b 0 s s ° Y sean iguales a 0, lasalida y ,=0, independientemente del valor de Bt  . Cuando S l s 0 = 0 1 la

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 18/55

SEC. 9-4 DISEÑO DE UN CIRCUITO ARITMETICO 385

compuerta AND superior genera el valor de B¡ mientras que la salida de

la compuerta inferior  es 0; de manera que Yi = fi¡. Cuando SiS 0

= 10. iacompuerta AND inferior genera el complemento de B¡ para dar  Y, = B'..Cuando s¡sQ = 11, ambas compuertas estarán activas y Y, = B¡ + B¡ = l.

Un circuito aritmético de 4 bits que realiza ocho operaciones aritméticas se muestra en la Figura 9-8. Los cuatro circuitos sumadores completos (FA) constituyen el sumador en paralelo. El arrastre que va a la primera etapa es el arrastre de entrada, el arrastre de salida de la cuartaetapa es el arrastre de salida. Todos los demás arrastres están conectadosinternamente de una etapa a la siguiente. Las variables de selección sonsi> so Y Cin . Las variables st y s0 controlan todas las entradas B a loscircuitos del sumador completo como en la Figura 9-7. Las entradas A vandirectamente a las otras entradas de los sumadores completos.

Las operaciones aritméticas configuradas en el circuito aritmético selistan en la Tabla 9-1. Los valores de las entradas AND a los circuitos su

madores completos son una función de las variables de selección st 

y s0

 .Agregando el valor de Y en cada caso al valor de A más el valor de C i n, dala operación aritmética en cada entrada. Las ocho operaciones listadas enla tabla se desprenden directamente de los diagramas de función ilustrados en la Figura 9-6.

Í0  y,

0 0 00 1  B,

1 0  B¡1 1 1

Figura 9-7 Circuito verdadero/complemento, uno/cero

Ta bl a 9-1 Tabla de función para el circuito ari tmét ico de la Figura 9-8

Selector  Y Salidade función igual a igual a Función

h •So Ci »

0 0 0 0 F  = A Trasferir A0 0 1 0 F  = A+1 Incrementar A0 1 0 B F  = A + B Agregar BaA

0 1 1 B F  = A + B+ 1 Agregar BaAmás1

1 0 0 B F  = A + B Agregar el complemento de1deSaA

1 0 1 B F  = A +5+1 Agregar el complemento de2deBaA

1 1 0- Todo unos F  = A-1 Decrementar  A

1 1 1 Todo unos F  = A Trasferir A

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 19/55

Figura 9-8 Diagrama lógico del circuito aritmétii

Este ejemplo demuestra la factibilidad de construir un circuito aritmético por medio del sumador en paralelo. El circuito combinacional, quedebe ser adicionado en cada etapa entre las entradas externas A¡ y B¡ ylas entradas del sumador en paralelo X t  y Y¡, es una función de las operaciones aritméticas que van a ser configuradas. El circuito aritmético de laFigura 9-8 necesita un circuito combinacional para cada etapa especificada por las funciones de Boole:

 X, = A,

Y¡ = B¡s0 + Bf  Sl  i = 1, 2, . . . , n

donde n es el número de bits del circuito aritmético. En cada etapa i, seusan las mismas variables de selección común Sj y s0. El circuito combinacional será diferente si el circuito genera diferentes operaciones aritméticas.

386 

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 20/55

Efecto del arrastre de sal ida

El arrastre de salida de un circuito aritmético o ALU tiene un significadoespecial, principalmente después de una operación de sustracción. Para

investigar el efecto de un arrastre de salida, se expande el circuito aritmético de la Figura 9-8 a n bits de manera que Cout = 1, cuando la salida delcircuito es igual o mayor que 2". La Tabla 9-2 lista las condiciones paratener un arrastre de salida en el circuito. La función F = A tendrá siempreel arrastre de salida igual a 0. Lo mismo se aplica a la operación de incremento F = A + 1 excepto cuando pasa de una condición de sólo 1, a unacondición de sólo 0, en cuyo tiempo se produce un arrastre de salida de 1.Un arrastre de salida de 1 después de una operación de adición denota unacondición de sobrecapacidad. Este indica que la suma es mayor que o iguala 2" y que la suma consiste_de n+ 1 bits. _ 

La operación F = A + B agrega el complemento de 1 de B a A. Recuérdese de la Sección 1-5 que el complemento de B puede expresarse aritméticamente como 2" — 1 — B. El resultado aritmético de la salida será:

F = A + 2n

- l - B = 2 " + A - B - \

Si A > B, entonces (A - B) > 0 y F > (2" - 1), de manera que C  = 1 . Quitando el arrastre de salida 2" de este resultado dará:

F= A -  B - \

lo cual es una sustracción con bit prestado. Nótese que si A ^ B, entonces(A-B) ^ 0 y F^ (2" - 1) y así Co u t = 0. Para esta condición es más conveniente expresar el resultado aritmético como:

 F = (2" - 1) - (B - A)

el cual es el complemento de 1 de B — A.

T ab la 9-2 Efecto del arrastre de salida en el circuito ari tmét ico de la Figura 9-8

Selector  Función C  = 1'-'out 1

Comentariosde función aritmética si

J l  so

0 0 0   F = A Cou t es siempre0

0 0 1   F= A + 1  A = 2" - 1 Cout =1 y F =0si A =2 " - l0 1 0   F = A + B (A + B) > 2"  Ocurre sobrecapacidad si Cou t = 10 1 1  F=A+B+1 (A + B)> (2" - 1) Ocurre sobrecapacidad si Cou t = 11 0 0  F = A - B - \   A > B Si Cou t = 0, entonces A < B y

 F = complemento de 1 de (B - A)1 0 1   F= A - B   A > B Si Cou t = 0, entonces A < B y

 F = complemento de2de (B -A)1 1 0   F= A - 1  A ¥= 0 Cout = L excepto cuando A = 01 1 1   F= A Cou t es siempre 1

387 

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 21/55

388 D I S E Ñ O L O G I C O D E P R O C E S A D O R E S CAP. 9

La condición para el arrastre de salida cuando F=A + B+1 puede deducirse de manera similar. B + 1 es el símbolo para el complemento de 2 de

 B. Aritméticamente, ésta es una operación que produce un número igual a2" - B. El resultado de la operación puede expresarse como:

F=A+2"-B = 2n + A- B

Si A^B, entonces (A - B) 2; 0 y F ^ 2\ de manera que Cou t = 1. Removiendo el arrastre de salida 2" se obtiene:

F= A - B

la cual es una operación de sustracción. Si a pesar de que A<B entonces( A - B ) < 0 y F< 2" para que Co u t =0. El resultado aritmético para estacondición puede ser expresado como:

F = 2"~(B~A)

lo cual es el complemento de 2 de B- A. Así, la salida de la sustracciónaritmética es correcta siempre y cuando A^B. La salida B-A si B > A

 pero el circuito genera el complemento de 2 de este número.La operación de decremento se obtiene de F = A -f (2" - 1) = 2" + A

TÍ' J p / r r a s t r e d e s a l i d a e s siempre 1 excepto cuando A = 0. Sustrayendo1 de 0 da - 1 y - 1 en complemento de 2 es 2" - 1 el cual es un númerocon solo unos. La última entrada en la Tabla 9-2 genera F= (2" - 1) + A + 1= 2" + A. Esta operación trasfiere A a F y da un arrastre de salida de 1.

Diseño de o t ros c i rcu i tos ar i tmét icos

El diseño de cualquier circuito aritmético que genera un conjunto de operaciones básicas puede llevarse a cabo siguiendo el procedimiento enunciado en el ejemplo previo. Asumiendo que todas las operaciones del grupo

  pueden ser generadas por medio del sumador en paralelo, se comienza obteniendo un diagrama de función como en la Figura 9-6. Del diagrama defunción se obtiene una tabla de función que relaciona las entradas del circuito sumador completo a las entradas externas. A partir de la tabla defunción se obtienen las compuertas combinacionales que deben ser agregadas a cada etapa del sumador completo. Este procedimiento se demuestracon el siguiente ejemplo.

J LSumadorparalelo • C, = 0 Sumador

paralelo -C,„ = 1

F = A +B F = A+B + ]=A-B(a) Especif icación de la función

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 22/55

 s  x¡ Y, c f a   s —*-

0  A¡  B, 0  Ai—* 1  A ¡  B'i  1

 B¡-~

C:

 X 

Circuitocombinacional FA

Y,FA

Y,

(b) Especificación del circuito combinacional

5  Ai   B,   x, Y,

0 0 0 0 00 0 1 0 10 1 0 1 00 1 1 1 11 0 0 0 11 0 1 0 0

1 1 0 1 11 1 1 1 0

 X t =A,

Y,=B,

(c) Tabla de verdad y ecuaciones simplificadas

Figura 9-9 Deducción de un circuito sumador/sustractor

  EJEMPLO 9-1: Diseñar un circuito sumador/sustractor conuna variable de selección s y dos entradas A y B. Cuando s = 0 elcircuito realiza A + B. Cuando s = 1 el circuito ejecuta A — B tomando el complemento de 2 de B.

La deducción del circuito aritmético se ilustra en la Figura9-9. El diagrama de función se muestra en la Figura 9-9(a). Parala parte de suma, se necesita C¡n = 0. Para la parte de sustracciónse necesita el complemento de B y Ci n = 1. La tabla de función selista en la Figura 9-9(b). Cuando s = 0, X¡ y Y, de cada sumador completo deben ser iguales a las entradas externas A¡ y ^res

  pectivamente. Cuando s = 1, se debe tener X¡=A, y Y¡ = B¡. Elarrastre de salida debe ser igual al valor de s. El diagrama en (b)muestra la posición del circuito combinacional en una etapa típica del circuito aritmético. La tabla de verdad en (c) se obtiene listando los ocho valores de las variables de entrada binarias. Lasalida X¡ se hace igual a la entrada A, en ocho entradas. La salida Y¡ es igual a B¡ para las cuatro entradas cuando s = 0. Estaes igual al complemento de Bt  para las últimas cuatro entradascuando s = 1. Las funciones de salida simplificadas para los cir

cuitos combinacionales son: X¡ = At 

Y¡ = B¡®s

389

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 23/55

F

*\

A

FA

FA

n

FA

Figura 9-10 Circuito sumador/sustractor de 4 bits

El diagrama del circuito sumador sustractor de 4 bits se muestraen la Figura 9-10. Cada entrada Bt  requiere una compuerta OR-

exclusiva. La variable de selección s va a una entrada de cada com puerta y también al arrastre de entrada del sumador en paralelo.El sumador/sustractor de 4 bits puede ser construido con dosCI. Un CI es el sumador en paralelo de 4 bits y el otro es un CI decompuertas OR-exclusivas cuádruples.

9 - 5 D I S E Ñ O D E L C I R C U I T O L O G I C O

Las microoperaciones lógicas manipulan los bits de los operandos separadamente y tratan cada bit como una variable binaria. La Tabla 2-6 lista 16operaciones lógicas que pueden ser realizadas con dos variables binarias.Las 16 operaciones lógicas pueden ser generadas en un circuito y seleccionadas por medio de cuatro líneas de selección. Como todas las operacioneslógicas pueden obtenerse por medio de operaciones AND, OR y NOT (com

  plemento), podría ser más conveniente emplear un circuito lógico justamente con esas operaciones. Para tres operaciones se necesitan dos variables deselección. Pero dos líneas de selección pueden seleccionar entre cuatrooperaciones lógicas, de manera que se escoge también la función OR-ex-

390

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 24/55

s

\ •so Salida Operación

0 0 F¡ = A¡+B l  OR 0 1 F, = Ai  s,B¡ XOR 1 0 F, = A,B, AND1 1 F¡ = A¡ NOT

(a) Diagrama lógico (b) Ta bla de func ión

Figura 9-11 Una etapa de un circuito lógico

elusiva (XOR) para el circuito lógico que va a diseñarse en esta y en lasiguiente sección.

El método más simple y directo de diseñar un circuito lógico se muestra en la Figura 9-11. El diagrama muestra una etapa típica designada por ¿l suscrito i. El circuito debe repetirse n veces para un circuito lógico den bits. Las cuatro compuertas generan las cuatro operaciones lógicas OR,OR-exclusiva, AND y NOT. Las dos variables de selección en el multiplexor seleccionan una de las compuertas de la salida. La tabla de función lista lalógica de salida generada como una función de dos variables de selección.

El circuito lógico puede ser combinado en el circuito aritmético para  producir una unidad lógica aritmética. Las variables de selección Si y s0

  pueden hacerse comunes a ambas secciones siempre y cuando se use unatercera variable de selección s2 para diferenciar entre los dos. Esta con

figuración se ilustra en la Figura 9-12. Las salidas de los circuitos lógicosy aritméticos de cada estado pasan por un multiplexor con la variable deselección s2 • Cuando s2 = 0 se selecciona la salida aritmética, pero cuando s2 = 1 se selecciona la salida lógica. Aunque los dos circuitos puedencombinarse de esta manera, ésta no es la mejor forma de diseñar un ALU.

Un ALU más eficiente puede obtenerse si se investiga la posibilidadde generar operaciones lógicas de un circuito aritmético ya disponible. Esto

  puede hacerse inhibiendo todos los arrastres de entrada de los circuitosdel sumador completo del sumador en paralelo. Considérese la función deBoole que genera la suma de salida de un circuito sumador completo:

F, = X C,

El arrastre de entrada C¡ en cada etapa puede hacerse igual a 0 cuando la

variable de selección s2 sea igual a 1. El resultado será:

F ¡ = X i  © Y ¡391

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 25/55

 B, Una etapa de uncircuito aritmètico

Una etapa de uncircuito lògico

MUX

Selección

Fi gu ra 9-12 Combinando circuitos lógicos y aritm éticos

Tab la 9-3 Operaciones lógicas en una etapa de un circuito aritméti co

 x, Y, Ci Operación

 S 2 5, •ÍO  x, Y, Ci  Fi  = X, © Y i  Operación requerida

1 0 0  Ai  0 0 F  = A, Tras fer i re O R 1 0 1  Ai  0 F¡ = A, © B, X O R  X O R 1 1 0  A,  B; 0 F, = Ai OB ¡ Equivalencia A N D1 1 1  A, 1 0 F, = A; N O T N O T

Esta expresión es válida debido a la propiedad de la operación OR-exclusi-va x © 0= x. Así, con el arrastre de salida de cada etapa igual a 0 los circuitos del sumador completo generan la operación OR-exclusiva.

Considérese el circuito aritmético de la Figura 9-8. El valor de Y, puede seleccionarse por medio de dos variables de selección que sean igualesa 0, B¡, B\ o 1. El valor de X, es siempre igual a la entrada A,. La Tabla9-3 muestra las cuatro operaciones lógicas obtenidas cuando la tercera variable de selección s2 = 1. Esta variable de selección obliga a que C t  seaigual a 0 mientras que s, y s„ escogen un valor particular de Y¡ ' Lascuatro operaciones lógicas obtenidas por esta configuración son la trasfe-rencia la OR-exclusiva, la equivalencia y el complemento. La tercera entrada es la operación de equivalencia porque:

  A^B; = A,B, +A;B; = A¡

QB,

La última entrada en la tabla es el NOT u operación de complementoque: ya

392

 A,. © 1 = A¡

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 26/55

SEC. 9-6 D I S E Ñ O D E U N A U N I D A D L O G I C A A R I T M E T I C A 393

La tabla tiene una columna más la cual contiene la lista de las cuatro

operaciones lógicas que se van a incluir en el ALU. Dos de estas operaciones, la OR-exclusiva y el NOT están disponibles. La pregunta que debe ser contestada es de si es posible modificar el circuito aritmético de maneraque genere las funciones lógicas OR y AND en vez de las funciones de tras-ferencia y equivalencia. Este problema se investiga en la siguiente sección.

9 - 6 D I S E Ñ O D E U N A U N I D A D L O G I C A A R I T M E T I C A

En esta sección se diseña un ALU con ocho operaciones aritméticas y cuatro operaciones lógicas. Las tres variables de selección y s0 seleccionan ocho operaciones diferentes y el arrastre de entrada C i n se usa paraseleccionar cuatro operaciones aritméticas adicionales. Con s2 = 0, las variables s, y s0 conjuntamente con Cj n , seleccionan las ochos operaciones

aritméticas listadas en la Tabla 9-1. Con s2

= 1, las variables st 

y s0

seleccionan las cuatro operaciones lógicas OR, OR-exclusiva, AND y NOT.El diseño de un ALU es un problema de lógica combinacional. Debido a

que la unidad tiene un patrón regular, ésta puede fraccionarse en etapasidénticas conectadas en cascada por medio de los arrastres. Se puede diseñar una etapa del ALU y luego duplicarla para conseguir el número deetapas requeridas. Hay seis entradas a cada etapa: A¿ , B¡, C,, s2, s,y s0 . Hay dos salidas de cada etapa: la salida F, y el arrastre de salidaC,+ i. Se puede formular una tabla de verdad con 64 entradas y simplificar las dos funciones de salida. Aquí se escoge el uso de un procedimiento alterno que usa la disponibilidad de un sumador paralelo.

Los pasos de que se compone el diseño de un ALU son los siguientes:

1. Dise ñar la sección ar itm éti ca independientemente de la sección

lógica.2. Determinar las operaciones lógicas obtenidas del circuito aritméti

co en el paso 1, asumiendo que los arrastres de salida de todas lasetapas son 0.

3. Modificar el circuito aritmético para obtener las operaciones lógicasrequeridas.

El tercer paso en el diseño no es un procedimiento directo y requiere ciertacantidad de ingenuidad por parte del diseñador. No hay garantía de quese pueda encontrar una solución o que la solución use el mismo número decompuertas. El ejemplo presentado aquí demuestra el tipo de pensamientológico que se requiere algunas veces en el diseño de sistemas digitales.

Se debe tener en cuenta que se dispone de varios ALU en CI encapsu-

lados. En un caso práctico, lo que se debe hacer es buscar un ALU adecuado o unidad procesadora entre los circuitos integrados que se obtienencomercialmente. Pero, la lógica interna del CI seleccionado debe haber sidodiseñado por una persona familiarizada con las técnicas de diseño lógico.

La solución para el primer paso del diseño se muestra en la Figura 9-8.La solución al segundo paso de diseño es presentado en la Tabla 9-3. Lasolución para el tercer paso se deduce a continuación.

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 27/55

394  DISEÑO LOGICO DE PROCESADORES CAP. 9

De la Tabla 9-3 se observa que si s2 = 1, el arrastre de entrada C, encada etapa debe ser 0. Con SiS0 =00 cada etapa así genera la función F¡

= A¡. Para cambiar la salida a una operación OR, se debe cambiar la entrada a cada circuito sumador completo de A, a A, +B¡. Esto puede lograrseaplicando la función OR a B¡ y A¡ cuando s2 s¡s0 = 100.

Las otras variables de selección que dan una salida indeseable ocurrencuando S ^ S Q = 110. La unidad de esta manera genera una salida F¡ =A, O 5, pero se requiere generar la operación AND F^ A^ f i , . Se puedeinvestigar la posibilidad de aplicar la función OR a cada entrada AT  conalguna función de Boole K¡. La función que se obtiene se usa para X, cuando s 2 Si« 0 = HO:

F, = X © Y i  = (A, + K) © B¡ = A,B, + K  I  B¡ + A',K¡B;

Una cuidadosa inspección del resultado revela que si la variable K¡ = B¡ seobtiene una salida:

  F¡ = A.B, + B[B L + A&B; = A,Bt 

Dos términos son iguales a 0 porque fí,fi; = 0. El resultado obtenido es laoperación AND que se requiere. La conclusión es que, si A¡ se aplica con

 B[  a una función OR cuando s2 s x  sQ = 110, la salida genera la operaciónAND.

El ALU final se muestra en la Figura 9-13. Solamente las dos etapas sedibujan, pero el diagrama puede extenderse fácilmente a más etapas. Lasentradas a cada circuito sumador completo se especifican por medio de lasfunciones de Boole:

 X¡ = A¡ + s2 s\s' 0 Bi + s2 s¡s' 0 B¡

Y i  = s0 B¡ + SI  B;

Z,. = s' 2C¡

Cuando s2 = 0, las tres funciones se reducen a:

X = A,

Y, = s0 Bi  + s x  B¡

z,. = clas cuales son las funciones para el circuito aritmético de la Figura 9-8. Las

operaciones lógicas se generan cuando s2

= 1. Para S ^ S Q = 101 ó 111, lasfunciones se reducen a:

X = At 

Y¡ = s0 Bi  + Sl  B!

C, = 0

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 28/55

395 

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 29/55

396  D I S E Ñ O L O G I C O D E P R O C E S A D O R E S CAP. 9

La salida F¡ es igual a X¡ © Y* y produce las operaciones OR-exclusivay de complemento como se especifica en la Tabla 9-3. Cada At  con fi, se

aplican a una función OR cuando s2slS o = 110, para producir la operaciónOR como se ha discutido antes. Cada A, con B \ se aplican a una función OR cuando s2 sl  s0 = 110 para producir una operación AND como se ha ex

 plicado previamente.Las 12 operaciones generadas en el ALU se sumarizan en la Tabla 9-4.

La función particular se selecciona por medio de s2 , s x  , s0 y C in . Lasoperaciones aritméticas son idénticas a aquellas listadas para el circuitoaritmético. El valor de Ci n para las cuatro funciones lógicas no tienen efecto en la operación de la unidad y aquellas entradas se marcan con X de noimporta.

T ab la 9-4 Tabla de función para el AL U de la Figura 9-13

Selección

s 2 J0 C¡„ Salida Función

0 0 0 0  F 

0 0 0 1  F 

0 0 1 0  F 

0 0 1 1  F 

0 1 0 0  F 

0 1 0 1  F 

0 1 1 0  F 

0 1 1 1  F 

1 0 0  X   F 

1 0 1  X   F 

1 1 0  X   F 

1 1 1  X   F 

 A Trasferir A A + 1 Incrementar A  A + B Suma  A + B +1 Suma con arrastre  A - B - 1 Resta con préstamo  A - B Sustracción A - 1 Decrementar A A Trasferir A  A\J B OR   A® B OR-exclusiva  A AB AND

 A Complementar A

9 - 7 R E G I S T R O D E C O N D I C I O N

Las magnitudes relativas de dos números pueden ser determinadas restando un número de otro y luego combinando ciertas condiciones de los

 bits en la diferencia resultante. Si los dos números están sin signo las condiciones de los bits de algún interés, son el arrastre de salida y un resultado posible de cero. Si los dos números incluyen un bit de signo en la

 posición de mayor orden, las condiciones principales de los bits, son el signodel resultado, una indicación de cero y una condición de sobrecapacidad.Es conveniente algunas veces suplementar el ALU con un registro de condición donde se almacenan aquellas condiciones de los bits para análisis

  posterior. El estado de los bits de condición se llama algunas veces códi go de condición de los bits o bits indicadores.

La Figura 9-14 muestra un diagrama de bloque de un ALU de 8 bitscon un registro de condición de 4 bits. Los cuatro bits de condición se sim

 bolizan por medio de C, S, Z y V. Los bits se ponen a uno ó cero como resultado de una operación realizada en el ALU.

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 30/55

SEC 9-7 R E G I S T R O D E C O N D I C I O N 397 

3.

4.

El bit C se pone a uno si el arrastre de salida del ALU es 1 y se ponea cero (borrado) si el arrastre de salida es 0.

El bit S se pone a uno si el bit de mayor orden del resultado en lasalida del ALU (bit del signo) es 1 y se pone a cero (borrado) si el

 bit de mayor orden es 0.

El bit Z se pone a uno si la salida del ALU contiene sólo ceros y se  pone a cero (borrado) de otra manera. Z = 1 si el resultado es ceroy Z = 0 si el resultado es diferente de cero.

El bit V se pone a uno si la OR-exclusiva de los arrastres C8 y C9

es 1 y de otra manera se pone a cero (borrado). Esta es la condiciónde sobrecapacidad cuando los números están en la representaciónde signo-complemento de 2 (ver Sección 8-5). Para el ALU de 8 bits,V se pone a uno si el resultado es mayor que 127 o menor que — 128.

Los bits de condición pueden comprobarse después de una condiciónde operación para determinar ciertas relaciones que existen entre los valores de A y B. Si el bit V se pone a uno después de la adición de los dosnúmeros con signo, éste indicará una condición de sobrecapacidad. Si Z se

  pone a uno después de una operación de OR-exclusiva indica que A =B.Esto es así porque x © x = 0 y la OR-exclusiva de dos operandos iguales daun resultado de sólo ceros, los cuales ponen a uno el bit Z. Un solo bit de A

  puede comprobarse para determinar si es 0 ó 1, al enmascarar todos los bits excepto el bit en prueba, para luego comprobar el bit de condición Z.

r <Jt 

Registro decondición

C 9 Co u t

ALUde 8 bits

C — ArrastreS — Signo

 Z—  CeroV— Sobrecapacidad

Selección

Figura 9-14 Activación de los bits en un registro de estado

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 31/55

3 3 5 D I S E Ñ O L O G IC O D E PR O C E S A D O R E S CAP. 9

Por ejemplo, sea A = 101x1100 donde x es el bit que se va a comprobar. Laoperación AND de A con B=00010000 producirá un resultado 000x0000. Si

x = 0 el bit de condición se pone a uno pero si x = 1 el bit Z se borra ya queel resultado es cero.La operación de comparación es una sustracción de A menos B, ex

cepto que el resultado de la operación no se trasfiere al registro de destino,  pero los bits de condición se afectan. El registro de condición suministraentonces la información acerca de las magnitudes relativas de A y B. Los

  bits de condición que se van a considerar dependen de si se toman los dosnúmeros con signo o sin él en la representación de complemento de 2.

Considérese la operación A-B hecha con dos números binarios sin signo. Las magnitudes relativas de A y B pueden determinarse de los valorestrasferidos a los bits de condición C y Z. Si Z = 1 se sabe que A = B ya queA - B = 0. Si Z = 0 se sabe que A^B. De la Tabla 9-2 se tiene que C = 1 setiene que C = 1 si A > B y C = 0 si A < B. Estas condiciones están listadasen la Tabla 9-5. La tabla da en su lista otras dos condiciones. Para que Asea mayor pero no igual a B (A > B) se debe tener C = 1 y Z = 0. Como C se

  pone a uno cuando el resultado es 0, se debe comprobar Z para asegurarseque el resultado no es 0. Para que A sea menor que o igual a B(A < B), el bitC debe ser 0 (para A < B) o el bit Z debe ser 1 (para A = B). La Tabla 9-5 lista también las funciones de Boole que deben satisfacerse para cada una delas seis relaciones.

Algunos computadores consideran el bit C como el bit de préstamo des  pués de una operación de sustracción de A-B. Un bit de préstamo no ocurre si A >B pero un bit extra debe ser prestado cuando A < B. La condición

 para el bit de préstamo es el complemento del arrastre de salida obtenidocuando se hace la sustracción, tomando el complemento de 2 de B. Por estarazón un procesador que considera el bit C como el bit de préstamo despuésde una sustracción, complementará el bit C después de la sustracción u

operación de comparación y denotará este bit como préstamo.Considérese ahora la operación A-B hecha con dos números binarioscon signo cuando los números negativos están en la forma de complementode 2. Las magnitudes relativas de A y B pueden ser determinadas de dosvalores trasferidos a los bits de condición Z, S y V. Si Z = 1 se conoce queA = B, cuando Z= 0 se tiene que A ?¿ B. Si S = 0, el signo del resultado es

Ta bl a 9-5 Bits de cond ición después de la sustracc iónde los números sin signo (A-B)

Re la c ió nEstado del bitde condición

Func ió nde Boole

 A> B

  A > B

  A <B

 A < B

 A = B

 A ^ B

 Z 

 Z 

00 o Z = 1

0

l y z = 0

zZ '

C Z '

ccc + z

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 32/55

SEC. 9-8 DISEÑO DE UN REGISTRO DE DESPLAZAMIENTO 399

 positivo de manera que A debe ser mayor que B. Esto es verdad s: no .-.¿ysobrecapacidad y V=0 . Si el resultado se desborda por sobrecapacidad se

obtendrá un resultado erróneo. Fue mostrado en la Sección 8-5 que una condición de sobrecapacidad cambia el signo del resultado. Por tanto, si S = 1y V = 1 esto indica que el resultado debería haber sido positivo y por tanto

 A debe ser mayor que B. . .La Tabla 9-6 lista las seis relaciones posibles que pueden existir entre A

y B y los valores correspondientes de Z, S y V en cada caso. Para que A-Bsea mayor que pero no igual a cero (A > B), el resultado debe ser positivo odiferente de cero. Como un resultado de cero dará un signo positivo, se debeasegurar que el bit Z es 0 para excluir la posibilidad de A = B. Para A>Bes suficiente comprobar un signo positivo cuando no ocurre sobrecapacidado un signo negativo cuando ocurre una sobrecapacidad. Para A<B, el resultado debe ser negativo. Si el resultado es negativo o cero, se tiene queA < B. Las funciones de Boole listadas en la tabla expresan las condiciones

del bit de condición en forma algebraica.Ta bl a 9-6 Bits de condic ión después de la sustr acció n de números (A-B)

en signo-complemento de 2

Relación Estado de los bits de condición Función de Boole

 A>B Z = 0 y (<? = 0 , K = 0 ó S= 1,F = 1) Z'(SOV)

  A > B 5 = 0, K = 0 ó S = 1, K = 1 SOV 

  A <B 5 = 1 , K = 0 ó 5 = 0, K = 1 S®V 

  A <B 5 = 1 , F = 0 ó 5 = 0, K = l ó Z = l (S @ V) + Z 

  A = B Z = 1  A ^ B Z  = 0

Z

Z '

9-8 DISE ÑO DE UN REGISTRO DE DES PLA ZAM IE NTO

La unidad de desplazamiento adjunta a un procesador trasfiere la salidadel ALU al bus de salida. La unidad de desplazamiento puede trasfenr lainformación directamente sin un desplazamiento o puede desplazar la información a la derecha o a la izquierda. Se debe tener alguna precaución

 para que algunas veces no haya trasferencia del ALU al bus de salida. Elregistro de desplazamiento produce la microoperación de desplazamientocomúnmente no disponible en un ALU.

Un circuito obvio para un registro de desplazamiento es un registro dedesplazamiento bidireccional con carga en paralelo. La información del ALU

 puede ser trasferida al registro en paralelo para luego desplazarla a la derecha o a la izquierda. En esta configuración se necesita un pulso de reloj

  para la trasferencia al registro de desplazamiento y se necesita otro pulso  para el desplazamiento. Estos dos pulsos son agregados al pulso necesario para trasferir la información del registro de desplazamiento al registro dedestino.

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 33/55

400 DISEÑO LOGICO DE PROCESADORESCAP. 9

La trasferencia de un registro fuente a un registro de destino puedehacerse con un pulso de reloj si se configura el registro de desplazamiento

con un circuito combinacional. En un registro de desplazamiento de lógicacombinacional, las señales del ALU al bus de salida se propagarán por lascompuertas sin la necesidad de un pulso de reloj. Por tanto el único pulsode reloj necesario en el sistema del procesador es para cargar los datos del

 bus de salida al registro de destino.Un registro de desplazamiento de lógica combinacional puede construir

se con multiplexores como se muestra en la Figura 9-15. Las dos variablesde selección H, y H 0 aplicadas a los cuatro multiplexores seleccionan eltipo de operación en el registro de desplazamiento. Con H  x  H 0=QO no seejecutan desplazamientos y las señales de F van directamente a las líneasde b Las dos siguientes variables de selección causan una operación dedesplazamiento a la derecha o la izquierda. Cuando H  X  H 0 = 11 los mul ti

  plexores seleccionan las entradas conectadas a 0 y como una secuencia lassalidas de S son también iguales a 0, bloqueando la trasferencia de infor

mación del ALU al bus de salida. La Tabla 9-7 sumariza la operación delregistro de desplazamiento.

El diagrama de la Figura 9-15 muestra solamente cuatro estados delregistro de desplazamiento. Este último por supuesto debe consistir de nestados en un sistema con n líneas en paralelo. Las entradas I  R e I  Lsirven como entradas de serie para la primera y última etapas durante undesplazamiento a la derecha o a la izquierda respectivamente. Otra varia

  ble de selección puede ser empleada para especificar que irá a I  R e I  L durante el desplazamiento. Por ejemplo, una tercera variable de selección H 2 ,cuando está en un estado puede seleccionar un 0 para la entrada en serié

^4

Salidaserial

 Hy

0 1 2 3

MUX

0 1 2 3

MUX

0 1 2 3

MUX

0 1 2 3

MUX

Salidaserial

-0

Figura 9-15 Registro de desplazamiento de 4 bits a base de lógica combinacional

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 34/55

Tabla 9-7 Tabla de función para el registro de desplazamiento

«i #0 Operación Función

0 0 S+-F  Trasferir F a S (ningún desplazamientoi0 1 S *- shr  F  Desplazar F a la derecha hacia S 1 0 S <- shl F  Desplazar F a la izquierda haciaF 1 1 S*-0 Trasferir 0a S 

durante el desplazamiento. Cuando H 2 está en el otro estado la información puede circularse conjuntamente con el valor del bit de condición. Deesta manera un arrastre producido durante una operación de suma puededesplazarse a la derecha a la posición del bit más significativa de un registro.

9-9 UNI DAD PROCESADORA

Las variables de selección en la unidad procesadora controla las microope-raciones ejecutadas dentro del procesador durante cualquier pulso de relojdado. Las variables de selección controlan los buses, el ALU, el registro dedesplazamiento y el registro de destino. Se demostrará ahora por medio deun ejemplo cómo las variables de control seleccionan las microoperacionesen una unidad procesadora. El ejemplo define una unidad procesadora con

 juntamente con todas las variables de selección. Luego se discutirán las alternativas de las variables de control para algunas microoperaciones tí

 picas.Un diagrama de bloque de una unidad procesadora se muestra en la

Figura 9-16(a). Este consiste de siete registros Rl  hasta Rl  y el registrode condición. Las salidas de los siete registros van a través de dos multi-

 plexores para seleccionar las entradas del ALU. La entrada de datos de unafuente externa se selecciona también con los mismos multiplexores. La salida del ALU pasa a través de un registro de desplazamiento y luego va a ungrupo de terminales de salida externos. La salida del registro de desplazamiento puede trasferirse a cualquiera de los registros o a un destino externo.

Hay 16 variables de selección en la unidad y su función se especifica por unapalabra de control  en la Figura 9-16(b). La palabra de control de16 bits cuando se aplica a las variables de selección en el procesador, especifica una microoperación dada. La palabra de control se divide en seiscampos, con cada campo designado por una letra. Todos los campos, exceptoCin tienen un código de tres bits. Los tres bits de A seleccionan un registrofuente para la entrada en la parte izquierda del ALU. El campo B es el mis

mo, pero selecciona la fuente de información para la entrada derecha delALU. El campo D selecciona un registro de destino. El campo F conjuntamente con el bit en Cin seleccionan una función en el ALU. El campo H selecciona el tipo de desplazamiento y el registro de desplazamiento.

401

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 35/55

Datos de entrada

Archivo deregistros RlaRl 

Selectorde destino

Registro de condición

V   z   s c

1 ,Selector

•> *bus A

SelectorbusB

A L U

•10• 1 1•12

• l i C¡

F

Registro dedesplazamiento

•14•15•16

Datos de salida

(a) Diagrama de bloque

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

A B D F H

(b) Palabra de control

Figura 9-16 Unidad procesadora con variables de control

Las funciones de todas las variables de selección se especifican en laTabla 9-8. El código binario de 3 bits listado en la tabla especifica el código

 para cada uno de los cinco campos A, B, D, F y H. El registro seleccionado por A, B y D es aquel cuyo número decimal es equivalente al número binario en el código. Cuando el campo A ó B es 000, el correspondiente multiplexor selecciona la entrada de datos. Cuando D = 000, no se selecciona registro de destino. Los tres bits en el campo F conjuntamente con el arrastrede entrada Ci n , sumunistran las 12 operaciones del ALU de la manera espe-

402

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 36/55

SEC. 9-9UNIDAD PROCESADORA 403

cificada en la Tabla 9-4. Nótese que hay dos posibilidades para F = A. En

un caso el bit de arrastre C se borra y en el otro caso se pone a 1 (ver Tabla9-2).

Tabla 9-8 Funciones de las variables de control para el procesador de la Figura 9-16

Código binario

Función de las variables de selección

 B  D

F  conCin = 0

F  con

C,„ = 1  H 

0 0 00 0 101 o0 1 1

1 o o1 0 11 1 o1 11

Datos entr. Rl 

 R2

 R3

 RA

 R5

 R6 

 Rl 

Datos sal. Rl 

 R2

 R3

 RA

 R5

 R6 

 Rl 

 Ning. Rl 

 R2

 R3

 RA

 R5

 R6 

 Rl 

  A,C <—0

 A + B

  A - B

 A-1

  A\/ B  A® B

  A AB

 I 

- 1

 A +1  A + B +

  A - B

 A,C<-1

 No desplazamientoDespl. a la der., 4=0Despl. a la izq., I  L = 00 al bus de salida

Circular a la der. con CCircular a la izq. con C

Las cuatro primeras entradas del código en el campo H especifican lasoperaciones de desplazamiento de la Tabla 9-7. Una tercera variable de selección se usa para especificar un 0 para las entradas de sene 1 R e l  L oun desplazamiento circular con el bit de arrastre C. Por conveniencia sedesigna un desplazamiento circular a la derecha con arrastre como ere y ala izquierda como ele. Entonces la declaración (ere = circular nght-shittwith carry; ele = circular left-shift with carry):

 R <- ere R

es una abreviación de la proposición:

  R<-shrR, Rn*-C, C<-R x 

 R se desplaza a la derecha, su bit menos significativo R, va a C y el valor de C va a la posición del bit más significativo Rn .

Se necesita una palabra de control de 16 bits para especificar una mi-crooperación para la unidad de proceso. La manera más eficiente de generar palabras de control con tantos bits es almacenarlas en una unidad dememoria que funciona como memoria de control  donde están almacenadastodas las palabras de control. La secuencia de palabras de control se lee

de la memoria de control palabra a palabra para iniciar la secuencia deseadade microoperaciones. Este tipo de organización de control se llama micropro- gramación y se discute en más detalle en el Capitulo 10

La palabra de control para una microoperacion dada puede ser derivada directamente de las variables de selección definidas en la Tabla 9-8. Lamicrooperacion de sustracción:

  R\<-Rl - R2

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 37/55

404  DISEÑO LOGICO DE PROCESADORES C A p g

c T d e Í A L U rr

V n

 Cnt

rda ÍZqUÍerd

f ,del ALU

'R 2

Pa r a l a e n

trada dere-el recrío i ' H ~ f P l a ° P e r a c i o n d e l ALU, ningún desplazamiento parael registro de desp azamiento y Rl p a r a eJ registro de destino. De la Tabla9-8 se deriva la palabra de control para que esta operación sea

0010100010101000:

  A B D F C in H 

001 010 001 010 1 000

eLnlaPTab blaa9-9e C ° n t r 0 1 ^ ****  m Í c r o o P e r a c i ó n y a l ^ n a « otras se listan

La operación de comparar es similar a la microoperación de sustrac-

 ZlíeloT, qdU e k  d ; f e r e n d a 7 8 6 t r a s f i e r e 3 1 re^ÍSt- d e destino y oía-debe Ir 000T , C °f  C 1 ° n 81 3 o e C t a n - E 1 C a m P ° d e d e s t i n o D ^ este casodebe ser 000. La trasferencia de RA a R5 requiere una operación ALU F —  ALa fuente A es 100 y el destino D es 101. El código de selección B podría~ser cualquier cosa porque el ALU no lo usa. Este campo se marca con « £ e n la

PaTa í r r f ^ ' r  1 3 r°/ U  f qr T ° t r ° C Ó d Í ^° d * 3 b i t s Podría ser  usado

Para trasferir la entrada de datos a i?6, se debe tener A = 000 para seeccionar la entrada externa y D= 110 para seleccionar  ellegiZ^e de

tino. De nuevo el valor de B no importa y la función ALU es F= A Para

FA í°Ld,e h3CeAr 1 1 1 y  D = 000 (ó 111). La operación t ALU

* - A coloca la información de Rl al bus de salidaEs necesario algunas veces borrar o poner a i el bit de arrastre antes

de una operación circular de desplazamiento. Esto puede hacerse con uncódigo de selección de ALU 0000 ó 0111. Con el prime? código se t ene el Z C borrado y con el segundo el bit C en 1. La trasferencia Rl̂ Rl  C  J 0 no

r ^ lf l

C

° f 

n

! ,

d e l

,

r e g Í S t r  

° '

P C r 

°

 b 0 r r a r a C 

y

-

L o s b i t s

de seleccióna [ e c t a n

,d e

•fpal manera. Si fll = 0 entonces Z se pone a 1 de otramanera se borrará. El bit S se pone a uno con el valor del bifsigno en Rl 

i u! J° í r  ^ Q U e d i s p a r a e l r e ^ i s t r o d e d e s *ino trasfiere tambiénlos bits de condición del ALU al registro de condición. Los bits de cocción

Tabla 9-9 Ejemplos de microoperaciones para un procesador

Palabra de control

Microoperación A B D F  C m H  Función

 R \ * - R \ - R 2 001 010 001 010 1 000 Sustraerá de Rl ' 

 R 3 - R 4 011 160 000 010 1 000 Comparar  R3y R4

^ i R 4 100 000 101 000 0 000 Trasferir R4aR5 R6 ̂Entrada 000 000 110 000 0 000 Entrada de datos aR6 Salida*- Rl  111 000 000 000 0 000 Salida de datos deRl 

* h ' £ m! T 0 0 1 0 0 0 ° 0 0 0 Bourel bit de arrastre C R r  nn S

1 0 1 1 1 0 0 ° 0 1 0 ^ P ^ r a l a derechas con/¿ = 0* IT I I río JE ° C-^ -l ade r . ií lc onb it dea rra st re*¿<-ü 000 000 010 000 0 011 Borrar #2

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 38/55

SEC. 9-9 U N I D A D P R O C E S A D O R A 405

son afectados después de las operaciones aritméticas. Los bits de condiciónC y V se dejan sin cambiar durante una operación lógica ya que esos bits

no tienen significado para las operaciones lógicas. En algunos procesadoreses costumbre no cambiar el valor del bit de arrastre C después de una operación de incremento o decremento.

Si se quiere colocar el contenido de un registro a un registro de desplazamiento sin cambiar el bit de arrastre, se puede usar la operación lógicaOR con el mismo registro seleccionado para las entradas A y B del ALU. Laoperación:

 R<-R V R

no cambia el valor del registro R, sin embargo, coloca el contenido de R a lasentradas del registro de desplazamiento y no cambia los valores de los bitsde condición C y V.

Los ejemplos en la Tabla 9-9 discutidos hasta ahora usan el código 000de selección de desplazamiento para el campo H, para indicar una operación de no desplazamiento. Para desplazar los contenidos de un registro sedebe colocar el valor del registro en el registro de desplazamiento sin hacerle ningún cambio al ALU. La proposición de la microoperacion de des

 plazamiento a la izquierda:

  R3<-sh\ R3

especifica el código para la selección de desplazamiento pero no el código para el ALU. El contenido de R3 puede colocarse en el registro de desplazamiento para especificar una operación OR entre RS y el registro mismo. Lainformación desplazada regresa a R3 si R3 se especifica como el registro dedestino. Esto requiere que los campos de selección A, B y D tengan el có

digo 011 para R3, que el código de función del ALU sea 1000 para la operación OR y que el selector  H de desplazamiento sea 010 para el desplazamiento a la izquierda.

El desplazamiento circular a la derecha con arrastre del registro Rl sesimboliza por medio de la proposición:

 R1 <- ereR1

Esta proposición especifica el código del registro de desplazamiento pero noel código para el ALU. Para colocar el contenido de R3en los terminales desalida del ALU sin afectar el bit C se usa la operación OR como se hizo anteriormente. De esta manera no se afecta el bit C en la operación del ALU,

 pero puede cambiarse debido al desplazamiento circular.El último ejemplo en la Tabla 9-9 muestra la palabra de control para bo

rrar un registro a 0. Para borrar el registro R2, se hace que el bus de salidacontenga sólo ceros con H= 011. El campo de destino D se hace igual al código del registro R2.

Es obvio a partir de estos ejemplos que muchas otras microoperaciones  pueden generarse en la unidad procesadora. Una unidad procesado ra conun conjunto completo de microoperaciones es un elemento de propósito ge-

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 39/55

406  DISEÑO LOGICO DE PROCESADORES CAP, 9

neral que puede adaptarse a muchas aplicaciones. El método de traste-rencia entre registros es una herramienta conveniente para especificar las

operaciones en forma simbólica en un sistema digital que emplea una unidad de proceso para propósitos generales. El sistema se define primerocon una secuencia de proposiciones de microoperación en el método de notación de trasferencia entre registros o en cualquier otra notación disponi

  ble de trasferencia. Una función de control se representa aquí no por unafunción de Boole sino por una cadena de variables binarias llamadas palabrade control. La palabra de control para cada microoperación se deriva de latabla de función del procesador.

La secuencia de palabras de control para el sistema se almacena en lamemoria de control. La salida de la memoria de control se aplica a las variables de selección del procesador. Leyendo consecutivamente las pala

 bras de control de la memoria, es posible darle secuencia a las microopera-ciones del procesador. Así, todo el diseño puede hacerse por medio delmétodo de trasferencia entre registros, el cual en este caso particular serefiere al método de la microprogramación. Este método para controlar launidad procesadora se demuestra en la Sección 10-5.

9-10 DISEÑO DEL AC UM ULA DOR

Algunas unidades procesadoras distinguen un registro de otros y lo llamanregistro acumulador. La organización de una unidad procesadora con unregistro acumulador se muestra en la Figura 9-4. El ALU asociado con elregistro puede ser construido como un circuito combinacional del tipo discutido en la Sección 9-5. En esta configuración, el registro acumulador esesencialmente un registro de desplazamiento bidireccional con carga en

 paralelo el cual es conectado a un ALU. Debido a la conexión de retroali-mentación de la salida del registro a una de las entradas en el ALU el re

gistro acumulador y su lógica asociada, cuando se toman como una solaunidad, constituyen un circuito secuencial. Debido a la anterior propiedadun registro acumulador puede ser designado por técnicas de circuitos se-cuenciales en vez de usar un ALU de circuito combinacional.

Registro A

Variables de control

 BEntradas de datos

Figura 9-17 Diagrama de bloque del acumulador

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 40/55

SEC. 9-10 DISEÑO DEL ACUMULADOR 407 

El diagrama de bloque de un acumulador que forma un circuito secuen-cial se muestra en la Figura 9-17. El registro A y el circuito combinacional

asociado constituyen un circuito secuencial. El circuito combinacionalremplaza al ALU pero no puede separarse del registro ya que éste es solamente la parte del circuito combinacional del circuito secuencial. El registro A se trata algunas veces como el registro acumulador y se denota algunas veces por el símbolo AC. Aquí, el acumulador se refiere al registro Ay a un circuito combinacional asociado. Las entradas externas al acumulador son las entradas de datos de B y las variables de control que determinan las microoperaciones del registro. El siguiente estado del registro Aes una función de un estado presente y de las entradas externas.

En el Capítulo 7 se consideraron varios registros que realizan funciones específicas tales como la carga en paralelo, las operaciones de desplazamiento y el conteo. El acumulador es similar a estos registros pero esmás general ya que éste puede realizar no solamente las funciones anteriores sino también otras operaciones de procesamiento de datos. Un acumu

lador es un registro de multifunción que por sí mismo puede realizar todaslas microoperaciones en la unidad procesadora. Las microoperaciones incluidas en un acumulador dependen de las operaciones que deben incluirseen el procesador particular. Para demostrar el diseño lógico de un registrooperacional de multipropósito tal como un acumulador se diseña el circuito con nueve microoperaciones. El procedimiento enunciado en esta sección

  puede ser usado para extender el registro a otras microoperaciones.El conjunto de microoperaciones para el acumulador se da en la Tabla

9-10. Las variables de control p{  hasta p9 son generadas por los circuitoslógicos de control y deben ser consideradas como funciones de control queinician las operaciones correspondientes de trasferencia entre registros.El registro A es un registro fuente en todas las microoperaciones listadas.En esencia éste representa el estado presente del circuito secuencial. Elregistro B se usa como un segundo registro fuente para microoperacionesque necesitan dos operandos. El registro B se asume que está conectado al

Tabla 9-10 Lista de microoperaciones de un acumulador

Variablede control Microoperacion  Nombre

 P\  A <—  A + B Sumar 

 Pi  A <-0 Borrar 

 P3   A <—A Complementar 

 PA  A<-A A B AND Ps  A <— A V B OR  Pe   A<-A ® B OR-exclusiva Pi  A *-shr A Desplazar a la derecha

 P%   A <—s\úA Desplazar a la izquierda

 P9   A *-A + 1 Incremento P9

Si (A = 0) entonces (Z = 1) Comprobar el cero

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 41/55

408 DISEÑO LOGICO DE PROCESADORES C A p g

acumulador y suministra las entradas al circuito secuencial. El registrode destino para todas las microoperaciones es siempre el registro A La

s r uV

e n c i a r T a r °n l 

 ™ íeA

***  ^«"B t i tuye el siguiente estado'del circuitosecuencial. Las nueve variables de control se consideran también como en-vasoíamLC¿rCU s e c u e

"c i a

J - E s t a « variables son excluyentes mutuamentey solamente una variable debe ser habilitada cuando ocurre un pulso dereloj. La ultima entrada en la Tabla 9-10 es una declaración de control con-Í ™  M ' E

?t a P r o d u c e u n 1 b i n a " ° en una variable de salida Z, cuando el

e^n e n btados. r e g l S t r 0 *  " °' " ^ ^ ™  -gistro

Procedimiento de d iseño

El ̂acumulador consiste de n etapas y n flip-flops A A 2  , A numeradas consecutivamente comenzando desde la posición de la extrema izquierda Es conveniente la partición del acumulador en n etapas similares

tC

o°sT̂a

/a d a

Td

?U

,n flÍp

-fl0p d e n 0 t a d 0 c o m o

A» u n a e n ^ada de datos denotada por B, y la lógica combinacional asociada con el flip-flop Ene procedimiento de diseño que sigue se considera solamente una etapa tí-mra / - 7 "o ^ n * 3 ^ U" a c u m u l a dor de n bits consiste de n etapaspara i - l ¿, . . . n . Cada etapa A, se interconecta a su etapa A , vecinaa su derecha y a la A a su izquierda. La primera etapa 5, y la ultimano tienen vecinas aun lado y debe prestárseles atención especial. El registro se diseñará usando flip-flops del tipo JK   g 

n » r t C a , d a V p Í a b l e d e , c o n t r o 1P  J> J= 1. 2- • •> 9 inicia una microoperación

particular. Para que la operación tenga significado se debe asegurar quesolamente una variable de control se habilita en un tiempo dado. Como lasvariables de control son excluyentes mutuamente, es posible separar elcircuito combinaciona de una etapa en circuitos menores, uno para cada

microoperación. Asi, el acumulador se debe dividir en n etapas y cada unase debe seccionar en aquellos circuitos que se necesitan para la microoperación. De esta manera, se puede simplificar el proceso de diseño considerablemente. Una vez que las diferentes piezas se diseñen separadamente,sera posible cambiarlas para obtener una etapa típica del acumulador yluego cambiar las etapas en un acumulador completo.

i A^r ue ! g a 5  B a La microoperación de suma se inicia cuandola variable de control Pl es 1. Esta parte del acumulador puede usar unsumador en paralelo compuesto de circuitos sumadores completos como fuehecho con e ALU. El sumador completo en cada etapa i aceptará como en-

fnrevt C FV b? t S e n t e ** ^ !? d e d a t 0 S * e I b i t d e a r r a s "Irirfn «l fi- V. A ^ g e n e r a d o en eI sumador completo debe ser traso í p n t r « H

P i° P 1 y . 3 r r a S t r e d C S 3 l Í d a C < + 1 d e b e a P l i c a r s e a l a r r astre

de entrada en la siguiente etapa.La construcción interna de un circuito sumador completo puede ser

simplificada si se considera que ésta opera como parte de un circuito secuencial. La tabla de estado de un sumador completo, cuando se consideracomo un circuito secuencial, se muestra en la Figura 9-18. El valor del flip-flop A¡ anterior al pulso de reloj expecifíca el estado presente en el cir-

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 42/55

SEC. 9-10 DISEÑO DEL ACUMULADOR 409

cuito secuencial. El valor de A¡ después de la aplicación de un pulso dereloj especifica el siguiente estado. El siguiente estado de A¡ es una fun

ción de sus estados presentes y entradas B¡ y C¡. El estado presente ylas entradas en la tabla de estado corresponden a las entradas del sumador completo. El estado siguiente y la salida C¿+ 1 corresponde a las salidas delsumador completo. Pero como éste es un circuito secuencial, A¡ apareceen ambas columnas de estado presente y siguiente. El siguiente estado de

 Ai da el bit suma que debe trasferirse al flip-flop.Las entradas de excitación para el flip-flop JK se listan en las colum

nas JA, y KA¡. Estos valores se obtienen por el método enunciado en laSección 6-7. Las funciones de entrada del flip-flop y las funciones de Boole

 para la salida se simplifican en los mapas de la Figura 9-18. La entrada J del flip-flop A¡ designada como JA¡ y la entrada K del flip-flop A, designada como KAT  no incluyen la variable de control p¡. Estas dos ecuaciones deben afectar el flip-flop solamente cuando p x  esté habilitada, por tanto deben aplicarse a una función AND con la variable de control p¡ . La

 parte del circuito combinacional asociada con la microoperación de suma puede ser expresada con tres funciones de Boole:

 JA, = 5,C,>, + B;Cj> x 

  KA , = B t q  P x  + B ;C^  C  Í+I  =  A i  B ¡ + A¡C¡ + B¡C¡

Las primeras ecuaciones son idénticas y especifican una condición paracomplementar  A,. La tercera ecuación genera el arrastre de la siguienteetapa.

Estado Estado Entradas depresente Entradas siguiente flip-flops Salida

 At 

  B, C,  A¡  JA¡ KA i  C i+l 

0 0 0 0 0 X 00 0 1 1 1 X 00 1 0 1 1 X 00 1 1 0 0 X 11 0 0 1 X 0 01 0 1 0 X 1 11 1 0 0 X 1 11 1 1 1 X 0 1

  X X X  X 

1 1

 JA i = BiC't + B'¡C¡  KA^B.C'i+B': d  C,+ 1=A,B, +A,C  I +B,C  I 

Figura 9-18 Tabla de excitación para la microoperación de suma

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 43/55

410 DISEÑO LOGICO DE PROCESADORES CAP. 9

Borrar  (p2): La variable de control p2 borra todos los flip-flops enel registro A. Para causar esta transición en el flip-flop JK  se necesita

solamente aplicar la variable de control p2 a la entrada K del flip-flop. Laentrada J se asumirá como 0 si nada se aplica a ella. Las funciones de entrada para la microoperacion de borrado son:

 JA¡ = 0

 KAi =p2

Complementar (p 3 ): La variable de control p3 complementa elestado del registro A. Para causar esta transición en un flip-flop JK se necesita aplicar p3 a ambas entradas J y K:

  JA, = p3

AND (p 4 ): La microoperacion AND se inicia con la variable de control p 4 . Esta operación forma la operación lógica AND entre A¡ y B¡ y

Estado Estado Entradas depresente Entrada siguiente los flip-flops

 A¡  B¡  A¡   JA¡ KA¡

0 0 0 0 X 

0 1 0 0 X 

1 0 0  X  11 1 1  X  0

(a) AND

Estado Estado Entradas depresente Entrada siguiente los flip-flops

 A¡  B¡  A i   JA i KA¡

0 0 0 0 X 

0 1 1 1 X 

1 0 1  X  0

1 1 1  X  0

(b)OR 

Estado Estado Entradas depresenteEntrada siguiente los flip-flops

 JAi   KA,

0

1 X 

 X 

 X 

 X 

o

1

X X

X X 1

 JAi   KA: = B\

 B¡

1

"\

X X

X X "\ JAi  = *«  KA¡ =- 0

B,

1  X X 

 X   X  1

 JAi  = B¡  KA i = B¡

(c) OR-exclusiva

Figura 9-19 Tablas de excitación para las microoperaciones lógicas

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 44/55

SEC. 9-1 0 DISEÑO DEL ACU MUL ADO R ¿ •

trasfiere el resultado a A ¿ . La tabla de excitación para esta operación seda en la Figura 9-19(a). La siguiente etapa de A, es 1 solamente cuando

 B, y el estado presente de A, sea igual a 1. Las funciones de entrada deiflip-flop, las cuales se simplifican en los mapas, indican que la entrada K del flip-flop se habilita con el valor del complemento de B¡. Este resultado

  puede ser verificado de las condiciones listadas en la tabla de estado. Si B¡ = 1 el estado presente y siguiente de A, son iguales de manera que elflip-flop no tiene que sufrir un cambio de estado. Si B¡ = 0, el siguiente estado de A¡ debe ir a 0 y para lograrlo se habilita la entrada K del flip-flop.Las funciones de entrada para la microoperación AND deben incluir las variables de control que inician esta microoperación:

 JA; = 0

 KA, = B,'p4 

OR (p5 ): La variable de control p5 inicia la operación lógica OR entre A¡ y B, con el resultado trasferido a A¡. La Figura 9-19(b) muestrala deducción de las funciones de entrada del flip-flop para esta operación.Las operaciones simplificadas en los mapas indican que la entrada J estáhabilitada cuando B¡ = 1. Este resultado puede ser verificado a partir de latabla de estado. Cuando B, — 0, el estado presente y siguiente de A, soniguales. Cuando B¡ = 1, la entrada J se habilita y el estado siguiente de A¡se convierte en 1. Las funciones de entrada para las microoperaciones OR son:

 JA, = Bj> s

 KA¡ = 0

OR-exclusiva (pf i): Esta operación forma la OR-exclusiva lógica en

tre A, y B, y trasfiere el resultado a A¿. La información pertinente paraesta operación se muestra en la Figura 9-19(c). Las funciones de entradade los flip-flops son:

  JA, = Bj>6 

 KA, = Bj,6 

Desplazamiento a la derecha (p 7 ) : Esta operación desplaza el contenido del registro A una posición a la derecha. Esto significa que el valor del flip-flop A¡+ 1 , el cual está una posición a la izquierda de la etapa i, debeser trasferido al flip-flop A¡. Esta trasferencia se expresa por medio de lasfunciones de entrada:

 JA ¡ =Á 

i +\Pi   KA, = A' ¡+i  p7 

Desplazamiento a la izquierda (p 8 ): Esta operación desplaza elregistro A una posición a la izquierda. Para este caso el valor de A, ,, el

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 45/55

412 DISEÑO LOGICO DE PROCESADORES CAP. 9

cual está una posición a la derecha de la etapa i, debe ser trasferido a A¡.Esta trasferencia se expresa por medio de las funciones de entrada:

  JA; = A,_ipt 

£¿, = ¿¡-1?$

Incremento (p 9 ) : Esta operación incrementa el contenido del registro A en uno; en otras palabras, el registro se comporta como un contador 

  binario asincrónico con p9 habilitando la cuenta. Un contador sincrónicode 3 bits se muestra en la Figura 9-20. Este es similar al contador de la Figura 7-17 de la Sección 7-5 donde se discute en detalle la operación de loscontadores binarios sincrónicos. Del diagrama, se observa que cada etapase complementa cuando un arrastre de entrada E,• = 1. Cada etapa generatambién un arrastre de salida E i+l  para la siguiente etapa de la izquierda.La primera etapa es una excepción ya que ésta se complementa con el habi-litador de cuenta p 9 . Las funciones de Boole de una etapa típica pueden

ser expresadas de la siguiente manera:

 JA; =

 KA; = E¡

 E 

¡+i  = EiA; i  = 1, 2, . . . , n

 E \ = P9

El arrastre de entrada E¡ a la etapa, se usa para complementar el flip-flop A,. Cada etapa genera un arrastre para la siguiente, aplicando la función

Etapa 30 £ , = Pq

Figura 9-20 Contador binario sincrónico de 3 bits

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 46/55

SEC. 9-10 DISEÑO DEL ACUMULADOR 413

AND al arrastre de entrada y a A¡. El arrastre de entrada que va a la primera etapa es E v y debe ser igual a la variable de control p9 la cual habi

lita la cuenta.

Comprobac ión del cero (Z): La variable Z es una salida del acumulador usado para indicar un contenido de cero en el registro A. Esta salidaes igual al binario 1 cuando todos los flip-flops se hayan borrado. Cuandoun flip-flop se borra, su salida complementada Q' es igual a 1. La Figura 9-21muestra las primeras tres etapas del acumulador para comprobar un contenido de ceros. Cada etapa genera una variable z i+1 al aplicar la funciónAND a la salida complementada de A¡ y a una variable de entrada z,. Deesta manera una cadena de compuertas AND a lo largo de todas las etapasindicará si todos los flip-flops están borrados. Las funciones de Boole parauna etapa típica pueden ser expresadas de la siguiente manera:

*/+l = M/ » ' = 1 , 2 , . . . , / !

z, = l Z  n + \ =  Z 

La variable Z se convierte en 1 si la señal de salida de la última etapa z„, ,es 1.

Una etapa del acumulador

Una etapa típica del acumulador consiste de todos los circuitos que fuerondeducidos para las microoperaciones individuales. Las variables de controlP! hasta p9 son excluyentes mutuamente de manera que los circuitos lógicos correspondientes pueden ser combinados con una operación OR. Com

 binando todas las funciones de entrada para las entradas J y K del flip-flop

r

Q' Q

O

Q' Q Q' Q

o -O "i

Etapa 3

Figura 9-21 Cadena de compuertas AND para comprobar el contenidode ceros en el registro

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 47/55

 P, Sumar

í>2 Borrrar p3 Complementar

 P  A AND

 P  s OR 

 Pf. OR-exclusiva

 P-, Desplazamientoa la derecha

 p g  Desplazamientoa la izquierda

 Ei Incremento

Figura 9-22 Una etapa típica del acumulador

414 

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 48/55

SEC. 9-10

A, se produce un conjunto compuesto de funciones de entrada de B:-- .e

 para un estado típico:

 j   A ¡ = B¡C ¡Pi + B¡Cj> x  + Pi + Bj} s + Bj>6  + Ai+lPl  + Ai  _ ]Pi  + E,

 KA, = B,C ¡p x  + B,'Cj>i  +P2+P3 + S > 4 +

BiPe +¿¡+iPi 

+ A¡_ x  p s + E,

Cada etapa en el acumulador debe generar también los arrastres para la

siguiente etapa:

C+i -AA + AiQ + BiC,

+ i = E¡A¡ z 

¡+i = z 

 Aí 

El diagrama lógico de una etapa típica de un acumulador se muestraen la Figura 9-22. Esta es la configuración directa de las funciones de Boolelistadas anteriormente. El diagrama es un circuito compuesto que incluyelos circuitos individuales asociados con cada microoperacion. Los diferentes circuitos se combinan con dos compuertas OR en las entradas J y K del

fliP" Cada 'etapa del acumulador tiene ocho entradas de control p, hasta p8 que indican una de las ocho microoperaciones posibles. La variable decontrol p9 se aplica solamente a la primera etapa para habilitar la operación de incremento a través de la entrada E t  , hay otras seis entradas en elcircuito B es el bit de datos de los terminales B que suministran las entradas al acumulador. C, es el arrastre de entrada de la etapa previa a laderecha A¿ , viene de la salida del flip-flop que esta una posición a la de

recha y A ¡ + 1 viene del flip-flop que está una posición a la izquierda, i- esel arrastré de entrada para la operación de incremento y z, se usa para formar la cadena para detección de cero. El circuito tiene cuatro salidas: A,es la salida del flip-flop, C ( + 1 es el arrastre para la siguiente etapa, h l + }

es el arrastre de incremento para la siguiente etapa y z (+i es para la siguiente etapa a la izquierda, para formar la cadena para la detección de cero.

Acumulador completo

Un acumulador completo con n bits requiere n estados conectados en cascada con cada etapa conteniendo el circuito mostrado en la Figura 9-22.Todas las variables de control excepto p9 deben ser aplicadas a cada eta

  pa. Las otras entradas y salidas en cada etapa deben estar conectadas en

cascada para formar un acumulador completo.La interconexión entre etapas para formar un acumulador completo se

ilustra en el acumulador de 4 bits mostrado en la Figura 9-23. Cada bloqueen el diagrama representa el circuito de la Figura 9-22 El numero de la

 parte superior de cada bloque representa la posición de bit en e acumulador Todos los bloques reciben ocho variables de control Pl hasta ps y los

  pulsos de reloj del CP. Las otras seis entradas y cuatro salidas en cada

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 49/55

 B 4

Arrastrede salida

Arrastre deincremento

Entrada en serie -

 z  s

C 5 Q

 A,  Ai

 Es  E,

 A 5

 zi

Q Ci

 Ai ¿2

 E,  Ei

 A,

 zi

Ci

 A 2

 E,

°2

 z 2

C 2

 Ar 

 E 2

 Ai

 z 2 2 1

c2 Q

 Ai  A 0

 E 2  Ey

 A 2

- Arrastre de entrada

. Entradaen serie

-P9

• Pi ap8

CP 

Figura 9-23 Acumulador de 4 bits construido con cuatro etapas

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 50/55

PROBLEMAS 417 

 bloque son idénticas a aquellas de una etapa típica, excepto que el suscritoi se remplaza por el número particular en cada bloque.

El circuito tiene cuatro entradas B. La cadena de detección de cero seobtiene conectando las variables z  en cascada, con el primer bloque querecibe una constante binaria 1. La última etapa en esta cadena produce lavariable de detección de cero Z. Los arrastres de la suma aritmética se conectan en cascada como en los circuitos del sumador completo. La entradaen serie para la operación de desplazamiento a la izquierda, va a la entradaA o la cual corresponde a A¿_i en la primera etapa. La entrada en serie  para la operación de desplazamiento a la derecha, va a la entrada A5 lacual corresponde a Ai + l  en la cuarta y última etapa. La operación de incremento se habilita con la variable de control p9 en la primera etapa. Losotros bloques reciben el incremento de arrastre de la etapa previa.

El número total de terminales en un acumulador de 4 bits es 25 incluyendo los terminales para las salidas A. Agregando dos terminales más

 para la fuente de poder el circuito se puede encapsular dentro de un CI que

tenga 27 ó 28 patillas. El número de terminales para las variables de control pueden reducirse de 9 a 4 si se agrega un decodificador en el CI. En tal caso,la cuenta de las patillas del CI pueden ser reducidas a 22 y el acumulador 

 puede ser extendido a 16 microoperaciones sin agregar patillas externas.

REFERENCIAS

1. Mano, M . M . , Computer System Architecture. Englewood Cliffs, N.J.: Prentice-Hall, Inc., 1976.

2. The TTL Data Book  for  Design Engineers. Dallas, Texas: Texas Instruments,Inc., 1976.

3. The Am2900 Bipolar Microprocessor  Family Data Book. Sunnyvale, Calif.: Ad

vanced Micro Devices, Inc., 1976.4. Sobel, H. S., Introduction to Digital  Computer  Design. Reading, Mass.: Addison-Wesley Publishing Co., 1970.

5. Kline, R. M . , Digital  Computer  Design. Englewood Cliffs, N.J.: Prentice-Hall, Inc.,1977.

6. Chirlian, P. M . , Analysis and  Design of  Digital Circuits and Computer Systems.

Champaign, 111.: Matrix Publishing, Inc., 1976.

PROBLEMAS

9-1. Modifique la unidad procesadora de la Figura 9-1 de manera que el registrode destino seleccionado sea siempre el mismo registro que se selecciona conel bus A. ¿Cómo afecta esto al número de multiplexors y al número de líneas

de selección usados?9-2. Un procesador con un bus organizado como en la Figura 9-1 consiste de 15

registros. ¿Cuántas líneas de selección hay en cada multiplexor y en el deco-dificador de destino?

9-3. Asuma que cada registro en la Figura 9-1 es de 8 bits de largo. Dibuje un diagrama de bloque detallado para el recuadro marcado MUX que selecciona el

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 51/55

418 DISEÑO LOGICO DE PROCESADORES CAP. 9

registro para el bus A. Muestre que la selección puede hacerse con ocho mul-tiplexores de 4 a 1 línea.

9-4. Una unidad procesadora emplea una memoria tapón como en la Figura 9-2.El procesador consiste de 64 registros de ocho bits cada uno.(a) ¿Cuál es el tamaño de la memoria tapón? (scratchpad memory)(b) ¿Cuántas líneas se necesitan para la dirección?(c) ¿Cuántas líneas hay para los datos de entrada?(d) ¿Cuál es el tamaño del MUX que selecciona entre la entrada de datos y

la salida del registro de desplazamiento?

9-5. Muestre un diagrama de bloque detallado para la unidad procesadora de laFigura 9-4 cuando las entradas B vienen de:

(a) Ocho registros procesadores que forman un sistema de bus.(b) Una unidad de memoria con direcciones y registros separadores.

9-6. El ALU de 4 bits de la Figura 9-5 se incluye dentro de un CI. Muestre las co

nexiones entre tres CI para conformar un ALU de 12 bits. Asigne los arrastres de entrada y salida en el ALU de 12 bits.

9-7. El CI TTL tipo 7487 es un elemento de 4 bits verdadero/complemento, cero/uno. Una etapa de este CI se muestra en la Figura P9-7.

{>—oFigura P9-7 Circuito verdadero/complemento, uno/cero

(a) Deduzca las funciones de Boole para las salidas Y t  como función de lasentradas B ¡ , s¡ y s0 •

(b) Dibuje la tabla de verdad para el circuito.(c) Dibuje una tabla de función (similar a aquella mostrada en la Figura 9-7)

y verifique la operación del circuito.

9-8. Modifique el circuito aritmético de la Figura 9-8 incluyendo una tercera variable de selección s2. Cuando s2 = 1 el circuito modificado es idéntico alcircuito original. Cuando s2 =0, todas las entradas A a los sumadores com

 pletos son inhibidas y se colocan ceros de remplazo.

(a) Dibuje el diagrama lógico de una etapa del circuito modificado.(b) Haga un análisis similar a aquel de la Figura 9-6 para determinar las

ocho operaciones cuando s2 = 0.

(c ) Liste las nuevas funciones de salida en forma de tabla.9-9. Determine las operaciones aritméticas obtenidas en ocho bloques de la Figura

9-6, si en cada caso la entrada A se cambia a A (complemento de A ) .

9-10. Diseñe un circuito aritmético con una variable de selección s y dos entradasde datosAyB.Cuandos =0, el circuito realiza la operación de sumaF = A +

 B. Cuando s = 1, el circuito realiza la operación de incremento F = A + Í .

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 52/55

P R O B L E M A S 419

9-11 La sustracción binaria directa F = A - B produce una diferencia correcta s;A > B. ¿Cuál podría ser el resultado si A < B? Determine la relación entre e

resultado obtenido en F y el bit de préstamo en la posición más significativa9-12 Diseñe un circuito aritmético con dos variables de selección y s0 que ge

ñera las siguientes operaciones aritméticas. Dibuje el diagrama lógico de uníetapa típica.

•*1 -'o C ln = 0 c i n = 1

0 0   F = A + B   F = A + B + 1

0 1   F = A   F= A + 1

1 0   F = B   F= B + \

1 1   F = A + B   F= A +B +1

9-13 Diseñe un circuito aritmético con dos variables de selección st 

y s0

quegenere las siguientes operaciones aritméticas. Dibuje el diagrama lógico deuna etapa típica.

s

\c,„ = o c m = 1

0 0   F= A   F = A + 1

0 1   F=A - B- 1   F — A — B

1 0 F = B - A - 1   F= B - A

1 1   F = A + B   F = A + B + 1

9-14. Las siguientes relaciones de la operación OR-exclusiva fueron usadas paraderivar las operaciones lógicas de la Tabla 9-3.

(a) x  © 0 = x (b) x © 1 = x' (c) x  © y' = xQyPruebe que estas relaciones son válidas.

9-15 Deduzca un circuito combinacional mínimo que genere todas las 16 funcioneslógicas listadas en la Tabla 2-5. Use cuatro variables de selección. Sugerencia:Use un multiplexor de 4x 1 invertido, es decir, use las entradas normales delmultiplexor como las líneas de selección para la unidad lógica.

9-16 Modifique el circuito aritmético de la Figura 9-8 en un ALU con la variablede selección de modo s2 . Cuando s2 = 0, el ALU es idéntico al circuito aritmético. Cuando s2 = 1, el ALU genera las funciones lógicas de acuerdo a lasiguiente tabla:

* 2 *1 *o Salida Función

1 0 0   F= A / \ B AND1 0 1   F= A® B XOR 1 1 0   F = A \y B OR 1 1 1   F = A  NOT

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 53/55

420 DISEÑO LOGICO DE PROCESADORES CAP. 9

. Una unidad lógica aritmética es similar a la mostrada en la Figura 9-13, ex

cepto que las entradas a cada circuito sumador completo están de acuerdo alas siguientes funciones de Boole:

 x¡ =  A ¡  B ¡ + (s2  s'A)'A, + S 2S  X S 0 B¡

Y¡ = Í 0 5 , + s x B¡'(s2 s x s' 0 )' 

Determine las 12 funciones del AL U.

9-18. La operación realizada en un A L U es F= A + B (A más el complemento de 1de B  ) .

(a) Determine el valor de salida F cuando A = B. Permita que esta condiciónponga a uno un bit de condición E.

(b) Determine que la condición Cou t = 1. Permita que esta condición ponga a

uno el bit de condición C.(c) Deduzca una tabla para las seis relaciones listadas en la Tabla 9-5 en tér

minos de las condiciones de los bits de condición E  y C  definidos anteriormente.

9-19. Una unidad de proceso tiene un registro de condición de diez bits, uno paracada una de las condiciones listadas en las Tablas 9-5 y 9-6. (Las condiciones iguales y desiguales son comunes a ambas tablas.) Dibuje un diagramalógico mostrando las compuertas que van de las salidas del AL U a los diez bitsdel registro de condición.

9-20. Dos números con signo se agregan en un A L U y su suma se trasfiere al registro R. Los bits de condición S (signo) y V (sobrecapacidad) se afectan durante la trasferencia. Pruebe que la suma puede dividirse ahora por 2 de acuerdoa la proposición:

  R +-shr R, R„<-S © V 

donde Rn es el bit de signo (posición extrema izquierda) del registro R.Agregue otro multiplexor al registro de desplazamiento de la Figura 9-15 condos líneas de selección separadas G x y G0. Este multiplexor se usa para especificar la entrada en serie /„ durante la operación de desplazamiento a laderecha de la siguiente manera:

G x Go Función

0 0 Colocar ceros a I  R0 1 Hacer un desplazamiento circular1 0 Hacer un desplazamiento circular con arrastre1 1 Coloque el valor de S © Vpara el desplazamiento arit méti co

(ver Problema 9-20)

Muestre la conexión del multiplexor entre el registro de condición y el despla-miento.

El selector de desplazamiento H definido para el procesador de la Figura 9-16tiene tres variables H 2 , H  x  y H 0. Las dos últimas variables de selección se

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 54/55

PROBLEMAS 427

usan para el registro de desplazamiento especificado en la Tabla 9-7. Diseñe

el circuito asociado con la variable de selección H 2

•9-23. Especifique la palabra de control que puede ser aplicada al procesador de la

Figura 9-16 para configurar las siguientes microoperaciones:

(a) / ? 2 < - / ? l + 1 ( e ) / í l < - s h r / U

(b) R3*-R4 + R5 (f) R2 «- ele R2

(c) R6<-R6 (g)R3<-R4®R5

(d) R1+-R1 - 1 (h) R6*- Rl 

9-24. Es necesario calcular el valor promedio de cuatro números binarios sin signoalmacenados en los registros Rl, R'2, R3 y RA del procesador definido en laFigura 9-16. El valor promedio se debe almacenar en el registro Rb. Los otrosdos registros en el procesador pueden usarse para resultados intermedios.

Se debe tener cuidado de no causar sobrecapacidad.(a) Dé la lista de la secuencia de microoperaciones en forma simbólica.

(b) Liste las palabras de control binarias correspondientes.

9-25. La siguiente secuencia de microoperaciones se realiza en el acumulador definido en la Sección 9-10.

 p3: A+- A

 p9: A*-A + \

 p x: A<-A + B

 p3: A*-A

 p9: A *-A + 1

(a) Determine el contenido de A después de cada microoperación si inicial-mente A = 1101 y la entrada B = 0110.

(b) Repita (a) con las condiciones iniciales A = 0110 y B= 1101.

(c) Repita (a) con las condiciones iniciales A = 0110 y B = 0110.

(d) Pruebe que la anterior secuencia de microoperaciones realiza (A — B)si A > B, o el complemento de 2 de (73 — A) si A < B.

9-26. Usando flip-flops JK diseñe una etapa típica de un registro A que realiza lamicrooperación de sustracción:

 pw: A *-A — B

Use los circuitos sumadores completos (Sección 4-4) con bits de préstamo deentrada y salida K¡ y K¡ + ¡.

9-27. Usando flip-flops JK  diseñe una etapa típica de un registro que realice lassiguientes microoperaciones lógicas:

 pu: A*-A\JB ÑOR 

 p n : A *— A /\ B NAND

 p  X 3 : A*—AOB Equivalencia

5/13/2018 Dise o logico de procesadores - slidepdf.com

http://slidepdf.com/reader/full/diseno-logico-de-procesadores 55/55

422 DISEÑO LOGICO DE PROCESADORES CAP. 9

9-28. Deduzca las operaciones de Boole de una etapa típica de una microoperaciónde decremento:

 pì4: A <—A — Ì 

9-29. Usando flip-flops tipo T disene un registro de 4 bits que ejecute la microope-racion de complemento de 2:

  P: A<^I + \

Del resultado obtenido, muestre que- una etapa típica puede ser expresada por las siguientes funciones de Boole:

TAi

= PE¡ ( = 1,2,3,. ..,« E ¡+] = A i  + E,

 Ei=0

9-30. Un acumulador de 4 bits realiza 15 microoperaciones con variables de controlPi ap 1 5 . El circuito se encapsula en un CI con sólo cuatro terminales disponibles para seleccionar la microoperación. Diseñe un circuito (dentro del CI)que se deba agregar entre los cuatro terminales y las 15 variables de control.Incluya una condición de no operación.