Podstawy architektury procesorów z równoległością na poziomie instrukcji - równoległość w procesorach superskalarnych

Wielkość: px
Rozpocząć pokaz od strony:

Download "Podstawy architektury procesorów z równoległością na poziomie instrukcji - równoległość w procesorach superskalarnych"

Transkrypt

1 Temat: Podstawy architektury procesorów z równoległością na poziomie instrukcji - równoległość w procesorach superskalarnych Treść wykładu: 1. Potokowe wykonywanie operacji i instrukcji w komputerach. 2. Architektura procesorów CISC kontra RISC 3. Superskalarne procesory firmy Intel 4. Superskalarne procesory firmy AMD 5. Podsumowanie - cechy współczesnych procesorów superskalarnych CISC

2 Potokowe wykonywanie operacji obliczeniowych Potokowe przetwarzanie danych (ang. pipelined processing) polega na zorganizowaniu wykonywania operacji w komputerze, w sposób podobny do wytwarzania produkowania wyrobów w fabryce przy pomocy taśmy produkcyjnej. Na początek taśmy nieobrobiony przez taśmę produkt inicjalny, który jest przesuwany następnie przez wszystkie stanowiska robocze. Na każdym stanowisku produkt jest wzbogacany o wyniki wykonanych na nim odpowiednich operacji. Czas wykonania operacji na wszystkich stanowiskach na taśmie dobiera się w przybliżeniu taki sam. Podczas pracy taśmy produkcyjnej na której jest n stanowisk, obrabianych jest jednocześnie n produktów.

3 Przy produkcji taśmowej na n stanowiskach, szybkość uzyskiwania gotowych wyrobów jest n razy większa w porównaniu z taką organizacją produkcji, gdzie nie ma przesuwającej się taśmy a cały wyrób jest wytwarzany od początku do końca na jednym stanowisku. W informatyce taśmowe wykonywanie operacji obliczeniowych jest nazywane przetwarzaniem potokowym (ang. pipelined processing). Aby operacje obliczeniowe mogły być wykonywane w sposób potokowy musimy zbudować układ wykonawczy, który będzie działał podobnie jak taśma produkcyjna.

4 W celu zaprojektowania potokowego wykonania danej operacji obliczeniowej należy: podzielić operację obliczeniową na pewną liczbę n operacji składowych, wykonywanych sekwencyjnie - jedna po drugiej, takich, że czas wykonania wszystkich operacji składowych jest w przybliżeniu identyczny, zbudować dla każdej operacji składowej odrębny układ wykonawczy tzw. stopień potoku (ang. pipeline stage), połączyć stopnie potoku w taki sposób, aby wyjście z poprzedniego stopnia było podawane na wejście następnego stopnia, zbudować układ synchronizacji przekazywania danych między stopniami, aby dane przekazywane były między wszystkimi stopniami jednocześnie, w odstępach czasu równych czasowi wykonania operacji składowych, zwanych taktami potoku,

5 zapewnić, aby w chwili przekazywania danych między stopniami na wejście pierwszego stopnia podawane były nowe argumenty operacji obliczeniowej, odbierać co każdy takt wyniki z ostatniego stopnia potoku, stanowiące wyniki wykonania całej operacji obliczeniowej.

6 Rzadko udaje się podzielić operacje obliczeniową na dokładnie równe czasowo operacje składowe. Dlatego, między stopniami potoku wstawia się układy buforowe, do których wpisuje się wyniki działania stopni (patrz rysunek poniżej po prawej stronie). Każdy układ buforowy stanowi układ dwu rejestrów: rejestru wyjściowego stopnia poprzedniego i rejestru wejściowego stopnia następnego. Rejestr wyjściowy służy do asynchronicznego zapamiętania wyniku stopnia poprzedniego. Rejestry w obrębie jednego bufora są połączone ze sobą równolegle, w taki sposób, że co takt potoku następuje przepisanie zawartości rejestru wyjściowego do wejściowego. Przepisanie następuje we wszystkich buforach równocześnie, co zapewnia układ sterowania potoku.

7 Wyznacza się najdłuższy czas wykonania operacji wśród wszystkich stopni, włączając w to zapis wyniku stopnia do wyjściowego rejestru buforowego i ten czas przyjmuje się za długość taktu potoku. Wyniki działania stopni przekazuje się ze wszystkich buforów na wejście następnego stopnia w odstępach czasu równych przyjętemu taktowi potoku, równemu najdłuższemu czasowi działania stopnia. Pojedyncze rejestry buforowe umieszcza się również na wejściu pierwszego stopnia i wyjściu ostatniego stopnia potoku. Tak zbudowany potok pozwala na wykonanie przetwarzania potokowego również dla operacji, które nie dają się podzielić na dokładnie równe czasowo operacje składowe.

8 Struktura potoku dla wykonania operacji obliczeniowej rejestr we Stopień 1 (operacja 1) bufor 1 Sterowanie przesłaniem danych między stopniami Stopień 2 (operacja 2) bufor 2 Stopień n-1 (operacja n-1) bufor n-1 Stopień n (operacja n) rejestr wy

9 Budowa bufora między stopniami potoku Z poprzedniego stopnia Rejestr buforowy wy Sterowanie przesłaniem danych między stopniami Rejestr buforowy we Do następnego stopnia

10 Łatwo zauważyć, że przez n-1 pierwszych taktów działania potoku na wyjściu potoku nie pojawi się żaden wynik. Pierwszy wynik operacji pojawi się po n-tym takcie i odtąd po każdym takcie będziemy odbierać wynik operacji obliczeniowej. Pomijając początkowe opóźnienie, potok obliczeniowy zawierający n stopni przyspiesza więc wykonanie operacji obliczeniowej n krotnie.

11 Potokowe wykonywania rozkazów Ideę przetwarzania potokowego można z powodzeniem zastosować do wykonania rozkazów w procesorze. Jak wiadomo cykl wykonawczy rozkazu można podzielić na następujące operacje składowe: Pobranie rozkazu Zdekodowanie rozkazu Wyznaczenie adresu argumentów Pobranie argumentów Wykonanie operacji Zapis wyników do pamięci

12 Sprzęt wykonawczy komputera możemy zbudować w ten sposób, że każda z podanych operacji składowych cyklu rozkazu będzie wykonana przez odrębny układ wykonawczy. Układ ten jest wstawiony jako stopień do potoku wykonania rozkazu, jak pokazano na rysunku poniżej. Założymy, że takt potoku ustalimy równy czasowi wykonania najdłuższej z powyższych operacji składowych. Między stopniami potoku wstawimy buforowe układy pamiętające, które będą przechowywać wyniki wykonania stopnia poprzedniego jako wejście dla stopnia następnego. Na wejście potoku będziemy podawać adresy kolejnych rozkazów programu wykonywanego przez procesor.

13 Stopnie potoku wykonującego rozkazy komputera adres rozkazu Pobranie rozkazu Zdekodowanie rozkazu Wyznaczenie adresu arg. Pobranie argumentu Wykonanie rozkazu Zapis wyniku

14 W kolejnych taktach potoku coraz to nowe adresy rozkazów będą wprowadzane do pierwszego stopnia potoku i pobierane będą z pamięci operacyjnej kolejne rozkazy programu. Po 6-tym takcie potoku otrzymamy wykonanie pierwszego rozkazu programu i po każdym następnym takcie będziemy mięć wykonany kolejny rozkaz programu, o ile potok będzie pracował bez przestojów - tzn. każdy stopień potoku będzie miał w każdym takcie gotowe dane wejściowe. Potok wykonania rozkazów zawierający 6 stopni, pracujący bez przestojów, przyspiesza wykonanie programu 6-ciokrotnie. Dzieje się tak dlatego, że przy pomocy potoku wykonanie programu zostaje zrównoleglone. Każdy stopień potoku pracuje dla innego rozkazu.

15 + Wykonanie potokowe rozkazów takty zegara Stopnie potoku: pobranie rozkazu zdekodowanie rozkazu wyznaczenie adresu operandów pobranie argumentów wykonanie operacji rozkazu zapis wyniku nr rozkazu

16 Przy wykonywaniu programów metodą potokową występują problemy z wykonaniem pewnych typów rozkazów oraz z wykonaniem programów o pewnych strukturach następstwa rozkazów. Rozkazy te powodują tzw. przestoje w potoku, z powodu braku danych na wejściu stopni potoku. Brak danej wejściowej uniemożliwia pracę danego stopnia, brak wyniku do przesłania do następnego stopnia a w konsekwencji, z pewnym opóźnieniem, brak wyniku na wyjściu potoku. Jeśli brak danych wejściowych trwa więcej niż jeden takt, powoduje to zatrzymanie pracy całego potoku (jego końcowego stopnia) na tyle taktów, dla ilu brak było danych wejściowych.

17 Problem rozkazów skoku Pierwszym typem rozkazów, które powodują przestoje w potoku wykonania rozkazów są rozkazy skoku. Wynikiem rozkazu skoku jest wprowadzenie do licznika rozkazów adresu następnego rozkazu do wykonania tj. adresu wytworzonego (lub zawartego) w tym rozkazie.

18 Przykład czas adres rozkazu R 1 Pobranie rozkazu R 2 R 3 rozkaz skoku Zdekodowanie rozkazu Wyznaczenie adresu arg. R 4 Pobranie argumentu R 5 Wykonanie rozkazu R 6 Zapis wyniku Dla pobrania rozkazu R 4, jego adres powinien znaleźć się w liczniku rozkazów już w chwili 3. Natomiast rozkaz skoku R 3 dostarczy ten adres dopiero w chwili 8. Tak więc, pierwszy stopień potoku nie będzie mógł pracować w chwilach od 3 do 7, powodując w konsekwencji przestoje dalszych stopni potoku i brak wyników na wyjściu potoku.

19 Sytuację tę można poprawić w trakcie kompilacji programu. Kompilator umieszcza w programie za rozkazem skoku odpowiedniej liczby rozkazów nic nie rób, które zastępuje następnie rozkazami obliczeniowymi obojętnymi z punktu widzenia miejsca ich wykonania w programie. W ten sposób lukę w ciągłej pracy potoku może być wypełniona. Metoda ta nosi nazwę opóźnionych skoków (ang. delayed branches).

20 Problem wzajemnej zależności kolejnych rozkazów Inną sytuacją w programie, w której potok zostaje wstrzymany jest bezpośrednia zależność kolejnych rozkazów ze względu na dane. Dzieje się tak, gdy następny rozkaz wykonuje operację na wyniku poprzedniego. Przykład M (125) := M (125) + R1 (ADD) R2 := R2 M (125) (MUL) gdzie: ADD, MUL oznacza rozkazy dodaj, pomnóż; M(125), R1, R2 oznaczają odpowiednio zawartości: komórki pamięci o adresie 125, rejestru R1, rejestru R2.

21 czas adres rozkazu r 1 r 2 r 3 ADD r 4 MUL Przestój potoku z powodu braku danej M (125) wytworzonej przez ADD Zdekodowanie rozkazu Wyznaczenie adresu arg. Pobranie argumentu Pobranie rozkazu Wykonanie rozkazu r 5 Zapis wyniku Przestój potoku w wyniku zależności sąsiednich instrukcji Na rysunku wykonania programu powyżej, widzimy przerwę długości 2 taktów potoku w wykonywaniu instrukcji MUL z powodu braku wyliczonego i odesłanego do pamięci wyniku dodawania ADD. Przerwa ta może być wypełniona przez wykonanie dwu obojętnych instrukcji obliczeniowych, wstawionych przez kompilator do programu bezpośrednio po instrukcji ADD.

22 Architektura procesorów CISC kontra RISC Aktualnie produkowane procesory dzielimy ze względu na charakterystykę rozkazów wewnętrznych na dwa typy: procesory typu CISC (od ang. Compound Instruction Set Computer komputery o złożonej liście rozkazów) procesory typu RISC (od ang. Reduced Instruction Set Computer komputery o zredukowanej liście rozkazów).

23 Procesory typu CISC mają następujące cechy architekturalne: Rozbudowana lista rozkazów zawierająca od 100 do 300 rozkazów wewnętrznych. Wiele rozkazów wewnętrznych ma skomplikowaną treść operacyjną, realizują one w jednym rozkazie skomplikowane operacje łączące dostępy do pamięci operacyjnej z przetwarzaniem danych. Duża liczba trybów adresowania dostępna w rozkazach wewnętrznych, od 5 do 20. Mała liczba rejestrów roboczych w procesorze, od kilku do kilkunastu. Formaty rozkazów wewnętrznych zróżnicowane pod względem: podziału na pola, długości słowa rozkazowego i liczby argumentów. Zróżnicowane czasy wykonania rozkazów - od jednego do wielu cykli zegara. Układ sterowania procesora jest przeważnie mikroprogramowany.

24 Badania statystyczne wykonane w latach 80-tych nad stopniem wykorzystania instrukcji CISC w typowych programach, pisanych przez programistów lub generowanych przez kompilator, wykazały, że: pokaźny procent skomplikowanych rozkazów CISC (70%) nie jest wykorzystywany największe wykorzystanie dotyczy prostych rozkazów. To spowodowało powstanie koncepcji architektury procesora o uproszczonej liście rozkazów.

25 Procesory typu RISC mają następujące cechy architekturalne: Ograniczona lista rozkazów, zawierająca do 128 rozkazów wewnętrznych. Rozkazy wewnętrznych mają prostą treść operacyjną, realizują one osobno operacje dostępu do pamięci operacyjnej i operacje przetwarza danych w rejestrach. Mała liczba trybów adresowania dostępna w rozkazach wewnętrznych, do 4. Duża liczba rejestrów roboczych w procesorze, od 32 do 256. Mała liczba formatów rozkazów wewnętrznych, jednakowa długość słowa rozkazowego - często odpowiadająca pojedynczemu słowu. Ujednolicony czas wykonania rozkazów - od jednego do kilku cykli zegara. Układ sterowania procesora jest sprzętowy.

26 Termin RISC został zaproponowany na Uniwersytecie Kalifornijskim w Berkeley, jako nazwa pierwszych komputerów RISC I oraz RISC II, zbudowanych tam w pierwszych latach 80-tych w oparciu o scalone procesory w technologii VLSI. Firma IBM wyjawiła, że komputer IBM 801, zbudowany w końcu lat 70-tych, miał architekturę zbliżoną do RISC. Koncepcja procesorów RISC była następnie podjęta przez firmę MIPS w Kalifornii (seria komputerów Rx000, wykorzystywanych między innymi w stacjach roboczych firmy Silicon Graphics) oraz z czasem przez wszystkich innych producentów mikroprocesorów.

27 Cechy architekturalne procesorów CISC mają konsekwencje w postaci bardzo rozbudowanego układu sterującego komputera. Przy realizacji komputera w technologii VLSI, układ sterowania zajmuje często ponad 60% powierzchni całego układu scalonego procesora. Ze względu na interpretację rozkazów CISC przez mikrorozkazy, czasy wykonania tych rozkazów są znacznie dłuższe niż rozkazów RISC.

28 W mikroprocesorach typu RISC dekodowanie rozkazów jest bardzo uproszczone w porównaniu z komputerami CISC. Układ sterujący dla RISC jest uproszczony i zajmuje kilkanaście procent powierzchni układu scalonego procesora. Ponieważ komputery RISC stosują znacznie prostsze rozkazy wewnętrzne, skompilowane programy dla tych komputerów są dłuższe i zajmują więcej miejsca w pamięci niż ekwiwalentne programy komputerów CISC. Badania wykazują, że wykonanie programów skompilowanych z języków wysokiego poziomu jest szybsze w komputerach RISC. Programy napisane przez programistę w języku asemblera wykonują się szybciej w komputerach CISC.

29 Mikroprocesory CISC były rozwijane w ciągu ostatnich 30 lat przez wiele firm, z których najbardziej znane są amerykańskie firmy Intel i Motorola. Intel jest producentem serii procesorów Intel x86, które stanowiły i stanowią podstawę komputerów personalnych IBM PC. Motorola jest producentem serii komputerów MC 68xxx, które stanowią podstawę komputerów personalnych Macintosh firmy Apple, bardzo popularnych w USA i Europie Zachodniej. Największymi producentami mikroprocesorów typu RISC są: firma MIPS Technologies - rodzina procesorów MIPS, firma Hewlett-Packard - rodzina procesorów PA-RISC, konsorcjum Apple-IBM-Motorola - rodzina procesorów PowerPC oraz firma Sun Microsystems - rodzina procesorów SPARC.

30 Superskalarne procesory firmy Intel z równoległością na poziomie instrukcji Architektura procesorów Intel Pentium Pro Procesor Intel Pentium Pro, wprowadzony na rynek w 1995 roku, otwiera nową generację procesorów serii Intel x86 nazywaną P6, zawierającą wiele nowych cech architekturalnych w porównaniu z poprzednimi modelami procesorów Intel. Architektura tego procesora została wykorzystana jako podstawa dla realizacji następnych modeli procesora Pentium Pro: Pentium II, Pentium III, Pentium 4. Jej podstawowe zasady są nadal wykorzystywane w architekturze współczesnych procesorów wielordzeniowych.

31 Pierwszą nową cechą architekturalną jest to, że w Pentium Pro występuje tzw. wykonywanie rozkazów w zmienionym porządku (ang. out-of-order execution). Procesor wykonuje rozkazy nie w takim porządku w jakim ustawione są w programie, lecz w porządku zmienionym, który jest wyznaczony przez układ sterowania procesora, tak by było spełnione wymaganie wykonania bez opóźnień operacji w potokowych blokach wykonawczych komputera. W procesorze tym występuje konwersja rozkazów CISC na RISC (ang. CISC/RISC instruction conversion), co oznacza, że przed wykonaniem, następuje konwersja rozkazów wewnętrznych typu CISC na mikrorozkazy typu RISC, rozdzielające dostępy do pamięci od operacji przetwarzania danych na rejestrach. Po konwersji, mikrorozkazy są analizowane przez układ sterowania procesora pod kątem dostępności w rejestrach roboczych wszystkich argumentów niezbędnych do ich wykonania. Jeżeli rozkaz nie jest gotowy do wykonania (nie ma wszystkich argumentów), jest on przetrzymywany w specjalnych buforach leżakowania (ang. reorder buffers, shelving registers), do momentu, gdy argumenty zostaną sprowadzone z pamięci lub wytworzone przez inne mikrorozkazy i załadowane do rejestrów używanych przez ten rozkaz.

