Pull to refresh

Comments 48

А что, лучше пост без фоток? Или что вам не нравится?
С точки зрения радиационной стойкости, в этом чипе применены два основных приема:
1) специальная библиотека логических элементов. Код на верилоге при этом пишется абсолютно обычный, но когда он транслируется в нетлист (и потом в топологию) вместо обычных инверторов, ИНе, триггеров и т.д. ставятся специальные, защищённые от радиации. В таких эленметнтах может быть другая схемотехника (больше транзисторов для достижения внутреннего резервирования или компенсации каких-то эффектов) и другая топология (специальная форма затворов транзисторов, охранные кольца из легированных слоев). На уровне элементов обычно делается защита от полной поглощенной дозы и от тиристорного эффекта. Кроме того, рискну предположить, что в категорию «элементы» для простоты картинки могли быть засунуты, например, кэши со специальными радстойкими ячейками или даже с ECC.
2) У чипа более устойчивый к полной дозе радиации корпус. Это достигается за счёт тонких танталовых (не обязательно, но обычно это тантал) пластин вокруг чипа, которые задерживают излучение (это такой ответ на вопрос «а почему бы не сделать у спутника свинцовые стенки?» Но при этом такой корпус делает хуже стойкость к одиночным сбоям.
Существует также много других методов повышения стойкости к различным воздействующим факторам космической радиации, озвученный набор говорит о том, что разработчики чипа не очень переживали насчет одиночных сбоев и были больше озабочены полной дозой и тиристорным эффектом.

UPD из комментария ниже: судя по всему, процессор изготовлен по технологии «кремний на изоляторе». В ней все транзисторы изолированы друг от друга диэлектриком, что исключает возникновение катастрофического тиристорного эффекта, добавляя при этом хлопот с полной дозой и одиночными сбоями. Тем не менее, такая мера часто оправдана, потому что случайные отказы сложно парировать по-другому, тогда как для борьбы с негативными последствиями использования КНИ существует множество методов (которые, скорее всего, использованы в библиотеке элементов).
Необходимо, правда, заметить, что фраза «space processors are built on SOI» является мнением конкретного японского разработчика и не является универсальной истиной. На объемной технологии тоже можно сделать все, что нужно, и иногда это даже проще чем на КНИ, зависит от требований задачи и от специфики техпроцессов.
Почему обычно именно тантал, а не вольфрам, например или золото?
Точему именно тантал — не знаю. Вольфрам тоже применяют, и сплавы, и т.д.
Думаю, там смесь экономических соображений и легкости интеграции пластин (или напыления) с керамикой, а не только вопрос плотности металла. Плюс наверное стоит посмотреть, как различаются вероятности ядерных реакций с протонами для разных материалов и какие получаются продукты этих реакций.
И тантал, и вольфрам, и, например, платина — популярные материалы для мишеней в ускорителях заряженных частиц, а значит, при ядерном взаимодействии пуска протонов с ними получается много продуктов, то есть, в нашем случае, много одиночных сбоев.
А не могли бы вы рассказать, почему именно тантал используется? Я что-то в поисковиках по запросу «тантал радиационная защита» ничего не нахожу.
Спасибо.
Не «именно тантал», а «обычно тантал». Принципиально: чем больше плотность — тем лучше. Топ-10 металлов по плотности:
Осмий (22,62 г/см3),
Иридий (22,53 г/см3),
Платина (21,44 г/см3),
Рений (21,01 г/см3),
Нептуний (20,48 г/см3),
Плутоний (19,85 г/см3),
Золото (19,85 г/см3)
Вольфрам (19,21 г/см3),
Уран (18,92 г/см3),
Тантал (16,64 г/см3).

Нептуний, уран и плутоний отсекаем по понятным причинам, а дальше начинаются частности в виде цены, технологичности, влияния на одиночные сбои и т.д.
Почему уран отсекаем? Стабильный уран малоопасен и не дорог… Из него даже пули пытаются делать.
Из него контейнеры для хранения радиоактивных материалов делают.
наверное не хотят накапливать на нем плутоний, который будет там образовываться от попадания быстрых частиц
Принципиально: чем больше плотность — тем лучше.


Это в космосе-то?
habr.com/ru/post/156049

Из-за всех этих проблем радиационную защиту из тяжелых элементов, как на земле — в космосе не используют. Используют защиту большей частью состоящую из алюминия, водорода (из различных полиэтиленов и проч), т.к. его разбить можно только на субатомные частицы — а это намного сложнее, и такая защита генерирует меньше вторичной радиации.

Но в любом случае, от ТЗЧ защиты нет, более того — чем больше защиты — тем больше вторичной радиации от высокоэнергетических частиц, оптимальная толщина получается порядка 2-3мм Алюминия. Самое сложное что есть — это комбинация защиты из водорода, и чуть более тяжелых элементов (т.н. Graded-Z) — но это не сильно лучше чисто «водородной» защиты. В целом, космическую радиацию можно ослабить примерно в 10 раз, и на этом все.


Мне для космоса и нужна защита компонентов изделия. Потому и спросит, зачем тантал? Может, он уникальный в чём-то в качестве защиты.
Да, в космосе. Для защиты от полной дозы излучения — чем больше плотность, тем лучше. Тантал ничем не уникален с точки зрения радиационной защиты, в реальности используются также многослойные структуры из разных металлов.

В приведенной вами цитате первый абзац полностью неверен, а второй говорит не про дозу, а про ТЗЧ. Про ТЗЧ я то же самое сказал выше: от танталового корпуса или любого другого экрана из плотного материала, уменьшающего дозу, ситуация по ТЗЧ становится хуже (причем намного).
В приведенной вами цитате первый абзац полностью неверен,


А, ну-ну. Анекдот про филина и мышей помните? Стратегия мне не интересна. Мне реальное решение интересно. А реальное решение именно такое, как и описано в той статье. И проблемы те же, что там и описаны. Запустить десять метров свинца на стенке спутника мы не можем — ЦСКБ «Прогресс» не позволяет. С чего бы это, как думаете? :)
Реальное положение вещей таково, что японцы используют специальный корпус микросхемы, повышающий стойкость к полной поглощенной дозе. И что, например, «Тестприбор» предлагает такие корпуса. Вполне реальное решение:
При использовании электронного устройства на орбите МЕО, где преобладающими частицами являются протоны, корпуса с интегрированной радиационной защитой (ИРЗ) позволяют усилить защиту кристалла от жесткого космического излучения до 4х раз.

Так же использование корпусов с РЗЭ позволяет обеспечить защиту от рентгеновского излучения в пределах 1,3÷1,5 раз.

Применение комбинаций технических решений с использованием радиационно-защищающих корпусов позволяет разработчикам интегральных микросхем с большей долей вероятности достичь необходимых результатов. Объединение в одной гетерогенной структуре веществ с малым и большим Z создает условия для многократного отражения частиц и – γ-квантов от поверхностей контакта слоев этих веществ и возвращение фотонов в слои, заполненные высокопоглащающим веществом, не выходя за внешние пределы структуры. Благодаря своему специфичному строению, такая структура является своеобразной ловушкой для фотонов.

Применить то же самое в большом масштабе, сделав свинцовый или вольфрамовый корпус целому блоку или всему спутнику, нельзя, потому что получится слишком тяжело, чтобы это куда-то долетело, но локально такие экраны для снижения дозовой нагрузки вполне себе используются — там, где прямо очень нужно поставить что-то, не укладывающееся в требования по дозе и при этом не боящееся ТЗЧ.
Вполне реальное решение:


Всё это мне известно.

но локально такие экраны для снижения дозовой нагрузки вполне себе используются


Проблема в том, что обычно, электроника боится и того и другого.
Проблема в том, что обычно, электроника боится и того и другого.
А никто и не говорил, что такой экран — это универсальное решение. И даже что это хорошее решение. Я как разработчик радстойких микросхем вообще за то, чтобы мне заказывали побольше новых дизайнов вместо того, чтобы вот такими костылями повышать стойкость плохо подходящих для космоса микросхем.
Но такое решение может быть подходящим в некоторых случаях. Допустим (сферически в вакууме), что у вас есть микросхема на КНИ, но с плохой дозовой стойкостью.
Да, примерно это я и имел в виду, говоря про кэши с ECC.
В качестве дополнения можно также уточнить, что популярным материалом для корпусов радиационно-стойких ИС в нашей микроэлектронной промышленности является Ковар (29НК, если не ошибаюсь) — железо (53%), кобальт (17%), никель (29%).
Так и запишем: MIPS замешан в бомбардировках мирных астероидов.
В варварском освоении мирного космоса замешаны все популярные архитектуры микропроцессоров и микроконтроллеров, и ещё ряд специализированных. Разве что RISC-V пока не засветился, но это дело времени.
UFO just landed and posted this here
Неправильно слышали, такое количество транзисторов нельзя развести вручную человек может задать ограничения для программ, размещающих и разводящих элементы, но не более того.
Вручную реально сделать или небольшие по размерам, но критичные для производительности блоки (например, делитель и умножитель), или блоки из повторяющихся элементов (регистровый файл и кэш-память).
Мы тут в компании недавно работали над нейроакселератором, который начинался как custom design, а потом был переписан на верилоге. Выяснилось, что получилось не намного медленнее. Конечно, в интеле и amd есть куски datapath роеализованные на custom logic, но бОльшая часть, как мне говорили и люди из AMD, и люди из Intel-а, делается на верилоге.

