tema 5tema 5 “representación de larepresentación...

42
FUNDAMENTOS DEL MATERIAL FUNDAMENTOS DEL MATERIAL FUNDAMENTOS DEL MATERIAL FUNDAMENTOS DEL MATERIAL FUNDAMENTOS DEL MATERIAL FUNDAMENTOS DEL MATERIAL INFORMÁTICO INFORMÁTICO FUNDAMENTOS DEL MATERIAL FUNDAMENTOS DEL MATERIAL INFORMÁTICO INFORMÁTICO Tema 5 Tema 5 Tema 5 Tema 5 Representación de la Representación de la Representación de la Representación de la Información Información Información. Información. Sistemas AritméticosSistemas AritméticosAgustín Álvarez Marquina Agustín Álvarez Marquina Representaciones alfanuméricas. Representaciones alfanuméricas. Códi ASCII t did (I) Códi ASCII t did (I) Código ASCII extendido (I) Código ASCII extendido (I) La representación de las informaciones de tipo La representación de las informaciones de tipo texto se realiza codificando, mediante un octeto, cada uno de los caracteres que componen dicha cada uno de los caracteres que componen dicha información. Las características que definen un sistema de representación alfanumérico son: Tamaño de la palabra de datos empleada. D t t ñ d d l ú d t z De este tamaño depende el número de caracteres distintos representables. Codificación de cada carácter 16/04/2008 Facultad de Informática, UPM. 2 Codificación de cada carácter.

Upload: vanthu

Post on 21-Sep-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

FUNDAMENTOS DEL MATERIALFUNDAMENTOS DEL MATERIALFUNDAMENTOS DEL MATERIALFUNDAMENTOS DEL MATERIALFUNDAMENTOS DEL MATERIAL FUNDAMENTOS DEL MATERIAL INFORMÁTICOINFORMÁTICO

FUNDAMENTOS DEL MATERIAL FUNDAMENTOS DEL MATERIAL INFORMÁTICOINFORMÁTICO

Tema 5Tema 5Tema 5Tema 5

“Representación de la“Representación de laRepresentación de la Representación de la InformaciónInformaciónInformación. Información.

Sistemas Aritméticos”Sistemas Aritméticos”

Agustín Álvarez MarquinaAgustín Álvarez Marquina

Representaciones alfanuméricas. Representaciones alfanuméricas. Códi ASCII t did (I)Códi ASCII t did (I)Código ASCII extendido (I)Código ASCII extendido (I)

La representación de las informaciones de tipoLa representación de las informaciones de tipotexto se realiza codificando, mediante un octeto,cada uno de los caracteres que componen dichacada uno de los caracteres que componen dichainformación.

Las características que definen un sistema derepresentación alfanumérico son:p

Tamaño de la palabra de datos empleada.

D t t ñ d d l ú d tDe este tamaño depende el número de caracteresdistintos representables.

Codificación de cada carácter

16/04/2008 Facultad de Informática, UPM. 2

Codificación de cada carácter.

Representaciones alfanuméricas. Representaciones alfanuméricas. Códi ASCII t did (II)Códi ASCII t did (II)Código ASCII extendido (II)Código ASCII extendido (II)

