Времянка после синтеза и после трассировки сильно различается?
А то у меня Симплифай есть, а бэкэнда нет, но что-то захотелось засунуть процессор в эту ПЛИСину, сравнить с другими вендорами.
Ну тут можно поспорить. Учитывая, что скорее всего куплен готовый четырехядерный АРМ, разработка которого заняла несколько сотен человеколет, то эта часть не только самая важная, но и самая большая (тем более что A57 продается в комплекте с шинами и L2-кэшом).
С другой стороны, даже если считать, что процессор — это черный ящик, то все равно остается большой простор для творчества и куча возможностей накосячить. Так что разрабатывать там есть чего.
Покупки айпи и аутсорса бэк-энда. Причем доля покупного айпи, как я уже упоминал, может доходить до 90% — но все же оставшиеся 10% делают сами, чтобы хоть чем-то отличаться от конкурентов. То есть это все довольно просто, если есть деньги. Проблема в том, что в каком-нибудь Израиле, который на карте-то не найдешь, таких фирм десятки, а у нас по пальцам пересчитать, при том, что это все отнюдь не rocket science.
Ну мне по долгу службы приходится общаться с большим количеством зарубежных фирм, разрабатывающих собственные микросхемы с нашими IP-ядрами, и я вижу, что такая бизнес-модель имеет место быть и даже очень популярна. Видимо, крадут не все или не у всех, либо считают, что на воровстве нетлистов особо не наживешься.
Серьезные фирмы, конечно, все делают сами. У них на то имеются ресурсы. Покупать лицензии на кучу тулзов для бэк-энда, чтобы выпускать одну микросхему в год, экономически не выгодно (по крайней мере, за пределами России — у нас-то возможны всякие чудеса).
Вообще-то синтез — это не бэк-энд. По крайней мере, я его под бэк-эндом не имел в виду. Обычно люди, у которых мало денег, делают так: покупают IP-блоки, синтезатор и библиотеку стандартных ячеек, добавляют 10% своего RTL-кода, собирают этот конструктор, синтезируют и получившийся нетлист шлют китайцам / индусам, чтобы те уже за них все остальное доделали. Потом, когда микросхема разошлась по миру и принесла много денег, пару китайцев и индуса выкупают из рабства, сажают в соседней комнате и покупают им собственный ICC.
Ну главное, все-таки — RTL (и аналоговщина, если есть). Все ноу-хау там. Дальше уже дело техники, а какую библиотеку подсунуть синтезатору — 40, 28 или 14нм — это дело десятое.
В любом случае, я больше чем уверен, что никакой жути типа процессорных ядер, контроллеров DDR памяти и тому подобного Т-Платформы сами не разрабатывают. Что, разумеется, их заслуг не умаляет — сейчас весь мир так работает (и зарабатывает) — разумеется, если тираж микросхемы ну хотя бы миллион экземпляров :)
Про то, что я там работаю. А «официальный» прайс — это не истина в последней инстанции, всегда можно поторговаться. Тем более, что бэк-энд можно вообще аутсорсить (многие буржуины так делают).
Зачем эта штука T-Платформам — я могу представить, замена интеловских процов на 64-битные армы действительно выглядит перспективно для суперкомпьютеров.
Но зачем она Минпромторгу и Роснано? Зачем им нужна какая-то микросхема — она ведь сама по себе работать не будет. Ее надо припаять на плату, засунуть в корпус… Какое до всего этого дело государству? Если государству нужны коммутаторы, маршрутизаторы и расплывчатая «вычислительная техника» — так надо их и заказывать, и пусть тот, кто на это дело подпишется, сам выясняет, сколько ядер и какой техпроцесс должен быть у процессора и где его взять — купить или самим пытаться разработать. Какой-то нелепый микро-менеджмент.
Пруф есть? 1,2 миллиарда рублей — это меньше 40 миллионов баксов. Бюджет, достаточный лишь для того, чтобы купить готовые IP-ядра у ARM'а и прочих вендоров и собрать из них SoC.
Да, закралась неточность. Вместо «Поиск может быть реализован как аппаратно, так и программно — через обработчик исключения, называемого страничной ошибкой (page fault)» следует читать «Поиск может быть реализован как аппаратно, так и программно — через обработчик исключения, называемого промахом TLB (TLB miss)».
Соответственно, в случае программно реализованного поиска проход по иерархии таблиц (PGD->PMD->PTE в вашем случае) осуществляет обработчик промаха TLB (и уже из него можно прыгнуть в обработчик page fault-а). В случае аппаратно реализованного поиска в MMU добавляется специальная логика, которая делает то же самое, но быстрее. Но такое железо гораздо сложнее и вдобавок жестко завязано на конкретную структуру таблиц, то есть могут возникнуть проблемы с поддержкой операционок с нестандартной иерархией таблиц.
На «этой» — это на той, на которой появится высокий импеданс из-за выкинутого электролита. Поскольку спектр широкий (я и не утверждал обратного) — то скорее всего эту частоту он захватит, появятся помехи по питанию, а дальше уже зависит от обстоятельств.
Хоть убейте, не вижу принципиальной разницы между керамикой и электролитами. Отличаются только характеристиками. Поэтому, разумеется, можно обойтись исключительно керамикой. Вопрос в том, сколько её понадобится и сколько это будет стоить.
Товарищ Фурье утверждал, что меандр все-таки имеет кое-что общее с гармоническим сигналом.
И несмотря на то, что весь этот промискуитет, как вы выразились, действительно трудномоделируем, тем не менее он все-таки моделируем. И хочу вас заверить, активно моделируем. Практически вся современная цифровая техника прочно засела в СВЧ-диапазоне, и ни одну микросхему с каким-нибудь PCIe не запускают в производство, не промоделировав ее каким-нибудь 3D Field Solver'ом, решающим уравнения Максвела.
Что касается графиков, которые я тут понарисовал, то можете погуглить Power Distribution Network или Power Integrity.
Платы, где земля сделана дорожками, не требовательны к импедансу цепей питания, поэтому можно двигать дорожки их как угодно (в разумных пределах — стараясь все-таки оставить какое-то подобие решетки, чтобы меньше фонило), при условии, что они достаточно толстые. На платах, которые действительно требовательны, земля сделана одним, а то и несколькими слоями.
Если кондер этот выкусить кусачками — схема продолжит работать до тех пор, пока процессору не понадобится много тока именно на это частоте. И для этого ему совершенно не обязательно работать на частоте, скажем, 500кГц. Каждый раз, когда процессору понадобится много тока, сначала он возьмет его из паразитной емкости транзисторов, из которых он сделал. Она маленькая, но может отдать ток мгновенно. Надолго ее не хватит — но после нее в дело вступают конденсаторы побольше и «помедленнее» (то есть с минимальным импедансом, смещенным к более низким часотам). Например, керамические конденсаторы по 0,01мкФ, припаянные прямо на выводы питания микросхемы. Еще какое-то время процессор протянет на них. Потом придет очередь танталов, которые расположены подальше от выводов питания, потом — электролитов, и наконец, начиная с десятков килогерц, ток начнет отдавать сам блок питания. Так вот, если вы выкинете тот самый несчастный электролит, импеданс действительно изменится в узком диапазоне — сверху он будет «прикрыт» танталами и керамикой, снизу — блоком питания. Но только именно когда танталов не хватит, а блок питания еще не успеет раскочегартися, ваш процессор и заресетится.
Что касается последовательных и параллельных резисторов, то поверьте, я рисовал эквивалентные схемы и гораздо сложнее, и все они вели себя примерно одинаково. Вот, например, схема для электролита TAJA106K016R из документации и для него же с дополнительной паразитной индуктивностью в 10нГн.
Вот не поленился я и включил LTspice. Итак, имеем идеальный 100мкФ электролит в вакууме — зеленый график. Потом добавляем к нему паразитную индуктивность 1нГн (припаяли наш элекролит прямо к слоям земли и питания), получили синий график. Потом приподнимаем наш электролит на три миллиметра — индуктивность становится примерно 10нГн. Смотрим красный график. Начиная с пятисот килогерц в импеданс цепи питания с приподнятым электролитом в 10 раз больше. Если номинальное напряжение на процессоре 1,1В, минимально допустимое на 10% меньше, т.е. 1В, а пиковое потребление 10А, то очевидно, что импеданс должен быть меньше (1,1-1)/10=0,01Ом, причем желательно — во всем диапазоне частот (а процессор работает, скажем, на 1ГГц).
Конечно, помимо электролита ведь есть еще керамика. Ок, добавим десять жирных керамических конденсаторов по 1мкФ каждый, включенных параллельно:
На частоте в 500кГц импеданс цепи питания с приподнятым на 3мм электролитом в 1000 раз выше. Ваш процессор выключился. Кончно, можно добавить еще горсточку 10мкФ танталовых конденсаторов. Однако в любом случае я бы не был столь категоричен, утверждая, что курить ничего не надо.
Законстрэйнил на 120МГц. Физический синтез не использовал.
Результаты для разных спидгрэйдов:
Virtex -1 — 85 МГц (5070 LUT-ов, 2123 триггеров и 8 RAM-блоков) — самый медленный спидгрэйд
Virtex -2 — 104МГц (5127 LUT-ов, 2195 триггеров и 8 RAM-блоков)
Virtex -3 — 96 МГц (5011 LUT-ов, 2052 триггеров и 8 RAM-блоков) — самый быстрый спидгрэйд
Speedster С3 — 53 МГц (7249LUT-ов, 2116 триггеров и 8 RAM-блоков) — самый медленный спидгрэйд
Speedster С2 — 60 МГц (7266 LUT-ов, 2083 триггеров и 8 RAM-блоков)
Speedster С1 — 71 МГц (7338 LUT-ов, 2138 триггеров и 8 RAM-блоков) — самый быстрый спидгрэйд
А то у меня Симплифай есть, а бэкэнда нет, но что-то захотелось засунуть процессор в эту ПЛИСину, сравнить с другими вендорами.
С другой стороны, даже если считать, что процессор — это черный ящик, то все равно остается большой простор для творчества и куча возможностей накосячить. Так что разрабатывать там есть чего.
Серьезные фирмы, конечно, все делают сами. У них на то имеются ресурсы. Покупать лицензии на кучу тулзов для бэк-энда, чтобы выпускать одну микросхему в год, экономически не выгодно (по крайней мере, за пределами России — у нас-то возможны всякие чудеса).
В любом случае, я больше чем уверен, что никакой жути типа процессорных ядер, контроллеров DDR памяти и тому подобного Т-Платформы сами не разрабатывают. Что, разумеется, их заслуг не умаляет — сейчас весь мир так работает (и зарабатывает) — разумеется, если тираж микросхемы ну хотя бы миллион экземпляров :)
Но зачем она Минпромторгу и Роснано? Зачем им нужна какая-то микросхема — она ведь сама по себе работать не будет. Ее надо припаять на плату, засунуть в корпус… Какое до всего этого дело государству? Если государству нужны коммутаторы, маршрутизаторы и расплывчатая «вычислительная техника» — так надо их и заказывать, и пусть тот, кто на это дело подпишется, сам выясняет, сколько ядер и какой техпроцесс должен быть у процессора и где его взять — купить или самим пытаться разработать. Какой-то нелепый микро-менеджмент.
Соответственно, в случае программно реализованного поиска проход по иерархии таблиц (PGD->PMD->PTE в вашем случае) осуществляет обработчик промаха TLB (и уже из него можно прыгнуть в обработчик page fault-а). В случае аппаратно реализованного поиска в MMU добавляется специальная логика, которая делает то же самое, но быстрее. Но такое железо гораздо сложнее и вдобавок жестко завязано на конкретную структуру таблиц, то есть могут возникнуть проблемы с поддержкой операционок с нестандартной иерархией таблиц.
Хоть убейте, не вижу принципиальной разницы между керамикой и электролитами. Отличаются только характеристиками. Поэтому, разумеется, можно обойтись исключительно керамикой. Вопрос в том, сколько её понадобится и сколько это будет стоить.
И несмотря на то, что весь этот промискуитет, как вы выразились, действительно трудномоделируем, тем не менее он все-таки моделируем. И хочу вас заверить, активно моделируем. Практически вся современная цифровая техника прочно засела в СВЧ-диапазоне, и ни одну микросхему с каким-нибудь PCIe не запускают в производство, не промоделировав ее каким-нибудь 3D Field Solver'ом, решающим уравнения Максвела.
Что касается графиков, которые я тут понарисовал, то можете погуглить Power Distribution Network или Power Integrity.
Если кондер этот выкусить кусачками — схема продолжит работать до тех пор, пока процессору не понадобится много тока именно на это частоте. И для этого ему совершенно не обязательно работать на частоте, скажем, 500кГц. Каждый раз, когда процессору понадобится много тока, сначала он возьмет его из паразитной емкости транзисторов, из которых он сделал. Она маленькая, но может отдать ток мгновенно. Надолго ее не хватит — но после нее в дело вступают конденсаторы побольше и «помедленнее» (то есть с минимальным импедансом, смещенным к более низким часотам). Например, керамические конденсаторы по 0,01мкФ, припаянные прямо на выводы питания микросхемы. Еще какое-то время процессор протянет на них. Потом придет очередь танталов, которые расположены подальше от выводов питания, потом — электролитов, и наконец, начиная с десятков килогерц, ток начнет отдавать сам блок питания. Так вот, если вы выкинете тот самый несчастный электролит, импеданс действительно изменится в узком диапазоне — сверху он будет «прикрыт» танталами и керамикой, снизу — блоком питания. Но только именно когда танталов не хватит, а блок питания еще не успеет раскочегартися, ваш процессор и заресетится.
Что касается последовательных и параллельных резисторов, то поверьте, я рисовал эквивалентные схемы и гораздо сложнее, и все они вели себя примерно одинаково. Вот, например, схема для электролита TAJA106K016R из документации и для него же с дополнительной паразитной индуктивностью в 10нГн.
Конечно, помимо электролита ведь есть еще керамика. Ок, добавим десять жирных керамических конденсаторов по 1мкФ каждый, включенных параллельно:
На частоте в 500кГц импеданс цепи питания с приподнятым на 3мм электролитом в 1000 раз выше. Ваш процессор выключился. Кончно, можно добавить еще горсточку 10мкФ танталовых конденсаторов. Однако в любом случае я бы не был столь категоричен, утверждая, что курить ничего не надо.