Записки CPU designer'a – Telegram
Записки CPU designer'a
2.93K subscribers
195 photos
2 videos
5 files
292 links
Всем привет. Меня зовут Николай.
Работаю RTL design инженером, амбассадором в RISC-V International.
В свободное время пишу о магии процессоростроения и цифровом дизайне.
Download Telegram
Технические неполадки на RISC-V Summit
Если подключились к трансляции, то не обновляйте экран.
Александр Редькин, генеральный директор Syntacore, войдёт в состав совета директоров RISC-V

"At this Premier level, Alexander Redkin, CEO and co-founder at Syntacore, will join the RISC-V Board of Directors."
На YouTube канале RISC-V International начали выкладывать записи докладов с RISC-V Summit 2021
Доклад Syntacore и анонс нового IP
Доклад от института вычислительной техники Китайской академии наук.

Успехи коллег из Китая впечатляют.
Удивил timeline разработки hp out-of-order CPU на Chisel. От первого коммита до тейпаута прошло чуть больше года.
Конечно я не знаю количественные характеристики на проекте по человеко-часам, но все равно впечатляет.

В докладе очень подробно расписаны подходы к perfomance modelling - вот тут таймкод. Про эмуляторы за миллионы долларов тоже упомянули.

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

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

Сам процессор полностью открыт, написан на Chisel. Исходники найти можно на git'e
Сравнение векторных расширений RISC-V, ARM, AVX-512 на RISC-V General Member Meeting

Спасибо Дмитрию Кузнецову за наводку
Актуальный вопрос [особенно на фоне мирового дефицита чипов] от автора легендарного учебника по цифровой схемотехнике и архитектуре компьютера - Девида Паттерсона (либо вопрос от его тёзки).

Вопрос: когда снизится цена на чипы на базе RISC-V? Видимо вопрос адресован больше к SiFive.

Сейчас простейшая отладка на базе FE310 стоит порядка 20$

За отладку в форм-факторе Arduino придется отдать уже 40$

Всегда конечно есть разработчики из поднебесной - Longan с отладкой за 7.5$

Думаю последний вариант не особо интересен преподавателям в США😅
Записки CPU designer'a
Доклад от института вычислительной техники Китайской академии наук. Успехи коллег из Китая впечатляют. Удивил timeline разработки hp out-of-order CPU на Chisel. От первого коммита до тейпаута прошло чуть больше года. Конечно я не знаю количественные характеристики…
Наконец-то дошли руки до XiangShan

Давно хотел разобраться с chisel, посмотреть как себя ведет сгенерированный verilog под vivado/quartus.

Спустя несколько часов, прописывания
всех environment, установки chisel, jdk, verilator, изучения issue на китайско-английском языке пришел к следующим выводам:

1. с 16 гб собрать процессор даже в минимальной конфигурации не получится.
# An error report file with more information is saved as:
# /home/nicktern/XiangShan/hs_err_pid12197.log
1 targets failed
XiangShan.runMain subprocess failed
Однако, вот тут у пользователя это получилось. в build config он прописал 16гб, но при этом реальной памяти было 24гб. Так что если у вас, как и у меня 16гб оперативки, то можно даже не пытаться

2. я бы не потратил несколько часов на попытки переписать build config, если сразу прочел бы Troubleshooting Guide, где на первой же строчке написано:

Make sure your device have enough memory. Xiangshan project is quite memory intensive. We recommand 32GB memory for MinimalConfig and 64GB memory for full XiangShan
🤦‍♂️🤦‍♂️🤦‍♂️

3. Хорошо, когда у процессора есть документация. Плохо когда она только на китайском.

Пока что буду подыскивать сервер для экспериментов и переключусь на Berkeley Out-of-Order RISC-V Processor, хотя кажется мне лучше все-таки начать с ChiselV😅
This media is not supported in your browser
VIEW IN TELEGRAM
С ChiselV и правда оказалось все проще. Chisel to Verilog в этот раз не запросил 16+гб оперативной памяти. Дизайн с первого раза собрался под Vivado. Покопался в Verilator, нарисовал в консоли название лучшего FPGA комьюнити🤟🏻

p.s. @KeisN13, я знаю что ты уже хочешь написать. Статья для ПЛИС-систем в процессе
Записки CPU designer'a
Наконец-то дошли руки до XiangShan Давно хотел разобраться с chisel, посмотреть как себя ведет сгенерированный verilog под vivado/quartus. Спустя несколько часов, прописывания всех environment, установки chisel, jdk, verilator, изучения issue на китайско…
XiangShan продолжение