El código ASCII (American Standard Code forEl código ASCII (American Standard Code forInformation Interchange) representa con 7 bits128 caracteres diferentes:128 caracteres diferentes:

Códigos del 0 al 31: caracteres de control deperiféricos (no imprimibles)periféricos (no imprimibles).

Códigos del 48 al 57: dígitos del 0 al 9.

Códigos del 65 al 90: letras mayúsculas (A- Z).

Códi d l 97 l 122 l t i ú l ( )Códigos del 97 al 122: letras minúsculas (a- z).

Resto de códigos hasta el 127: signos diversos. Por

16/04/2008 Facultad de Informática, UPM. 3

ejemplo: ! “ # $ % & ‘ ( ) * + , - . / : ;

Representaciones alfanuméricas. Representaciones alfanuméricas. Códi ASCII t did (III)Códi ASCII t did (III)Código ASCII extendido (III)Código ASCII extendido (III)

El código ASCII extendido representa en 8 bits losEl código ASCII extendido representa en 8 bits losmismos 128 primeros caracteres definidos en elcódigo ASCII y añade otros 128 no estándar:código ASCII y añade otros 128 no estándar:

La letra Ñ.

Letras acentuadas.

Letras griegasLetras griegas.

Caracteres semigráficos. Ejemplos: ® ¼ ÷

16/04/2008 Facultad de Informática, UPM. 4

Representaciones alfanuméricas. Representaciones alfanuméricas. Códi ASCII t did (IV)Códi ASCII t did (IV)Código ASCII extendido (IV)Código ASCII extendido (IV)

Características del código ASCII:Características del código ASCII:

Para conocer el valor de un carácter numérico bastat l l 48 ( á t ‘0’)con restar el valor 48 (carácter ‘0’).

Las letras mayúsculas y minúsculas solamente difiereny yen un único bit.

Ejemplo: A (65), a (97). 97-65= 32= 25.j p ( ), ( )

Es muy sencillo determinar si un determinado carácteres de control o no.

16/04/2008 Facultad de Informática, UPM. 5

Sistemas de representación Sistemas de representación n mérica Sistemas posicionales (I)n mérica Sistemas posicionales (I)numérica. Sistemas posicionales (I) numérica. Sistemas posicionales (I)

En un sistema posicional un número vieneEn un sistema posicional, un número vienedefinido por una cadena de dígitos.

Cada dígito está afectado por un factor de escala,que depende del lugar que ocupa en esta cadena.que depende del lugar que ocupa en esta cadena.

El sistema de numeración posicional clásico es elpdecimal.

En éste cada dígito indica la potencia de 10 que leEn éste, cada dígito indica la potencia de 10 que leafecta.

Ejemplo: 831= 8 102+ 3 101+ 1 100

16/04/2008 Facultad de Informática, UPM. 6

Ejemplo: 831= 8x102+ 3x101+ 1x100

Sistemas de representación Sistemas de representación n mérica Sistemas posicionales (II)n mérica Sistemas posicionales (II)numérica. Sistemas posicionales (II) numérica. Sistemas posicionales (II)

Formalmente:Formalmente:

Un número X representado por una cadena de dígitos:p p g

X≡ (... x3 x2 x1 x0 x-1 x-2 x-3 ...)

a través de un vector de pesos seleccionados del conjunto:

P≡ ( p p p p p p p )P≡ (... p3 p2 p1 p0 p-1 p-2 p-3 ...)

permite calcular el valor V(X) del número X, mediante la regla:

V(X)= ... p3•x3+ p2•x2+ p1•x1+ p0•x0+ p-1•x-1+ p-2•x-2+ p-3•x-3+...

16/04/2008 Facultad de Informática, UPM. 7

Sistemas de representación Sistemas de representación n mérica Sistemas posicionales (III)n mérica Sistemas posicionales (III)numérica. Sistemas posicionales (III) numérica. Sistemas posicionales (III)

Lo más frecuente es utilizar una base b (radical b) paraLo más frecuente es utilizar una base b (radical b) paragenerar el vector de pesos mediante sus potencias, deforma que:

P≡ (... b3 b2 b1 b0 b-1 b-2 b-3 ...)

En este caso ya no es necesario indicar el vector det l l b l dpesos, tan solo la base empleada.

Lo habitual es emplear para la base números naturales.

R di l lRadicales usuales son:

b= 10 (sistema decimal).b 2 ( i t bi i )b= 2 (sistema binario).b= 8 (sistema octal).b= 16 (sistema hexadecimal)

16/04/2008 Facultad de Informática, UPM. 8

b 16 (sistema hexadecimal).

Sistemas de representación Sistemas de representación n mérica Sistemas posicionales (IV)n mérica Sistemas posicionales (IV)numérica. Sistemas posicionales (IV) numérica. Sistemas posicionales (IV)

También es habitual el imponer la restricción de queTambién es habitual el imponer la restricción de quetodos los dígitos xi sean positivos y menores que labase:

b= 10 (sistema decimal):xi= { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }i { }

b= 2 (sistema binario):xi= { 0, 1 }xi { 0, 1 }

b= 8 (sistema octal):xi= { 0 1 2 3 4 5 6 7 }xi { 0, 1, 2, 3, 4, 5, 6, 7 }.

b= 16 (sistema hexadecimal):x = { 0 1 2 3 4 5 6 7 8 9 A B C D E F }

16/04/2008 Facultad de Informática, UPM. 9

xi= { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F }.

Sistemas de representación Sistemas de representación n mérica Sistemas posicionales (V)n mérica Sistemas posicionales (V)numérica. Sistemas posicionales (V) numérica. Sistemas posicionales (V)

Una propiedad de los sistemas de representación con base es laUna propiedad de los sistemas de representación con base es lasiguiente:

Si se tienen dos bases δ y λ, tales que δ =λk, se cumple que:

(... a3 a2 a1 a0 a-1 a-2 ...)λ= (... g3 g2 g1 g0 g-1 g-2 g-3 ...)δ

donde:

gj= ( akj+k-1... akj+1 akj )λ

Esto es, los dígitos de la base δ = λk se obtienenagrupando los dígitos de la base λ en grupos deagrupando los dígitos de la base λ en grupos delongitud k.

16/04/2008 Facultad de Informática, UPM. 10

Sistemas de representación Sistemas de representación n mérica Sistemas posicionales (VI)n mérica Sistemas posicionales (VI)numérica. Sistemas posicionales (VI) numérica. Sistemas posicionales (VI)

Los sistemas binario octal y hexadecimalLos sistemas binario, octal y hexadecimal,cumplen esta regla.

Paso código binario a octal: agrupando dígitos de 3 en 3.

Empezando por la izquierda de la coma decimal en el análisisde la parte enterade la parte entera.

Empezando por la derecha de la coma decimal para la partedecimal.

Paso binario a hexadecimal: agrupando dígitos de 4 en 4.

Mismo procedimiento que para paso de binario a octalMismo procedimiento que para paso de binario a octal.

Ejemplo:

16/04/2008 Facultad de Informática, UPM. 11

100111100110,00112= 4746,148= 9E6,316

Conversión entre diferentes sistemas de Conversión entre diferentes sistemas de t ió é i (I)t ió é i (I)reprsentación numérica (I)reprsentación numérica (I)

Conversión decimal a binarioConversión decimal a binario.

El proceso de obtención se realiza efectuandodi i i i t 2 d l ú ddivisiones sucesivas, entre 2, del número expresado enbase 10.

Condición de parada del algoritmo:

Cuando el resultado en una división produzca unpcociente menor o igual al divisor (en este caso 2).

Este cociente será el dígito de mayor peso del resultado.

Los restos parciales de las divisiones anteriores,tomados en orden inverso, serán los valores que

16/04/2008 Facultad de Informática, UPM. 12

multipliquen a las potencias de la base.

Conversión entre diferentes sistemas de Conversión entre diferentes sistemas de t ió é i (II)t ió é i (II)reprsentación numérica (II)reprsentación numérica (II)

Ejemplo de conversión decimal a binarioEjemplo de conversión decimal a binario.

12410= 11111002

124 2

0 62 20 62 2

0 31 2

1 15 21 15 2

1 7 2

1 3 21 3 2

1 1

16/04/2008 Facultad de Informática, UPM. 13

Conversión entre diferentes sistemas de Conversión entre diferentes sistemas de t ió é i (III)t ió é i (III)reprsentación numérica (III)reprsentación numérica (III)

Conversión decimal a octalConversión decimal a octal.

Mismo procedimiento, aunque ahora se realiza dividiendosucesivamente entre 8sucesivamente entre 8.

Ejemplo de conversión decimal a octal.Ejemplo de conversión decimal a octal.

12410= 1748

124 8

4 15 8

7 1

16/04/2008 Facultad de Informática, UPM. 14

Conversión entre diferentes sistemas de Conversión entre diferentes sistemas de t ió é i (IV)t ió é i (IV)representación numérica (IV)representación numérica (IV)

Conversión decimal a hexadecimalConversión decimal a hexadecimal.

Mismo procedimiento, aunque ahora se realiza dividiendosucesivamente entre 16sucesivamente entre 16.

Para restos comprendidos entre 10 y 15 habrá que sustituirlos porel dígito hexadecimal asociado:el dígito hexadecimal asociado:

10 → A

11 → B11 → B

12 → C

13 → D

14 → E

15 → F

16/04/2008 Facultad de Informática, UPM. 15

Conversión entre diferentes sistemas de Conversión entre diferentes sistemas de t ió é i (V)t ió é i (V)representación numérica (V)representación numérica (V)

Ejemplo de conversión decimal a hexadecimalEjemplo de conversión decimal a hexadecimal.

12410= 7C16

124 16

12 712 7

16/04/2008 Facultad de Informática, UPM. 16

Conversión entre diferentes sistemas de Conversión entre diferentes sistemas de t ió é i (VI)t ió é i (VI)representación numérica (VI)representación numérica (VI)

Conversión octal a binarioConversión octal a binario.

Cada dígito octal es convertido a un grupo de 3 bits.

Este grupo de 3 bits se corresponde con el valorbinario de dicho dígito.g

Ejemplo de conversión octal a binario.

1748= 0011111002

4 = 10048= 1002

78= 1112

1 = 001

16/04/2008 Facultad de Informática, UPM. 17

18= 0012

Conversión entre diferentes sistemas de Conversión entre diferentes sistemas de t ió é i (VII)t ió é i (VII)representación numérica (VII)representación numérica (VII)

Conversión binario a octalConversión binario a octal.

Empezando por el bit menos significativo de la partet l dí it j t d 3 bitentera se agrupan los dígitos en conjuntos de 3 bits.

Cada grupo de 3 bits se asocia con el dígito octalg gcorrespondiente.

Ejemplo de conversión binario a octal.

0111010012= 35182 8

0012= 18

1012= 58

16/04/2008 Facultad de Informática, UPM. 18

2 8

0112= 38

Conversión entre diferentes sistemas de Conversión entre diferentes sistemas de t ió é i (VIII)t ió é i (VIII)representación numérica (VIII)representación numérica (VIII)

Conversión hexadecimal a binarioConversión hexadecimal a binario.

Cada dígito hexadecimal es convertido a un grupo de 4bitbits.

Este grupo de 4 bits se corresponde con el valorgbinario de dicho dígito.

Ejemplo de conversión hexadecimal a binario.

8F16= 10001111216 2

F16= 11112

816= 10002

16/04/2008 Facultad de Informática, UPM. 19

816= 10002

Conversión entre diferentes sistemas de Conversión entre diferentes sistemas de t ió é i (IX)t ió é i (IX)representación numérica (IX)representación numérica (IX)

Conversión binario a hexadecimalConversión binario a hexadecimal.

Empezando por el bit menos significativo de la partet l dí it j t d 4 bitentera, se agrupan los dígitos en conjuntos de 4 bits.

Cada grupo de 4 bits se asocia con el dígitog ghexadecimal correspondiente.

Ejemplo de conversión binario a hexadecimal.

1010110100012= AD1162 16

00012= 116

11012= D16

16/04/2008 Facultad de Informática, UPM. 20

2 16

10102= A16

Sistemas decimales codificados en Sistemas decimales codificados en bi i (BCD) (I)bi i (BCD) (I)binario (BCD) (I)binario (BCD) (I)

En los sistemas decimales codificados en binarioEn los sistemas decimales codificados en binarioo BCD (Binary Coded Decimal), se convierten,uno a uno, los dígitos decimales a binario., g

Las representaciones alfanuméricas, como la definida através del código ASCII son representaciones BCD que

l 7 bi dí i (8 ASCII did )emplean 7 bits por dígito (8 para ASCII extendido).

Lo más habitual es codificar cada dígito decimalLo más habitual es codificar cada dígito decimalempleando una representación en binario puro.

Para poder representar un dígito decimal se requieren alPara poder representar un dígito decimal se requieren almenos 4 bits.

Se desperdician 6 combinaciones de entre 16 (37’5%).

16/04/2008 Facultad de Informática, UPM. 21

p ( )

Sistemas decimales codificados en Sistemas decimales codificados en bi i (BCD) (II)bi i (BCD) (II)binario (BCD) (II)binario (BCD) (II)

Otra tipo de representación usual pues simplificaOtra tipo de representación usual, pues simplificala realización de unidades aritméticas, es la BCDexceso a tresexceso a tres.

En este caso a cada dígito decimal se le asigna suvalor en binario puro incrementado en 3valor en binario puro incrementado en 3.

Ejemplo: 175,6210

1 7 5, 6 2BCD 0001 0111 0101, 0110 0010BCD 0001 0111 0101, 0110 0010BCD exceso 3 0100 1010 1000, 1001 0101

16/04/2008 Facultad de Informática, UPM. 22

Rango y resolución de los sistemas Rango y resolución de los sistemas d t iód t ióde representaciónde representación

Rango de un sistema de representación es elRango de un sistema de representación es elintervalo comprendido entre el menor y mayornúmero representablenúmero representable.

Resolución de un sistema de representación es laResolución de un sistema de representación es ladiferencia en magnitud entre dos númerosrepresentables consecutivos.p

16/04/2008 Facultad de Informática, UPM. 23

Suma en binario (I)Suma en binario (I)( )( )

Tabla de la suma de dos dígitos binarios a y b:a

b 0 1

0 0 1

1 1 10

La combinación a=1, b=1 produce un resultado de10, es decir:

El bit suma es 0 y ...

Existe acarreo (“me llevo 1”)( )

Aplicando repetidamente esta tabla se pueden

16/04/2008 Facultad de Informática, UPM. 24

sumar dos números cualesquiera A y B.

Suma en binario (II)Suma en binario (II)( )( )

Para ello se sumarán los bits de igual posiciónPara ello, se sumarán los bits de igual posición,teniendo en cuenta el acarreo anterior.

Ejemplo:

1 1 1 1 0 0 1

0 1 0 1 0 1 0 +

1 0 1 0 0 0 1 1

Nota: el resultado puede tener un bit más que lossumandos.

16/04/2008 Facultad de Informática, UPM. 25

Resta en binario (I)Resta en binario (I)( )( )

La tabla de la resta a b en binario es la siguiente:La tabla de la resta a-b en binario es la siguiente:

a

b 0 1b 0 1

0 0 1

1 11 0

Por 1 se indica acarreo negativo.

1 11 0

g

La combinación a=0, b=1 tiene desbordamiento(a<b), por lo que aparece un acarreo negativo(“me llevo” –1), además es resultado es 1.

16/04/2008 Facultad de Informática, UPM. 26

Resta en binario (II)Resta en binario (II)( )( )

Igual que ocurre en base decimal, para restar doscantidades A-B, primero se comprueba que A≥B,si esta condición no se cumple, hay que realizarl ió i (B A)la operación inversa –(B-A).

Ejemplo:Ejemplo:1 1 0 0 1 0 1

1 0 1 1 0 1 0 -

0 0 0 1 0 1 1

Nota: si se garantiza que A≥B, la resta A-B ocupará unnúmero de bits igual o menor que A

16/04/2008 Facultad de Informática, UPM. 27

número de bits igual o menor que A.

Representación en coma fija sin Representación en coma fija sin i bi i (I)i bi i (I)signo o binario puro (I)signo o binario puro (I)

Un número X representado por una cadena deUn número X representado por una cadena dedígitos de longitud n:

(xn-1 xn-2 ... x2 x1 x0)

tiene por valor:

V(X)= 2n-1•x + + 22•x + 21•x + 20•xV(X)= 2n-1•xn-1+ ... + 22•x2+ 21•x1+ 20•x0

Siendo xi= { 0, 1 }

Es por tanto, un sistema posicional con baseigual a 2 y sin parte fraccionaria.

16/04/2008 Facultad de Informática, UPM. 28

Representación en coma fija sin Representación en coma fija sin i bi i (II)i bi i (II)signo o binario puro (II)signo o binario puro (II)

Ejemplos para n= 3:Ejemplos para n= 3:

001= 110

101= 510

111= 710

Ejemplos para n= 12:

000000000101= 510

100000000000= 21110= 20481010 10

111111111111= (211+ 210+ ... + 21+ 20)10= 212-110= 409510

16/04/2008 Facultad de Informática, UPM. 29

Representación en coma fija sin Representación en coma fija sin i bi i (III)i bi i (III)signo o binario puro (III)signo o binario puro (III)

Características:Características:

Rango: [0, 2n-1], siendo n el número de dígitosbi i bit (bi di it )binarios o bits (binary digits).

Resolución: 1.

En la suma de 2 cantidades, se presentará unproblema de desbordamiento si se produceproblema de desbordamiento si se produceacarreo en el bit último, es decir, si cn-1= 1.

Se podrá efectuar la resta de A B sólo si seSe podrá efectuar la resta de A-B sólo si secumple que A≥B.

16/04/2008 Facultad de Informática, UPM. 30

Representación en coma fija y signo Representación en coma fija y signo it d (I)it d (I)magnitud (I)magnitud (I)

Un número X representado por una cadena deUn número X representado por una cadena dedígitos de longitud n:

(xn-1 xn-2 ... x2 x1 x0)

tiene por valor:p

Si xn-1=0 → V(X)= +(2n-2•xn-2+ ... + 22•x2+ 21•x1+ 20•x0 )

Si xn-1=1 → V(X)= -(2n-2•xn-2 + ... + 22•x2+ 21•x1+ 20•x0 )

Si d { 0 1 }Siendo xi= { 0, 1 }

16/04/2008 Facultad de Informática, UPM. 31

Representación en coma fija y signo Representación en coma fija y signo it d (it d (III)I)magnitud (magnitud (III)I)

Ejemplos para n= 3:Ejemplos para n= 3:011= 310

111= -310111 310

000= 010

100= 010100 010

Ejemplos para n= 8:00000011= 310

10000011= -31010

00000000= 010

10000000= 010

16/04/2008 Facultad de Informática, UPM. 32

10

Representación en coma fija y Representación en coma fija y i it d (Ii it d (IIII)I)signo magnitud (Isigno magnitud (IIII)I)

Características:Características:

El bit de signo se trata de forma diferenciada respecto alos bits de la magnitud.los bits de la magnitud.

Rango: [-2n-1+1, 2n-1-1].

Resolución: 1.

El valor cero tiene dos representaciones: 000...0 y 100...0, loque acarreo dificultades en su tratamiento.

Las operaciones de suma y resta se deciden por el signo dey glos operandos, lo que conlleva ciertas dificultades. Para lasoperaciones de multiplicación y división no existe esteproblema

16/04/2008 Facultad de Informática, UPM. 33

problema.

Representación en complemento restringido a Representación en complemento restringido a l b l t (C1) (I)l b l t (C1) (I)la base o complemento a uno (C1) (I)la base o complemento a uno (C1) (I)

Un número X representado por una cadena deUn número X representado por una cadena dedígitos de longitud n:

(xn-1 xn-2 ... x2 x1 x0)

tiene por valor:tiene por valor:

Si xn-1=0 → V(X)= 2n-2•xn-2+ ... + 22•x2+ 21•x1+ 20•x0

Si xn-1=1 → V(X)= 2n-2•xn-2+ ... + 22•x2+ 21•x1+ 20•x0- (2n-1– 1)

Siendo xi= { 0 1 }Siendo xi { 0, 1 }

16/04/2008 Facultad de Informática, UPM. 34

Representación en complemento restringido a Representación en complemento restringido a l b l t (C1) (Il b l t (C1) (III))la base o complemento a uno (C1) (Ila base o complemento a uno (C1) (III))

Sea un número A representado con n bits SuSea un número A, representado con n bits. Suvalor complementado (complemento a uno delnúmero) es igual a:número) es igual a:

C1(A)= 2n-1-A

Una forma muy sencilla de calcular el valorcomplementado de un número es negar uno a unocomplementado de un número, es negar uno a unotodos los bits de dicho número.

El l t d ú l t dEl complemento a uno de un número complementadoes igual a dicho número:

C1(C1(A)) 2n 1 C1(A) 2n 1 (2n 1 A) A

16/04/2008 Facultad de Informática, UPM. 35

C1(C1(A))= 2n-1-C1(A)= 2n-1-(2n-1-A)= A

Representación en complemento restringido a Representación en complemento restringido a l b l t (C1) (Il b l t (C1) (IIIII))la base o complemento a uno (C1) (Ila base o complemento a uno (C1) (IIIII))

Si un número A está codificado siguiendo el sistema deSi un número A está codificado siguiendo el sistema derepresentación de complemento a uno se cumplirá que:

Si un número es positivo:

El bit de mayor peso de la cadena de dígitos (xn-1 xn-2 ... x2x1 x0), que representa al número será 0, es decir xn-1= 0

P t t t t ió i idi á lPor tanto, esta representación coincidirá con larepresentación en binario puro.

Si un número es negativo:g

El bit de mayor peso de la cadena de dígitos, querepresenta al número será 1, es decir, xn-1= 1

El cambio de signo de ese número A puederealizarse simplemente calculando el complementoa uno de dicho número

