Procesory

Wielordzeniowość

opublikowano przez Marcin Bienkowski w dniu 2012-02-20

Naturalnym, wykorzystywanym powszechnie sposobem na zwiększenie wydajności procesora jest zastosowanie w nich architektury wielordzeniowej. W obecnie produkowanych wielordzeniowych procesorach wykorzystuje się prostą w sprzętowej i programowej implementacji architekturę SMP (Symmetric MultiProcessing), która pozwala na symetryczne, jednoczesne przetwarzanie wielu wątków na kilku procesorach lub rdzeniach należących do jednego układu. Rdzenie w układach wielordzeniowych współdzielą ze sobą zasoby komputera, takie jak: pamięć operacyjna RAM, pamięć masowa (m.in. dyski twarde, pamięć flash, napędy optyczne) oraz interfejsy I/O. Co ważne, w architekturze SMP rdzenie (lub procesory) komunikują się ze sobą używając wspólnej magistrali systemowej. Charakterystyczną cechą architektury SMP jest to, że procesory (lub rdzenie) do poszczególnych zadań przydzielane są przez system operacyjny.

Wszystkie produkowane obecnie układy wielordzeniowe są tak naprawdę kilkoma połączonymi na jednej strukturze krzemowej niezależnymi procesorami, zwanymi tutaj rdzeniami lub jądrami. Każdy z rdzeni procesora wielordzeniowego jest identyczny i komunikuje się z  pozostałymi jądrami za pomocą jednej wewnętrznej magistrali systemowej. Obecnie produkuje się procesory dwu-, trzy-, cztero-, sześcio-, ośmio- i  dwunastordzeniowe. Układy z pojedynczym rdzeniem obecnie spotkać można już jedynie w najprostszych netbookach.

Struktura krzemowa procesora AMD Bulldozer z zaznaczonymi blokami architektury
Struktura krzemowa procesora AMD Bulldozer z zaznaczonymi blokami architektury

Bardzo ciekawe rozwinięcie architektury wielordzeniowej przygotowali inżynierowie firmy AMD w wypadku procesorów z rdzeniem Bulldozer (np. ośmiordzeniowy układ AMD FX-8150). Zastosowano tutaj modułową, znaną dokładnie z architektury serwerów konstrukcję. Każdy z modułów  (który tak naprawdę jest niezależnym, dwurdzeniowym procesorem) zawiera dwa rdzenie wraz ze wszystkimi potrzebnymi do ich działania elementami – w  tym pamięcią cache L2. Ponieważ moduły zawierające dwa rdzenie są w  bardzo dużym stopniu niezależne, bardzo łatwo jest skalować cały układ produkując procesory o dowolnej parzystej liczbie rdzeni. Resztę procesora stanowi pamięć cache L3, kontrolery magistrali systemowej Hyper-Transport i kontroler pamięci.

Mikroarchitektura procesora AMD Bulldozer
Mikroarchitektura procesora AMD Bulldozer

Mikroarchitektura dwurdzeniowego modułu układu AMD Bulldozer
Mikroarchitektura dwurdzeniowego modułu układu AMD Bulldozer

Nieco wcześniej bardzo podobnie do modułowości procesorów  wielordzeniowych podeszli inżynierowie Intela. W wypadku najnowszej architektury Sandy Bridge rdzenie procesorów są również niezależne, ale „przypięte” zostały one do znacznie bardziej zintegrowanego „systemowego” otoczenia, a mianowicie jednostki nazywanej agentem systemowym (ang. system agent), która zastąpiła mostek północny montowany niegdyś na płytach głównych. Poza agentem w rdzeniu procesora znalazł się kontroler pamięci i układ graficzny. 

Modułowa mikroarchitektura układu Intel Sandy Bridge
Modułowa mikroarchitektura układu Intel Sandy Bridge

Jak widać w kolejnych generacjach procesorów zgodnych z architekturą x86 pojawiają się coraz to nowsze elementy odmładzające tę architekturę. Nic nie wskazuje na to, żeby układy zgodne z listą rozkazów x86 miały odejść do lamusa. W najbliższym czasie powinniśmy doczekać się kolejnych jej rozszerzeń związanych ze strumieniowym i  wektorowym przetwarzaniem danych. 

