background image

Są to układy, wykonujące operacje arytmetycznych na 

liczbach, przedstawionych w zapisie dwójkowym.

Ponieważ wszystkie podstawowe działania arytmetyczne: 

dodawanie, odejmowanie, mnożenie i dzielenie, a także 

wszystkie inne operacje matematyczne, wykonać można 

przy zastosowaniu odpowiednich algorytmów 

za pomocą 

jednego tylko działania arytmetycznego - dodawania

podstawowym układem arytmetycznym jest 

układ, 

realizujący dodawanie

, nazywany 

sumatorem

.

Do układów arytmetycznych zalicza się ponadto 

układy do 

porównywania dwu liczb

, nazywane 

komparatorami

oraz 

uniwersalne układy arytmetyczno - logiczne, realizujące 

różne operacje arytmetyczne i logiczne.

1

8.5. Układy arytmetyczne

ETR 8.5

Opracował dr inż. Grzegorz Stępień

background image

1. Sumatory

Sumatory to układy wykonujące dodawanie liczb, 

przedstawionych w zapisie dwójkowym. Podstawowy układ 

do dodawania dwóch jednobitowych liczb dwójkowych A i B 

to tzw. 

półsumator

.

Reguły sumowania przedstawia tabela. 

Wynik

dodawania 

musi być 

przedstawiony przy użyciu dwóch bitów

. Młodszy 

bit wyniku wyprowadzany jest na wyjście S, starszy bit 

wyniku na wyjście C.

Wejścia

Wyjścia

Suma 

dziesiętnie

B

A

C

S

0

0

0

0

(0)

0

1

0

1

(1)

1

0

0

1

(1)

1

1

1

0

(2)

2

ETR 8.5

background image

Wyjście S znajduje się w stanie 1 gdy jedno 

z wejść (A lub B) znajduje się w stanie 0 a 

drugie w stanie 1. Wyjście S związane jest 

zatem z wejściami A i B funkcją XOR:

S = A 

B

Układ do dodawania dwóch 

jednobitowych liczb 

dwójkowych można zatem 

zrealizować przy użyciu 

jednej bramki Exlusive OR i 

jednej bramki AND: 

3

ETR 8.5

Na wyjściu C pojawia się 1 gdy jednocześnie A i B jest 

równe 1, wyjście C realizuje zatem funkcję iloczynu 

logicznego (AND): 

C = A  B

B

A

C

S

0

0

0

0

0

1

0

1

1

0

0

1

1

1

1

0

background image

W przypadku dodawania liczb o większej liczbie bitów 

wartość wyprowadzana przez wyjście C układu do 

sumowania liczb jednobitowych musi być dodana do bitów 

na wyższej pozycji (przeniesiona do wyższej pozycji). 

Wyjście C jest w związku z tym nazywane 

wyjściem 

przeniesienia

(ang. Carry

). Sumowanie bitów na pozycji i

wymaga dodania wartości i-tych bitów liczb A i B oraz 

przeniesienia z niższej pozycji:

A

i

+ B

i

+C

i

a układ realizujący takie dodawanie, 

zwany 

jednobitowym sumatorem 

pełnym

, musi zawierać dodatkowe 

wejście, wprowadzające przeniesienie C

i

4

ETR 8.5

background image

Tabela przedstawia sumowanie A

i

+ B

i

+C

i

:

mają wartość „1” (suma 2) lub wszystkie 3 wejścia mają 

wartość „1” (suma równa 3):

C

i+1

= A

i

B

i

C

i

+

A

i

B

i

C

i

+A

i

B

i

C

i

+A

i

B

i

C

i

;

Wyjście S

i

przyjmuje 

wartość „1” gdy tylko jedno 

z wejść C

i

, A

i

lub B

i

równa 

się 1 (suma równa 1) lub 

wszystkie 3 wejścia mają 

wartość „1” (suma równa 3):

S

i

A

i

B

i

C

i

+A

i

B

i

C

i

+

A

i

B

i

C

i

+A

i

B

i

C

i

;

Wyjście C

i+1

jest równe „1”, 

gdy dwa z wejść C

i

, A

i

lub B

i

5

ETR 8.5

Wejścia

Wyjścia

B

i

A

i

C

i

C

i+1

S

i

0

0

0

0

0

0

0

1

0

1

0

1

0

0

1

0

1

1

1

0

1

0

0

0

1

1

0

1

1

0

1

1

0

1

0

1

1

1

1

1

background image

Po przekształceniach:

Jednobitowy sumator 

pełny realizuje się przy 

użyciu dwóch 

półsumatorów i 

dodatkowej bramki 

sumy logicznej (OR), 

sumującej 

przeniesienia obydwu 

półsumatorów. 

6

ETR 8.5

)

B

A

B

(A

C

)

B

A

B

A

(

C

S

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

C

B

A

)

B

A

(

C

)

B

A

(

C

S

i

i

i

i

i

i

i

i

i

i

i

i

1

i

C

B

A

C

B

A

C

B

A

C

B

A

C

)

B

A

(

C

B

A

)

C

C

(

B

A

)

B

A

B

A

(

C

C

i

i

i

i

i

i

i

i

i

i

i

i

i

i

1

i

background image

W celu dodawania liczb wielobitowych sumatory 

jednobitowe łączy się w większe zespoły. W najprostszym 

przypadku tworzy się kaskadę sumatorów z szeregowo 

połączonymi wejściami i wyjściami przeniesień (z tzw. 

przeniesieniami szeregowymi

).

7

ETR 8.5

Wadą takiego połączenia jest ustalanie wyniku n-tego 

sumatora dopiero po ustaleniu kolejnych stanów 

wszystkich poprzedzających sumatorów, co opóźnia 

otrzymanie wyniku.

C

n+1

C

n

B

n

A

n

S

n

C

2

C

1

B

1

A

1

S

1

C

1

C

0

B

0

A

0

S

0

background image

Lepszym rozwiązaniem jest wstępne wyznaczenie 

wszystkich przeniesień na podstawie wartości liczb 

wejściowych A i B przez tzw. 

blok generacji przeniesień

następnie jednoczesne dodanie bitów na wszystkich 

pozycjach przez zespół sumatorów. Układy takie nazywane 

są 

sumatorami z przeniesieniami równoległymi

(ang. look

ahead).

8

ETR 8.5

C

n+1

C

n

B

n

A

n

S

n

C

1

B

1

A

1

S

1

C

0

B

0

A

0

S

0

B

n

A

n

B

1

A

1

B

0

A

0

C

0

 blok generacji przeniesień

background image

W rodzinie układów scalonych TTL i TTL LS dostępne są 

sumatory dwójkowe 4-bitowe: 7483 (starego typu, z 

przeniesieniami szeregowymi) oraz 7483A, 74LS83A i 

74LS283 (z przeniesieniami równoległymi):

Fragment tabeli stanów sumatora 7483…74LS283:

9

ETR 8.5

Wejścia

Wyjścia

działanie

B

3

B

2

B

1

B

0

A

3

A

2

A

1

A

0

C

I

C

O

S

3

S

2

S

1

S

0

1

0

0

1

1

0

1

0

0

1

0

0

1

1

10+9=19

0

1

1

0

0

1

0

1

1

0

1

1

0

0

C

I

+5+6=12

S

2

B

3

A

3

C

I

B

2

A

2

B

1

A

1

B

0

A

0

S

1

S

0

S

3

C

O

background image

2. Komparatory

Są to układy do porównywania liczb, przedstawionych w 

zapisie dwójkowym.

Informację o równości

dwóch liczb jednobitowych a i b 

uzyskać można za pomocą funkcji:

która przyjmuje wartość 1 wtedy, gdy a=b=1 lub a=b=0. 

Funkcją taką jest negacja funkcji ALBO (Exclusive OR).

Układ do badania równości liczb wielobitowych zbudować 

można z realizujących powyższą funkcję dwuwejściowych 

bramek Exclusive

NOR, badających równość 

poszczególnych bitów i wielowejściowej bramki iloczynu 

logicznego AND, zbierającej wyniki tych badań. 

10

ETR 8.5

b

a

b

a

b

a

)

