Podstawy architektury procesorów z równoległością na poziomie instrukcji - równoległość w procesorach superskalarnych
|
|
- Kamila Domagała
- 8 lat temu
- Przeglądów:
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 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ółowoBudowa 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ółowoBudowa 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ółowoSprzę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ół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ół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ół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ół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. 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ółowoSprzę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ółowoRDZEŃ 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ół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ół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. 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ół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ółowoArchitektura 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ółowoArchitektura 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ół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ółowoSYSTEMY 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ół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ół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 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 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ółowoBibliografia: 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ół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ółowoArchitektury 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ółowoPROGRAMOWANIE 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ół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ół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ółowoWykł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ół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ół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ółowoArchitektura 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ół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ół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ółowoSystem 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ółowoArchitektura 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ół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ół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ół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ół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ół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ół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ół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ółowoWPROWADZENIE 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ół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ółowoBajt (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ółowoKomputer 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ół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ółowoBibliografia: 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ół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ół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ółowoArchitektura 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ółowoWydajność 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ółowoNowinki 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ółowoSystemy 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ół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ół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ółowoPrzykł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ółowoWydajność 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ółowoPodstawy 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ółowoPamięć 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ół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ółowoMIKROKONTROLERY 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ółowoProcesory 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ół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ółowoMagistrala. 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ół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 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ółowoArchitektura 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ółowoNowinki 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ółowoJednostka 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ół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ółowoArchitektura 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ół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ółowoProcesor 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ół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ół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ół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ół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ółowoCYKL 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ółowoArchitektura 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ółowoArchitektura 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ół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ół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ół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ółowoArchitektura 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ółowoBudowa 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ółowoArchitektura 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ółowoTechnika 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ół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ółowoTechnologie 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ół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ółowoDydaktyka 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ół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ółowoWydajność 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ółowoPodstawy 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ółowoArchitektura 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ółowoWykł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