Bit

Transkrypt

Bit
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005
www.idc.ac.il/tecs
Chapter 3:
Sequential Logic
Usage and Copyright Notice:
Copyright 2005 © Noam Nisan and Shimon Schocken
This presentation contains lecture materials that accompany the
textbook “The Elements of Computing Systems” by Noam Nisan &
Shimon Schocken, MIT Press, 2005.
The book web site, www.idc.ac.il/tecs , features 13 such presentations,
one for each book chapter. Each presentation is designed to support
about 3 hours of classroom or self-study instruction.
You are welcome to use or edit this presentation for instructional and
non-commercial purposes.
If you use our materials, we will appreciate it if you will include in them a
reference to the book’s web site.
And, if you have any comments, you can reach us at [email protected]
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
slide 1
Układy kombinacyjne i sekwencyjne
 Układy kombinacyjne: operują jedynie na danych; stanowią podstawę dla
urządzeń obliczeniowych (Nand, … ,ALU)
 Układy sekwencyjne: posiadają stany i potrafią je utrzymywać i
(opcjonalnie) operują na danych; stanowią podstawę dla urządzeń
pamięciowych i synchronizujacych
 Układy sekwencyjne są oparte na zegarze;
cykle zegara decydują o tym kiedy stan jest uaktualniany
 Realizacja elementów pamięciowych jest skomplikowana, wymaga
synchronizacji, odmierzania czasu i pętli sprzężeń zwrotnych
 Dobra wiadomość: większość tej złożoności można wbudować w logikę
operacyjną bramek sekwencyjnych bardzo niskiego poziomu, zwanych
przerzutnikami
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
slide 2
Plan wykładu
 Zegar
 Hierarchia układów pamięciowych:

Bramki przerzutników

Komórki binarne

Rejestry

RAM
 Liczniki
 Perspektywa.
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
slide 3
Zegar
HW
simulator
demo
tock
tick
clock
signal
tick
cycle
tock
tock
tick
cycle
tock
tick
cycle
cycle
 Cykl zegara = faza tik (niska), po której następuje faza tak (ang. tock)
(wysoka)
 Fizycznie zegar w komputerze realizowany jest przez oscylator
 W symulatorze cykle zegara mogą być realizowane:

Ręcznie, przez użytkownika

Automatycznie, przez skrypt testowy
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
slide 4
Przerzutnik danych (ang. Data flip-flop)
in
HW
simulator
demo
DFF
out
out(t) = in(t-1)
 Podstawowe urządzenie utrzymujące stany
 Na razie nie martwmy się o implementację DFF
 Urządzenia pamięciowe
przerzutników
są
wykonane
z
pewnej
ilości
 Wszystkie są taktowane przez ten sam główny zegar
 Konwencja notacyjna:
in
sequential
chip
out
=
in
sequential
chip
out
(notacja)
clock
signal
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
slide 5
Rejestr 1-bitowy (Bit)
load
Zamierzenie: zbudować jednostkę pamięci, która potrafi:
(a) Zmieniać swój stan w reakcji na zmianę wartości wejścia in
(b) Utrzymywać swój stan tak długo, aż nie zmieni się
wartość wejścia
if load(t-1) then out(t)=in(t-1)
else out(t)=out(t-1)
load
in
DFF
out
DFF
out
binary cell (Bit)
in
MUX
out(t) = in(t-1)
in
out
Bit
out
DFF
Podstawowy blok
out(t) = out(t-1) ?
out(t) = in(t-1) ?
if load(t-1) then out(t)=in(t-1)
else out(t)=out(t-1)
Nie działa
OK
Nie działa, gdyż mamy tu sprzężenie zwrotne: wyjście zależy od wejścia,
ale wejście od wyjścia, więc wyjście od wyjścia. Przerzutnik ten ma w
rzeczywistości dwa wejścia: in oraz out. Nie wiadomo kiedy ma pobierać
wartość z in, a kiedy z out. Rozwiązaniem jest dodanie multipleksera.
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
slide 6
Rejestr 1-bitowy(kont.)
HW
simulator
demo
Interfejs
Implementatacja
load
load
load
in
Bit
DFF
outout
in
in
if load(t-1) then out(t)=in(t-1)
else out(t)=out(t-1)
binary cell (Bit)
out(t) = out(t-1) ?
out(t) = in(t-1) ?
Invalid design
Bit Bit
MUX
in
w
...
Bit
DFF
w
out out
if load(t-1) then out(t)=in(t-1)
else out(t)=out(t-1)
w-bit register
 Załaduj bit
