0% encontró este documento útil (0 votos)
33 vistas21 páginas

Informe2 3

El documento detalla una práctica de laboratorio sobre la Unidad Aritmético-Lógica (ALU) en el contexto de la asignatura de Computación Digital. Se establecen objetivos generales y específicos para comprender el funcionamiento de la ALU, así como su diseño, simulación e integración en sistemas complejos. Además, se proporciona un marco teórico sobre la ALU, sus operaciones y el desarrollo de la práctica utilizando herramientas como el programa Proteus.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
33 vistas21 páginas

Informe2 3

El documento detalla una práctica de laboratorio sobre la Unidad Aritmético-Lógica (ALU) en el contexto de la asignatura de Computación Digital. Se establecen objetivos generales y específicos para comprender el funcionamiento de la ALU, así como su diseño, simulación e integración en sistemas complejos. Además, se proporciona un marco teórico sobre la ALU, sus operaciones y el desarrollo de la práctica utilizando herramientas como el programa Proteus.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

DEPARTAMENTO ELÉCTRICA Y ELECTRÓNICA

CARRERA: TECNOLOGÍAS DE LA INFORMACIÓN Y


COMUNICACIÓN

NRC: 17121

ASIGNATURA: COMPUTACIÓN DIGITAL


PRÁCTICA # 2.3
TEMA: UNIDAD ARITMETICA LOGICA (ALU)

INTEGRANTES: MATEO DE LA CRUZ, DYLAN CAJAS

DOCENTE: ELEMBER GUANOLUIZA

FECHA: 25-07-2024
1. TEMA: Unidad aritmética lógica

2. OBJETIVOS

GENERAL

El objetivo general de la práctica de laboratorio sobre la Unidad Aritmético-Lógica (ALU) es


comprender su funcionamiento dentro de una CPU, explorando tanto sus operaciones
aritméticas como lógicas. Esto incluye diseñar y simular circuitos de ALU, implementar una ALU
básica con componentes lógicos, y evaluar su rendimiento en términos de velocidad, eficiencia
y precisión. Además, se busca entender cómo la ALU se integra en sistemas más complejos,
proporcionando una base sólida para el análisis y diseño de sistemas digitales avanzados.

ESPECÍFICOS

 Identificar y Describir Componentes: Reconocer y describir los componentes básicos


que constituyen una ALU.
 Implementar Operaciones Básicas: Construir y probar circuitos que realicen
operaciones aritméticas básicas como suma y resta.
 Realizar Operaciones Lógicas: Implementar circuitos que ejecuten operaciones lógicas
como AND, OR, y XOR.
 Simular y Verificar: Utilizar software de simulación para modelar y verificar el
comportamiento de la ALU en diferentes escenarios.
 Optimizar el Diseño: Analizar y optimizar el diseño de la ALU para mejorar su
rendimiento en términos de velocidad y eficiencia.
 Integrar la ALU en un Sistema: Integrar la ALU en un sistema más complejo,
demostrando su interconexión con otros componentes del procesador.
 Documentar y Analizar Resultados: Documentar los procedimientos, resultados y
análisis de las pruebas realizadas, comparando el rendimiento teórico con el
experimental.

3. MARCO TEÓRICO

En computación, la unidad aritmética lógica o unidad aritmético-lógica, también conocida


como ALU (siglas en inglés de arithmetic logic unit), es un circuito digital que realiza
operaciones aritméticas (suma, resta) y operaciones lógicas (SI, Y, O, NO) entre los valores de
los argumentos (uno o dos)
En computación, la unidad aritmética lógica, también conocida como ALU (siglas en inglés de
Arithmetic Logic Unit), es un circuito digital que calcula operaciones aritméticas (como suma,
resta, multiplicación, etc.) y operaciones lógicas (sí, y, o, no), entre valores (generalmente uno o
dos) de los argumentos.

Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de operación aritmética, así
que incluso el circuito dentro de un reloj digital tendrá una ALU minúscula que se mantiene
sumando 1 al tiempo actual, y se mantiene comprobando si debe activar el sonido de la
alarma, etc.