16/04/2008 Facultad de Informática, UPM. 36

a uno de dicho número.

Representación en complemento restringido a Representación en complemento restringido a l b l t (C1) (Il b l t (C1) (IVV))la base o complemento a uno (C1) (Ila base o complemento a uno (C1) (IVV))

Ejemplo: sea A= 11111100 (n=8)Ejemplo: sea A= 11111100 (n=8).

Aplicando la definición de la operación decomplemento a uno su valor complementado será:complemento a uno, su valor complementado será:

C1(A)=28-1- (1•28+ 1•27+ 1•26+ 1•25+ 1•24+ 1•23+ 1•22+0•21 +0•20)= 256-1-252= 30 2 0 2 ) 256 1 252 3

1 0 0 0 0 0 0 0 0

1 -

0 1 1 1 1 1 1 1 1

1 1 1 1 1 1 0 0 -

0 0 0 0 0 0 1 1

Este resultado se puede obtener de manera mássencilla negando todos los bits del número

0 0 0 0 0 0 1 1

16/04/2008 Facultad de Informática, UPM. 37

sencilla negando todos los bits del número.

Representación en complemento restringido a Representación en complemento restringido a l b l t (C1) (l b l t (C1) (VV))la base o complemento a uno (C1) (la base o complemento a uno (C1) (VV))

Ejemplo: n= 8 A= 3Ejemplo: n= 8, A= -3

Representación en C1 de A:

A= 11111100

– V(A)= 1•26+ 1•25+ 1•24+ 1•23+ 1•22+ 0•21+ 0•20- (28-1- 1)=( ) ( )124- (128-1)= 124-127= -3

Cálculo del valor negativo -A:

-A= 3= C1(A)= 00000011 (negación bit a bit del valor A)

Cálculo de -(-A):Cálculo de ( A):

-(-A)= -3= C1(C1(A))= C1(00000011)= 11111100= A

16/04/2008 Facultad de Informática, UPM. 38

Representación en complemento restringido a Representación en complemento restringido a l b l t (C1) (l b l t (C1) (VIVI))la base o complemento a uno (C1) (la base o complemento a uno (C1) (VIVI))

Suma de 2 números negativos.

(-A)+(-B)= (2n-1-A)+ (2n-1-B)= 2n-1-(A+B)+ (2n-1)

Debemos sumarle el acarreo de salida.

Ejemplo: n= 8, A= -3, B= -9j p

A= 28-4= 11111100; B= 28-10= 11110110

A+B= -12= 28-13= 11110011

1 1 1 1 1 1 0 0

1 1 1 1 0 1 1 0 +1 1 1 1 0 1 1 0

1 1 1 1 1 0 0 1 0

1 +

16/04/2008 Facultad de Informática, UPM. 39

1 1 1 1 0 0 1 1

Representación en complemento restringido a Representación en complemento restringido a l b l t (C1) (l b l t (C1) (VIIVII))la base o complemento a uno (C1) (la base o complemento a uno (C1) (VIIVII))

Resta de 2 números A y B siendo A< BResta de 2 números A y B, siendo A< B.A-B= A+(-B)= A+(2n-1-B)= 2n-1- (B-A)

Resultado a la salida es correcto.

Ejemplo: n= 8, A= 3, B= 9

A= 00000011; -B= 28-10= 11110110A B= 6= 28 7= 11111001

0 0 0 0 0 0 1 1

1 1 1 1 0 1 1 0 +

1 1 1 1 1 0 0 1A-B= -6= 28-7= 11111001

Resta de 2 números A y B, siendo A≥ B.

1 1 1 1 1 0 0 1

yA-B= A+(-B)= A+(2n-1-B)= (A-B)+ 2n-1

Debemos sumarle el acarreo de salida. 0 0 0 0 0 1 1 1

Ejemplo: n= 8, A= 7, B= 3

A= 00000111; -B= 28-4= 11111100A-B= 4= 00000100

1 1 1 1 1 1 0 0 +

1 0 0 0 0 0 0 1 1

1 +

16/04/2008 Facultad de Informática, UPM. 40

A-B= 4= 00000100 1 +

0 0 0 0 0 1 0 0

Representación en complemento restringido a Representación en complemento restringido a l b l t (C1) (Vl b l t (C1) (VIIIIII))la base o complemento a uno (C1) (Vla base o complemento a uno (C1) (VIIIIII))

Características:Características:

El complemento a 1 se reduce a efectuar el complementológico (función NOT) de todos los bits.lógico (función NOT) de todos los bits.

El cero tiene 2 representaciones: 00...0 y 11...1.

R d t ió i ét i [ (2n 1 1) +(2n 1 1)]Rango de representación simétrico: [-(2n-1-1), +(2n-1-1)].

En la suma hay que incrementar el resultado en una unidadel resultado si el acarreo final es c = 1el resultado, si el acarreo final es cn= 1.

Las operaciones de multiplicación y división se dificultanpuesto que los operandos pueden estar complementadospuesto que los operandos pueden estar complementados.

