Procesor (CPU – Central Processing Unit)
Transkrypt
Procesor (CPU – Central Processing Unit)
Procesor (CPU – Central Processing Unit) informacje dodatkowe 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 Sid Bus) - magistrala łącząca procesor z kontrolerem pamięci • BSB (Back Side Bus) – przesyłachea 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, kazda 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. 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 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