Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Architektura komputerów

Podobne prezentacje


Prezentacja na temat: "Architektura komputerów"— Zapis prezentacji:

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

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

3 Reprezentacja liczb całkowitych
Liczby całkowite: Liczby rzeczywiste: MSB LSB 27 26 25 24 23 22 21 20 6110 = 1, = 1,

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ł)
2110 = -2110 = 010 = 010 = 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 algorytm Odejmowanie 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 2 Zmiana MSB Negacja Jedna Dwie Reprezentacje zera -2n-1 do 2n-1-1 -2n-1-1 do 2n-1-1 Zakres U2 Znak-moduł Cecha

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

8 Operacje arytmetyczne na liczbach całkowitych (2)
Rozszerzenie bitowe: Znak-moduł (21) 8b (21) 16b (-21) (-21) 16b U2 (-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: U2 (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: 7x5 0111 (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) przesuwanie sumator Przeniesienie (C) Akumulator (A) Mnożnik (Q)

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: -7x3 1001 (-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 START =10 =01 Q0, Q-1 A  A - M =11 =00 A  A + M NIE Przesunięcie w prawo A, Q, Q-1 Licznik bitów = licznik bitów - 1 Licznik bitów=0 TAK STOP

17 Przykład mnożenia w kodzie U2 (operacja 7 x 3)
A Q Q 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 Przesuń A,Q w lewo START A  A - M NIE TAK A < 0? Q0  1 Q0  0 A  A + M NIE Licznik bitów=0 Licznik bitów = licznik bitów - 1 TAK STOP

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

20 Przykład dzielenia w kodzie U2 (operacja –7/3)
A Q M wartości początkowe przesuń dodaj przywróć przesuń dodaj przywróć przesuń dodaj ustaw Q0 = 1 przesuń dodaj 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 107 (1.24e7) 5.82 x 10-21 x x 16101 Format 32-bitowej liczby zmiennopozycyjnej: wykładnik mantysa znak 8 bitów 23 bity

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

24 Zapis liczby binarnej w formacie zmiennopozycyjnym
1, x 220 = 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 2-23 = 1.2 x 10-7 Konieczny jest kompromis pomiędzy dokładnością i zakresem

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

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
Sprawdzenie zer Wyrównanie mantys Dodanie lub odjęcie mantys Normalizacja wyniku Przykład: (123 x 100)+(456 x 10-2)=(123 x 100)+(4,56 x 100) = = 127,56 x 100

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

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

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

35 Układy logiczne (3) Półsumator A B S C 0 0 0 0 0 1 1 0 1 0 - - 1 1 - -
A B S C A S B C

36 Układy logiczne (4) Sumator A B Ci S Co 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0
Ci A B A S B C S Co A S B C

37 Układy logiczne (5) Sumator 4-bitowy S0 S1 S2 S3 C1 C2 C4 C3
A B A1 B A2 B A3 B3


Pobierz ppt "Architektura komputerów"

Podobne prezentacje


Reklamy Google