if load(t-1) then out(t)=in(t-1)
else out(t)=out(t-1)
1-bit register (Bit)
 Wczytaj wartość
 Zapisz wartość
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
slide 7
Rejestr wielobitowy
HW
simulator
demo
load
load
in
out
Bit
in
if load(t-1) then out(t)=in(t-1)
else out(t)=out(t-1)
rejestr 1-bitowy
Bit
Bit
...
Bit
w
w
out
if load(t-1) then out(t)=in(t-1)
else out(t)=out(t-1)
rejestr w-bitowy
 Szerokość rejestru: dodatkowy parametr
 Wczytaj wartość
 Zapisz wartość
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
slide 8
Dygresja: Symulator
Podręcznik symulatora:
HW
simulator
demo
 Układy wbudowane (bulid-in chips)
 Układy zarządzane zegarem (Clocked chips)
 Układy wspomagane przez GUI (wizualizacja graficzna).
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
slide 9
Pamięć o dostępie swobodnym (RAM)
HW
simulator
demo
load
register 0
register 1
register 2
in
(word)
..
.
register n-1
out
(word)
RAM n
address
Direct Access Logic
(0 to n-1)
 Wczytaj wartość
 Zapisz wartość
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
slide 10
Interfejs RAM
load
in
out
16 bits
RAMn
address
16 bits
log 2 n
bits
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
slide 11
Anatomia RAM
RAM 64
RAM8
..
.
RAM 8
8
register
..
.
Rejestr
Bit
Bit
.. .
8
RAM8
register
Bit
register
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
...
slide 12
Dygresja historyczna: Jeden z pierwszych układów RAM firmy Intel (1972)
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
slide 13
Licznik
Potrzebne: Urządzenie pamięciowe, które umożliwia:
(a) Ustawienie swojego stanu do pewnej wartości bazowej
(b) Jednostkowe zwiększenie wartości stanu w każdym cyklu
zegara
(c) Zatrzymanie zwiększania w dowolnym cyklu
(d) Zresetowanie wartości (powrót do wartości bazowej)
inc
load reset
in
out
PC (counter)
w bits
w bits
If reset(t-1) then out(t)=0
else if load(t-1) then out(t)=in(t-1)
else if inc(t-1) then out(t)=out(t-1)+1
else out(t)=out(t-1)
 Implementacja: Rejestr + pewna logika kombinacyjna.
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
slide 14
Układy kombinacyjne i sekwencyjne (rewizja)
Układ kombinacyjny
Sequential chip
Układ sekwencyjny
Combinational chip
(optional) czasowa
time delay (optional)
(opcjonalnie) Przerwa
(opcjonalnie)
in
comb.
logic
out
out = Pewna funkcja (in)
inin
comb.
logic
comb.
in
outlogic
out(t)
out = some function
of (in)=
comb.
DFF
comb.comb.
bramka(i)
out
logic DFF
gate(s) logic logic
out
Pewna
funkcja
out(t) = some
function of (in(t-1),
(in(t-1), out(t-1))out(t-1))
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
slide 15
Aspekt czasu
tock
clock
signal
tick
tick
cycle
tock
tock
tick
cycle
tock
tick
cycle
cycle
 Na poczatku kazdego cyklu zegarowego wyjścia wszystkich DFF w komputerze
przyjmują stan swoich wejść z poprzedniej jednostki czasu
 We wszystkich innych chwilach DFF są „zatrzaśnięte”, co znaczy, że zmiany w
ich wejściach nie mają natychmiastowego wpływu na ich wyjścia
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
slide 16
Perspektywa
 Wszystkie omówione jednostki pamięciowe są konstrukcyjnie typowe
 Typowa hierarchia pamięci
(lista wg rosnącego czasu dostępu i malejącego kosztu):

SRAM (“statyczna”), typowe zastosowanie to Cache

DRAM (“dynamiczna”), typowe zastosowanie to RAM

Dyski
 Przerzutnik może być zbudowany z bramek Nand
 Rzeczywiste układy pamięciowe są zoptymalizowane wydajnościowo, więc
szczegóły konstrukcyjne mogą być skomplikowane.
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, www.idc.ac.il/tecs , Chapter 3: Sequential Logic
slide 17