Operaciones Lógicas de Comparación. • La puerta lógica Y, más conocida por su nombre en inglés AND, realiza la función booleana de producto lógico. Su símbolo es un punto (•), aunque se suele omitir. Así, el producto lógico de las variables A y B se indica como AB, y se lee A y B o simplemente A por B. La ecuación característica que describe el comportamiento de la puerta AND es:
Su tabla de verdad es la siguiente:
Tabla de verdad puerta AND
Entrada A Entrada B Salida AB 0 0 0 0 1 0 1 0 0 1 1 1
Su definición se puede dar, como una compuerta que entrega un 1 lógico sólo si todas las entradas están a nivel alto 1. • La puerta lógica O, más conocida por su nombre en inglés OR, realiza la operación de suma lógica. La ecuación característica que describe el comportamiento de la puerta OR es:
Su tabla de verdad es la siguiente:
Tabla de verdad puerta OR
Entrada A Entrada B Salida A + B 0 0 0 0 1 1 1 0 1 1 1 1
Podemos definir la puerta O como aquella que proporciona a su salida un 1 lógico si al menos una de sus entradas está a 1.
• La puerta lógica O-exclusiva, más conocida por su nombre en inglés XOR, realiza la función booleana A’B+AB’. Su símbolo es el más (+) inscrito en un círculo. En la figura de la derecha pueden observarse sus símbolos en electrónica. La ecuación característica que describe el comportamiento de la puerta XOR es:
Su tabla de verdad es la siguiente: Tabla de verdad puerta XOR Entrada A Entrada B Salida A B
0 0 0 0 1 1 1 0 1 1 1 0 Se puede definir esta puerta como aquella que da por resultado uno, cuando los valores en las entradas son distintos. ej: 1 y 0, 0 y 1 (en una compuerta de dos entradas). Si la puerta tuviese tres o más entradas, la XOR tomaría la función de suma de paridad, cuenta el número de unos a la entrada y si son un número impar, pone un 1 a la salida, para que el número de unos pase a ser par. Esto es así porque la operación XOR es asociativa, para tres entradas escribiríamos: a (b c) o bien (a b) c. Su tabla de verdad sería: XOR de tres entradas Entrada A Entrada B Entrada C Salida A B C 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1
• La puerta lógica NO (NOT en inglés) realiza la función booleana de inversión o negación de una variable lógica. La ecuación característica que describe el comportamiento de la puerta NOT es:
Su tabla de verdad es la siguiente: Tabla de verdad puerta NOT Entrada A Salida
0 1 1 0 Se puede definir como una puerta que proporciona el estado inverso del que esté en su entrada.
El siguiente trabajo de la parte inferior fue realizado por Marcos Fernandez Quezada
Arithmetic Logic Unit (A.L.U)
In computing, an arithmetic logic unit (ALU) is a digital circuit that performs arithmetic and logical operations. The ALU is a fundamental building block of the central processing unit of a computer, and even the simplest microprocessors contain one for purposes such as maintaining timers. The processors found inside modern CPUs and GPUs have inside them very powerful and very complex ALUs; a single component may contain a number of ALUs.
Mathematician John von Neumann proposed the ALU concept in 1945, when he wrote a report on the foundations for a new computer called the EDVAC.
Early development.
In 1946, von Neumann worked with his colleagues in designing a computer for the Princeton Institute of Advanced Studies (IAS). The IAS computer became the prototype for many later computers. In the proposal, von Neumann outlined what he believed would be needed in his machine, including an ALU.
Von Neumann stated that an ALU is a necessity for a computer because it is guaranteed that a computer will have to compute basic mathematical operations, including addition, subtraction, multiplication, and division. He therefore believed it was “reasonable that [the computer] should contain specialized organs for these operations.
Numerical systems.
An ALU must process numbers using the same format as the rest of the digital circuit. For modern processors, that almost always is the two’s complement binary number representation. Early computers used a wide variety of number systems, including one’s complement, sign-magnitude format, and even true decimal systems, with ten tubes per digit.
ALUs for each one of these numeric systems had different designs, and that influenced the current preference for two’s complement, as this is the representation that makes it easier for the ALUs to calculate additions and subtractions.
Practical overview.
Most of a processor’s operations are performed by one or more ALU. An ALU loads data from input registers, executes, and stores the result into an output register. A Control Unit tells the ALU what operation to perform on the data. Other mechanisms move data between these registers and memory.
Simple operations.
Most ALUs can perform the following operations:
- Integer arithmetic operations (addition, subtraction, and sometimes multiplication and division, though this is more expensive).
- Bitwise logic operations (AND, NOT, OR, XOR).
- Bit-shifting operations (shifting or rotating a word by a specified number of bits to the left or right, with or without sign extension). Shifts can be interpreted as multiplications by 2 and divisions by 2.
Complex operations.
An engineer can design an ALU to calculate any operation, however complicated it is; the problem is that the more complex the operation, the more expensive the ALU is, the more space it uses in the processor, and the more power it dissipates, etc.
Therefore, engineers always calculate a compromise, to provide for the processor (or other circuits) an ALU powerful enough to make the processor fast, but yet not so complex as to become prohibitive. Imagine that you need to calculate the square root of a number; the digital engineer will examine the following options to implement this operation:
- Design an extraordinarily complex ALU that calculates the square root of any number in a single step. This is called calculation in a single clock.
- Design a very complex ALU that calculates the square root of any number in several steps. But—and here’s the trick—the intermediate results go through a series of circuits that are arranged in a line, like a factory production line. That makes the ALU capable of accepting new numbers to calculate even before finished calculating the previous ones. That makes the ALU able to produce numbers as fast as a single-clock ALU, although the results start to flow out of the ALU only after an initial delay. This is called calculation pipeline.
- Design a complex ALU that calculates the square root through several steps. This is called interactive calculation, and usually relies on control from a complex control unit with built-in microcode.
- Design a simple ALU in the processor, and sell a separate specialized and costly processor that the customer can install just besides this one, and implements one of the options above. This is called the co-processor.
- Tell the programmers that there is no co-processor and there is no emulation, so they will have to write their own algorithms to calculate square roots by software. This is performed by software libraries.
- Emulate the existence of the co-processor, that is, whenever a program attempts to perform the square root calculation, make the processor check if there is a co-processor present and use it if there is one; if there isn’t one, interrupt the processing of the program and invoke the operating system to perform the square root calculation through some software algorithm. This is called software emulation.
The options above go from the fastest and most expensive one to the slowest and least expensive one. Therefore, while even the simplest computer can calculate the most complicated formula, the simplest computers will usually take a long time doing that because of the several steps for calculating the formula.
Powerful processors like the Intel Core and AMD 64 implement option #1 for several simple operations, #2 for the most common complex operations and #3 for the extremely complex operations. That is possible by the ability of building very complex ALUs in these processors.
Inputs and outputs.
The inputs to the ALU are the data to be operated on (called operands) and a code from the control unit indicating which operation to perform. Its output is the result of the computation.
In many designs the ALU also takes or generates as inputs or outputs a set of condition codes from or to a status register.
ALUs vs. FPUs.
A Floating Point Unit also performs arithmetic operations between two values, but they do so for numbers in floating point representation, which is much more complicated than the two’s complement representation used in a typical ALU. In order to do these calculations, a FPU has several complex circuits built-in, including some internal ALUs.
Usually engineers call an ALU the circuit that performs arithmetic operations in integer formats (like two’s complement and BCD), while the circuits that calculate on more complex formats like floating point, complex numbers, etc. usually receive a more illustrious name.
TRADUCCION.
UNIDAD ARITMETICA LOGICA (A.L.U)
En computacion la unidad arimetica logica A.L.U es un circuito digital que realiza operaciones aritmeticas y logicas. La ALU es un componente esencial de la unidad central de procesamiento de una computadora, e incluso los más simples microprocesadores contienen una para fines tales como el mantenimiento de temporizadores. Los procesadores mas modernos comos los CPU y GPU pueden tener dentro de ellos muy poderosos y muy complejo ALUs; un solo componente puede contener un número de ALUs.
El matemático John von Neumann propuso el concepto A.L.U en 1945, cuando escribió un informe sobre las bases de un nuevo equipo llamado EDVAC.
boomp3.com HISTORIA.
En 1946, Von Neumann trabajó con sus colegas diseñando un computador para el Princeton Institute of Advanced Studies (IAS) (Instituto de Princeton de Estudios Avanzados). El computador IAS se convirtió en el prototipo para muchos computadores posteriores. En la propuesta, von Neumann describió lo que el equipo creyó sería necesario en su máquina, incluyendo una ALU.
Von Neumann explicó que la A.L.U es necesaria para una computadora, porque está garantizado que una computadora tendrá que realizar operaciones matemáticas básicas, como la suma, resta, multiplicacion y divicion. Por lo tanto, creyó que era “razonable que la computadora debe contener los órganos especializados para estas operaciones”.
boomp3.com SISTEMA NUMERICO.
La A.L.U 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 de dos numeros binarios. 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 ALUs para cada uno de estos sistemas numéricos tenían diferentes diseños, y esto influenció la preferencia actual por el complemento a dos, debido a que ésta es la representación que hace que sea más fácil para las ALUs calcular adiciones y sustracciones.
boomp3.com INTRODUCCION PRACTICA.
La mayoría de las operaciones de un procesador son realizadas por uno o más ALU. Una ALU cargas los datos de entrada registrados, ejecuta y almacena el resultado en un registro de salida. La Unidad de Control le dice a la ALU qué operación le va a realizar a los datos. Otros mecanismos mueven datos entre estos registros y la memoria.
boomp3.com OPERACIONES SIMPLES.
La mayoría de las A.L.U pueden realizar las siguientes operaciones:
- Operaciones aritméticas de números enteros (suma,resta y a veces multiplicación y división, aunque esto es más complejo).
- Operaciones lógicas de bits (AND, NOT, OR, XOR) .
- Operaciones 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.
Este video incluyen los temas:
- Unidad Aritmetica Logica.
- Historia.
- Sistema Numerico.
- Introduccion Practica.
- Operaciones Simples.
http://www.youtube.com/watch?v=9rZtycp0Y1E
OPERACIONES COMPLEJAS.
Un ingeniero puede diseñar una A.L.U para calcular cualquier operación, sin importar lo compleja que esta sea; el problema es que entre más compleja sea la operación, más costosa será la A.L.U, más espacio usará en el procesador, y más energía ocupara, etc.
Por lo tanto, los ingenieros siempre calculan un rango, para proporcionar al procesador (u otros circuitos) una A.L.U suficientemente poderosa para hacerlo mas rápido, pero no tan complejo para llegar a ser prohibitivo. Imagine que usted necesita calcular, la raíz cuadrada de un número; el ingeniero digital examinará las opciones siguientes para implementar esta operación:
- Diseñar una extraordinaria y muy compleja A.L.U 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 muy compleja A.L.U que calcula la raíz cuadrada de cualquier número en varios pasos. Pero aquí está el truco, los resultados intermedios pasan por una serie de circuitos que se organizan en una línea, como una línea de producción de una fábrica. Eso hace que la A.L.U sea capaz de aceptar nuevos números para calcular, incluso antes de terminado el cálculo de los anteriores. Eso hace que la A.L.U sea capaz de producir números tan rápido como una solo reloj A.L.U, aunque los resultados empiezan a flujo de salida de la ALU sólo después de un retraso inicial. Esto se llama cálculo de tuberías.
- Diseñar una compleja A.L.U que calcula la raíz cuadrada a través de varios pasos. A esto se le llama cálculo interactivo, y por lo general se basa en el control de una compleja unidad de control con una función de microcódigo.
- Diseñar una simple A.L.U en el procesador, y vender un procesador por 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.
- Decirle a los programadores que no hay un co-procesador y no hay emulación, como resultado tendrán que escribir sus propios algoritmos para calcular la raíz cuadrada por medio de otro software. Esto se realiza por bibliotecas de software.
- Emular la existencia del coprocesador, es decir, siempre que un programa intente realizar el cálculo de la raíz cuadrada, hace 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.
Las opciones arriba van de la más rápida a la más costosa y de 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 poderosos como el Pentium IV y el AMD 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.
boomp3.com Entradas y Salidas.
Las entradas de la A.L.U son los datos en los que se harán las operaciones (llamados operandos) y un código que va a la unidad de control indicando qué operación se van a realizar.
Su salida es el resultado de la cómputacion.
En muchos diseños la A.L.U también toma o genera entradas o salidas de un conjunto de códigos de condición desde o hacia un registro de estado.
boomp3.com ALU vs. FPU.
Una unidad de punto flotante, Floating Point Unit (FPU), también realiza operaciones aritméticas entre dos valores, pero lo hace para números en representación de punto flotante, que es mucho más complicada que la representación de complemento a dos usada en una típica A.L.U. Para hacer estos cálculos, una FPU tiene incorporados varios circuitos complejos, incluyendo algunas ALU internas.
Generalmente los ingenieros llaman A.L.U al circuito que realiza operaciones aritméticas en formatos de número entero (como complemento a dos y BCD), mientras que los circuitos que calculan en formatos más complejos como punto flotante, números complejos, etc., reciben generalmente un nombre más ilustre.
Este video incluye los temas:
- Operaciones Complejas.
- Entradas y Salidas.
- ALU vs FPU
http://www.youtube.com/watch?v=3WsVklOWZRw
REFERENCIA:


