Pull to refresh
335
25.3
Юрий Панчул / Yuri Panchul @YuriPanchul

Проектировщик CPU, GPU, сетевых микросхем

Send message

Эмуляции? В смысле симуляции? На каком уровне:

  1. Моделирование движения электронов и дырок в материалах

  2. На уровне аналоговых элементов - SPICE

  3. На уровне цифровых транзисторов - switch level

  4. На уровне логических элементов и триггеров - gate-level

  5. На уровне регистровых передач - Register Transfer Level (RTL)

  6. На микроархитектурном уровне - конвейеры, очереди

  7. На архитектурном уровне - инструкции, видимые программисту регистры

  8. На уровне системы на кристалле - IP-блоки, интерконнект

  9. Что-нибудь еще?

Вы собрались разработать собственный GAAFET транзистор и строить вычислительное устройство из них, а не из ASIC library?

Я не предлагаю "симулировать FPGA", я предлагаю использовать FPGA для прототипирования будущего ASIC-а. Или вы будете реализовывать ваш процессор не на технологии ASIC standard cells?

А в чем проблема?

  1. Скачайте симулятор Icarus Verilog, купите FPGA плату для прототипа, софтвер для синтеза для FPGA и ASIC (OpenLane) для static timing analysis.

  2. Сделайте прототип.

  3. Пойдите к венчурным капиталистам, возьмите у них миллиард рублей и продуктизируйте.

Опанасенко несомненно жертва, причем его как-то плохо подставили. Я не знаю данной московской конфигурации людей, которым это было нужно, но насколько я читал в прессе, там были какие-то непонятные претензии к Байкалу-Т, требующие от него быть не тем что он есть. Типа Байкал-Т позционировался как встроенный процессор, с которым может работать линуксный терминал или там устройство в полицеской машине, а от него требовали быть интелом с виндоус или что-то в таком роде (не помню точно). Если вы расскажете что вы про это знаете, мне будет интересно. И как бы у него могло сложится лучше? К ARM-based системе могли бы быть те же самые претензии, причем она в тот момент еще не существовала.

В 2012 году Imagination Technologies и Bridge Crossing купили MIPS - ради его патентов, т.е. судьба MIPS как раз в тот год была предрешена.

Вы слышали звон, но не знаете где он. Патенты продавались отдельно (Bridge Crossing), а ядра MIPS и команда R&D отдельно (Imagination). Уже после сделки MIPS в составе Imagination выпустил совсем новые ядра Samurai MIPS I6400 и Daimyo I6500, а также модификации старых ядер.

Байкал T1 вышел в 2015 году, но презентацию менеджерам Байкала я сделал в 2012. В 2015 году позиция MIPS была не очень прочной, но это решение было лучше чем ARC и Tensilica (другие ядра того времени - RISC-V ядер этого класса тогда не было) и конкурентоспособное по сравнению с ARM Cortex A15.

А что вы считаете я должен был делать? Ничего? ARM-based Байкал получился существенно позже, было бы просто потеряно года три.

MIPS кстати существует и сейчас - они поменяли декодер на RISC-V, расширили execution pipe и теперь расширяются как RISC-V компания, с таким клиентом как MobilEye (Intel).

Это когда нам впаривали помирающий MIPS? Ничего себе - чем Вы гордитесь! Да за это при Сталине расстреляли бы.

В момент, когда все это происходило - MIPS не был помирающей архитектурой. Он имел второе место после ARM и использовался такими клиентами как MobilEye (сейчас Intel), Cavium и Broadcom (сетевые процессоры), Infineon (WiFi modems), MediaTek, PMC-Sierra (дисковые контролеры) итд. Я уже и не говорю на то, что на MIPS поставил Loongson в КНР.

При этом ARM в том время только начал продавать в России и продавал только obfuscated ядра (без читабельных исходников).

Я уже и не говорю о том, что в то время в России были компании с собственными MIPS ядрами (НИИСИ и НПО Элвис).

Таким образом сделка с MIPS была логична и привела к появлению процессора Байкал Т1, который использовался в дюжине устройств и был прорывом по многим показателям: совместная работа команд в Москве, Калифорнии и Орегоне, первая out-of-order суперскалярная многоядерная система на кристалле в России и другие полезные достижения.

Одна мы видим, что он не сработал. Война началась. Т.е. Вы не понимаете как работает мир и Ваша точка зрения глубоко ошибочна.

Мир работает многомерно. Не всегда есть возможность контролировать все. Тут возник черный лебедь из-за этого дурацкого расширения НАТО на восток, Майдана и войны. Если бы этого не было, все было бы как в восточной Азии - Южная Корея, Тайвань, КНР итд. Так и рассматривали Россию британцы и американцы - как мини-КНР в некотором роде. И оно все и вероятно будет, после достижения мирного соглашения по Украине.

Я раньше (2010-2012) участвовал в сделках западных компаний с российcкими в области микроэлектроники, а потом и теперь участвую в образовательных программах в России, которые, по моей теории, помогут подготовить новое поколение российских инженеров, которые будут интегрировать Россию с компаниями в Азии и (после снятия санкций лет через несколько) в Европе и США. С моей точки зрения, экономическая и технологическая интеграция (сделки между компаниями разных стран, сотрудничество университетов) - это самый надежный способ предотвращения войн.

Не думаю :-) Есть люди, стоящие на позиции "если реальность не ведёт себя по моим представлениям - тем хуже для реальности" :-)

В смысле что я сказал, что их комитет занимается ерундой и это не работает? Так это секрет полишинеля - в пятницу сайт "война и санкции" закрыли по этому поводу - см. https://rubryka.com/ru/2024/03/20/pislya-zayav-posliv-krayin-partneriv-uryad-vyrishyv-zakryty-reyestr-sponsoriv-vijny-vid-nazk/

А вопрос я задал - мне было интересно понять, осознает ли все это Макфол. Оказывается осознает, а вот Зеленский - не осознает.

Ну это он не один делает, помимо стенфордской части, на гранты для этого проекта еще куча людей в Киеве живет.

В заметке не раскрыто, что после ctrl+z можно набрать jobs -l и убить заторможенный процесс с помощью kill -9

Монументально! Буду на следующей неделе читать, извлекать что не знаю

Я живу в Силиконовой Долине 33 года, работаю проектировщиком микросхем и все местные русские ещё с 1970-х годов называли нашу Долину Силиконовой, в том числе работники Стенфорда. Не надо мне грузить про разницу слов Silicon и Silicone, я знаю. Просто так звучит сочнее.

Весь этот холивар за Кременевую начал бывший редактор советского журнала "Микропроцессорные средства и системы" который в середине 1980-х опубликовал статью, что Силиконовая якобы неправильна. С тех пор куча умников, которые ничего про проектирование силикона не знают, пытаются всех учить как надо называть Долину.

Я же готов выслушивать такие поучения только от того, кто ответит на мой вопрос: приведите десять способов экономии динамического энергопотребления микросхем при проектировании на уровне регистровых передач. Если не можете, кончайте со своим занудством.

Вы ошибаетесь: я говорил про российские ВУЗы. В 90-ых годах там начинали с ассемблера 8086, потом переходили на i386.

Наверное потому что нужны были не проектировщики процессоров, а писатели драйверов для привезенных писишек.

Что-то я не заметил, что выпускники российских ВУЗов после изучения ассемблера x86 не могли найти работу в западных компаниях. Ещё как могли, могут, и до сих пор ценятся.

В основном программистами. Проектировщиков микросхем или комбинаций из хардвера и софвера для гетерогенных систем меньше.

Паскале в качестве первого языка программирования, скажем для 6-летнего ребёнка. Давать сразу Verilog – очень сомнительная затея.

В Паскале я тоже не вижу ничего плохого, так как он не прививает дурных привычек, которые потом будут мешать понять C, Rust итд, но почему не давать сразу более новые языки? Basic не нужен так как его ниша полностью замещена питоном.

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

Проблема с изучением PDP-11: Если использовать его не только для обучению программирования на ассемблере, но и для обучению проектированию процессора, то с pdp-11 будет мешать то, что будут возникать дополнительные особые случаи идущих друг за другом инструкций в конвейере, которые нужно будет регулировать форвардингом и остановками.

Вообще я не пытаюсь говорить никаких революционных идей, а рассказываю, как в Америке последние 30 лет преподается курс компьютерной архитектуры. Он состоит из комбинации ассемблера MIPS, ARM или RISC-V, потом построения простого процессора (сначала однотактового, потом конвейерного), реализация его на языке описания аппаратуры Verilog в симуляции, и дополнение всего этого лабами на верилоге на FPGA платах. x86 описывается как некий случай на нескольких страницах учебника чтобы студенты знали. Про pdp-11 все забыли много-много лет назад (за исключением одного профессора в Портленде который даёт студентам реализовать подмножество pdp-11 без аутоинкрементов чтобы они не списывали друг у друга MIPS). Такой метод производит поток студентов, которые потом идут интернами в Intel.

Такой же подход используется в Великобритании, внедрился (правда с большим опозданием) в Китае и Индии. В континентальной Европе есть разное (в том числе профессора с старыми заморочками). В России это внедрилось в вузах типа МИЭТ, ВШЭ МИЭМ и внедряется в других, особенно последние годы.

С начала 1990-х учебники Паттерсона и Хеннесси использовали сначала архитектуру MIPS, а потом RISC-V чтобы учить сначала программированию на ассемблере (архитектуре), а потом устройству конвейера (микроархитектуре). Прогоаммистская часть risc-v ничем не сложнее pdp-11, зато с нее можно естественно переползти на проектирование процессора, а вот с pdp-11 будет мешать то, что будут возникать особые случаи идущих друг за другом инструкций, которые нужно будет регулировать форвардингом и остановками. Что для первого упражнения геморрой.

Каких студентов - которые пишут программы на ассемблере - или которые конструируют свой первый конвейерный процессор на верилоге которые должны эти программы выполнять? Я имел в виду вторых.

Это примитивная интерпретация текста Вирта. Если преподаватели требуют избегать goto при программировании на Си любой ценой, например с помощью введения дополнительных условий в цикл, то они скорее всего некомпетентны. Потому что все нормальные разработчики знают, что есть случаи использования Goto когда это OK - см. напр.

Случай 1

https://stackoverflow.com/questions/3517726/what-is-wrong-with-using-goto
Случай 2

https://www.cprogramming.com/tutorial/goto.html

Information

Rating
220-th
Location
Sunnyvale, California, США
Date of birth
Registered
Activity