Issuu on Google+

FPIMS

Procesor i jego podzespoły

2012


Spis treści • • •

1 Budowa

2 Rozmiary elementów

3 Wielordzeniowość i procesory pomocnicze • •

4 Jednostka centralna 5 Rozkazy procesora •

6 Architektury

7 NajpotęŜniejsze komputery i ich procesory

Procesor (ang. processor), takŜe CPU (ang. Central Processing Unit) – urządzenie cyfrowe sekwencyjne,, które pobiera dane z pamięci,, interpretuje je i wykonuje jako rozkazy.. Wykonuje on ciąg prostych operacji (rozkazów) wybranych ze zbioru operacji podstawowych określonych zazwyczaj przez producenta procesora jako lista rozkazów procesora. procesora Procesory (zwane mikroprocesorami) wykonywane są zwykle zw jako układy scalone zamknięte w hermetycznej obudowie, często posiadającej złocone wyprowadzenia (stosowane ne ze względu na odporność na utlenianie). Ich sercem jest monokryształ krzemu,, na który naniesiono techniką fotolitografii szereg warstw półprzewodnikowych,, tworzących, w zaleŜności od zastosowania, sieć ieć od kilku tysięcy do kilkuset milionów tranzystorów. Połączenia wykonane są z metalu (aluminium, miedź).

Jedną z podstawowych cech procesora jest długość (liczba bitów) słowa,, na którym wykonywane są podstawowe operacje obliczeniowe. Jeśli słowo ma 64 bity, mówimy, Ŝe procesor jest 64-bitowy. Innym waŜnym parametrem określającym procesor jest szybkość, z jaką wykonuje on rozkazy. Przy danej architekturze procesora, szybkość ta w znacznym stopniu zaleŜy od czasu trwania pojedynczego pojedynczeg taktu.


Budowa W funkcjonalnej strukturze procesora moŜna wyróŜnić takie elementy, jak: 

zespół rejestrów do przechowywania danych i wyników, rejestry mogą być ogólnego przeznaczenia lub mają specjalne przeznaczenie,



jednostkę arytmetyczną (arytmometr) do wykonywania operacji obliczeniowych na danych,



układ sterujący przebiegiem wykonywania programu,



inne układy, w które producent wyposaŜa procesor w celu usprawnienia jego pracy.

Rozmiary elementów Jednym z parametrów procesora jest rozmiar elementów budujących jego strukturę. Im są one mniejsze, tym niŜsze jest zuŜycieenergii, napięcie pracy oraz wyŜsza moŜliwa do osiągnięcia częstotliwość pracy. Współczesne procesory uŜywane w komputerach osobistych wykonywane są w technologii pozwalającej na uzyskanie elementów o rozmiarach 45 i 32 nm, pracujących z częstotliwością kilku GHz. Intel w 2012 roku wydał procesory wykonane w rozmiarze technologicznym 22 nm (Ivy Bridge). Aby ograniczyć straty związane z powstawaniem defektów w tak małych strukturach, fabryki procesorów muszą posiadać pomieszczenia o niezwykłej czystości, co jest bardzo kosztowne.


Wielordzeniowość i procesory pomocnicze Współcześnie większość procesorów ma wielordzeniową budowę. Pierwszym procesorem wielordzeniowym ogólnego przeznaczenia był procesor Power 4 firmy IBM wprowadzony na rynek w roku 2001. Pierwszymi procesorami wielordzeniowymi architektury x86 były wersje procesorów Opteron firmy AMD i Pentium Extreme Edition firmy Intel wprowadzone w kwietniu 2005 roku. Popularnym modelem firmy Intel, który kontynuował ten trend był Intel Pentium D. Prawdziwym przebojem stał się dopiero Intel Core 2 Duo zbudowany na bazie architekturyConroe (65 nm). Najszybsze dziś modele mają rdzeń taktowany zegarem 3,33 GHz (C2D E8600). Wymieniony procesor oparto o architekturę Penryn i wykonano w procesie technologicznym 45 nm (tj. największa długość kanału tranzystora wynosi 45 nm).