Se pueden producir desbordamientos hacia el bit de signoque deben ser detectados.

16/04/2008 Facultad de Informática, UPM. 41

q

Representación en complemento a la base o Representación en complemento a la base o l t d (C2) (I)l t d (C2) (I)complemento a dos (C2) (I)complemento a dos (C2) (I)

Un número X representado por una cadena de dígitos deUn número X representado por una cadena de dígitos delongitud n:

(x 1 x 2 ... x2 x1 x0)(xn-1 xn-2 ... x2 x1 x0)

tiene por valor:

Si xn-1=0 → V(X)= 2n-2•xn-2+ ... + 22•x2+ 21•x1+ 20•x0

Si 1 V(X) 2 2 22 21 20 2 1Si xn-1=1 → V(X)= 2n-2•xn-2+ ... + 22•x2+ 21•x1+ 20•x0- 2n-1

Siendo xi= { 0, 1 }

Dado un valor A, el valor complementado es igual a:

2n-A

16/04/2008 Facultad de Informática, UPM. 42

2 A

Representación en complemento a la base o Representación en complemento a la base o l t d (C2) (II)l t d (C2) (II)complemento a dos (C2) (II)complemento a dos (C2) (II)

Cálculo del complemento (*)Cálculo del complemento ( )

(*) Debemos asegurarnos que el valor complementado del número de partida (de n bits) puede representarse con el número de bits disponibles.

a) Mediante una resta. 1 0 0 0 0 0 0 0 0

p p p

Ejemplo: n=8, A=7

A= 00000111

-A= 28-7= 111110010 0 0 0 0 1 1 1 -

0 1 1 1 1 1 0 0 1A 2 7 11111001

b) Complemento lógico y suma de 1.

0 1 1 1 1 1 0 0 1

Ejemplo: n=8, A=7

A= 00000111

NOT(A)= 11111000

1 1 1 1 1 0 0 0

1 +

16/04/2008 Facultad de Informática, UPM. 43

NOT(A)= 11111000

-A= NOT(A)+1= 111110011 1 1 1 1 0 0 1

Representación en complemento a la base o Representación en complemento a la base o l t d (C2) (III)l t d (C2) (III)complemento a dos (C2) (III)complemento a dos (C2) (III)

Cambio de signoCambio de signo.Consiste en calcular su valor complementado.

-A= C2(A)-A= C2(A)

-(-A)= C2(C2(A))= C2(2n- A)= 2n-(2n- A)= A

Suma de 2 números negativos.

(-A)+(-B)= (2n-A)+ (2n-B)= 2n-(A+B)+ 2n

El acarreo de salida se ignora.

Ejemplo: n= 8, A= -3, B= -91 1 1 1 1 1 0 1

A= 28-3= 11111101; B= 28-9= 11110111

A+B= -12= 28-12= 11110100

1 1 1 1 1 1 0 1

1 1 1 1 0 1 1 1 +

1 1 1 1 1 0 1 0 0

16/04/2008 Facultad de Informática, UPM. 44

Representación en complemento a la base o Representación en complemento a la base o l t d (C2) (IV)l t d (C2) (IV)complemento a dos (C2) (IV)complemento a dos (C2) (IV)

Resta de 2 números A y B siendo A< BResta de 2 números A y B, siendo A< B.A-B= A+(-B)= A+(2n-B)= 2n-(B-A)

Resultado a la salida es correcto.

Ejemplo: n= 8, A= 3, B= 9

A= 00000011; -B= 28-9= 11110111A B= 6= 28 6= 11111010

0 0 0 0 0 0 1 1

1 1 1 1 0 1 1 1 +

1 1 1 1 1 0 1 0A-B= -6= 28-6= 11111010

Resta de 2 números A y B, siendo A≥ B.

1 1 1 1 1 0 1 0

yA-B= A+(-B)= A+(2n-B)= 2n+(A-B)

El acarreo de salida se ignora.

Ejemplo: n= 8, A= 7, B= 3

A= 00000111; -B= 28-3= 11111101A-B= 4= 00000100

0 0 0 0 0 1 1 1

1 1 1 1 1 1 0 1 +

1 0 0 0 0 0 1 0 0

16/04/2008 Facultad de Informática, UPM. 45

A-B= 4= 00000100 1 0 0 0 0 0 1 0 0

Representación en complemento a la base o Representación en complemento a la base o l t d (C2) (V)l t d (C2) (V)complemento a dos (C2) (V)complemento a dos (C2) (V)

Características:Características:

Rango de representación asimétrico: [-2n-1, 2n-1-1].

El valor 0 tiene una única representación: 000...0.

Las operaciones de suma y resta no tienen que tenert l i d l den cuenta el signo de los operandos:

Las operaciones de multiplicación y división secomplican en el caso de operandos complementadoscomplican en el caso de operandos complementados.

Se pueden producir desbordamientos hacia el bit designo que deben ser detectadossigno que deben ser detectados.

16/04/2008 Facultad de Informática, UPM. 46

Extensión de signo (I)Extensión de signo (I)g ( )g ( )

Un número X representado con n bits:Un número X representado con n bits:

X≡ ( xn 1 xn 2 ... x1 x0)X≡ ( xn-1 xn-2 ... x1 x0)

tendrá una representación en m bits, siendo m>n:p ,

X≡ ( xm-1 xm-2 ... xn-1 xn-2 ... x1 x0)

que dependerá del sistema de representaciónempleadoempleado.

16/04/2008 Facultad de Informática, UPM. 47

Extensión de signo (II)Extensión de signo (II)g ( )g ( )

Representación en binario puroRepresentación en binario puro.

Los nuevos bits xm-1 xm-2 ... xn serán todos igual a 0.

Ejemplo:

Para n=3 y m=4

0101 = 00101 = 501012= 001012= 510

16/04/2008 Facultad de Informática, UPM. 48

Extensión de signo (III)Extensión de signo (III)g ( )g ( )

Representación en signo magnitudRepresentación en signo magnitud.

Se conservará el bit de signo xn-1, que pasará a ser elnuevo bit de signo (x ) El resto de los bits senuevo bit de signo (xm-1). El resto de los bits serellenará con 0.

x 1 → x 1xn-1 → xm-1

0 → xm-2

0 → xm 30 → xm-3

... → ...

0 → xn-1n 1

Ejemplo para n=4 y m=5:

11012= 101012= -510

16/04/2008 Facultad de Informática, UPM. 49

11012 101012 510

Extensión de signo (IV)Extensión de signo (IV)g ( )g ( )

Representación en complemento a uno (C1)Representación en complemento a uno (C1).

Los nuevos bits (xm-1 xm-2 ... xn) se rellenan con el valord l bitdel bit xn-1

xn-1 → xm-1

xn-1 → xm-2

xn-1 → xm-3

... → ...

xn-1 → xn

Ejemplo para n=4 y m=5:

11012= 111012= -210

16/04/2008 Facultad de Informática, UPM. 50

11012= 111012= -210

Extensión de signo (V)Extensión de signo (V)g ( )g ( )

Representación en complemento a dos (C2)Representación en complemento a dos (C2).

Los nuevos bits (xm-1 xm-2 ... xn) se rellenan con el valord l bitdel bit xn-1

xn-1 → xm-1

xn-1 → xm-2

xn-1 → xm-3

... → ...

xn-1 → xn

Ejemplo para n=4 y m=5:

11012= 111012= -310

16/04/2008 Facultad de Informática, UPM. 51

11012= 111012= -310

Estructura de un semisumador (S.S.) (I)Estructura de un semisumador (S.S.) (I)( ) ( )( ) ( )

