Unidad 4

14
Folleto de Arquitectura de Máquinas Computadoras II Curso 2013 Preparado por: José Díaz Chow UNIDAD IV Managua, Octubre 2013 UNIVERSIDAD NACIONAL DE INGENIERIA RECINTO UNIVERSITARIO SIMON BOLIVAR Facultad de Electrotecnia y Computación Departamento de Arquitectura y Sistemas

Transcript of Unidad 4

Page 1: Unidad 4

Folleto de

Arquitectura de Máquinas Computadoras II

Curso 2013

Preparado por:

José Díaz Chow

UNIDAD IV

Managua, Octubre 2013

UNIVERSIDAD NACIONAL DE INGENIERIA

RECINTO UNIVERSITARIO SIMON BOLIVAR

Facultad de Electrotecnia y Computación Departamento de Arquitectura y Sistemas

Page 2: Unidad 4
Page 3: Unidad 4

INDICE DE CONTENIDO

4 UNIDAD DE EJECUCION 1

4.1 LA FUNCION DE PROCESAMIENTO 1

4.2 REPRESENTACION DE DATOS 1

4.2.1 REPRESENTACIÓN DE ENTEROS NEGATIVOS. 1

4.2.2 NÚMEROS EN PUNTO FLOTANTE 3

4.2.3 OTROS TIPOS DE DATOS: 3

4.3 LA UNIDAD ARITMETICA 3

4.4 LA UNIDAD LOGICA 7

4.5 DISEÑO DE LA ALU 7

4.6 EXTENSIONES DE LA ALU 8

4.7 REGISTROS DE PROPOSITO GENERAL 8

4.7.1 DISEÑO DE LOS REGISTROS DE PROPÓSITO GENERAL O GPR 8

4.8 ARITMETICA EN PUNTO FLOTANTE 10

Page 4: Unidad 4
Page 5: Unidad 4

Arquitectura de Máquinas Computadoras II

Docente: José Díaz Chow Página 1

4 UNIDAD DE EJECUCION

4.1 LA FUNCION DE PROCESAMIENTO

La función de procesamiento en la computadora es realizada por la unidad de ejecución. Esta unidad está constituida por la unidad aritmética y lógica (ALU), los registros de propósito general (GPR) y todo hardware adicional que esté destinado a realizar cálculos (por ejemplo, una unidad de punto flotante o FPU). La ALU es la responsable de la ejecución de los cálculos dentro del procesador. Para tal cometido necesita almacenamiento interno temporal dentro del CPU por lo cual se le provee de tales almacenamientos por medio de registros de propósito general (GPR) que permiten almacenar operandos. Recordemos que en la forma en que se proveían estos almacenamientos ha definido históricamente los diferentes tipos de arquitectura: Acumulador, Pila y Registros. También la ALU puede contar con sus propios registros auxiliares que almacenan o retienen los datos sobre los que opera.

4.2 REPRESENTACION DE DATOS

Todos los datos, independientemente de su naturaleza se representan como patrones binarios dentro de una computadora digital binaria. Es necesario, por tanto, definir un formato de representación que permita establecer una equivalencia de patrones binarios con los diferentes tipos de datos del mundo real.

Los datos que más nos interesan son los números enteros. En nuestro paradigma matemático, empleamos el sistema de numeración posicional basado en un alfabeto de diez símbolos (sistema decimal) como codificación numérica. La computadora usa codificación binaria, sin embargo la representación genérica de un número en función de su base nos permite encontrar equivalencia entre cualquier sistema de codificación de tipo posicional. Otro aspecto a considerar es el tamaño del número. En el mundo real, los números pueden crecer hasta el infinito. En la computadora tienen un límite debido al espacio de almacenamiento (cantidad de bits) que se elija para el formato del número.

El valor de un número entero positivo en cualquier base (radix) se representa como:

rai

n

ii

NValorA

1

