Sunteți pe pagina 1din 23

FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

CAPÍTULO 1. UNIDAD BÁSICA DE CÁLCULO

Un computador digital normalmente ejecuta dos actividades básicas


fundamentales: el cálculo de operaciones aritméticas/lógicas binarias y
la transferencia de datos.

Para encarar el primer caso, en una primera etapa en el desarrollo de


los conceptos de este texto, se definirá la estructura de un sistema
combinacional que será denominado Unidad Básica de Cálculo (UBC). El
aspecto de la transferencia de datos se tratará en el capítulo 3.

Una de las funciones básicas de un computador digital en el cálculo de


operaciones aritméticas es la suma binaria; por tanto, el primer paso en
la búsqueda de una unidad básica de cálculo es el semisumador o
sumador incompleto.

Se emplea notación adecuada para distinguir los operadores aritméticos


de los lógicos, ya que los sistemas desarrollados son capaces de
ejecutar ambos tipos de operaciones.

Ing. Marcelo Ramírez M. Página 1


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

1.1. SEMISUMADOR.
El semisumador es un sistema digital combinacional cuya finalidad es la
suma de dos números de un dígito o, en pocas palabras, la suma de dos
bits.

La tabla de verdad asociada es:

a b  c
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Tabla 1. 1 – Tabla de verdad de un semisumador

donde a y b son las entradas (dos números de un bit cada uno) y las
salidas son  (la suma) y c (el acarreo).

Las ecuaciones booleanas que describen el sistema son:

  ab  a  b Ec. 1. 1

c ab Ec. 1. 2

Consiguientemente, la descripción lógica (diagrama lógico) es:

Figura 1. 1 - Diagrama lógico de un semisumador

Y, finalmente, el sistema puede integrarse en un bloque funcional


simple:

Figura 1. 2 - Semisumador integrado

Ing. Marcelo Ramírez M. Página 2


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

1.2. SUMADOR COMPLETO.


Existe una notoria limitación en la funcionalidad del semisumador: sólo
es posible sumar dos bits, por tanto, no es escalable o expansible.

Para el caso de la suma de dos números de mayor tamaño, por


ejemplo, números de dos bits cada uno, es necesario que la suma de
los bits de mayor peso tome en cuenta el acarreo de la suma de los bits
de menor peso, en calidad de tercer sumando. Es decir:

c1
a1 a0
+ b1 b0
c  
Tabla 1. 2 - Acarreo

Entonces, la suma es un número de dos bits, 1 y 0 y se puede


calcular:

 0  a0  b0 Ec. 1. 3

 1  a1  b1  c1 Ec. 1. 4

Finalmente, c es el acarreo final. Como se verá más adelante, es


necesario no tomar en cuenta a c como el bit más significativo de la
suma.

Todo lo anterior da lugar a un sistema que suma dos números de un bit


y admite en la suma un bit de acarreo de entrada ce, lo cual deriva en
la tabla de verdad siguiente:

A b ce  c
0 0 0 0 0
0 1 0 1 0
1 0 0 1 0
1 1 0 0 1
0 0 1 1 0
0 1 1 0 1
1 0 1 0 1
1 1 1 1 1
Tabla 1. 3 - Sumador completo de 1 bit

Nótese la mitad superior de la tabla: con ce=0 es igual a la tabla del


semisumador. Se puede aprovechar esta observación para escribir la
descriptiva algebraica de manera conveniente.

Ing. Marcelo Ramírez M. Página 3


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

Las ecuaciones booleanas descriptivas son:

  ab  ceab  ce Ec. 1. 5

c  a  b  ab  ce Ec. 1. 6

En las ecuaciones se puede observar la facilidad de empleo del


semisumador como bloque componente de un sumador completo.

Figura 1. 3 - Sumador completo de 1 bit

El sistema puede ser integrado de la siguiente manera:

Figura 1. 4 - Sumador completo integrado de 1 bit

Entonces, ahora sí, para números de varios bits es posible establecer


una asociación en serie de los acarreos y otra en paralelo de las sumas.

Para números de dos bits:

Figura 1. 5 - Sumador de 2 bits

Ing. Marcelo Ramírez M. Página 4


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

El diagrama puede simplificarse notoriamente:

Figura 1. 6 - Sumador de 2 bits simplificado

donde:

A  a1a0 , B b1 b0 y    1 0

De otra forma, en versión decimal:

A10  a1  2  a0 Ec. 1. 7

B10  b1  2  b0 Ec. 1. 8

10   1  2   0 Ec. 1. 9

La generalización permite obtener un sumador completo de n bits.

Figura 1. 7 - Sumador completo de n bits

En el primer esquema de la Figura 1. 7 se detalla la composición de


ambos datos de entrada y de la salida. El segundo diagrama muestra el
sistema en forma de un bloque funcional simplificado.

Ing. Marcelo Ramírez M. Página 5


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

1.3. SUMADOR – RESTADOR.


Otra función básica de un computador digital es la substracción binaria.
La estrategia para lograr esta función es la utilización del concepto de
complemento a 2, es decir, la representación binaria de un número
negativo, de tal forma que la resta se construya mediante la suma del
minuendo y el substraendo expresado como un número binario en
complemento a 2.

Algebraicamente:

x - y  x  (-y )  x  compl2 (y ) Ec. 1. 10

1.3.1. Complemento a 2.

La representación binaria de un número permite su conversión a


decimal mediante una combinación lineal de los pesos de los dígitos.

Por ejemplo, sea N2 un número binario de 8 bits y N10 su equivalente


decimal:

N2  b7b6 b5b4b3b2b1b0
Ec. 1. 11

7 0
 N10   b j  2 j ; b j  
j 0 1 Ec. 1. 12

La representación binaria de números de n bits de la forma mostrada


también se conoce como representación de “números sin signo” o
“números no signados”. Complementariamente, los números no
signados tienen un rango de valores dependiente del número de bits:

0  N2  2 n  1 Ec. 1. 13

o también: 
N2  0,2n  1  Ec. 1. 14

Para construir un número signado basta con cambiar el signo del peso
del bit más significativo, es decir, el bit bn-1. El cambio consiste en
asignarle un peso de -2n-1.

Por tanto:

0 ;  bn 1  0
 bn 1  2n 1   n 1 Ec. 1. 15
 2 ;  bn 1  1

Ing. Marcelo Ramírez M. Página 6


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

Es interesante comparar ambas interpretaciones de un número binario.


En la tabla a continuación se presenta un conjunto de ejemplos para
números de 8 bits, con signo y sin signo:

Signado, en decimal Binario No signado, en decimal


-12810 100000002 12810
-12710 100000012 12910
+12710 011111112 12710
-110 111111112 25510
010 000000002 010
Tabla 1. 4 - Números signados y no signados

Se puede decir que el bit más significativo (bMS) de un número signado


refleja el signo del número, o sea:

b  0  x  0
si  MS Ec. 1. 16
bMS  1  x  0

Lo anterior no quiere decir que el bMS constituye el signo en sí y el resto


de la sucesión de bits el valor absoluto del número representado, más
bien significa que:

 n 2 b  2 j ; si bn 1  0
 j0
j
x10  n 2 Ec. 1. 17
 2n 1   b j  2 j ; si bn 1  1
 j 0

o, más simple:
n 1
x10   b j  2 j Ec. 1. 18
j 0

Existe una manera práctica de calcular el complemento a 2 de un


número binario. Véase el siguiente ejemplo:

Ej. 1.1:

X 2  011111112  12710
X 2  100000002

De acuerdo con la técnica anterior: - 127  100000012

Por tanto:  127  011111112  1

Luego:  X2  X2  1 Ec. 1. 19

Ing. Marcelo Ramírez M. Página 7


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

Entonces se puede enunciar esta regla práctica como: “Para calcular el


equivalente negativo de un número binario X primero se obtiene X (el
complemento a 1 de X) por inversión lógica bit a bit de todos sus bits y,
a continuación, se añade 1”.

Paréntesis

El cálculo de representaciones de números negativos en otras bases sigue


la misma regla generalizada: “Para calcular el equivalente negativo de un
número XB (es decir, expresado en base B), primero se obtiene el
complemento a B-1 de X y, a continuación, se añade 1”.

Ej. 1.2: Véase la siguiente substracción decimal:

2.008
- 1.959
49

Ahora, el complemento a 9 del sustraendo es: 8.040, es decir, la


diferencia de cada dígito con 9. Luego se añade 1, o sea: 8.041.

