Architektura systemów komputerowych. Porównanie architektury jednycyklowej i wielocyklowej Zmiany w ścieŝce danych Cykle

Podobne dokumenty
Prosty procesor dla framgentu listy rozkazów MIPSa

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.01 Rok akad. 2011/ / 27

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.02 Rok akad. 2011/ / 35

Architektura typu Single-Cycle

Architektura typu multi cycle

Przetwarzanie potokowe pipelining

Architektura potokowa RISC

Projektowanie. Projektowanie mikroprocesorów

Struktura i działanie jednostki centralnej

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Przetwarzanie potokowe

Magistrala systemowa (System Bus)

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Architektura komputerów

Architektura Systemów Komputerowych

Plan wykładu. Architektura systemów komputerowych. RAM Random Access Memory. Technologia. Szybkość pamięci Pamięć główna.

Podstawy Techniki Mikroprocesorowej

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Organizacja typowego mikroprocesora

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A

organizacja procesora 8086

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

Architektura mikroprocesorów z rdzeniem ColdFire

Logiczny model komputera i działanie procesora. Część 1.

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Programowalne układy logiczne

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.

Architektura Systemów Komputerowych

Programowanie Niskopoziomowe

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Projekt prostego procesora

Architektura komputerów

Lista Rozkazów: Język komputera

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Układy cyfrowe w Verilog HDL. Elementy języka z przykładami. wersja: cz.3

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

architektura komputerów w. 4 Realizacja sterowania

LEKCJA TEMAT: Współczesne procesory.

Witold Komorowski: RISC. Witold Komorowski, dr inż.

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

Analiza i Synteza Układów Cyfrowych

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Architektura komputerów, Informatyka, sem.iii. Rozwiązywanie konfliktów danych i sterowania w architekturze potokowej

Architektura komputerów

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

Automat skończony FSM Finite State Machine

Architektura Systemów Komputerowych

Mikroprocesor Operacje wejścia / wyjścia

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Adam Korzeniewski p Katedra Systemów Multimedialnych

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Plan wykładu. Architektura systemów komputerowych. Strategie zapisu. Cezary Bolek

Architektura systemów komputerowych. Przetwarzanie potokowe I

Architektura komputerów

Architektura komputerów

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

Podstawy Informatyki Układ sterujący

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

Wprowadzenie do architektury komputerów. Budowa jednostki wykonawczej procesora Potokowa jednostka wykonawcza Przetwarzanie wielopotokowe

Architektura systemów komputerowych

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Architektura komputerów

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Technika mikroprocesorowa I Wykład 2

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Programowany układ czasowy APSC

2. Architektura mikrokontrolerów PIC16F8x... 13

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek. Składowe architektury komputera

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Programowanie mikrokontrolerów. 8 listopada 2007

Budowa i zasada działania komputera. dr Artur Bartoszewski

Budowa Mikrokomputera

Programowanie Mikrokontrolerów

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

Metody optymalizacji soft-procesorów NIOS

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Zegar - układ wysyłający regularne impulsy o stałej szerokości (J) i częstotliwości (f)

ARCHITEKTURA PROCESORA,

Sieci komputerowe. Zadania warstwy łącza danych. Ramka Ethernet. Adresacja Ethernet

Hardware mikrokontrolera X51

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek. Szybkość pamięci Pamięć główna. Pamięć podręczna. Pamięć główna, pamięć cache

SYSTEM MIKROPROCESOROWY

Wbudowane układy komunikacyjne cz. 1 Wykład 10

Rozszerzalne kody operacji (przykład)

Komputer. Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji

Architektura komputerów

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

Transkrypt:

rchitektra systeów kopterowych rchitektra wielocyklowa Mlticycle Cezary olek Katedra Inforatyki Plan wykład Porównanie architektry jednycyklowej i wielocyklowej Ziany w ścieŝce danych Cykle. Pobór instrkcji. Dekodowanie instrkcji i odczyt rejestr 3. Wykonywanie, wyznaczenie adres paięci lb zakończenie rozgałęzienia. Dostęp do paięci lb zakończenie operacji 5. Zakończenie operacji ładowania danej z paięci kład sterjący rchitektra systeów kopterowych Cezary olek

