Jednostka arytmetyczno-logiczna (ang. ALU Ś arithmetic and logical unit) to jedna z głównych części procesora, prowadząca proste operacje na liczbach całkowitych.
Typowe ALU ma dwa wejścia odpowiadające parze argumentów i jedno wyjście na wynik. Operacje jakie prowadzi to:
operacje logiczne AND, OR, NOT, XOR
dodawanie
często też, odejmowanie, negacja liczby, dodawanie z przeniesieniem, zwiększanie/zmniejszanie o 1
przesunięcia bitowe o stałą liczbę bitów, czasem też o zmienną liczbę
dość często mnożenie i czasem dzielenie/modulo
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 trudniejsze od zaimplementowania samego dodawania. Mnożenie jest już droższe, a dzielenie jest bardzo drogie w porównaniu do tych operacji.
Klasyczne procesory zawierały jedno ALU. Procesory o architekturze superskalarnej zawierają kilka ALU, i mogą ich używać jednocześnie. 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ń (często niejawnych dla programisty, np. przy wyliczaniu adresu pola obiektu na podstawie adresu obiektu czy dostępu do n-tej zmiennej na stosie) niż mnożeń, a dodanie mnożenia mocno komplikuje ALU.
Służy do wykonywania operacji arytmetycznych i logicznych na liczbach binarnych A i B. ALU ?181 realizuje 16 funkcji logicznych dwóch zmiennych A i B oraz podstawowe działania arytmetyczne: dodawanie A+B, odejmowanie A-B, przesunięcie arytmetyczne w lewo 2* A, następnik A+1, poprzednik A-1. Wszystkie te działania uwzględniają przeniesienie z poprzedniego stopnia, a więc mogą być wykonywane na liczbach wielobitowych
oznaczenia do rysunku:
S - wejście sterujące, określające realizowaną funkcję
C0, C4 - wejścia i wyjścia przeniesienia
M - wejście trybu pracy
F - wyjście wyniku
A = B - wejście porównujące =1, gdy F=1
X, Y - wyjście do generatora przeniesień jednoczesnych
Wyszukiwarka
Podobne podstrony:
Posłanie Prezesa Zarządu Raport Roczny jedn 2005C6a Transf jedn 12RM jednwspol jednKarta zgł jedn lokalnejUKŁAD ARYTMETYCZNO – LOGICZNY (ALU)procedury?zpieczenstwa dla jedn wojennychWzor 02 Wykaz osob jedn org i org s alf 1 2swięcej podobnych podstron