Антон Новиченко
21 июня 20:48.
44

Почему многоядерные процессоры выпускаются в четном соотношении?

Ответить
Ответить
Комментировать
5
Подписаться
1
1 ответ
Поделиться

Физическая причина:

Главная причина этому потому, что большинство ядер - квадратные. Создание многоядерного процессора делается с помощью отзеркаливания подложки(формы) ядра. Метод "Отзеркаливания" в отличии от пошаговой пайки: помогает оставить материал на соседнее ядро и делает более монолитным строение кристалла. Во время тестов возможен отвал одного ядра и процессор бракуется, блокируется ещё ядро, и, например: из i5-инвалида получаем i3, но зато с HT.

Некоторые продукты имеют доп. "комнату"(скорее отдел на кристалле) для всяческих регуляторов и контроллеров. Схема расположений ядра ГПУ, например, имеют множество зеркальных ядер, но расположены на кристалле немного необычно, чтоб было место под кэш, шины и разные магистрали импульсов.

Прошу прощения за такое ламерское объяснения, просто изучил попутно изучая ASM, но особо знаниями не пользовался.

Программная часть:

1) Из-за стандарта памяти 1 байт == 8 бит - легче процессору считать четные числа, но в этом плане будет напряженка с пруфами.

2) Распределение потоков: у каждого ядра есть свой поток, а то и два, если они заняты и свободны потоки зеркального ядра - на него перекинется задачи из распределения. Например: ядро-0 будет забивать свой поток и поток ядра-2, ядро-1 - ядро-3, ядро-2 - ядро-4, ядро-3 - ядро-5.

Вот так и постепенно будет забиваться нагрузкой. Это очень грубо, потому что вообще многопоточность - тема геморная и даже лютым задротам не всегда по зубам, тем более, что чаще всего - многопоточность на себя берет ОС(она их запускает и отслеживает состояния).

Могу где-то накосячить, но это, что ковырял в книгах про микропроцессоры.

Создание процессоров Интел "от песка к заветному камушку": https://m.habr.com/company/intel/blog/110234/

Не особо в тему, но принцип оптимизации под многопоточность: http://qaru.site/questions/107036/how-do-i-spawn-threads-on-different-cpu-cores

Иван Ивановотвечает на ваши вопросы в своейПрямой линии
3

Ну, т.к. то, что я находил было обосновано одним лишь аргументом, мол, из-за формы кристалла, то такой развернутый ответ более приемлемый, даже без пруфов. Благодарю за инфу.

0
Ответить

Пожалуйста, но в физ. часте я немного накосячил. В документации к ASM Intel x86 более подробно и сложно описан процесс работы потоков ОС с потоками ядер. Но не советую туда лезть, ногу сломаете ;)

Когда-то я занимался изучением этого дела, но в следствие перегруза и бесполезности - бросил и знания покаверкало)

Просто тема процессоров и потоков очень больна для программистов(особенно Юбисофта)

0
Ответить

Ссылки на полезные источники добавил

0
Ответить
Прокомментировать
Ответить