1. podstawy techniki cyfrowej
TRANSCRIPT
Materiały do wykładu
1. Podstawy techniki cyfrowej
Marcin Peczarski
Instytut InformatykiUniwersytet Warszawski
15 lutego 2013
Sygnał binarny (dwójkowy) .
poziom przykładowe napięcia [V]konwencja logiczna
dodatnia ujemna
wysoki H 2,4÷ 5 3÷ 25 −1,1÷−0,8 1 0
niski L 0÷ 0,4 −25÷−3 −1,8÷−1,5 0 1
Układ cyfrowy .
⊲ Przetwarza sygnały dyskretne (na ogół binarne).
⊲ Zbudowany jest z bramek logicznych.
⊲ Bramki logiczne można zbudować np. z tranzystorów.
Bramki logiczne (1) .
AND y = x1 ∧ x2 ∧ . . . ∧ xn
NAND y = ¬(x1 ∧ x2 ∧ . . . ∧ xn)
x1x2...xn
x1x2...xn
Bramki logiczne (2) .
OR y = x1 ∨ x2 ∨ . . . ∨ xn
NOR y = ¬(x1 ∨ x2 ∨ . . . ∨ xn)
x1x2...xn
x1x2...xn
Układ kombinacyjny .
x1 y1
x2 y2
......
xn ym
f :X → Y
X ⊆ {0, 1}n
Y ⊆ {0, 1}m
〈y1, . . . , ym〉 = f(x1, . . . , xn)
System funkcjonalnie pełny (1) .
⊲ AND, OR, NOT
⊲ NAND
⊲ NOR
⊲ OR, NOT
⊲ implikacja, 0
⊲ zakaz, 1
⊲ AND, EX-OR, 1
⊲ . . .
System funkcjonalnie pełny (2) .
f :X → {0, 1}, gdzie X ⊆ {0, 1}n
X = {〈x1, x2, . . . , xn〉 ∈ X : f(x1, x2, . . . , xn) = 1}
f(x1, . . . , xn) =∨
〈a1,...,an〉∈X
xa11 ∧ . . . ∧ xann = ¬
∧
〈a1,...,an〉∈X
¬(xa11 ∧ . . . ∧ xann )
xaii ={
xi gdy ai = 1¬xi gdy ai = 0
Sumator szeregowy .
110 przeniesienia bity ci0110 pierwszy składnik bity ai+ 0111 drugi składnik bity bi1101 suma bity si
a3 b3 a2 b2 a1 b1 a0 b0 0
c4 c3 c2 c1 c0
s3 s2 s1 s0
Sumator jednobitowy .
ai bi ci ci+1 si
0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1
ai bi
si
ci+1ci
Szeregowy sumator 4-bitowy .
⊲ 48 bramek
⊲ Ścieżka krytyczna długości 9
a3 b3 a2 b2 a1 b1 a0 b0 0
c4 c3 c2 c1 c0
s3 s2 s1 s0
Porównanie sumatorów 4-bitowych .
⊲ Sumator szeregowy
⋄ 48 bramek
⋄ ścieżka krytyczna długości 9
⊲ Sumator z szybkim generowaniem przeniesień
⋄ 36 bramek
⋄ ścieżka krytyczna długości 4
Multiplekser i demultiplekser .
x0 y0
x1 y1
......
x2n−1 y2n−1
y x
an−1 a1a0 an−1 a1a0
. . . . . .
y = xan−1...a1a0 yi ={
x gdy i = an−1 . . . a1a00 w p.p.
Najprostszy multiplekser .
x0
x1
y = xa
a
x0
x1y = xa
a
y = ¬(¬(x0 ∧ ¬a) ∧ ¬(x1 ∧ a)) =
= (x0 ∧ ¬a) ∨ (x1 ∧ a) = xa
Układ sekwencyjny .
⊲ Powstaje przez dodanie sprzężenia zwrotnego do układu kombina-cyjnego.
⊲ Posiada pamięć –stan wewnętrzny. 0 1 1 0
1 0 0 1
Podział układów sekwencyjnych .
⊲ Układy asynchroniczne
⋄ zmiana stanu wewnętrznego może być wywołana zmianą stanuna dowolnym wejściu.
⊲ Układy synchroniczne
⋄ mają wyróżnione wejście zegarowe;
⋄ zmiana stanu wewnętrznego może nastąpić tylko podczas zmianypoziomu sygnału zegarowego, na jego zboczu narastającym lubopadającym.
Reprezentracja układów sekwencyjnych .
⊲ Wygodnie jest reprezentować w postaci etykietowanego grafu.
⊲ Wierzchołki to stany.
⊲ Etykiety na krawędziach to wartości sygnałów wejściowych.
s q
x
x
Przykład układu asynchronicznego .
⊲ Przerzutnik SR (ang. set-reset), nazywany też RS
⊲ Wersja NOR
x = 〈R,S〉 ∈ {〈0, 0〉, 〈0, 1〉, 〈1, 0〉}
q = 〈Q,Q〉 ∈ {〈0, 1〉, 〈1, 0〉}S
RQ
Q
01 10
00 01 01
10 10 00
Przerzutnik SR, cd. .
⊲ Wersja NAND
x = 〈R,S〉 ∈ {〈1, 1〉, 〈1, 0〉, 〈0, 1〉}
q = 〈Q,Q〉 ∈ {〈0, 1〉, 〈1, 0〉}R
SQ
Q
01 10
11 10 10
01 01 11
Hazard w układach asynchronicznych .
⊲ Występuje z tych samych powodów, co w układach kombinacyjnych.
⊲ Jego skutki są dużo poważniejsze.
⊲ Może powodować fałszywe przejścia między stanami, wyścigi.
⊲ Projektowanie układów asynchronicznych jest bardzo trudne.
Układ synchroniczny .
⊲ Dyskretny czas t ∈ Z wyznaczany sygnałem taktującym (ang. clock)
⊲ Brak problemów z hazardami qt+1 = δ(qt,xt)
⊲ Pamięć zatrzaskowa µ np. z przerzutników D
δ µ
clk
xt
qt+1 qt
Przykład układu synchronicznego .
⊲ Układ zliczający modulo cztery
⊲ Tablica prawdy i schemat
xt q′′t q′t q′′t+1 q
′t+1
0 0 0 0 00 0 1 0 10 1 0 1 00 1 1 1 11 0 0 0 11 0 1 1 01 1 0 1 11 1 1 0 0
µ
clk
xtq′t+1
q′′t+1
q′t
q′′t
Układy asynchroniczne a synchroniczne .
⊲ Uważa się, że asynchroniczna realizacja układu cyfrowego może byćszybsza, pobierać mniej energii i generować mniej zakłóceń elektro-magnetycznych niż odpowiednia jego realizacja synchroniczna.
⊲ Projektowanie układów synchronicznych jest dużo prostsze niż asyn-chronicznych – wystarczy zapewnić, aby wszystkie hazardy wywo-łane zmianą poziomu sygnału zegarowego zakończyły się przed ko-lejną jego zmianą.
⊲ Projektowanie układów synchronicznych można w dużym stopniuzautomatyzować. Nie stworzono zadowalających narzędzi dla ukła-dów asynchronicznych.
⊲ Obecnie wszystkie duże układy cyfrowe, w tym mikroprocesory, pro-jektuje się jako synchroniczne.
Przerzutnik D – uproszczony schemat .
⊲ Projektuje się jako układ asynchroniczny.
⊲ Używa się do konstrukcji pamięci stanu w układzie synchronicznymjako czarnej skrzynki.
D Q
Qclk
Przerzutnik D – pamięć zatrzaskowa .
qt+1 ¬qt+1 qt
clk = 0
qt+1 ¬qt+1 qt+1
clk = 1
qt+2 ¬qt+2 qt+1
clk = 0
Morał z dotychczasowych rozważań .
⊲ Z układów cyfrowych można zbudować najważniejsze składniki kom-putera.
⊲ Układy arytmetyczne to cyfrowe układy kombinacyjne.
⊲ Układy sterujące to cyfrowe synchroniczne układy sekwencyjne.
Komputery powinny . . . .
⊲ wykonywać obliczenia poprawnie,
⊲ być szybkie,
⊲ zużywać mało energii.
Sprzeczność!
Margines zakłóceń i czas propagacji .
x
y
x
yt
t
UH
UL
UIHminUILmax
UH
UL
UOHmin
UOLmax
tp
NMH = UOHmin − UIHmin
NML = UILmax − UOLmax
Czas propagacji .
tp ∼1fmax
tp – czas propagacji [s]fmax – maksymalna częstotliwość taktowania [Hz]
tp
U
tp
T
tp
fan-out
U – napięcie zasilania [V]T – temperatura pracy [K]
Pobierana moc (1) .
P = (G+ Cf)U2
P – pobierana moc [W]f – częstotliwość taktowania [Hz]U – napięcie zasilania [V]
PTTL
f
PECL
f
PCMOS
f
Pobierana moc (2) .
⊲ Producenci podają wartość P dla nominalnych wartości U i f .
⊲ We współcześnie stosowanych technologiach, bazujących na CMOS,parametr G:
⋄ ma małą wartość – ma pomijalny wpływ na pobieraną moc przydużej częstotliwości taktowania,
⋄ rośnie wykładniczo z temperaturą – wpływa na pobieraną mocw trybach uśpienia – istotne w urządzeniach przenośnych.
⊲ Producenci czasem podają dla nominalnego napięcia zasilania war-tość iloczynu CU (np. w µA/MHz) albo wartość iloczynu CfU (np.w µA) dla ustalonych wartości f .
⊲ Producenci czasem podają wykres zależności iloczynu GU od tem-peratury (np. w µA) dla f = 0 i nominalnego napięcia zasilania.
Odprowadzanie ciepła (1) .
Tc = Ta +ΘcaP
Tc – temperatura obudowy [K]Ta – temperatura otoczenia [K]Θca – rezystancja termiczna obudowa-otoczenie [K ·W−1]P – wydzielana moc [W]
Odprowadzanie ciepła (2) .
Tj = Tc +ΘjcP
Tj – temperatura struktury półprzewodnikowej (złącza) [K]Tc – temperatura obudowy [K]Θjc – rezystancja termiczna struktura-obudowa [K ·W−1]P – wydzielana moc [W]
⊲ Dla struktur krzemowych maksymalna temperatura pracy nie po-winna przekraczać 125◦C – 150◦C.
Odprowadzanie ciepła (3) .
P = qcp∆T
P – wydzielana moc [W]q – szybkość przepływu czynnika chłodzącego [kg · s−1]cp – ciepło właściwe czynnika chłodzącego [J · kg
−1 ·K−1]∆T – przyrost temperatury czynnika chłodzącego [K]
cp ≈ 1005 Jkg·K , ρ ≈ 1kg
m3cp ≈ 4190 Jkg·K , ρ ≈ 1000
kg
m3
Prawo Moore’a .
Gordon Moore, Cramming more components onto integrated circuits,Electronics Magazine, Volume 38, Number 8, April 19, 1965.
1962
1965
1970
Logarithm of the number of
components per integrated circuit
Logarith
m o
f re
lative
manufa
ctu
ring c
ost/com
ponent