1.
10101010 zamienid na wartośd dziesiętną:
a) U1
10101010 = (-2
7
+ 1) + 2
5
+ 2
3
+ 2
1
= -127 + 32 + 8 + 2 = -85
b) U2
10101010 = -(2
7
) + 2
5
+ 2
3
+ 2
1
= -128 + 32 + 8 + 2 = -86
c) Excess
128
10101010 = 2
7
+ 2
5
+ 2
3
+ 2
1
– 128 = 32 + 8 + 2 = 42
d) ZM
10101010 = (-1)
1
* ( 32 + 8 + 2) = -42
2.
-3,25 podad w IEEE754
a) Zamieniamy 3,25 na dziesiętny:
3,25
(10)
= 11,01
(2)
b) Przesuwamy przecinek (taki standard ;) ):
1,101 * 2
1
c) Do liczby 127 dodajemy wykładnik potęgi 2 (z przesuwania przecinka):
127 + 1 = 128
d) Zamieniamy na dwójkowy:
128
(10)
= 10000000
(2)
Nasza liczba ostatecznie wygląda tak
1
10000000
101
00000000000000000000
1 – znak – ponieważ nasza liczba jest ujemna
10000000 – wykładnik – bierzemy z pkt. c
101
00000000000000000000 –
man
tysa –
101 to częśd ułamkowa z pkt. b ,
a pozostałe „0” dopisujemy
do 32 bitów, ponieważ jest to liczba IEEE 754 pojedynczej precyzji (podwójnej ma 64 bity)
3.
Dodawanie binarne, podad bity C V N Z i wyjaśnid co oznaczają:
Na czerwono bity które są przenoszone przed liczbę w dodawaniu, ale ponieważ jest to dodawanie
4bitowe to ten bit nie znajduje już miejsca (overflow).
Na niebiesko wynik.
C
= 1 jeśli powstaje bit carry.
V = 1
overflow (przepełnienie) robisz xor'a z 2 ostatnich przeniesieo
N
= 1 jeśli najbardziej znaczący bit w wyniku jest równy 1
Z = 1 jeśli cały wynik to 0, tzn. wszystkie bity = 0
a)
1
1010
0110
0000
C:1 V:0 N:0 Z:1
b) 0111
0001
1000
C:0 V:1 N:1 Z:0
4.
CSLA 8 bitowy
Podstawowym założeniem CSLA jest użycie dwóch bloków RCA, do jednego z nich dostarczane jest stałe 0
a do drugiego stałe 1. Dlatego też oba bloki mogą przeprowadzad obliczenia równolegle. Kiedy dociera do
danego bloku sumatora dociera sygnał Carry-in , multipleksery są używane do wybrania odpowiedniego
wyniku z pośrednich sum już wcześniej wyliczonych. Po wyliczeniu wynikowy Carry-out jest przekazywany
do kolejnego bloku.
a) Dla kilku fragmentow argumentow obliczane są
rownolegle dwie wersje wyniku: dla przeniesieo 0 i 1
b) Koocowy wynik jest wybierany z gotowych alternatyw
na podstawie obliczonych przeniesieo
5.
Podad wartośd R1, żeby BEQ się wykonało:
R0=0x00000000
ADDI: R1, OxFFFF0000, R1
BEQ: R1, R0, jump
R1 = 0x00010000, bo
R1 + 0xFFFF0000 =
1111 1111 1111 1111 0000 0000 0000 0000
+
0000 0000 0000 0001 0000 0000 0000 0000
=
0000 0000 0000 0000 0000 0000 0000 0000
=
0x00000000
6.
Obliczyd rozmiar pamięci, wynik w bajtach.
16 drożna pamięd CACHE
Tag: 24 bity
Index: 3 bity
Offset: 5 bitów
a) Pamięd danych:
2
4
* 2
3
* 2
5
B = 2
12
B = 4096B
b) Pamięd Tag:
2
4
* 2
3
* 3B = 384B
7.
Multi Cycle dla: ADD i NOP