Por mucho, los circuitos electrónicos más complejos son los que están construidos dentro de
los chips de microprocesadores modernos. Por lo tanto, estos procesadores tienen dentro de
ellos un ALU muy complejo y potente. De hecho, un microprocesador moderno (y los
mainframes) puede tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución,
cada una de ellas con múltiples ALU.

Muchos otros circuitos pueden contener en el interior una unidad aritmético lógica: unidades
de procesamiento gráfico como las que están en las GPU modernas, FPU como el viejo
coprocesador matemático 80387, y procesadores digitales de señales como los que se
encuentran en tarjetas de sonido, lectoras de CD y los televisores de alta definición. Todos
estos tienen en su interior varias unidades aritméticas-lógicas potentes y complejas.

Por mucho, los circuitos electrónicos más complejos son los que están construidos dentro de
los chips de microprocesadores modernos. Por lo tanto, estos procesadores tienen dentro de
ellos un ALU muy complejo y potente. De hecho, un microprocesador moderno (y los
mainframes) puede tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución,
cada una de ellas con múltiples ALU.

Muchos otros circuitos pueden contener en el interior una unidad aritmético lógica: unidades
de procesamiento gráfico como las que están en las GPU modernas, FPU como el viejo
coprocesador matemático 80387, y procesadores digitales de señales como los que se
encuentran en tarjetas de sonido, lectoras de CD y los televisores de alta definición. Todos
estos tienen en su interior varias ALU potentes y complejas.
Las computadoras más modernas, que incluyen procesadores de múltiples núcleos, incorporan
a su vez múltiples dispositivos ALU, con una diagramación compleja y potente. Pero yendo a los
orígenes, fue el matemático húngaro-estadounidense John von Neumann quien, en el año
1945, a través de un informe fundacional sobre el desarrollo del Computador Automático
Variable Discreto Electrónico (EDVAC, por sus siglas en inglés), propuso la idea de la ALU,
explicando que es un requisito indispensable para cualquier computadora el poder efectuar
operaciones matemáticas básicas. En la actualidad, las operaciones que realiza una ALU entre
los distintos datos, que deben ser iguales a los que emplea el circuito digital, es la
representación del número binario de complemento a dos. Sin embargo no siempre fue así: en
sus comienzos, las distintas computadoras utilizaron una amplia gama de sistemas numéricos,
como el Complemento a uno, o el sistema decimal, adecuando el diseño de las ALU a cada
sistema. A través del tiempo, el Complemento a dos resultó ser el preferido por la industria, al
ser el de mayor simplicidad para la diagramación del circuito de la ALU. Lo que definimos como
CPU (Central Process Unit) o Unidad Central de Proceso, está estructurado por tres unidades
operativamente diferentes:

1. La ALU o unidad aritmético lógica.

2. La UC o unidad de control.

3. Los registros internos


El matemático John von Neumann propuso el concepto de la ALU en 1945, cuando escribió un
informe sobre los fundamentos para un nuevo computador llamado EDVAC (Electronic Discrete
Variable Automatic Computer) (Computador Automático Variable Discreto Electrónico). Más
adelante, en 1946, trabajó con sus colegas diseñando un computador para el Princeton
Institute of Advanced Studies (IAS) (Instituto de Princeton de Estudios Avanzados). El IAS
machine se convirtió en el prototipo para muchos computadores posteriores. En esta
propuesta, von Neumann esbozó lo que él creyó sería necesario en su máquina, incluyendo
una ALU.

Von Neumann explicó que una ALU es un requisito fundamental para una computadora porque
necesita efectuar operaciones matemáticas básicas: adición, sustracción, multiplicación, y
división.1 Por lo tanto, creyó que era "razonable que una computadora debería contener los
órganos especializados para estas operaciones".

Una ALU debe procesar números usando el mismo formato que el resto del circuito digital.
Para los procesadores modernos, este formato casi siempre es la representación del número
binario de complemento a dos. Las primeras computadoras usaron una amplia variedad de
sistemas de numeración, incluyendo complemento a uno, formato signo-magnitud, e incluso
verdaderos sistemas decimales, con diez tubos por dígito.