A continuación, en lugar de restar, se suma al minuendo el complemento


a 10 del sustraendo:

2.008
+ 8.041
1 0.049

Aquí viene la interpretación: evidentemente, la suma de ambos números


excede 10.000, sin embargo, debido a que los operandos son de 4
dígitos, el resultado podría también estar confinado a 4 dígitos, por tanto
el acarreo de salida de los dígitos de mayor peso no debe ser tomado en
cuenta, luego el resultado es: 0049, o 49, simplemente. Esto sólo es
posible si se establece la limitación dimensional del resultado.

Si, en otra instancia, se establece que los operandos constan, por


ejemplo de 6 dígitos, la situación se mantiene:

002.008
- 001.959
000.049

002.008
+ 998.041
1 000.049

Es evidente que los ceros a la izquierda no son significativos, pero al


dimensionar el tamaño de los datos, se establece un límite. Ello también
contribuye a considerar al acarreo final como una variable de naturaleza
especial.

Ing. Marcelo Ramírez M. Página 8


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

1.3.2. Inversor controlado.

Para materializar la obtención del complemento a 2 de un número


(binario, por supuesto); se recurrirá a una compuerta lógica que
presenta un comportamiento muy interesante: la compuerta or
exclusivo.

Figura 1. 8 - Compuerta XOR

Tradicionalmente, en el sentido de los conceptos básicos de la


electrónica digital básica, una compuerta xor de dos entradas se
describe mediante la siguiente tabla de verdad:

x y xor
0 0 0
0 1 1
1 0 1
1 1 0
Tabla 1. 5 - OR exclusivo

En este caso, ambas variables de entrada son del mismo tipo o de la


misma naturaleza. Ambas entradas podrían ser, por ejemplo, variables
de información (datos).

Mediante un esquema ligeramente diferente es posible “ver” la


funcionalidad de la compuerta desde otro ángulo.

Figura 1. 9 – Compuerta OR exclusivo


Aquí existen también dos entradas: x es la entrada de
información y ctl es la entrada de control. En estas condiciones,
la tabla de verdad se transforma en una tabla funcional, muy
diferente de la Tabla 1. 5 - OR exclusivo

, que es una tabla de verdad, y el pequeño sistema cambia de nombre:

ctl salida
0 x
1 x
Tabla 1. 6 – Inversor lógico controlado

El resultado de la salida en función de la entrada de control puede


comprobarse fácilmente por inspección de la tabla de verdad original de

Ing. Marcelo Ramírez M. Página 9


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

la función xor. Esta diferente visión de la funcionalidad de la compuerta


permite:

 definir ambas entradas de manera diferente (datos y control) y

 describir la funcionalidad sin tomar en cuenta el valor del dato de


entrada.

Por lo expuesto, la compuerta xor puede emplearse como un inversor


lógico controlado. Ello permite obtener el complemento a 1 de un
número binario de n bits.

La figura a continuación muestra el esquema completo y el simplificado.

Figura 1. 10 - Inversor controlado de n bits

Para completar la materialización, debe incorporarse la adición de 1.


Esto es posible con el empleo del sumador completo, es decir:

Figura 1. 11 - Complemento a 2

Existen dos aspectos muy importantes a ser descritos inicialmente: la


estructura o arquitectura y el modo de funcionamiento.

Descripción de la arquitectura.

El sistema de la Figura 1. 11 está compuesto por un inversor


controlado que afecta a la entrada A del sumador. Éste tiene la
entrada fija a tierra (0 lógico) y la entrada Ce fija a +Vcc (1
lógico). Las salidas  y C del sumador están disponibles sin
cambios.

Ing. Marcelo Ramírez M. Página 10


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

Modo de funcionamiento.

La entrada de control permite la conexión de la variable al


sumador, tanto en su valor original como en complemento a 1. El
sumador está configurado para generar el resultado  =A+1.

Para describir el sistema se emplea una tabla funcional:

ctl Resultado
0 x+1
1 x  1  x
Tabla 1. 7 – Tabla funcional operativa

Es posible, incluso, utilizar un nombre descriptivo para designar a las


funciones de salida en lugar de (o complementando a) la notación
algebraica:

ctl Función
0 incremento
1 complemento a 2 (negar)
Tabla 1. 8 - Tabla funcional descriptiva

