Chociaż dziś nikt jej nie używa, jest ona ogniwem w łańcuchu ewolucji elektroniki cyfrowej, łączącym bramkę logiczną z mikroprocesorem.
Co to za czort?
Weźmy na przykład bramkę AND. Ma ona dwa wejścia, jedno wyjście i koniec. Bramka AND jest tylko bramką AND i niczym więcej. Tak samo bramki OR, NAND, NOR, EXOR, EXNOR pełnią tylko jedną funkcję. Budując zatem zaawansowane układy, trzeba by mieć całą garść różnorakich bramek, które oczywiście zajmują dużo miejsca, ciągną dużo prądu i są drogie. Ktoś wpadł na pomysł, by stworzyć bramkę uniwersalną, która mogła by wykonywać wszystkie te funkcje.
Takim właśnie układem jest 4-bitowa jednostka arytmetyczno-logiczna 74181 (zwana dalej ALU). Realizuje 16 funkcji logicznych, m.in. potwierdzenie A, B, negację A, B, AND, OR, IF, NAND, NOR, EXOR, EXNOR i kilka innych, powstałych poprzez połączenie wymienionych. Można także zrealizować 16 funkcji arytmetycznych, jak pokazuje tabelka:
Wybór żądanej funkcji odbywa się poprzez podanie odpowiednich sygnałów na wejścia funkcyjne S0 S1 S2 S3 i pomocnicze M (wejście trybu pracy: logicznego lub arytmetycznego) oraz wejście Cn (przeniesienie nadmiaru na poprzedniego układu systemu).
W trybie logicznym, ALU zachowuje się jak cztery niezależne od siebie bramki logiczne - np. wejścia A1 i B1 sterują tylko sygnałem F1. W trybie arytmetycznym, stan wejść reprezentuje dwie liczby binarne od 0 do 15.
Aby było widać gdzie jakie są stany, dałem diodę* na każde wejście i wyjście. Zapalona dioda oznacza 1, zgaszona 0. Umiejscowienie diod jest dobrane nie bez powodu - kolumny odpowiadają kolejnym potęgom dwójki: 16, 8, 4, 2, 1; a wiersze, to wejście A, B i wynik. Taka konfiguracja diod przypomina dodawanie w słupku znane ze szkoły. Szczegóły działania tego wynalazku wyjaśnia film
Co było dalej?
Układy ALU były stosowane w latach 60-tych i 70-tych. Jednak mimo fajnej idei działania miały swoje wady. ALU to układ kombinacyjny, który nie ma pamięci. Nie potrafi też zrobić nic ambitniejszego niż 32 standardowe operacje. Aby układ wykorzystać w praktyce, trzeba było dołączyć do niego pamięć operacyjną, coś co będzie sterowało wejściami i wyjściami i jakąś pamięć z programem do wykonania. Na początku lat 70-tych w firmie Intel wpadli na pomysł, by wszystkie te układy wepchnąć do jednej obudowy, i tak powstał pierwszy mikroprocesor Intel 4004. Obecnie nikt już nie stosuje ALU w postaci pojedynczego układu, ale są one częścią składową wszystkich zaawansowanych mikroprocesorów.
Ciekawostka - układy 74181 można było łączyć dla uzyskania systemów o większej liczbie bitów niż 4. Układem 74182 można było połączyć tyle ALU, by uzyskać system 64 bitowy.
*Diody pochodzą z mrugającego serduszka, które kiedyś robiłem dla mojej byłej kochanej :) serduszko nie działało, więc Elcia musiała zadowolić się czymś innym, a niedorobiony układ na 2 lata trafił do szuflady. Niedawno go znalazłem i wymyśliłem, że przerobię romantyczny prezent na zimny układ logiczny :)
Pliki do pobrania:
19 komentarze :
heh przypomniały mi się czasy technikum gdzie profesur próbował wytłumaczyć nam co to takiego jest to ALU, oczywiście nikt nie kumał o co kaman Razz
Przydałaby się wtedy taka zabaweczka, może było by łatwiej
A ja mam pytanie Very Happy
Co znaczy w tej tabelce to "IF" ? Czyżby to była jakaś nowa funkcja logiczna Very Happy
no generalnie rzecz biorąc, to jak się nie mylę, to masz w tej tabelce trochę błędów.
1111 AND 1010 = 1010, a nie 1011
1111 OR 1010 = 1111, a nie 1110
w tym momencie podobnie będzie dla nand'a i nor'a... czyli odpowiednio 0101 oraz 0000
jeżeli chodzi o xor'a i xnor'a to:
1111 XOR 1010 = 0101
1111 XNOR 1010 = 1010
Proponuję również przyjrzeć się układom PLD oraz FPGA.
Jak na mój gust, to ta tabelka ma być ściągą kodów działań, a nie wynikami działań.
asne jest, że to tablica wyboru realizowanej funkcji. IF to realizacja sumy logicznej A/+B
Genialne! Teraz przydało by się zaprojektować 4 bitowy ALU od podstaw!
@RMB13
IF to funkcja JEŻELI. W elektronice właściwie nieużywana, ale po dwóch semestrach logiki teoretycznej nie mogłem się oprzeć, by jej nie zamieścić w ściądze.
@serferek
Nie czaję o co kaman. Tabelka to ściąga tego co ma być ustawione na wejściu funkcyjnym aby wykonać daną funkcję. Jest przepisana z dokumentacji 74181 od producenta i na 100% jest poprawna.
@DARK$$
Bardzo proszę
http://obrazki.elektroda.net/14_1251399634.png
Projekcik super. Przeznaczenie czysto edukacyjne-oby więcej takich na elektrodzie. A czy kolega podzieliłby się z nami wzorem płytki drukowanej?
Witam dołączam się do prośby kolegi wyżej. Aha a nikt nie myślał nad zrobieniem płytki jednostronnej??
Mój brat jest mgr inż. elektrotechnik a pewnie jak mu to pokaże to nawet nie będzie wiedział jak to włączyć.
Ale pomysł na odświeżeniem tak starego układu jest wspaniały 6/6
Płytkę wrzucę dziś wieczorem albo później, bo muszę poprawić parę błędów, które wyszły "w praniu" :)
Super, teraz tylko połącz 2x 181 + rejestr przesuwny i zbuduj 8-bitowy kooprocesor arytmetyczny do CPU na magistrali pamięci operacyjnej. Ja gdzieś mam nawet schemat jak na tych układać zbudować 16-bitową jednostkę ALU właśnie z rejestrami przesuwającymi.
http://obrazki.elektroda.net/44_1251536000.jpg
Co do nietypowych operacji jakie wykonuje to ALU (181) to układy te były projektowane w takich trochę przewrotnych czasach kiedy to technologia LSI raczkowała i zakładano że znajdą sie chętni do budowania mikroprocesorów (dziwnie brzmi w tym kontekście ) Laughing na układach dyskretnych, i z tego co wiem to układach 74LS można zbudować cały procesor podobny nieco do 8080, właśnie z wykorzystaniem ALU 181.
Witam! Mam zamiar zbudować taki bajer ale mam 2 pytania :)
1. Jaki tranzystor umieścić pod ALU? Czy obojętnie jaki byle by był NPN?
2. Czy zamiast układu 74LS181 można wstawić 74HC181?
Bardzo fajny pomysł ze starymi układami. Czy na wyjściu można podłączyć wskażnik led do zobrazowania wyniku i dodać jakąś pamięć.ekielpinski@wp.pl
Trzeba by zaprojektować nową płytkę, bo ta wersja nie przewiduje możliwości rozbudowy.
Zastosowany tranzystor to BC368 a wersja 74HC181 też będzie dobra.
Witam serdecznie! Czy miałby Kolega do sprzedania samą wykonaną płytkę pod ten układ?
Niestety już nie.
Witam, dopiero dzisiaj na lekcji o budowie mikrokontrolerów dowiedziałem się co to jest Alu. Ale bardzo ciekawi z czego on jest zbudowany?? Tak samo jak bramki logiczne posiada pełno tranzystorów i rezystorów??
Wszystko zależy od stopnia abstrakcji, który jesteś w stanie zrozumieć. Można by powiedzieć, że to jest zbudowane z kilkunastu bloków logicznych (multiplekser, dekoder, itp), z kilkudziesięciu bramek (w dokumentacji jest schemat na bramkach), z kilku tysięcy tranzystorów, z kilkuset tysięcy pól ma warstwach struktury scalonej, albo z milionów atomów :) Każdy układ można rozłożyć na prostsze jednostki, ale nie zawsze ma to sens. Lepiej to traktować jako czarną skrzynkę, do której coś wchodzi i coś wychodzi, a to co siedzi w środku to już mniej istotne.
"Układy ALU były stosowane w latach 60-tych i 70-tych."
TE akurat ALU czyli 74181 nie były stosowane w latach'60 ponieważ nazwa SYSTEM 74 pochodzi od roku rozpoczęcia produkcji przez twórcę czyli Texas Instruments.
Kodowanie temperatury pracy pierwszą cyfrą to późniejszy "wynalazek".
Prześlij komentarz
Skomentuj!