Największy konkurent Intela, czyli AMD, wprowadził do sprzedaŜy popularny model procesora dwurdzeniowego o nazwie Athlon 64 X2. Obie firmy mają dziś w ofercie takŜe modele czterordzeniowe (niektóre Core i5 oraz Core i7 Intela i AMD Athlon II X4 oraz Phenom II X4 AMD) oraz sześciordzeniowe (Phenom II X6 oraz Core i7 serii 9x0) przeznaczone do komputerów klasy desktop. Dostępne procesory do zastosowań serwerowych mogą mieć do 8 (Intel Xeon), lub nawet 16 rdzeni (AMD Opteron) (stan na marzec 2012). Przewiduje się, Ŝe w przyszłości, przez co najmniej kilka następnych lat, liczba rdzeni w procesorach wielordzeniowych dostępnych na rynku będzie się podwajać w tempie podobnym jak liczba tranzystorów w pojedynczym układzie, czyli zgodnie z prawem Moore'a ok. co 2 lata. Projektanci procesorów próbują takŜe innych metod zwiększania wydajności procesorów, jak np. Hyper-Threading, gdzie kaŜdy rdzeń moŜe się zachowywać jak dwa procesory logiczne, dzielące między siebie zasoby pamięci podręcznej i jednostek wykonawczych. Gdy jeden z konkurujących ze sobą procesów pozostawia niewykorzystane zasoby, proces przypisany do drugiego procesora logicznego moŜe ich uŜyć, co w sprzyjających okolicznościach moŜe prowadzić do sumarycznego wzrostu wydajności o kilka do kilkunastu procent. W roku 2007 Intel zaprezentował testy układu scalonego wyposaŜonego w 80 rdzeni ogólnego przeznaczenia, który osiągnął wydajność ponad 1 TFlops. Komputer oprócz procesora głównego (CPU) ma procesory pomocnicze: obrazu (GPU, najnowsze konstrukcje pozwalają na integrację CPU z GPU w APU), dźwięku, koprocesoryarytmetyczne (od lat 90. na ogół są zintegrowane z CPU).


Jednostka centralna Procesor bywa teŜ nazywany jednostką centralną (poprzez tłumaczenie ang. CPU, Central Processing Unit w sposób niemal dosłowny). Część uŜytkowników jednostkę centralną kojarzy z handlowym terminem określającym jednostką systemową komputera złoŜoną z elementów takich jak procesor, płyta główna, karty rozszerzeń, pamięć operacyjna, dysków twardych zamkniętych we wspólnej obudowie, zazwyczaj nie obejmującą takich urządzeń peryferyjnych jak monitor, klawiatura czy drukarka. Rozkazy procesora Do typowych rozkazów wykonywanych przez procesor naleŜą: 







kopiowanie danych 

z pamięci do rejestru



z rejestru do pamięci



z pamięci do pamięci (niektóre procesory)



(podział ze względu na sposób adresowania danych)

działania arytmetyczne 

dodawanie



odejmowanie



porównywanie dwóch liczb



dodawanie i odejmowanie jedności



zmiana znaku liczby

działania na bitach 

iloczyn logiczny – AND



suma logiczna – OR



suma modulo 2 (róŜnica symetryczna) – XOR



negacja – NOT



przesunięcie bitów w lewo lub prawo

skoki 

bezwarunkowe



warunkowe

Instrukcje procesora identyfikowane są na podstawie binarnego kodu maszynowego, jednak dany kod nie musi oznaczać wykonywania tych samych operacji przez procesor do tego samego (lub innego) zadania.


W tym celu, w procesorach niedostępnych masowo moŜna spotkać moŜliwość programowania rozkazów CPU, czyli mikroprogramowania. Rozwiązanie takie daje pełniejszą kontrolę nad procesorem oraz moŜliwość np. zwiększenia wydajności procesora w pewnych zastosowaniach itp., w znacznie większym stopniu niŜ w przypadku np. dostępnych powszechnie procesorów, w których kody maszynowe są na stałe przypisane do listy wykonywanych mikroinstrukcji.

