Комментарии 24
Спасибо!
+1
Перестал читать после:
Каждый знает, что чем больше ядер у процессора — тем мощнее будет процессор
-4
А как правильно? Чем больше ядер, тем немощнее?
+1
Лучше не использовать абстрактное «мощнее». И все же для обычного пользователя гораздо важнее скорость ядра. Ядра 8700k под разгоном, например, на треть быстрее чем ядра у threadripperr.
Для обычного пользователя очень сложно придумать задачу где не хватит ладно не 4, а 6 или 8 ядер + ht (smt).
Для обычного пользователя очень сложно придумать задачу где не хватит ладно не 4, а 6 или 8 ядер + ht (smt).
+1
Правильно рассматривать связку процессор-ПО, иначе это будет сферический конь в вакууме. Если к процессору на 100500 говноядер прикрутить ещё столько же, то мощнее он будет только греться. В общем случае ПРИ ПРОЧИХ РАВНЫХ я лично предпочту Тактовая частота х2, чем Количество ядер х2.
0
В общем случае ПРИ ПРОЧИХ РАВНЫХ я лично предпочту Тактовая частота х2, чем Количество ядер х2.
Нет, подождите. Про частоту там ни слова. По вашему утверждению «перестал читать после „чем больше — тем мощнее процессор“» вы предпочтёте количество ядер х1, чем количество ядер х2.
0
Там ещё про много чего нет ни слова. Так что «По вашему утверждению», при добавлении ядер ЛЮБОЙ софт будет лучше работать?
0
Там ещё про много чего нет ни слова.
Откуда вы знаете, вы же дальше не читали.
Так что «По вашему утверждению», при добавлении ядер ЛЮБОЙ софт будет лучше работать?
Как вы это придумали? Там же написано «тем мощнее будет процессор», а не «любой софт будет лучше работать». Софт и при увеличении частоты не всегла лучше работает, sleep 60 вообще пофиг на мощность ваших ядер.
+1
Откуда вы знаете, вы же дальше не читали.А почему я должен это знать, я, как нормальный человек, читаю последовательно и осознаю прочитанное сразу, а не по завершении чтения.
sleep 60 вообще пофиг на мощность ваших ядерГениальный пример притянутости за уши, снимаю шляпу. Может ещё расскажете, как на sleep 60 влияет увеличение количества ядер?
0
Я так понимаю это про Интел, у АМД в настройке мелких нюансов чтото будет отличаться?
Интересно, спасибо.
Интересно, спасибо.
0
Симметричная многопроцессорность? Оглянулся вокруг, не нашёл. Сплошная NUMA.
0
В телефоне посмотрите :) Да и в компьютере тоже. С точки зрения софта — между core и processor — разница небольшая.
0
Смотрю в компьютере.
[ 0.000000] NUMA: Initialized distance table, cnt=2
[ 0.000000] NUMA: Node 0 [mem 0x00000000-0x7fffffff] + [mem 0x100000000-0x47fffffff] -> [mem 0x00000000-0x47fffffff]
[ 0.000000] NODE_DATA(0) allocated [mem 0x47ffd5000-0x47fffffff]
[ 0.000000] NODE_DATA(1) allocated [mem 0x87ffd4000-0x87fffefff]
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000000001000-0x0000000000ffffff]
[ 0.000000] DMA32 [mem 0x0000000001000000-0x00000000ffffffff]
[ 0.000000] Normal [mem 0x0000000100000000-0x000000087fffffff]
[ 0.000000] Device empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000001000-0x000000000009bfff]
[ 0.000000] node 0: [mem 0x0000000000100000-0x0000000059dfcfff]
[ 0.000000] node 0: [mem 0x0000000061e05000-0x000000006c5cefff]
[ 0.000000] node 0: [mem 0x000000006f7ff000-0x000000006f7fffff]
[ 0.000000] node 0: [mem 0x0000000100000000-0x000000047fffffff]
[ 0.000000] node 1: [mem 0x0000000480000000-0x000000087fffffff]
...
[ 0.000000] node 1: [mem 0x0000000480000000-0x000000087fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000001000-0x000000047fffffff]
[ 0.000000] On node 0 totalpages: 4080995
[ 0.000000] Initmem setup node 1 [mem 0x0000000480000000-0x000000087fffffff]
[ 0.000000] On node 1 totalpages: 4194304
...
[ 0.000000] mempolicy: Enabling automatic NUMA balancing. Configure with numa_balancing= or the kernel.numa_balancing sysctl
[ 1.388022] pci_bus 0000:00: on NUMA node 0
[ 1.520013] pci_bus 0000:17: on NUMA node 0
[ 1.652026] pci_bus 0000:3a: on NUMA node 0
[ 1.725399] pci_bus 0000:5d: on NUMA node 0
[ 1.792512] pci_bus 0000:80: on NUMA node 1
[ 1.888016] pci_bus 0000:85: on NUMA node 1
[ 2.020032] pci_bus 0000:ae: on NUMA node 1
[ 2.089461] pci_bus 0000:d7: on NUMA node 1
Где вы тут SMP нашли? Я могу порыться в старых компьютерах, и в районе Core2 найти SMP, но с тех пор...
0
Ну тогда в телефоне :)
Или вот, моя машина:
Или вот, моя машина:
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] Setting APIC routing to Xen PV.
[ 0.000000] NUMA turned off
lorc:rumprun-x86/ (master✗) $ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 94
model name : Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
0
>> начали ставить новые схемы: APIC и ACPI. Давайте поговорим о первом.
А о втором(ACPI) будет позже или как? Больно интересно каким боком ACPI имеет отношение к SMP.
А о втором(ACPI) будет позже или как? Больно интересно каким боком ACPI имеет отношение к SMP.
0
Вы можете найти таблицу MADT (APIC) в ACPI
Информация, требуемая для инициализации процессора хранится в ACPI таблицах. На данный момент это более предпочтительный способ для работы с многоядерными и многопроцессорными системами. Тот способ, который указан в статье (через нахождение _MP_ структуры в памяти) оставлен для совместимости. Спецификацию от него уже даже на сайте Intel не найти — только на сторонних сайтах.
А в UEFI так сделать уже вообще не получится
0
>>таблицу MADT (APIC) в ACPI
Точно, есть там Multiple APIC Description Table, давненько туда не заходил.
И судя по количеству присутствующих там записей, LocalAPIC есть не только у каждого железного ядра, но и на HT потоки, оные LocalAPIC имеются.
ПС если вы так глубоко в теме, может знаете почему в Win7/8/10 менеджер устройств в прерываниях показывает такое дикое количество ISA IRQ десятки и даже сотни? А PCI имеют странность быть минусовыми (0xFFFFFF9A-0xFFFFFFFF) сотнями?
Точно, есть там Multiple APIC Description Table, давненько туда не заходил.
И судя по количеству присутствующих там записей, LocalAPIC есть не только у каждого железного ядра, но и на HT потоки, оные LocalAPIC имеются.
ПС если вы так глубоко в теме, может знаете почему в Win7/8/10 менеджер устройств в прерываниях показывает такое дикое количество ISA IRQ десятки и даже сотни? А PCI имеют странность быть минусовыми (0xFFFFFF9A-0xFFFFFFFF) сотнями?
0
Хорошо написано, но кто не в теме, тому может показаться, что многозадачность как-то связана с прерываниями… В то время как аппаратные прерывания призваны обрабатывать прерывания от оборудования, чтобы не опрашивать «железо» постоянно, оборудование само вызывает прерывание…
Мало отзывов, видимо новое поколение не изучает глубоко железо.
Сразу, наверное жава-быдлокодить учат.
Мало отзывов, видимо новое поколение не изучает глубоко железо.
Сразу, наверное жава-быдлокодить учат.
0
А пример реализации SMP можно посмотреть например в операционке JOS, которая используется для обучения в MIT. Файлы mpconfig.c и mpentry.S github.com/lewischeng-ms/mit-jos/tree/master/kern
0
В ARM в общем, все то же самое. Только вместо APIC — GIC (Generic Interrupt Controller), который состоит из глобального Distrubutor'а и нескольких CPU Interfaces (по одному на ядро). Запуск secondary ядер — платформозависимая процедура, и чтобы программисты не мучились, во всех современных системах происходит единообразно — через обращение к firmware.
Вообще, x86 выглядит очень запутанной и местами нелогичной из-за огромного legacy. ARM не стесняются периодически дропать поддержку старых механизмов, поэтому архитектура у них проще и стройнее.
Вообще, x86 выглядит очень запутанной и местами нелогичной из-за огромного legacy. ARM не стесняются периодически дропать поддержку старых механизмов, поэтому архитектура у них проще и стройнее.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Ядра процессора или что такое SMP и с чем его едят