Architektura systemów komputerowych Poziom układów logicznych. Układy sekwencyjne Cezary Bolek Katedra Informatyki Plan wykładu Układy sekwencyjne Synchroniczność, asynchroniczność Zatrzaski Przerzutniki Rejestry Liczniki Architektura systemów komputerowych Cezary Bolek 2
Układy sekwencyjne - definicja Układ sekwencyjny to układ, w którym stan wyjścia Y=(Y,Y2,..,Yn) zaleŝy od stanu wejścia X=(X,X2,..,Xn) w danej chwili t i stanu wejścia w chwilach poprzednich: t-,t-2,... Układy sekwencyjne posiadają cechę pamięci (stan wewnętrzny). Stan wewnętrzny A określony jest przez stany i elementów pamiętających A=(, 2,..., n ). Związki pomiędzy stanem wejścia, stanem wewnętrznym i stanem wyjścia opisane są za pomocą funkcji przejść (δ) i funkcji wyjść (λ) Architektura systemów komputerowych Cezary Bolek 3 Automaty Mealy ego i Moore a Automat Mealy ego Układ w którym stan wyjścia układu moŝe zaleŝeć od stanu wewnętrznego i stanu wejścia: Y t = λ(a t,x t ) δ λ Automat Moore a Układ w którym stan wyjścia zaleŝy tylko od stanu wewnętrznego: Y t = λ(a t ) δ λ Układ realizujący funkcję wyjść (λ) jest układem kombinacyjnym, blok (δ) realizuje pamięć. Architektura systemów komputerowych Cezary Bolek 4 2
Synchroniczność, asynchroniczność JeŜeli układ działa według własnej skali czasu mówi się o układzie asynchronicznym. Automaty asynchroniczne nie posiadają zegara a stan wewnętrzny moŝe się zmieniać bezpośrednio pod wpływem stanu wejść. Układy z zewnętrzna skala czasu nazywane są układami synchronicznymi. W automatach synchronicznych stan wejść moŝe zmieniać stan wewnętrzny tylko w chwili pojawienia się sygnału synchronizującego (taktu zegara). Podstawowym elementem budulcowym układów sekwencyjnych są przerzutniki i zatrzaski. Układ kombinacyjny jest szczególnym przypadkiem układu sekwencyjnego: asynchronicznym bez pamięci. Architektura systemów komputerowych Cezary Bolek 5 Najprostszy element pamiętający Prosty element pamiętający brak moŝliwości zapisu Element pamięci zbudowany z bramek NOR modyfikacja umoŝliwiająca zapis w rzeczywistości zatrzask, przerzutnik RS Architektura systemów komputerowych Cezary Bolek 6 3
Zatrzask RS (RS Latch) Najprostsza, bramkowa realizacja układu pamiętającego. Powszechnie określany mianem przerzutnika RS lub przerzutnika zatrzaskowego RS. S R ~ ~ x () x () Architektura systemów komputerowych Cezary Bolek 7 Synchroniczny zatrzask RS Dodatkowe wejście zegarowe, zwane teŝ strobującym lub zezwalającym Zmiana stanu przerzutnika tylko gdy sygnał EN jest w stanie wysokim EN S R X X x Układ równowaŝny zbudowany z bramek NAND Architektura systemów komputerowych Cezary Bolek 8 4
Synchroniczny zatrzask D Eliminacja niedeterministycznego zachowania zatrzasku RS w sytuacji gdy S=R= przez dodanie inwertera Zatrzask powiela stan wejścia D gdy aktywny sygnał EN Implementacja CMOS EN D X Architektura systemów komputerowych Cezary Bolek 9 Przerzutnik (Flip-Flop) Wadą zatrzasków jest powielanie stanu wejścia gdy aktywny jest sygnał EN Układy wyzwalane poziomem (level triggered) Określane mianem pseudosynchronicznych Zmiana stanu przerzutnika następuje w momencie zmiany stanu linii sterującej sygnału zegarowego Nie jest istotna długość impulsu zegara, a jedynie jego zmiana Układy wyzwalane zboczem (edge triggered) W pełni synchroniczne Architektura systemów komputerowych Cezary Bolek 5
Przerzutnik typu D (D Flip-Flop) Jednym z moŝliwych implementacji jest dodanie generatora impulsów dla zbocza dodatniego dla zbocza ujemnego Szerokość impulsu zbliŝona jest do czasu propagacji bramki Rozwiązanie to posiada szereg wad, ale posiada prostą konstrukcję Architektura systemów komputerowych Cezary Bolek Przerzutnik typu D Master-Slave Układ typu Master-Slave jest niezaleŝny od czasu propagacji bramki Część Master zatrzaskuje stan wejścia D podczas wysokiego stanu. Slave zatrzaskuje sygnał z Master po przejściu sygnału do stanu niskiego. Przerzutnik wyzwalany zboczem opadającym Przerzutniki MS mogą być teŝ wyzwalane zboczem narastającym Master Slave Architektura systemów komputerowych Cezary Bolek 2 6
Przerzutniki typu D Master-Slave Przerzutnik typu D Master-Slave wyzwalany zboczem opadającym Master Slave D X X Przerzutnik typu D Master-Slave wyzwalany zboczem narastającym D X X Architektura systemów komputerowych Cezary Bolek 3 Zatrzaski i przerzutniki typu D - porównanie Architektura systemów komputerowych Cezary Bolek 4 7
Przerzutniki typu D z zerowaniem i ustawianiem Stan przerzutnika synchronicznego zmieniany asynchronicznie Przerzutnik typu D Master-Slave wyzwalany zboczem opadającym z zerowaniem i ustawianiem Przerzutnik typu D Master-Slave wyzwalany zboczem narastającym z zerowaniem i ustawianiem Architektura systemów komputerowych Cezary Bolek 5 Przerzutnik typu D implementacja CMOS Przerzutnik typu D Master-Slave wyzwalany zboczem opadającym Przerzutnik typu D Master-Slave wyzwalany zboczem narastającym Architektura systemów komputerowych Cezary Bolek 6 8
Przerzutnik typu T Przerzutnik zmienia stan gdy T=, pozostaje w poprzednim stanie gdy T= T T X X Architektura systemów komputerowych Cezary Bolek 7 Rejestry Rejestr sekwencyjny układ logiczny, słuŝący do przechowywania danych cyfrowych. Typy rejestrów Parallel In, Parallel Out Wejście szeregowe Wejścia sterujące Wejście zegarowe SI CT Wejścia równoległe Dn n D3 D2 D D 3 2 Wyjścia równoległe Serial In, Serial Out SO Wyjście szeregowe Parallel In, Serial Out Parallel In, Serial Out Architektura systemów komputerowych Cezary Bolek 8 9
Rejestr PIPO rejestr równoległy Zapis i odczyt równoległy Architektura systemów komputerowych Cezary Bolek 9 Rejestr SIPO rejestr przesuwny Szeregowy rejestr przesuwny, zapis szeregowy, odczyt równoległy SI 2 3 Architektura systemów komputerowych Cezary Bolek 2
Rejestr przesuwny Architektura systemów komputerowych Cezary Bolek 2 Rejestr SISO rejestr przesuwny Szeregowy rejestr przesuwny, zapis i odczyt szeregowy Częste zastosowanie: linia opóźniająca SI 2 3/SO 2 3 Architektura systemów komputerowych Cezary Bolek 22
Rejestr PISO rejestr przesuwny Rejestr przesuwny z zapisem równoległym Architektura systemów komputerowych Cezary Bolek 23 Rejestr przesuwny z zapisem równoległym Ostatni bit Architektura systemów komputerowych Cezary Bolek 24 2
Dwukierunkowy rejestr przesuwny Architektura systemów komputerowych Cezary Bolek 25 Rejestr uniwersalny Dwukierunkowy rejestr przesuwny z zapisem i odczytem równoległym oraz zerowaniem Architektura systemów komputerowych Cezary Bolek 26 3
Układ rotacji binarnej Układ rejestru uniwersalnego przesuwno-rotacyjnego Gdy ROT/SH= następuje przesunięcie bitów (w prawo lub lewo RIGHT/LEFT) a odpowiednie skrajne bity ustawiane są na Gdy ROT/SH= następuje rotacja bitów najstarszy bit przyjmuje wartość najmłodszego (RIGHT/LEFT=), bądź najmłodszy wartość najmłodszego (RIGHT/LEFT=) Architektura systemów komputerowych Cezary Bolek 27 Liczniki Licznik sekwencyjny układ cyfrowy, zliczający i pamiętający liczbę impulsów podanych na jego wejście zegarowe. Wejście aktywujące Wejście kasujące EN CLR Wejście zegarowe n 3 2 Typy liczników ze względu na funkcję: Wyjścia Binarne Dekadowe Inne (Graya, Johnsona, pierścieniowe,...) Jednokierunkowe Zliczające w przód Zliczające w tył Dwukierunkowe (rewersyjne) Typy liczników ze względu na realizację: Asynchroniczne Synchroniczne z przeniesieniami równoległymi z przeniesieniami szeregowymi Architektura systemów komputerowych Cezary Bolek 28 4
Licznik modulo 2 dwójka licząca Pojedynczy przerzutnik typu D lub T moŝe słuŝyć jako dzielnik częstotliwości Architektura systemów komputerowych Cezary Bolek 29 Licznik asynchroniczny Licznik liczący w górę Zbudowane w oparciu o przerzutniki D oraz T Liczba: 2 3 4 5 6 7 2 3 4 5 Architektura systemów komputerowych Cezary Bolek 3 5
Licznik asynchroniczny Licznik liczący w dół Liczba: 7 6 5 4 3 2 7 6 5 4 3 Architektura systemów komputerowych Cezary Bolek 3 Wady i zalety liczników asynchronicznych Zaletą liczników asynchronicznych jest prostota konstrukcji Podstawową wadą jest propagująca się kaskadowo lawina przełączeń przerzutników przy przejściu np. ze stanu do 2 Rozwiązanie: synchroniczne sterowanie wejściami zegarowymi przerzutników. Architektura systemów komputerowych Cezary Bolek 32 6
Liczniki synchroniczne Nie występuje kaskadowe przełączanie się kolejnych przerzutników. Wszystkie zmieniają stan w tym samym momencie (sygnał zegarowy) Realizacja: dodatkowe logiczne układy kombinacyjne sterujące stanem przerzutników w oparciu o stany pozostałych Wejścia Logika kombinacyjna Przerzutniki Architektura systemów komputerowych Cezary Bolek 33 Licznik synchroniczny z przeniesieniami równoległymi Zaleta: pełna synchroniczność Wada: złoŝony układ (bramki wielowejściowe) Cykl zegarowy 2 2 3 T = T 2 = 2 T = T 2 = T n =... n- 4 5 6 7 Architektura systemów komputerowych Cezary Bolek 34 7
Licznik synchroniczny z przeniesieniami szeregowymi Zaleta: pełna synchroniczność, prosta konstrukcja Wada: prosta konstrukcja 2 3 Architektura systemów komputerowych Cezary Bolek 35 Liczniki z zezwoleniem Licznik synchroniczny z przeniesieniem szeregowym, sygnałem zezwolenia oparty na przerzutnikach D Licznik synchroniczny z przeniesieniem szeregowym, sygnałem zezwolenia i zerowaniem oparty na przerzutnikach T Architektura systemów komputerowych Cezary Bolek 36 8
Licznik z równoległym ustawianiem Licznik synchroniczny z przeniesieniem szeregowym, sygnałem zezwolenia i ustawianiem równoległym Architektura systemów komputerowych Cezary Bolek 37 Licznik rewersyjny Licznik liczący w przód (UP/DOWN=) i w tył (UP/DOWN=) Typ: synchroniczny z przeniesieniem szeregowym Architektura systemów komputerowych Cezary Bolek 38 9
Przykład prostego procesora Wszystkie komponenty powinny być juŝ znane... Dane Zegar Magistrala R R3 A B G R in R out R3 in R3 out A in G in G out Funkcja w Ukad sterowania AddSub Extern Wykonane (Done) Architektura systemów komputerowych Cezary Bolek 39 Koniec Architektura systemów komputerowych Cezary Bolek 4 2