Procesor (ang. processor), także CPU (ang. Central

Transkrypt

Procesor (ang. processor), także CPU (ang. Central
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. Mikroprocesory
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 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 taktu.
Budowa logiczna mikroprocesora:
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ż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).
Wielordzeniowość i procesory pomocnicze:
Większość współczenych 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 architektury Conroe (65 nm).
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.
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
Układ sekwencyjny jest jednym z rodzajów układów cyfrowych. Charakteryzuje się tym, że stan
wyjść y zależy od stanu wejść x oraz od poprzedniego stanu, zwanego stanem wewnętrznym,
pamiętanego w zespole rejestrów (pamięci).
Lista rozkazów procesora (ang. instruction set) – zestaw podstawowych instrukcji, jakie dany
procesor potrafi wykonać.
Producenci procesorów podają zazwyczaj szczegółowe informacje dotyczące każdego z rozkazów:
• działania jakie dana instrukcja wykonuje: co dokładnie robi (algorytm), jak wpływa na stan
procesora (zawartość rejestrów, modyfikacja rejestru flag itp.), jakie może spowodować
błędy, itp.;
• sposób kodowania rozkazu, tj. jego binarna postać rozpoznawana przez układ elektroniczny;
• proponowane mnemoniki udostępniane przez asemblery.
Rodzaje list rozkazów procesora:
RISC (Reduced Instruction Set Computer) – nazwa architektury mikroprocesorów, która została
przedstawiona pod koniec lat 70.
Jej podstawowe cechy to:
1. Liczba rozkazów zredukowana do niezbędnego minimum. Wynosi ona kilkadziesiąt.
Upraszcza to znacznie dekoder rozkazów.
2. Redukcja trybów adresowania, dzięki czemu kody rozkazów są prostsze, bardziej
zunifikowane, co dodatkowo upraszcza wspomniany wcześniej dekoder rozkazów.
3. Ograniczenie komunikacji pomiędzy pamięcią a procesorem.
4. Zwiększenie liczby rejestrów (np. 32, 192, 256, podczas gdy np. w architekturze x86 jest
zaledwie 8 rejestrów), co również ma wpływ na zmniejszenie liczby odwołań do pamięci.
CISC (ang. Complex Instruction Set Computer) – architektura procesora o następujących cechach:
•
występowanie złożonych, specjalistycznych rozkazów (instrukcji), które do wykonania
wymagają od kilku do kilkunastu cykli zegara,
•
szeroka gama trybów adresowania,
•
przeciwnie niż w architekturze RISC rozkazy mogą operować bezpośrednio na pamięci
(zamiast przesłania wartości do rejestrów i operowania na nich),
•
powyższe założenia powodują, iż dekoder rozkazów jest skomplikowany.