Машины с 64гб оперативки хватило, чтобы транслировать Chisel в Verilog.

XiangShan в минимальной конфигурации (осталось разобраться по докам на китайском, что же включает в себя сборка в MinimalConfig и чем отличается от других).
По времени ушло минут 40, что кажется вполне себе неплохим результатом.
Ограничил память ОЗУ для сборки минимального конфига в 40гб ( в Troubleshooting Guide рекомендуют 32гб, но решил взять запасом). Судя по тому, что выдавал репорт загруженности системы в топовой нагрузке сжиралось 50 гб ОЗУ🥲
Вопрос - к чему тогда параметр, который судя по описанию ограничивает максимальную загрузку ОЗУ?

Полученный Verilog файл весит 44мб, 680804 строк.

Далее интересно оценить hw utilization процессора и убедиться в том, что сгенерированный Verilog вообще синтезизурется.

Закинул сгенерированные файлы в Vivado, выставил флаг out of context. Собирал проект под самый жирный Artix, увы под Kintex/Virtex синтезить не позволяет лицензия.

Итоги синтеза смотрите на картинке.
Для тех кому интересно поэкспериментировать с Chisel небольшой advanced list:
◽️Официальный сайт проекта;
◽️Chisel Tutorials;
◽️Лабораторные работы в Jupyter Notebook в браузере (не нужно ничего устанавливать на локальную машину);
◽️Лабораторные работы по Chisel от Technical University of Denmark;
◽️ Бесплатная книжка по Цифровому Дизайну на Chisel;
◽️ Ответ на вопрос о преимуществах работы с Chisel в сравнении с классическими проектирование на HDL;
◽️ Chisel/FIRRTL очень прожорливы к ОЗУ. О текущих проблемах и развитии компилятора Chisel/FIRRTL рекомендую посмотреть это видео.

p.s. за наводку на видео спасибо Игорю Фомину🤟🏻
Яндекс явно что-то знает🧐🧐🧐
AirPods за лабу?

В Berkeley Apple подкидывает мотивации студентам.
Выполнили лабораторные задания в команде раньше и лучше всех - получайте Airpods Pro.

Слайд стащил - отсюда [ссылка на загрузку презентации]

Напомню, что многие топовые ВУЗы давненько открыли доступ к большей части образовательных материалов.

Например презентации к лекциям в Berkeley по Computer Architecture and Engineering [CS152] можно найти тут
🔥4👍2
Приехала награда от RISC-V international😱😱😱

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

Лабораторные работы по теме RISC-V:

1. Микроархитектура однотактового процессора.

2. Микроархитектура конвейерного процессора и интеграция процессора с периферией.

3. Проектирование процессорного кэша и измерение его производительности.
🔥19👍6🎉6
Записки CPU designer'a
Тренд на RISC-V В последнее время в новостных заголовках все чаще мелькает RISC-V. Много разных споров и обсуждений о том, является ли RISC-V той самой серебряной пулей в мире процессорных архитектур или же RISC-V не годится в проекты крупнее микроконтроллерного…
Intel вошел в совет директоров RISC-V International

Intel уже не раз показывал заинтересованность к RISC-V.
Не так давно были слухи о покупке SiFive, позже Intel выпустили переиздание soft-процессора для FPGA, на базе ISA RISC-V.

Теперь де-факто Intel заявил, что готов выпускать чипы на базе RISC-V. После новостей о Custom Foundry на базе x86 ISA - это решение смотрится еще интереснее.
🔥4👍3
PERCIVAL - интересный open-source проект. RISC-V ядро с поддержкой Posit арифметики.
Статью на arxiv можно почитать - тут
О данном проекте я кратко упоминал во время RISC-V саммита, но тогда в проект еще не были добавлены исходники PAU (posit arithmetic unit). Причем исходники PAU - получены на генераторы арифметики с плавающей точки произвольной разрядности (смотри проект FloPoCo).

Погенерировать сумматоры, делители для плавающей точки онлайн и без регистрации - можно тут. На выходе получите .vhdl файл, который можете подцеплять в ваш проект (работает вроде бы только для некоторых семейств Xilinx, Altera/Intel)

p.s. сайт с online-генерацией решил упасть. Собрать FloPoCo на локальной машине можно вот по этому мануалу.
👍1