Fruto de un breve análisis del sistema anterior y su funcionalidad es


posible obtener varias conclusiones. Aquí se menciona algunas y el
lector puede generar otras.

1. La señal de control, al aplicarse a un sistema compuesto como el


anterior, produce dos funciones distintas (¡muy distintas!) entre
sí.

2. La funcionalidad es independiente del valor de la variable de


información, también llamada variable de proceso, también
llamada dato.

3. El sistema puede simplificarse esquemáticamente en un bloque


integrado simplificado:

Figura 1. 12 - Sistema simplificado

El sistema anterior permite mayor experimentación ya que, por


ejemplo, es posible dotarle de dos señales de control al hacer variable
la entrada Ce del sumador.

Ing. Marcelo Ramírez M. Página 11


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

Esquemáticamente:

Figura 1. 13 - Sistema con dos entradas de control

Funcionalmente:

ctl1 ctl0 R C Función


0 0 X 0 leer x
0 1 X+1  incrementar x
1 0 X 0 complementar a 1 x, invertir x
1 1 -X  complementar a 2 x, negar x
Tabla 1. 9 - Sistema de cuatro funciones

Dado que la variable de información es única, la descripción funcional


simbólica puede omitir su referencia.

Nótese la incorporación de la variable C en la tabla funcional. Esto es


muy importante y refleja la naturaleza de C: ésta es una variable de
estado, no en el sentido de los sistemas lineales ni de los sistemas de
control, sino en el sentido del estado del proceso, lo cual significa que la
variable C refleja el estado de la última operación ejecutada en el
sistema.

La notación utilizada sirve para mostrar tres posibles situaciones para


C: 0, 1 o variable (  ) indeterminada (depende de los valores de las
entradas de información).

Es un buen ejercicio para el lector comprobar la tabla funcional.

1.3.3. Control de paso.

Aplicando la misma filosofía que en el caso del inversor controlado, es


posible dar otro enfoque en la funcionalidad de la compuerta AND, es
decir:

Figura 1. 14 - Compuerta AND

Ing. Marcelo Ramírez M. Página 12


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

ctl salida
0 0
1 X
Tabla 1. 10 - Función control de paso

Esta situación es aplicable al sistema de la sección 1.3.2 anterior,


incorporando el control de paso en la entrada B del sumador, de la
siguiente manera:

Figura 1. 15 – Sumador - restador

Nótese que la entrada Ce (aquí ahora denominada S0) también es


variable. Entonces el sistema tiene la siguiente tabla funcional:

S2 S1 S0 R C Función
0 0 0 X 0 leer x
0 0 1 X+1  incrementar x
0 1 0 X+Y  sumar
0 1 1 X+Y+1  operación compleja 1
1 0 0 -X-1 0 complementar a 1 x, invertir x
1 0 1 -X  complementar a 2 x, negar x
1 1 0 Y-X-1  operación compleja 2
1 1 1 Y-X  restar
Tabla 1. 11 - Sistema de ocho funciones

Es muy interesante analizar el sistema desde otro punto de vista: la


complejidad comparativa de las funciones.

Las funciones denominadas como operación compleja 1 y operación


compleja 2 tienen la notoria característica de que pueden ser
reproducidas mediante combinaciones de algunas de las demás
funciones más simples, es decir: la operación compleja 1 puede
lograrse mediante el empleo secuencial de, por ejemplo, la función
sumar y luego incrementar x, provisto que, luego de la ejecución de la
primera función, el resultado sea copiado a la entrada X.

Es posible describir la operativa anterior mediante una sencilla


secuencia descriptiva, vale decir:

Ing. Marcelo Ramírez M. Página 13


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

en lugar de usar:

; datos X, Y en las entradas

operación compleja 1

se puede emplear dos operaciones en secuencia:

; datos X, Y en las entradas

sumar ; R=X+Y

; copiar resultado en entrada X

incrementar x ; R=X+Y+1

Como el lector puede comprobar fácilmente, la solución anterior no es


única. Se aplica el mismo análisis y procedimiento a la operación
compleja 2.

1.4. UNIDAD BÁSICA DE CÁLCULO ARITMÉTICO.


Es posible continuar con la experimentación y aumentar más
funcionalidad al sistema. A continuación, se combinará el control de
paso en serie con el control de inversión para cada una de las entradas
de datos.