b

a

(

background image

Na wyjściach bramek Ex NOR 

uzyskuje się 1 gdy bit a

i

= b

i

. Na 

wyjściu y występuje 1 gdy bity na 

wszystkich pozycjach są sobie równe.

Informację o relacjach a>b lub a<b dwóch liczb 

jednobitowych uzyskać można za pomocą  funkcji:

gdyż jednobitowa liczba a jest większa od jednobitowej 

liczby b tylko wtedy, gdy a=1 a b=0. Funkcje takie można 

zrealizować przy użyciu dwuwejściowej bramki AND i 

negacji. Relacje A>B lub A<B liczb wielobitowych określają 

relacje a>b lub a<b między bitami na najwyższej pozycji, 

na której wartości bitów są różne. Relacje między bitami 

niższych pozycji są nieistotne.

11

ETR 8.5

b

a

)

b

a

(

b

a

)

b

a

(

background image

Scalonym komparatorem, wyznaczającym relacje:

A<B, A=B lub A>B

dla dwóch 4-bitowych liczb A i B jest układ 74LS85

12

ETR 8.5

Wejścia komparacyjne

Wejścia do 

połączeń 

kaskadowych

Wyjścia

A

3

, B

3

A

, B

2

A

1

, B

1

A

0

, B

0

A<B A=B A>B A<B A=B A>B

A

3

<B

3

x

x

x

x

x

x

1

0

0

A

3

>B

3

x

x

x

x

x

x

0

0

1

A

3

=B

3

A

2

<B

2

x

x

x

x

x

1

0

0

A

3

=B

3

A

2

>B

2

x

x

x

x

x

0

0

1

A

3

=B

3

A

2

=B

2

A

1

<B

1

x

x

x

x

1

0

0

A

3

=B

3

A

2

=B

2

A

1

>B

1

x

x

x

x

0

0

1

A

3

=B

3

A

2

=B

2

A

1

=B

1

A

0

<B

0

x

x

x

1

0

0

A

3

=B

3

A

2

=B

2

A

1

=B

1

A

0

>B

0

x

x

x

0

0

1

A

3

=B

3

A

2

=B

2

A

1

=B

1

A

0

=B

0

1

0

0

1

0

0

A

3

=B

3

A

2

=B

2

A

1

=B

1

A

0

=B

0

0

1

0

0

1

0

A

3

=B

3

A

2

=B

2

A

1

=B

1

A

0

=B

0

0

0

1

0

0

1

background image

Wynik porównania znaczony jest stanem 1 na jednym z 

trzech osobnych wyjść. Układ wyposażony jest w wejścia 

I

A<B

, I

A=B

, I

A>B

, umożliwiające 

kaskadowe łączenie

kilku 

komparatorów w celu porównywania liczb o większej liczbie 

bitów. Wejścia te łączy się z odpowiednimi wyjściami 

poprzedzającego komparatora, porównującego mniej 

znaczące bity liczb. 

W komparatorze porównującym 

bity na najniższych pozycjach 

wejścia te ustawia się na stałe w 

stan:

I

A<B

=0, I

A=B

=1, I

A>B

=0,

co neutralizuje wpływ tych wejść 

na wynik porównania.

13

ETR 8.5

background image

Stan wejść I

A<B

, I

A=B

, I

A>B

,

wpływa na stan wyjść 

komparatora 

tylko gdy

porównywane przez komparator

4-bitowe 

części liczb są równe

. Stan tych wejść jest 

wówczas po prostu przenoszony na wyjścia. W przypadku 

A<B lub A>B

wynik porównania mniej znaczącej części 

liczb przez poprzedzający komparator nie ma znaczenia.

14

ETR 8.5

3. Uniwersalna jednostka arytmetyczno-logiczna (ALU)

W rodzinie układów scalonych TTL i TTL LS produkowana 

jest uniwersalna jednostka arytmetyczno-logiczna 74LS181 

(74181), zwana ALU (ang. Arythmetic Logic Unit). 

Jednostka taka umożliwia wykonywanie różnorodnych 

operacji arytmetycznych i logicznych na dwóch 4-bitowych 

liczbach dwójkowych. 

background image

Liczby, na których wykonywane są 
operacje doprowadza się do wejść 

A

3

..A

0

i B

3

..B

0.

Rodzaj operacji programuje się za 

pomocą wejść M i S

3

..S

0

15

ETR 8.5

Przy M=1 wykonywane są 

operacje logiczne

, przy M=0 

wykonywane są 

operacje arytmetyczne

. Rodzaj operacji 

określa stan wejść S

3

..S

0

. Cztery linie wejściowe S

3

..S

0

umożliwiają wybór 16-tu różnych funkcji. Układ wykonuje 

zatem 

16 różnych funkcji logicznych

16 różnych funkcji 

arytmetycznych

(łącznie 32 różne funkcje). Wynik operacji 

ustawiany jest na wyjściach F

3

..F

0

i wyjściu przeniesienia C

o

.

F

2

B

3

A

3

ALU

74LS181

B

2

A

2

B

1

A

1

B

0

A

0

F

1

F

0

F

3

C

O

A=B

G
P

C

i

M
S

3

S

2

S

1

S

0

background image

Podstawowe wykonywane 

funkcje logiczne

to:

• negacja 

A

lub 

B

• suma logiczna
• iloczyn logiczny
• różnica symetryczna
• różne funkcje kombinowane:

itp.

Funkcje logiczne wykonywane są na pojedynczych bitach, 

tzn. każda funkcja wykonywana jest niezależnie i 
równolegle na wszystkich bitach A

i

i B

i

(i = [0,3]). 

16

ETR 8.5

B

A

B

A

B

A

A

B A

B A

B A

B A

B

background image

Podstawowe 

wykonywane funkcje arytmetyczne

to:

• suma arytmetyczna 

A+B

• różnica arytmetyczna 

A-B-1

oraz mieszane funkcje logiczno-arytmetyczne:

itp. 

Przy funkcjach arytmetycznych uwzględniany jest stan 

wejścia przeniesienia 

C

i

, a zatem funkcje te realizowane 

są jako 

A+B+

C

i

lub 

A-B-1+

C

i

. Za pomocą funkcji

A-B-1+

C

i

można uzyskać bezpośrednio wynik 

A-B

przy 

ustawieniu na wejściu przeniesienia (

C

i

) stanu 0.

Wyjście A=B ustawiane jest w stan 1 przy F

3

F

2

F

1

F

0

= 1111. 

Można to wykorzystać do porównywania liczb A i B za 
pomocą funkcji 

A-B-1

. Przy wykorzystaniu wyjścia 

C

o

za 

pomocą tej samej funkcji można ustalić zależności A>B i 
A<B.

17

ETR 8.5

);

B

A

(

A

;

A

)

B

A

(

background image

Układ 74LS181 zaopatrzony jest w 

blok generacji 

przeniesień równoległych

, w związku z czym jest bardzo 

szybki. Do operacji na liczbach o większej liczbie bitów 

można łączyć kaskadowo kilka układów tego typu. W 

najprostszym przypadku wejście przeniesienia 

C

i

układu 

operującego na starszych czterech bitach liczby łączy się z 

wyjściem 

C

o

układu operującego na młodszych czterech 

bitach liczby. Przeniesienia między każdą czwórką bitów są 

przekazywane szeregowo. Można zastosować równoległą 

generację przeniesień między kolejnymi czwórkami bitów za 

pomocą 

specjalnych układów generacji przeniesień 

równoległych 74LS182

. Do połączenia z tymi układami służą 

wyjścia G i P. Również wyjścia A=B (z otwartym kolektorem), 

łączy się równolegle do wspólnego rezystora, otrzymując 

sygnalizację stanu A = B liczb o długości większej niż 4 bity. 

18

ETR 8.5

background image

Pełna lista wykonywanych funkcji 74LS181:

19

ETR 8.5