Wada architektry jednocyklowej Konieczny dłgi czas trwania cykl, taki aby kaŝda z instrkcji zdąŝyła się wykonać w czasie jego trwania Czas realizacji kaŝdej instrkcji równy si być co najniej czasowi realizacji najwolniejszej Pobranie instrk. oad Pobranie instrk. Store Pobranie instrk. ranch Pobranie instrk. Jp Pobranie instrk. Odczyt rej. lternatywne rozwiązanie: architektra wielocyklowa (Mlticycle) Rozbicie wykonywania kaŝdej z instrkcji na kilka, krótszych cykli rchitektra systeów kopterowych Cezary olek 3 największe opóźnienie Odczyt rej. Odczyt rej. Odczyt rej. Dekodow. Zapis rej. Odczyt paięci Zapis do paięci Zapis rej. Ipleentacja wielocyklowa Rozbicie wykonywania instrkcji na kilka etapów (kroków): Pobór instrkcji - Instrction fetch Dekodowanie instrkcji i odczyt rejestr Wykonywanie, wyznaczenie adres paięci lb zakończenie rozgałęzienia Dostęp do paięci lb zakończenie operacji Zakończenie operacji ładowania danej z paięci - oad Jeden etap (krok) = Jeden cykl zegara (cykl zegara oŝe być skrócony) Pierwsze dwa kroki wspólne dla wszystkich instrkcji Instrkcja iczba cykli Instrkcja ranch iczba cykli 3 oad 5 Store rchitektra systeów kopterowych Cezary olek

Jednocyklowość, wielocyklowość - porównanie Zegar Potrzebny czas Rzeczyw. czas Instr Instr Instr 3 Instr Zegar Potrzebny czas Rzeczywisty czas 3 cykle 5 cykli 3 cykle cykle Instr Instr Instr 3 Instr Zaoszczędzony czas rchitektra systeów kopterowych Cezary olek 5 Porównanie wydajności przykład / ZałoŜenia odnośnie czasów realizacji operacji: Dostęp do paięci danych oraz instrkcji: ps oraz satory: 8 ps Dekodowanie oraz dostęp do bank rejestrów: 5 ps Czasy opóźnień PC, ltiplekserów, rozszerzenia - ignorowane Która z architektr jest szybsza i o ile? Ipleentacja jedncyklowa Ipleentacja wielocyklowa zoptyalizowana dla kaŝdej z grp instrkcji ZałoŜenie dział procentowego poszczególnych instrkcji: %, % ładowanie, % zapis, % rozgałęzień, % skoków rchitektra systeów kopterowych Cezary olek 6

Porównanie wydajności przykład / Klasa instrkcji oad Store ranch Jp Dostęp do paięci Instr. Odczyt rejestr 5 5 5 5 5 Ipleentacja jednocyklowa: Okres zegara = 88 ps (czas trwania najdłŝszej instrkcji, load) CPI = Ipleentacja wielocyklowa: Operacja 8 8 8 8 Dostęp do paięci dan. 5 ps ps Okres zegara = a (, 5, 8) = ps (największe opóźnienie krok) Średnie CPI =, +, 5 +, +, 3 +, = 3,8 Stosnek wydajności = 88 ps / (3,8 ps) = 88 / 76 =,6 Zapis rejestr 5 5 dekodowanie i aktalnienie PC Łącznie 68 ps 88 ps 7 ps rchitektra systeów kopterowych Cezary olek 7 Wielocyklowa ścieŝka danych - MIPS rchitektra Princeton PC 5 Meory ddress Instrction or data I6 Dodatkowe rejestry Ŝywane do przechowywania rezltatów kaŝdego krok i wykorzystywanych w krok następny Ta saa paięć dla danych i instrkcji 5 5 R s R Etender s sw PC[3:8], I6 To sao wykorzystywane jednocześnie do inkreentacji PC, wyznaczania adresów rozgałęzień, adresów operacji na paięci oraz zwykłych instrkcji arytetycznych i logicznych ot rchitektra systeów kopterowych Cezary olek 8