1.4.1. Diseño.

La metodología descriptiva usada hasta ahora permite delinear la


estructura compuesta.

Figura 1. 16 - Etapas de control en serie

La tabla funcional es:


Cp Ci r
0 0 0
0 1 1
1 0 x
1 1 x
Tabla 1. 12 - Control combinado en serie

Cp es el control de paso y Ci es el control de inversión.

Ing. Marcelo Ramírez M. Página 14


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

Es interesante notar un cambio importante cuando se escala el


subsistema a n bits.

Figura 1. 17 - Control en serie para n bits

El diagrama anterior puede ser simplificado convencionalmente a:

Figura 1. 18 - Diagrama simplificado para n bits

Sin embargo, la tabla funcional revela algo interesante:

Cp Ci R
0 0 00…0
0 1 11…1
1 0 X
1 1 x
Tabla 1. 13 - Tabla funcional para n bits

La interpretación de la salida de la segunda función, teniendo en cuenta


el concepto de complemento a 2, deriva en:

111...111  1

Finalmente, la funcionalidad de la estructura queda así:

Cp Ci R Función
0 0 0 borrar
0 1 -1 constante
1 0 X leer x
1 1 x complemento a 1, invertir x
Tabla 1. 14 - Tabla funcional final

Ing. Marcelo Ramírez M. Página 15


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

La estructura completa es:

Figura 1. 19 - Unidad básica de cálculo

Nótese la terminología de las señales de control:

 CPX y CPY son las señales de control de paso de X y Y,


respectivamente.

 CIX y CIY son las señales de control de inversión lógica de X y Y,


respectivamente.

 Ce es la señal de control de incremento (+1).

1.4.2. Tabla funcional.

Antes de elaborar la tabla funcional del sistema de la Figura 1. 19 es


interesante despersonalizar las señales de control y, más bien, tomarlas
a todas en conjunto como una palabra binaria de control:

CPX CPY CIX CIY Ce  S4 S3 S2 S1 S0

La tabla funcional es la siguiente, se alienta al lector a verificarla:

S4 S3 S2 S1 S0 C R FUNCIÓN
0 0 0 0 0 0 0 constante, borrar salida
0 0 0 0 1 0 1 constante, uno positivo
0 0 0 1 0 0 -1 constante, uno negativo
0 0 0 1 1 1 0 constante, borrar salida
0 0 1 0 0 0 -1 constante, uno negativo
0 0 1 0 1 1 0 constante, borrar salida
0 0 1 1 0 1 -2 constante, dos negativo
0 0 1 1 1 1 -1 constante, uno negativo
0 1 0 0 0 0 y leer y
0 1 0 0 1  y+1 incrementar y
0 1 0 1 0 0 -y-1 complemento a 1 de y, invertir y
0 1 0 1 1  -y complemento a 2 de y, negar y
0 1 1 0 0  y-1 decrementar y

Ing. Marcelo Ramírez M. Página 16


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

S4 S3 S2 S1 S0 C R FUNCIÓN
0 1 1 0 1 1 y leer y
0 1 1 1 0  -y-2 función compleja
0 1 1 1 1 1 -y-1 complemento a 1 de y, invertir y
1 0 0 0 0 0 x leer x
1 0 0 0 1  x+1 incrementar x
1 0 0 1 0  x-1 decrementar x
1 0 0 1 1  x leer x
1 0 1 0 0 0 -x-1 complemento a 1 de x, invertir x
1 0 1 0 1  -x complemento a 2 de x, negar x
1 0 1 1 0  -x-2 función compleja
1 0 1 1 1 1 -x-1 complemento a 1 de x, invertir x
1 1 0 0 0  x+y sumar
1 1 0 0 1  x+y+1 función compleja
1 1 0 1 0  x-y-1 función compleja
1 1 0 1 1  x-y restar y de x
1 1 1 0 0  -x+y-1 función compleja
1 1 1 0 1  y-x restar x de y
1 1 1 1 0  -x-y-2 función compleja
1 1 1 1 1  -x-y-1 función compleja
Tabla 1. 15 - Tabla funcional de la UBC

1.4.3. Análisis y conclusiones.

Las conclusiones son variadas:

1. Existen funciones que son totalmente independientes de las