También conocido como Half Adder (H.A.), es uncircuito capaz de sumar dos bits aisladosprocedentes de dos operandos.

Operandos aislados significa, que no se atienden a losacarreos producidos en etapas anteriores.

Tabla de verdad para la suma de dos operandos ab d l bity b de un solo bit:

a, b: operandos de entrada.

a b s c

0 0 0 0

s: resultado de la suma.0 1 1 0

1 0 1 0

1 1 0 1

16/04/2008 Facultad de Informática, UPM. 52

c: acarreo de la suma. 1 1 0 1

Estructura de un semisumador (S.S.) (II)Estructura de un semisumador (S.S.) (II)( ) ( )( ) ( )

La función suma es por tanto: a b s c

s= ab +ab= a⊕ b (XOR)0 0 0 0

0 1 1 0

1 0 1 0La función acarreo es:

c= ab (AND)

1 0 1 0

1 1 0 1

c= ab (AND)

Circuito semisumador:Circuito semisumador:

a s

a s ai si

b c

Semisumador

b c bi ci

16/04/2008 Facultad de Informática, UPM. 53

Estructura de un sumador completo (S.C.) (I)Estructura de un sumador completo (S.C.) (I)p ( ) ( )p ( ) ( )

También conocido como Full Adder (F.A.), es uni it d d bit d t dcircuito capaz de sumar dos bits procedentes de

dos operandos.

En este caso se tiene en cuenta el acarreo proveniente deetapas anteriores.

ai bi ci-1 si ci

Tabla de verdad:0 0 0 0 0

0 0 1 1 0

0 1 0 1 0ai, bi: bits i de operandos de entrada.

si: bit i del resultado de la suma.

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

ci: acarreo i de la suma.1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

16/04/2008 Facultad de Informática, UPM. 54

1 1 1 1 1

Estructura de un sumador completo (S.C.) (II)Estructura de un sumador completo (S.C.) (II)p ( ) ( )p ( ) ( )

La función suma es por tanto:La función suma es por tanto:

si= ai⊕ bi⊕ ci-1

La función acarreo es:ai bi ci-1 si ci

0 0 0 0 0

0 0 1 1 0ci= ai bi + ai ci-1 + bi ci-1

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

16/04/2008 Facultad de Informática, UPM. 55

Estructura de un sumador completo (S.C.) (III)Estructura de un sumador completo (S.C.) (III)p ( ) ( )p ( ) ( )

Circuito del sumador completo:

si= ai⊕ bi⊕ ci-1

ci= ai bi + ai ci 1 + bi ci 1

ai s

ci ai bi ai ci-1 bi ci-1

ci-1

sibi

ai si

bi Sumador

ai

bi

si

i 1

ci

bi Sumador Completo

ci-1 ci ci ci-1

16/04/2008 Facultad de Informática, UPM. 56

Estructura de un sumador completo (S.C.) (IV)Estructura de un sumador completo (S.C.) (IV)p ( ) ( )p ( ) ( )

Circuito del sumador completo a partirde semisumadores:

ai si bi

a s Semisumador b c

a s Semisumador

ci-1

Semisumadorb c

ci

16/04/2008 Facultad de Informática, UPM. 57

Sumador completo Sumador completo paralelo paralelo de de nn bitsbitspp pp

Principal problema:

a0 bn-1 b1 b0 an-1 a1

Principal problema:

El retardo total del sumador es la sumade los retardos de los sumadores

...

Sumador

de

...

cn-1 c-1

completos de un bit.n bits

...

an-1 bn-1 a1 b1 a0 b0

sn-1 s0 s1

a b

S d

a b

S d

a b

S dSumador Completo

cout cin

Sumador Completo

cout cin

Sumador Completo

cout cin... c-1cn-1 c1 cn-2 c0

16/04/2008 Facultad de Informática, UPM. 58

sn-1 s1 s0

Sumador/restador en complemento a Sumador/restador en complemento a d (I)d (I)dos (I)dos (I)

a bn-1 b1 b0 a a a0 n 1 1 0an-1 a1

S/R

Sumador de n bits

...

cn-1c-1

...

Sumador de n bitscn-1

...

sn-1 s0 s1

16/04/2008 Facultad de Informática, UPM. 59

Sumador/restador en complemento a Sumador/restador en complemento a d D b d i t (I)d D b d i t (I)dos. Desbordamiento (I)dos. Desbordamiento (I)

Condiciones de desbordamiento:Condiciones de desbordamiento:

Se puede producir desbordamiento si y solo si se2 tid d iti 2 tisuman 2 cantidades positivas o 2 negativas.

Si se suman dos cantidades A y B de n bits y con distintoi l l d l b l (bi i ) ásigno, el resultado en valor absoluto (binario puro) será

de:

||A| |B||– ||A|- |B||

– Como |A|< 2n y |B|< 2n entonces el resultado ||A|- |B||< 2n

16/04/2008 Facultad de Informática, UPM. 60

Sumador/restador en complemento a Sumador/restador en complemento a d D b d i t (II)d D b d i t (II)dos. Desbordamiento (II)dos. Desbordamiento (II)

Suma de 2 cantidades positivas→ a = b = 0Suma de 2 cantidades positivas→ an-1= bn-1= 0

Existirá desbordamiento cuando cn-2= 1 (acarreo en elt i bit)anterior bit).

Motivo: el resultado será un número negativo puesto quel l d d l d á l bi 1el resultado de la suma tendrá el bit sn-1= 1.

Suma de 2 cantidades negativas→ a 1= b 1= 1Suma de 2 cantidades negativas→ an-1= bn-1= 1

Existirá desbordamiento cuando cn-2= 0 (no existeacarreo en el anterior bit)acarreo en el anterior bit).

Motivo: el resultado será un número positivo puesto queel resultado de la suma tendrá el bit s = 0

16/04/2008 Facultad de Informática, UPM. 61

el resultado de la suma tendrá el bit sn-1= 0.

Sumador/restador en complemento a Sumador/restador en complemento a d D b d i t (III)d D b d i t (III)dos. Desbordamiento (III)dos. Desbordamiento (III)

Condición de desbordamiento:Condición de desbordamiento:

DE= an-1•bn-1•cn-2+ an-1•bn-1•cn-2

Teniendo en cuenta que:

cn-1= an-1• bn-1+ an-1• cn-2+ bn-1• cn-2n-1 n-1 n-1 n-1 n-2 n-1 n-2

La expresión inicial del desbordamiento queda:

DE= cn-1⊕ cn-2

16/04/2008 Facultad de Informática, UPM. 62

Sumador/restador en complemento a Sumador/restador en complemento a unouno

a bn-1 b1 b0 a a a0 n 1 1 0an-1 a1

S/R

Sumador de n bits

...

cn-1c-1

...

Sumador de n bitscn-1

...

sn-1 s0 s1

16/04/2008 Facultad de Informática, UPM. 63

Sumador/restador en complemento a Sumador/restador en complemento a D b d i tD b d i tuno. Desbordamientouno. Desbordamiento

Análogamente al análisis realizado en complemento aAnálogamente al análisis realizado en complemento ados, la condición de desbordamiento para lasuma/resta en representaciones en complemento ap puno es la misma:

DE= c 1⊕ c 2DE cn-1⊕ cn-2

16/04/2008 Facultad de Informática, UPM. 64

Ejemplos de implementación de Unidades Ejemplos de implementación de Unidades A it étiA it éti Ló i l t lLó i l t lAritméticoAritmético--Lógicas elementalesLógicas elementales