Las ALU para cada uno de estos sistemas numéricos mostraban diferentes diseños, y esto
influenció la preferencia actual por el complemento a dos, debido a que ésta es la
representación más simple, para el circuito electrónico de la ALU, para calcular adiciones,
sustracciones, etc.

La ALU se compone básicamente de: Circuito Operacional, Registros de Entradas, Registro


Acumulador y un Registro de Estados, conjunto de registros que hacen posible la realización de
cada una de las operaciones.
La mayoría de las acciones de la computadora son realizadas por la ALU. La ALU toma datos de
los registros del procesador. Estos datos son procesados y los resultados de esta operación se
almacenan en los registros de salida de la ALU. Otros mecanismos mueven datos entre estos
registros y la memoria.2

Una unidad de control controla a la ALU, al ajustar los circuitos que le señala a la ALU qué
operaciones realizar.

En la imagen se detalla una ALU de 2 bits con dos entradas (operandos) llamadas A y B: A[0] y
B[0] corresponden al bit menos significativo y A[1] y B[1] corresponden al bit más significativo.

Cada bit de la ALU se procesa de manera idéntica, con la excepción del direccionamiento del bit
del acarreo. El manejo de este bit es explicado más adelante.

Las entradas A y B van hacia las cuatro puertas de la derecha, de arriba abajo, XOR, AND, OR.
Las tres primeras puertas realizan las operaciones XOR, AND, y OR sobre los datos A y B. La
última puerta XOR es la puerta inicial de un sumador completo.
El paso final de las operaciones sobre cada bit es la multiplexación de los datos. La entrada OP
de 3 bits, OP[0], OP[1] y OP[2] (desde la unidad de control) determina cual de las funciones se
van a realizar:

 OP = 000 → XOR

 OP = 001 → AND

 OP = 010 → OR

 OP = 011 → Adición

Claramente se ve que las otras cuatro entradas del multiplexor están libres para otras
operaciones (sustracción, multiplicación, división, NOT A, NOT B, etc). Aunque OP[2]
actualmente no es usada en este montaje (a pesar de estar incluida y conectada), ésta sería
usada en el momento de realizar otras operaciones además de las 4 operaciones listadas
arriba.

Los datos de acarreo de entrada y acarreo de salida, llamados flags (banderas), son típicamente
conectados a algún tipo de registro de estado.

Operaciones simples

La mayoría de las ALU pueden realizar las siguientes operaciones:

 Operaciones aritméticas de números enteros (adición, sustracción, y a veces


multiplicación y división, aunque esto es más complejo)
 Operación lógica de bits (AND, NOT, OR, XOR, XNOR)
 Operación de desplazamiento de bits (Desplazan o rotan una palabra en un número
específico de bits hacia la izquierda o la derecha, con o sin extensión de signo). Los
desplazamientos pueden ser interpretados como multiplicaciones o divisiones por 2.
Operaciones complejas

Un ingeniero puede diseñar una ALU para calcular cualquier operación, sin importar lo
compleja que sea; el problema es que cuanto más compleja sea la operación, tanto más
costosa será la ALU, más espacio usará en el procesador, y más energía disipará, etc.

Por lo tanto, los ingenieros siempre calculan un compromiso, para proporcionar al procesador
(u otros circuitos) una ALU suficientemente potente para calcular rápido, pero no de una
complejidad de tal calibre que haga una ALU económicamente prohibitiva. Imagina que
necesitas calcular, digamos, la raíz cuadrada de un número; el ingeniero digital examinará las
opciones siguientes para implementar esta operación:

 Diseñar una ALU muy compleja que calcule la raíz cuadrada de cualquier número en un
solo paso. Esto es llamado cálculo en un solo ciclo de reloj.
 Diseñar una ALU compleja que calcule la raíz cuadrada con varios pasos (como el
algoritmo que algunos hemos aprendido en la escuela). Esto es llamado cálculo
iterativo, y generalmente confía en el control de una unidad de control compleja con
microcódigo incorporado.
 Diseñar una ALU simple en el procesador, y vender un procesador separado,
