Diferencia entre revisiones de «Diseño de circuitos digitales y tecnología de computadores/Sumadores»

Contenido eliminado Contenido añadido
Añadida sección Sumador paralelo
Suma de números enteros
Línea 80:
|}
 
==Suma de números enteros==
{{en desarrollo}}
 
La forma de realizar la suma de números enteros con signo dependiendo de las diversas formas de representación se expone en el apartado [[Diseño_de_circuitos_digitales_y_tecnología_de_computadores/Representación_interna_de_números_enteros#Suma_y_resta_aritméticas|Suma y resta aritméticas]]. La representación de enteros en signo y magnitud no resulta operativa para la suma de números enteros debido a que requiere operaciones lógicas adicionales y por ello resulta notablemente más compleja que la suma utilizando las representaciones de negativos en complemento a uno (Ca1) o complemento a dos (Ca2). En este libro veremos sólo los sumadores en Ca1 y en Ca2.
 
La suma de enteros cuando la representación de negativos es en Ca1 o Ca2 no requiere operaciones adicionales; el resultado se obtiene directamente al realizar la suma de los operandos incluyendo el bit de signo (BS). Esto implica que con un sumador paralelo binario se puede realizar la suma de dos números enteros, cualesquiera que sean sus signos. Únicamente hay que tener en cuenta que en Ca1 hay que sumar el acarreo de salida, mientras que en Ca2 se desprecia el acarreo de salida. Suponiendo una palabra de 4 bits, el bloque funcional sumador de 4 bits se emplearía en cada caso como muestran la figuras siguientes:
 
{| style="text-align:center;" cellpadding="10"
|-
|[[Archivo:4bit adder 1s complement.svg|Sumador en complemento a uno de 4 bits]]
|[[Archivo:4bit adder 2s complement.svg|Sumador en complemento a dos de 4 bits]]
|-
|Sumador en complemento a uno de 4 bits
|Sumador en complemento a dos de 4 bits<br /> (cuádruple sumador total)
|}
 
El resultado de una suma puede estar fuera del rango de valores admitido por la representación interna de enteros. Un detector de desbordamiento es un circuito combinacional que advierte que el resultado del sumador es inválido. Cuando la representación de enteros es en complemento a uno o complemento a dos, el desbordamiento se detecta cuando existe contradicción entre el bit de signo de los operandos y el bit de signo del resultado:
 
<table cellpadding="10">
<tr>
<td>
{| class="wikitable" style="text-align:center;" cellpadding="4"
|-
| '''BSA''' || '''BSB''' || '''BSR''' || '''D'''
|-
| 0 || 0 || 1 || 1
|-
| 1 || 1 || 0 || 1
|-
|colspan="3"|Resto de combinaciones
| 0
|}
</td>
<td><i>D = <span style="text-decoration:overline;">BSA</span>·<span style="text-decoration:overline;">BSB</span>·BSR + BSA·BSB·<span style="text-decoration:overline;">BSR</span></i>
</td>
</tr>
</table>