Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Architektura komputerów Wykład nr 3: Układy logiczne, arytmetyka komputera Piotr Bilski.

Podobne prezentacje


Prezentacja na temat: "Architektura komputerów Wykład nr 3: Układy logiczne, arytmetyka komputera Piotr Bilski."— Zapis prezentacji:

1 Architektura komputerów Wykład nr 3: Układy logiczne, arytmetyka komputera Piotr Bilski

2 Jednostka arytmetyczno- logiczna (ALU) Realizuje operacje arytmetyczno-logiczne Obliczenia wykonywane są na liczbach w kodzie dwójkowym (algebra Boolea) ALU CU rejestry znaczniki stanu rejestry

3 Reprezentacja liczb całkowitych Liczby całkowite: Liczby rzeczywiste: = , = 1, LSB MSB

4 Liczby całkowite (reprezentacja stałopozycyjna) Reprezentacja dla liczby A pozbawionej znaku Reprezentacja znak-moduł Reprezentacja uzupełnienia do dwóch (U2)

5 Przykłady (znak-moduł) = = = = Zero ma podwójną reprezentację Dodawanie i odejmowanie wymaga osobnej analizy znaków i modułów

6 Właściwości reprezentacji U2 Dodawanie liczby przeciwnej Osobny algorytmOdejmowanie Gdy znaki operan- dów są równe, a wyniku - przeciwny Analiza znaków i modułów Przepełnienie Dodatkowe bity wypełniane znakiem Dodatkowe bity = 0 MSB znak Zwiększenie liczby bitów Uzupełnienie do 2Zmiana MSBNegacja JednaDwieReprezentacje zera -2 n-1 do 2 n n-1 -1 do 2 n-1 -1Zakres U2Znak-modułCecha

7 Operacje arytmetyczne na liczbach całkowitych (1) Negacja: Znak-moduł (21) (-21) U (21) NEG(21) (-21)

8 Operacje arytmetyczne na liczbach całkowitych (2) Rozszerzenie bitowe: Znak-moduł (21) 8b (21) 16b (-21) (-21) 16b U (21) 8b (21) 16b (-21) 8b (-21) 16b

9 Operacje arytmetyczne na liczbach całkowitych (3) Dodawanie: Znak-moduł (25) (13) (38) (-25) (-13) (-38) (-25) x (13) x NEG(13) (-12) (-12) (-13) x (25) x NEG(25) (12) R NEG(R)

10 Operacje arytmetyczne na liczbach całkowitych (4) Dodawanie: U (25) (13) (38) (-25) (-13) (-38) (-25) (13) (-12) (-13) (25)

11 Operacje arytmetyczne na liczbach całkowitych (5) Mnożenie Liczby całkowite bez znaku: 7x (7) 4b mnożna 0101 (5) 4b mnożnik (35) 8b !!

12 Usprawnienia metody mnożenia Każdy wynik cząstkowy od razu sumowany (mniej rejestrów!) Mnożenie przez zero to tylko przesunięcie!

13 Realizacja sprzętowa mnożenia liczb bez znaku Mnożna (M) Mnożnik (Q) Przeniesienie (C) sumator przesuwanie Akumulator (A)

14 Przykład działania realizacji sprzętowej C A Q M wartości początkowe dodaj przesuń przesuń dodaj przesuń przesuń wynik

15 Mnożenie w reprezentacji U2 Liczby całkowite ze znakiem: -7x (-7) mnożna 0011 (3) mnożnik (-21) Inna interpretacja przesuwania binarnego Liczba ujemna musi być reprezentowana w kodzie U2

16 Realizacja mnożenia w kodzie U2 – algorytm Bootha A 0, Q -1 0, LOAD(M, Q) Licznik bitów = n Przesunięcie w prawo A, Q, Q -1 Licznik bitów = licznik bitów - 1 A A - M A A + M START Q 0, Q -1 STOP Licznik bitów=0 TAK =01 =10 =11 =00 NIE

17 Przykład mnożenia w kodzie U2 (operacja 7 x 3) A Q Q -1 M wartości początkowe odejmij przesuń arytmetycznie przesuń arytmetycznie dodaj przesuń arytmetycznie przesuń arytmetycznie wynik

18 Dzielenie liczb całkowitych bez znaku A 0, LOAD(M, Q) Licznik bitów = n Licznik bitów = licznik bitów - 1 Q 0 1 Q 0 0 A A + M START A < 0? STOP Licznik bitów=0 TAK NIE Przesuń A,Q w lewo A A - M