Код на верилоге превращается в топологию с помощью логического синтеза и последующего place & route + дополнительные шаги (static timing analysis, power grid synthesis, clock routing). Вы можете пролистать вот эту презентацию или пройти онлайн-курс с обзором RTL2GDSII.
UFO just landed and posted this here

Какие перспективы трудоустройства у школьников, которые заинтересуются проектированием процессоров и поступят на соответствующие факультеты, с учётом того, что с появлением 5G грядёт массовый переход на тонкие клиенты и облачные вычисления, а значит большинство современных семейств мобильных и десктопных процессоров исчезнут и на рынке останутся только топовые процессоры от производителей уровня IBM?

5G чипы тоже не на деревьях ростут и в них есть процессоры. Ядро MIPS I7200 (multithreaded in-order dual-issue superscalar) предназначено для использования в 5G чипах:

www.mips.com/press/new-mips-i7200-processor-core-delivers-unmatched-performance-and-efficiency-for-advanced-lte5g-communications-and-networking-ic-designs

New MIPS I7200 Processor Core Delivers Unmatched Performance and Efficiency For Advanced LTE/5G Communications And Networking IC Designs

Santa Clara, Calif. – May 1st, 2018 – MIPS, provider of the widely used MIPS processor architecture and IP cores for licensing, today announced the I7200 multi-threaded multi-core processor, a new high performance licensable IP core in their midrange 32-bit product lineup. Class-leading efficiency is essential to power sensitive applications such as the high bandwidth modem subsystems in Advanced LTE Pro and upcoming 5G smartphone SoCs, as well as networking ICs, and other applications. The I7200 delivers 50% higher performance in less than 20% area increase than the previous generation from MIPS.

Процессоры никуда не денутся. Просто это будут процессоры для мобильных устройств или коммуникационного оборудования. И эти процессоры будут весьма сложными, как уже сейчас являются весьма сложными процессоры смартфонов, несмотря на то, что они большей частью анимированные смайлики обсчитывают и фотографии улучшают.
В тонких клиентах тоже есть процессор. А еще сейчас активно развиваются разные специализированные вычислители, например майнеры биткоинов, ускорители нейросетей, графические процессоры. Так что школьникам работы хватит.
с появлением 5G грядёт массовый переход на тонкие клиенты и облачные вычисления

С 90-х это слышу.
Очень странно, целый 64-битный процессор да ещё и с защитой памяти! Зачем то и другое на космическом аппарате?
А ось, интересно, этот вот µITRON, умеет в виртуальную память?
Узкое место всех спутников дальнего космоса — очень медленный радиоканал до Земли. Это значит, что всю собранную информацию нужно обрабатывать и максимально сжимать на борту спутника — для этого и нужен мощный процессор.
Например, The New Horizons передавал фотографии Плутона, сделанные во время пролета (который занял несколько часов), в течение нескольких месяцев — и это были уже обработанные и сжатые фотографии.
ну 64-битность даёт только чуть более лёгкую работу с int64_t, и ВСЁ. Ясно, что 64-битное адресное пространство никуда не пригождается.

В целом ощущение, что японцы как купили на волне хайпа эту корку, так и пихают её без разбора везде уже почти 20 лет :)
Не «пихают без разбора», а «используют проверенное и хорошо себя зарекомендовавшее решение с серьезным flight heritage».
*** ну 64-битность даёт только чуть более лёгкую работу с int64_t, и ВСЁ. ***

Еще некоторая оптимизация при load-store операциях из регистров общего назначения в память (через кэш или некэшируемым образом). Целый восьмибайтный кусок за один раз. Хотя на 32-битном процессоре это можно делать как load или store пары 32-битных регистров, но тем не менее.
ну 64-битность даёт только чуть более лёгкую работу с int64_t, и ВСЁ
и добавляет работы с виртуальной памятью, которая даже в mips32 сделана хм… неудобно
Перечислите конкретные неудобства.

