Wprowadzenie do architektury komputerów. Budowa jednostki wykonawczej procesora Potokowa jednostka wykonawcza Przetwarzanie wielopotokowe
|
|
- Bronisława Angelika Sikora
- 7 lat temu
- Przeglądów:
Transkrypt
1 Wprowadzenie do architektury komputerów Budowa jednostki wykonawczej procesora Potokowa jednostka wykonawcza Przetwarzanie wielopotokowe
2 Budowa procesora Jednostka wykonawcza Procesor
3 Procesor jednocykowy Procesory o prostym modelu programowym można zrealizować w postaci układu sekwencyjnego, który podczas każdej instrukcji zmienia stan tylko jeden raz na końcu instrukcji Całe wykonanie instrukcji odbywa się w układzie kombinacyjnym Założenia dla modelu procesora model programowy MIPS (RISC) z uproszczeniami architektura Harvard rozdzielone pamięci programu i danych pamięć programu jest pamięcią stałą (ROM) czyli układem kombinacyjnym instrukcje o długości 32-bitów zapisane w pamięci o szerokości słowa równej 32 bity adresowanie pamięci bajtowe wymuszone wyrównanie naturalne danych i instrukcji
4 Format instrukcji Modelowy procesor ma możliwość wykonywania instrukcji MIPS w dwóch spośród trzech formatów R oraz I. W obu formatach występują pola głównego kodu operacyjnego i dwa numery rejestrów. Pozostała część słowa instrukcji jest różna dla obu formatów.
5 Procesor jednocyklowy pobranie instrukcji PC licznik instrukcji PC_inc inkrementer licznika instrukcji IM pamięć instrukcji nextpc ścieżka zawierająca następną zawartość PC
6 Procesor jednocyklowy pobieranie instrukcji Licznik instrukcji PC zrealizowany jako rejestr typu D Zawartość licznika instrukcji jest podawana na wejście adresowe pamięci programu IM wejście inkrementera PC_inc układu kombinacyjnego generującego wartość PC+4 potencjalny adres następnej instrukcji Na wyjściu pamięci instrukcji pojawia się binarny obraz instrukcji w postaci słowa 32-bitowego Poszczególne części tego słowa zawierają (w zależności od formatu) kod operacyjny instrukcji (jedno lub dwa pola) 0,1,2 lub 3 numery rejestrów (docelowy, źródłowe) 16-bitową stałą natychmiastową używaną jako argument operacji lub przemieszczenie adresu 5-bitową wartość przesunięcia bitowego
7 Procesor jednocyklowy układ sterujący Na wejście układu sterującego jest podawana część słowa instrukcji główny kod operacyjny pole OPC (tylko dla instrukcji w formacie R) pole FUN Układ sterujący generuje sygnały sterujące pozostałymi częściami procesora, w tym m,in, sygnały sterujące multiplexerami sygnały zezwolenia na odczyt i zapis pamięci danych sygnały zezwolenia na zapis rejestru docelowego kod operacji dla jednostki arytmetyczno-logicznej sygnał zezwolenia na skok warunkowy sygnał sterujący pracą układu rozszerzania danej natychmiastowej
8 Procesor jednocyklowy przygotowanie argumentów OPC, FUN, Rs, Rt, Rd, offset pola obrazu binarnego instrukcji. RdA1, RdA2 adresy odczytu zestawu rejestrów (numery odczytywanych rejestrów). WrA Numer rejestru zapisywanego. WrD dane zapisywane do rejstru. RdD1, RdD2 dane odczytywane z rejestrów. BrOffset przemieszczenie skoku. StoreData - dane zapisywane do pamięci. Mux_ALU multiplekser wyboru drugiego argumentu źródłowego.
9 Procesor jednocyklowy przygotowanie argumentów Argumenty rejestrowe pierwszy argument rejestr o numerze Rs drugi argument rejestr o numerze Rt (tylko w formacie R) Argument natychmiastowy (format I) uzyskany przez rozszerzenie 16- bitowego pola stałej do 32 bitów w układzie rozszerzenia Ext instrukcje arytmetyczne, skoki warunkowe, odwołania do pamięci rozszerzenie bitem znaku instrukcje logiczne rozszerzenie zerami wybór drugiego argumentu realizowany przez multiplexer Mux_ALU w zależności od formatu instrukcji Jednostka arytmetyczna otrzymuje na wejściach dwa argumenty 32- bitowe Numer rejestru docelowego pochodzi z pola Rt lub Rd
10 Procesor jednocyklowy ALU, pamięć danych Br_Add sumator adresów docelowych skoków. MUX_BR multiplekser skoków warunkowych. ALU jednostka arytmetyczno logiczna. Result wynik operacji. Cond warunek skoku. DM pamięć danych. WrData dane zapisywane do rejestru.
11 Procesor jednocyklowy ALU, układ skoków Jednostka arytmetyczno-logiczna wykonuje na argumentach wejściowych operację określoną przez wykonywaną instrukcję przy instrukcjach odwołań do pamięci jest to sumowanie zawartości rejestru bazowego z przemieszczeniem, którego wynikiem jest adres odwołania przy instrukcjach skoków warunkowych ALU porównuje dwa argumenty sprawdzając określoną relację, a wartość logiczną relacji wystawia na wyjście warunku skoku COND Sumator skoków generuje potencjalny adres docelowy skoku warunkowego adres powstaje przez zsumowanie zinkrementowanej zawartości PC z przeskalowanym (x4) przemieszczeniem zawartym w kodzie instrukcji Multiplekser skoków względnych MUX_BR wybiera adres następnej instrukcji
12 Procesor jednocyklowy wymiana danych z pamięcią Moduł wymiany danych z pamięcią jest bezczynny podczas instrukcji innych niż ładowanie i składowanie danych Wartość z wyjścia ALU jest używana jako adres odczytu lub zapisu pamięci W instrukcjach składowania do pamięci jest zapisana zawartość rejestru Rt zapis następuje na końcu wykonania instrukcji W instrukcji ładowania następuje odczyt zawartości pamięci
13 Procesor jednocyklowy zakończenie wykonywania instrukcji Multiplexer wyboru wyniku służy do wybrania wartości, która ma być zapisana do rejestru jest to albo wartość z wyjścia ALU, albo dana odczytana z pamięci Po przepropagowaniu sygnałów przez wszystkie układy procesora następuje zakończenie wykonania instrukcji, sterowane zboczem sygnału zegarowego Zbocze zegara powoduje zapis do PC wartości z wyjścia multipleksera skoków (w instr. arytmetycznych, logicznych i ładowania) zapis wyniku operacji lub danej odczytanej z pamięci do rejestru docelowego (w instrukcjach składowania) zapis danej odczytanej z rejestru Rt do pamięci danych Po zboczu zegara następuje rozpoczęcie wykonania następnej instrukcji
14 Procesor jednocyklowy studium implementacji Przedstawiony procesor można skonstruować ze standardowych układów logicznych rejestry, bramki, multipleksery, ALU, Pamięć ROM i RAM łatwo dostępne Zestaw rejestrów można zbudować np. z dwóch układów pamięci, które będą miały identyczną zawartość Procesor taki można również zsyntezować w układzie FPGA Realistyczne czasy propagacji układów 5 ns dla prostych układów logicznych oraz tsetup 20 ns dla pamięci i ALU Wydajność procesora wynika z najdłuższej ścieżki przepływu sygnałów podczas wykonywania instrukcji 3 x 20 ns +4 x 5 ns = 80 ns co daje fmax około 12 MHz
15 Procesor jednocyklowy - problemy Realizacja jednocyklowa nie była i nie jest stosowana w praktyce Wady dawniej oddzielenie pamięci wysoki koszt, duże rozmiary, brak programowalności Nadmiarowość kosztownych bloków trzy sumatory (inkrementacja PC, ALU, sumator skoków) Wady obecnie niska wydajność Rozwiązanie inna budowa procesora dawniej procesor wielocyklowy obecnie architektury potokowe
16 Procesor wielocyklowy Architektura wielocyklowa minimalizuje liczbę bloków funkcjonalnych poprzez wielokrotne wykorzystanie bloków podczas każdej instrukcji Implikuje to konieczność rozbicia wykonania instrukcji na kilka faz - cykli w każdej fazie każdy blok wykonuje jedną czynność liczba faz wynosi od dwóch do kilkunastu, w zależności od budowy procesora i złożoności danej instrukcji poszczególne instrukcje mają rożne czasy wykonania Do sterowania wykonaniem służy skomplikowany układ sterujący będący złożonym automatem synchronicznym Komplikacja dróg przepływu danych implikuje wzrost liczby multiplekserów
17 Procesor wielocyklowy Wspólna pamięć programu i danych architektura Princeton programowalność dwu- lub trzykrotne użycie pamięci podczas wykonania instrukcji Wielokrotne wykorzystanie Sumatora do inkrementacji PC do wykonania operacji arytmetycznej do wyliczenia adresu docelowego skoku wielofazowe wykonanie powoduje konieczność zapamiętania pobranej instrukcji służy do tego tzw. rejestr instrukcji IR umieszczony w jednostce sterującej w fazie pobrania rejestr ten jest ładowany obrazem instrukcji pobranym z pamięci
18 Procesor wielocyklowy studium implementacji każda instrukcja wykonuje się w kilku cyklach zegara przyjmijmy średnią liczbę cykli równą 3 Czas cyklu zależny od najdłuższej ścieżki propagacji sygnałów przyjmując parametry analogiczne jak dla modelu procesora jednocyklowego 20 ns + 3 x 5 ns = 35 ns fmax około 30MHz Średni czas wykonania instrukcji 3 x 35 ns = 105 ns realizacja wielocyklowa jest nieco wolniejsza od jednocyklowej niższe koszty rekompensują niższą wydajność
19 Praca procesora jednocyklowego Podczas wykonywania pojedynczej instrukcji następuje propagacja sygnałów przez połączone układy kombinacyjne Po jednokrotnej zmianie stanu wyjścia każdego układu, stan wyjścia pozostaje stały do zakończenia wykonywania instrukcji Każdy układ aktywnie pracuje tylko przez krótki czas przez pozostały czas utrzymuje ustaloną wartość na wyjściu Do utrzymania ustalonych wartości można użyć rejestrów Procesor jednocyklowy można podzielić na fragmenty o podobnych czasach propagacji sygnałów np.: PC i pamięć programu zestaw rejestrów i układ rozszerzania danej ALU i sumator skoków pamięć danych układ zapisu wyniku
20 Od procesora jednocyklowego do potoku W miejscach linii cięcia umieszczamy rejestry typu D Wykonanie instrukcji po zmianie PC, po czasie potrzebnym na propagację sygnałów przez pamięć programu, zapamiętujemy stan wszystkich sygnałów (zinkrementowana wartość PC i wyjście pamięci programu) w rejestrze poprzez podanie zbocza zegara po przepropagowaniu sygnałów przez każdy kolejny fragment procesora zapamiętujemy wszystkie sygnały wychodzące z tego bloku w rejestrze umieszczonym na końcu danego bloku po przepropagowaniu sygnałów z ostatniego bloku na wejścia PC i zestawu rejestrów podajemy zbocze zegara kończące wykonanie instrukcji Przepływ sygnałów pozostał bez zmian, dodano 4 rejestry Wykonanie instrukcji zajmuje 5 faz, czas wykonania instrukcji nieco wzrósł, potrzeba 5 przebiegów synchronizujących gdzie jest zysk?
21 Od procesora jednocyklowego do potoku Po zapamiętaniu stanu wyjść fragmentu procesora, fragment ten staje się bezczynny nie jest już potrzebny do wykonania danej instrukcji, a wynik jego pracy jest zapamiętany w rejestrze Zwolniony fragment można wykorzystać do wykonania następnej instrukcji wystarczy w tym celu użyć jednego, wspólnego przebiegu zegarowego do sterowania wszystkich rejestrów Wykonanie pojedynczej instrukcji zajmuje 5 cykli zegarowych czas tych cykli jest znacznie krótszy niż w wariancie jednocyklowym W każdym cyklu procesor rozpoczyna wykonanie nowej instrukcji W każdym cyklu procesor kończy wykonanie kolejnej instrukcji Widziana na zewnątrz wydajność jedna instrukcja na cykl
22 Potokowa jednostka wykonawcza MIPS R3000 Jeden z pierwszych mikroprocesorów RISC, ok stopni potoku IF, RD, ALU, MEM, WB Stopnie IF i WB pracują przez pół cyklu wykonywanie instrukcji zajmuje czas czterech cykli zegra, złożony z połówkowego cyklu IF, pełnych cykli RD, ALU i MEM oraz połówki cyklu WB ma to wpływ na wielkość opóźnień, - omówione dalej Architektura Harvard-Princeton rozdzielone górne warstwy hierarchii pamięci, wspólna pamięć operacyjna
23 Potok MIPS R3000 Stopień IF pobiera instrukcje z hierarchii pamięci instrukcji (zewnętrznej w stosunku do procesora). Stopień RD odczytuje zawartości rejestrów źródłowych z zestawu rejestrów procesora. Stopień ALU wykonuje operację arytmetyczną i ew. skok. Stopień MEM dokonuje wymiany danych z hierarchią pamięci danych. Stopień WB zapisuje wynik operacji arytmetycznej lub daną odczytaną z pamięci do rejestru.
24 Budowa i działanie potoku MIPS R3000 Na końcu każdego stopnia (oprócz WB) jest umieszczony rejestr typu D Aktualizacja PC i rejestrów uniwersalnych następuje w połowie cyklu zegara pobranie instrukcji zaczyna się w połowie cyklu zapis wyniku do rejestru następuje w połowie cyklu odczyt danej z rejestru następuje w drugiej połowie fazy RD Wszystkie sygnały potrzebne do dokończenia wykonania instrukcji są zapamiętane w rejestrach i przekazywane do kolejnych stopni potoku, w tym m.in. sygnały sterujące numer rejestru docelowego
25 Wykonanie sekwencji instrukcji w potoku MIPS R3000 W każdym cyklu procesor rozpoczyna wykonanie nowej instrukcji i kończy wykonanie wcześniejszej instrukcji. W każdym cyklu w potoku przebywa 5 instrukcji w różnych fazach wykonania.
26 Synchronizacja potoku Rozpatrzmy wykonanie sekwencji instrukcji addu $4, $3, $2 addu $6, $5, $4 druga instrukcja korzysta z argumentu źródlłowego w rejestrze $4 rejestr ten jest rejestrem docelowym pierwszej instrukcji instrukcja zapisuje wynik w stopniu WB odczyt argumentów następuje w stopniu RD kiedy druga instrukcja znajduje się w stopniu RD, pierwsza przebywa w stopniu ALU Zapis wyniku przez pierwszą instrukcję nastąpi w dwa cykle później Problem: jaką wartość $4 pobierze druga instrukcja? byłaby to wartość nie zaktualizowana przez pierwszą instrukcję nie ma pewności, czy wykonanie programu użytkowego nie zostanie przerwane pomiędzy 1 i 2 instrukcją, a następnie wznowione w takiej sytuacji pierwsza instrukcja zakończy się i zapisze wynik
27 Hazard R-A-W Nie da się jednoznacznie określić, jaką wartość rejestru pobierze druga instrukcja jeżeli pomiędzy pierwszą i druga instrukcją nastapi np. przełączenie procesów, druga instrukcja pobierze wartość zaktualizowaną przez pierwszą Zachowanie programu jest niedeterministyczne sytuacje taka nazywamy HAZARDEM Ponieważ hazard wynika z umieszczenia w programie instrukcji odczytującej rejestr po instrukcji zapisującej rejestr, ten typ hazardu jest określany jako odczyt po zapisie (RAW hazard tj. read-afterwrite) Konieczne jest wprowadzenie determinizmu w zachowaniu procesora, czyli usunięcie hazardu
28 Usuwanie hazardu R-A-W (1) Metoda administarcyjna skutek wykonania instrukcji korzystającej z danego rejestru jako źródłowego wcześniej niż w 3 instrukcje po instrukcji zapisującej rejestr zostaje opisany w dokumentacji procesora jako nieokreślony programiście nie wolno użyć takiej sekwencji instrukcji wada: bardzo często trzeba w programie wstawiać instrukcje puste Metoda ta jest niepraktyczna, gdyż na ogół instrukcje programów tworzą sekwencje łańcuchy, w których kolejne instrukcje korzystają z wyników instrukcji poprzedzających.
29 Usuwanie hazardu R-A-W (2) Wstrzymanie potoku po wykryciu hazardu układ kombinacyjny (komparator) porównuje numery rejestrów źródłowych instrukcji w stopniu RD z numerami rejestrów docelowych instrukcji w stopniu ALU i MEM (stopień RD może oczytać rejestr zapisywany w tym samym cyklu w stopniu WB). w przypadku wykrycia zgodności, instrukcja zostaje zatrzymana w stopniu RD stopnie IF i RD stoją pozostałe stopnie pracują normalnie, ze stopnia RD do ALU jest wstrzykiwana instrukcja pusta program wykonuje się poprawnie, bez konieczności dodania instrukcji pustych zależności między instrukcjami powodują opóźnienia w programach często występują sekwencje instrukcji zależnych
30 Usuwanie hazardu R-A-W (3) - obejścia Najbardziej efektywna metoda usuwania hazardu RAW wymaga nieco większych nakładów sprzętowych, w postaci rozbudowy stopnia odczytu i przeprowadzenia dodatkowych ścieżek danych ze stopni ALU i MEM do stopnia RD Wynik operacji arytmetycznej jest dostępny już w stopniu ALU Wartość wyniku instrukcji jest gotowa gdy następna instrukcja przebywa w stopniu RD Obejścia to szyny (ścieżki) poprowadzone ze stopni ALU i MEM do stopnia RD po obejściu jest przesyłany numer rejestru docelowego i wynik instrukcji W ten sposób w stopniu RD można pobrać jako argumenty źródłowe wartości rejestrów, zanim zostaną one zapisane do rejestrów procesora. Logika odczytu w stopniu RD Numer rejestru źródłowego jest porównywany z numerami rejestrów na obejściach priorytety: obejście z ALU, obejście z MEM, fizyczny rejestr procesora Obejście ze stopnia WB jest zbędne Obejścia eliminują hazard RAW bez wprowadzenia opóźnień w R3000 zastosowano obejścia wg opisanego schematu
31 Obejścia - działanie W przedstawionym przykładzie obejścia ze stopni ALU i MEM zawierają wartości, które w przyszłości zostaną zapisane do rejestrów $5 i $4. Instrukcja przebywająca w stopniu RD specyfikuje jako argumenty źródłowe właśnie te rejestry. Logika stopnia RD spowoduje, że wartości argumentów zostaną pobrane nie z rejestrów $4 i $5, a z obejść.
32 Opóźnienie wynikające z dostępu do pamięci Zakładamy, że procesor został wyposażony w obejścia eliminujące hazard RAW Rozważmy sekwencję instrukcji lw $4 add $6, $5, $4 tym razem hazard RAW wynika z odwołania do pamięci dana odczytana z pamięci będzie dostępna w stopniu MEM obejścia redukują opóźnienie, ale go nie eliminują dana ze stopnia MEM może być przekazana obejściem kiedy instrukcja używająca danej jest w stopniu RD, instrukcja ładowana jest dopiero w stopniu ALU Dostęp do pamięci nastąpi w stopniu MEM. Obejście ze stopnia ALU nie może więc zawierać wyniku instrukcji ładowania. Wynik ten będzie dostępny na obejściu ze stopnia MEM, kiedy instrukcja ładowania znajdzie się w stopniu MEM. Nie ma możliwości przyspieszenia tej operacji, a obejścia nie są w stanie usunąć hazardu. Problem ten jest nazywany opóźnieniem pomiędzy załadowaniem danej z pamięci i jej użyciem (load-use penalty)
33 Opóźnienie wynikające z dostępu do pamięci Hazard wynikający z opóźnienia nie może zostać wyeliminowany bez opóźnień W MIPS R3000 instrukcja korzystająca z danej pobranej z pamięci nie może być umieszczona bezpośrednio za instrukcja ładowania Eliminacja hazardu wymaga wprowadzenia opóźnienia pomiędzy instrukcją ładowania i instrukcją korzystającą z załadowanych danych. zastosowano metodę administracyjną W późniejszych wersjach MIPS, w tym w architekturze MIPS32 hazard jest usuwany sprzętowo, poprzez wstrzymanie początku potoku
34 Instrukcje skoków w potoku Określenie warunku skoku i obliczenie adresu docelowego następuje w stopniu ALU, w połowie cyklu W tym czasie w stopniu RD przebywa już instrukcja zapisana w programie za instrukcją skoku Zmiana PC dokonana w stopniu ALU wpływa natychmiast na działanie stopnia IF, który pobiera instrukcję spod adresu docelowego skoku. W potoku znalazła się jednak już jedna instrukcja za instrukcją skoku. Instrukcja skoku może mieć wpływ dopiero na pobranie kolejnej instrukcji instrukcja pobrana po instrukcji skoku może zostać anulowana, ale zajmuje czas procesora Opóźnienie skoków w architekturze potokowej wynika z odległości pomiędzy stopniem, w którym następuje skok (ALU) i stopniem pobrania instrukcji W przypadku R3000 opóźnienie to wynosi jeden cykl.
35 Redukcja opóźnienia skoków w potoku Technika redukcji opóźnienia używana w krótkich potokach polega na zdefiniowaniu instrukcji skoku Skok opóźniony (delayed branch) - wykonaj instrukcję umieszczoną za skokiem i skocz Za skokiem można umieścić dowolną instrukcję, która ma być wykonana przed skokiem i od której nie zależy wykonanie skoku Miejsce za instrukcją skoku, zawierające instrukcje wykonywane niezależnie od realizacji skoku, nazywa się slotem opóźnienia (delay slot) Przy slocie opóźnienia o rozmiarze jednej instrukcji prawdopodobieństwo wypełnienia slotu przez kompilator użyteczną instrukcją jest rzędu 90% w razie braku takiej instrukcji w slocie umieszcza się instrukcję pustą
36 Wydajność potoku Teoretyczna wydajność potoku jeden cykl na instrukcję Czynniki powodujące opóźnienia wewnątrz potoku hazardy usuwane inaczej niż przez obejścia ładowanie danych z pamięci skoki na zewnątrz potoku dostępy do hierarchii pamięci, których realizacja wymaga > 1 cyklu Praktyczna wydajność osiągana przez procesory potokowe ok. 1,2 cyklu na instrukcję
37 Przyspieszenie potoku Wraz z ulepszaniem technologii półprzewodnikowej wzrasta dopuszczalna częstotliwość pracy układów. Przy wzroście częstotliwości pracy odwołania do pamięci nie mogą być wykonane w jednym cyklu każde odwołanie powoduje wstrzymanie potoku, przez co potok działa wolniej niż przy mniejszej częstotliwości Złożoności niektórych stopni potoku uniemożliwia podniesienie częstotliwości pracy Każda architektura potoku, wraz z otoczeniem (hierarchią pamięci) ma określoną częstotliwość graniczną, powyżej której albo procesor przestaje działać, albo stopnie wymiany z pamięcią muszą czekać dodatkowy cykl na zakończenie operacji. W efekcie przyspieszenie zegara jest albo niemożliwe, albo przynosi spadek wydajności zamiast jej wzrostu. Rozwiązaniem jest przebudowanie potoku poprzez zwiększenie liczby stopni i zmianę szczegółów współpracy z pamięcią Potok wydłużony o długości powyżej 6 stopni jest nazywany superpotokiem
38 Budowa super potoku MIPS R4000 MIPS R4000 posiada potok wydłużony do ośmiu stopni. Dwie najistotniejsze zmiany w stosunku do R3000 to rozbicie stopni współpracujących z hierarchiami pamięci na dwa stopnie w przypadku pobrania instrukcji i trzy stopnie dla odwołań do danych.
39 Superpotok MIPS R4000 R pierwszy mikroprocesor 64-bitowy Zgodny programowo na poziomie binarnym z R3000 Superpotok 8-stopniowy IF Instruction First początek pobierania Instrukcji IS Instruction Second zakończenie pobierania instrukcji RD read -odczyt argumentów EX Execute odpowiednik ALU w R3000 DF Data first początek odwołania do danych DS data second Zakończenie transakcji z pamięcią danych DTC Data Tag Check finalizacja odwołania WB Write Back zapis wyniku do rejestru
40 Wydajność superpotoków Większe i częstsze opóźnienia powodują, że wydajność wyrażona w cyklach na instrukcję jest gorsza niż w przypadku krótkich potoków typowa wydajność wynosi ok. 1,5 cyklu na instrukcję Większa wartość CPI jest kompensowana wzrostem częstotliwości pracy Przyrost wydajności wynikający z wydłużenia potoku przy zachowaniu parametrów technologicznych wynosi ok. 50%
41 Potokowa realizacja procesora CISC Architektura potokowa daje się łatwo zastosować, gdy: Sekwencja czynności jest stała dla wszystkich instrukcji niektóre fazy niektórych instrukcji mogą być puste Instrukcje maja stała długość i ich dekodowanie jest proste Instrukcja realizuje co najwyżej jedno odwołanie do pamięci danych Instrukcja ma jeden argument docelowy Postulaty te nie są spełnione w modelach programowych CISC Aby procesory CISC mogły konkurować z procesorami RISC pod względem wydajności, konieczne stało się opracowanie potokowych realizacji procesorów CISC. Możliwości realizacji potokowej CISC Budowa potoku zdolnego do wykonania instrukcji CISC podział procesora na dwie części jednostka pobierająca instrukcje CISC i transkodująca je na prymitywy RISC Jednostka wykonawcza RISC
42 Potok CISC Potok przebudowany tak, by mógł wykonywać instrukcje CISC kilka stopni na początku potoku zajmuje się pobraniem instrukcji dekodowaniem ich i wyliczaniem adresu efektywnego instrukcje o zmiennych długościach wymagają skomplikowanego dekodera, niekiedy działającego w kilku cyklach Stopień odczytu argumentów pobiera je z rejestrów lub pamięci Stopień wykonani o skomplikowanej budowie wykonuje poszczególne instrukcje w rożnej liczbie cykli stopień zapisu zapisuje wyniki do rejestru lub pamięci skomplikowany interfejs pamięci z dwiema ścieżkami dostępu Wydajność: średni czas wykonani instrukcji ok. 2 cykli potok często zatrzymuje się Przykłady: Intel i486, Motorola MC68040 koniec lat 80-tych
43 Potok CISC- Intel i486 Struktura poszczególnych stopni jest w tym przypadku dużo bardziej złożona, a poszczególne instrukcje mogą spędzać w niektórych stopniach po kilka, a nawet kilkadziesiąt cykli (dotyczy to zwłaszcza stopnia EX).
44 Procesor z transkodowaniem instrukcji Jednostka transkodująca pobiera instrukcje CISC i zamienia je na sekwencje instrukcji podobnych do RISC Dla prostych instrukcji translacja 1:1 nieco bardziej złożone instr. - zamieniane na 2:4 instr. RISC Instrukcje skomplikowane wykonywane jako procedury pobierane z pamięci ROM umieszczonej w procesorze Jednostka wykonawcza wykonuje instrukcje typu RISC różnice w stosunku do czystego RISC występujące w niektórych realizacjach instrukcje arytmetyczne z jednym odwołaniem do argumentu w pamięci Operacje stosowe (dwa argumenty docelowe w tym SP) Przykłady: pierwsze realizacje : NezGen Nx586, IDT C6 ( ) procesory x86 też działają na tej zasadzie
45 Procesor z transkodowaniem instrukcji IDT C6 Procesor IDT C6 jest najprostszym przykładem procesora x86 z transkodowaniem instrukcji. Proste instrukcje CISC są zamieniane w jedną lub kilka instrukcji RISC w stopniu translatora. Bardziej skomplikowane instrukcje są zamieniane na RISCową instrukcję wywołania procedury z wbudowanej pamięci ROM. Zwykłe instrukcje trafiają wprost z kolejki instrukcji do pamięci. Wywołania procedur powodują uruchomienie pobierania instrukcji RISCowych z pamięci ROM.
46 Od potoku do superskalara Idealna teoretyczna wydajność procesorów potokowych wynosi 1 CPI Procesor nie może wykonać instrukcji w ułamku cyklu, ale może wykonać więcej niż jedna instrukcję w czasie jednego cyklu Procesor taki musi mieć więcej niż jeden potok wykonawczy Procesory wielopotokowe są nazywane procesorami superskalarnymi lub superskalarami
47 Struktura procesora superskalarnego
48 Budowa i działanie procesora superskalarnego Pierwsze stopnie pobierają i dekodują równocześnie kilka instrukcji Stopień inicjujący wykonanie kieruje instrukcje do indywidualnych potoków wykonawczych każdy z potoków wykonuje po jednej instrukcji nie zawsze udaje się skierować instrukcje do każdego potoku Potoki wykonawcze wykonują pojedyncze instrukcje Stopień porządkujący decyduje o zatwierdzeniu wykonania instrukcji i modyfikacji widocznego programowo rejestru PC nieobecny w prostych superskalarach Stopień zapisu dokonuje nieodwracalnej modyfikacji kontekstu programowego (rejestrów i pamięci) w prostych superkalarach, bez stopnia porządkującego, stopnie zapisu są oddzielne dla poszczególnych potoków
49 Rodzaje procesorów superskalarnych Pseudosuperskalar np. Intel Superskalar z kolejnym wykonaniem instrukcji (in-order execution) np. Intel Pentium 1993 Superskalar z kolejnym rozpoczynaniem i niekolejnym kończeniem instrukcji (in-order issue, out-of-order completion) np. Cyrix Cx8x Superskalar z niekolejnym wykonywaniem instrukcji (out-of-order execution) np. Intel Pentium Pro 1995 niemal wszystkie współczesne procesory uniwersalne
50 Pseudosuperskalar Procesor pseudosuperskalarny nie ma możliwości decydowania o równoczesnym wykonaniu instrukcji decyzję podejmuje programista lub kompilator informacja o możliwości równoczesnego wykonania zawarta w kodzie operacyjnym instrukcji Przykład - Intel 860 dwa potoki wykonawcze stałopozycyjny i zmiennopozycyjny instrukcje o długości 32 bitów, pobierane parami równoczesne wykonanie obu instrukcji w parze jest możliwe gdy: pierwsza jest stałopozycyjna, z druga -zmiennopozycyjna instrukcja zmiennopozycyjna na w kodzie operacyjnym ustawiony bit zezwolenia na równoległe wykonanie obie instrukcje wykonują się równocześnie nie występuje sytuacja, gdy jeden z potoków wykonawczych zatrzymuje się, a drugi kontynuuje pracę
51 Superskalar z kolejnym wykonaniem instrukcji Procesor decyduje o możliwości równoległego wykonania instrukcji wykonanie jest możliwe, gdy instrukcje nie zależą od instrukcji poprzedzających kierowanych do wykonania w tym samym cyklu liczba instrukcji kierowanych do wykonania zależny ponadto od liczby i rodzajów dostępnych potoków Poszczególne potoki mogą być identyczne, podobne bądź różne jeden potok wykonuje wszystkie instrukcje, drugi tylko prostsze (Intel Pentium) Oddzielne potoki dla różnych instrukcji, np. stałopozycyjnych, zmiennopozycyjnych, wymiany z pamięcią, skoków (np. SuperSPARC I, Alpha 21064) Potoki pracują synchronicznie - wstrzymanie jednego powoduje równoczesne wstrzymanie wszystkich
52 Superskalar z kolejnym wykonaniem instrukcji Kierowanie instrukcji do wykonania po równoległym pobraniu grupy kilku (2 lub 4) instrukcji są one kierowane do wykonania równocześnie lub jedna po drugiej, do czasu rozpoczęcia wykonywania wszystkich instrukcji z grupy, następnie rozpoczyna się kierowanie do wykonania instrukcji z następnej grupy np. Alpha wydajność zależy od ustawienia instrukcji w grupy łatwa konstrukcja stopnia szeregującego tzw. okno instrukcji w każdym cyklu stopień szeregujący ma do dyspozycji kilka instrukcji, z których co najmniej pierwsze kieruje do wykonania, w następnym cyklu następuje dobieranie instrukcji tak że w każdym cyklu można potencjalnie rozpocząć taką samą liczbę instrukcji np. Intel Pentium (P5) SuperSPARC I Większa wydajność opłacona komplikacja stopnia szeregującego
53 Superskalar z kolejnym rozpoczynaniem i niekolejnym kończeniem Instrukcje są pobierane i dekodowane po kilka sztuk w kolejności programowej Stopień szeregujący rozpoczyna wykonywanie w kolejności programowej Po skierowaniu instrukcji do potoków wstrzymanie jednego potoku nie powoduje wstrzymania pozostałych instrukcje mogą być kończone w innej kolejności od programowej Wzrost wydajności dzięki lepszemu wykorzystaniu potoków Przykład Cyrix 6x86 (1995) wydajność o ok. 30% wyższa od Intel P5 przy podobnej strukturze Problem Zmiana kolejności kończenia instrukcji może wprowadzać problemy synchronizacyjne O nich później
54 Superskalar z niekolejnym wykonaniem instrukcji Zdekodowane instrukcje są gromadzone w stopniu szeregującym Skierowanie instrukcji do wykonania zachodzi wtedy, gdy są gotowe argumenty źródłowe wykonanie może być rozpoczynane w kolejności innej niż programowa Dwa rozwiązania szeregowania centralny bufor instrukcji przed rozejściem na indywidualne potoki kosztowny w realizacji zapewnia równe obciążenie przy kilku identycznych potokach np. Intel P3, AMD k6 bufory w pierwszych stopniach potoków wykonawczych (tzw. stacje rezerwacyjne- algorytm Tomasulo) proste w realizacji ale powoduje suboptymalne wykorzystanie potoków np. AMD K5
55 Superskalar z niekolejnym wykonaniem instrukcji Procesor w każdej chwili musi mieć ważną wartość PC i tym samym instrukcję do której program został wykonany instrukcję uznaje się za ostatecznie wykonaną jeśli również wszystkie instrukcje ja poprzedzające zostały wykonane instrukcja po przejściu przez potoki wykonawcze trafia do stopnia RETIRE, gdzie oczekuje na zakończenie instrukcji poprzedzających przed ostatecznym zakończeniem wykonania instrukcja nie może w sposób trwały modyfikować kontekstu procesora ani pamięci Dwa ostatnie stopnie superskalara Oczekiwanie na zakończenie wykonania instrukcji poprzedzający nieodwracalna modyfikacja kontekstu Niemal wszystkie współczesne procesory do komputerów uniwersalnych wykonują instrukcje nie w kolejności np. AMD K8, Intel Pentium 4, Intel core
Architektura Systemów Komputerowych
Architektura Systemów Komputerowych Wykład 7: Potokowe jednostki wykonawcze Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Budowa potoku Problemy synchronizacji
Bardziej szczegółowoArchitektura Systemów Komputerowych
Architektura Systemów Komputerowych Wykład 8: Procesory wielopotokowe, czyli superskalarne Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Struktury i rodzaje
Bardziej szczegółowoArchitektura Systemów Komputerowych
Architektura Systemów Komputerowych Wykład 6: Budowa jednostki centralnej - CPU Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Procesor jednocyklowy Procesor
Bardziej szczegółowoArchitektura potokowa RISC
Architektura potokowa RISC Podział zadania na odrębne części i niezależny sprzęt szeregowe Brak nawrotów" podczas pracy potokowe Przetwarzanie szeregowe i potokowe Podział instrukcji na fazy wykonania
Bardziej szczegółowo4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.01 Rok akad. 2011/2012 2 / 27
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
Bardziej szczegółowoPrzetwarzanie potokowe pipelining
Przetwarzanie potokowe pipelining (część A) Przypomnienie - implementacja jednocyklowa 4 Add Add PC Address memory ister # isters Address ister # ister # memory Wstęp W implementacjach prezentowanych tydzień
Bardziej szczegółowoLogiczny model komputera i działanie procesora. Część 1.
Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 5 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) c.d. 2 Architektura CPU Jednostka arytmetyczno-logiczna (ALU) Rejestry Układ sterujący przebiegiem programu
Bardziej szczegółowoBudowa i zasada działania komputera. dr Artur Bartoszewski
Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu
Bardziej szczegółowoArchitektura typu Single-Cycle
Architektura typu Single-Cycle...czyli budujemy pierwszą maszynę parową Przepływ danych W układach sekwencyjnych przepływ danych synchronizowany jest sygnałem zegara Elementy procesora - założenia Pamięć
Bardziej szczegółowo4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.02 Rok akad. 2011/ / 35
ARCHITEKTURA SYSTEÓW KOPUTEROWYCH strktry procesorów ASK SP.2 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2/22 Procesor IPS R3 Potokowe wykonywanie instrkcji Konflikty
Bardziej szczegółowoOrganizacja typowego mikroprocesora
Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają
Bardziej szczegółowoPytania. W obecnie wykorzystywanych komputerach osobistych jest stosowana architektura: jednoszynowa. pamięciowo-centryczna.
Pytania W obecnie wykorzystywanych komputerach osobistych jest stosowana architektura: jednoszynowa pamięciowo-centryczna punkt-punkt Pamięć EEPROM jest pamięcią: kasowalną elektrycznie tylko 1 raz kasowalną
Bardziej szczegółowoArchitektura komputerów, Informatyka, sem.iii. Rozwiązywanie konfliktów danych i sterowania w architekturze potokowej
Rozwiązywanie konfliktów danych i sterowania w architekturze potokowej Konflikty w przetwarzaniu potokowym Konflikt danych Data Hazard Wstrzymywanie kolejki Pipeline Stall Optymalizacja kodu (metody programowe)
Bardziej szczegółowoLEKCJA TEMAT: Zasada działania komputera.
LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem
Bardziej szczegółowoProjektowanie. Projektowanie mikroprocesorów
WYKŁAD Projektowanie mikroprocesorów Projektowanie układ adów w cyfrowych - podsumowanie Algebra Boole a Bramki logiczne i przerzutniki Automat skończony System binarny i reprezentacja danych Synteza logiczna
Bardziej szczegółowoUTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386
Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać
Bardziej szczegółowoMOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW
MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW Projektowanie urządzeń cyfrowych przy użyciu układów TTL polegało na opracowaniu algorytmu i odpowiednim doborze i zestawieniu układów realizujących różnorodne funkcje
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania
Bardziej szczegółowoProgramowanie Niskopoziomowe
Programowanie Niskopoziomowe Wykład 3: Architektura procesorów x86 Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Pojęcia ogólne Budowa mikrokomputera Cykl
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
Bardziej szczegółowoProgramowalne układy logiczne
Programowalne układy logiczne Mikroprocesor Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 6 grudnia 2014 Zbudujmy własny mikroprocesor Bardzo prosty: 16-bitowy, 16 rejestrów
Bardziej szczegółowoARCHITEKTURA PROCESORA,
ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy
Bardziej szczegółowoArchitektura mikroprocesorów TEO 2009/2010
Architektura mikroprocesorów TEO 2009/2010 Plan wykładów Wykład 1: - Wstęp. Klasyfikacje mikroprocesorów Wykład 2: - Mikrokontrolery 8-bit: AVR, PIC Wykład 3: - Mikrokontrolery 8-bit: 8051, ST7 Wykład
Bardziej szczegółowoBramki logiczne Podstawowe składniki wszystkich układów logicznych
Układy logiczne Bramki logiczne A B A B AND NAND A B A B OR NOR A NOT A B A B XOR NXOR A NOT A B AND NAND A B OR NOR A B XOR NXOR Podstawowe składniki wszystkich układów logicznych 2 Podstawowe tożsamości
Bardziej szczegółowoWydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1
Wydajność obliczeń a architektura procesorów Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność komputerów Modele wydajności-> szacowanie czasu wykonania zadania Wydajność szybkość realizacji wyznaczonych
Bardziej szczegółowoArchitektura systemów komputerowych. Przetwarzanie potokowe I
Architektura systemów komputerowych Plan wykładu. Praca potokowa. 2. Projekt P koncepcja potoku: 2.. model ścieżki danych 2.2. rejestry w potoku, 2.3. wykonanie instrukcji, 2.3. program w potoku. Cele
Bardziej szczegółowoArchitektura systemów komputerowych
Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych Architektura systemów komputerowych dr Artur Bartoszewski Procesor część I 1. ALU 2. Cykl rozkazowy 3. Schemat
Bardziej szczegółowoStruktura i działanie jednostki centralnej
Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala
Bardziej szczegółowoWstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)
Wstęp doinformatyki Architektura co to jest? Architektura Model komputera Dr inż Ignacy Pardyka Slajd 1 Slajd 2 Od układów logicznych do CPU Automat skończony Slajd 3 Slajd 4 Ile jest automatów skończonych?
Bardziej szczegółowoSpis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11
Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1 Spis treúci Przedmowa... 9 Wstęp... 11 1. Komputer PC od zewnątrz... 13 1.1. Elementy zestawu komputerowego... 13 1.2.
Bardziej szczegółowoArchitektura mikroprocesorów z rdzeniem ColdFire
Architektura mikroprocesorów z rdzeniem ColdFire 1 Rodzina procesorów z rdzeniem ColdFire Rdzeń ColdFire V1: uproszczona wersja rdzenia ColdFire V2. Tryby adresowania, rozkazy procesora oraz operacje MAC/EMAC/DIV
Bardziej szczegółowoUKŁADY MIKROPROGRAMOWALNE
UKŁAD MIKROPROGRAMOWALNE Układy sterujące mogą pracować samodzielnie, jednakże w przypadku bardziej złożonych układów (zwanych zespołami funkcjonalnymi) układ sterujący jest tylko jednym z układów drugim
Bardziej szczegółowoProcesor 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]
Procesor ma architekturę akumulatorową. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset or Rx, Ry, A add Rx load A, [Rz] push Rx sub Rx, #3, A load Rx, [A] Procesor ma architekturę rejestrową
Bardziej szczegółowoUkład wykonawczy, instrukcje i adresowanie. Dariusz Chaberski
Układ wykonawczy, instrukcje i adresowanie Dariusz Chaberski System mikroprocesorowy mikroprocesor C A D A D pamięć programu C BIOS dekoder adresów A C 1 C 2 C 3 A D pamięć danych C pamięć operacyjna karta
Bardziej szczegółowoorganizacja procesora 8086
Systemy komputerowe Procesor 8086 - tendencji w organizacji procesora organizacja procesora 8086 " # $ " % strali " & ' ' ' ( )" % *"towego + ", -" danych. Magistrala adresowa jest 20.bitowa, co pozwala
Bardziej szczegółowoarchitektura komputerów w. 4 Realizacja sterowania
architektura komputerów w. 4 Realizacja sterowania Model komputera CPU Jednostka sterująca Program umieszczony wraz z danymi w pamięci jest wykonywany przez CPU program wykonywany jest sekwencyjnie, zmiana
Bardziej szczegółowoMetody optymalizacji soft-procesorów NIOS
POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Warszawa, 27.01.2011
Bardziej szczegółowoArchitektura systemów komputerowych. dr Artur Bartoszewski
Architektura systemów komputerowych 1 dr Artur Bartoszewski Procesor część I 1. ALU 2. Cykl rozkazowy 3. Schemat blokowy CPU 4. Architektura CISC i RISC 2 Jednostka arytmetyczno-logiczna 3 Schemat blokowy
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna
Bardziej szczegółowoUkład sterowania, magistrale i organizacja pamięci. Dariusz Chaberski
Układ sterowania, magistrale i organizacja pamięci Dariusz Chaberski Jednostka centralna szyna sygnałow sterowania sygnały sterujące układ sterowania sygnały stanu wewnętrzna szyna danych układ wykonawczy
Bardziej szczegółowoArchitektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania
Architektura Systemów Komputerowych Jednostka ALU Przestrzeń adresowa Tryby adresowania 1 Jednostka arytmetyczno- logiczna ALU ALU ang: Arythmetic Logic Unit Argument A Argument B A B Ci Bit przeniesienia
Bardziej szczegółowoRejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika
Rejestry procesora Procesor podczas wykonywania instrukcji posługuje się w dużej części pamięcią RAM. Pobiera z niej kolejne instrukcje do wykonania i dane, jeżeli instrukcja operuje na jakiś zmiennych.
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 5 Jednostka Centralna Zadania realizowane przez procesor Pobieranie rozkazów Interpretowanie rozkazów Pobieranie danych Przetwarzanie danych Zapisanie danych Główne zespoły
Bardziej szczegółowoPAMIĘCI. Część 1. Przygotował: Ryszard Kijanka
PAMIĘCI Część 1 Przygotował: Ryszard Kijanka WSTĘP Pamięci półprzewodnikowe są jednym z kluczowych elementów systemów cyfrowych. Służą do przechowywania informacji w postaci cyfrowej. Liczba informacji,
Bardziej szczegółowoMikroprocesory rodziny INTEL 80x86
Mikroprocesory rodziny INTEL 80x86 Podstawowe wła ciwo ci procesora PENTIUM Rodzina procesorów INTEL 80x86 obejmuje mikroprocesory Intel 8086, 8088, 80286, 80386, 80486 oraz mikroprocesory PENTIUM. Wprowadzając
Bardziej szczegółowoArchitektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
Bardziej szczegółowoTechnika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach
mikrokontrolery mikroprocesory Technika mikroprocesorowa Linia rozwojowa procesorów firmy Intel w latach 1970-2000 W krótkim pionierskim okresie firma Intel produkowała tylko mikroprocesory. W okresie
Bardziej szczegółowoARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH. Klasyczny cykl pracy procesora sekwencyjnego. współczesne architektury. c Dr inż.
ARCHITETURA SYSTEMÓW OMPUTEROWYCH współczesne architektury c Dr inż. Ignacy Pardyka UNIWERSYTET JANA OCHANOWSIEGO w ielcach 1 Rok akad. 2014/2015 1 lasyczne procesory sekwencyjne i potokowe 1 Instytut
Bardziej szczegółowoMagistrala systemowa (System Bus)
Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do Informatyki
Bardziej szczegółowoAdresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów
Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście
Bardziej szczegółowoUkłady kombinacyjne. cz.2
Układy kombinacyjne cz.2 Układy kombinacyjne 2/26 Kombinacyjne bloki funkcjonalne Kombinacyjne bloki funkcjonalne - dekodery 3/26 Dekodery Są to układy zamieniające wybrany kod binarny (najczęściej NB)
Bardziej szczegółowoProgramowanie współbieżne Wykład 2. Iwona Kochańska
Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas
Bardziej szczegółowoZarządzanie pamięcią w systemie operacyjnym
Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej
Bardziej szczegółowoSpis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne
Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...
Bardziej szczegółowoWstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
Bardziej szczegółowoArchitektura komputerów Wykład 2
Architektura komputerów Wykład 2 Jan Kazimirski 1 Elementy techniki cyfrowej 2 Plan wykładu Algebra Boole'a Podstawowe układy cyfrowe bramki Układy kombinacyjne Układy sekwencyjne 3 Algebra Boole'a Stosowana
Bardziej szczegółowoMikroprocesor Operacje wejścia / wyjścia
Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych
Bardziej szczegółowoZrównoleglenie i przetwarzanie potokowe
Zrównoleglenie i przetwarzanie potokowe Zrównoleglenie wysoka wydajność pozostaje osiągnięta w efekcie jednoczesnego wykonania różnych części zagadnienia. Przetwarzanie potokowe proces jest rozdzielony
Bardziej szczegółowoArchitektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna
Architektura komputerów. Literatura: 1. Piotr Metzger, Anatomia PC, wyd. IX, Helion 2004 2. Scott Mueller, Rozbudowa i naprawa PC, wyd. XVIII, Helion 2009 3. Tomasz Kowalski, Urządzenia techniki komputerowej,
Bardziej szczegółowoBudowa komputera Komputer computer computare
11. Budowa komputera Komputer (z ang. computer od łac. computare obliczać) urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału
Bardziej szczegółowoArchitektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt
Architektura komputera Architektura von Neumanna: Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt Zawartośd tej pamięci jest adresowana przez wskazanie miejsca, bez względu
Bardziej szczegółowoBudowa Mikrokomputera
Budowa Mikrokomputera Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Podstawowe elementy komputera Procesor Pamięć Magistrala (2/16) Płyta główna (ang. mainboard, motherboard) płyta drukowana komputera,
Bardziej szczegółowodwójkę liczącą Licznikiem Podział liczników:
1. Dwójka licząca Przerzutnik typu D łatwo jest przekształcić w przerzutnik typu T i zrealizować dzielnik modulo 2 - tzw. dwójkę liczącą. W tym celu wystarczy połączyć wyjście zanegowane Q z wejściem D.
Bardziej szczegółowoSławomir Kulesza. Projektowanie automatów asynchronicznych
Sławomir Kulesza Technika cyfrowa Projektowanie automatów asynchronicznych Wykład dla studentów III roku Informatyki Wersja 3.0, 03/01/2013 Automaty skończone Automat skończony (Finite State Machine FSM)
Bardziej szczegółowoTechnika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2
Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci,
Bardziej szczegółowoLEKCJA TEMAT: Współczesne procesory.
LEKCJA TEMAT: Współczesne procesory. 1. Wymagania dla ucznia: zna pojęcia: procesor, CPU, ALU, potrafi podać typowe rozkazy; potrafi omówić uproszczony i rozszerzony schemat mikroprocesora; potraf omówić
Bardziej szczegółowoLista Rozkazów: Język komputera
Lista Rozkazów: Język komputera Większość slajdów do tego wykładu to tłumaczenia i przeróbki oficjalnych sladjów do podręcznika Pattersona i Hennessy ego Lista rozkazów Zestaw rozkazów wykonywanych przez
Bardziej szczegółowoWitold Komorowski: RISC. Witold Komorowski, dr inż.
Witold Komorowski, dr inż. Koncepcja RISC i przetwarzanie potokowe RISC koncepcja architektury i organizacji komputera Aspekty opisu komputera Architektura Jak się zachowuje? Organizacja Jak działa? Realizacja
Bardziej szczegółowoLABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM
LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM Strona 1 z 7 Opracował mgr inż. Jacek Lis (c) ZNE 2004 1.Budowa przetwornika ADC procesora
Bardziej szczegółowoPrzerwania, polling, timery - wykład 9
SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń
Bardziej szczegółowoLista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014
Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Temat 1. Algebra Boole a i bramki 1). Podać przykład dowolnego prawa lub tożsamości, które jest spełnione w algebrze Boole
Bardziej szczegółowoFunkcja Boolowska a kombinacyjny blok funkcjonalny
SWB - Kombinacyjne bloki funkcjonalne - wykład 3 asz 1 Funkcja Boolowska a kombinacyjny blok funkcjonalny Kombinacyjny blok funkcjonalny w technice cyfrowej jest układem kombinacyjnym złożonym znwejściach
Bardziej szczegółowoPrezentacja systemu RTLinux
Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach
Bardziej szczegółowoStronicowanie w systemie pamięci wirtualnej
Pamięć wirtualna Stronicowanie w systemie pamięci wirtualnej Stronicowanie z wymianą stron pomiędzy pamięcią pierwszego i drugiego rzędu. Zalety w porównaniu z prostym stronicowaniem: rozszerzenie przestrzeni
Bardziej szczegółowoArchitektura Systemów Komputerowych
Architektura Systemów Komputerowych Wykład 10: Redukcja opóźnień w procesorach superpotokowych i superskalarnych Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie
Bardziej szczegółowoElementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.
Elementy struktur cyfrowych Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. Magistrale W układzie bank rejestrów do przechowywania danych. Wybór źródła danych
Bardziej szczegółowoTranzystor JFET i MOSFET zas. działania
Tranzystor JFET i MOSFET zas. działania brak kanału v GS =v t (cutoff ) kanał otwarty brak kanału kanał otwarty kanał zamknięty w.2, p. kanał zamknięty Co było na ostatnim wykładzie? Układy cyfrowe Najczęściej
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 9 Pamięć operacyjna Właściwości pamięci Położenie Pojemność Jednostka transferu Sposób dostępu Wydajność Rodzaj fizyczny Własności fizyczne Organizacja Położenie pamięci
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz
Bardziej szczegółowoAdam Korzeniewski p Katedra Systemów Multimedialnych
Adam Korzeniewski adamkorz@sound.eti.pg.gda.pl p. 732 - Katedra Systemów Multimedialnych Operacja na dwóch funkcjach dająca w wyniku modyfikację oryginalnych funkcji (wynikiem jest iloczyn splotowy). Jest
Bardziej szczegółowoArchitektura systemów komputerowych. dr Artur Bartoszewski
Architektura systemów komputerowych dr Artur Bartoszewski Procesor część II Rejestry procesora dostępne programowo AX Akumulator Zawiera jeden z operandów działania i do niego przekazywany jest wynik BX,CX,DX,EX,HX,LX
Bardziej szczegółowoPodstawy Techniki Mikroprocesorowej
Podstawy Techniki Mikroprocesorowej Architektury mikroprocesorów Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.
Bardziej szczegółowoPodstawy Informatyki Układ sterujący
- wersja szyta - wersja mikroprogramowana Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi - wersja szyta - wersja mikroprogramowana Plan wykładu 1 Maszyna W Lista rozkazów maszyny
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 13 Procesory superskalarne Procesor superskalarny Termin superskalarny określa procesory, które mogą wykonywać dwie lub więcej instrukcje skalarne (arytmetyczne, logiczne)
Bardziej szczegółowoBudowa systemów komputerowych
Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa
Bardziej szczegółowoSpecyfika projektowania Mariusz Rawski
CAD Specyfika projektowania Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ System cyfrowy pierwsze skojarzenie Urządzenia wprowadzania danych: klawiatury czytniki urządzenia przetwarzania
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 8 Magistrale systemowe Magistrala Układy składające się na komputer (procesor, pamięć, układy we/wy) muszą się ze sobą komunikować, czyli być połączone. Układy łączymy ze
Bardziej szczegółowoLABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q
LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone
Bardziej szczegółowoMetody obsługi zdarzeń
SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału
Bardziej szczegółowoStruktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami
Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016
Bardziej szczegółowoPOLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji
POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Opiekun naukowy: dr
Bardziej szczegółowodr inŝ. Jarosław Forenc
Rok akademicki 2009/2010, Wykład nr 8 2/19 Plan wykładu nr 8 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010
Bardziej szczegółowoZygmunt Kubiak Instytut Informatyki Politechnika Poznańska
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Zygmunt Kubiak 2 Centralny falownik (ang. central inverter system) Zygmunt Kubiak 3 Micro-Inverter Mikro-przetwornice działają podobnie do systemów
Bardziej szczegółowoTechnika cyfrowa Układy arytmetyczne
Sławomir Kulesza Technika cyfrowa Układy arytmetyczne Wykład dla studentów III roku Informatyki Wersja 1.0, 05/10/2010 Układy arytmetyczne UKŁADY ARYTMETYCZNE UKŁADY SUMUJĄCE i ODEJMUJĄCE UKŁADY MNOŻĄCE
Bardziej szczegółowoKrótkie przypomnienie
Krótkie przypomnienie Prawa de Morgana: Kod Gray'a A+ B= Ā B AB= Ā + B Układ kombinacyjne: Tablicy prawdy Symbolu graficznego Równania Boole a NOR Negative-AND w.11, p.1 XOR Układy arytmetyczne Cyfrowe
Bardziej szczegółowoArchitektura komputera
Architektura komputera Architektura systemu komputerowego O tym w jaki sposób komputer wykonuje program i uzyskuje dostęp do pamięci i danych, decyduje architektura systemu komputerowego. Określa ona sposób
Bardziej szczegółowoElementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.
Elementy struktur cyfrowych Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. PTC 2015/2016 Magistrale W układzie cyfrowym występuje bank rejestrów do przechowywania
Bardziej szczegółowoProjekt zespołowy. Część1: Projekt potokowej jednostki przetwarzającej przeznaczonej do realizacji algorytmu FFT. Rok akademicki 2008/2009
Projekt zespołowy Rok akademicki 2008/2009 Część1: Projekt potokowej jednostki przetwarzającej przeznaczonej do realizacji algorytmu FFT Kierunek studiów: Semestr: Grupa: Informatyka VII PKiSI 2 Wykonawca:
Bardziej szczegółowo