Помимо PCIe через этот коннектор проходит еще много всяких специфических сигналов (например для подключения BMC к менеджмент-шине процессоров), не предусмотренных в стандартной распиновке PCIe слота.
Единицы месяцев. Больше месяца назад у нас был первый пост, в котором были видны уже некоторые прикидки и наброски по плате. Они сами по себе, понятное дело, требовали времени. Сейчас работа по трассировке сильно продвинулась, но сказать что через две недели совсем закончим — точно нельзя. Плюс еще будет цикл ревью, как внутреннего, так и внешнего (IBM) — это тоже время.
Мы описываем разработку сервера, и статьи в целом освещают его устройство (даже эта, хотя она конечно совсем поверхностная, но тем не менее). Можно начать описывать какие-то совсем узкие технические аспекты — но круг лиц, кому это хоть как-то может быть интересно будет совсем небольшим.
Для нас эти статьи в первую очередь — просто worklog, а не цикл мастер-классов.
Не совсем так. Мы в первую очередь ориентируемся на рекомендации производителей компонентов из документации на компоненты. Если там футпринт отсутствует — естественно делаем по IPC. Иногда футпринты слегка правятся при получении фидбека от наших партнеров — производителей PCB (это может быть вызвано их технологическими ограничениями или опытом).
Если компонент пять лет назад прекрасно паялся и мы не имели брака с ним — нет повода считать, что брак появится сейчас из-за того, что в IPC изменились рекомендации. И здесь даже не то, что «лучшее — враг хорошего» — просто у нас и без перелопачивания по десять раз библиотек хватает занятий. И да, никакие платные библиотеки (или просто библиотеки скачанные непонятно откуда) мы не используем. Логика всегда простая, в порядке убывания предпочтительности — либо берется уже готовый футпринт от производителя компонента (кто-то выкладывает их в явном виде, где-то можно быстро выдрать из выложенных референс-дизайнов), или рисуем его сами по рекомендациям из datasheet'а, или рисуем сами по IPC. И естественно везде не выключаем голову (это насчет кривовато сделано — да, бывает, но редко довольно).
Библиотеки — вещь во многом историческая (зачем заново рисовать футпринт который был нарисован еще пять лет назад?), отсюда может быть некоторый зоопарк конечно: что-то рисовалось давно и совсем другими людьми и даже в бытность нашу в других компаниях, где-то просто берутся футпринты от вендоров компонентов. Основной принцип простой: работает — не трогай!
К сожалению тут все немножко сложнее, чем просто разветвить — чтобы один порт x16 превратить в два по x8 надо ставить коммутатор на 32 лэйна, а это не сильно дешево. Либо, если процессор поддерживает нативно такое разбиение порта — можно просто развести его на два по х8, но при этом надо править BIOS чтобы там была включена правильная конфигурация портов в процессоре — тоже не для слабых духом задачка :)
Да, это конечно можно сделать. Только по x4 скорость-то будет всего около 30 гигабит на линк… Это конечно возможный вариант, но уж больно нишевый, мало кому это надо. Тем более если это надо в количестве 1 штука и для себя — проще на e-bay купить IB адаптеры какого-нибудь сильно предыдущего поколения (EDR — 40Gb) и на них все сделать.
Я думаю что из готовых решений вряд ли что-то будет дешевым, потому что все обычно ориентируются на порты x8, а это сильно дороже. Исходя из того, что потоки у ваших устройств достаточно маленькие, да и сами они работают только в Gen2, самым дешевым вариантом будет использовать коммутатор PEX8625 от Avago (24 линии с возможностью разбиения аж на 24 порта, PCIe Gen2). Итого 16 портов по x1 уходит к слотам, и x4 или x8 уходит наружу. Но все это актуально конечно только если вам нужна серия, потому что если вопрос одной-двух штук — берите любое готовое решение, разработка все равно дороже будет.
Я если честно TB детально не смотрел в плане задержки, поэтому не подскажу. На PCIe свиче задержка порядка 150нс добавляется, и для связи двух хостов достаточно одного свича с NTB. Для TB задержка вряд ли будет ниже, поскольку производится два раза конверсия — PCIe->TB и потом TB->PCIe.
Все же TB и PCIe over cable — решения для разных задач.
Для нас эти статьи в первую очередь — просто worklog, а не цикл мастер-классов.
Если компонент пять лет назад прекрасно паялся и мы не имели брака с ним — нет повода считать, что брак появится сейчас из-за того, что в IPC изменились рекомендации. И здесь даже не то, что «лучшее — враг хорошего» — просто у нас и без перелопачивания по десять раз библиотек хватает занятий. И да, никакие платные библиотеки (или просто библиотеки скачанные непонятно откуда) мы не используем. Логика всегда простая, в порядке убывания предпочтительности — либо берется уже готовый футпринт от производителя компонента (кто-то выкладывает их в явном виде, где-то можно быстро выдрать из выложенных референс-дизайнов), или рисуем его сами по рекомендациям из datasheet'а, или рисуем сами по IPC. И естественно везде не выключаем голову (это насчет кривовато сделано — да, бывает, но редко довольно).
Зазор контролируется по DFA.
Все же TB и PCIe over cable — решения для разных задач.