Las características que definen un sistema de representación alfanumérico son:

Documentos relacionados
SISTEMAS DIGITALES. Margarita Pérez Castellanos

Tema 2: Sistemas de numeración

TEMA II SISTEMAS DE NUMERACIÓN USUALES EN INFORMÁTICA.

5.2. Sistemas de codificación en binario

Circuitos electrónicos digitales. Unidades Aritméticas Lógicas. Departamento de Tecnología Electrónica Universidad de Sevilla

Tema 2: Sistemas de numeración

REPRESENTACION DE LA INFORMACION

Titulación: Grado en Ingeniería Informática Asignatura: Fundamentos de Computadores

Representación digital de la información

Computación 1. Representación Interna de Números

TEMA V SISTEMAS DE NUMERACIÓN

Organización de Computadoras. Clase 2

Tipos de Datos y Representaciones. Circuitos Digitales, 2º de Ingeniero de Telecomunicación. EITE ULPGC.

Representación de datos y aritmética básica en sistemas digitales

Representación de datos y aritmética básica en sistemas digitales

UT01 03 Sistemas de codificación

Tema 3. Operaciones aritméticas y lógicas

Implantación de Sistemas Operativos 1º ASIR

Fundamentos de Computadores. Tema 5. Circuitos Aritméticos

1.1 Sistemas de numeración. Ejemplos de sistemas de numeración posicionales. Base numérica. Circuitos Digitales

Tema 2: Sistemas y códigos numéricos

Sumadores. Tipos de sumadores: Half-adder. Full-Adder. Carry-Look-Ahead. Carry-select.

Tema 3: Operaciones aritméticas y lógicas

Conceptos previos. Revisión de Sistemas Lógicos Formatos Numéricos. Dpto. Ingeniería Electrónica y Comunicaciones

Representación de la Información.... en los Computadores

Tema 2. Sistemas de representación de la información

Subsistemas aritméticos y lógicos. Tema 8

Numeración Maya. Numeración indo-arábiga. Sistemas de Numeración Posicional. Conversión de una base cualquiera a base 10 = 4! !

SISTEMAS DE NUMERACION

HOJA DE PROBLEMAS 6: MÓDULOS COMBINACIONALES BÁSICOS

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I CAPÍTULO III ARITMÉTICA Y CODIFICACIÓN

Tema 3. Operaciones aritméticas y lógicas

Sistemas de Numeración. I semestre 2011

Sistemas numéricos - otras representaciones - Taller de programación

Estructura de Computadores Tema 2. Representación de la información

Agenda. 0 Operaciones aritméticas 0 ASCII 0 UTF-8 0 Código Gray. 0 Números de punto flotante

Sistemas Numéricos y Códigos Binarios

Sistemas Digitales. Pablo Abad Pablo Prieto Torralbo. Tema 2. Números Naturales y Enteros. Departamento de Ingeniería Informá2ca y Electrónica

Realizar la siguiente suma y expresar el resultado en hexadecimal: Teniendo los 3 valores expresados en la misma base, podemos realizar la suma:

Computación I Representación Interna Curso 2011

4. Aritmética y operadores

HOJA DE PROBLEMAS 2. SISTEMA BINARIO DE REPRESENTACIÓN NUMÉRICA. 1. Convertir los siguientes números binarios a sus equivalentes decimales: a.

Arquitectura de Computadoras

Tema 2. Sistemas de representación de la información

Tema 2 Representación de la información

Organización de Computadoras. Clase 1

4. SUMADORES EN BINARIO PURO (I)

Estructura de Computadores

MatemáticaDiscreta&Lógica 1

Organización de Computadoras Apunte 1: Sistemas de Numeración: Sistemas Enteros y Punto Fijo

CURSO 2016/2017 INFORMÁTICA 1ºBCH. La codificación es. Por qué se. Fíjate en. la imagen de decirle que si. cero. decimal: 1* *2 3.

Aritmética de Enteros

TEMA III: OPERACIONES CON LOS DATOS

Representación binaria de números enteros en complemento a 2

Representación de la Información en los Sistemas Digitales

Ejercicios resueltos de Organización de Computadoras

Ingeniería en Computación

Sistemas de Representación. Organización del Computador 1 Verano 2016

LÓGICA SECUENCIAL Y COMBINATORIA

BLOQUE V. CONTROL Y PROGRAMACIÓN DE SISTEMAS AUTOMÁTICOS

BLOQUE V. CONTROL Y PROGRAMACIÓN DE SISTEMAS AUTOMÁTICOS

Lógica Secuencial y Combinatoria. Dr. Arturo Redondo Galván 1

Definición(2) La base (r) de un sistema de numeración especifica el número de dígitos o cardinal* de dicho conjunto ordenado. Las bases más utilizadas

Contenido. Introducción a los Computadores Conceptos básicos. Sistema de numeración CNM-130

Colegio Diocesano San José de Carolinas

Realizar las siguientes operaciones en c-a-2 utilizando el número mínimo de bits necesario para que no haya desbordamiento: 3 + 7, 5 7, 13 8, 10 6.


TEMA 1: INTRODUCCIÓN A LOS SISTEMAS DIGITALES.

INFORMÁTICA APLICADA A LA ECONOMÍA Tema 3: Representación de la Información. Verónica A. Bollati

ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES II Curso PROBLEMAS TEMA 4: Unidad Aritmético Lógica

TEMA II: SISTEMAS DE NUMERACIÓN

Representación de números enteros: el convenio exceso Z

Electrónica Digital. Fco. Javier Expósito, Manuel Arbelo, Pedro A. Hernández Dpto. de Física Fundamental y Experimental, Electrónica y Sistemas

k k N b Sistemas Númericos Sistemas con Notación Posicional (1) Sistemas con Notación Posicional (2) Sistemas Decimal

