Procesor (CPU – Central Processing Unit)

Transkrypt

Procesor (CPU – Central Processing Unit)
Procesor (CPU – Central
Processing Unit)
Procesor
Procesor - przetwarzanie.
Urządzenie cyfrowe sekwencyjne:
 pobiera dane z pamięci
 interpretuje je
 wykonuje jako rozkazy, zgodnie z tzw.
listą rozkazów procesora (wbudowaną
przez producenta)
Wykonane jako układy scalone,
zamknięte w hermetycznej obudowie.
Główny element – monokryształ krzemu,
na który naniesiono techniką fotolitografii
szereg warstw półprzewodnikowych
(sieć milionów tranzystorów)
Różne parametry procesora
1) rozmiar elementów, budujących jego
strukturę
(w latach 90-tych 500 nm, potem 130 nm,
90nm, 65nm, pod koniec 2007 - 45 nm, w
2010 - 32 nm,
obecnie 22 nm,
Global Foundries zapowiada
w 2014 -14 nm,
Intel twierdzi, że w ciągu dekady
zejdziemy do 10 nm).
Im elementy są mniejsze, tym
• niższe zużycie energii
• mniejsze napięcie pracy
• wyższa częstotliwość.
Wymiar określający skalę miniaturyzacji
technologicznej układu procesora – proces
technologiczny.
Prawo Moore’a
Od 1965 roku.
Oryginalnie:
prawo empiryczne, wynikające z obserwacji,
że ekonomicznie optymalna liczba
tranzystorów w układzie scalonym
zwiększa się w kolejnych latach zgodnie z
trendem wykładniczym (podwaja się w
niemal równych odcinkach czasu).
Ogólne:
Moc obliczeniowa komputerów podwaja
się co 24 miesiące.
Na zasadzie analogii, prawo Moore'a stosuje
się też do wielu innych parametrów sprzętu
komputerowego (z innym okresem), jak np.
do:
• pojemności dysków twardych
• rozmiarów RAM
• ilości tranzystorów w stosunku do
powierzchni układu
• stosunku mocy obliczeniowej do kosztu
• przepustowości sieci
Pytanie:
Czy prawo Moore’a wygasa?
Grafen
W 2001 holenderscy uczeni zbudowali
tranzystor składający się z jednej nanorurki
węglowej:
- rozmiar jeden nanometr
- zmiana stanu (włączony/wyłączony)
wymaga tylko jednego elektronu
Czyli:
- dalsza miniaturyzacja
- układy miliony razy szybsze
Grafen - substancja z węgla o grubości
jednego atomu - najcieńszy materiał, jaki
tylko można sobie wyobrazić.
• lepiej niż miedź przewodzi ciepło i
elektryczność
• jest sto razy mocniejszy niż stal
• jako półprzewodnik w wielu zadaniach
spisuje się lepiej niż krzem
Koncern IBM - nowa generacja procesorów,
węglowe nanorurki (CNT - carbon
nanotubes).
Naukowcy IBM opracowali nową metodę
"hurtowego" osadzania węglowych nanorurek
na podstawie procesora. Dzięki niej możliwe
jest jednorazowe, precyzyjne osadzenie
ponad 10 tys. tranzystorów wykonanych z
CNT.
Różne parametry procesora –c.d.
2) częstotliwość taktowania (od 5 MHz w
1980 do ok. 3 GHz)
Zegar systemowy:
- dostarczanie aktualnego czasu i daty do
komputera
- dostarczanie sygnałów
synchronizujących działanie podzespołów
komputera (z dokładnością do tysięcznych
części sekundy)
Różne parametry procesora –c.d.
3) liczba rdzeni:
- procesory dwurdzeniowe (Dual-Core)
- procesory czterordzeniowe (Quad-Core)
- procesory sześciordzeniowe (Six-Core)
- procesory ośmiordzeniowe
Ilość rdzeni wpływa znacząco na
wydajność, ale:
nie automatycznie!
Różne parametry procesora –c.d.
4) Ilość pamięci cache.
Mechanizm, w którym ostatnio pobierane dane,
dostępne ze źródła o wysokiej latencji i niższej
przepustowości, są przechowywane w pamięci o
znacząco lepszych parametrach. Overwriting.
Dwa lub trzy poziomy pamięci cache:
• L1 (Level 1 – w kB lub MB), najmniejsza,
najszybsza
• L2 (kB lub MB)
• L3 (MB)
Różne parametry procesora –c.d.
5) Rozmiar (długość) słowa maszynowego.
Słowo maszynowe to ilość danych (w bitach lub
bajtach), którą procesor może przetwarzać
jednorazowo (inaczej: długość słowa, na
którym wykonywane są podstawowe operacje
obliczeniowe).
Większość procesorów w PC jest
przeznaczonych dla 64 bitowych słów, tzn.
dane wędrują w procesorze i między
procesorem a pamięcią w 8 bajtowych
kawałkach. Możliwości adresowania.
Różne parametry procesora –c.d.
6) TDP (Thermal Design Power)
Współczynnik do szacowania wydajności
termicznej chłodzenia.
Również: jako wskaźnik mocy pobieranej
przez procesor.
Inne pojęcia związane z procesorami
• Cool’n’Quiet - technologia mająca w
założeniu ograniczenie ilości energii
pobieranej przez procesor. Działa na
zasadzie dynamicznej zmiany
częstotliwości taktowania procesora oraz
jego napięcia zasilania w zależności od
zapotrzebowania na moc obliczeniową.
We wszystkich procesorach AMD
Inne pojęcia związane z procesorami –
c.d.
• SpeedStep, Enchanced Intel SpeedStep
Technology - Technologia mająca za
zadanie ograniczyć moc pobieraną przez
procesory firmy Intel, gdy te nie są w pełni
obciążone. SpeedStep działa analogicznie
do Cool’n’Quiet firmy AMD
Inne pojęcia związane z procesorami –
c.d.
• Turbo-Boost - ma za zadanie podnieść
częstotliwość taktowania procesora
ponad jego domyślny maksymalny zegar w
momencie, gdy niektóre z elementów CPU
nie są wykorzystane.
Cecha procesorów firmy Intel z rodzin
Core (i3/i5/i7)
Potrafi się przyczynić do istotnego wzrostu
wydajności, zatem jest cechą znaczącą.
Inne pojęcia związane z procesorami –
c.d.
• Hyper-Threading - symultaniczna
wielowątkowość; kolejne unikatowe
rozwiązanie w procesorach firmy Intel.
HT umożliwia uruchomienie na
pojedynczej jednostce wykonawczej
procesora - jednym rdzeniu - dwóch zadań
jednocześnie.
Producenci układów scalonych
Intel – twórca m.in. mikroprocesorów z
rodziny x86. Niektóre produkty:
 Pentium wersje podstawowe 2, 3, 4
 Pentium – wersje M (do laptopów)
 Pentium – wersja D (dwurdzeniowa)
 Celeron – wersje M (do laptopów) i D
 Itanium