32 Następną nową cechą procesora Pentium Pro było przemianowywanie rejestrów (ang. register renaming). Oprócz typowych 14 rejestrów używanych przy wykonywaniu zbioru rozkazów Intel x86, z którym ten procesor jest zgodny, Pentium Pro ma zbiór 40 dodatkowych rejestrów roboczych, które są wykorzystywane do tymczasowego przechowywania argumentów rozkazów. Dla uniknięcia zahamowań wykonania rozkazów tylko z powodu zbyt małej liczby rejestrów roboczych, przed wykonaniem mikrorozkazów, używane przez nie oryginalne rejestry znane w architekturze x86 (tzw. rejestry architekturalne) są odwzorowywane (przemianowywane) na rejestry ze wspomnianego zbioru, który z tego powodu nazywany jest zbiorem rejestrów przemianowanych ( ang. renamed registers). Do tych rejestrów są kopiowane argumenty rozkazów. Dzięki takiemu odwzorowaniu na szerszy zbiór rejestrów, wiele pozornych konfliktów w wykonywaniu ciągu rozkazów zostaje rozwiązanych i możliwe jest zrównoleglenie ich wykonania. Na tych rejestrach są wykonywane mikrorozkazy a po ich wykonaniu, wyniki są kopiowane do rejestrów architekturalnych a rejestry przemianowane są zwalniane do użycia w następnych rozkazach.

33 Procesor Pentium Pro jest procesorem superskalarnym na poziomie 3, gdyż 3 rozkazy są jednocześnie kierowane do wykonania i wyniki trzech są jednocześnie otrzymywane. Procesor dysponuje zbiorem 5 równolegle pracujących potokowych bloków wykonawczych. Zespół wymienionych powyżej rozwiązań architekturalnych zapewnia, że szeregowe programy procesora Pentium Pro wykonują się w tym procesorze przy rzeczywistym wewnętrznym zrównolegleniu operacji obliczeniowych i samych rozkazów. Taki sposób osiągania równoległości w wykonywaniu programów jest nazywany równoległością na poziomie rozkazów (ang. ILP Instruction Level Parallelism).

34 Schemat blokowy procesora Pentium Pro (64) TLB: 32 pozycje Pamięć podręczna L1 rozkazów (8KB) Blok (BTB) predykcji rozgałęzień Blok pobierania rozkazów (128) Adresy Dane Sterowanie Zegar (32) (64) Pamięć podręczna L2 (64) Blok sterowania szyną zewnętrzną Bufor Rozkazów (64) Dekoder rozkazów Prosty dekoder Prosty dekoder Złożony dekoder Pamięć µrozkazów 1µr. 1µr. 4µr. Pamięć podręczna L1 danych (8kB) TLB: 64 pozycje Bufor leżakowania Reorder buffer(rob) µop 20 µop 19 µop µop 01 µop 00 3 µr. 3µr. (store) 1µr. (load) Blok rezerwacji µop 18 µop 20 µop µop 00 µop 01 Store Data 3µr Store Addr ALU FPU ALU Load Addr Blok dostępu do pamięci Memory orders buffer (MOB) Blok wykonania w zmienionym porządku

35 Procesor jest wyposażony w rozdzielne dla danych i rozkazów pamięci podręczne L1 o pojemności 8 KBajtów każda. Pamięci podręczne mają organizację zbiorowo asocjacyjną. na poziomie 2 dla rozkazów i 4 dla danych. Procesor wykorzystuje pamięć podręczną drugiego poziomu (L2) o pojemności 256KBajtów. umieszczoną z procesorem w tym samym module o drukowanych połączeniach. Procesor ma 64-bitowe szyny danych: wewnętrzną, i zewnętrzną, idącą do pamięci operacyjnej, oraz 32-bitową szynę adresową. Procesor jest 32-bitowy tzn. że jego rejestry robocze i bloki ALU są 32-bitowe. Procesor ma osobną 64-bitową szynę danych idącą do pamięci podręcznej L2, przez którą następuje bardzo szybka wymiana informacji między pamięciami podręcznymi L1 i L2. Jest to nowość w porównaniu z Pentium. Procesor jest wyposażony w blok predykcji rozgałęzień, działający w oparciu o pamięć BTB, rejestracji celów rozgałęzień, w sposób podobny do procesora Pentium.

36 Rozkazy są pobierane z wyprzedzeniem z pamięci podręcznej do bufora rozkazów po 2 linie 32-bajtowe na raz. 16 bajtów kodu programu jest przekazywanych do dekodowania w bloku dekodera rozkazów. Blok dekodera rozkazów równolegle analizuje 3 rozkazy i zamienia je na mikrorozkazy RISC, przekazywane do bloku leżakowania rozkazów. W bloku leżakowania, mikrorozkazy podlegają przemianowaniu rejestrów i są zapamiętane w zbiorze 40 rejestrów leżakowania (reorder buffers). Niewykonane jeszcze mikrorozkazy są parami przesyłane do bloku rezerwacji bloków wykonawczych (ang. reservation station), który ma 20 rejestrów dla ich dalszego leżakowania. W bloku rezerwacji jest realizowana stała analiza gotowości leżakujących mikrorozkazów. W rozkazach leżakujących w obu blokach, następuje uzupełnianie argumentów w miarę napływania danych z bloków wykonawczych lub pamięci. Blok rezerwacji nadzoruje stan bloków wykonawczych i rozsyła do nich, wykryte przez siebie, gotowe do wykonania mikrorozkazy, do 5 na raz.

37 Procesor ma 5 potokowych bloków wykonawczych: podstawowy blok stałoprzecinkowy ALU, blok zmiennoprzecinkowy z blokiem ALU dla wybranych operacji stałoprzecinkowych 3 bloki związane z komunikacją z pamięcią: blok zapisów danych do pamięci (Store Data), bloki translacji adresów wirtualnych dla zapisu i odczytu (Store Addr i Load Addr). Wyniki obliczeń, w zależności od rodzaju bloku wykonawczego, są przesyłane albo do pamięci podręcznej danych (dla mikrorozkazów zapisz do pamięci) albo do rejestrów roboczych w bloku leżakowania (dla mikrorozkazów obliczeniowych). Przy mikrorozkazie odczytu z pamięci, dane pobrane z pamięci podręcznej według adresu obliczonego w bloku Load Addr (lub sprowadzone z pamięci operacyjnej), są przesyłane do rejestrów w bloku leżakowania.

38 Ustalaniem porządku dostępów do pamięci podręcznej danych steruje blok dostępu do pamięci MOB (ang. Memory Orders Buffer). Blok ten ma bufor na 8 żądań dostępu do pamięci, które są kierowane do wykonania w miarę możliwości dostępu do pamięci podręcznych i szyn pamięciowych. Jeśli żądanej informacji nie ma w pamięci podręcznej L1, żądanie jest kierowane do bloku sterowania szyną prowadzącą do pamięci L2. Organizacja pamięci podręcznej pozwala na przesłanie do niej przez ten blok jednocześnie jednego polecenia odczytu i do 3 poleceń zapisu. Dane dostarczane do bloku rezerwacji służą do kompletowania argumentów mikrorozkazów RISC i wytwarzania stanu ich gotowości do wykonania. Dane wprowadzane do bloku leżakowania są wykorzystywane dodatkowo dla kontrolowania procesu zamykania wykonania rozkazów CISC programu (ang. instruction retiring) i przywracania wartości w rejestrach architekturalnych procesora.

39 W bloku zamykania wykonania rozkazów wykonanie rozkazu CISC może być zamknięte dopiero po tym, jak wszystkie wygenerowane z niego mikrorozkazy RISC zostaną wykonane. Ten stan kompletnego wykonania jest kontrolowany przez blok leżakowania dla wszystkich wykonywanych rozkazów CISC. Po osiągnięciu tego stanu przez jakiś rozkaz CISC (dokładniej przez jego wszystkie pochodne mikrorozkazy RISC), następuje przepisanie wyników z rejestrów przemianowanych do architekturalnych, zwolnienie używanych rejestrów przemianowanych i zamknięcie tego rozkazu. Blok leżakowania może jednocześnie zamknąć do 3 rozkazów CISC. Odpowiada to superskalarności tego procesora na poziomie 3.

40 Dla wykonywania rozkazów wewnętrznych sprzęt procesora został zorganizowany w 14 stopniowy potok. Pamięć podręczna rozkazów D1 Przemianowanie rejestrów (2 takty) Bufor Pobieranie rozkazów (BTB) (3 takty) D2 D3 ROM Dekodowanie i konwersja na µrozk. (3 takty) Tablica odwzorowania rejestrów Obsługa operandów i zamykanie rozkazów (3 takty) RRF ROB Dystrybucja µrozk. (2 takty) Port 0 Centralna stacja rezerwacji Port 1 Port 2 Port 3 Wykonanie µrozkazów (1 takt) ALU IDIV ISHF FADD FDIV FMUL ALU JUMP Store Addr. Load Addr. Wyniki dla dla aktualizacji rejestrów Wyniki dla dla aktualizacji rejestrów Store Blok dostępu do pamięci - MOB (2 takty) Load (1 takt) Schemat potoku wykonania rozkazu w procesorze Pentium Pro