APUNTES DE CATEDRA: SISTEMAS DE NUMERACION - REPRESENTACION INTERNA DE NUMEROS Y CARACTERES

Fundamentos de Informática E.U.P. Universidad de Sevilla

{, }, #, $, %, &,,, +,,/,(, ), },!,?, [, ]

ANALISIS Y DISEÑO DE CIRCUITOS ARITMÉTICOS

Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Los objetivos de este tema son:

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Sistemas numéricos -aritmética- Taller de programación

FUNDAMENTOS DE SISTEMAS DIGITALES. Tema 2: Lógica combinacional (I): Funciones aritmético-lógicas

Circuitos Lógicos Combinatorios. Ing. Jorge Manrique 2004 Sistemas Digitales 1

TEMA II REPASO. SISTEMAS DE NUMERACIÓN USUALES EN INFORMÁTICA.

Sistemas de numeración, operaciones y códigos.

Un sistema de numeración está compuesto por el conjunto de símbolos y reglas que se utilizan para representar cantidades.

Representación Información

Suma Resta Multiplica. División Alg. Boole Tbla Verdad Circuitos Karnaugh

Representación de la información

Tema IV. Manejo Interno de Datos

Operación de circuitos lógicos combinatorios.

Universidad Tecnológica Nacional Facultad Regional Tucumán Ingeniería Electrónica Asignatura: Informática I 1R2 Trabajo Práctico N 1 - Año 2015

Aritmética de Enteros y

GENERALIDADES SOBRE SISTEMAS NUMÉRICOS. Transversal Programación Básica

HOJA DE PROBLEMAS 6: MÓDULOS COMBINACIONALES BÁSICOS

1.1 Circuitos Digitales

Informática I. Bases de Numeración. Alejandro Furfaro

Instituto Tecnológico de Morelia

TEMA 2 LA INFORMACIÓN Y SU REPRESENTACIÓN

CAPÍTULO II SISTEMAS NUMÉRICOS. Este método de representar los números se llama sistema de numeración decimal, donde 10 es la base del sistema.

Transcripción:

FUNDAMENTOS DEL MATERIAL INFORMÁTICO Tema 5 Representación de la Información. Sistemas Aritméticos Agustín Álvarez Marquina Representaciones alfanuméricas. Código ASCII extendido (I) La representación de las informaciones de tipo texto se realiza codificando, mediante un octeto, 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. De este tamaño depended el número de caracteres distintos representables. Codificación de cada carácter. 16/04/2008 Facultad de Informática, UPM. 2

Representaciones alfanuméricas. Código ASCII extendido (II) El código ASCII (American Standard Code for Information Interchange) representa con 7 bits 128 caracteres diferentes: Códigos del 0 al 31: caracteres de control de 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ódigos del 97 al 122: letras minúsculas (a- z). Resto de códigos hasta el 127: signos diversos. Por ejemplo:! # $ % & ( ) * +, -. / : ; 16/04/2008 Facultad de Informática, UPM. 3 Representaciones alfanuméricas. Código ASCII extendido (III) El código ASCII extendido representa en 8 bits los mismos 128 primeros caracteres definidos en el código ASCII y añade otros 128 no estándar: La letra Ñ. Letras acentuadas. Letras griegas. Caracteres semigráficos. Ejemplos: ¼ 16/04/2008 Facultad de Informática, UPM. 4

Representaciones alfanuméricas. Código ASCII extendido (IV) Características del código ASCII: Para conocer el valor de un carácter numérico basta con restar el valor 48 (carácter 0 ). Lasletrasmayúsculas y minúsculas solamente difieren en un único bit. Ejemplo: A (65), a (97). 97-65= 32= 2 5. Es muy sencillo determinar si un determinado carácter es de control o no. 16/04/2008 Facultad de Informática, UPM. 5 Sistemas de representación numérica. Sistemas posicionales (I) En un sistema posicional, un número viene definido 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. El sistema de numeración posicional clásico es el decimal. En éste, cada dígito indica la potencia de 10 que le afecta. Ejemplo: 831= 8x10 2 + 3x10 1 + 1x1010 0 16/04/2008 Facultad de Informática, UPM. 6

Sistemas de representación numérica. Sistemas posicionales (II) Formalmente: Un número X representado por una cadena de dígitos: X (... x 3 x 2 x 1 x 0 x -1 x -2 x -3...) a través de un vector de pesos seleccionados del conjunto: P (... p 3 p 2 p 1 p 0 p -1 p -2 p -3...) permite calcular el valor V(X) del número X, mediante la regla: V(X)=... p 3 x 3 +p 2 x 2 +p 1 x 1 +p 0 x 0 +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 numérica. Sistemas posicionales (III) Lo más frecuente es utilizar una base b (radical b) para generar el vector de pesos mediante sus potencias, de forma que: P (... b 3 b 2 b 1 b 0 b -1 b -2 b -3...) En este caso ya no es necesario indicar el vector de pesos, tan solo la base empleada. Lo habitual es emplear para la base números naturales. Radicales usuales son: b= 10 (sistema decimal). b= 2 (sistema binario). i b= 8 (sistema octal). b= 16 (sistema hexadecimal). 16/04/2008 Facultad de Informática, UPM. 8