4-bitowe– słowa, adresy i inne dane to takie informacje, które mieszczą się na 4 bitach pamięci, co jest równe połowie oktetu. 4-bitowe architekturyCPU czy ALU są architektami uŜywającymi takiej właśnie wielkości rejestrów, szyny adresowej, szyny danych. Architektura systemu przetwarzania danych komputera oparta na 4-bitowych jednostkach informacji. Oznacza to, ze za kaŜdym odczytem lub zapisem do pamięci operacyjnej komputera lub w wewnętrznych transferach procesora uŜywa się dokładnie czterobitowych porcji danych. Ze względu na ograniczoną do 16 adresów, architektury 4-bitowej nie odnosi się do przestrzeni adresowej. Procesor Intel 4004, pierwszy komercyjnie dostępny procesor na pojedynczym układzie scalonym drugi na świecie (po F14 CADC) mikroprocesor - miał architekturę 4-bitową, 12-bitową przestrzeń adresową oraz 8 i 16 bitowe rozkazy (architektura harwardzka). Architektura 4-bitowa stosowana jest w kalkulatorach gdzie podstawową jednostką danych jest cyfra dziesiętna zapisana w 4 bitach, oraz prostych mikrokontrolerach. Pierwsze układy o architekturze 4-bitowej, mikroprocesor Intel 4004 i mikrokontroler Texas Instruments TMS1000, powstały dla kalkulatorów.

8-bitowe– słowa, adresy i inne dane to takie informacje, które mieszczą się na 8 bitach pamięci, co jest równe jednemu oktetowi. 8-bitowe architekturyCPU czy ALU są architekturami uŜywającymi takiej właśnie wielkości rejestrów, szyny adresowej, szyny danych.

Oznacza to, Ŝe za kaŜdym odczytem lub zapisem do pamięci operacyjnej komputera oraz w wewnętrznych transferach procesora uŜywa się 8-bitowych porcji informacji. W systemach 16-, 32czy 64-bitowych uŜywa się odpowiednio co najwyŜej 16-, 32- i 64-bitowych porcji danych. 8 bitów pozwala na określenie do 28 = 256 róŜnych informacji, co jest stanowczo za mało przy adresowaniu pamięci komputera, dlatego procesory 8-bitowe, mają zazwyczaj 16-bitową szynę adresową (adresację komórek pamięci) - czyli kaŜda z komórek ma adres wyraŜony za pomocą 16 bitów (np. MOS 6502, Z80, 8080). Przy 16 bitach przestrzeń adresowa rośnie do 64 kilobajtów (216). Procesory te mają zazwyczaj teŜ rejestry 16 bitowe uŜywane do adresowania pamięci oraz instrukcje umoŜliwiające wykonywanie prostych przeliczeń na tych rejestrach (zwiększanie, zmniejszanie, dodawanie). Pierwszym szeroko stosowanym procesorem 8-bitowym był Intel 8080, stosowany na przełomie lat 70. i 80. XX w. Stosowane były teŜ układy Z80 (kompatybilny z 8080), 6800 oraz 6502, które znalazły szerokie zastosowanie w komputerach domowych i grach wideo w latach 70. i 80. XX wieku.


Wiele z 8-bitowych procesorów lub mikrokontrolerów jest realizowana na ówczesnych procesorach np. kompletny komputer (procesor, pamięć, układy pomocnicze) w jednym układzie scalonym zgodnym z np. Z80.

16-bitowe– słowa, adresy i inne dane to takie informacje, które mieszczą się na 16 bitach pamięci, co jest równe dokładnie dwóm oktetom. 16-bitowe architekturyCPU czy ALU są architektami uŜywającymi takiej właśnie wielkości rejestrów, szyny adresowej, szyny danych.

Termin architektura 16-bitowa nie musi odnosić się do długości szyny danych oraz moŜliwości adresowych takiego procesora (długości szyny adresowej). Przykładowo: 16-bitowy procesor 8088 posiada 8-bitową szynę danych (co oznacza, Ŝe podczas jednego cyklu odczytu z pamięci moŜe odczytać 8 bitów) oraz 20-bitową szynę adresową (co z kolei umoŜliwia mu adresowanie 220, czyli megabajt pamięci). Pierwszym na świecie mikroprocesorem 16-bitowym był TMS9900 wyprodukowany przez firmę Texas Instruments w 1976 roku. Procesory 16-bitowe stosunkowo dawno wyszły z uŜycia domowego, obecnie stosowane są głównie w sterownikach przemysłowych i systemach wbudowanych. Procesory wykonane w tej architekturze to np.: • • •

Intel : seria 8086 aŜ do 80286 Zilog : seria Z800 AMD : AM29116