Я знаю только одно существенное — это двойной TLB entry, с двумя трансляциями для смежных страниц. У этого неудобства исторические причины, оно практически случайно просочилось в стандарт MIPS32 из-за некоей хохмы начала 1990-х, в которую были замешаны Silicon Graphics и Микрософт, которые портировали Windows NT на MIPS.

Другие нетривиальные вещи — например прерывание по ненахождению трансляции в TLB и подгрузка его из таблицы в памяти, а также более хитрый случай с подгрузкой трансляции по второму разу из таблицы в виртуальной памяти — это не bug, а feature, для эффективности процессора.

Кроме этого, в более новых MIPS, например в MIPS P5600 внутри российского процессора Байкал BE T1000, есть Hardware Page Table Walker, который автоматизирует этот механизм.
-пара регистров EntryLo0/1 — приходится ворочать сразу двумя страницами;
-двойной вызов TLB Refill после промаха по таблицам страниц;
-сегменты памяти — тут у нас кэш, тут не кэш, здесь через MMU, а тут сразу физика. Зачем?
-2 регистра Context и EntryHi — в обоих лежат адреса исключения TLB. Есть еще BadVaddr примерно с тем же содержимым. Это просто странно, зачем плодить столько сущностей.
Может есть какие-то трюки, что это все не вызывало такое отторжение, но мне они неизвестны.

off/ из трех процов, что у меня есть(комдив64\mips42kc\cortex-a8) — проще всего было отладить arm
*** -пара регистров EntryLo0/1 — приходится ворочать сразу двумя страницами; ***

Это исторический инциндент. Трюк с двойными записями родился для экономии на компараторах. Согласно Майку Гупте, одного из дизайнеров MIPS R4000 (1991):

* Процессор с 64 одинарными записями TLB не влазил в floorplan
* Влез дизайн с 24 двойными записями (48 трансляций)
* Решение стало стандартным в начале 1990-х по требованию Микрософта
* Микрософт и MIPS были членами комитета Advanced Computing Environment (ACE)
* Микрософт портировал на MIPS Windows NT
* В 1999 году трюк с двойными записями просочился в стандарт MIPS32

www.panchul.com/dropbox/2013_11_23/imgtec_mips_microchip_masters_russia_2013.pdf

*** -двойной вызов TLB Refill после промаха по таблицам страниц; ***

Это имеет некую логику, описанную в See MIPS Run Linux.

*** -сегменты памяти — тут у нас кэш, тут не кэш, здесь через MMU, а тут сразу физика. Зачем? ***

А разве у ARM нет регионов памяти с разными атрибутами кэширования итд?

*** -2 регистра Context и EntryHi — в обоих лежат адреса исключения TLB. Есть еще BadVaddr примерно с тем же содержимым. Это просто странно, зачем плодить столько сущностей. ***

Логику этого я забыл, надо вспомнить по своим старым презентациям. Это есть в See MIPS Run Linux.

Но вообще спасибо за feedback.
А разве у ARM нет регионов памяти с разными атрибутами кэширования итд?

Насколько я знаю, у «больших» армов с MMU, типа armv7-a (cortex-a*) — нет, и все атрибуты задаются именно MMU. А вот у тех что без, «для контроллеров» — есть, например armv7-m (cortex-m*).
Это исторический инциндент.
Оправдалась ли экономия? Может быть стоило чуть ужаться в другом месте и сделать MMU на 64 entry?
А разве у ARM нет регионов памяти с разными атрибутами кэширования итд?
Есть, они прописаны в атрибутах страниц\секций. Как собственно и у MIPS в регистре EntryLo в поле С. Тут я про сегменты KSEG0\1\2.
See MIPS Run Linux.
Книга хорошая, подсматриваю туда.

Собственно, я не джедай по mips, и наверное просто не умею его готовить.
*** Оправдалась ли экономия? Может быть стоило чуть ужаться в другом месте и сделать MMU на 64 entry? ***

Экономия конечно же не оправдалась, это было принятое в последний момент решение для одного чипа, чтобы его подогнать под бюджет площади, но изменение этого потом не делалось, так как меняло софтверную совместимость. Впрочем, возможно это и стоит сделать (у нас в MIPS сделали довольно сильные изменения при переходе от Revision 5 к Revision 6.
Sign up to leave a comment.

Articles