especializado y costoso, que el cliente pueda instalar adicional al procesador, y que
implementa una de las opciones de arriba. Esto es llamado coprocesador o unidad de
coma flotante.
 Emular la existencia del coprocesador, es decir, siempre que un programa intente
realizar el cálculo de la raíz cuadrada, hacer que el procesador compruebe si hay
presente un coprocesador y usarlo si lo hay; si no hay uno, interrumpir el proceso del
programa e invocar al sistema operativo para realizar el cálculo de la raíz cuadrada por
medio de un cierto algoritmo de software. Esto es llamado emulación por software.
 Decir a los programadores que no existe el coprocesador y no hay emulación, así que
tendrán que escribir sus propios algoritmos para calcular raíces cuadradas por
software. Esto es realizado por bibliotecas de software.

Las opciones superiores van de la más rápida y más costosa a la más lenta y económica. Por lo
tanto, mientras que incluso la computadora más simple puede calcular la fórmula más
complicada, las computadoras más simples generalmente tomarán un tiempo largo porque
varios de los pasos para calcular la fórmula implicarán las opciones #3, #4 y #5 de arriba.

Los procesadores complejos como el Pentium IV y el AMD Athlon 64 implementan la opción #1


para las operaciones más complejas y la más lenta #2 para las operaciones extremadamente
complejas. Eso es posible por la capacidad de construir ALU muy complejas en estos
procesadores.

Desplazamientos lógicos

– Independientemente del sistema de representación de los operandos se introducen ceros


por la derecha o por la izquierda según se trate de un desplazamiento a la izquierda o a la
derecha, respectivamente.

– El bit o los bits que salen suelen copiarse en el indicador de acarreo (el último que ha salido
es el que queda).

Desplazamientos lógicos a la izquierda Desplazamientos lógicos a la derecha

Las operaciones lógicas realizan la operación sobre cada uno de los bits del operando o de los
operandos

Desplazamientos aritméticos
– Equivalen a multiplicaciones y divisiones por dos, según sean hacia la izquierda o a la
derecha, respectivamente.

– El sistema de representación de los operandos debe tenerse en cuenta si los operandos


tienen signo.

– El bit o los bits que salen suelen copiarse en el indicador de acarreo (el último que ha salido
es el que queda).

Desplazamientos circulares

– Los bits que salen por un extremo entran por el otro.

– El bit o los bits que salen suelen copiarse en el indicador de acarreo (el último que ha salido
es el que queda)

Desplazamientos circulares a través del flag de acarreo

– Los bits que salen por un extremo entran por el otro.

– El bit o los bits que salen suelen copiarse en el indicador de acarreo.

Entradas y salidas
Las entradas a la ALU son los datos en los que se harán las operaciones (llamados operandos) y
un código desde la unidad de control indicando qué operación realizar. Su salida es el resultado
del cómputo de la operación.

En muchos diseños la ALU también toma o genera como entradas o salidas un conjunto de
códigos de condición desde o hacia un registro de estado. Estos códigos son usados para
indicar casos como acarreo entrante o saliente, overflow, división por cero, etc.

4. INSTRUMENTOS Y DISPOSITIVOS UTILIZADOS

 Programa Proteus
 BCD de 7 segmentos
 ALU de 4 bits 74181.
 Resistencias de 330 ohms
 Switch

5. DESARROLLO DE LA PRÁCTICA

 Diseñar un circuito que permita ingresar dos números de 4 bits en binario

 Registro A

 Registro B
 Suma 1+2=3

5+2=7

 Resta
4-2=2

 AND

Se configura los interruptores S0, S1, S2, y S3 todos en 1 (ON), exceptuando S2 que estará en 0
(OFF).

1^0=0

1^1=1
 OR

Se configura los interruptores S0, S1, S2, y S3 todos en 1 (ON), exceptuando S0 que estará en 0
(OFF).

1V1=1

0V0=0

 NAND
Se configura los interruptores S0, S1, S2, y S3 todos en 1 (ON), exceptuando S2 que estará en 0
(OFF).

1|1=0

 NOR

Se configura los interruptores S0, S1, S2, y S3 todos en 1 (ON), exceptuando S1 que estará en 0
(OFF).

