Jaka jest różnica między rdzeniem a procesorem?
Już go szukałem w Google, ale mam definicję wielordzeniową i wieloprocesorową, ale nie pasuje do tego, czego szukam.
źródło
Jaka jest różnica między rdzeniem a procesorem?
Już go szukałem w Google, ale mam definicję wielordzeniową i wieloprocesorową, ale nie pasuje do tego, czego szukam.
Rdzeń jest zwykle podstawową jednostką obliczeniową procesora - może uruchamiać pojedynczy kontekst programu (lub wiele, jeśli obsługuje wątki sprzętowe, takie jak hiperwątkowość na procesorach Intel), utrzymując prawidłowy stan programu, rejestry i prawidłową kolejność wykonywania, oraz wykonywanie operacji za pośrednictwem ALU . Dla celów optymalizacji rdzeń może również przechowywać wewnętrzne pamięci podręczne z kopiami często używanych porcji pamięci.
Procesor może mieć jeden lub więcej rdzeni do wykonywania zadań w danym czasie. Te zadania są zwykle procesami oprogramowania i wątkami, które system operacyjny planuje. Należy pamiętać, że system operacyjny może mieć wiele wątków do uruchomienia, ale procesor może uruchomić X takich zadań tylko w danym momencie, gdzie X = liczba rdzeni * liczba wątków sprzętowych na rdzeń. Reszta będzie musiała poczekać, aż system operacyjny je zaplanuje, czy to zapobiegając aktualnie uruchomionym zadaniom, czy jakimkolwiek innym sposobem.
Oprócz jednego lub wielu rdzeni, procesor będzie zawierał interkonekt, który łączy rdzenie ze światem zewnętrznym, a także zwykle dużą współdzieloną pamięć podręczną „ostatniego poziomu”. Istnieje wiele innych kluczowych elementów wymaganych do działania procesora, ale ich dokładne lokalizacje mogą się różnić w zależności od projektu. Będziesz potrzebował kontrolera pamięci, aby rozmawiać z pamięcią, kontrolerów I / O (wyświetlacz, PCIe, USB itp.). W przeszłości elementy te znajdowały się poza procesorem, w uzupełniającym „chipsecie”, ale większość współczesnych konstrukcji zintegrowała je z procesorem.
Ponadto procesor może mieć zintegrowany procesor graficzny i prawie wszystko, co projektant chciał zachować blisko ze względu na wydajność, moc i względy produkcyjne. Konstrukcja procesora zyskuje na popularności w tak zwanym systemie na chipie (SoC).
Jest to „klasyczny” projekt, używany przez większość nowoczesnych urządzeń ogólnego przeznaczenia (komputer kliencki, serwery, a także tablety i smartfony). Możesz znaleźć bardziej skomplikowane projekty, zwykle w akademii, w których obliczenia nie są wykonywane w podstawowych jednostkach „podobnych do rdzenia”.
/proc/cpuinfo
, widzę szesnaścieprocessor:
wierszy, chociaż mówimodel: AMD Ryzen 7 2700X Eight-Core Processor
. Tak więc przynajmniej w tym przypadku każdy z 8 „rdzeni” ma dwa „procesory”, co jest sprzeczne z niektórymi innymi odpowiedziami tutaj.Obraz może zawierać więcej niż tysiąc słów:
* Rysunek opisujący złożoność nowoczesnego systemu wieloprocesorowego i wielordzeniowego.
Źródło:
https://software.intel.com/en-us/articles/intel-performance-counter-monitor-a-better-way-to-measure-cpu-utilization
źródło
Open images in new tab
a następnie powiększcltr
+
Wyjaśnijmy najpierw, co to jest procesor, a co rdzeń, centralny procesor jednostki centralnej, może mieć wiele jednostek rdzeniowych, te rdzenie same w sobie są procesorami, zdolnymi do wykonywania programu, ale są one zawarte w tym samym układzie.
W przeszłości jeden procesor był rozdzielany na kilka układów, ale w miarę postępów Prawa Moore'a stworzyli, aby mieć pełny procesor w jednym układzie (matrycy), od lat 90. producent zaczął montować więcej rdzeni w tej samej matrycy, więc to jest koncepcja wielordzeniowa.
W dzisiejszych czasach możliwe jest posiadanie setek rdzeni na tym samym procesorze graficznym (chip lub die), Intel Xeon. Inną techniką opracowaną w latach 90. była jednoczesna wielowątkowość, w zasadzie stwierdzono, że możliwe było posiadanie innego wątku w tym samym jednordzeniowym procesorze, ponieważ większość zasobów została już zduplikowana, podobnie jak ALU, wiele rejestrów.
Zasadniczo więc procesor może mieć wiele rdzeni, z których każdy może obsługiwać jeden wątek lub więcej w tym samym czasie, możemy spodziewać się większej liczby rdzeni w przyszłości, ale z większą trudnością będzie można wydajnie programować.
źródło
CPU jest jednostką centralną. Od 2002 roku mamy tylko procesor jednordzeniowy, tzn. Będziemy wykonywać tylko jedno zadanie lub program naraz.
Aby uruchomić wiele programów jednocześnie, musimy używać wielu procesorów do wykonywania wielu procesów jednocześnie, więc potrzebowaliśmy do tego innej płyty głównej, co jest bardzo kosztowne.
Tak więc Intel wprowadził koncepcję hiperwątkowości, tzn. Przekształci pojedynczy procesor w dwa procesory wirtualne, tj. Mamy dwa rdzenie do naszego zadania. Teraz procesor jest pojedynczy, ale udaje (maskaradowany), że ma podwójny procesor i wykonuje wiele zadań. Ale posiadanie prawdziwych wielu rdzeni będzie lepsze, dlatego ludzie rozwijają tworzenie wielordzeniowych procesorów, tj. Wielu procesorów na jednym urządzeniu, tj. Chwytając wiele procesorów na jednym dużym procesorze. Tj. Wiele rdzeni.
źródło
Na początku ... jak przed latami 90. ... procesory nie były w stanie wykonywać wielu zadań tak skutecznie ... ponieważ pojedynczy procesor mógł obsłużyć tylko jedno zadanie ... więc kiedy mówiliśmy, że mój program antywirusowy, słowo Microsoft, VLC itp. oprogramowanie działa jednocześnie ... to nie jest prawda. Kiedy powiedziałem, że procesor może obsłużyć pojedynczy proces naraz ... miałem na myśli to. W rzeczywistości przetworzyłoby pojedyncze zadanie ... wtedy wstrzymywał je ... wziął inne zadanie ... ukończył je, jeśli jest krótkie lub ponownie wstrzymał je i dodał do kolejki ... a następnie następne. Ale ta „pauza”, o której wspomniałem, była tak mała (około 1ns), że nie zrozumiałeś, że zadanie zostało wstrzymane. Na przykład. Na VLC podczas słuchania muzyki działają jednocześnie inne aplikacje, ale jak już mówiłem ... jeden program na raz ...
Ale chodziło o stare procesory ...
Obecnie procesory, tj. Komputery trzeciej generacji, mają procesory wielordzeniowe. Teraz „rdzenie” można porównać do samych procesorów 1. lub 2. generacji… osadzonych w jednym układzie scalonym, jednym procesorze. Więc teraz zrozumieliśmy, czym są rdzenie, tj. Są to mini procesory, które łączą się w procesor. I każdy rdzeń może obsługiwać pojedynczy proces naraz lub wiele wątków zaprojektowanych dla systemu operacyjnego. I postępują zgodnie z tymi samymi krokami, co wspomniałem powyżej o pojedynczym procesorze.
Na przykład. Procesor i7 6gen ma 8 rdzeni ... tj. 8 mini procesorów w 1 i7 ... tj. Jego prędkość jest 8 razy większa niż w starych procesorach. I w ten sposób można wykonywać wiele zadań.
W jednym procesorze mogą znajdować się setki rdzeni. Intel i128.
Mam nadzieję, że dobrze to wytłumaczyłem.
źródło
Zdjęcie Intela jest pomocne, jak pokazuje najlepsza odpowiedź Tortugi. Oto jego podpis.
Procesor : jeden układ półprzewodnikowy, procesor (centralna jednostka przetwarzająca) umieszczony w jednym gnieździe, około 1950-tych. Z biegiem czasu więcej funkcji zostało zapakowanych w procesor. Przed wydaniem w 1950 roku procesorów jednoukładowych jeden procesor mógł być rozproszony na wiele układów. W połowie 2010 r. Układy na układzie scalonym sprawiły, że nieco bardziej szkicowe było zrównanie jednego procesora z jednym układem, chociaż generalnie to ludzie rozumieją przez procesor, ponieważ w „tym komputerze jest procesor i7” lub „w tym systemie komputerowym” ma cztery procesory ”.
Rdzeń : jeden blok procesora, wykonujący jedną instrukcję na raz. (Zobaczysz, jak ludzie mówią jedną instrukcję na cykl zegara, ale niektóre procesory używają wielu cykli zegara dla niektórych instrukcji).
źródło