Sistemas de representación numérica. Sistemas posicionales (IV) También es habitual el imponer la restricción de que todos los dígitos x i sean positivos y menores que la base: b= 10 (sistema decimal): x i = { 0, 1, 2, 3,4, 5,6, 7, 8, 9} b= 2 (sistema binario): x i = { 0, 1 } b= 8 (sistema octal): x i = { 0, 1, 2, 3, 4, 5, 6, 7 }. b= 16 (sistema hexadecimal): x i = { 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 Sistemas de representación numérica. Sistemas posicionales (V) Una propiedad de los sistemas de representación con base es la siguiente: Si se tienen dos bases δ y λ, tales que δ =λ k, se cumple que: (... a 3 a 2 a 1 a 0 a -1 a -2...)λ= (... g 3 g 2 g 1 g 0 g -1 g -2 g -3...)δ donde: g j =(a kj+k-1... a kj+1 a kj )λ Esto es, los dígitos de la base δ = λ k se obtienen agrupando los dígitos de la base λ en grupos de longitud k. 16/04/2008 Facultad de Informática, UPM. 10

Sistemas de representación numérica. Sistemas posicionales (VI) Los 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álisis de la parte entera. Empezando por la derecha de la coma decimal para la parte decimal. Paso binario a hexadecimal: agrupando dígitos de 4 en 4. Mismo procedimiento que para paso de binario a octal. Ejemplo: 100111100110,0011 2 = 4746,14 8 =9E6,3 16 16/04/2008 Facultad de Informática, UPM. 11 Conversión entre diferentes sistemas de reprsentación numérica (I) Conversión decimal a binario. El proceso de obtención se realiza efectuando divisiones sucesivas, entre 2, del número expresado en base 10. Condición de parada del algoritmo: Cuando el resultado en una división produzca un cociente 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 multipliquen a las potencias de la base. 16/04/2008 Facultad de Informática, UPM. 12

Conversión entre diferentes sistemas de reprsentación numérica (II) Ejemplo de conversión decimal a binario. 124 10 = 1111100 2 124 2 0 62 2 0 31 2 1 15 2 1 7 2 1 3 2 1 1 16/04/2008 Facultad de Informática, UPM. 13 Conversión entre diferentes sistemas de reprsentación numérica (III) Conversión decimal a octal. Mismo procedimiento, aunque ahora se realiza dividiendo sucesivamente entre 8. Ejemplo de conversión decimal a octal. 124 10 = 174 8 124 8 4 15 8 7 1 16/04/2008 Facultad de Informática, UPM. 14

Conversión entre diferentes sistemas de representación numérica (IV) Conversión decimal a hexadecimal. Mismo procedimiento, aunque ahora se realiza dividiendo sucesivamente entre 16. Para restos comprendidos entre 10 y 15 habrá que sustituirlos por el dígito hexadecimal asociado: 10 A 11 B 12 C 13 D 14 E 15 F 16/04/2008 Facultad de Informática, UPM. 15 Conversión entre diferentes sistemas de representación numérica (V) Ejemplo de conversión decimal a hexadecimal. 124 10 =7C 16 124 16 12 7 16/04/2008 Facultad de Informática, UPM. 16

Conversión entre diferentes sistemas de representación numérica (VI) Conversió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 valor binario de dicho dígito. Ejemplo de conversión octal a binario. 174 8 = 001111100 2 4 8 = 100 2 7 8 = 111 2 1 8 = 001 2 16/04/2008 Facultad de Informática, UPM. 17 Conversión entre diferentes sistemas de representación numérica (VII) Conversión binario a octal. Empezando por el bit menos significativo de la parte entera se agrupan los dígitos en conjuntos de 3 bits. Cada grupo de 3 bits se asocia con el dígito octal correspondiente. Ejemplo de conversión binario a octal. 011101001 2 = 351 8 001 2 =1 8 101 2=5 8 011 2 =3 8 16/04/2008 Facultad de Informática, UPM. 18

Conversión entre diferentes sistemas de representación numérica (VIII) Conversión hexadecimal a binario. Cada dígito hexadecimal es convertido a un grupo de 4 bits. Este grupo de 4 bits se corresponde con el valor binario de dicho dígito. Ejemplo de conversión hexadecimal a binario. 8F 16 = 10001111 2 F 16 = 1111 2 8 16 = 1000 2 16/04/2008 Facultad de Informática, UPM. 19 Conversión entre diferentes sistemas de representación numérica (IX) Conversión binario a hexadecimal. Empezando por el bit menos significativo de la parte entera, se agrupan los dígitos en conjuntos de 4 bits. Cada grupo de 4 bits se asocia con el dígito hexadecimal correspondiente. Ejemplo de conversión binario a hexadecimal. 101011010001 2 = AD1 16 0001 2 =1 16 1101 2=D 16 1010 2 =A 16 16/04/2008 Facultad de Informática, UPM. 20

Sistemas decimales codificados en binario i (BCD) (I) En los sistemas decimales codificados en binario o BCD (Binary Coded Decimal), se convierten, uno a uno, los dígitos decimales a binario. Las representaciones alfanuméricas, como la definida a través del código ASCII son representaciones BCD que emplean 7 bits por dígito (8 para ASCII extendido). Lo más habitual es codificar cada dígito decimal empleando una representación en binario puro. Para poder representar un dígito decimal se requieren al menos 4 bits. Se desperdician 6 combinaciones de entre 16 (37 5%). 16/04/2008 Facultad de Informática, UPM. 21 Sistemas decimales codificados en binario i (BCD) (II) Otra tipo de representación usual, pues simplifica la realización de unidades aritméticas, es la BCD exceso a tres. En este caso a cada dígito decimal se le asigna su valor en binario puro incrementado en 3. Ejemplo: 175,62 10 1 7 5, 6 2 BCD 0001 0111 0101, 0110 0010 BCD exceso 3 0100 1010 1000, 1001 0101 16/04/2008 Facultad de Informática, UPM. 22

Rango y resolución de los sistemas de representación Rango de un sistema de representación es el intervalo comprendido entre el menor y mayor número representable. Resolución de un sistema de representación es la diferencia en magnitud entre dos números representables consecutivos. 16/04/2008 Facultad de Informática, UPM. 23 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 de 10, es decir: El bit suma es 0 y... Existe acarreo ( me llevo 1 ) Aplicando repetidamente esta tabla se pueden sumar dos números cualesquiera A y B. 16/04/2008 Facultad de Informática, UPM. 24

Suma en binario (II) Para 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 los sumandos. 16/04/2008 Facultad de Informática, UPM. 25 Resta en binario (I) () La tabla de la resta a-b en binario es la siguiente: a b 0 1 0 0 1 1 11 0 Por 1 se indica acarreo negativo. 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) Igual que ocurre en base decimal, para restar dos cantidades A-B, primero se comprueba que A B, si esta condición no se cumple, hay que realizar la operación inversa (B-A). 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, larestaa-b ocupará un número de bits igual o menor que A. 16/04/2008 Facultad de Informática, UPM. 27 Representación en coma fija sin signo o binario i puro (I) Un número X representado por una cadena de dígitos de longitud n: (x n-1 x n-2... x 2 x 1 x 0 ) tiene por valor: V(X)= 2 n-1 x n-1 +... + 2 2 x 2 + 2 1 x 1 + 2 0 x 0 Siendo x i ={0,1} Es por tanto, un sistema posicional con base igual a 2 y sin parte fraccionaria. 16/04/2008 Facultad de Informática, UPM. 28