Core, Core 2 (procesor dwu i czterordzeniowy)
 Intel Core i3, i5, i7
Producenci układów scalonych – c. d.
AMD (Advanced Micro Devices) :
 seria K6, K6-2, K6-III







Duron
Athlon XP
Athlon 64, Athlon 64 X2
Phenom
Turion 64
Opteron
Sempron
Pamięć (Memory)
Rodzaje pamięci:
 RAM
 pamięć typu cache
 rejestry
 ROM
 pamięć typu Flash
RAM (Random Access Memory)
RAM – w niej przechowywane są aktualnie
wykonywane programy i dane do tych programów
oraz wyniki ich pracy.
Główne cechy pamięci RAM:
 ulotna – zawartość jej jest tracona kilka sekund
po zaniku zasilania
 stosowana głównie jako pamięć operacyjna
komputera, ale też jako pamięć różnych jego
komponentów (procesorów specjalizowanych,
kart graficznych, dźwiękowych, danych
sterowników mikroprocesorowych, itp.)
RAM (Random Access Memory)
• pamięć półprzewodnikowa. Składa się z
obwodów wtopionych w chipy.
Rodzaje RAMu ze względu na sposób
umieszczania obwodów:
- SIMMs (Single In-line Memory Modules)
- DIMMs (Dual In-line Memory Modules)
- RIMMs (Rambus In-line Memory Modules)
Rodzaje RAM, ze względu na sposób
doładowywania
• Zwykła DRAM (Dynamiczna – Dynamic RAM)
regularne doładowywanie, w trakcie
którego niedostępna dla procesora
• Szybsza SRAM (Statyczna – Static RAM)
nie wymaga doładowania, droższe chipy
• SDRAM (Synchroniczna –Synchronous
DRAM)
zegar systemowy synchronizuje
odpowiednio doładowania
Rozwój modułów pamięci używanych
w komputerach PC
Wygląd
wielkość naturalna na monitorze 17"
(1024x768)
Obudowa
Pamięć
Użycie
Rok
DIP
PC, XT, AT
1981
SIPP
286, AT, 386
1983
SIMM (30pinowe)
Niektóre 286, 1994
386, 486
SIMM (72pinowe)
PS/2, 486,
Pentium,
AMD K6, AMD
K5
1996
DIMM
SDR SDRAM
Pentium II,
Pentium III,
Pentium IV i
1997
Rozwój modułów pamięci używanych
w komputerach PC
Wygląd
wielkość naturalna na monitorze 17"
(1024x768)
Obudowa
Pamięć
RIMM
Rambus
Użycie
Pentium IV – po
niecałym roku
produkcji
wycofane z
powodu opłat
licencyjnych
oraz mniejszej
niż zamierzano
wydajności
Rok
1999
Rozwój modułów pamięci używanych
w komputerach PC
Wygląd
wielkość naturalna na monitorze 17"
(1024x768)
Obudowa
Pamięć
Użycie
DIMM
DDR
Pentium IV,
Athlon, Duron,
Sempron
DIMM
DDR2
Pentium IV,
Pentium D, Intel
Core 2, Athlon 64
AM2, Sempron
AM2, Intel Atom
Rok
1999
2003
Rozwój modułów pamięci używanych
w komputerach PC
Wygląd
wielkość naturalna na monitorze 17"
(1024x768)
Obudowa
Pamięć
Użycie
Rok
DIMM
DDR3
Intel Core i7,
Intel Core i5
Intel Core i3
Intel Core 2
Quad Intel Core
2 Duo AMD
Phenom II, AMD
Athlon II
2007
DIMM
DDR4
Intel, AMD
2014
Różne współczesne skróty –
co znaczą?
DDR SDRAM – Double Data Rate SDRAM
Zwykle spotyka się:
 DDR2 (napięcie zasilania 1,8 V,
240 wyprowadzeń)
 DDR3 (produkowane w procesie
technologicznym 90 nanometrów,
standardowe napięcie zasilania 1,5 V)
 DDR4 (technologia 20 nanometrów,
napięcie 1,2 V)
Zależność od płyty głównej.
Ważne parametry RAM
• Wielkość (obecnie w GB)
• Prędkość (mierzona w MHz lub
nanosekundach)
Adresowanie pamięci
Adres pamięci
Adres pamięci - unikatowy identyfikator dla
części jednostkowej pamięci komputera, w
której procesor może zachować pewną ilość
danych do późniejszego wykorzystania.
- Pamięć fizyczna odnosi się do sprzętu.
- Pamięć logiczna i wirtualna,
reprezentująca koncepty oprogramowania.
Np. pamięć wirtualna na procesorach 32bitowych może mieć nawet 4 GB.
Adresowanie pamięci
Słowo maszynowe a wirtualne adresy
pamięci.
• np. komputer 32 – bitowy
może mieć przestrzeń adresową
wielkości 232=4294967296 bajtów,
tj. ok. 4 gigabajtów.
• komputer o architekturze 64 bitowej może
zaadresować 264 bajtów (16 eksabajtów),
ilość pamięci uważaną za praktycznie
nieskończoną
Adresowanie pamięci
Każde miejsce w pamięci ma adres! Np.
 blok danych
 instrukcja
 program
 wyniki obliczeń