32-bitowe– słowa, adresy i inne dane to takie informacje, które mieszczą się na 32 bitach pamięci, co jest równe 4 oktety. 32-bitowe architekturyCPU czy ALU są architekturami uŜywającymi takiej właśnie wielkości rejestrów, szyny adresowej, szyny danych.

Termin architektura 32-bitowa nie musi odnosić się do długości szyny danych oraz moŜliwości adresowych takiego procesora (długości szyny adresowej). Przykładowo procesory klasy Pentium Pro lub wyŜszej mają zewnętrzną szynę danych 64 bitową, natomiast procesory i386SX miały zewnętrzną szynę danych tylko 16 bitową. W odniesieniu do moŜliwości adresowania pamięci, 32 bity określają ilość moŜliwych do zaadresowania komórek. Istnieje 232 wariacji 32-bitowego adresu, czyli bezpośrednio moŜna adresować 4 294 967 296 (4 G) komórek pamięci. Jest to postęp w stosunku do architektury 16-bitowej. Nie oznacza to jednak absolutnego ograniczenia moŜliwości adresowych procesora 32-bitowego – moŜliwe jest zwiększenie przestrzeni adresowej np. przez zastosowanie segmentacji lub wirtualizacji pamięci, jak to miało miejsce w 16-bitowej architekturze. Wśród pierwszych systemów 32-bitowych wymienić warto IBM 360 z roku 1964 (mainframe) i VAX z roku 1977 (minikomputer). Pierwszym mikroprocesorem 32-bitowym był BELLMAC-32A zaprojektowany przez AT&TBell Labs w roku 1980, wprowadzony do sprzedaŜy w 1982. Później jego nazwa uległa zmianie na WE 32000. Znalazł on zastosowanie m.in. w pierwszym 32-bitowym laptopie. W tym czasie równieŜ firma Intel próbowała wprowadzić swój 32-bitowy procesor iAPX 432, jednak nie został on dobrze przyjęty poniewaŜ nie był tak opłacalnym zakupem jak MC68000.


W komputerach biurkowych klasy PC, architektura 32-bitowa jest uŜywana od czasów procesora i386 – bazują na niej niemal wszystkie stosowane obecnie w tych komputerach procesory. Do najnowszej generacji procesorów 32-bitowych uŜywanych w komputerach PC, zaliczyć moŜna AMD Athlon XP oraz Intel Pentium 4. Coraz szersze pole w komputerach PC zajmują jednak procesory 64-bitowe takie jak AMD Athlon 64 lub AMD Opteron. Procesory wykonane w architekturze 32-bitowej • • • • • • •

Intel: seria x86-32 (od 80386 aŜ do Intel Core i7), AMD: procesory zgodne z x86 (w tym m.in. 5x86, K5, K6, aŜ do Athlona znanego takŜe jako AMD K7) oraz rodzina 29k, ARM – róŜni producenci, w tym Intel StrongARM, Samsung S3C, Atmel AT91, Phillips LPC21xx, TI (Sun Microsystems): microSPARC, SuperSPARC, TurboSPARC HP: rodzina PA-RISC do PA7000 włącznie, Fujitsu: SPARC32, Motorola: rodzina 68k.

Mikroprocesor– układ cyfrowy wykonany jako pojedynczy układ scalony o wielkim stopniu integracji (LSI) zdolny do wykonywania operacji cyfrowych według dostarczonego ciągu instrukcji.

Mikroprocesor łączy funkcje centralnej jednostki obliczeniowej (CPU) w pojedynczym półprzewodnikowym układzie scalonym. Pierwszy mikroprocesor działał w oparciu o słowa 4-bitowe, dzięki czemu tranzystory tworzące jego obwody logiczne mogły zmieścić się w jednym układzie.

Mikroprocesor umoŜliwił rozwój mikrokomputerów w połowie lat 70. XX w. Przed tym okresem, elektroniczne CPU były konstruowane z zajmujących wiele miejsca indywidualnych urządzeń przełączających, z których kaŜde było odpowiednikiem zaledwie kilku tranzystorów. Poprzez zintegrowanie procesora w jeden lub kilka obwodów scalonych o coraz wyŜszej skali integracji (zawierających odpowiednik tysięcy lub milionów tranzystorów), stosunek moŜliwości do ceny procesora znacząco wzrósł. Od połowy lat siedemdziesiątych, dzięki intensywnemu rozwojowi układów scalonych, mikroprocesor stał się najbardziej rozpowszechnioną formą CPU, prawie całkowicie zastępując wszystkie inne.