Una Unidad Aritmético-Lógica (UAL) ALU en sus siglas enUna Unidad Aritmético-Lógica (UAL), ALU en sus siglas eninglés (Arithmetic-Logic Unit), es el circuito encargado derealizar en un computador:

Operaciones lógicas.

AND

OROR

NOT

Operaciones aritméticas.p

Sumas

Restas

Multiplicaciones

Divisiones

Operaciones de desplazamiento.

16/04/2008 Facultad de Informática, UPM. 65

Operaciones de desplazamiento.

ALU realizada por minimización ALU realizada por minimización ló i (I)ló i (I)lógica (I)lógica (I)

C t ió d ALU d bit (2 l fi ) ti dConstrucción de una ALU de n bits (2 en la figura) a partir deuna ALU de 1 bit.

V i bl d t d b

Variables de entrada: ai, bi, ci, s1, s0

Codificación de operación: s1, s0 ai+1

ci+2

ALUri+1

c1

Funciones a generar: ri, ci+1

Codificación de las operaciones:

ALU 1 bit bi+1

c1 c0

ci 1Codificación de las operaciones:

ai

ci+1

ALU b

ri

c1 c

s1 s0 Operación

0 0 A+B (suma aritmética)

ci

1 bitbi c0 0 0 A+B (suma aritmética)

0 1 A-B (resta en C2)

1 0 A•B (NAND)

16/04/2008 Facultad de Informática, UPM. 66

i( )

1 1 A+B (NOR)

ALU realizada por minimización ALU realizada por minimización ló i (II)ló i (II)lógica (II)lógica (II)

Suma Resta (ai+bi+ci)s1 s0 ci ai bi ri ci+1

0 0 0 0 0 0 0

0 0 1 1 0

s1 s0 ci ai bi ri ci+1

0 1 0 0 0 1 0

0 0 1 0 0

Suma Resta (ai bi ci)

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

0 0 1 0 0

0 1 0 0 1

0 1 1 1 0

1 0 0 0 11 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

1 0 0 0 1

1 0 1 1 0

1 1 0 1 1

1 1 1 0 1

NAND NORs1 s0 ci ai bi ri ci+1

1 0 x 0 0 1 x

x 0 1 1 x

1 0 1

s1 s0 ci ai bi ri ci+1

1 1 x 0 0 1 x

x 0 1 0 x

1 0 0

16/04/2008 Facultad de Informática, UPM. 67

x 1 0 1 x

x 1 1 0 x

x 1 0 0 x

x 1 1 0 x

ALU realizada por minimización ALU realizada por minimización ló i (III)ló i (III)lógica (III)lógica (III)

s0ci

aibi

00 01 11 10s0ci

aibi

00 01 11 1000 0 1 0 1

01 1 0 1 0

11 0 1 0 1

00 01 11 10

00 1 1 0 1

01 1 1 0 111 0 1 0 1

10 1 0 1 011 1 0 0 0

10 1 0 0 0

S1= 0 S1= 1

ri= s1(aibi+ s0ai+ s0bi)+ s1[s0c0(aibi+ aibi)+ s0ci(aibi+ aibi)+

soci(aibi+ aibi)+ soci(aibi+ aibi)]

16/04/2008 Facultad de Informática, UPM. 68

o i( i i i i) o i( i i i i)]

ALU realizada por minimización ALU realizada por minimización ló i (IV)ló i (IV)lógica (IV)lógica (IV)

s0ci

aibi

00 01 11 10

s0ci

aibi

00 01 11 1000 01 11 10

00 0 0 1 0

01 0 1 1 1

00 01 11 10

00 x x x x

01 x x x x

11 1 0 1 1

10 0 0 0 1

11 x x x x

10 x x x x

S1= 0 S1= 1

ci+1= ciai+ s0aibi+ s0aibi+ s0cibi+ s0cibi

16/04/2008 Facultad de Informática, UPM. 69

ALU de Weste & EshragALU de Weste & Eshraghhian (I)ian (I)gg ( )( )

ci

Sumador Completo

ri ai

bi

1

MUX 0 si

ctrl0 ci-1 C0

ctrl1

MUX C1

C0

ctrl3 ctrl2

00 01 10 11

La programación de la ALU se realiza a partir de las

VDDci-1

16/04/2008 Facultad de Informática, UPM. 70

p g p4 señales ctrl0- ctrl3

ALU de Weste & EshragALU de Weste & Eshraghhian (II)ian (II)gg ( )( )

A+B (aritmético)

ctrl0= 0; ctrl2= 1; ctrl3= 1;

Selección acarreo etapa anterior.p

ctrl1= 0;

Selección sumaSelección suma.

A-B (aritmético C2)

ctrl0= 1; ctrl2= 1; ctrl3= 0;

Negar entrada b Acarreo inicial= 1Negar entrada bi. Acarreo inicial= 1.

ctrl1= 0;

S l ió

16/04/2008 Facultad de Informática, UPM. 71

Selección suma.

ALU de Weste & EshragALU de Weste & Eshraghhian (III)ian (III)gg ( )( )

A•B

ctrl0= 0; ctrl3= 1; ctrl2= 0;

El sumador producirá acarreo solamente cuando las 2pentradas de datos sean un uno.

ctrl1= 1;

Selección acarreo.

A⊕BA⊕B

Ídem. Pero seleccionando la suma en el multiplexor final.

A⊕B

Í

16/04/2008 Facultad de Informática, UPM. 72

Ídem. al caso anterior pero negando entrada bi (ctrl0=1).

ALU de Weste & EshragALU de Weste & Eshraghhian (IV)ian (IV)gg ( )( )

A

ctrl0= 1; ctrl2= 0; ctrl3= 0; ctrl1= 0;

Introducimos como acarreo de entrada al sumador bi yt bit l t XOR L t tnegamos este bit con la puerta XOR. La suma por tanto

será siempre 1 más el valor de ai. La salida del sumadorserá ahora 0 cuando ai sea 1 y viceversa.

Para escoger A bastaría con escoger el bit de suma en elmultiplexor final.

A+B (lógico)

ctrl = 0; ctrl = 0; ctrl = 1; ctrl = 1;ctrl0= 0; ctrl3= 0; ctrl2= 1; ctrl1= 1;

Acarreo de entrada al sumador será un “1”. El acarreo desalida de éste valdrá 1 cuando alguna de las entradas lo

16/04/2008 Facultad de Informática, UPM. 73

salida de éste valdrá 1 cuando alguna de las entradas losea.

ALU de Mead & Conway (I)ALU de Mead & Conway (I)y ( )y ( )

ci

P

ai C1

C0 MUX

00 01 10 11 bi

ai C1

C0 MUX

00 01 10 11

bi

C1

C0 MUX

00 01 10 11

C1

C0 MUX

00 01 10 11

si

K

P0 P1 P2 P3 K K K K R R R R

00 0 0

VDD

La programación de la ALU se realiza a partir de 13 señales:

P0 P1 P2 P3

ci-1

K0 K1 K2 K3 R0 R1 R2 R3

p g pP0, P1, P2, P3, K0, K1, K2, K3, R0, R1, R2, R3 y c-1 (acarreo inicial).

Pi: especifica bajo qué valores de las entradas de datos seá lpropagará el acarreo.

Ki: especifica bajo qué entradas de datos se eliminará el acarreo.

R ifi ál á l lt d d lid l

16/04/2008 Facultad de Informática, UPM. 74

Ri: especifica cuál será el resultado de salida para lascombinaciones de P y ci-1

ALU de Mead & Conway (II)ALU de Mead & Conway (II)y ( )y ( )

ci

P

ai C1

C0 MUX

