Procesor

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
Procesor Intel Pentium (widok od dołu).
Procesor Intel Core i7-940 (widok od dołu), widoczne 1366 pól stykowych złącza LGA1366.
Pomieszczenie wysokiej czystości (Clean room) w fabryce procesorów.

Procesor (ang. processor), także CPU (ang. Central Processing Unit), GPU (ang. Graphics 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.

Procesory (zwane mikroprocesorami) wykonywane są zwykle jako układy scalone zamknięte w hermetycznej obudowie, często posiadającej złocone wyprowadzenia (stosowane 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ć od kilku tysięcy do kilku miliardó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 taktu.

Budowa[edytuj | edytuj kod]

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[edytuj | edytuj kod]

Jednym z parametrów procesora jest rozmiar elementów budujących jego strukturę. Im są one mniejsze, tym niższe jest zużycie energii, 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[edytuj | edytuj kod]

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. Dużą popularność zyskał dopiero Intel Core 2 Duo zbudowany na bazie architektury Conroe (65 nm).

CPU mają rdzenie taktowane zegarem nawet 4,4 GHz (np. AMD A10-6800K i i7-4790k), lecz nie występuje już wyraźny wzrost taktowania w kolejnych generacjach procesorów. Szybkość obliczeń jednak wzrasta dzięki zwiększaniu ilości tranzystorów i rdzeni w procesorach.

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. Procesory ośmiordzeniowe wprowadziło tylko AMD (seria FX). Dostępne procesory do zastosowań serwerowych mogą mieć do 10 (Intel Xeon), lub nawet 16 rdzeni (AMD Opteron)[a].

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 od kilku 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 (w szczególności komputer osobisty) oprócz procesora głównego (CPU) ma zwykle procesory pomocnicze: obrazu (GPU, najnowsze konstrukcje pozwalają na integrację CPU z GPU w APU), dźwięku, koprocesory arytmetyczne (od lat 90. na ogół są zintegrowane z CPU).

Jednostka centralna[edytuj | edytuj kod]

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 nieobejmującą takich urządzeń peryferyjnych jak monitor, klawiatura czy drukarka.

Rozkazy procesora[edytuj | edytuj kod]

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.

Zobacz też[edytuj | edytuj kod]

WiktionaryPl nodesc.svg
Zobacz hasło procesor w Wikisłowniku
Wikibooks-logo.svg
Zobacz publikację na Wikibooks:
Od lamera do hakera/Procesor

Uwagi

  1. Stan na marzec 2012.

Linki zewnętrzne[edytuj | edytuj kod]