Anonim

Kiedy wynaleziono komputery osobiste, ich jednostka centralna (CPU) była samodzielna i miała tylko jeden rdzeń procesora. Sam procesor był rdzeniem; pomysł posiadania procesora wielordzeniowego był jak dotąd niespotykany. Dziś nie jest niczym niezwykłym widzieć komputery, telefony i inne urządzenia z wieloma rdzeniami - w rzeczywistości prawie każdy dostępny na rynku komputer dowolnego typu ma wiele rdzeni. Rdzenie te znajdują się w tym samym, pojedynczym, procesorze lub centralnej jednostce przetwarzania.

Dużą zaletą jest posiadanie wielu rdzeni. Mając tylko jeden rdzeń, komputer może pracować tylko nad jednym zadaniem na raz, musi wykonać zadanie, zanim przejdzie do innego. Dzięki większej liczbie rdzeni komputer może jednocześnie pracować z wieloma zadaniami, co jest szczególnie przydatne dla osób wykonujących wiele zadań wielozadaniowych.

Przed zanurzeniem się dokładnie w tym, jak działają procesory wielordzeniowe, ważne jest, aby porozmawiać o historii technologii przetwarzania, po czym omówimy działanie procesorów wielordzeniowych.

Trochę historii

Przed zbudowaniem procesorów z wieloma rdzeniami ludzie i firmy, takie jak Intel i AMD, próbowały zbudować komputery z wieloma procesorami. Oznaczało to, że potrzebna była płyta główna z więcej niż jednym gniazdem procesora. To było nie tylko droższe, ze względu na fizyczny sprzęt potrzebny do innego gniazda procesora, ale także zwiększyło opóźnienie z powodu zwiększonej komunikacji, która była potrzebna, aby odbyć się między dwoma procesorami. Płyta główna musiała dzielić dane między dwie całkowicie odrębne lokalizacje w komputerze, zamiast po prostu wysyłać je wszystkie do procesora. Odległość fizyczna w rzeczywistości oznacza, że ​​proces przebiega wolniej. Umieszczenie tych procesów w jednym chipie z wieloma rdzeniami oznacza nie tylko mniejszą odległość do przebycia, ale także oznacza, że ​​różne rdzenie mogą współdzielić zasoby w celu wykonywania szczególnie ciężkich zadań. Na przykład oba procesory Intel Pentium II i Pentium III zostały zaimplementowane w wersjach z dwoma procesorami na jednej płycie głównej.

Po pewnym czasie procesory musiały być bardziej wydajne, więc producenci komputerów wpadli na pomysł hiperwątkowości. Sama koncepcja pochodzi od Intela i została opracowana w 2002 roku na firmowych procesorach serwerowych Xeon, a później na procesorach Pentium 4. Hyper-Threading jest nadal używany w procesorach i jest nawet główną różnicą między procesorami Intela i5 a jego i7. Zasadniczo korzysta z faktu, że w procesorze często znajdują się nieużywane zasoby, szczególnie gdy zadania nie wymagają dużej mocy obliczeniowej, którą można by wykorzystać w innych programach. Procesor, który korzysta z hiperwątkowości, przedstawia się w systemie operacyjnym tak, jakby miał dwa rdzenie. Oczywiście tak naprawdę nie ma dwóch rdzeni, jednak w przypadku dwóch programów, które wykorzystują połowę dostępnej mocy obliczeniowej lub mniej, równie dobrze mogą istnieć dwa rdzenie, ponieważ razem mogą one wykorzystać całą moc, którą procesor ma do zaoferowania. Hiperwątkowość będzie jednak nieco wolniejsza niż procesor z dwoma rdzeniami, gdy nie będzie wystarczającej mocy obliczeniowej do współdzielenia między dwoma programami korzystającymi z rdzenia.

W tym miejscu można znaleźć wnikliwy film, w którym znajduje się krótkie, bardziej szczegółowe wyjaśnienie hiperwątkowości.

Multi-Procesory

Po wielu eksperymentach udało się wreszcie zbudować procesory z wieloma rdzeniami. Oznaczało to, że jeden procesor miał w zasadzie więcej niż jedną jednostkę przetwarzającą. Na przykład dwurdzeniowy procesor ma dwa procesory, czterordzeniowy ma cztery i tak dalej.