entradas, esto es: las que generan constantes. Se nota ello no
sólo en la tabla funcional, sino también en la palabra de control,
S4 y S3 están en cero y, en esa condición, inhiben las entradas de
datos.

2. Existen 2 grupos de 8 funciones cada uno que ejecutan las


mismas operaciones pero en diferentes variables de datos (X y Y)
y, además, con cierta diferencia de orden tabular.

3. Existen funciones repetidas. Las estadísticas producen los


siguientes números:

Función Repetición
borrar salida 3
constante, uno negativo 3
leer y 2
leer x 2
complemento a 1 de y, invertir y 2
complemento a 1 de x, invertir x 2
Tabla 1. 16 - Estadísticas de funciones

En consecuencia, existen 8 funciones repetidas y 24 funciones


diferentes.

Ing. Marcelo Ramírez M. Página 17


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

4. Existen, notoriamente, funciones simples o reducidas y funciones


complejas, es decir, funciones que pueden ser obtenidas por
combinación de funciones simples. La combinación debe ser
secuencial, como en el caso del análisis funcional del sistema de
laFigura 1. 15. A continuación véase algunos ejemplos.

Ej. 1.3: La función –y-1 puede ser implementada en dos pasos:


inicialmente se opera la función y+1 y, luego de reintroducir el
resultado en la entrada Y, se opera la función –y. En un esquema
de orden secuencial se puede establecer la siguiente descripción:

; procedimiento para calcular –y-1


; colocar dato en Y
incrementar y ; R=y+1
; colocar resultado en Y
negar y ; R=-y-1

Ej. 1.4: Este ejemplo constituye una alternativa trivial al caso


anterior, pero ayuda a obtener una conclusión sobre la repetición
superflua de funciones.

; procedimiento para calcular –y-1


; colocar dato en X
incrementar x ; R=x+1
; colocar resultado en Y
negar y ; R=-y-1

Nótese que solamente se cambia la función incrementar y por


incrementar x. De todas formas el resultado del incremento
debe reescribirse en una de las entradas.

Ej. 1.5: En este ejemplo se cambia el orden de las operaciones


con relación al ejemplo anterior, sin alterar la nomenclatura de la
función a ser calculada.

; procedimiento para calcular –y-1


; colocar dato en X
negar x ; R=-x
; colocar resultado en Y
decrementar y ; R=-y-1

Para reforzar el concepto de comparación entre funciones


complejas y funciones simples, considérese un ejemplo adicional.

Ing. Marcelo Ramírez M. Página 18


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

Ej. 1.6:

; procedimiento para calcular –x-y-2


; colocar datos en X, Y
sumar ; R=x+y
; colocar resultado en X
negar x ; R=-x-y
; colocar resultado en X
decrementar x ; R=-x-y-1
; colocar resultado en X
decrementar x ; R=-x-y-2

5. Las observaciones de 2 y 4, así como la comparación de los


ejemplos 1.4 y 1.5, llevan a otra interesante conclusión: también
existe duplicidad en casos de la misma operación sobre distintas
variables de datos; p.ej.: decrementar x y decrementar y.

Debido a que las entradas son variables y, además, es posible


implementar funciones complejas a partir de funciones simples
mediante operación secuencial, solamente es necesario contar con
una de ambas operaciones de decremento.

Por tanto, es posible identificar una cierta cantidad de operaciones


básicas y simplificar la tabla funcional.

6. A lo largo de la evolución de los pequeños sistemas, estudiados


en las secciones precedentes, y que finaliza, por el momento, en
la unidad básica de cálculo aritmético, se ha empleado, como
herramientas descriptivas, tablas funcionales. Éstas tienen la
siguiente estructura:

Palabra de
Acarreo (C) Salida Función
control
Entradas Salida Salida
Combinación de
señales o Resultado de la Nombre
Variable de
variables de operación simbólico
estado de la
control que expresado descriptivo de la
operación
invocan a una algebraicamente operación
operación
Tabla 1. 17 - Estructura de las tablas funcionales

Las variables de entrada son de dos tipos: datos y control.

Los valores de los datos sólo tienen significado para calcular la


salida de acarreo que se constituye en una variable de estado de
la operación recientemente ejecutada.

Ing. Marcelo Ramírez M. Página 19


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

Los valores de las variables de control establecen una codificación