41 Potok rozpoczyna się trzema stopniami (1, 2, 3), w których najpierw zostaje wyznaczony adres rozkazu (jak trzeba to z użyciem BTB) a potem pobrane są kolejne 64 bajty z pamięci podręcznej do bufora rozkazów. W tych stopniach, następuje też wyznaczenie granic i ogólnych typów poszczególnych rozkazów (wstępne dekodowanie), co jest zapisywane w postaci dodatkowych bitów sterujących w rozkazach. Rozkazy z bufora są przekazywane do bloku dekodera. Blok dekodera stanowi następne 3 stopnie potoku (4, 5, 6). Blok dekodera zawiera 3 dekodery (konwertery rozkazów), działające jednocześnie: 2 z nich zamieniają rozkazy CISC na pojedyncze mikrorozkazy RISC a jeden zamienia je na dłuższe sekwencje mikrorozkazów (1 do 4 w jednym cyklu zegara), odczytywane z pamięci ROM pod nadzorem sekwensera. Mikrorozkazy są zaopatrywane w różne bity kontrolne dla kontroli gotowości ich wykonania. Zakodowane mikrorozkazy RISC mają długość 118 bitów. Dla obliczeń, mikrorozkazy zawierają trzy adresy rejestrów: dwa - argumentów i jeden - wyniku. W jednym cyklu zegara dekoder może przekazać do 6 mikrorozkazów do następnego bloku: bufora leżakowania.