System (jaki???) automatycznie tworzy i utrzymuje
tabele katalogów, które dostarczają adresy
pierwszych znaków wszystkich danych.
Po skończeniu przetwarzania – zwalnia pamięć dla
następnych.
Rejestry
Rejestry procesora – komórki pamięci
o niewielkich rozmiarach (bity),
umieszczone wewnątrz procesora,
do przechowywania:
- tymczasowych wyników obliczeń
- adresów alokacji w pamięci operacyjnej i innych
Rejestry - najwyższy szczebel w hierarchii pamięci,
najszybszy z rodzajów pamięci komputera,
najdroższy, realizowany zazwyczaj jako
tablica rejestrów (ang. register file)
Rejestry
Liczba rejestrów zależy od zastosowania
procesora (jedno z kryteriów podziału
procesorów na klasy CISC i RISC), np.:
- prosty mikroprocesor – jeden rejestr
danych (tzw. akumulator)
- procesory w PC – kilkanaście
- procesory w serwerach – kilkaset (np.
Itanium – 256 rejestrów)
Podział rejestrów ze względu na
zastosowanie
• rejestry danych – do przechowywania danych
całkowitoliczbowych
• rejestry adresowe – do przechowywania adresów
i uzyskiwania dostępu do pamięci
• rejestry zmiennoprzecinkowe – do wykonywania
obliczeń na liczbach zmiennoprzecinkowych
(często w FPU)
• rejestry instrukcji – do przechowywania obecnie
przetwarzanej instrukcji
• inne (specjalne, stałych, wektorowe itd.)
Pamięć ROM
ROM (Read Only Memory – tylko do odczytu)
– pamięć stała komputera, w której są
przechowywane pewne dane i programy,
np. ważne fragmenty oprogramowania
systemowego, jak
- procedury BIOSu (Basic Input Output
System
- POST (Perform a Power-On Self Test)
Rodzaje pamięci ROM
Ze względu na metodę zapisu najpopularniejsze
rodzaje pamięci ROM to:
• ROM (MROM) - pamięci tylko do odczytu. Ten typ
pamięci programowany jest w trakcie procesu
produkcyjnego
• PROM (ang. Programmable ROM) programowalna pamięć tylko do odczytu. Jest to
pamięć jednokrotnego zapisu.
• EPROM(ang. Erasable Programmable ROM) kasowalna pamięć tylko do odczytu.
Rodzaje pamięci ROM
• EEPROM (ang. Electrically Erasable
Programmable ROM) - pamięć kasowalna
elektrycznie. Wykonywana w różnych postaciach,
różniących się sposobem organizacji kasowania i
zapisu.
• Flash EEPROM - rodzaj pamięci EEPROM, w
których kasowanie odbywa się jednocześnie dla
określonej w danym modelu części pamięci.
Obecnie większość BIOS-ów zapisywana jest w
pamięciach typu EEPROM, co umożliwia ich
późniejszą aktualizację.
Magistrale (szyny, ang. Buses)
Magistrala – zespół ścieżek elektronicznych w
komputerze, wiążący różne komponenty
komputera (CPU, pamięć, urządzenia WE-WY, itp)
Złożony z trzech współdziałających szyn:
• sterująca (kontrolna) – określa czy sygnał ma
zostać zapisany, czy odczytany;
• adresowa (rdzeniowa) – określa z jakiej komórki
pamięci sygnał ma zostać odczytany lub do jakiej
komórki pamięci sygnał ma zostać zapisany;
• danych – tą szyną przepływają dane.
magistrala wewnętrzna – przesyła dane
wewnątrz CPU
magistrala systemowa – przesyła dane
między CPU a pamięcią
jeden z najważniejszych elementów systemu
komputerowego.
Łączy ona w bezpośredni sposób
najistotniejsze podzespoły naszego
komputera, takie jak: procesor, płyta
główna, pamięć RAM oraz różne dodatkowe
karty rozszerzeń.
Magistrale (szyny, ang. Buses)
• FSB (Front Side Bus) - magistrala łącząca
procesor z kontrolerem pamięci
• BSB (Back Side Bus) – przesyła dane między CPU i
zewnętrzną cache
Jak pracuje CPU?
Typowe składniki CPU:
• Arytmometr (ALU – Arithmetic Logic Unit)
wykonuje operacje arytmetyczne i logiczne na
danych.
Występuje we wszystkich mikroprocesorach i
układach CPU
(np. w GPU – jednostce przetwarzania graficznego,
w kartach graficznych nVidia, ATI, w FPU –
jednostce obliczeń zmiennopozycyjnych, w karcie
dźwiękowej Sound Blaster, itd.)
Typowe składniki CPU:
• Układ kontrolny (Control Unit)
Część CPU, która koordynuje jego operacje
(kieruje ruchem elektronów w CPU).
Otrzymuje instrukcje z modułu
dekodującego i w oparciu o nie, poleca ALU,
co i w jakiej kolejności wykonać
Typowe składniki CPU:
• Rejestry – tymczasowe miejsce w CPU,
gdzie tuż przed przetworzeniem znajduje
się każdy fragment danych, każda
instrukcja programu itp.
ALU używa rejestrów do magazynowania
danych, przechowywania wyników
pośrednich i końcowych wyników
przetwarzania.
Typowe składniki CPU:
• Układ dekodujący (Decode Unit)
Tłumaczy instrukcje na formę, która może
być przetwarzana przez arytmometr i
magazynowana w rejestrach.
Pobiera instrukcje z układu
sprowadzającego z wyprzedzeniem i
tłumaczy tak, żeby układ kontrolny
„zrozumiał”
Typowe składniki CPU:
• Układ sprowadzający z wyprzedzeniem
(Prefetch Unit).
„Zamawia” dane z RAMu i pamięci Cache z
wyprzedzeniem, opierając się na zadaniach,
które są aktualnie wykonywane.
Po pierwsze: ustawia zadania w odpowiedniej
kolejności.
Po drugie: pozwala unikać opóźnień,
spowodowanych zwykle czekaniem na niektóre
urządzenia.
Typowe składniki CPU:
• Wewnętrzna cache – do przechowywania
najczęstszych danych i instrukcji
• Układ interfejsowy (Bus Interface Unit)
miejsce, gdzie dane i instrukcje wchodzą i
wychodzą do CPU, po drodze z lub do RAM
• FPU (Floating Point Unit) - koprocesor,
jednostka zmiennoprzecinkowa.
Układ scalony, wspomagający procesor w
obliczeniach zmiennoprzecinkowych.
Wydajność komputerów
FLOPS (ang. Floating point Operations Per
Second)
– liczba operacji zmiennoprzecinkowych na
sekundę,
- jednostka wydajności komputera
- dokładniej: wydajności układów
realizujących obliczenia
zmiennoprzecinkowe (FPU)
Wydajność komputerów
Stosuje się odpowiednie przedrostki układu
SI, np.:
 1 MFLOPS=1 milion FLOPS-ów
 1 GFLOPS=1 miliard FLOPS-ów
 1 TFLOPS=1 bilion FLOPSów
 1 PFLOPS=1 biliard FLOPS-ów
Superkomputery
• TOP500 – strona internetowa, przedstawiająca
listę 500 superkomputerów uzyskujących
najlepsze wyniki w teście LINPACK.
• Lista jest aktualizowana dwa razy w ciągu roku i
prezentowana na dwóch konferencjach
naukowych.
Pokazany jest też ogólny trend, pokazujący podwajanie się
wyników superkomputerów średnio co 14 miesięcy,
zgodnie z prawem Moore’a.
Aktualny rekordzista, Thianhe-2, uzyskał wynik ponad
560 tysięcy razy większy niż rekordzista z 1993 roku, CM-5.
Superkomputery
Pierwsza czwórka z 43. rankingu 06/2014
• Tianhe-2 (Droga Mleczna-2) - 33,86 PFLOPS
Chińska Republika Ludowa
• Titan, USA - 17,59 PFLOPS
• Sequoia- 17,17 PFLOPS, wyprodukowany
przez IBM. Posiada 1,6 petabajta pamięci
operacyjnej i zużywa 7,89 MW mocy
• K computer, Japonia - 10,51 PFLOPS
Nasz mały sukces 
1. Klaster SuperNova,
Wrocławskie Centrum SieciowoSuperkomputerowe
miejsce 360 na liście Top500
w listopadzie 2011r (67,54 TFLOPS)
2. W Narodowym Centrum Badań Jądrowych w
Świerku pod Warszawą powstaje największy
superkomputer w Polsce.
W połowie 2015 roku maszyna osiągnie wydajność
500 Tflopsów.
• Prometheus 38. na świecie – polski
superkomputer najwyżej w historii w
rankingu TOP500
http://www.agh.edu.pl/osiagniecia/info/ar
ticle/prometheus-38-na-swiecie-polskisuperkomputer-najwyzej-w-historii-wrankingu-top500/
https://www.top500.org/lists/2016/06/
Na opublikowanej 16 listopada 2015 r.
liście TOP500 – najpotężniejszych
komputerów na kuli ziemskiej –
najszybszy superkomputer w historii
Polski, Prometheus z Akademickiego
Centrum Komputerowego CYFRONET AGH,
uplasował się na rekordowo wysokim,
38 miejscu. To najwyższa pozycja naszego
kraju w historii tego zestawienia.
Inne polskie rekordy
38 – ACK Cyfronet AGH, Prometheus (2347
Tflops)
160 – Centrum Informatyczne Trójmiejskiej
Akademickiej Sieci Komputerowej, Tryton
(636 Tflops )
179 – Wrocławskie Centrum Sieciowo
Superkomputerowe, Bem (636 Tflops)
216 – Narodowe Centrum Badań Jądrowych
(490) TFlops)
385 – ACK Cyfronet AGH, Zeus (374 Tflops)
Ciekawostka najnowsza
• Met Office, czyli narodowy serwis meteorologiczny
Wielkiej Brytanii, potwierdził informacje o budowie
superkomputera tak dokładnego, że będzie w stanie
podawać informacje o pogodzie na konkretnej ulicy.
• Superkomputer o nazwie Cray XC40 ma powstać w Exeter
w południowej Anglii w przyszłym roku, a na pełnych
obrotach zacznie działać w okolicach 2017 r. Pracuje 13
razy szybciej i będzie w stanie produkować modele
meteorologiczne z dokładnością do 300 m co godzinę, a
nie, jak do tej pory, co trzy. Poza tym nowy komputer
to kawał sprzętu - 480 tys. procesorów będzie mielić
dane z prędkością 16 000 trylionów operacji na sekundę i
ma ważyć 154 tony. Brytyjczycy zapłacą za jego budowę
Tianhe-2
Nova i Supernova - WCSS
Wydajność komputerów
Inne parametry (przykładowe),
opisujące wydajność:
 MIPS (miliony operacji całkowitych na
sekundę)
 Szybkość współpracy z pamięcią
 Spójność pamięci cache
 IPC (Instructions per Cycle)