19 Dzielenie liczb w kodzie U2 LOAD(A, M, Q) Licznik bitów = n Licznik bitów = licznik bitów - 1 Q 0 0 Q 0 1 START operacja udana? STOP Licznik bitów=0 TAK NIE Przesuń A,Q w lewo A A - M znaki A i M identyczne? A A + M NIE TAK przywróć A

20 Przykład dzielenia w kodzie U2 (operacja –7/3) A Q M wartości początkowe przesuń 0010 dodaj przywróć przesuń 0001 dodaj przywróć przesuń 1111 dodaj ustaw Q 0 = przesuń 0010 dodaj przywróć wynik

21 Reprezentacja zmiennopozycyjna Służy do reprezentacji liczb bardzo małych oraz bardzo dużych Liczba taka ma postać: gdzie: m – mantysa c – cecha (wykładnik) b - podstawa

22 Przykłady 1.24 x 10 7 (1.24e7) 5.82 x x x Format 32-bitowej liczby zmiennopozycyjnej: 8 bitów 23 bity znak wykładnik mantysa

23 Zapis liczby binarnej w formacie zmiennopozycyjnym 1, x 2 20 = x , x 21, , , x 20, ,53125 x 21,0625 0, ,0625 x 20, ,125 x 20,25 0 0,25 x 20,5 1 0,5 x 21,0 0

24 Zapis liczby binarnej w formacie zmiennopozycyjnym 1, x 2 20 = x Wykładnik jest liczbą przesuniętą o 127, więc 20 = = 147 (j.w.)

25 Normalizacja liczby w formacie zmiennopozycyjnym Wykładnik jest tak zmieniany, aby pierwsza cyfra mantysy przed przecinkiem była niezerowa Ponieważ niezerowa cyfra to 1, nie trzeba jej przechowywać

26 Zakres i dokładność liczb zmiennopozycyjnych Dla liczby 32-bitowej: Wykładnik jest 8-bitowy, zatem zakres liczb to Mantysa jest 23-bitowa, zatem dokładność wynosi = 1.2 x Konieczny jest kompromis pomiędzy dokładnością i zakresem

27 Gęstość i zakres liczb w formacie zmiennopozycyjnym -n 0 n 2n 4n przepełnienie ujemne przepełnienie dodatnie zero niedomiar ujemny niedomiar dodatni

28 Norma IEEE 754 Stosowany standard przechowywania liczb zmiennopozycyjnych Dotyczy liczb 32- i 64-bitowych Cecha o długości, odpowiednio, 8 i 11 bitów Domyślna podstawa wynosi 2 Przewidziane formaty rozszerzone dla obliczeń pośrednich

29 Wartości specjalne w IEEE 754 c = 0, m = 0 – dodatnie lub ujemne zero c = , m = 0 – dodatnia lub ujemna nieskończoność c = 0, m 0 - liczba zdenormalizowana (bit na lewo od przecinka jest zerem!) c = , m 0 - NaN

30 Arytmetyka zmiennopozycyjna Podstawowe operacje:

31 Dodawanie i odejmowanie 1.Sprawdzenie zer 2.Wyrównanie mantys 3.Dodanie lub odjęcie mantys 4.Normalizacja wyniku Przykład: (123 x 10 0 )+(456 x )=(123 x 10 0 )+(4,56 x 10 0 ) = = 127,56 x 10 0

32 Mnożenie i dzielenie 1.Sprawdzenie zer 2.Dodanie wykładników i odjęcie wartości przesunięcia od sumy 3.Sprawdzenie przepełnienia lub niedomiaru wykładnika 4.Mnożenie mantys z uwzględnieniem znaków (postać znak-moduł!) 5.Zaokrąglanie i normalizacja wyniku iloczynu

33 Układy logiczne (1) Podstawowe bramki: ABAB Y Y = A AND B ABAB Y A Y Y = A OR B A = NOT Y ABY ABY ABY ABY AY1001AY1001

34 Układy logiczne (2) Dodatkowe bramki: ABAB Y Y = A NAND B ABAB Y Y = A NOR B ABY ABY ABY ABY ABAB Y = A XOR B Y ABY ABY

35 Układy logiczne (3) Półsumator ABAB SCSC ABSC ABSC A S B C

36 Układy logiczne (4) Sumator A S B C A S B C CiABCiAB SCoSCo A B C i S C o

37 Układy logiczne (5) Sumator 4-bitowy A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3 0 S 0 S 1 S 2 S 3 C1C1 C2C2 C3C3 C4C4


Pobierz ppt "Architektura komputerów Wykład nr 3: Układy logiczne, arytmetyka komputera Piotr Bilski."

Podobne prezentacje


Reklamy Google