binaria que está asociada, en forma biunívoca, a las operaciones.
En este sentido, cada operación tiene asociados, por un lado, la
palabra de control y, por otro, un nombre simbólico descriptivo de
la función que cumple la operación.

7. En algunos casos las funciones tienen argumentos que permiten


diferenciarlas entre sí, por ejemplo; decrementar x,
decrementar y. En otros casos no hay argumentos, por ejemplo,
borrar. En otros casos más, los argumentos están implícitos, por
ejemplo: sumar (los sumandos no pueden ser otros que X y Y).

Es posible que el lector, mediante análisis, obtenga sus propias


conclusiones adicionales.

Finalmente, el diagrama muestra el sistema integrado en un solo bloque


funcional.

Figura 1. 20 - UBC integrada

1.5. EJERCICIOS.
Los ejercicios #1 a #7 están diseñados para ejercitar la capacidad
analítica del estudiante según la filosofía de diseño del capítulo 1.

1. Diseñe un semirrestador.

2. Diseñe un restador completo de n bits empleando


semirrestadores.

3. Aplique, al sistema del ejercicio anterior, etapas combinadas de


control de paso e inversión lógica para obtener un sistema
análogo a la UBC desarrollada. Analice la tabla funcional
resultante y emita conclusiones.

4. Mediante el empleo del concepto de inversión controlada diseñe


un semisumador/restador y luego un sumador/restador

Ing. Marcelo Ramírez M. Página 20


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

completo, con función seleccionable mediante una señal de


control.

5. Considere aplicar sobre el sistema desarrollado en el ejercicio


#4 lo mismo que se aplica en el ejercicio #3. Sin necesidad de
un diseño lógico en detalle, esquematice el sistema resultante
en bloques. Analice y emita conclusiones en comparación con la
UBC.

6. Elabore la tabla funcional para cada uno de los sistemas de los


diagramas a continuación.

Figura 1. 21 – Ejercicio 6.a

Figura 1. 22 – Ejercicio 6.b

Figura 1. 23 – Ejercicio 6.c

Ing. Marcelo Ramírez M. Página 21


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

Figura 1. 24 – Ejercicio 6.d

7. Trabaje sobre los sistemas del ejercicio anterior.

a. Elija subconjuntos de funciones básicas en cada uno de los


sistemas del ejercicio #6.

b. Asigne nombres simbólicos literales (y relevantes, además)


a las funciones.

c. Escriba las secuencias para implementar las funciones más


complejas a partir de las funciones básicas elegidas.

8. Este ejercicio sirve para ejercitar fluidez en el cálculo rápido de


conversión binaria a decimal y a hexadecimal. Complete la tabla
siguiente:

Valor
Valor decimal
Valor binario hexadecimal
No signado Signado No signado
01011110
10001111
11111100
11110000
00111100
11000011
00111111
10101010
01010101
00110011
10110101
00000111
10000111
11111000
10001111
11100011
11010111
11011111
10111111
11001100
Tabla 1. 18 - Ejercicio de conversión numérica

Ing. Marcelo Ramírez M. Página 22


FUNDAMENTOS DE ARQUITECTURA DE MICROPROCESADORES Unidad Básica de Cálculo

Puede generar sus propios valores en forma aleatoria y practicar


la conversión. Se recomienda llevar a cabo exclusivamente
cálculos mentales, sin usar papel, calculadora o ayuda de otra
naturaleza.

Es útil ejercitar lo mismo con números de 16 bits, aunque aquí


se requiera hacer anotaciones para facilitar los cálculos.

9. Investigue un sumador con anticipo de acarreo. Este sumador


tiene un desempeño más veloz que el de acumulación de
acarreo, como el que se vio en el capítulo. Una vez
comprendido:

a. diseñe uno de 8 bits por su cuenta;

b. analice su incorporación a la UBC en reemplazo del sumador


empleado y

c. analice su escalamiento a sistemas de 16, 32 y 64 bits.

1.6. PRÁCTICAS DE LABORATORIO.


Es posible la experimentación exhaustiva con todos los sistemas
estudiados en el capítulo, sin embargo, es suficiente materializar dos
sistemas en una o dos sesiones de laboratorio: el sumador completo y
la UBC.

Las guías modelo están en el anexo de prácticas de laboratorio.

Ing. Marcelo Ramírez M. Página 23

S-ar putea să vă placă și