Cykl maszynowy
Cykl, podczas którego następuje wymiana
danych między procesorem a pamięcią lub
układem wejścia-wyjścia (odczyt albo zapis)
W każdym cyklu maszynowym następuje
wysłanie:
• adresu na magistralę adresową
• danych na magistralę danych
• sygnałów sterujących, informujących o
rodzaju cyklu, na magistralę sterującą
Cykl maszynowy
W zależności od rodzaju przesłania rozróżnia
się cykl maszynowy:
• pobrania kodu operacji
• odczytu i zapisu pamięci
• odczytu i zapisu wejścia-wyjścia
• przyjęcia, przerwania itd.
Jeden cykl maszynowy wykonywany jest w
czasie jednego (lub kilku) taktów zegara.
Cykl maszynowy
Kiedy CPU przetwarza pojedynczy fragment
mikrokodu – cykl maszynowy.
Składa się z 4 operacji, w dwóch częściach:
- faza instrukcji
1) Instrukcja programu albo danych jest
pobierana z RAMu lub Cache
2) Instrukcja jest dekodowana tak, aby była
zrozumiana przez ALU
Cykl maszynowy
- faza wykonania
1) ALU wykonuje odpowiednią instrukcję
2) wynik jest przechowywany w rejestrach
bądź w pamięci
1)
Faza
wykonania
1)
2)
Faza
instrukcji