Representación en coma fija sin signo o binario i puro (II) Ejemplos para n= 3: 001= 1 10 101= 5 10 111= 7 10 Ejemplos para n= 12: 000000000101= 5 10 100000000000= 2 11 10= 2048 10 111111111111= (2 11 +2 10 +... + 2 1 +2 0 ) 10 =2 12-1 10 = 4095 10 16/04/2008 Facultad de Informática, UPM. 29 Representación en coma fija sin signo o binario i puro (III) Características: Rango: [0, 2 n -1], siendo n el número de dígitos binarios o bits (binary digits). Resolución: 1. En la suma de 2 cantidades, se presentará un problema de desbordamiento si se produce acarreo en el bit último, es decir, si c n-1 =1. Se podrá efectuar la resta de A-B sólo si se cumple que A B. 16/04/2008 Facultad de Informática, UPM. 30

Representación en coma fija y signo magnitud (I) Un número X representado por una cadena de dígitos de longitud n: (x n-1 x n-2... x 2 x 1 x 0 ) tiene por valor: Si x n-1 =0 V(X)= +(2 n-2 x n-2 +... + 2 2 x 2 +2 1 x 1 +2 0 x 0 ) Si x n-1 =1 V(X)= -(2 n-2 x n-2 +... + 2 2 x 2 +2 1 x 1 +2 0 x 0 ) Siendo x i = { 0, 1 } 16/04/2008 Facultad de Informática, UPM. 31 Representación en coma fija y signo magnitud (II) I) Ejemplos para n= 3: 011= 3 10 111= -3 10 000= 0 10 100= 0 10 Ejemplos para n= 8: 00000011= 3 10 10000011= -3 10 00000000= 0 10 10000000= 0 10 16/04/2008 Facultad de Informática, UPM. 32

Características: Representación en coma fija y signo magnitud (III) I) El bit de signo se trata de forma diferenciada respecto a los bits de la magnitud. Rango: [-2 n-1 +1, 2 n-1-1]. Resolución: 1. El valor cero tiene dos representaciones: 000...0 y 100...0, lo que acarreo dificultades en su tratamiento. Las operaciones de suma y resta se deciden por el signo de los operandos, lo que conlleva ciertas dificultades. Para las operaciones de multiplicación y división no existe este problema. 16/04/2008 Facultad de Informática, UPM. 33 Representación en complemento restringido a la base o complemento a uno (C1) (I) Un número X representado por una cadena de dígitos de longitud n: (x n-1 x n-2... x 2 x 1 x 0 ) tiene por valor: Si x n-1 =0 V(X)= 2 n-2 x n-2 +... + 2 2 x 2 +2 1 x 1 +2 0 x 0 Si x n-1 =1 V(X)= 2 n-2 x n-2 +... + 2 2 x 2 +2 1 x 1 +2 0 x 0 -(2 n-1 1) Siendo x i = { 0, 1 } 16/04/2008 Facultad de Informática, UPM. 34

Representación en complemento restringido a la base o complemento a uno (C1) (II) Sea un número A, representado con n bits. Su valor complementado (complemento a uno del número) es igual a: C1(A)= 2 n -1-A Una forma muy sencilla de calcular el valor complementado de un número, es negar uno a uno todos los bits de dicho número. El complemento a uno de unnúmero complementado es igual a dicho número: C1(C1(A))= 2 n -1-C1(A)= 2 n -1-(2 n -1-A)= A 16/04/2008 Facultad de Informática, UPM. 35 Representación en complemento restringido a la base o complemento a uno (C1) (III) II) Si un número A está codificado siguiendo el sistema de representació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 (x n-1 x n-2... x 2 x 1 x 0 ), que representa al número será 0, es decir x n-1 =0 Por tanto, t esta representación coincidirá idi con la representación en binario puro. Si un número es negativo: El bit de mayor peso de la cadena de dígitos, que representa al número será 1, es decir, x n-1 =1 El cambio de signo de ese número A puede realizarse simplemente calculando el complemento a uno de dicho número. 16/04/2008 Facultad de Informática, UPM. 36

