jednostka arytmetyczno logiczna procesora 8 bitowego (13 s


A R C H I T E K T U R A K O M P U T E R Ó W

P R O J E K T

Temat: Jednostka arytmetyczno-logiczna procesora 8 - bitowego

Spis treści:

I Założenia projektu i sposób wykonania

II Rozwiązanie układu i wykonanie

  1. Schemat blokowy jednostki ALU

  1. Opis poszczególnych bloków

    1. NAND

    1. SUMA

    1. KOMPARATOR

    1. REJESTRY

      1. Rejestr WEJŚCIOWY

      1. Rejestr WYJŚCIOWY

      1. Rejestr FLAG

  1. Multiplekser

  1. Słowo sterujące

  1. Podsumowanie

  1. Bibliografia

I Założenia projektu i sposób wykonania

Zadaniem naszym jest zaprojektowanie jednostki arytmetyczno-logicznej (ALU). Układ ma wykonywać proste operacje arytmetyczne (dodawanie), operacje logiczne (funkcja NAND, przesuw cykliczni i logiczny) i komparację.

Lista rozkazów ALU:

ADD A,rx

A: = A + rx Dodaj rejestr do zmiennej

SUB A,rx

A: = A - rx - C Odejmij rejestr od zmienne z przeniesieniem, ustawia C jeśli przeniesienie

INC A

A: =A + 1 Inkrementuj zmienna

INC rx

rx: = rx + 1 Inkrementuj zawartość rejestru

DEC A

A: = A - 1 Dekrementuj zmienna

DEC rx

rx: = rx - 1 Dekrementuj zawartość rejestru

NOT A

Negacja zmiennej

RL

Przesuń w lewo

RLC

Przesuń w lewo przez przeniesienie

RR

Przesuń w prawo

MOV rx,A

rx: = M[A] Prześlij do rejestru

CLR A

A: = #0 Zeruj zmienna

CLR C

C: = #0 Zeruj bit przeniesienia

SETB C

C: = #1 Ustaw bit przeniesienia

JMP etykieta

Skocz bezwarunkowo

CJNA rx,etykieta

Porównaj A z rejestrem, skocz, gdy nie są identyczne.

DJNZ rx,etykieta

Dekrementuj wartość rejestru, skocz gdy nie zero.

JC etykieta

Sprawdź C, skocz, gdy zero.

JNC etykieta

Sprawdź C, skocz, gdy nie zero.

JAZ etykieta

Sprawdź A, skocz, gdy zero.

JANZ etykieta

Sprawdź A, skocz, gdy nie zero.


0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic


2. Opis poszczególnych bloków

Bloki ALU mogą być łączone kaskadowo, czas propagacji przeniesienia w takim układzie jest równy sumie czasów propagacji przez poszczególne bloki, a więc w przypadku większej liczby bitów czas wykonywania operacji będzie długi. Aby skrócić czas propagacji przeniesień, należy generować przeniesienia równoległe we wszystkich modułach.

2.1 Blok NAND

Jest to najprostszy z bloku jednostki ALU. Składa się z ośmiu bramek dwu wejściowych NAND. Na poszczególnych bitach wejść A i B realizowana jest funkcja logiczna NAND.

Parametry:

A=8

T=1

Złożoność: A*T=8

Schemat układu:

0x08 graphic

2.2 Blok SUMA

Blok sumy składa się z 3 sumatorów 4bitowych, o krótkim czasie propagacji przeniesień, oraz układu multipleksującego wybierającego 4 starsze bity sumy w zależności od przeniesienia z młodszej 4 bitowej części sumy

Każdy z modułów sumatora ma następującą budowę:

0x01 graphic

Parametry:

A=42

T=7

A*T=294

Sumator równolegle oblicza 2 cząstkowe sumy starszej części wyniku (dla opcji przeniesienia z młodszej części 0 i 1) i sumę cząstkową młodszej części wyniku, po czym na podstawie przeniesienia z młodszej części sumy następuje poprzez układ multipleksujący wybór właściwej z dwóch alternatywnych starszych części sumy. Układ multipleksujący wybiera również przeniesienie z najwyższej pozycji sumy

Schemat ideowy sumatora:

0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic

Parametry:

A= 136

T= 8

A*T=1088

Blok sumy Ma skomplikowaną budowę, ale dzięki krótkiej ścieżce propagacji przeniesienia udało się znacznie przyspieszyć uzyskanie końcowego wyniku.

2.3 Blok KOMPARATOR

0x01 graphic

Parametry:

A= 17

T= 3

A*T= 51

2.4 REJESTRY

2.4.1 Rejestr WEJŚCIOWY A i B

Pojedynczy rejestr składa się z ośmiu przerzutników typu D. Dokonuje zapamiętania wartości wejścia A,B

Wykonanie pojedynczego przerzutnika typu D:

0x08 graphic

0x08 graphic

Parametry:

A=4

T=2

Złożoność: A*T=8

Schemat rejestrów A i B:

0x08 graphic

0x08 graphic

Parametry rejestru 8-bitowego :

A=4*8=32

T=2

Złożoność: A*T=64

Złożoność rejestrów A i B: A*T=128

2.4.2 Rejestr WYJŚCIOWY

Pełni funkcję bufora wyjściowego wyniku operacji SUMY lub NAND, jest zarazem układem który ma możliwość przesuwu cyklicznego lub logicznego.

Sterowanie rejestrem zapewniają bity słowa sterującego X3 do X6.

Bitem X3 aktywujemy rejestr gdy dokonuje zapisu lub przesunięcia, bit X4 określa czy przesunięcie logiczne ma być dopełniane zerem lub jedynką, bit X5 pozwala dokonać wyboru rodzaju przesunięcia (cykliczne,logiczne), a X6 - Wybór zapisu lub przesunięcia.

0x08 graphic

Parametry:

A=2+8*3+8*4=58

T=6

Złożoność: A*T=348

2.4.3 Rejestr FLAG

Jest to 4 bitowy rejestr określający stan układu ALU

L,M,K - bity zapamiętujące stan porównania przez komparator bajtu A i B,

Cy - bit przeniesienia z bloku SUMY

0x08 graphic

Parametry:

A=4*4=16

T=2

Złożoność: A*T=32

3. Multiplekser

Ma za zadanie wybór słowa które ma być zapisywane w rejestrze wyjściowym. Przy X2=0 zostanie wybrany wynik z bloku SUMA, a przu X2=1 z bloku NAND.Składa się z ośmiu prostych multiplekserów 1 bitowych.

Parametry:

A=2*8=16

T=2

Złożoność: A*T=32

Schemat układu:

0x08 graphic

4. Słowo sterujące

Składa się z 6 bitów:

X1 - tryb pracy komparatora

0 - NKB

1 - U2

X2 - sterowanie multiplekserem

0 - realizowana funkcja SUMY

1 - realizowana funkcja NAND

Sterowanie rejestrem wyjściowym:

X3 - 1 - rejestr dokonuje zapisu lub przesunięcia

X4 - Obsługuje przesunięcie logiczne

1 - dopełnia liczbę „1”

0 - dopełnia liczbę „0”

X5 - Rodzaj przesunięcia

0 - cykliczne

1 - logiczne

X6 - Wybór zapisu lub przesunięcia

0 - przesunięcie

1 - zapis

5. Podsumowanie

Zamiast stosować różne bloki funkcjonalne, z których każdy wykonuje pewne mikrooperacje, a ponadto przechowuje informację, można zbudować uniwersalny blok kombinacyjny, mogący wykonywać pełny zestaw mikrooperacji. Taki uniwersalny blok nosi nazwę jednostki arytmetyczno-logicznej (ang. Arythmetic-Logic Unit - ALU). Jednostka taka zwykle współpracuje z zespołem rejestrów, służących wyłącznie do przechowywania operacji.

Stworzona przez nas jednostka ALU nie jest może wzorcowym przykładem tego układu ale w pewien sposób realizuje te założenia.

6. Bibliografia

Książki:

Biernat J., Architektura komputerów

Horowitz P., Hill W., Sztuka Elektroniki tom 2

Strony internetowe:

www.iit.edu Illinois Insstitute of Technology 0x08 graphic

Praca pochodzi z serwisu www.e-sciagi.pl

2

13

REJESTR

WEJŚCIOWY A

KOMPARATOR

Σ

REJESTR WYJŚCIOWY

Z FUNKCJĄ PRZESUWU

MULTIPLEKSER

REJESTR FLAG

4 BITOWY

SŁOWO STERUJĄCE

L M K Cy

X1 X2 X3 X4 X5 X6

B

C

A

II Rozwiązanie układu i wykonanie

1. Schemat blokowy jednostki ALU

A7 B7 A6 B6 A5 B5 A4 B4 A3 B3 A2 B2 A1 B1 A0 B0

C7 C6 C5 C4 C3 C2 C1 C0

Cy

Cy

K

K

M

M

L

L

C

D0 Q0

D1 Q1

WY7 WY6 WY5 WY4 WY3 WY2 WY1 WY0

D2 Q3

D3 Q3

X6

X5

C

A7 A6 A5 A4 A3 A2 A1 A0

A7 A6 A5 A4 A3 A2 A1 A0

D0 Q0

D1 Q1

X2

X4

WE7 WE6 WE5 WE4 WE3 WE2 WE1 WE0

D2 Q3

D3 Q3

X3

D0 Q0

D1 Q1

D2 Q3

D3 Q3

D4 Q4

D5 Q5

D6 Q6

D4 Q4

D5 Q5

D6 Q6

D7 Q7

D7 Q7

REJESTR

WEJŚCIOWY B

C

B7 B6 B5 B4 B3 B2 B1 B0

B7 B6 B5 B4 B3 B2 B1 B0

D0 Q0

D1 Q1

D2 Q3

D3 Q3

D4 Q4

D5 Q5

D6 Q6

D7 Q7

D

C

Q

C

D Q



Wyszukiwarka

Podobne podstrony:
Jednostka arytmetyczno logiczna (ALU)
Procesy inwestycyjne (13 stron)
proces zarządzania (13 str), Zarządzanie(1)
1 Idea jedności europejskiej u podstaw procesu integracji
Podstawowe jednostki, Inżynieria chemiczna i procesowa
8, Jednostki geopolityczne - zanik procesu dekolonizacji
proces zarządzania (13 str)
Podstawowe operacje arytmetyczne i logiczne
TPL WYK 13 01 07 Jednostkowe procesy technologiczne
TPL, 13 procesy jednostkowe
18 Prowadzenie procesów jednostkowych w technologii
jednostkowe procesy chemiczne (2)
13 Organizowanie procesów technologicznych
13a funkcje zarzadzania w aspekcie zasobów inf, Procesy informacyjne w zarządzaniu, materiały studen
(13) Przywództwo i procesy oddziaływania na pracownikówid 844
13 Procesy górotwórcze
12a gospodarowanie info-wywiad gosp, Procesy informacyjne w zarządzaniu, materiały student Z-sem 12-
13.post.sąd I, Prawo karne procesowe
20a operacje informacyjne, Procesy informacyjne w zarządzaniu, materiały student Z-sem 12-13, wytycz

więcej podobnych podstron