Ziany w ścieŝce danych MoŜliwość rezygnacji z niektórych eleentów Pojedyncza paięć wspólna dla instrkcji i danych Pojedyncze oŝliwość rezygnacji z dodatkowych satorów dla rozgałęzień i inkreentacji PC Współczesne procesory często zachowją dodatkowe kłady arytetyczne oraz koncepcję separacji paięci co oŝe je czynić bardziej złoŝonyi, lecz poprawia wydajność. Ttaj zostaną one snięte w cel proszczenia konstrkcji Dodatkowe rejestry dla danych tyczasowych Rejestr instrkcji Instrction register (IR) Rejestr danych paięci Meory Data Register (MDR) Rejestr wyjściowe bank rejestrów, Rejestr wyjściowy ot Wykorzystywane do przechowywania tyczasowych wartości, by ogły być wykorzystywane następny cykl rchitektra systeów kopterowych Cezary olek 9 Ziany w ścieŝce danych, cd. ZałoŜenia dotyczące jednostki wielocyklowej oŝe: W kaŝdy cykl oŝe tylko raz zyskać dostęp do paięci Rejestr IR zachowje odczytaną instrkcję Rejestr MDR zachowje odczytaną z paięci daną W kaŝdy cykl oŝe tylko raz zyskać dostęp do bank rejestrów Dwa rejestry ogą być jednocześnie odczytane i ieszczone w i W kaŝdy cykl oŝe wykonać tylko jedną operację Rejestr ot przechowje wynik Niezbędne są dodatkowe ltipleksery Przed wejście adresowy paięci w cel wybor PC lb Ot Przed pierwszy wejście w cel wybor: inkreentacja PC lb rejestr Rozszerzenia ltipleksera przed PC: inkreentacja PC, skok, rozgałęzienie rchitektra systeów kopterowych Cezary olek

Wielocyklowa ścieŝka danych + sygnały sterjące MeRead MeWrite Src PCSorce NetPC PC Meory ddress MeData I6 R s R MetoReg EtOp Etender s sw PC[3:8], I6 Src Ctrl ot Src i Src dla wybor wej. Więcej sygnałów sterj. niŝ w jednocyklowej do wybor adres paięci jako PC dla instrkcji, lb ot dla danych PCSorce dla wybor wej dla PC i włączenie zapis do rejestrów PC oraz IR rchitektra systeów kopterowych Cezary olek Sygnały sterjące Sygnał EtOp Src Src MeRead MeWrite MetoReg Działanie gdy = Rejestr docelowy = rak 6-bitowy operand jest rozsz. zerai -szy operand jest w PC (-bit) -gi operand jest w rejestrze rak rak sw = ot dres paięci ddress = PC rak rak Działanie gdy = Rejestr docelowy = Rejestr() sw 6-bitowy operand jest rozsz. znakie -szy operand jest w rejestrze -gi operand jest rozsz. I6 MeData Meory[address] Meory[address] sw = MDR dres paięci ddress = ot IR MeData PC NetPC Sygnał PCSorce Wartość Działanie NetPC = PC[3:] + (zwiększenie starszych bitów PC) NetPC = ot = PC[3:] + + rozsz-znak(i6) (dla rozgał.) NetPC = PC[3:8], i6 (dla skoków) rchitektra systeów kopterowych Cezary olek

. Cykl pobierania instrkcji - Fetch = = MeRead MeWrite = = = = = Src = PCSorce = NetPC PC Meory ddress MeData IR MDR MetoReg = I6 EtOp = R s R Etender s sw PC[3:8], I6 Src = Ctrl = INC ot -sze wej =, PC[3:] MeWrite =, = IR Meory[PC] PC PC + = MeRead = = Src =, = INC PCSorce =, = Reszta bez znaczenia rchitektra systeów kopterowych Cezary olek 3. Dekodowanie instrkcji i odczyt rejestrów = J = MeRead MeWrite = = = = = Src = PCSorce = NetPC PC Meory ddress MeData Podczas tego cykl dekodowana jest instrkcja w cel określenia sygnałów sterj. w kolejnych cyklach Reg[], Reg[], są zawsze zapisywane I6 R s R MetoReg = EtOp = Etender PC[3:8], I6 s sw Src = Ctrl = DD ot PC[3:] + roz-znak(i6) (adres rozgałęz.) Src =, Src =, EtOp =, = DD MeRead = MeWrite = = = ot -sze wej =, PC[3:] Wyznaczenie adres rozgał. z wyprz. PCSorce =, = J (zakończ. skok) rchitektra systeów kopterowych Cezary olek