Lubisz cykl hardcore IT? Poleć go znajomym na Facebooku (kliknij "Lubię to!" na górze artykułu) oraz przeczytaj inne artykuły:

Procesory wielordzeniowe - co szykuje przyszłość? Intel Thunderbolt - transfer danych na całego OLED - ekrany przyszłości

 

 

marketplace

Komentarze

83
Zaloguj się, żeby skomentować
avatar
Dodaj
Komentowanie dostępne jest tylko dla zarejestrowanych użytkowników serwisu.
  • avatar
    Ładnie, ale parę zastrzeżeń mam:
    1. AMD64 zostało opracowane przez AMD, a nie w kooperacji z Intelem. Intel promował rozwiązanie swoje i HP pod tytułem IA64. Intel za pomocą cross license zyskał prawo do własnej implementacji instrukcji x86-64 i zrobił to w formie EM64T. Ale w opracowaniu tej technologii nie kiwnął paluszkiem :)
    2. MMX mapowało WSZYSTKIE swoje 64 bitowe rejestry (a nie część) na 80 bitowe rejestry x87 (ST0-ST7) a dodatkowo operowało jedynie na liczbach stałopozycyjnych więc rola była ogółem niewielka, a rewolucja żadna (choć Intel z MS, a później kolejno AMD, IDT itp. starali się z MMX zrobić super bohatera). Małe rewolucje to 3DNow!, SSE, a trochę większa SSE2.
    3. Rdzenie RISC - tutaj też trochę fantazja ponosi. Mikrokod ma każdy procesor, czy to CISC, czy RISC, czy VLIW, czy SIMD. Mikrokod ma to do siebie, że jest RISC like - tzn. zazwyczaj jednej instrukcji RISC odpowiada 1 mikrooperacja (ale nie zawsze!) Nowoczesny x86 nadal nie ma w środku tylu rejestrów co typowe RISC. Jedyne eksperymenty z jądrem RISC to AMD K5, K6 i Nx586 - pozostałe proce to łączenie zalet CISCa i RISCa (pipeline, superscalar, register rename etc. etc), ale nie jądro RISC.
    4. K5 nie opierało się o nx586 tylko AM29k, dopiero K6 bazowało na projekcie nexgena, którego AMD przejęło. Wszystkie te konstrukcje łączyła świetna wydajność pure x86, natomiast daremne FPU x87 o ile w ogóle było.
    Zaloguj się
    14
  • avatar
    10-20 lat temu mniej wiecej takie tematy czesto byly poruszane w "prasie komputerowej". Zadnych wojen polglowkow utozsamiajacych sie z tajwanskimi czy amerykanskimi spolkami akcyjnymi. Przypomnialo mi sie, ze prawie rok temu zapowiadaliscie artykuly dla "pauer juzerow"(chyba jeden nawet juz byl?). Ciekawe, czy x86 nadal bedzie popularne, gdy broda mi zsiwieje. Pewnie tak.
    Pejsbuk tu, pejsbuk tam...
  • avatar
    Kompletnie nic z tego nie rozumiem ale + za chęci napisania czegoś takiego ;)
  • avatar
    Fajny tekst, dla laika takiego jak ja ciekawy artykuł do poczytania :)
    Zaloguj się
  • avatar
    AAAAaaaaa, co ja pacze? O_o
    Chowajcie szybciutko ten artykuł, bo komuś pomyliło się TLB(Translation Lookaside Buffer) z mechanizmem Branch prediction!!!
  • avatar
    Jak komuś jeszcze mało to polecam to poradniki Agnera :) http://www.agner.org/optimize/
  • avatar
    "Co ciekawe, pierwszym układem zgodnym z architekturą x86, który wewnętrznie był procesorem RISC był NextGen Nx586 z 1994 roku, na bazie którego powstał w 1995 roku AMD K5"

    Moim zdaniem to nie K5 ale K6 który powstał gdy AMD przejęło NextGena
  • avatar
    dla zainteresowanych i nieco bardziej obeznanych polecam dwa atykuły

    Szczgółowy opis architektury Sandy Bridge
    http://realworldtech.com/page.cfm?ArticleID=RWT091810191937

    Szczegółowy opis architektury Bulldozer
    http://realworldtech.com/page.cfm?ArticleID=RWT082610181333
  • avatar
    Architektura architekturą, ale i tak wszystko się opiera na złączu PN.
  • avatar
    "Lubisz cykl hardcore IT? Poleć go znajomym na Facebooku (kliknij "Lubię to!" na górze artykułu) oraz przeczytaj inne artykuły:"
    Zaloguj się
  • avatar
    No tutaj pare osób podziałało na wspomnienia. Jak to tata pamietam do domu przyniósł peceta z Celeronem 300A i 32mb ram cos pieknego. Potem tylko dokupiłem 2 kości ram po 32 mb i była maszyna. No i wtedy nadszedł dzień gdy dowiedziałem się o OC ahh... piękne czasy...
  • avatar
    Ciekawy artykuł. Oby jak najwiecej takich.
  • avatar
    Szkoda ze autor nie wspominał o świństwie jakie intel zafundował swoim użytkownikom wraz z wprowadzeniem pentium. Dla tych co nie wiedzą to w pierwszych pentiumach był uszkodzony blok arytmetyczny i podczas robienia obliczeń w kalkulatorze windowsa wychodziły dziwne wyniki. Pierwsze oficjalne stanowisko intela brzmiało "Nie będziemy wymieniać uszkodzonych procesorów bo domowi użytkownicy nie będą wykonywać na nich skomplikowanych operacji". Dopiero pod naciskiem opinii publicznej i jechaniu po nich w prasie jak i tv ugiął się i zaczął wymieniać.
    Zaloguj się
  • avatar
    "A tak po za tym obecne procesory przekraczają i to znacznie wymaganą od nich wydajność" - zgadza się i te od intela i te od AMD.
  • avatar
    Wie może ktoś czy w obecnych czasach powstały jakieś nowe architektury które x86 mogłyby zdeklasować?

    Ta ma przeszło 30 lat a jak wiadomo 30 lat w świecie techniki to milenium w normalnym świecie ;)
    Zaloguj się
  • avatar
    Średni artykuł. Jak w tego typu przypadkach (zwłaszcza tego autora), za dużo jest lania wody, tzn. przytaczania powszechnie dostępnych informacji.
    Twierdzenie że to artykuł dla hardkorowców jest śmieszne.

    Umieszczajcie artykuły poruszające tematy mniej oklepane ale dotyczące równie ciekawych koncepcji - VLIW, FPGA, OOP, AOP, problematyka tworzenia aplikacji wielowątkowych, pamięć transakcyjna, tworzenie gramatyki języka i działanie kompilatora, metaprogramowanie itp
    Niestety na chwilę obecną jest nudny przekładaniec: budowa CPU, budowa GPU, budowa CPU, budowa GPU, itd




    Zaloguj się
    -4
  • avatar
    jak się komuś chciało to czytać to widać że nie ma ani dziewczyny ani kolegów nara
    Zaloguj się
    -5
  • avatar
    Tylko patrzeć jak AMD stworzy odpowiednik System Agent.

    AMD lata świetności za sobą.

    Premiera Bulldozera tylko to potwierdziła. 6-cio rdzeniowy procesor z nową architekturą gorszy od poprzednika...tyle o AMD. Hector i Rory sprowadzą świetną niegdyś firmę na kozi róg.

    Rezyganacja Dirka Meyera oznacza end świetnej niegdyś firy.

    Intel obecnie będzie liderem CPU - x86.

    Moim zdaniem powinno się już odejść od x86, ale nie w stronę ARM.

    ARM nie ma układów zamiany instrukcji i jeynąich zaletą jest energooszczędność.

    Powinno się stworzyć nową listę instrukcji ale pod kątem oprogramowania - jak to miało mniejsce w 1978 roku.

    Intel mający ogrom środków powinien coś zdziałać, bo w końcu rozwój ich produktów stanie w raz z procesem technologicznym.
    Zaloguj się
    -7
  • avatar
    W architekturze x86 wystarczy poznac historie Intela, aby poznac jej mozliwosci, ograniczenia oraz ewolucje i potege, reszta pretendentow okazala sie maruderami, ktorzy juz wywiesili lub wywieszaja biale flagi.
    Zaloguj się
    -31
  • avatar
    No i miło Cię Marcinie znów poczytać. Ciekawe jak to dalej będzie brnęło i kiedy x86 odejdzie w niebyt...