Dlaczego więc firmy opracowały procesory z wieloma rdzeniami? Cóż, potrzeba szybszych procesorów stawała się coraz bardziej widoczna, jednak rozwój procesorów jednordzeniowych zwalniał. Od 1980 do 2000 roku inżynierowie byli w stanie zwiększyć prędkość przetwarzania z kilku megaherców do kilku gigaherców. Firmy takie jak Intel i AMD zrobiły to, zmniejszając rozmiar tranzystorów, co pozwoliło na większą liczbę tranzystorów na tej samej przestrzeni, co poprawia wydajność.

Ponieważ szybkość taktowania procesora jest ściśle powiązana z liczbą tranzystorów mieszczących się w układzie, kiedy technologia zmniejszania tranzystorów zaczęła zwalniać, rozwój zwiększonych prędkości procesorów również zaczął zwalniać. Choć nie po raz pierwszy firmy wiedziały o procesorach wielordzeniowych, to właśnie wtedy zaczęły eksperymentować z procesorami wielordzeniowymi do celów komercyjnych. Chociaż procesory wielordzeniowe zostały po raz pierwszy opracowane w połowie lat 80. XX wieku, zostały one zaprojektowane dla dużych korporacji i nie były tak naprawdę przeglądane, dopóki technologia jednordzeniowa nie zaczęła zwalniać. Pierwszy wielordzeniowy procesor został opracowany przez Rockwell International i był wersją układu 6501 z dwoma procesorami 6502 na jednym układzie (więcej szczegółów można znaleźć tutaj w tym wpisie w Wikipedii).

Co robi procesor wielordzeniowy?

Cóż, to naprawdę bardzo proste. Posiadanie wielu rdzeni pozwala na wykonanie wielu czynności jednocześnie. Na przykład, jeśli pracujesz nad wiadomościami e-mail, masz otwartą przeglądarkę internetową, pracujesz nad arkuszem kalkulacyjnym Excel i słuchasz muzyki w iTunes, to czterordzeniowy procesor może działać na wszystkie te rzeczy naraz. Lub, jeśli użytkownik ma zadanie, które należy wykonać od razu, można je podzielić na mniejsze, łatwiejsze do przetworzenia zadania.

Korzystanie z wielu rdzeni nie ogranicza się tylko do wielu programów. Na przykład Google Chrome renderuje każdą nową stronę w inny sposób, co oznacza, że ​​może korzystać z wielu rdzeni jednocześnie. Niektóre programy są jednak nazywane jednowątkowymi, co oznacza, że ​​nie zostały napisane, aby móc korzystać z wielu rdzeni i jako takie nie mogą tego zrobić. Ponownie pojawia się tutaj hiperwątkowość, która pozwala Chrome wysyłać wiele stron do dwóch „logicznych rdzeni” na jednym rzeczywistym rdzeniu.

Radzenie sobie z procesorami wielordzeniowymi i hiperwątkowością to koncepcja zwana wielowątkowością. Wielowątkowość to w zasadzie zdolność systemu operacyjnego do korzystania z wielu rdzeni poprzez dzielenie kodu na jego najbardziej podstawową formę lub wątki i podawanie go do różnych rdzeni jednocześnie. Jest to oczywiście ważne w procesorach wieloprocesorowych i wielordzeniowych. Wielowątkowość jest nieco bardziej skomplikowana, niż się wydaje, ponieważ wymaga od systemów operacyjnych prawidłowego uporządkowania kodu w taki sposób, aby program mógł dalej działać wydajnie.

Same systemy operacyjne robią podobne rzeczy z własnymi procesami - nie ogranicza się to tylko do aplikacji. Procesy systemu operacyjnego to rzeczy, które system operacyjny zawsze wykonuje w tle, a użytkownik niekoniecznie o tym wie. Ponieważ procesy te trwają zawsze, hiperwątkowość i / lub wiele rdzeni może być bardzo pomocne, ponieważ uwalnia procesor do pracy nad innymi rzeczami, takimi jak to, co dzieje się w aplikacjach.