3(). Cykl wykonywania instrkcji R-Type = = MeRead MeWrite = = = = = Src = PCSorce = NetPC PC Meory ddress MeData Podczas tego cykl oŝe wykonywać róŝne operacje w zaleŝności od typ instrkcji MetoReg = I6 EtOp = R s R Etender s sw PC[3:8], I6 Src = Ctrl = fnct = MeRead = MeWrite = = = ot Dla wszystkich instrkcji R-Type: ot fnct Ctrl zaleŝy od pola fnct instrkcji Src =, Src =, = fnct Reszta bez znaczenia rchitektra systeów kopterowych Cezary olek 5 3(). Wyznaczenie adres dla operacji oad/store = = MeRead MeWrite = = = = = Src = PCSorce = NetPC PC Meory ddress MeData Dla instrkcji load/store wyznacza adres paięci w 3-ci cykl IR MDR EtOp = sign MetoReg = I6 PC[3:8], I6 R s R Etender s sw Src = Ctrl = DD = MeRead = MeWrite = = = ot ot + rozszerz-znakow(iediate6) Takie sae sygnały sterj. dla instrkcji I-Type Src =, Src = EtOp = sign, = DD rchitektra systeów kopterowych Cezary olek 6

3(3). Zakończenie rozgałęzienia = ranch = MeRead MeWrite = = = = = Src = PCSorce = NetPC PC Meory ddress MeData W przypadk rozgałęzienia, porównje i, jeśli spełniony jest warnek: PC ot MetoReg = I6 EtOp = R s R Etender s sw PC[3:8], I6 Src = Ctrl = S MeRead = MeWrite = = = ot ranch zaleŝy od warnk: ranch = beq + bne JeŜeli (branch) PC ot ot zawiera adres docelowy rozgałęzienia wyznaczony podczas drgiego cykl Src =, Src =, PCSorce = Ctrl = S, = ranch rchitektra systeów kopterowych Cezary olek 7 (). Zakończenie operacji = = MeRead MeWrite = = = = or = Src = PCSorce = NetPC PC Meory ddress MeData Podczas -tego cykl instr. kończy działanie zapisjąc wynik do rejestr docelowego MetoReg = I6 EtOp = Etender PC[3:8], I6 R s R s sw Src = Ctrl = ot Reg[] ot (dla instrkcji R-Type) Reg[] ot (dla instrkcji I-Type) = (dla R-Type i dla I-Type) MetoReg =, = = MeRead = MeWrite = =, pozostałe bez znaczenia rchitektra systeów kopterowych Cezary olek 8

(). Dostęp do paięci dla instrkcji oad/store = = MeRead MeWrite = = = = = Src = PCSorce = NetPC PC Meory ddress MeData IR MDR MetoReg = I6 EtOp = Etender PC[3:8], I6 R s R s sw Src = Ctrl = ot Dostęp do paięci dla instrkcji oad i Store MDR Meory[ot] (dla oad) Meory[ot] (dla Store) =, MeRead = (oad) MeWrite = (Store) = = = rchitektra systeów kopterowych Cezary olek 9 5. Zakończenie ładowania danej z paięci - oad = = MeRead MeWrite = = = = = Src = PCSorce = NetPC PC Meory ddress Reg[] MDR MeData W 5-ty cykl instrkcja odczyt paięci kończy się zapisjąc dane do rejestr MetoReg = I6 EtOp = = () MetoReg = = Etender PC[3:8], I6 R s R s sw Src = Ctrl = = =, MeRead = MeWrite = Pozostałe bez znaczenia ot rchitektra systeów kopterowych Cezary olek

