background image

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

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

 

= 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 
 

background image

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 

 

background image

7. 

Multi Cycle dla: ADD i NOP