Jak działają procesory wielordzeniowe?

Po pierwsze, płyta główna i system operacyjny muszą rozpoznać procesor i że istnieje wiele rdzeni. Starsze komputery miały tylko jeden rdzeń, więc starszy system operacyjny może nie działać zbyt dobrze, jeśli użytkownik spróbuje zainstalować go na nowszym komputerze z wieloma rdzeniami. Na przykład Windows 95 nie obsługuje hiperwątkowości ani wielu rdzeni. Wszystkie najnowsze systemy operacyjne obsługują procesory wielordzeniowe, w tym Windows 7, 8, nowo wydane 10 i Apple OS X 10.10.

Mówiąc w skrócie, system operacyjny informuje płytę główną, że należy wykonać proces. Płyta główna informuje procesor. W procesorze wielordzeniowym system operacyjny może nakazać procesorowi wykonanie wielu czynności jednocześnie. Zasadniczo, poprzez kierunek systemu operacyjnego, dane są przenoszone z dysku twardego lub pamięci RAM, za pośrednictwem płyty głównej, do procesora.

Procesor wielordzeniowy

Wewnątrz procesora istnieje wiele poziomów pamięci podręcznej, które przechowują dane do następnej operacji lub operacji procesora. Te poziomy pamięci podręcznej zapewniają, że procesor nie musi szukać daleko, aby znaleźć następny proces, co pozwala zaoszczędzić dużo czasu. Pierwszym poziomem pamięci podręcznej jest pamięć podręczna L1. Jeśli procesor nie może znaleźć danych potrzebnych do następnego procesu w pamięci podręcznej L1, szuka pamięci podręcznej L2. Pamięć podręczna L2 ma większą pamięć, ale jest wolniejsza niż pamięć podręczna L1.

Procesor jednordzeniowy

Jeśli procesor nie może znaleźć tego, czego szuka w pamięci podręcznej L2, przechodzi dalej do L3, a jeśli procesor go ma, L4. Następnie będzie wyglądać w pamięci głównej lub pamięci RAM komputera.

Istnieją również różne sposoby obsługi różnych pamięci podręcznych przez różne procesory. Na przykład niektórzy duplikują dane w pamięci podręcznej L1 w pamięci podręcznej L2, co jest w zasadzie sposobem na zapewnienie, że procesor może znaleźć to, czego szuka. To oczywiście zajmuje więcej pamięci w pamięci podręcznej L2.

W procesorach wielordzeniowych mają również zastosowanie różne poziomy pamięci podręcznej. Zwykle każdy rdzeń będzie miał własną pamięć podręczną L1, ale będą one współdzielić pamięć podręczną L2. Jest to inne niż w przypadku wielu procesorów, ponieważ każdy procesor ma własną pamięć podręczną L1, L2 i dowolną inną pamięć podręczną poziomu. W przypadku wielu procesorów jednordzeniowych współużytkowanie pamięci podręcznej jest po prostu niemożliwe. Jedną z głównych zalet posiadania współużytkowanej pamięci podręcznej jest możliwość korzystania z niej w pełni, ponieważ jeden rdzeń nie korzysta z pamięci podręcznej, a drugi może.

W procesorze wielordzeniowym podczas wyszukiwania danych rdzeń może przejrzeć swoją własną unikalną pamięć podręczną L1, a następnie rozgałęzić się do współużytkowanej pamięci podręcznej L2, pamięci RAM i ewentualnie dysku twardego.

Prawdopodobnie nadal będziemy obserwować rozwój większej liczby rdzeni. Częstotliwości taktowania procesora z pewnością będą się poprawiać, choć z mniejszymi częstotliwościami niż wcześniej. Chociaż teraz nie jest rzadkością obserwowanie ośmiordzeniowych procesorów w takich rzeczach jak smartfony, wkrótce będziemy mogli zobaczyć procesory z dziesiątkami rdzeni.

Jak myślisz, dokąd zmierza technologia przetwarzania wielordzeniowego? Daj nam znać w komentarzach poniżej lub rozpoczynając nowy wątek na naszym forum społeczności.

Wszystko o procesorach wielordzeniowych: czym są, jak działają i skąd pochodzą