Representación en complemento restringido a la base o complemento a uno (C1) (IV) Ejemplo: sea A= 11111100 (n=8). Aplicando la definición de la operación de complemento a uno, su valor complementado será: C1(A)=2 8-1- (1 2 8 +1 2 7 +1 2 6 +1 2 5 +1 2 4 +1 2 3 +1 2 2 + 0 2 1 +0 2 0 )= 256-1-252= 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ás sencilla negando todos los bits del número. 16/04/2008 Facultad de Informática, UPM. 37 Representación en complemento restringido a la base o complemento a uno (C1) (V) Ejemplo: n= 8, A= -3 Representación en C1 de A: A= 11111100 V(A)= 1 2 6 +1 2 5 +1 2 4 +1 2 3 +1 2 2 +0 2 1 +0 2 0 - (2 8-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): -(-A)= -3= C1(C1(A))= C1(00000011)= 11111100= A 16/04/2008 Facultad de Informática, UPM. 38

Representación en complemento restringido a la base o complemento a uno (C1) (VI) Suma de 2 números negativos. (-A)+(-B)= (2 n -1-A)+ (2 n -1-B)= 2 n -1-(A+B)+ (2 n -1) Debemos sumarle el acarreo de salida. Ejemplo: n= 8, A= -3, B= -9 A= 2 8-4= 11111100; B= 2 8-10= 11110110 A+B= -12= 2 8-13= 11110011 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 0 + 1 1 1 1 1 0 0 1 0 1 + 1 1 1 1 0 0 1 1 16/04/2008 Facultad de Informática, UPM. 39 Representación en complemento restringido a la base o complemento a uno (C1) (VII) Resta de 2 números A y B, siendo A< B. A-B= A+(-B)= A+(2 n -1-B)= 2 n -1- (B-A) Resultado a la salida es correcto. Ejemplo: n= 8, A= 3, B= 9 A= 00000011; -B= 2 8-10= 11110110 A-B= -6= 2 8-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 1 Resta de 2 números A y B, siendo A B. A-B= A+(-B)= A+(2 n -1-B)= (A-B)+ 2 n -1 Debemos sumarle el acarreo de salida. 0 0 0 0 0 1 1 1 Ejemplo: n= 8, A= 7, B= 3 1 1 1 1 1 1 0 0 + A= 00000111; -B= 2 8-4= 11111100 1 0 0 0 0 0 0 1 1 A-B= 4= 00000100 1 + 0 0 0 0 0 1 0 0 16/04/2008 Facultad de Informática, UPM. 40

Representación en complemento restringido a la base o complemento a uno (C1) (VIII) Características: El complemento a 1 se reduce a efectuar el complemento lógico (función NOT) de todos los bits. El cero tiene 2 representaciones: 00...0 y 11...1. Rango de representación simétrico: i [-(2 n-1-1), +(2 n-1-1)]. En la suma hay que incrementar el resultado en una unidad el resultado, si el acarreo final es c n = 1. Las operaciones de multiplicación y división se dificultan puesto que los operandos pueden estar complementados. Se pueden producir desbordamientos hacia el bit de signo que deben ser detectados. 16/04/2008 Facultad de Informática, UPM. 41 Representación en complemento a la base o complemento a dos (C2) (I) Un número X representado por una cadena de dígitos de longitud n: (x n-1 x n-2... x 2 x 1 x 0 ) tiene por valor: Si x n-1 =0 V(X)= 2 n-2 x n-2 +... + 2 2 x 2 +2 1 x 1 +2 0 x 0 Si x n-1 =1 V(X)= 2 n-2 x n-2 +... + 2 2 x 2 + 2 1 x 1 + 2 0 x 0-2 n-1 Siendo x i ={0,1} Dado un valor A, el valor complementado es igual a: 2 n -A 16/04/2008 Facultad de Informática, UPM. 42

Representación en complemento a la base o complemento a dos (C2) (II) 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 Ejemplo: n=8, A=7 A= 00000111 -A= 2 8-7= 11111001 b) Complemento lógico y suma de 1. Ejemplo: n=8, A=7 A= 00000111 NOT(A)= 11111000 -A= NOT(A)+1= 11111001 0 0 0 0 0 1 1 1-0 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 1 + 1 1 1 1 1 0 0 1 16/04/2008 Facultad de Informática, UPM. 43 Representación en complemento a la base o complemento a dos (C2) (III) Cambio de signo. Consiste en calcular su valor complementado. -A= C2(A) -(-A)= C2(C2(A))= C2(2 n -A)=2 n -(2 n -A)=A Suma de 2 números negativos. (-A)+(-B)= (2 n -A)+ (2 n -B)= 2 n -(A+B)+ 2 n El acarreo de salida se ignora. Ejemplo: n= 8, A= -3, B= -9 A= 2 8-3= 11111101; B= 2 8-9= 11110111 A+B= -12= 2 8-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 complemento a dos (C2) (IV) Resta de 2 números A y B, siendo A< B. A-B= A+(-B)= A+(2 n -B)= 2 n -(B-A) Resultado a la salida es correcto. Ejemplo: n= 8, A= 3, B= 9 A= 00000011; -B= 2 8-9= 11110111 A-B= -6= 2 8-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 0 Resta de 2 números A y B, siendo A B. A-B= A+(-B)= A+(2 n -B)= 2 n +(A-B) El acarreo de salida se ignora. Ejemplo: n= 8, A= 7, B= 3 0 0 0 0 0 1 1 1 A= 00000111; -B= 2 8-3= 11111101 1 1 1 1 1 1 0 1 + A-B= 4= 00000100 1 0 0 0 0 0 1 0 0 16/04/2008 Facultad de Informática, UPM. 45 Representación en complemento a la base o complemento a dos (C2) (V) Características: Rango de representación asimétrico: [-2 n-1,2 n-1-1]. El valor 0 tiene una única representación: 000...0. Las operaciones de suma y resta no tienen que tener en cuenta el signo de los operandos: Las operaciones de multiplicación y división se complican en el caso de operandos complementados. Se pueden producir desbordamientos hacia el bit de signo que deben ser detectados. 16/04/2008 Facultad de Informática, UPM. 46

