Чим відрізняється ядро від процесора?
Я вже шукав це в Google, але я просто маю багатоядерне та багатопроцесорне визначення, але воно не відповідає тому, що я шукаю.
Чим відрізняється ядро від процесора?
Я вже шукав це в Google, але я просто маю багатоядерне та багатопроцесорне визначення, але воно не відповідає тому, що я шукаю.
Відповіді:
Ядро, як правило, є базовою обчислювальною одиницею процесора - воно може запускати один програмний контекст (або декілька, якщо він підтримує апаратні потоки, такі як гіперпереробка на процесорах Intel), підтримуючи правильний стан програми, регістри та правильний порядок виконання, і виконання операцій через АЛУ . Для оптимізації ядро може також містити кеші на основних ядрах з копіями часто використовуваних фрагментів пам'яті.
Процесор може мати одне або більше ядер для виконання завдань у певний час. Зазвичай ці завдання - це програмні процеси та потоки, які планує ОС. Зауважте, що в ОС може бути багато потоків для запуску, але процесор може виконувати X таких завдань лише в даний момент часу, де X = число ядер * кількість апаратних потоків на ядро. Решті доведеться чекати, коли ОС планує їх планувати, попередньо виконуючи поточні завдання або будь-якими іншими способами.
На додаток до одного або багатьох ядер, процесор буде включати деякий взаємозв'язок, який з'єднує ядра із зовнішнім світом, і зазвичай також великий спільний кеш "останнього рівня". Існує кілька інших ключових елементів, необхідних для роботи процесора, але їх точне розташування може відрізнятися залежно від дизайну. Вам знадобиться контролер пам'яті для розмови з пам'яттю, контролерами вводу / виводу (дисплей, PCIe, USB тощо). У минулому ці елементи знаходилися поза процесором, доповнюючи «чіпсет», але більшість сучасних конструкцій інтегрували їх у процесор.
Крім того, процесор може мати інтегрований графічний процесор, і майже все інше, що дизайнер хотів підтримувати поруч щодо продуктивності, потужності та виробничих міркувань. Дизайн процесора в основному трендує те, що називається системою на чіпі (SoC).
Це "класичний" дизайн, який використовується більшістю сучасних пристроїв загального призначення (клієнтський ПК, сервери, а також планшети та смартфони). Ви можете знайти більш складні конструкції, як правило, в академії, де обчислення не проводяться в основних "ядроподібних" одиницях.
/proc/cpuinfo
, я бачу шістнадцять processor:
рядків, хоча там написано model: AMD Ryzen 7 2700X Eight-Core Processor
. Отже, принаймні в цьому випадку, кожне з 8 «ядер» має два «процесори», що суперечить деяким іншим відповідям тут.
Зображення може сказати більше тисячі слів:
* Малюнок, що описує складність сучасної багатопроцесорної багатоядерної системи.
Джерело:
Open images in new tab
а потім збільшити масштаб, використовуючи cltr
++
Давайте спочатку уточнимо, що таке процесор, а що таке ядро, центральний процесор процесора, може мати декілька основних ядер; ці ядра є процесором сам по собі, здатний виконувати програму, але він міститься на одній мікросхемі.
Раніше один процесор був розподілений між досить багато мікросхем, але в міру розвитку закону Мура вони створили повний процесор всередині однієї мікросхеми (die), оскільки з 90-х виробник почав вміщувати більше ядер в одну матрицю, тож це Концепція багатоядерних.
У ці дні можливо мати сотні ядер на одному і тому ж процесорі (чіп або штамповий) графічних процесорів Intel Xeon. Інша методика, розроблена в 90-х, була одночасною багатопотоковою передачею, в основному вони виявили, що можливо мати ще одну нитку в тому ж одноядерному процесорі, оскільки більшість ресурсів дублюються вже як ALU, декілька регістрів.
Таким чином, в основному процесор може мати декілька ядер, кожне з яких здатне запускати один потік або більше одночасно, ми можемо очікувати, що в майбутньому буде більше ядер, але з більшими труднощами можна буде ефективно програмувати.
ЦП є центральним процесорним блоком. З 2002 року у нас є лише одноядерний процесор, тобто ми будемо виконувати лише одне завдання або програму за один раз.
Для роботи декількох програм за один раз ми повинні використовувати декілька процесорів для виконання декількох процесів одночасно, тому для цього нам потрібна була ще одна материнська плата, і це дуже дорого.
Таким чином, Intel представила концепцію гіперточення, тобто вона перетворить єдиний процесор у два віртуальних процесора, тобто у нас є два ядра для нашого завдання. Зараз процесор єдиний, але він лише прикидається (маскується), що має подвійний процесор і виконує кілька завдань. Але мати справжні кілька ядер буде краще, ніж це, тому люди розвиватимуть виготовлення багатоядерних процесорів, тобто декількох процесорів на одній коробці, тобто захоплення декількох процесорів на одному великому процесорі. Тобто кілька ядер.
У перші дні ... як і до 90-х ... процесори не змогли ефективно виконати багато завдань ... Тому що один процесор міг би впоратися з однією задачею ... тому коли ми говорили, що мій антивірус, слово microsoft, vlc тощо. програмне забезпечення працює одночасно ... це насправді не так. Коли я сказав, що процесор може одночасно обробляти один процес ... я мав на увазі це. Він фактично обробив би одне завдання ... тоді він використовував для призупинення цього завдання ... взяти інше завдання ... виконати його, якщо його короткий або знову призупинити і додати його до черги ... потім наступне. Але ця «пауза», яку я згадав, була настільки мала (приблизно 1 с), що ви не зрозуміли, що завдання було призупинено. Напр. На vlc під час прослуховування музики є й інші програми, які працюють одночасно, але, як я вам казав ... по одній програмі за раз ...
Але це стосувалося старих процесорів ...
Зараз процесори, тобто третій генератор, мають багатоядерні процесори. Тепер «ядра» можна порівняти з самими процесорами 1-го або 2-го ген ... вбудованими в єдиний чіп, єдиний процесор. Отже, тепер ми зрозуміли, що таке ядра, тобто вони є міні-процесорами, які об'єднуються в процесор. І кожне ядро може обробляти один процес одночасно або декілька потоків, як призначено для ОС. І вони виконують ті ж кроки, що я згадував вище про один процесор.
Напр. Процесор i7 6gen має 8 ядер ... тобто 8 міні-процесорів за 1 i7 ... тобто його швидкість в 8 разів перевищує старі процесори. Ось як можна виконати багатозадачні завдання.
В одному процесорі може бути сотні ядер, наприклад. Intel i128.
Я сподіваюся, що я це добре пояснив.
Зображення Intel є корисним, про що свідчить найкраща відповідь Тортуги. Ось підпис до цього.
Процесор : Один напівпровідниковий чіп, процесор (центральний процесор), що знаходиться в одному розетці, приблизно в 1950-х - 2010-х роках. З часом на чіп CPU було набрано більше функцій. До випуску одночипових процесорів 1950-х років один процесор, можливо, поширився на декілька мікросхем. У середині 2010-х мікросхем системи на мікросхемі зробило трохи більш схематичним прирівнювати один процесор до одного мікросхеми, хоча це, як правило, те, що люди розуміють під процесором, як "у цьому комп'ютері є процесор i7" або "ця комп'ютерна система має чотири процесори ".
Core : Один блок центрального процесора, виконуючи одну інструкцію за раз. (Ви побачите, що люди кажуть одну інструкцію за тактовий цикл, але деякі процесори використовують декілька тактових циклів для деяких інструкцій.)