Страшные сказки на ночь, о PCI шине

в 15:13, , рубрики: PCI, pcie, UEFI, архитектура системы, Компьютерное железо

Всеобщая эйфория от появления на рынке новых процессоров, не дает достаточно времени кинуть взгляд, а что же там у них «под капотом». Те же их стороны, которыми обычно восхищаются кликатели и кнопкодавы, вовсе не отражают реальное положение дел на железном фронте.

А тучи, тем временем, сгущались. Да, процессоры стали быстрее. Да, действительно, там стало больше ядер. И последнее, как раз, является серьезной архитектурной проблемой. По крайней мере, для наметившегося лидера гонки.

Кто сейчас помнит такой архаизм как «Архитектура»? Мало кто. Слово в станкостроении стало в IT, практически ругательным. А ведь когда-то, в былые времена, книга «PCI System Archetecture» и прочие, зачитывалась до дыр, на экране. И что же там такого страшного, в этом осколке прошлого, накарябано о PCI, что может нас ввести в глубокую задумчивость, полную вселенской грусти?

Страшная цифра — 256. Хотя, на первый взгляд, и не очень страшная. Да, именно столько, и есть максимальный предел присутствия независимых PCI устройств, на PCI шине. Цифра кажется на самом деле заоблачной.

Ну кому, в здравом уме и твердой памяти, прийдет в голову иметь в компьютере больше 5-10 реальных, т.е. «физических» устройств? Именно исходя из этих «логичных» предпосылок, недавний лидер процессорной гонки, вводил ограничивающие настройки в свой чипсет, дающие возможность принудительно ограничивать волшебную цифру до 128, 64, и не поверите 32(!) PCI шин. И это была не просто блажь, т.к. давало серьезную возможность экономить системный кусок (первые 4Gb) памяти, до сих пор наделенный "волшебными свойствами" в отношении ОС. В том то и дело, что физических устройств было до недавнего времени не очень много.
Но, время не стоит на месте, и вот я держу в руках очередное 64 ядерное чудо враждебной техники, Rome от AMD.

И что же он хочет, нет ТРЕБУЕТ, для своего минимального функционирования? Всего то малость… откусить для своих 64 ядер… пространство в 80 PCI шин. Браво. Но, ведь у нас есть еще 2/3 пространства? У кого то есть, а у кого-то и нет.

Первый раз, на не бездонность PCI шины, я обратил внимание настраивая PCI расширитель, так уж получилось, что на нем висело, за гроздью из P2P мостов Pericom, 119 PCI устройств требовавших подобное же количество индивидуальных PCI шин. И это только за единственным х8 PCI расширителем. А таких х8 портов, там было 8. Вот тут, как бы невзначай, и всплывает "волшебность" первых 4Gb системной памяти, когда львиная доля из тех 119 PCI устройств, требует для своей инициализации во время обнаружения БИОСом «скромные» 32-64 Мб на каждого.

Хорошо что Интел не так мощно выгрызет PCI пространство. При необходимости, но повесить второю гроздь еще оставалось возможным.

А вот с Rome и единственное такое «расширение» лишает нас надежды хоть на какое то будущее столь увесистой «грозди», в этой АМД системе. Нет, конечно, клиенту можно предложить перейти на суперкомпьютерную архитектуру, та которая будет под заказ и выльется в 10 раз дороже. Но и выше предложенная конфигурация, как вы успели заметить не для каждого их нас. И так же разрабатывается индивидуально под хотелки клиента. Но архитектурная граница хотелок уже ощутимо близка. Не хочется в каждую вышку мобильной связи лепить суперкомпьютер, исключительно из-за тридцатилетней «ограниченности» PCI шины. Что самое интересное, но переход на ARM совершенно не выход, поскольку на нем мы видим все тот же PCI, и все те же 30 летние ограничения.

Увы, ситуация в деталях повторяет тенденцию с памятью, стало мало? Пихай-суй больше! PCI пространство есть? Что его жалеть, от него не убудет. Увы, уже убудет. Уже, не то что в четверо или вдвое не обрежешь, чем баловался Интел. Уже и в полном объеме, для серьезных игроков — на грани. И применение транспарентных P2P мостов, увы только паллиатив, в сложившейся ситуации.

Только и остается что беречь каждый байт адрес шины. Или мечтать о том что крупные игроки созреют для создания IP6 адресов SuperPCIExpress.

Автор: Сергей

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js