0

)(

La computadora trabaja en binario es decir r = 2. Cualquier entero en decimal puede representarse en binario. Otras bases importantes en arquitectura de computadoras son la Hexadecimal y la Octal. La gran ventaja de éstas es que su base es potencia de 2 y por tanto tienen un número exacto de bits para cada dígito (4 para Hex. y 3 para Octal) con lo cual es más fácil manipular y convertir datos.

4.2.1 Representación de enteros con signo.

El sistema binario debe representar todos sus datos con tiras de ceros y unos. No dispone de signos especiales como el

menos (-) que usamos en nuestra representación matemática. Por tanto, en la notación binaria de las computadoras necesitamos definir un convencionalismo para representar los números negativos que esté comprendido en la misma tira de bits. Para solucionar esta necesidad se han empleado varias técnicas:

4 . 2 . 1 . 1 S ig no - ma g n i t ud

El bit más significativo o MSB se destina para representar el signo (1 = negativo, 0 = positivo) y el resto de bits para representar la magnitud. En este caso el valor del número está dado por:

Page 6: Unidad 4

Arquitectura de Máquinas Computadoras II

Página 2 Docente: José Díaz Chow

rai

nii

MSB

NValorA

0

2

][

)1()(

Nótese que existen dos posibles ceros: -0 y +0, por cuanto el rango es: [– (2 n-1 –1), + (2 n-1 –1)].

4 . 2 . 1 . 2 C o mp le me nt o a r - 1 :

O simplemente el complemento. Como nuestra base binaria es 2, esta técnica se denomina complemento a 1. Resulta de la complementación del número bit a bit. En este caso, se entiende que el signo está integrado al número. Por la misma convención, el valor del MSB indica el signo del número. En las operaciones siempre se debe sumar el acarreo al resultado. Rango: [– (2 n-1 –1), + (2 n-1 –1)]. En complemento a 1, al igual que en signo-magnitud, también tenemos 2 ceros, uno positivo y otro negativo.

4 . 2 . 1 . 3 C o mp le me nt o a r

En binario: Complemento a dos. Un número se niega en complemento a dos desplazándolo un módulo de su posición. Esto es equivalente a complementar el número y sumarle 1. En las operaciones se desestima el acarreo sobrante. Esta representación es la más directa al momento de implementar las operaciones en la ALU. El rango es: [–2 n-1, +2 n-1 –1] pues solo existe un cero y es considerado positivo. Una técnica muy útil para calcular el valor de un número binario en complemento a 2 es el uso de la caja de valores. En ésta, cada posición representa su valor en positivo excepto la posición más significativa que representa su valor en negativo.

Figura 4.1. Caja de valores para un número con signo de 8 bits

4 . 2 . 1 . 4 E x c e so a M

Las representaciones en complemento son muy apropiadas para agilizar los cálculos aritméticos por cuanto las operaciones aritméticas entre números de distinto signo no requieren operaciones extras para el manejo del signo. Sin embargo, adolecen del efecto de corrimiento de rango, con lo cual los números no son fácilmente comparables si queremos establecer una relación de orden. Para datos cuyo orden debe ser comparable, se propone otra técnica llamada Exceso a M. En ésta, el valor del número es el exceso de su valor positivo respecto a M. M representa el límite de corrimiento o el cero del sistema. Aunque M puede ser cualquier valor positivo dentro del rango, si deseamos un conjunto simétrico, M debe ser la mitad del alcance del rango. Por ejemplo, en números de 4 bits, M sería 8 de forma tal que 0000 equivaldría a –8 y 1111 a +7. En esta representación, los números quedan ordenados según nuestros ejes coordenados.

En sistemas simétricos 2

2n

M y V(N) = A - M

-128 64 32 16 8 4 2 1

Page 7: Unidad 4

Arquitectura de Máquinas Computadoras II

Docente: José Díaz Chow Página 3

4.2.2 Números en punto flotante

Además de los números enteros, son de gran uso los números reales, sin embargo la ALU normalmente no puede

operarlos directamente. Para poder realizar cálculo de punto flotante, se han desarrollado una serie de algoritmos que se implementa en librerías matemáticas o directamente en hardware, mediante un coprocesador matemático asociado o una FPU interna al procesador. Más adelante enfocaremos este tema con más detenimiento. Para representar los números reales se han usado diversas abstracciones. La más aceptada actualmente es el formato de punto flotante que propone el estándar IEEE 754. Éste en realidad define dos formatos: uno en simple precisión de 32 bits y otro en doble precisión de 64 bits. Un número real tiene una parte entera y otra fraccionaria y puede ser tanto positivo como negativo. El problema de representación consiste en saber dónde está la coma o punto decimal. Algunas aproximaciones representan un punto fijo pero esto tiene limitaciones de rango. Para obtener más flexibilidad, se han implementado también formatos en punto flotante que son las que se usan más hoy día. El estándar se basa en la notación científica: mantisa*BASEexponente. La tira de bits, por tanto se organiza en dos campos lógicos: mantisa y exponente. La base está predefinida (binaria). La mantisa se guarda en representación signo-magnitud y el exponente en exceso a m. En este caso, se supone que la mantisa es el número que continua inmediatamente después del punto. La posición real del punto, por tanto se obtiene del valor del exponente.

Figura 4.2 Formato IEEE 754 en Simple precisión

4.2.3 Otros Tipos de Datos:

4 . 2 . 3 . 1 C a ra c t e re s o d a t o s A l f a numé r ic o s

Usan sistemas de codificación como el ASCII. Actualmente se emplean formatos más largos como UNICODE que emplea 2 bytes por carácter.

4 . 2 . 3 . 2 Fe c ha y T ie mp o :

Puede emplearse diferentes formatos. Por ejemplo, para llevar solo fechas, se suele usar un número de 32 bits(4 Bytes) y emplear el formato YYYYMMDD o hacerlo con 8 caracteres. Para llevar además el tiempo, se suele emplear números más largos (64 o más bits) para llevar un contador de segundos o milésimas de los mismos. En este caso el valor del número representa los segundos transcurridos desde una fecha inicial de ventana, por ejemplo 01/01/1900 a las 00:00.

4 . 2 . 3 . 3 E s t ruc t u ra s :

Se construyen en base a los tipos de datos simples o primitivos, que se almacenan contiguos en la memoria. Son de interés especial las estructuras estáticas como las cadenas de caracteres y los arreglos.

4.3 LA UNIDAD ARITMETICA

La suma es la operación aritmética más importante. Esta operación es muy versátil, ya que A - B es equivalente a A mas el complemento a dos de B y C * A puede ser obtenido sumando A C veces o viceversa. Por ello, la implementación de un sumador es clave para implementar una unidad aritmética.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

S Exponente Mantisa

Page 8: Unidad 4

Arquitectura de Máquinas Computadoras II

Página 4 Docente: José Díaz Chow

Una unidad de hardware que suma dos números de 1 bit con acarreo, es llamado un “sumador completo”. El diagrama

de bloques, tabla de verdad e implementación de un sumador completo son mostrados en la figura 4.3. De la tabla de verdad, mediante la técnica de términos mínimos, se puede obtener la ecuación lógica de S i y Ci+1 que

corresponde a la suma de las entradas y el acarreo resultante, respectivamente. Luego de aplicar transformaciones algebraicas se obtienen las expresiones minimizadas cuya implementación se muestra en la figura 4.3. Abajo se muestran las transformaciones algebraicas en cuestión:

Si = xiyici + xiyici + xiyici + xiyi ci = ci(xiyi + xiyi) + ci (xiyi + xiyi)

siendo Z = xiyi + xiyi = xi yi

entonces: Si = ci Z + ci Z

Si = xi yi ci Por otro lado:

ci+1 = xiyici + xiyici + xiyici + xiyici

ci+1 = yici + xici + xiyi

Figura 4.3 Sumador completo de 1 bit.

Xi

0

0

0

0

1

1

1

1

Yi

0

0

1

1

0

0

1

1

Ci

0

1

0

1

0

1

0

1

Si

0

1

1

0

1

0

0

1

Ci+1

0

0

0

1

0

1

1

1

Sumador

Completo

Xi

Yi

Ci

Ci+1

Si

Diagrama de bloque de unSumador Completo de 1 bit

Tabla de Verdad delSumador Completo

Ci+1

Xi

Xi

Yi

Yi

Ci

CiC

i

Xi

Xi

Xi

'

Xi

'

Yi

'

Yi

'

Yi

Yi

Si = Xi Y i Ci

Implementación del Sumador

Page 9: Unidad 4

Arquitectura de Máquinas Computadoras II

Docente: José Díaz Chow Página 5

Se puede implementar sumadores completos para n bits, conectando en cascada n sumadores completos de 1 bit. La figura 4.4 presenta el esquema a bloques y la estructura de un sumador de 4 bits. Este tipo de sumador es también llamado “Sumador de Acarreo propagado” (CPA), dado que el acarreo en este circuito es propagado serialmente a través de cada sumador completo.

Cuando se suman dos números, el acarreo inicial C0 siempre es 0 excepto en caso de substracción con operandos complementados a 2. Con el CPA, este acarreo necesita ser transmitido de un sumador a otro haciendo el proceso bastante lento.

Figura 4.4 Sumador de acarreo propagado de 4 bits.

Como se puede apreciar en la figura 4.4, para generar el Ci+1 de Ci, se incurre en el retardo de tiempo de propagación

de dos niveles de compuertas lógicas en serie. Para generar Si, se gasta el tiempo de retardo de tres compuertas. Aunque el diseño de un CPA de n bits es directo, el tiempo de propagación del acarreo en un CPA limita la velocidad de operación. Por ejemplo; en un CPA de 16 bits, la operación de suma es completada solamente cuando la suma del 15avo bit está disponible. Para ello, se debe contar con la suma en el 1er bit y su acarreo, luego la del 2do, tercero, etc. Supongamos que el tiempo de retardo de una compuerta es t, entonces el tiempo requerido para la suma de dos números de 16 bits es:

15 * 2t (retraso de c0 hasta c15) + 3t (tiempo para generar s15 de c15)

33t Si t = 10 ns, entonces se deberá esperar un total de 330ns para obtener una suma, lo cual es prohibitivo en las computadoras donde el tiempo de respuesta de la ALU se espera por debajo de los 100ns. Esto crea la necesidad de pensar en una técnica que incremente la velocidad de operación. Tal técnica es conocida como Carry Look Ahead (acarreo adelantado) y permite acelerar la suma en un factor de 3. En esta técnica se emplea hardware extra para generar cada acarreo (C i, i> 0) directamente de C0. Para ser mas práctico, considere el diseño de un sumador de acarreo adelantado de 4 bits (CLA: Carry Look Ahead) a partir de nuestro diseño original de CPA.

Inicialmente recordemos que en un sumador completo, la salida de acarreo C i+1 está relacionada al acarreo de entrada Ci , de la siguiente manera:

Ci + 1 = XiYi +XiCi +YiCi Este resultado puede ser escrito así:

C i+1 = Gi + PiCi donde Gi = XiYi y Pi = Xi+Yi

FA FAFAFA

S3 S

2S

1S

0

C4

C1

C0

C3

C2

X2

X3

X0

X1

Y3

Y2

Y1

Y0

Sumador de 4 bits con acarreo propagado

CPA

S3 S 2 S 1 S 0

C4 C0

X3 Y

3 X

2 Y

2 X

1 Y

1 X

0 Y

0

Diagrama de bloque de unsumador de 4 bits

Page 10: Unidad 4

Arquitectura de Máquinas Computadoras II

Página 6 Docente: José Díaz Chow

La función G es llamada la Función Generadora del Acarreo, puesto que un acarreo es generado cuando Xi *Yi es 1. Si Xi o Yi es un 1, entonces el acarreo de entrada Ci es propagado al próximo sumador. Por esta razón, la función Pi es a

menudo referida como Función de Propagación de Acarreo. Usando Gi y Pi; C1, C2, C3, y C4 pueden ser expresados como siguen: C1 = G0 + P0C0 C2 = G1 + P1C1 C3 = G2 + P2C2 Estas ecuaciones son recursivas, y la recursión puede ser removida como se indica a continuación: C1 = G0 + P0C0 C2 = G1 + P1C1 = G1 + P1(G0 + P0C0) = G1 + P1G0 + P1P0C0 C3 = G2 + P2C2 = G2 + P2(G1 + P1G0 + P1P0C0) = G2 + P2G1 + P2P1G0 + P2P1P0C0 C4 =G3 + P3C3 = G3 + P3(G2 + P2G1 + P2P1G0 + P1P1P0C0) = G3 + P3G2 + P3P2G1 + P3P2P1G0 + P3P2P1P0C0

Este resultado muestra que C1, C2, C3 y C4 pueden ser generados directamente de C0 y las entradas. Por esta razón, estas ecuaciones son llamadas Ecuaciones de Acarreo Adelantado. Estas ecuaciones pueden implementarse en un bloque hardware y alimentar con el las entradas de los carry del sumador completo obteniendo un CLA. La figura 4.5 muestra la implementación de tal CLA.

En función de un bloque CLA de n bits podemos implementar una unidad aritmética de n bits de suma y resta como muestra la figura 4.6

Parte importante de la unidad aritmética son las banderas de resultado o condición de las operaciones. Estas banderas se unen en una palabra de estado del procesador PSW o un registro de banderas FLAGS que es accesible bit a bit, pues se implementa

CLA

MUX

X

Y

S0

MUXsel Cin

F

16

16

16

Figura 4.6. Unidad Aritmética de Suma y Resta

FA FAFAFA

S3 S2 S1 S0

C4

C1 C0C3 C2

X2X3 X0X1Y3 Y2 Y1 Y0

Carry Look Ahead Logic (o Calculator)

C0

Figura 4.5. Un Sumador de acarreo adelantado o CLA de 4 bits.

Page 11: Unidad 4

Arquitectura de Máquinas Computadoras II

Docente: José Díaz Chow Página 7

como un conjunto de Flip Flops independientes. La implementación de tales banderas se relaciona mucho con la ALU. Por ejemplo, la bandera Signo o Negativo, toma su valor del MSB o bit de signo del resultado en ALU. La bandera Zero, vale 1 cuando el resultado es 0 por tanto su implementación es la operación AND de todos los bits de resultado negados. La bandera Carry es el acarreo de salida del CLA.

4.4 LA UNIDAD LOGICA

El objetivo de la unidad lógica es proveer operaciones lógicas bit a bit. Esto se logra implementar fácilmente empleando arreglos de n compuertas para los i-ésimos bits de la palabra (0 hasta n-1). Otros objetivo requerido es la implementación de operaciones a nivel de bits tales como desplazamiento, negación, verificación del valor de un bit en específico y establecimiento de un valor para un bit en específico. Estas operaciones, se pueden implementar como redes de desplazamiento combinacionales o como parte de las funciones de los Registros de Propósito General.

La figura 4.7 nos muestra la implementación de una unidad lógica que ofrece dos simples operaciones AND y OR., tomando como base un integrado de 16 compuertas AND y otro de 16 OR.

4.5 DISEÑO DE LA ALU

Finalmente, si unimos nuestra unidad aritmética con la lógica podemos obtener una ALU completa. La figura 4.8 nos muestra como lograr este objetivo, mediante la selección adecuada de la salida en base a las líneas de selección.

AND

MUX

X16

OR

Y 16

16

16

G

S0

Figura 4.7 Unidad lógica de dos funciones.

Unidad

Aritmética

MUX

X16

Unidad

Lógica

Y 16

16

16

Z

S1

S0

F

G

Figura 4.8 Diseño a Bloques de la ALU

Page 12: Unidad 4

Arquitectura de Máquinas Computadoras II

Página 8 Docente: José Díaz Chow

4.6 EXTENSIONES DE LA ALU

Se pueden implementar mejoras y ampliaciones a nuestra ALU sencilla, por ejemplo implementando la multiplicación y la división en Hardware. Algunas implementaciones se resumen a continuación:

Operación Algoritmo / Técnica de implementación

Multiplicación

Algoritmo de Braun

Algoritmos basados en CSA y árboles de Wallace

Algoritmo de Booth

Usar una ROM como tabla

División

Algoritmo Restoring Divide

Algoritmo Non-Restoring Divide

SRT (Algoritmo de Sweeney, Robertson y Tochter)

4.7 REGISTROS DE PROPOSITO GENERAL

Los registros de propósito general del CPU son una parte importante de la unidad de ejecución pues son el origen y destino de las operaciones. Además, algunas operaciones a nivel de bits se pueden implementan en el seno de estos registros.

4.7.1 Diseño de los Registros de Propósito General o GPR

La tarea principal de un GRP es almacenar datos para las operaciones aritméticas. Algunas implementaciones de GRP les

permiten manipular los datos almacenados por operaciones de desplazamiento (hacia la izquierda o derecha) a estos se les denomina Registros con capacidad de desplazamiento o Shifting (Shift Register).

En el desplazamiento lógico un bit que es desplazado será perdido y la posición vacante será llenada de cero.

Ejemplo: Desplazamiento a la derecha.

Antes del desplazamiento Después del desplazamiento 0 0 0 0 1 0 11 0 0 0 1 0 1 1 0

Un desplazamiento lógico de n posiciones a la derecha o a la izquierda de un número sin signo implica multiplicación o división del número por 2n, respectivamente. En el caso de desplazamiento aritmético, el bit de signo del número a ser desplazado debe ser retenido para asegurar que el signo del número se mantendrá. Esto es necesario cuando se implementa desplazamiento aritmético a la derecha. En el caso de desplazamiento hacia la izquierda, no hay diferencia entre el lógico y el aritmético. La rotación es útil para la serialización de datos paralelos. Dispositivos periféricos tales como lectoras de casetes esperan datos seriales de 8 bits. En esta situación, la CPU transfiere el contenido de un registro de 8 bits del CPU a la lectora rotando el registro 8 veces. También se emplea la rotación para algunas operaciones de conteo aritmético. Muchos CPUs permiten la rotación con Carry lo que significa que la bandera de Carry forma parte de la rotación. Si la rotación es a la izquierda, el carry entra al bit menos significativo o lsb en tanto que el bit más significativo se almacena en el acarreo. En caso de rotación derecha sucede lo inverso, el carry se almacena en el bit más significativo y el menos significativo pasa al acarreo.

Page 13: Unidad 4

Arquitectura de Máquinas Computadoras II

Docente: José Díaz Chow Página 9

Para diseñar un registro de propósito general con capacidad de desplazamiento, vamos a proponer una celda básica S. La organización de esta celda es mostrada en la figura 4.6. En este diseño, un multiplexor de 4 entradas selecciona una de las entradas externas para que sea la entrada D del flip-flop, y la entrada seleccionada aparecerá en la salida del Flip-Flop Q después del pulso del reloj. La entrada CLR es una entrada asincrónica de clear, y limpia el FF en el instante que ésta es puesta en nivel bajo (cero). Podemos diseñar un GPR completo usando la celda básica S, mediante conexión en cascada, como muestra la figura 4.10. En esta figura, R (Right Shift Serial Input) y L(Left Shift Serial Input) son entradas que permiten implementar el desplazamiento y la rotación según el valor que tengan en cada momento.

0 1 2 3

MUX

D

Q

s0

s1

s0

s1

CLK

CLR

qi

Salida

Entradas Externas

CLK

CLR

Organización interna de la celda

básica S

Ss

0

s1

s0

s1

CLK

CLR

CLK

CLR

qi

Salida

Entradas Externas

Diagrama a bloque de la celda

básica S

0 1 2 3

Figura 4.9. Celda básica para implementar un Shift Register.

S3

s0

s1

s0

s1

CLK

CLR

CLK

CLR

q3

S2

S1

S0

0 1 2 3 0 1 2 30 1 2 30 1 2 3

X3 X

2X

1X

0

q2

q1

q0

R

(Entrada

derecha)

L

(Entrada

izquierda)

Registro de Propósito General (GPR) de 4 bits

Figura 4.10 Implementación de un GPR de 4 bits con capacidad de Shifting.

Page 14: Unidad 4

Arquitectura de Máquinas Computadoras II

Página 10 Docente: José Díaz Chow

La tabla de verdad con las operaciones de este registro se presenta en la figura 4.11. Esta tabla muestra que la

manipulación de las entradas de selección S1 y S0 pueden causar tres operaciones distintas: Carga Paralela, Desplazamiento a la Izquierda y desplazamiento a la derecha. Si S1S0 = 11, la entradas externas X’s son seleccionadas como las entradas D a los flip-flops. Escogiendo los valores correctos para desplazamiento serial, con las entradas, R y L se pueden realizar operaciones de rotación y desplazamiento lógico y aritmético. Modifique esta tabla para que refleje los valores que deben de tomar R y L para implementar los desplazamientos lógicos y aritméticos y la rotación.

El registro puede ser cargado con cualquier dato en una forma serial. Por ejemplo, después de cuatro operaciones sucesivas de desplazamiento a la derecha, el dato X será cargado en el registro si el registro esta establecido en el modo desplazamiento a la derecha y el dato X requerido es aplicado serialmente a la entrada R. Para algunas aplicaciones, este retardo de n períodos de reloj para la ejecución de una operación, no es permisible, por cuanto se aplican otros métodos asíncronos para diseñar registros que no dependan de un reloj y por lo tanto sean más rápidos. Esos tipos de registro combinacionales se denominan Barrel Shift Registers. El 68020 de Motorola y el 80386 de Intel ya emplean este tipo avanzado de registros.

4.8 ARITMETICA EN PUNTO FLOTANTE Hasta el momento hemos presentado la aritmética de enteros, que es el alcance de la mayoría de los procesadores

sencillos como nuestro modelo. Para realizar cálculos en punto flotante, en formato binario, se han desarrollado algoritmos. Muchas máquinas, como el Z80, tienen librerías se software para emular las operaciones en punto flotante sobre su aritmética de enteros. Otras máquinas incluyen procesadores especializados para estos cálculos (llamados coprocesadores matemáticos) como el 8086 de Intel (el coprocesador es el 8087) y finalmente otras, incluyen unidades de cálculo en punto flotante FPUs dentro del mismo CPU, como el 80486, también de Intel.

No nos ocuparemos en este curso en profundizar en la aritmética en punto flotante. Solamente anotaremos que las máquinas que la implementan en hardware usan formatos especiales para representar un número en punto flotante. Un número en punto flotante se compone de una mantisa multiplicada por una base elevada a un exponente, por ejemplo: -34.89

* 1012. En formato binario, la base está implícita, por tanto podemos almacenar solamente la mantisa y el exponente. El formato más reconocido es el estándar IEEE 754 que usa mantisa en notación signo-magnitud y el exponente en exceso a M. Existe en simple precisión (32 bits) y doble precisión (64 bits). La figura 4.2 muestra el formato de simple precisión donde el exponente se representa en exceso a 127 (8 bits) y la mantisa en signo-magnitud (1 + 23 bits)

D Q

CLK

CLR Q'

QDCLR

0 X 0

1

1

0

1

0

1

Tabla de Funciones del FF tipo D

Diagrama de bloque del FF tipo D

S1 S0 CLKCLR Operación

X

0

0

1

X

0

1

0

0

1

1

1

X Clear GPR

Ninguna

Despl. Der.

Despl. Izq.

1 1 1 Carga Paral.

Tabla de Funciones del GPR de 4 bits

Figura 4.11 Tablas de operación para el FF tipo D y para el GPR de 4 bits.