Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker.

Responsive image


Jednostka arytmetyczno-logiczna

Typowy symbol ALU: A i B - operandy; R - wyjście; F - wejście z jednostki kontrolnej; D - status wyjścia

Jednostka arytmetyczno-logiczna (z ang. arithmetic and logical unit lub arithmetic logic unit, ALU) – układ cyfrowy, wykonujący operacje arytmetyczne (takie jak dodawanie, odejmowanie itp.), operacje logiczne na dwóch liczbach oraz operacje jednoargumentowe, takie jak przesunięcie bitów, negacja. ALU jest podstawowym blokiem centralnej jednostki obliczeniowej komputera.

Typowa ALU ma dwa wejścia odpowiadające parze argumentów i jedno wyjście na wynik. Operacje jakie prowadzi to:

Przyczyną dla której operacje te grupuje się w ALU jest to, że bramek logicznych potrzebnych do zaimplementowania wszystkich operacji z zestawu: dodawanie (z przeniesieniem i bez), odejmowanie (z przeniesieniem i bez), negacja liczby, zwiększanie i zmniejszanie o 1, AND, OR, NOT, XOR jest niewiele więcej od zaimplementowania samego dodawania. Szybkie mnożenie wymaga znacznie więcej, a dzielenie jeszcze więcej bramek w porównaniu do tych operacji.

Klasyczne procesory zawierały jedną ALU. Procesory o architekturze superskalarnej zawierają kilka ALU i mogą ich używać jednocześnie wykonując jednocześnie kolejne instrukcje.

Często ALU te są nieidentyczne ─ np. z trzech ALU wszystkie potrafią wykonywać podstawowe operacje (dodawanie, odejmowanie i logiczne), a jedynie jedno potrafi mnożyć i dzielić. Taki procesor w jednym cyklu może wykonać np. 1 mnożenie i 2 dodawania, nie może natomiast wykonać 2 mnożeń. Jest to uzasadnione, ponieważ typowy program wykonuje o wiele więcej dodawań niż mnożeń, przy czym operacje dodawania są często niejawne dla programisty, bo są np. wykonywane przy wyliczaniu adresu pola obiektu na podstawie adresu obiektu czy zmiennej, której położenie jest określone względem rejestru adresowania.


Previous Page Next Page