Ewolucję mikroprocesora dobrze opisuje prawo Moore’a mówiące o wzroście wydajności na przestrzeni lat. Mówi ono, Ŝe złoŜoność układów scalonych (liczba tranzystorów), przy zachowaniu minimalnego kosztu składników, będzie się podwajać co 18 miesięcy. Stwierdzenie to zachowuje prawdziwość od czasu wczesnych lat 70. Począwszy od układów porównywalnych z prostymi kalkulatorami, mikroprocesory osiągały coraz wyŜszą moc obliczeniową, co w rezultacie doprowadziło do ich dominacji nad kaŜdą inną formą komputera.


Accelerated Processing Unit− zintegrowany układ scalony łączący w jednym układzie krzemowym centralny procesor i procesor graficzny. Układy typu APU trafiły na rynek w 2011 roku pod postacią zaprezentowanej 4 stycznia 2011 roku platformy AMD Fusion[1] oraz mającej premierę 6 stycznia mikroarchitekturySandy Bridge. NVidia projektuje konkurencyjne rozwiązanie znane pod nazwą NVidia Denver.

PPU(ang.Physics Processing Unit) – układ scalony, który śledzi wszystkie zdarzenia fizyczne (zderzenia, eksplozje, zachowanie płynów itp.), zadaniem PPU jest odciąŜenie głównego procesora od obliczania wyników takich zdarzeń. Według załoŜeń, układy tego typu mają być wykorzystywane w symulatorach oraz grach komputerowych. Tytułów korzystających z PPU obecnie jest bardzo mało, przykładem moŜe być GRAW Advanced Warfighter. Przykładem PPU jest procesor PhysX firmy AGEIAa. Dwaj najwięksi producenci kart graficznych: nVidia i ATI obiecali wydać sterowniki, które pozwolą wykorzystać procesory ich kart graficznych jako jednostki PPU. Pierwsze karty PPU ukazały się w 2006 roku. Dostępne obecnie informacje wskazują na to, Ŝe układ tego typu będzie składał się z około 125 milionów tranzystorów wykonanych w technologii 130 nm. W czasie Consumer Electronics Show2006, AGEIA zademonstrowała działającą kartę PPU. Komputer z zaistalowaną kartą PPU odtwarzał specjalnie napisane demo z prędkością 30 FPS, tak samo skonfigurowany komputer, ale bez karty PPU odtwarzał to samo demo z prędkością zaledwie 6 FPS.