Extensión de signo (I) Un número X representado con n bits: X ( x n-1 x n-2... x 1 x 0 ) tendrá una representación en m bits, siendo m>n: X (x m-1 x m-2... x n-1 x n-2... x 1 x 0 ) que dependerá del sistema de representación empleado. 16/04/2008 Facultad de Informática, UPM. 47 Extensión de signo (II) Representación en binario puro. Los nuevos bits x m-1 x m-2... x n serán todos igual a 0. Ejemplo: Para n=3 y m=4 0101 2 = 00101 2 = 5 10 16/04/2008 Facultad de Informática, UPM. 48

Extensión de signo (III) Representación en signo magnitud. Se conservará el bit de signo x n-1, que pasará a ser el nuevo bit de signo (x m-1 ). El resto de los bits se rellenará con 0. x n-1 x m-1 0 x m-2 0 x m-3...... 0 x n-1 Ejemplo para n=4 y m=5: 1101 2 = 10101 2 =-5 10 16/04/2008 Facultad de Informática, UPM. 49 Extensión de signo (IV) Representación en complemento a uno (C1). Los nuevos bits (x m-1 x m-2... x n ) se rellenan con el valor del bit x n-1 x n-1 x m-1 x n-1 x m-2 x n-1 x m-3...... x n-1 x n Ejemplo para n=4 y m=5: 1101 2 = 11101 2 = -2 10 16/04/2008 Facultad de Informática, UPM. 50

Extensión de signo (V) Representación en complemento a dos (C2). Los nuevos bits (x m-1 x m-2... x n ) se rellenan con el valor del bit x n-1 x n-1 x m-1 x n-1 x m-2 x n-1 x m-3...... x n-1 x n Ejemplo para n=4 y m=5: 1101 2 = 11101 2 = -3 10 16/04/2008 Facultad de Informática, UPM. 51 Estructura de un semisumador (S.S.) (I) También conocido como Half Adder (H.A.), es un circuito capaz de sumar dos bits aislados procedentes de dos operandos. Operandos aislados significa, que no se atienden a los acarreos producidos en etapas anteriores. Tabla de verdad para la suma de dos operandos a y b de unsolo bit: a, b: operandos de entrada. s: resultado de la suma. a b s c 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 c: acarreo de la suma. 1 1 0 1 16/04/2008 Facultad de Informática, UPM. 52

Estructura de un semisumador (S.S.) (II) La función suma es por tanto: s= ab +ab= a b La función acarreo es: (XOR) c= ab (AND) a b s c 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Circuito semisumador: a i a s s i a s b i b Semisumador c c i b c 16/04/2008 Facultad de Informática, UPM. 53 Estructura de un sumador completo (S.C.) (I) También conocido como Full Adder (F.A.), es un circuito it capaz de sumardos bits procedentes de dos operandos. En este caso se tiene en cuenta el acarreo proveniente de etapas anteriores. a i b i c i-1 s i c i Tabla de verdad: a i, b i :bitsi de operandos de entrada. s i :biti del resultado de la suma. c i : acarreo i de la suma. 0 0 0 0 0 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. 54

Estructura de un sumador completo (S.C.) (II) La función suma es por tanto: s i =a i b i c i-1 a i b i c i-1 s i c i 0 0 0 0 0 La función acarreo es: 0 0 1 1 0 c i =a i b i + a i c i-1 + b i c i-1 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) Circuito del sumador completo: s i =a i b i c i-1 c i = a i b i + a i c i-1 + b i c i-1 a i bi s i a i a i s i s i c i-1 b i b i Sumador Completo c i c i-1 c i-1 c i c i 16/04/2008 Facultad de Informática, UPM. 56

Estructura de un sumador completo (S.C.) (IV) Circuito del sumador completo a partir de semisumadores: a i b i c i-1 a s Semisumador b c a s Semisumador b c s i c i 16/04/2008 Facultad de Informática, UPM. 57 Sumador completo paralelo de n bits a 0 b n-1 b 1 b 0 a n-1 a 1...... c n-1 Sumador c -1 de n bits Principal problema: El retardo total del sumador es la suma de los retardos de los sumadores completos de un bit.... s n-1 s 1 s 0 a n-1 b n-1 a 1 b 1 a 0 b 0 c out a b a b a b Sumador Completo c in c out Sumador Completo c n-1 c n-2 c 1 c 0 c in c out Sumador Completo... c -1 c in s n-1 s 1 s 0 16/04/2008 Facultad de Informática, UPM. 58

Sumador/restador en complemento a dos (I) a n-1 a 1 a 0 b n-1 b 1 b 0 S/R...... Sumador de n bits c n-1 c -1 c n-1... s n-1 s 1 s 0 16/04/2008 Facultad de Informática, UPM. 59 Sumador/restador en complemento a dos. Desbordamiento (I) Condiciones de desbordamiento: Se puede producir desbordamiento si y solo si se suman 2 cantidades d positivas o 2 negativas. Si se suman dos cantidades A y B de n bits y con distinto signo, el resultado envalor absoluto (binario puro) será de: A - B Como A < 2 n y B < 2 n entonces el resultado A - B < 2 n 16/04/2008 Facultad de Informática, UPM. 60