00 01 10 11

bi

ai C1

C0 MUX

00 01 10 11

bi

C1

C0 MUX

00 01 10 11

C1

C0 MUX

00 01 10 11

si

K 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11

VDD P0 P1 P2 P3

ci-1

K0 K1 K2 K3 R0 R1 R2 R3

P K ciObservaciones

0 0 1 Crear acarreo (ni se propagani se destruye).

0 1 0 Eliminar (Kill) acarreo.

1 0 ci-1Propagar (Propagate) acarreo.

1 1 0 Eli i (Kill)

16/04/2008 Facultad de Informática, UPM. 75

1 1 0 Eliminar (Kill) acarreo.

ALU de Mead & Conway (III)ALU de Mead & Conway (III)y ( )y ( )

A+B (aritmética)A B P

0 0 0

A B K

0 0 1

P K ci

0 0 1

P ci-1 si

0 0 0

0 1 1

1 0 1

1 1 0

0 1 0

1 0 0

1 1 0

0 1 0

1 0 ci -1

1 1 0

0 1 1

1 0 1

1 1 01 1 0 1 1 0 1 1 0 1 1 0

P será un “1” cuando haya que propagar un posible acarreo que provenga de la etapaanterior (ci= 1). Resto de casos, incluyendo cuando se ha de generar un nuevo acarreo,P=0.

K sera un “1” en aquellos casos en los que no se puede producir acarreo en esta etapa,es decir, casos que no dependan de ci., q p i

El valor de la salida se construye a partir del valor de P y el acarreo anterior. La sumapara el bit i será un “1” cuando el número de unos tomando ai , bi , y ci sea impar.

16/04/2008 Facultad de Informática, UPM. 76

c-1= 0

ALU de Mead & Conway (IV)ALU de Mead & Conway (IV)y ( )y ( )

A-B (en C2)A B B P

0 0 1 1

A B B K

0 0 1 0

P K ci

0 0 1

P ci-1 si

0 0 0

0 1 0 0

1 0 1 0

1 1 0 1

0 1 0 1

1 0 1 0

1 1 0 0

0 1 0

1 0 ci-1

1 1 0

0 1 1

1 0 1

1 1 01 1 0 1 1 1 0 0 1 1 0 1 1 0

Será igual a la suma pero ahora en el lugar de bi consideramos que dichovalor es en realidad bi (negación de la entrada a efectos prácticos).i ( g p )

Solamente las señales de control Pi y Ki variarán en este caso respecto a lasuma.

Por último de deberá activar c-1= 1

16/04/2008 Facultad de Informática, UPM. 77

ALU de Mead & Conway (V)ALU de Mead & Conway (V)y ( )y ( )

A=BA B P

0 0 1

A B K

0 0 0

P K ci

0 0 1

P ci-1 si

0 0 0

0 1 0

1 0 0

1 1 1

0 1 1

1 0 1

1 1 0

0 1 0

1 0 ci-1

1 1 0

0 1 0

1 0 0

1 1 01 1 1 1 1 0 1 1 0 1 1 0

Resultado de la operación es un único bit.

Por ejemplo puede utilizarse como bit de resultado el último acarreo (cn).

Acarreo inicial será un “1” (c-1= 1).

Solamente si todos los bits son iguales dicho acarreo se propagará hasta elfinal.

16/04/2008 Facultad de Informática, UPM. 78

Para este caso la salida S no se utiliza.

ALU de Mead & Conway (VI)ALU de Mead & Conway (VI)y ( )y ( )

A>BA B P

0 0 1

A B K

0 0 0

P K ci

0 0 1

P ci-1 si

0 0 0

0 1 0

1 0 0

1 1 1

0 1 1

1 0 0

1 1 0

0 1 0

1 0 ci-1

1 1 0

0 1 0

1 0 0

1 1 01 1 1 1 1 0 1 1 0 1 1 0

Resultado de la operación es un único bit. Por ejemplo puede utilizarsecomo bit de resultado el último acarreo (cn).( n)

El acarreo inicial será un “0” (c-1= 0).

Si ai > bi entonces ci= 1Si ai > bi entonces ci 1.

Si ai < bi entonces ci= 0.

Si ai = bi entonces ci= ci-1

16/04/2008 Facultad de Informática, UPM. 79

Para este caso la salida S no se utiliza.

ALU de Mead & Conway (VII)ALU de Mead & Conway (VII)y ( )y ( )

A+1A B P

0 0 0

A B K

0 0 1

P K ci

0 0 1

P ci-1 si

0 0 0

0 1 0

1 0 1

1 1 1

0 1 1

1 0 0

1 1 0

0 1 0

1 0 ci-1

1 1 0

0 1 1

1 0 1

1 1 01 1 1 1 1 0 1 1 0 1 1 0

Resultado de la operación solamente dependerá de A.

Si ai = 0 entonces ci= 0.

Si ai = 1 entonces ci= ci-1

Si ai = ci entonces si= 0. Resto de casos: si= 1i i i i

Además, debemos activar el acarreo inicial: c-1= 1

16/04/2008 Facultad de Informática, UPM. 80

ALU de Mead & Conway (VIII)ALU de Mead & Conway (VIII)y ( )y ( )

A-1A B P

0 0 1

A B K

0 0 0

P K ci

0 0 1

P ci-1 si

0 0 1

0 1 1

1 0 0

1 1 0

0 1 0

1 0 1

1 1 1

0 1 0

1 0 ci-1

1 1 0

0 1 0

1 0 0

1 1 11 1 0 1 1 1 1 1 0 1 1 1

Pondremos a la salida P el valor de A con objeto de poder propagar elacarreo si ai= 0.

Hacemos que el acarreo inicial sea un 1 (c-1=1).

Esta resta prod ce n cambio en el cálc lo de los acarreosEsta resta produce un cambio en el cálculo de los acarreos:

Si ai = 1 entonces ci= 0

Si ai = 0 entonces ci= ci-1

16/04/2008 Facultad de Informática, UPM. 81

Por tanto, el resultado será igual a la resta de P y ci-1

ALU de Mead & Conway (IX)ALU de Mead & Conway (IX)y ( )y ( )

A+BA B P

0 0 1

A B K

0 0 1

P K ci

0 0 1

P ci-1 si

0 0 0

0 1 0

1 0 0

1 1 0

0 1 1

1 0 1

1 1 1

0 1 0

1 0 ci-1

1 1 0

0 1 0

1 0 1

1 1 11 1 0 1 1 1 1 1 0 1 1 1

Operación a nivel de bit sin acarreos.

P ahora se aprovecha para generar la solución definitiva.

K sera siempre un “1” No hay que generar acarreosK sera siempre un 1 . No hay que generar acarreos.

El valor de la salida depende solamente de P y no del acarreo anterior ci

16/04/2008 Facultad de Informática, UPM. 82

ALU de Mead & Conway (X)ALU de Mead & Conway (X)y ( )y ( )

A+B (lógica)A B P

0 0 0

A B K

0 0 1

P K ci

0 0 1

P ci-1 si

0 0 0

0 1 1

1 0 1

1 1 1

0 1 1

1 0 1

1 1 1

0 1 0

1 0 ci-1

1 1 0

0 1 0

1 0 1

1 1 11 1 1 1 1 1 1 1 0 1 1 1

Operación a nivel de bit sin acarreos.

P ahora se aprovecha para generar la solución definitiva.

K será siempre un “1” No hay que generar acarreosK será siempre un 1 . No hay que generar acarreos.

El valor de la salida depende solamente de P y no del acarreo anterior ci

16/04/2008 Facultad de Informática, UPM. 83