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