1|1=0

 XOR

Se configura los interruptores S0 y S3 en 0 (OFF), y S1 y S2 en 1 (ON).

1|0=1
 Operaciones de Comparación: mayor, menor, igual.

Igual (A = B):

La ALU 74181 tiene una salida dedicada A = B que indica si las entradas A y B
son iguales. Para verificar esta condición:
Verificar el estado del pin 15 (A = B). Si está en alto (1), A es igual a B. De lo
contrario, no lo es.

 Mayor (A > B):

Para determinar si A es mayor que B, se puede usar una combinación de restas y verificaciones
de señales de acarreo. Si no hay acarreo (Carry), entonces A es mayor que B.
No hay carreo por lo que A > B.

No hay carreo por lo que A > B.

 Menor (A < B):

Para determinar si A es mayor que B o menor que B, puedes usar una combinación de restas y
verificaciones de señales de acarreo. Si no hay acarreo (Carry), entonces B es mayor que A (por
lo tanto, A es menor que B).

No hay carreo por lo que A < B.


 Operación de desplazamiento, reemplace el display 7 segmentos por 7 leds, para
verificar el desplazamiento de los bits.

Al realizar la operación, los LEDs mostrarán el resultado del desplazamiento de bits,


encendiéndose o apagándose según el resultado de la operación de la ALU.

7. CONCLUSIONES Y RECOMENDACIONES

La Unidad Aritmético-Lógica (ALU) es uno de los componentes fundamentales de una CPU, ya


que se encarga de realizar operaciones aritméticas y lógicas sobre datos binarios. Su
funcionamiento se basa en la recepción de operandos de entrada y un código de operación,
para luego realizar la operación deseada y generar un resultado en la salida. La ALU está
compuesta por una unidad lógica y una unidad aritmética que permiten realizar operaciones
de comparación y toma de decisiones, así como operaciones matemáticas básicas. Su
arquitectura está diseñada para operar de forma eficiente y rápida, contribuyendo al correcto
funcionamiento de un sistema informático.

 Uso de Herramientas Avanzadas: Se recomienda el uso de herramientas de simulación


y diseño más avanzadas para explorar capacidades adicionales y mejorar la precisión
de las simulaciones.
 Prácticas Repetitivas: Realizar prácticas repetitivas y variadas para reforzar los
conceptos aprendidos y familiarizarse con diferentes configuraciones y aplicaciones de
la ALU.
 Optimización Continua: Enfocarse en la optimización continua del diseño de la ALU,
buscando siempre mejorar su eficiencia y rendimiento a través de técnicas avanzadas
de diseño y prueba.
 Exploración de Nuevas Tecnologías: Investigar y experimentar con nuevas tecnologías y
enfoques en el diseño de ALUs, incluyendo el uso de FPGA y otras tecnologías
emergentes.
 Documentación y Análisis Rigurosos: Mantener una documentación detallada y un
análisis riguroso de todas las pruebas y resultados, facilitando la identificación de áreas
de mejora y la replicación de experimentos.

8. BIBLIOGRAFÍA

colaboradores de Wikipedia. (2024a, enero 16). Unidad aritmética lógica. Wikipedia, la


Enciclopedia Libre. https://es.wikipedia.org/wiki/Unidad_aritm%C3%A9tica_l%C3%B3gica

La Unidad Aritmética Lógica (ALU). (s. f.). Algor Cards.


https://cards.algoreducation.com/es/content/txMg2qW4/unidad-aritmetica-logica-alu

EcuRed. (s. f.). Unidad Aritmético Lógica - ECUReD. https://www.ecured.cu/Unidad_Aritm


%C3%A9tico_L%C3%B3gica

Amanda. (2024, 12 julio). ▷ No❶ ¿Qué es una unidad aritmético-lógica (ALU) y cómo
funciona? https://miwebenterrassa.com/que-es-una-unidad-aritmetico-logica-alu-y-como-
funciona/

ALU. (s. f.). https://www.diariobitcoin.com/glossary/alu/


9. ANEXOS

También podría gustarte