Wykonywanie instrkcji - podsowanie Cykl 3 5 Działanie Pobranie instrkcji Dekodowanie instrkcji Odczyt rejestrów Wyznaczenie adres docelow. rozgał. Zakończenie skok (dla instr. Jp) Przyp. : Wykonanie instr. R-Type Przyp. : Wykonanie instr. I-Type Przyp. 3: Wyznacz. adres load/store Przyp. : Zakończenie rozgałęzienia Przyp. : Zapis wynik dla R-Type Przyp. : Zapis wynik dla I-Type Przyp. 3: Dostęp do paięci dla oad Przyp. : Dostęp do paięci dla Store Zakończenie ładowania z paięci oad Przesłania iędzyrejestrowe IR Meory[PC], PC PC + Wytworzenie sygnałów sterjących Reg[], Reg[] ot PC[3:] + rozszerz-znak(i6) PC PC[3:8], I6 ot fnct ot op rozszerz(i6) ot + rozszerz-znak(i6) JeŜeli (ranch) PC ot Reg[] ot Reg[] ot MDR Meory[ot] Meory[ot] Reg[] MDR rchitektra systeów kopterowych Cezary olek kład sterjący kład sterowanie dla architektry wielocyklowej jest bardziej złoŝony niŝ dla jednocyklowej Wykonywane instrkcje składają się z sekwencji kroków Sygnały sterjące zaleŝą od: Rodzaj wykonywanej instrkcji ieŝącego cykl dla danej instrkcji kład sterowania jest atoate skończony (Finite State Machine - FSM) Dla architektry jednocyklowej logika kobinacyjna Sposoby ipleentacji sterowania Stany i przejścia zrealizowane w oparci o kłady logiczne Sterowanie ikroprograowalne rchitektra systeów kopterowych Cezary olek

Wielocyklowa ścieŝka danych i sterowanie Main Control MeRead MeWrite Src Op 6 PCSorce NetPC PC Meory ddress MeData MetoReg I6 R s R EtOp Etender s sw Src op PC[3:8], I6 Ctrl Control ot fnct 6 rchitektra systeów kopterowych Cezary olek 3 toat skończony kład sterowania Start Pobieranie instrkcji (op = J) Dekodowanie instrkcji, odczyt rejestr, wyznaczenie adres dla rozgałęzienia (op = W) lb (op = SW) (op = R-type) (op = EQ) lb (op = NE) (op = NDI) lb (op = ORI) lb oad/store R-Type Rozgał. (ranch) I-Type rchitektra systeów kopterowych Cezary olek

Diagra stan dla sterowania wielocyklowego Start Pobranie instrkcji = MeRead = = Src = op = INC PCSorce = = Dekodj, odczyt rejest., zakończenie skok J Wyznaczenie adres W SW Src = Src = Etop = sign op = DD SW Dostęp do pa. - oad 3 W 5 = MeRead = Dostęp do pa. - Store = MeWrite = Zakończenie oad = () MetoReg = = Src = Src = op = DD Etop = PCSorce = = J Zakończen. rozgałęz. EQ or NE 8 Src = Src = op = S PCSorce = = ranch R-type R-type 6 Src = 7 Src = op = R-type ORI, NDI, I-type 9 Src = Src = Etop = op = op Zakończenie R-Type = () MetoReg = = Zakończenie I-Type = () MetoReg = = Nie wyspecyfikowane sygnały doyślnie stawione na rchitektra systeów kopterowych Cezary olek 5 Op clk Sterowanie w oparci o atoat skończony Zrealizowany jako ogika kobinacyjna Rejestr stan Cobinational Control logic crrent state State register ieŝący stan Op Przejścia stanów i stany wyjściowe Nast. stan INC lw, sw DD ype 6 DD EtOp beq Src 8 DD bne Src MeRead j DD MeWrite ori, 9 DD MetoReg lw 3 DD sw 5 DD 3 PCSorce op 5 6 7 ype 7 net bne 8 r S beq state 9 Op rchitektra systeów kopterowych Cezary olek 6 EtOp Src Src MeRead MeWrite MetoReg PCSorce op

Koniec rchitektra systeów kopterowych Cezary olek 7