NajpotęŜniejsze komputery świata Opublikowano 28. juŜ wydanie listy TOP500, na której wymieniono 500 najpotęŜniejszych superkomputerów na świecie. Na czele listy wciąŜ znajduje się komputer BlueGene/L produkcji IBM’a, który pracuje w Lawrence LivermoreNationalLabolatory w USA. Jego maksymalna zmierzona moc obliczeniowa wynosi 280,6 teraflopsa, czyli 280,6 biliona operacji na sekundę. Teoretycznie jednak moŜe on osiągnąć wydajność rzędu 367 teraflopsów. Na drugim miejscu nastąpiła zmiana. Obecnie znajduje się na nim maszyna Red Storm zbudowana przez Craya. Stojący w SandiaNational Laboratories superkomputer osiągnął wydajność 101,4 biliona operacji na sekundę. Trzecie miejsce, po spadku z drugiego, naleŜy do kolejnego produktu IBM’a o nazwie eServer Blue Gene Solution, który powstał na potrzeby Thomas J. Watson Research Center. Jego wydajność to 91,2 teraflopsów. Czwarte miejsce przypadło kolejnemu komputerowi z USA – ASC Purple, produkcji IBM’a. Znalazł się tam dzięki osiągnięciu 75,76 biliona operacji w ciągu sekundy. Dopiero na 5. miejscu napotykamy najpotęŜniejszy europejski komputer – MareNostrum z Barcelony. Maszyna autorstwa inŜynierów z IBM’a potrafi wykonać 62 biliony 630 miliardów operacji w ciągu sekundy. NajpotęŜniejszy superkomputer na świecie wykorzystuje 131 072 procesory z rodziny PowerPCIBM’a. Podobnie jest w innych maszynach autorstwa Błękitnego Giganta. Blue Gene Solution to 40 960 procesorów, ASC Purple korzysta z 12 208, a MareNostrum z 10 240 CPU. W pierwszej piątce tylko Red Storm wykorzystuje inne procesory. Są to 2,4-gigahercowe dwurdzeniowe Opterony. W superkomputerze mieści się ich 26 544. Największym producentem superkomputerów na świecie jest IBM. Zbudował on 236 (czyli 47,2%) maszyn z listy TOP500. Na drugim miejscu znajduje się Hewlett-Packard ze 158 (31,6%) komputerami, następnie SGI, które stworzyło 20 superkomputerów, później zaś Dell (18) oraz Cray (15). Najczęściej w superkomputerach wykorzystywane są układy Intela. Przede wszystkim kości zbudowane w oparciu o architekturę IA-32. Na świecie znajduje się 120 superkomputerów z listy TOP500 korzystających z tych procesorów. Drugą pod względem popularności jest architektura AMD x86_64, którą znajdziemy w 113 maszynach. Kolejne miejsce naleŜy znowu do Intela. Procesory EM64T zostały zastosowane w 108 maszynach. Na kolejnych miejscach znalazły się IBM-owskie procesory Power (91 superkomputerów) oraz IA-64 Intela (35 maszyn). Skoro juŜ o procesorach mowa, to warto wspomnieć, Ŝe większość superkomputerów z listy wykorzystuje od 513 do 1024 procesorów. Takich maszyn jest 192. W niewielu mniej, bo 185, znajdziemy od 1025 do 2048 CPU. Na liście znajdują się natomiast jedynie 4 komputery korzystające z 32 do 64 procesorów. Natomiast jeśli chodzi o największą liczbę jednostek centralnych to wszelkie rekordy bije BlueGene/L, który jest jedynym komputerem w przedziale od 64 000 do 128 000 CPU. Mimo to jego maksymalna wydajność jest jedynie dwuipółkrotnie mniejsza, niŜ wydajność wszystkich 192 maszyn z przedziału 513-1024 procesory. Najwięcej, bo aŜ 285 superkomputerów, nie ma przydzielonego stałego zadania. Oznacza to, Ŝe wykorzystywane są w wielu róŜnych celach, w tym wojskowych, gdzie słuŜą m.in. do symulacji wybuchów jądrowych. Równie dobrze jednak uŜywane są do badania oddziaływania róŜnych leków czy innych związków chemicznych na białka.


Przemysł półprzewodnikowy wykorzystuje 50 superkomputerów, a do zadań typowo akademickich zaprzęgnięto 46 maszyn. Finansami zajmuje się 29 tego typu maszyn, 17 słuŜy geofizykom, a kolejne 17 wykorzystywane jest do badań nad klimatem. Superkomputery korzystają przede wszystkim z róŜnych odmian systemu Linux. Takich maszyn jest aŜ 376. Z czołowej pięćsetki 86 komputerów wykorzystuje systemy uniksowe, a 32 – mieszane. Pod kontrolą systemów z rodziny BSD pracują 3 superkomputery, tyle samo co pod kontrolą Mac OS. Najwięcej superkomputerów znajduje się w Stanach Zjednoczonych. Jest ich tam 309. Drugie miejsce w tej klasyfikacji zajmują, ex aequo, Wielka Brytania i Japonia. Biorąc jednak pod uwagę moc obliczeniową, japońskie komputery są potęŜniejsze. W sumie wykonują one 286,674 biliona operacji na sekundę, podczas gdy brytyjskie "tylko” 186,420 biliona. Na trzecim miejscu znowu jest remis, tym razem pomiędzy Niemcami a Chinami. W obu tych krajach pracuje po 18 superkomputerów. Dwkrotnie bardziej wydajne są jednak te niemieckie (145 teraflopsów wobec 72 Tflops). Na czwartym miejscu uplasowała się Francja z 12 superkomputerami, a na piątym 10 indyjskich maszyn. Na liście TOP500 znalazły się komputery, których wydajność wynosiła co najmniej 2,736 teraflopsa. Nie zmieściła się na niej Ŝadna maszyna z Polski.


procesor