Procesor i jego architektura.
Procesor jest centralną częścią systemu komputerowego, ale czy wszyscy zdają sobie sprawę z tego, jakie zadania ten procesor właściwie powinien realizować? Otóż procesor musi:
Zapisywać dane - w pamięci lub module wejścia-wyjścia.
Pobierać rozkazy - w celu odczytania poleceń z pamięci.
Interpretować rozkazy - polecenia należy zdekodować, aby wiedzieć jakie operacje należy wykonać.
Pobierać dane - z pamięci lub modułu wejścia-wyjścia.
Przetwarzać dane - przeprowadzać na danych pewne operacje arytmetyczne lub logiczne.
Aby procesor miał możliwość wykonywania powyższych zadań musi dysponować małą pamięcią wewnętrzną, która wymagana jest do czasowego przechowywania danych i rozkazów (procesor musi np. pamiętać lokalizację poprzedniego rozkazu po to, by "odnaleźć" rozkaz następny).
Poniżej przedstawione są dwa rysunki, które ukazują bardzo uproszczoną budowę procesora. Rysunek 1 przedstawia trzy główne składniki procesora
Rejestry - część pamięci wewnętrznej uprzywilejowanej wykorzystywanej przez procesor do adresowania, odczytu danych, itp.
Jednostkę arytmetyczno-logiczną (ALU) - ta część procesora jest odpowiedzialna za wykonanie obliczeń i przetwarzanie danych.
Jednostkę sterującą (CU) - kieruje ona ruchem danych i rozkazów do/z procesora i steruje pracą ALU.
Komunikacja między procesorem a resztą systemu komputerowego odbywa się poprzez magistralę systemową, której poszczególne składniki (szyny danych, adresowa i sterowania) mogą, ale nie muszą być fizycznie od siebie odseparowane.
Nieco dokładniej strukturę wewnętrzną procesora przedstawia kolejny rysunek. Element określony jako wewnętrzna magistrala procesora zajmuje się przesyłaniem danych między różnymi rejestrami a ALU (w rzeczywistości ALU operuje jedynie na danych zaczerpniętych z wewnętrznej pamięci procesora) [1]. Rysunek przedstawia również elementy podstawowe ALU:
Na koniec zapamiętajmy, że to właśnie ALU jest "sercem" procesora. Rejestry są używane do przechowywania danych wewnętrznych w procesorze, a niektóre z nich zawieraj ą informacj e potrzebne do zarządzania porządkowaniem rozkazów (np. słowo stanu programu), pozostałe zawierają dane przeznaczone dla ALU, pamięci i modułów wejścia-wyjścia lub dane przekazane przez te jednostki. Wewnętrzne ścieżki danych są używane do przenoszenia danych pomiędzy rejestrami oraz między rejestrami a ALU. Zewnętrzne ścieżki danych łączą rejestry z pamięcią i modułami wejścia-wyjścia często za pomocą magistrali systemowej. Jednostka sterująca koordynuje wykonanie operacj i wewnątrz procesora. Procesor (CPU - centralna jednostka wykonawcza ang. Central Procesing Unit) to układ scalony, którego działanie polega na wykonywaniu instrukcji programów. Nadzoruje on i synchronizuje prace wszystkich urządzen w komputerze. Charakterystyczne cechy, które odróżniają procesory od siebie to:
architektura (CISC lub RISC)
liczba bitów przetwarzana w jednym takcie
częstotliwość taktowania podawana w MHz
Wszystkie współczesne procesory maja podobna architekturę oparta na superskalarnym jądrze RISC (architektura procesora o uproszczonej liście rozkazów). Jeszcze kilka lat temu procesory zaliczano do rodziny CISC (architektura procesora wykorzystująca złożoną listę rozkazów). Dzisiaj, dzięki zastosowaniu w nich techniki przekodowywania rozkazów, uzyskano ogromne zwiększenie wydajności procesora, a RISC-owa konstrukcja umożliwia stosowanie wysokich częstotliwości zegara.
Architektura Budowa procesora
Procesor (Central Procesing Unit) jest najważniejszym elementem komputera. Istnieje wiele różnych typów procesorów, ale prym wiodą produkty kompatybilne z rodziną x86 pochodzące od firm Intel, AMD i ostatnio VIA. Wykonuje on wszelkiego rodzaju obliczenia, jakie występują w systemie. Choć dzisiejsze procesory posiadają bardzo złożoną architekturę to jednak można wyróżnić kilka najważniejszych bloków, są nimi: jednostka arytmetyczno logiczna (ALU), układ sterowania i bloki rejestrów. ALU odpowiedzialna jest za wykonywanie obliczeń, których wyniki pośrednie i końcowe przechowywane są w rejestrach. Wszystkim tym zarządza jednostka sterująca, która pobiera rozkazy z pamięci dekoduje je i wykonuje. Procesor składa się z:
zespołu rejestrów do przechowywania danych i wyników;
jednostki arytmetycznej (arytmometr) do wykonywania prostych operacji na danych;
układu sterującego przebiegiem obliczeń;
rejestru rozkazów, czyli operacji podstawowych.
Wnętrze procesora
Prędkość operacji procesora jest mierzona w ich ilości na sekundę i podawana w MHz. Od tej wartość zależy moc naszego procesora. Nie jest to jednak jedyny wyznacznik sprawność i choć dzisiejsze procesory przeznaczone dla PC- tów są bardzo zbliżone, jeżeli chodzi obudowę wewnętrzną to jednak producenci stosują różne rozwiązania techniczne i te widoczne gołym okiem i te głęboko ukryte w strukturze układu.
Dzisiejsze procesory wykonywane są w technologii 0,25 i 0,18 mikrometra, czyli tyle wynosi szerokość ścieżek łączących poszczególne elementy (na jednym milimetrze zmieściłoby się ich ponad 5500!!), a liczba tych drugich sięga milionów na pojedynczej płytce krzemu. Stosowane są także jednostki zmienno-przecinkowe (nawet kilka takich układów), które są wyspecjalizowane w obliczeniach dokonywanych na liczbach zmiennoprzecinkowych. Od wydajności tych układów zależy prędkość przetwarzania danych w grach i programach wspomagających projektowanie.
Procesor komunikuje się z otoczeniem poprzez magistralę systemową z częstotliwością zależną od jego typu np. 66, 100, 133 MHz. Jest to wartość kilkakrotnie niższa niż częstotliwość pracy samego procesora, co powodowałoby oczekiwanie przez niego na dane i rozkazy przesyłane z pamięci systemowej. Należy dodać, że współczesne procesory posiadają jądro superskalarne typu RISC (zredukowana liczba rozkazów), które umożliwia pracę potokową tzn. nim zakończy się procedura obsługi jednego rozkazu rozpoczyna się już przetwarzanie następnego (do 20). Wszystko to powoduje, że procesor przetwarza ogromne ilości danych.
Aby skrócić czas oczekiwania procesory wyposażono w pamięć podręczną (L1, L2) pracującą z częstotliwości procesora. Stanowi ona swego rodzaju bufor tzn. dane są do niej ładowane nim procesor się o nie upomni. Oczywiście sprawa jest dużo bardziej skomplikowana, bo stosowane są różnego rodzaju układy prognozowania tego, jakie dane procesor będzie potrzebował. Współczesne 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 własności stykowe tego metalu). 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 kilkuset milionów tranzystorów. Połączenia wykonane są z metalu (aluminium, miedź). Ważnym parametrem 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 częstotliwość pracy. Współczesne procesory używane w komputerach osobistych wykonywane są w technologii pozwalającej na uzyskanie elementów o rozmiarach mniejszych niż 65 nm, pracujących z częstotliwością kilku GHz. Według planów największych producentów procesorów, pod koniec roku 2007 powinny pojawić się procesory wykonane w technologii 45 nm, a w 2010 - 32 nm. Fabryki procesorów muszą posiadać pomieszczenia o niezwykłej czystości, co jest bardzo kosztowne.