ARCHITEKTURA SYSTEÓW KOPUTEROWYCH strktry procesorów ASK SP. c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2/22 Założenia konstrkcyjne Układ pobierania instrkcji Układ przygotowania argmentów, skoki, pamięć danych 2 Założenia konstrkcyjne Bdowa 3 Koncepcje poprawy fnkcjonalnej Optymalizacja strktry Literatra c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 / 27 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 2 / 27 Założenia konstrkcyjne Założenia konstrkcyjne Założenia konstrkcyjne IPS: formaty instrkcji prosty model programowy realizacja w postaci kład sekwencyjnego jednokrotna zmiana stan po zakończeni instrkcji wykonywanie instrkcji przez kład kombinacyjny przykład: IPS (proszczony) architektra Harvard pamięć program: RO pamięć danych: RA adresowanie bajtowe format rejestrowy R: 6 5 5 5 5 6 op rs rt rd shamt fnc format ze stałą natychmiastową (immediate) I: 6 5 5 6 op rs rt offset c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 3 / 27 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 / 27
Układ pobierania instrkcji Układ pobierania instrkcji Układ przygotowania argmentów Układ przygotowania argmentów c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 5 / 27 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 6 / 27, skoki, pamięć danych, skoki, pamięć danych i smator skoków Pamięć danych wykonje operacje na argmentach wejściowych kod operacji: sygnały z jednostki sterjącej po zdekodowani instrkcji operacje arytmetyczne operacje logiczne obliczanie adres odwołania do pamięci (tryby adresowe!) np. sma zawartości rejestr bazowego i przemieszczenia sprawdzanie warnk (porównanie argmentów) smator skoków generje potencjalny adres docelowy skok warnkowego adres = inc + offset zapis do pamięci instrkcja SW (store word) adres operand wyznacza zawartość rejestr wskazanego w pol rt instrkcji zapisywana do pamięci pod wskazany adres Store => WrD (32 bity) odczyt z pamięci instrkcja LW (load word) adres operand wyznacza dana odcztana z pamięci spod wskazanego adres zapisywana do rejestr wskazanego w pol rt instrkcji kład zapis do rejestr rezltat lb odczytanej danej z pamięci nmer rejestr docelowego w pol rd lb rt instrkcji rezltat z (przez mltiplekser) kierowany do wskazanego rejestr Reslt => Wr (32 bity) c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 7 / 27 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 8 / 27
, skoki, pamięć danych, skoki, pamięć danych pod wpływem zbocza zegarowego zapis do wartości net zapis do rejestr docelowego wynik operacji w lb danej odczytanej z pamięci zapis danej odczytanej z rejestr (wskazanego w pol rt) do pamięci danych po zbocz zegara pobieranie następnej instrkcji spod adres wskazanego przez c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 9 / 27 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 / 27 Schemat fnkcjonalny procesora Sterowanie pracą procesora address Instrction [3 ] Instrction Instrction [25 2] Instrction [2 6] Instrction [5 ] RegDst Instrction [5 ] Reg 2 2 Registers 6 Sign 32 etend Src control reslt reslt Src em ress em emtoreg address Instrction [3 ] Instrction Instrction [25 ] Jmp address [3 ] 26 28 + [3 28] Instrction [3 26] Instrction [25 2] Instrction [2 6] Instrction [5 ] Control RegDst Jmp Branch em emtoreg Op em Src Reg 2 Registers 2 reslt reslt ress Instrction [5 ] Op Instrction [5 ] 6 32 Sign etend control Instrction [5 ] c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 / 27 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 2 / 27
problemy: okres zegara msi być wystarcząjąco dłgi dla realizacji instrkcji wymagających dostęp do pamięci odrębne pamięci danych i instrkcji powiększają koszt (dawniej było to b. istotne) nadmiarowość kosztownych bloków jednostki wykonawczej niska wydajność rozwiązanie nie stosowane w praktyce rozwiązania: procesor wielocyklowy architektry potokowe architektry sperskalarne jednostki wielordzeniowe Założenia konstrkcyjne Układ pobierania instrkcji Układ przygotowania argmentów, skoki, pamięć danych 2 Założenia konstrkcyjne Bdowa 3 Koncepcje poprawy fnkcjonalnej Optymalizacja strktry Literatra c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 3 / 27 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 / 27 Założenia konstrkcyjne Bdowa Założenia konstrkcyjne Bdowa niwersalne bloki fnkcjonalne w cykl rozkazowym stosowane do realizacji różnych mikrooperacji instrkcje realizowane etapami (fazy) w każdej fazie blok wykonje jedną czynność liczba faz zależna od złożoności instrkcji czasy wykonania instrkcji zróżnicowane sterowanie: złożony atomat synchroniczny wzrost złożoności strktralnej (więcej mltiplekserów) wspólna pamięć program i danych (architektra Princeton) wielokrotne wykorzystanie do inkrementacji do wykonywania operacji arytmetycznych i logicznych do obliczania adres docelowego skok rejestr IR ładowany kopią instrkcji z pamięci (faza pobrania) model programowy typ CISC argmenty w pamięci lb w rejestrach wynik zapisywany do rejestrów lb do pamięci instrkcje o różnych dłgościach pamięć na zewnątrz procesora pamięć połączona z procesorem za pomocą magistrali (szyny) magistrala adresowa (address bs) magistrala danych ( bs) magistrala sterjąca (control bs) wewnątrz procesora: jednostka sterjąca zestaw rejestrów jednostka interfejs magistrali c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 5 / 27 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 6 / 27
w poszczególnych fazach pracje tylko część bloków fnkcjonalnych procesora pobranie instrkcji interfejs magistrali dekodowanie instrkcji jednostka sterjąca pobranie argmentów rejestry lb interfejs szyny wykonanie operacji zapis wynik rejestry lb interfejs szyny przez większość czas większość bloków fnkcjonalnych pozostaje bezczynna Koncepcje poprawy fnkcjonalnej Założenia konstrkcyjne Układ pobierania instrkcji Układ przygotowania argmentów, skoki, pamięć danych 2 Założenia konstrkcyjne Bdowa 3 Koncepcje poprawy fnkcjonalnej Optymalizacja strktry Literatra c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 7 / 27 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 8 / 27 Koncepcje poprawy fnkcjonalnej Dodatkowe ścieżki danych Optymalizacja strktry Koncepcje poprawy fnkcjonalnej Optymalizacja pobierania instrkcji Optymalizacja strktry pojedyncza ścieżka danych wymaga min. 6 faz: pobranie instrkcji jedna fazy dekodowanie instrkcji jedna faza pobranie argmentów dwie fazy wykonanie operacji jedna faza zapis wynik jedna faza zwiększając liczbę ścieżek można zmniejszyć liczbę faz np. przez połączenie bezpośrednie rejestrów z w trakcie realizacji fazy dekodowania interfejs szyny jest bezczynny w tym czasie można go zaangażować do pobierania następnej instrkcji pobieranie instrkcji z wyprzedzeniem (prefetch) przez jednostkę interfejs szyny dodatkowy rejestr (scan) dodatkowy rejestr instrkcji pobieranej na zapas scan inkrementowany po pobrani instrkcji jednostka sterjąca pobiera następną instrkcję z rejestr prefetch nie wymaga w tym cel odrębnej fazy zegara w przypadk instrkcji skok zapisany w adres następnej instrkcji jest różny od zawartości scan konieczne jest więc kopiowanie do scan konieczna jest faza pobrania instrkcji implementacja np. w C68 (979 r.) c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 9 / 27 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 2 / 27
Koncepcje poprawy fnkcjonalnej Optymalizacja pobierania instrkcji Kolejka instrkcji Optymalizacja strktry Kolejka instrkcji Opóźnienia skoków Koncepcje poprawy fnkcjonalnej Optymalizacja strktry instrkcje CISC mają różną dłgość interfejs magistrali może być bezczynny podczas kolejnych faz: pobierania argmentów, wykonywania operacji, zapis wynik w tym czasie można go zaangażować do pobierania kolejnych instrkcji pobierane instrkcje zapisywane są w bforze FIFO dodatkowy rejestr (scan) dodatkowy bfor FIFO (kolejka) instrkcji pobieranych na zapas scan inkrementowany po pobrani instrkcji jednostka sterjąca pobiera kolejne instrkcje z czoła kolejki w przypadk instrkcji skok zapisany w adres następnej instrkcji jest różny od adres instrkcji z czoła kolejki konieczne jest więc kopiowanie do scan nieważnienia się więc cała kolejka rozkazów niezbędna faza pobrania instrkcji implementacja np. w C68, Intel 886, 8286, i386 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 2 / 27 instrkcje skok (przekazania sterowania) wykonją się dłżej od instrkcji nie modyfikjących opóźnienie skok (branch penalty) spowodowane jest koniecznością nieważnienia kolejki i dodatkowej fazy pobrania następnej instrkcji z pamięci skoki stanowią 7 % instrkcji w programach obniżenie wydajności metody redkcji opóźnienia skok ograniczanie liczby skoków w programie wykrywania krótkich pętli (procesory 68k) bfor cykliczny c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 22 / 27 Koncepcje poprawy fnkcjonalnej potokowy procesor jednocyklowy Procesor potokowy etapy potok Koncepcje poprawy fnkcjonalnej każdy kład pracje przez różny czas (propagacja sygnał z wejścia na wyjście) po jednokrotnej zmianie stan wyjścia każdego kład strktry procesora pozostają stałe do czas zakończenia instrkcji przez pozostały czas do końca cykl instrkcji kład nie pracje (tylko podtrzymje stan) do trzymania stalonych wartości można żyć rejestrów w procesorze wydziela się podzespoły o zbliżonych czasach propagacji sygnałów, np. i dostęp do pamięci instrkcji zestaw rejestrów i kład rozszerzania danej i smator skoków dostęp do pamięci danych kład zapis wynik w miejscach linii cięcia wprowadza się rejestry złożone z przerztników D rejestry potokowe IF: Instrction fetch ress Instrction Instrction ID: Instrction decode/ file read 2 Registers 6 2 Sign etend 32 EX: Eecte/ address calclation reslt reslt E: emory access ress WB: back c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 23 / 27 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 2 / 27
Koncepcje poprawy fnkcjonalnej Koncepcje poprawy fnkcjonalnej Procesor potokowy praca procesora w cykl rozkazowym Procesor potokowy rejestry potokowe typowe etapy: IF, ID/OF, EX, E, WB po zmianie pobierana jest instrkcja i zapamiętywany jest stan wszystkich sygnałów w rejestrze potokowym po każdym etapie stan sygnałów zapisywany jest w rejestrze potokowym danego etap po zapamiętani stan bloki fnkcjonalne mogą być wykorzystane do przetwarzania następnej instrkcji, która będzie na tym etapie realizacji realizacja pojedynczej instrkcji w 5 cyklach zegara w każdym cykl procesor rozpoczyna nową instrkcję w każdym cykl procesor kończy kolejną instrkcję maksymalna wydajność: jedna instrkcja na cykl zegarowy ress Instrction IF/ID ID/EX EX/E E/WB Instrction 2 Registers 6 2 Sign etend 32 reslt reslt ress c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 25 / 27 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 26 / 27 Literatra Literatra A. S. Tanenbam, Strktralna organizacja systemów kompterowych, Helion, 26. J. Biernat, Architektra kompterów, OWPW, 25. D. Patterson, J. Hennessy, Compter organization and design, Elsevier 25. G. azr, Architektra systemów kompterowych, http://wazniak.mimw.ed.pl. R. Hyde, Profesjonalne programowanie, Helion, 25. R. Hyde, Asembler. Sztka programowania, Helion, 2. 978/Patterson Figre 6.2 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP. Rok akad. 2/22 27 / 27