Sumador/restador en complemento a dos. Desbordamiento (II) Suma de 2 cantidades positivas a n-1 = b n-1 = 0 Existirá desbordamiento cuando c n-2 =1(acarreo en el anterior bit). Motivo: el resultado será un número negativo puesto que el resultado de la sumatendrá el bit s n-1 = 1. Suma de 2 cantidades negativas a n-1 = b n-1 = 1 Existirá desbordamiento cuando c n-2 = 0 (no existe acarreo en el anterior bit). Motivo: el resultado será un número positivo puesto que el resultado de la suma tendrá el bit s n-1 = 0. 16/04/2008 Facultad de Informática, UPM. 61 Sumador/restador en complemento a dos. Desbordamiento (III) Condición de desbordamiento: DE= a n-1 b n-1 c n-2 +a n-1 b n-1 c n-2 Teniendo en cuenta que: c n-1 =a n-1 b n-1 + a n-1 c n-2 + b n-1 c n-2 La expresión inicial del desbordamiento queda: DE= c n-1 c n-2 16/04/2008 Facultad de Informática, UPM. 62

Sumador/restador en complemento a uno a n-1 a 1 a 0 b n-1 b 1 b 0 S/R...... Sumador de n bits c n-1 c -1 c n-1... s n-1 s 1 s 0 16/04/2008 Facultad de Informática, UPM. 63 Sumador/restador en complemento a uno. Desbordamiento Análogamente al análisis realizado en complemento a dos, la condición de desbordamiento para la suma/resta en representaciones en complemento a uno es la misma: DE= c n-1 c n-2 16/04/2008 Facultad de Informática, UPM. 64

Ejemplos de implementación de Unidades Ait Aritmético-Lógicas i elementales l Una Unidad Aritmético-Lógica (UAL), ALU en sus siglas en inglés (Arithmetic-Logic Unit), es el circuito encargado de realizar en un computador: Operaciones lógicas. AND OR NOT Operaciones aritméticas. Sumas Restas Multiplicaciones Divisiones Operaciones de desplazamiento. 16/04/2008 Facultad de Informática, UPM. 65 ALU realizada por minimización lógica (I) Construcción de una ALU de nbits (2 en la figura) apartir de una ALU de 1 bit. Variables de entrada: a i, b i,c i,s 1,s 0 c i+2 Codificación de operación: s 1,s 0 a i+1 Funciones a generar: r i,c i+1 b i+1 ALU 1 bit r i+1 c 1 c 0 Codificación de las operaciones: c i+1 s 1 s 0 Operación 0 0 A+B (suma aritmética) 0 1 A-B (resta en C2) 1 0 A B (NAND) 1 1 A+B (NOR) a i ALU 1 bit b i c 0 c i r i c 1 16/04/2008 Facultad de Informática, UPM. 66

