Eligiendo funciones ALU

1

Actualmente estoy tomando el curso Nand2Tetris en línea, donde estoy en el proceso de construir una computadora virtual todo desde nand puertas Aprendí qué es una ALU, cómo funciona y construí una virtual sencilla yo mismo.
Ahora me gustaría crear mi propia ALU física de 8 bits a partir de IC de la serie 74 (HC). Tengo experiencia en la construcción de dispositivos electrónicos y en el uso de circuitos integrados, a nivel de pasatiempo. Mi único problema real es que no sé qué funciones elegir para mi nueva ALU. En la ALU virtual que construyo hay entradas x e y, y 6 funciones:
- cero x
- no x (bitwise),
- cero y,
- no y (bitwise),
- f (0: x AND y 1: x + y),
- No (a nivel de bit, en todo).
Voy a construir una computadora completa, así que por supuesto podría agregar multiplicación con software más adelante, pero probablemente me gustaría tener más funciones de hardware. De mi investigación descubrí sobre los decrementos y decrementos, los cambios de izquierda / derecha, otros circuitos de multiplicación / división "completos" y, por supuesto, implementaciones más lógicas. Pero no tengo idea de qué funciones son necesarias / útiles tener en una ALU, y cuál es un buen equilibrio entre las implementaciones de hardware y software.

    

2 respuestas

0
  

Pero no tengo idea de qué funciones son necesarias / útiles tener en una ALU

Tampoco nosotros, como usted no especificó la aplicación en la que debe usarse su ALU. ¿Qué es una función use de un dispositivo depende de su uso .

El artículo de wikipedia tiene una buena lista de funciones comunes, es decir,

  1. agregar
  2. agregar con carry
  3. restar
  4. y
  5. o
  6. cambio

También hace una declaración sobre una funcionalidad más compleja :

  

Aunque una ALU puede diseñarse para realizar funciones complejas, la mayor complejidad, el costo, el consumo de energía y el tamaño más grande del resultado hacen que esto sea poco práctico en muchos casos. En consecuencia, las ALU a menudo se limitan a funciones simples

Creo que tiene sentido y estoy de acuerdo.

Un ejemplo de funcionalidad más compleja podría ser una unidad MAC Que puede ser capaz de hacer una multiplicación de dos números en un ciclo, lo cual es útil para algunas aplicaciones en tiempo real.

Como puede ver, esto es básicamente una simple operación aritmética, pero no se incluye en la ALU sino en una unidad dedicada.

    
respondido por el Magic Smoke
0

Una cosa a tener en cuenta es qué funciones se proporcionaron en varios ICU de ALU de MSI (integración a escala media) que aparecieron hace unos 40 años, cuando las CPU de gama alta aún se estaban construyendo a partir de chips discretos. Los dos chips a continuación fueron unidades ALU de 4 bits, por lo que se necesitarían cuatro en una computadora de 16 bits y ocho para una computadora de 32 bits.

Aquí hay una tabla de 48 funciones de 74F181 usando cuatro líneas de selección (16) más dos cables de control adicionales:

quetalvezvayaunpocoporlaborda.Sinembargo,eraunchipmuypopularyseusabaenmuchasminicomputadorascomolaPDP-11yVAX11/780.

Aquíhayunatablade8funcionesmássimplede 74F381 , que usa solo tres líneas de selección:

    
respondido por el tcrosley

Lea otras preguntas en las etiquetas