42 Następne dwa stopnie potoku (7, 8) to układ przemianowania rejestrów i zapisu przemianowanych mikrorozkazów do bufora leżakowania ROB. W pierwszym stopniu, robione są zapisy do tablicy odwzorowania rejestrów. Następne dwa stopnie potoku (9, 10) realizują przepisywanie mikrorozkazów do stacji rezerwacji, analizę gotowości leżakujących mikrorozkazów i rozprowadzanie gotowych mikrorozkazów do bloków wykonawczych. Następny stopień potoku (11) to bloki wykonawcze procesora. które wykonują obliczenia. Bloki te są zgrupowane wokół 5 linii portów (ang. port) dostarczania im mikrorozkazów przez blok rezerwacji. Przy porcie 0 zgrupowane są: blok stałoprzecinkowy ALU oraz zbiór bloków specjalizowanych: IDIV dzielenie stałoprzecinkowe (od ang. Integer DIVide), ISHF przesunięcia stałoprzecinkowe (od ang. Integer ShiFt), FADD sumowanie zmiennoprzecinkowe (od ang. Floating point ADDer, FDIV dzielenie zmiennoprzecinkowe (od ang. Floating point DIVide), FMUL mnożenie zmiennoprzecinkowe (od ang. Floating point MULtiplier). Port 1 dzielą drugi blok ALU oraz blok translacji adresów wirtualnych dla skoków (JUMP).

43 Następne 3 bloki, związane z portami 2, 3, 4, realizują: obliczenia dla translacji adresu przy odczycie z pamięci obliczenia adresu i dostępu do pamięci przy zapisie. Jeżeli mikrorozkazy dotyczą dostępów do pamięci, działają bloki generatorów adresu i żądania dostępu do pamięci są składane w bloku dostępu do pamięci - MOB. W bloku MOB wykonanie żądania zapisu trwa 2 takty potoku a żądania odczytu 1 takt potoku. Przy odczycie, dane są przesyłane z pamięci L1do rejestrów w ROB i bloku rezerwacji. Przy zapisie, dane z rejestrów roboczych są przesyłane do pamięci podręcznej danych. Przy nietrafieniu w pamięci podręcznej L1, inicjowany jest cykl sprowadzenia danych z pamięci podręcznej L2. Następne 3 stopnie potoku (12, 13, 14) dostarczają wyniki obliczeń (dane) do mikrorozkazów w buforach w bloku rezerwacji i ROB, aktualizując w ten sposób stan gotowości wykonania.

44 W bloku leżakowania (reorder buffers), realizowane jest zamykanie rozkazów CISC, zapisy wyników do rejestrów architekturalnych procesora - RRF (od ang. Real Register File) oraz zwalnianie rejestrów przemianowanych w tablicy odwzorowania rejestrów.

45 Produkowane były procesory Pentium III/Xeon, mające architekturę P6 zbliżoną do Pentium Pro, przystosowane do pracy wieloprocesorowej na poziomie 4. Miały one pamięć L2 o pojemności do 2MB.

46 Procesor Pentium 4 i procesory wielordzeniowe Procesor Pentium 4, wprowadzony na rynek w połowie 2000 roku, stanowi dalsze rozwinięcie architektury superskalarnych procesorów generacji P6 firmy Intel. Zawiera on wszystkie zasadnicze cechy superskalarnych procesorów wymienione w opisie procesora Pentium Pro lecz wprowadzono w nim szereg nowych rozwiązań architekturalnych przyspieszających działanie. Podobnie jak w Pentium Pro, w procesorze Pentium 4 następuje konwersja rozkazów CISC na mikrorozkazy RISC lub mikroprogramy RISC pobierane z pamięci ROM. W Pentium 4 zastosowano nowatorskie rozwiązanie pamięci podręcznej rozkazów. Zamiast klasycznej pamięci przechowującej rozkazy, sprowadzone z pamięci operacyjnej, Pentium 4 ma tzw. pamięć podręczną śladu wykonania (ang. TEC Trace Execution Cache), w której przechowywane są mikrorozkazy powstałe po zdekodowaniu (konwersji CISC/RISC). Jest to szczególnie użyteczne dla przyspieszenia wykonywania powtórzeń rozkazów i pętli rozkazów.

47 Pamięć śladu może pomieścić 12 tys. mikrorozkazów i jest zorganizowana jako pamięć zbiorowo asocjacyjna na poziomie 8. Pentium 4 wykonuje rozkazy ze zmienionym porządkiem, w stosunku do zapisu w programie. Optymalizacja wykonywania programu opiera się na leżakowaniu mikrorozkazów w odpowiednich rejestrach i przemianowywaniu rejestrów roboczych, wykorzystywanych przez program. Pentium 4 zawiera zwielokrotnione dekodowanie rozkazów. Do bloku leżakowania są wysyłane równolegle 3 zdekodowane mikrorozkazy. Potok wykonania rozkazów został wydłużony do 22 stopni. Procesor wyposażony jest w nowy zestaw dodatkowych 144 rozkazów SSE2 wspomagających zastosowania multimedialne i obliczenia zmiennoprzecinkowe w podwójnej precyzji.

48 Uproszczony schemat blokowy procesora Pentium 4 (256) BTB i TLB rozkazów Dekoder rozkazów Szyna systemowa 3.2 GB/s (64) Pamięć podręczna L2 (256 KB) BTB (256) Rejestry zmiennoprzecinkowe FMul FAdd MMX SSE Pamięć podręczna śladów wykonania µrozkazów (12K) 3 µrozk Bufor zmiany porządku Kolejki mikrorozkazów (128) Blok dystrybucji mikrorozkazów FP move FP Store (300) Store AGU Rejestry stałoprzecinkowe Load AGU ALU Pamięć podręczna L1 danych (8KB) TLB ALU ALU ROM µrozk. ALU

49 Oprócz pamięci podręcznej śladów wykonania mikrorozkazów, procesor ma pamięć podręczną danych o pojemności 8KB opartą o klasyczna organizację zbiorowo asocjacyjnej. W układzie scalonym procesora znajduje się pamięć podręczna L2 o pojemności 256 Kbajtów, wspólna dla danych i rozkazów. Obydwie pamięci podręczne są połączone z pamięcią L2 odrębnymi szynami o szerokości 256 bitów. Są one bardzo szybkie, gdyż taktowane są zegarem procesora. Rozkazy pobierane są do dekodowania z pamięci podręcznej L2, z wyprzedzeniem, w dużych blokach. Przed pobraniem, następuje współpraca z podręcznym buforem adresów fizycznych stron TLB, dla konwersji adresu wirtualnego na fizyczny. Przy rozkazach rozgałęzień, konsultowany jest blok predykcji rozgałęzień tablica BTB, dla uzyskania wskazania na kierunek, który ma być użyty w rozgałęzieniu i adresu rozkazu do pobrania dla spekulatywnego wykonania.

50 Procesor Pentium 4 zawiera 8 potokowych bloków wykonawczych. Bloki arytmetyczno-logiczne są wyzwalane podobnie jak pamięć DDR DRAM dwoma zboczami przebiegu zegara, co dwukrotnie przyspiesza ich pracę w porównaniu z ALU w Pentium III. Blok dystrybucji mikrorozkazów do wykonania został wyposażony w 8 portów, którymi do ośmiu gotowych mikrorozkazów jest wysyłanych do wykonania. Dla wykonania wykorzystywane są bloki rejestrów roboczych stało- i zmiennoprzecinkowych. Pentium 4 akceptuje dwie listy rozkazów. Jedna jest to standardowa lista rozkazów Intel x86. Drugą jest lista rozkazów Intel EM64T (Extended Memory 64-bit Technology), która umożliwia programowanie z użyciem danych 64-bitowych. Lista rozkazów EM64T jest zgodna z listą rozkazów 64-bitowych procesorów firmy AMD.

51 Wstępne wersje procesora Pentium 4 były wyprodukowane w końcu 2000 roku technologii 0.18 µm (Willamete). Miały one 42 mln tranzystorów w układzie scalonym procesora, podstawkę z 478 końcówkami i pracowały z zegarem 1,4 GHz. Od początku 2002 roku, procesory Pentium 4 były produkowane w technologii 0.13 µm (Northwood) z 55mln tranzystorów i zegarem 2,2 GHz. Ta technologia pozwoliła na stopniowe podwyższanie częstotliwości zegara Pentium 4 do 3 GHz w końcu 2002 roku.

52 Od końca 2002 roku procesory Pentium 4 mają wbudowaną technologię Hiper Wątkowości (Hyper Threading), która polega na wykorzystaniu jednocześnie 2 wątków sterowania przy wykonywaniu programów. Wątki te wymiennie wykorzystują zasoby obliczeniowe procesora. Dla umożliwienia tego, sprzęt procesora został nieco rozbudowany (o około 10%), poprzez: rozszerzenie liczby rejestrów i buforów danych procesora ( w tym o dodatkowy licznik rozkazów oraz dodatkowe rejestry wskaźników dla pamięci podręcznej instrukcji) dodanie tablicy przemianowania rejestrów i stosu przewidywania rozkazów.

53 Następna wersji Pentium zwana Pentium 4 Extreme Edition została wprowadzona na rynek w końcu 2003 roku. Była ona produkowana w technologii 0.09 µm (Gallatin), przy której procesor mógł pracować z zegarem 3.4 GHz. Procesor ten był wyposażony w Hyper Threading i miał 3 poziomy pamięci podręcznej o pojemnościach odpowiednio: 12 Kbytes, 512 Kbytes and 2048 Kbytes. Kolejne wersje procesora Pentium 4, wprowadzone na początku 2004 roku, były produkowane w technologii 0,09 µm (Prescott), która umożliwia umieszczenie 100 mln. tranzystorów w jednym układzie scalonym. Miały one pamięci podręczne L1, L2 o pojemnościach 12 KB, 1024 KB - odpowiednio, i pracowały z zegarami o częstotliwościach 2,4-3,8 GHz. Ich potok wykonywania instrukcji miał 31 stopni. Wyposażone były w Hyper Threading. Pamięć operacyjnej miała szynę FSB z częstotliwością 800 MHz. W najszybszej wersji 3,8 MHz, procesor Pentium 4 Extreme Edition mógł współpracować z szyną FSB z częstotliwością 1066 MHz. Niestety, technologia Prescott cechowała się bardzo dużym poborem mocy i wysokim wydzielaniem ciepła, 1,5 raza większym niż poprzednie technologie procesora.

54 Ostatnia wersja procesora Pentium 4 została wyprodukowana w pierwszych miesiącach 2006 roku w technologii 65 nm (Cedar Mill). Miała ona architekturę podobną do procesora Pentium 4 Prescott lecz cechowała się znacznie niższym wydzielaniem ciepła. Zegar tego procesora miał częstotliwość 3-3,6 GHz. Dalszy rozwój procesorów Pentium 4 w kierunku wersji które pracowałyby z zegarami o częstotliwościach powyżej 4 GHz (aż do 10 GHz jak było oczekiwane w czasie produkcji pierwszych modeli Pentium 4) został zarzucony przez formę Intel z powodu ekstremalnych problemów z ograniczeniem wydzielania ciepła przez procesor. Zamiast zwiększania częstotliwości zegara procesora, podjęto w 2005 roku prace nad zrównolegleniem wykonywania programów poprzez rozwijanie technologii procesorów wielordzeniowych (ang. multiple core technology). Pierwsze prace dotyczyły procesorów dwurdzeniowych opartych na dwu procesorach Pentium 4 umieszczonych w we wspólnym układzie z jedną podstawką.

55 Pierwsze procesory dwurdzeniowe firmy Intel zostały wprowadzone na rynek w maju 2005 pod nazwami Pentium Extreme Edition 840 (Pentium EE 840) and Pentium D. Procesory te zawierają dwa rdzenie Pentium 4 (z architekturą Pentium 4 Cedar Mill), wyprodukowane w technologii 0.09 µm (Smithfield) umieszczone we wspólnym pakiecie (podstawce). Każdy procesor miał osobną pamięć podręczną L2 o pojemności 1Mbyte podłączoną poprzez podstawkę do kontrolera pamięci mostka północnego. Te dwurdzeniowe procesory zawierają 230 mln tranzystorów w jednym pakiecie procesorowym. Późna wersja dwurdzeniowego procesora Pentium Extreme Edition Pentium EE 995 została wyprodukowana w 2006 roku w technologii 65 nm (Presler) i pracowała z zegarem 3,4 GHz. Współpracowała ona z magistralą FSB z zegarem 1066 MHz.

56 W grudniu 2006 firma Intel wprowadziła na rynek pierwszy swój czterordzeniowy procesor (ang. quad core processor) pod nazwą Core 2 Extreme Quad-Core QX6700. Jest on oparty na 2 dwurdzeniowych procesorach Intel Core 2 umieszczonych we wspólnym pakiecie (podstawce). Procesory Core 2 stanowią wyprodukowane w lipcu 2006 dwurdzeniowe procesory Yonah, opracowane dla komputerów przenośnych (ang. laptop computer). Każdy procesor Core 2 ma dwie jednostki centralne (CPU) zintegrowane w tym samym układzie scalonym z pamięcią podręczną L2 o pojemności 4 MB. Każda jednostka centralna ma, oddzielne dla danych i instrukcji, pamięci podręczne L1 o pojemności 32 KB. Potok wykonania instrukcji zawiera 14 stopni. Superskalarne wykonywanie programów oparte jest na dystrybucji 4 instrukcji na raz do bloków wykonawczych. Procesory te zawierają mechanizm scalania instrukcji (ang. macro-operation fusion), który kombinuje 2 instrukcje x86 w jednym mikrorozkazie. Częstotliwość zegara wynosiła GHz. Pobór mocy przez procesor jest bardzo niski - (65 watów).

57 W listopadzie 2008 pojawiły się na rynku procesory Intel Core i7, stanowiące następną po Core 2 rodzinę procesorów wielordzeniowych Intela. Modele i7-920 oraz i7-940 miały częstotliwość zegara 2,66 GHz oraz 2,93 GHz, a model i7-965 XE częstotliwość 3,2 GHz. Zrealizowane były w technologii 45 nm. Procesory te mają architekturę określaną nazwą Nehalem.

58 Nehalem zawiera następujące rozwiązania architekturalne: 2 do 8 rdzeni w jednym układzie scalonym, 3 kanałowy kontroler pamięci DDR3, do pracy z częstotliwością MHz, osobne dla każdego rdzenia pamięci L1 danych i instrukcji o pojemności 32 KB, pamięć cache L2 rozproszona, osobne pamięci dla każdego rdzenia (wspólne dla danych i instrukcji), 256 kb na rdzeń, pamięć cache L3 o pojemności 8MB, wspólna dla wszystkich rdzeni, bardzo szybkie sieci typu punkt-do-punktu QPI (QuickPath Interconnect) oraz DMI (Direct Media Interface) zamiast magistrali FSB, wielowątkowość typu Hyper Threading pozwalającą jednemu rdzeniowi procesora przetwarzać 2 wątki z podziałem jego czasu, instrukcje SSE 4.2, mechanizm zwiększania wydajności (szybkości taktowania) rdzeni przy dużym obciążeniu obliczeniami (Turbo Boost), rozwinięte mechanizmy redukcji wydzielania ciepła i pobierania energii.

59 Układ scalony procesora Core i7 w technologii 45nm zawiera przeszło 780 mln tranzystorów i wydziela moc W. Następna seria procesorów superskalarnych Intela jest realizowana w technologii 32 nm. W styczniu 2010 pojawily się procesory Intel Core i3 oraz Intel Core i5 o zmniejszonej podstawowej mocy obliczeniowej w stosunku do procesorów serii Core i7 (dla obliczeń posiadają tylko dwa rdzenie z architekturą Nehalem) ale są wyposażone we wbudowany dodatkowy rdzeń dla obsługi grafiki, umieszczone w tym samym pakiecie procesora (wspólna podstawka). Procesory zbudowane są w technologii 32 nm i pracują z zegarami 2,9-3,4 GHz. Współpracują z pamięciami DDR3 i mają wbudowane pamięci podręczne L3 o pojemności 4MB. Rownież w styczniu 2010 pojawiły się 6-rdzeniowe procesory Intel Core i7 w technologii 32 nm dla komputerów typu laptop a w lipcu 2010 podobne procesory dla komputerów typu desktop. Pracują one z zegarem 3,33 GHz i mają wbudowaną pamięć L3 o pojemności 12 MB. Procesory 8-rdzeniowe z tej serii spodziewane są w 2011.

60 Procesory superskalarne firmy AMD z równoległością na poziomie instrukcji Kilka innych firm półprzewodnikowych w USA i na dalekim wschodzie produkowało superskalarne mikroprocesory, które są zgodne programowo z procesorami Intel serii x86. Należą do nich firmy: AMD Advanced Micro Devices (USA), produkująca rodziny procesorów K5, K6 i K7; IBM/Cyrix Taiwan - rodziny procesorów M1 i M2; ViA Taiwan - procesory Via Cyrix III, po zakupie firmy Cyrix. Procesory tych firm mają dużo niższe ceny niż procesory Intel. Mają one często oryginalne rozwiązania architekturalne przewyższające koncepcyjnie i wydajnościowo produkty firmy Intel.

61 Omówimy teraz krótko interesującą architekturę procesora Athlon firmy AMD, który został wprowadzony na rynek jako pierwszy model rodziny K7, zgodnej programowo z procesorami Intel x86. Procesor ten był rywalem dla procesorów Intel Pentium III a w nowej wersji - dla Pentium 4. Początkowe modele tego procesora były budowane w technologii 0.25 µm i pracowały z zegarami do 700 MHz. W technologii 0.13 µm, częstotliwość zegara procesora Athlon osiągała 3 GHz.

62 Schemat blokowy procesora AMD Athlon Adresy Poziom 1 (24 linie) TLB Poziom 2 (256 linie) Pamięć podr. L1 rozkazów (64KB) Predykcja rozgałęzień ROM Dekoder CISC / RISC D1 D2 D3 Dystrybucja µrozkazów zmiennoprzecinkowych Blok sterowania µrozkazami (72) Dane Sterowanie Blok sterowania szyną zewnętrzną Przemianowanie rejestrów Dystrybucja FPU/Media (36) eduler Zbiór rejestrów zmiennoprzecinkowych (80) FPU0 FSTORE FPU1 FADD MMX ALU 3DNow! FPU2 FMUL MMX ALU MMX MUL 3DNow! Dystrybucja µrozkazów stałoprzecinkowych (15) IEU-0 AGU-0 IEU-1 AGU-1 IEU-2 AGU-2 IMUL Zegar Port A Pamięć podręczna L1 danych (64KB) Poziom 1 (32 linie) TLB Poziom 2 (256 linii) Blok zapisów / odczytów pamięci (44) Port B Kontroler pamięci podręcznej L2 Pamięć podręczna L2

63 Pierwszą cechą architektury Athlon jest konwersja rozkazów CISC na mikrorozkazy RISC, podobnie do Pentium III i 4. Trzy zdekodowane rozkazy RISC, pobierane z pamięci ROM dla bardziej skomplikowanych rozkazów, są przesyłane do bloku leżakowania rozkazów. Mikrorozkazy RISC są bardziej złożone niż w Pentium i zawierają do 2 operacji elementarnych. Dalsze wykonanie mikrorozkazów odbywa się ze zmianą porządku wykonania jak w procesorach Intel. Odmienna jest bardzo duża pojemność pamięci podręcznych danych i rozkazów, wynosząca 64 KB, przy organizacji zbiorowo asocjacyjnej na poziomie 2. Athlon ma pamięć podręczną L2 o pojemności 512 KB umieszczoną we wstępnych modelach na wspólnym module drukowanym z procesorem. Pamięć L2 współpracuje z procesorem poprzez niezależną szynę BSB, taktowaną zegarem procesora - dla późniejszych wersji ze zintegrowaną L2 z procesorem.

64 W pierwszych modelach Athlona, nowość stanowiła szyna dostępu do pamięci operacyjnej FSB, zapożyczona z procesora DECAlpha 21624, taktowana podwójnymi zboczami zegara, jak w pamięciach DDR RDRAM. Dawała ona przepustowość 1.6 GB/s, co było znacznie więcej niż w procesorach Pentium II i III. Athlon stosuje sprzętowe wspomaganie dla obsługi rozkazów rozgałęzień (pamięć BTB o pojemności 2048 linii) oraz translacji adresu wirtualnego (dwupoziomowa pamięć podręczna TLB). Leżakowanie mikrorozkazów odbywa się w Athlonie w zbiorze 72 rejestrów, znacznie większym niż w Pentium. Dystrybucja mikrorozkazów w procesorze Athlon nie jest centralna jak w Pentium, lecz rozdzielona między dwa bloki: dla rozkazów stałoprzecinkowych i zmiennoprzecinkowych. Do 9 mikrorozkazów jest jednocześnie kierowanych do wykonania w blokach wykonawczych. Rozmiary buforów rejestrów dla leżakowania mikrorozkazów wynoszą 15 i 36, odpowiednio.

65 Athlon ma 9 bloków wykonawczych: 3 stałoprzecinkowe IEU0-IEU2, 3 zmiennoprzecinkowe FPU0-FPU2 3 bloki obliczeń adresów AGU0-AGU2. Dla wykonywania mnożenia stałoprzecinkowego, zapewniony jest sprzętowy blok mnożenia IMUL. Bloki wykonawcze są potokowe. Bloki zmiennoprzecinkowe wykorzystują zbiór 80 rejestrów roboczych. Potok wykonania rozkazów procesora Athlon liczy 11 stopni dla rozkazów stałoprzecinkowych i 15 stopni dla rozkazów zmiennoprzecinkowych. Realizacja dostępów do pamięci odbywa się pod kontrolą bloku obsługi zapisów i odczytów pamięci, który ma kolejkę oczekiwania dla 44 żądań.

66 Do rodziny Athlon należy inny, bardzo popularny procesor firmy AMD Duron. Duron ma tę samą architekturę co Athlon, z wyjątkiem pamięci podręcznej L2, której pojemność ograniczono do KB. Procesory Duron pracują z zegarami 600 MHz do 1.6 GHz. Są znacznie tańsze niż podobne procesory Celeron firmy Intel. Popularne modele procesora Athlon produkowano w technologii 0.13 µm (Thoroughbred, Barton) pod nazwą AMD Athlon XP. Miały one szynę FSB taktowana zegarem MHz, pamięć podręczną L1 o pojemności 128 KB i pamięć podręczną L2 o pojemności KB, zintegrowane z procesorem oraz częstotliwość zegara do 3GHz. Produkowane są 64-bitowe procesory Athlon 64 Fx, AMD Opteron oraz procesory dwurdzeniowe Athlon 64 X2, AMD Opteron Dual Core, wykonujące obliczenia na dwu strumieniach danych. Procesory dwurdzeniowe zwiększały szybkość wykonywania multimedialnych programów aplikacyjnych o 82 %.

67 W marcu 2008 weszły na rynek pierwsze wersje procesorów czterordzeniowych AMD o nazwach Phenom X4, modele 9700, 9600 i 9500 (zegar 2,4-2,2 GHz), wykonane w technologii 65 nm, zawierające 490 mln tranzystorów w układzie scalonym. Procesory te miały: osobne dla każdego rdzenia pamięci podręczne L1 o pojemności 64 KB, osobne dla każdego rdzenia pamięci L2 o pojemności 512 KB współdzieloną przez 4 rdzenie pamięć podręczną L3 o pojemności 2 MB. Również w marcu 2008 pojawiły się procesory trzyrdzeniowe firmy AMD - Phenom X3. Mają one podobne do Phenom X4 pojemności pamięci podręcznej i częstotliwości zegara od 2,1 do 2,4 GHz.

68 Procesory czterordzeniowe AMD Phenom II X4 oraz trzyrdzeniowe Phenom II X3 w technologii 45 nm pojawiły się w styczniu 2009 roku. Mają one współdzieloną pamięć podręczną L3 o pojemności 4-6 MB. W trzecim kwartale 2009 roku weszły na rynek wersje procesorów AMD Athlon II X4, Athlon II X3 oraz Athlon II X2 okrojone o pamięć podręczną L3 w układach scalonych zrealizowanych w technologii 45 nm. W kwietniu 2010 roku AMD wprowadziło na rynek 6-rdzeniowe procesory Phenom II X6 w technologii 45 nm z pamięcią podręczną L3 o pojemności 6 MB, pracujące z zegarem 2,8-3,2 GHz. Wydzielana moc wynosi do 125 W. Procesory 8-rdzeniowe firmy AMD były w planie na drugą połowę 2011 roku.

69 Posumowanie Cechy współczesnych superskalarnych procesorów CISC wykonywanie wielu instrukcji w tym samym cyklu zegara (ang. superscalar design) równoległe pobieranie instrukcji do pamięci podręcznej (ang. parallel prefetching) odrębne pamięci podręczne dla instrukcji i danych wstępne dekodowanie rozkazów na drodze z pamięci podręcznej do bufora rozkazów (ang. predecoding) równoległe dekodowanie instrukcji (ang. multi-decoding) przemianowywanie rejestrów architekturalnych procesora na robocze dla likwidacji fałszywych zależności danych (ang. register renaming) wewnętrzna konwersja rozkazów typu CISC na RISC dla wykonania programu (ang. CISC/RISC conversion)

70 leżakowanie rozkazów przed wykonaniem. w celu likwidacji blokad w potokach ze względu na zależności ze względu na dane między rozkazami (ang. instruction shelving) wykonywanie instrukcji w zmienionej kolejności (ang. out-of-order execution) równoległe wykonywanie instrukcji w wielu blokach wykonawczych (ang. multiple instruction issue) z rownoległością na poziomie instrukcji potokowa budowa bloków wykonawczych (ang. pipelining) wyposażenie procesora w zwielokrotnione bloki arytmetyczno-logiczne oraz w bloki operacji na adresach i dostępu do pamięci (ang. parallel multiple functional units) zwracanie wyników obliczeń do leżakujących instrukcji (ang. instruction updating) przywracanie wyników obliczeń w rejestrach architekturalnych (ang. retiring)

71

Procesory. Schemat budowy procesora

Procesory. Schemat budowy procesora Procesory Procesor jednostka centralna (CPU Central Processing Unit) to sekwencyjne urządzenie cyfrowe którego zadaniem jest wykonywanie rozkazów i sterowanie pracą wszystkich pozostałych bloków systemu

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący

Bardziej szczegółowo

Budowa i zasada działania komputera. dr Artur Bartoszewski

Budowa 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ółowo

Budowa Mikrokomputera

Budowa 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ółowo

Architektura mikroprocesorów TEO 2009/2010

Architektura 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ółowo

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

Technika 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ółowo

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC Architektura Systemów Komputerowych Rozwój architektury komputerów klasy PC 1 1978: Intel 8086 29tys. tranzystorów, 16-bitowy, współpracował z koprocesorem 8087, posiadał 16-bitową szynę danych (lub ośmiobitową

Bardziej szczegółowo

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący

Bardziej szczegółowo

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem

Bardziej szczegółowo

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

UTK 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ółowo

Wydajność 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ść 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ółowo

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura 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ółowo

LEKCJA TEMAT: Współczesne procesory.

LEKCJA 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ółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń

Bardziej szczegółowo

Architektura von Neumanna. Jak zbudowany jest współczesny komputer? Schemat architektury typowego PC-ta. Architektura PC wersja techniczna

Architektura von Neumanna. Jak zbudowany jest współczesny komputer? Schemat architektury typowego PC-ta. Architektura PC wersja techniczna Architektura von Neumanna CPU pamięć wejście wyjście Jak zbudowany jest współczesny komputer? magistrala systemowa CPU jednostka centralna (procesor) pamięć obszar przechowywania programu i danych wejście

Bardziej szczegółowo

Organizacja typowego mikroprocesora

Organizacja 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ółowo

SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM

SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM Marcin Tomana marcin@tomana.net SKRÓT WYKŁADU Zastosowania systemów operacyjnych Architektury sprzętowe i mikroprocesory Integracja systemu operacyjnego

Bardziej szczegółowo

Architektura systemów komputerowych

Architektura 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ółowo

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11

Spis 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ółowo

Architektura komputerów

Architektura 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ółowo

Budowa komputera Komputer computer computare

Budowa 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ółowo

Bibliografia: pl.wikipedia.org www.intel.com. Historia i rodzaje procesorów w firmy Intel

Bibliografia: pl.wikipedia.org www.intel.com. Historia i rodzaje procesorów w firmy Intel Bibliografia: pl.wikipedia.org www.intel.com Historia i rodzaje procesorów w firmy Intel Specyfikacja Lista mikroprocesorów produkowanych przez firmę Intel 4-bitowe 4004 4040 8-bitowe x86 IA-64 8008 8080

Bardziej szczegółowo

ARCHITEKTURA PROCESORA,

ARCHITEKTURA 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ółowo

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

Architektury komputerów Architektury i wydajność. Tomasz Dziubich Architektury komputerów Architektury i wydajność Tomasz Dziubich Przetwarzanie potokowe Przetwarzanie sekwencyjne Przetwarzanie potokowe Architektura superpotokowa W przetwarzaniu potokowym podczas niektórych

Bardziej szczegółowo

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK 1 PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK POLITECHNIKA CZĘSTOCHOWSKA 2 Trendy rozwoju współczesnych procesorów Budowa procesora CPU na przykładzie Intel Kaby Lake

Bardziej szczegółowo

architektura komputerów w. 4 Realizacja sterowania

architektura 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ółowo

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

Ukł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ółowo

Wykład. Potokowe wykonywanie operacji i rozkazów, stos, podprogramy, przerwania, układ sterowania, zarys historii komputera elektronicznego.

Wykład. Potokowe wykonywanie operacji i rozkazów, stos, podprogramy, przerwania, układ sterowania, zarys historii komputera elektronicznego. Wykład Potokowe wykonywanie operacji i rozkazów, stos, podprogramy, przerwania, układ sterowania, zarys historii komputera elektronicznego. Zawartość wykładu: 1. Potokowe wykonywanie operacji obliczeniowych

Bardziej szczegółowo

Mikroprocesory rodziny INTEL 80x86

Mikroprocesory 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ółowo

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

Witold 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ółowo

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura systemów komputerowych. dr Artur Bartoszewski Architektura systemów komputerowych dr Artur Bartoszewski Procesor część II Rejestry procesora dostępne programowo A B D H PC SP F C E L A Akumulator Zawiera jeden z operandów działania i do niego przekazywany

Bardziej szczegółowo

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

Logiczny 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ółowo

Projektowanie. Projektowanie mikroprocesorów

Projektowanie. 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ółowo

System obliczeniowy laboratorium oraz. mnożenia macierzy

System obliczeniowy laboratorium oraz. mnożenia macierzy System obliczeniowy laboratorium.7. oraz przykładowe wyniki efektywności mnożenia macierzy opracował: Rafał Walkowiak Materiały dla studentów informatyki studia niestacjonarne październik 1 SYSTEMY DLA

Bardziej szczegółowo

Architektura komputerów egzamin końcowy

Architektura komputerów egzamin końcowy Architektura komputerów egzamin końcowy Warszawa, dn. 25.02.11 r. I. Zaznacz prawidłową odpowiedź (tylko jedna jest prawidłowa): 1. Czteroetapowe przetwarzanie potoku architektury superskalarnej drugiego

Bardziej szczegółowo

Architektura potokowa RISC

Architektura 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ółowo

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]

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] 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ółowo

Architektura Systemów Komputerowych

Architektura 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ółowo

Programowanie Niskopoziomowe

Programowanie 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ółowo

Architektura mikroprocesorów z rdzeniem ColdFire

Architektura 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ółowo

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura 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ółowo

Struktura i działanie jednostki centralnej

Struktura 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ółowo

WPROWADZENIE Mikrosterownik mikrokontrolery

WPROWADZENIE Mikrosterownik mikrokontrolery WPROWADZENIE Mikrosterownik (cyfrowy) jest to moduł elektroniczny zawierający wszystkie środki niezbędne do realizacji wymaganych procedur sterowania przy pomocy metod komputerowych. Platformy budowy mikrosterowników:

Bardziej szczegółowo

Mikroprocesor Operacje wejścia / wyjścia

Mikroprocesor 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ółowo

Bajt (Byte) - najmniejsza adresowalna jednostka informacji pamięci komputerowej, z bitów. Oznaczana jest literą B.

Bajt (Byte) - najmniejsza adresowalna jednostka informacji pamięci komputerowej, z bitów. Oznaczana jest literą B. Jednostki informacji Bajt (Byte) - najmniejsza adresowalna jednostka informacji pamięci komputerowej, składająca się z bitów. Oznaczana jest literą B. 1 kb = 1024 B (kb - kilobajt) 1 MB = 1024 kb (MB -

Bardziej szczegółowo

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury 1976 r. Apple PC Personal Computer 1981 r. pierwszy IBM PC Komputer jest wart tyle, ile wart jest człowiek, który go wykorzystuje... Hardware sprzęt Software oprogramowanie Komputer IBM PC niezależnie

Bardziej szczegółowo

Architektura komputerów

Architektura 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ółowo

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Bibliografia: pl.wikipedia.org  Historia i rodzaje procesorów w firmy Intel Bibliografia: pl.wikipedia.org www.intel.com Historia i rodzaje procesorów w firmy Intel Specyfikacja Lista mikroprocesorów produkowanych przez firmę Intel 4-bitowe 4004 4040 8-bitowe 8008 8080 8085 x86

Bardziej szczegółowo

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Ukł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ółowo

Architektura komputerów

Architektura 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ółowo

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura systemów komputerowych. dr Artur Bartoszewski Architektura systemów komputerowych dr Artur Bartoszewski Procesor część II Rejestry procesora dostępne programowo A B D H PC SP F C E L A Akumulator Zawiera jeden z operandów działania i do niego przekazywany

Bardziej szczegółowo

Wydajność obliczeń a architektura procesorów

Wydajność obliczeń a architektura procesorów Wydajność obliczeń a architektura procesorów 1 Wydajność komputerów Modele wydajności-> szacowanie czasu wykonania zadania Wydajność szybkość realizacji wyznaczonych zadań, np.: liczba rozkazów na sekundę

Bardziej szczegółowo

Nowinki technologiczne procesorów

Nowinki technologiczne procesorów Elbląg 22.04.2010 Nowinki technologiczne procesorów Przygotował: Radosław Kubryń VIII semestr PDBiOU 1 Spis treści 1. Wstęp 2. Intel Hyper-Threading 3. Enhanced Intel Speed Technology 4. Intel HD Graphics

Bardziej szczegółowo

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1 i sieci komputerowe Szymon Wilk Superkomputery 1 1. Superkomputery to komputery o bardzo dużej mocy obliczeniowej. Przeznaczone są do symulacji zjawisk fizycznych prowadzonych głównie w instytucjach badawczych:

Bardziej szczegółowo

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt 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ółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA 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ółowo

Przykłady praktycznych rozwiązań architektur systemów obliczeniowych AMD, Intel, NUMA, SMP

Przykłady praktycznych rozwiązań architektur systemów obliczeniowych AMD, Intel, NUMA, SMP Przykłady praktycznych rozwiązań architektur systemów obliczeniowych AMD, Intel, NUMA, SMP Wykład przetwarzanie równoległe cz.3 NUMA versus SMP systemy wieloprocesorowe NUMA- każdy procesor jest bliżej

Bardziej szczegółowo

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności. Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Organizacja pamięci Organizacja pamięci współczesnych systemów komputerowych

Bardziej szczegółowo

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci Układ Podstawy Informatyki - Układ bezpośredniego dostępu do pamięci alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu Układ 1 Układ Wymiana informacji Idea Zasady pracy maszyny W Architektura

Bardziej szczegółowo

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4 Pamięć wirtualna Przygotował: Ryszard Kijaka Wykład 4 Wstęp główny podział to: PM- do pamięci masowych należą wszelkiego rodzaju pamięci na nośnikach magnetycznych, takie jak dyski twarde i elastyczne,

Bardziej szczegółowo

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

MOŻ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ółowo

MIKROKONTROLERY I MIKROPROCESORY

MIKROKONTROLERY I MIKROPROCESORY PLAN... work in progress 1. Mikrokontrolery i mikroprocesory - architektura systemów mikroprocesorów ( 8051, AVR, ARM) - pamięci - rejestry - tryby adresowania - repertuar instrukcji - urządzenia we/wy

Bardziej szczegółowo

Procesory firmy ARM i MIPS

Procesory firmy ARM i MIPS Procesory firmy ARM i MIPS 1 Architektura procesorów ARM Architektura ARM (Advanced RISC Machine, pierwotnie Acorn RISC Machine) jest 32-bitową architekturą (modelem programowym) procesorów typu RISC.

Bardziej szczegółowo

UKŁADY MIKROPROGRAMOWALNE

UKŁ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ółowo

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

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego. Plan wykładu Pojęcie magistrali i jej struktura Architektura pamięciowo-centryczna Architektura szynowa Architektury wieloszynowe Współczesne architektury z połączeniami punkt-punkt Magistrala Magistrala

Bardziej szczegółowo

Architektura systemów komputerowych. Przetwarzanie potokowe I

Architektura 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ółowo

Architektura komputera wg Neumana

Architektura komputera wg Neumana PROCESOR Architektura komputera wg Neumana Uproszczony schemat procesora Podstawowe elementy procesora Blok rejestrów Blok ALU Dekoder kodu rozkazowego Układ sterujący Magistrala procesora Cykl pracy procesora

Bardziej szczegółowo

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura systemów komputerowych. dr Artur Bartoszewski Architektura systemów komputerowych dr Artur Bartoszewski Procesor część III Podział pamięci operacyjnej Pierwsze komputery IBM PC z procesorem 8086/88 (XT) narzuciły pewien podział pamięci, kontynuowany

Bardziej szczegółowo

Nowinki technologiczne procesorów

Nowinki technologiczne procesorów Elbląg 22.04.2010 Nowinki technologiczne procesorów Przygotował: Radosław Kubryń VIII semestr PDBiOU 1 Spis treści 1. Wstęp 2. Intel Hyper-Threading 3. Enhanced Intel Speed Technology 4. Intel HD Graphics

Bardziej szczegółowo

Jednostka centralna. dr hab. inż. Krzysztof Patan, prof. PWSZ

Jednostka centralna. dr hab. inż. Krzysztof Patan, prof. PWSZ Jednostka centralna dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa w Głogowie k.patan@issi.uz.zgora.pl Architektura i organizacja komputerów Architektura

Bardziej szczegółowo

Programowanie współbieżne Wykład 2. Iwona Kochańska

Programowanie 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ółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 14 Procesory równoległe Klasyfikacja systemów wieloprocesorowych Luźno powiązane systemy wieloprocesorowe Każdy procesor ma własną pamięć główną i kanały wejścia-wyjścia.

Bardziej szczegółowo

Podstawy Techniki Mikroprocesorowej

Podstawy 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ółowo

Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008

Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008 Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer. 1.4 Wojciech Myszka 16 pa«zdziernika 2008 CISC I Complex Instruction Set Computers nazwa architektury mikroprocesorów

Bardziej szczegółowo

Architektura komputerów

Architektura 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ółowo

Przetwarzanie potokowe pipelining

Przetwarzanie 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ółowo

Podstawy Informatyki Układ sterujący

Podstawy 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ółowo

Zrównoleglenie i przetwarzanie potokowe

Zró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ółowo

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe MIKROKONTROLER RODZINY MCS 5 Cykl rozkazowy mikrokontrolera rodziny MCS 5 Mikroprocesory rodziny MCS 5 zawierają wewnętrzny generator sygnałów zegarowych ustalający czas trwania cyklu zegarowego Częstotliwość

Bardziej szczegółowo

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura systemów komputerowych. dr Artur Bartoszewski Architektura systemów komputerowych dr Artur Bartoszewski Procesor część III Podział pamięci operacyjnej Pierwsze komputery IBM PC z procesorem 8086/88 (XT) narzuciły pewien podział pamięci, kontynuowany

Bardziej szczegółowo

Architektura systemów informatycznych

Architektura systemów informatycznych Architektura systemów informatycznych Architektura i organizacja pamięci Literatura: Hyde R. 2005, Zrozumieć komputer, Profesjonalne programowanie Część 1, Helion, Gliwice Podstawowe elementy systemu komputerowego

Bardziej szczegółowo

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH. Klasyczny cykl pracy procesora sekwencyjnego. współczesne architektury. c Dr inż.

ARCHITEKTURA 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ółowo

Architektura komputera

Architektura 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ółowo

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

Architektura 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ółowo

Architektura Systemów Komputerowych

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ółowo

Budowa pamięci RAM Parametry: tcl, trcd, trp, tras, tcr występują w specyfikacjach poszczególnych pamięci DRAM. Czym mniejsze są wartości tych

Budowa pamięci RAM Parametry: tcl, trcd, trp, tras, tcr występują w specyfikacjach poszczególnych pamięci DRAM. Czym mniejsze są wartości tych Budowa pamięci RAM Parametry: tcl, trcd, trp, tras, tcr występują w specyfikacjach poszczególnych pamięci DRAM. Czym mniejsze są wartości tych parametrów, tym szybszy dostęp do komórek, co przekłada się

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne

Bardziej szczegółowo

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08 Mikrokontrolery 8-bitowe Mikrokontrolery 8-bitowe stanowią wciąż najliczniejszą grupę mikrokontrolerów. Istniejące w chwili obecnej na rynku rodziny mikrokontrolerów opracowane zostały w latach 80-tych.

Bardziej szczegółowo

Magistrala systemowa (System Bus)

Magistrala 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ółowo

Technologie Informacyjne Wykład 3

Technologie Informacyjne Wykład 3 Technologie Informacyjne Wykład 3 Procesor i jego architektura (CISC, RISC, 32/64 bity) Systemy wieloprocesorowe Wojciech Myszka Jakub Słowiński Katedra Mechaniki i Inżynierii Materiałowej Wydział Mechaniczny

Bardziej szczegółowo

Architektura komputerów

Architektura 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ółowo

Dydaktyka Informatyki budowa i zasady działania komputera

Dydaktyka Informatyki budowa i zasady działania komputera Dydaktyka Informatyki budowa i zasady działania komputera Instytut Matematyki Uniwersytet Gdański System komputerowy System komputerowy układ współdziałania dwóch składowych: szprzętu komputerowego oraz

Bardziej szczegółowo

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

PAMIĘ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ółowo

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Motywacja - memory wall Krzysztof Banaś, Obliczenia wysokiej wydajności. 2 Organizacja pamięci Organizacja pamięci:

Bardziej szczegółowo

Podstawy Informatyki JA-L i Pamięci

Podstawy Informatyki JA-L i Pamięci Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Operator elementarny Proste układy z akumulatorem Realizacja dodawania Realizacja JAL dla pojedynczego bitu 2 Parametry

Bardziej szczegółowo

Architektura systemów informatycznych

Architektura systemów informatycznych Architektura systemów informatycznych Architektura i organizacja pamięci Literatura: Hyde R. 2005, Zrozumieć komputer, Profesjonalne programowanie Część 1, Helion, Gliwice Podstawowe elementy systemu komputerowego

Bardziej szczegółowo

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Wykład 4 Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Mikrokontrolery PIC Mikrokontrolery PIC24 Mikrokontrolery PIC24 Rodzina 16-bitowych kontrolerów RISC Podział na dwie podrodziny: PIC24F

Bardziej szczegółowo