ALU realizada por minimización lógica (II) Suma Resta (a i +b i +c i ) s 1 s 0 c i a i b i r i c i+1 0 0 0 0 0 0 0 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 NAND s 1 s 0 c i a i b i r i c i+1 1 0 x 0 0 1 x x 0 1 1 x x 1 0 1 x x 1 1 0 x s 1 s 0 c i a i b i r i c i+1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 NOR s 1 s 0 c i a i b i r i c i+1 1 1 x 0 0 1 x x 0 1 0 x x 1 0 0 x x 1 1 0 x 16/04/2008 Facultad de Informática, UPM. 67 ALU realizada por minimización lógica (III) a i b i s 0 c i 00 01 11 10 00 0 1 0 1 01 1 0 1 0 11 0 1 0 1 10 1 0 1 0 a i b i s 0 c i 00 01 11 10 00 1 1 0 1 01 1 1 0 1 11 1 0 0 0 10 1 0 0 0 S 1 = 0 S 1 = 1 r i =s 1 (a i b i +s 0 a i +s 0 b i )+ s 1 [s 0 c 0 (a i b i +a i b i )+ s 0 c i (a i b i +a i b i )+ s oc i i( (a i b i +a i b i )+s oc i i( (a i b i +a i b i )] 16/04/2008 Facultad de Informática, UPM. 68

ALU realizada por minimización lógica (IV) a i b i s 0 c i 00 01 11 10 00 0 0 1 0 01 0 1 1 1 11 1 0 1 1 10 0 0 0 1 a i b i s 0 c i 00 01 11 10 00 x x x x 01 x x x x 11 x x x x 10 x x x x S 1 = 0 S 1 = 1 c i+1 =c i a i +s 0 a i b i +s 0 a i b i +s 0 c i b i +s 0 c i b i 16/04/2008 Facultad de Informática, UPM. 69 ALU de Weste & Eshraghian (I) () c i a i Sumador Completo 1 b i MUX s i 0 ctrl 0 c i-1 C 0 r i ctrl 1 ctrl MUX C 3 1 ctrl C 2 0 00 01 10 11 V DD c i-1 La programación de la ALU se realiza a partir de las 4 señales ctrl 0 -ctrl 3 16/04/2008 Facultad de Informática, UPM. 70

ALU de Weste & Eshraghian (II) A+B (aritmético) ctrl 0 =0;ctrl 2 =1;ctrl 3 =1; Selección acarreo etapa anterior. ctrl 1 =0; Selección suma. A-B (aritmético C2) ctrl 0 =1;ctrl 2 =1;ctrl 3 =0; Negar entrada b i. Acarreo inicial= 1. ctrl 1 =0; Selección suma. 16/04/2008 Facultad de Informática, UPM. 71 A B ALU de Weste & Eshraghian (III) ctrl 0 =0;ctrl 3 =1;ctrl 2 =0; El sumador producirá acarreo solamente cuando las 2 entradas de datos sean un uno. ctrl 1 =1; A BB A B Selección acarreo. Ídem. Pero seleccionando la suma en el multiplexor final. Ídem. al caso anterior pero negando entrada b i (ctrl 0 =1). 16/04/2008 Facultad de Informática, UPM. 72

A ALU de Weste & Eshraghian (IV) ctrl 0 =1;ctrl 2 =0;ctrl 3 =0;ctrl 1 =0; Introducimos como acarreo de entrada al sumador b i y negamos este bit con la puerta XOR. La sumapor tantot será siempre 1 más el valor de a i. La salida del sumador será ahora 0 cuando a i sea 1 y viceversa. Para escoger A bastaría con escoger el bit de suma en el multiplexor final. A+B (lógico) ctrl 0 = 0; ctrl 3 = 0; ctrl 2 = 1; ctrl 1 = 1; Acarreo de entrada al sumador será un 1. El acarreo de salida de éste valdrá 1 cuando alguna de las entradas lo sea. 16/04/2008 Facultad de Informática, UPM. 73 ALU de Mead & Conway y() (I) P c i a i b i C 1 C 0 MUX 00 01 10 11 a i b i C 1 C 0 MUX 00 01 10 11 K C 1 C 0 MUX 00 01 10 11 C 1 C 0 MUX 00 01 10 11 s i P 0 P 1 P 2 P 3 K 0 K 1 K 2 K 3 R 0 R 1 R 2 R 3 V DD La programación de la ALU se realiza a partir de 13 señales: P 0, P 1, P 2, P 3, K 0, K 1, K 2, K 3, R 0, R 1, R 2, R 3 y c -1 (acarreo inicial). P i : especifica bajo qué valores de las entradas de datos se propagará el acarreo. c i-1 K i : especifica bajo qué entradas de datos se eliminará el acarreo. R i : especifica cuál será el resultado de salida para las combinaciones de P y c i-1 16/04/2008 Facultad de Informática, UPM. 74

ALU de Mead & Conway y( (II) P c i a i b i C 1 C 0 MUX a i b i C 1 C 0 MUX K C 1 C 0 MUX C 1 C 0 MUX 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 s i P 0 P 1 P 2 P 3 V DD K 0 K 1 K 2 K 3 R 0 R 1 R 2 R 3 c i-1 P K c i Observaciones 0 0 1 Crear acarreo (ni se propaga ni se destruye). 0 1 0 Eliminar (Kill) acarreo. 1 0 c i-1 Propagar (Propagate) acarreo. 1 1 0 Eliminar i (Kill) acarreo. 16/04/2008 Facultad de Informática, UPM. 75 A+B (aritmética) ALU de Mead & Conway y( (III) A B P A B K P K c i P c i-1 s i 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 0 c i-1 1 0 1 1 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 etapa anterior (c i =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 c i., q p i El valor de la salida se construye a partir del valor de P yelacarreoanterior.lasuma para el bit i será un 1 cuando el número de unos tomando a i, b i,yc i sea impar. c -1 =0 16/04/2008 Facultad de Informática, UPM. 76

A-B (en C2) A B B P 0 0 1 1 ALU de Mead & Conway y( (IV) A B B K 0 0 1 0 P K c i 0 0 1 P c i-1 s i 0 0 0 0 1 1 1 0 1 1 1 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 c i-1 1 1 0 1 1 1 0 0 1 1 0 1 1 0 Será igual a la suma pero ahora en el lugar de b i consideramos que dicho valor es en realidad b i (negación de la entrada a efectos prácticos). i ( g p ) Solamente las señales de control P i y K i variarán en este caso respecto a la suma. Por último de deberá activar c -1 =1 16/04/2008 Facultad de Informática, UPM. 77 A=B ALU de Mead & Conway y( (V) A B P A B K P K c i P c i-1 s i 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 c i-1 1 0 0 1 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 (c n ). Acarreo inicial será un 1 (c -1 =1). Solamente si todos los bits son iguales dicho acarreo se propagará hasta el final. Para este caso la salida S no se utiliza. 16/04/2008 Facultad de Informática, UPM. 78

ALU de Mead & Conway y( (VI) A>B A B P A B K P K c i P c i-1 s i 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 0 1 0 c i-1 1 0 0 1 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 (c n ). El acarreo inicial será un 0 (c -1 =0). Si a i > b i entonces c i = 1. Si a i <b i entonces c i =0. Si a i =b i entonces c i =c i-1 Para este caso la salida S no se utiliza. 16/04/2008 Facultad de Informática, UPM. 79 A+1 ALU de Mead & Conway y( (VII) A B P A B K P K c i P c i-1 s i 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 1 0 1 0 0 1 1 1 0 1 1 0 0 1 0 c i-1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 Resultado de la operación solamente dependerá de A. Si a i = 0 entonces c i =0. Si a i = 1 entonces c i =c i-1 Si a i =c i entonces s i= 0. Resto de casos: s i=1 Además, debemos activar el acarreo inicial: c -1 =1 16/04/2008 Facultad de Informática, UPM. 80

ALU de Mead & Conway y( (VIII) A-1 A B P A B K P K c i P c i-1 s i 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 1 0 c i-1 1 0 0 1 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 el acarreo si a i =0. Hacemos que el acarreo inicial sea un 1 (c -1 =1). Esta resta produce un cambio en el cálculolo de los acarreos: Si a i = 1 entonces c i =0 Si a i = 0 entonces c i =c i-1 Por tanto, el resultado será igual a la resta de P y c i-1 16/04/2008 Facultad de Informática, UPM. 81 A+B ALU de Mead & Conway y( (IX) A B P A B K P K c i P c i-1 s i 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 c i-1 1 0 1 1 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 acarreos. El valor de la salida depende solamente de P y no del acarreo anterior c i 16/04/2008 Facultad de Informática, UPM. 82

A+B (lógica) ALU de Mead & Conway y( (X) A B P A B K P K c i P c i-1 s i 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 c i-1 1 0 1 1 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 acarreos. El valor de la salida depende solamente de P y no del acarreo anterior c i 16/04/2008 Facultad de Informática, UPM. 83