Список литературы и рекомендации
Видеоматериалы
Лекторий Зимней школы "Программирование для RISC-V"
В лекторий входит серия лекций об особенностях разработки и оптимизации программного обеспечения. На лектории вы изучите основы архитектур ЭВМ, познакомитесь с современной открытой архитектурой RISC?V, освоите методы повышения производительности ПО и погрузитесь в особенности оптимизации программ.
Вебинары Альянса RISC-V. Открытая архитектура RISC-V. Константин Владимиров (Syntacore)
Рассматриваются основные принципы архитектуры команда (ISA) RISC-V, а также ее преимущества, о базовом наборе, псевдооперациях, сжатых инструкциях и расширениях базового набора ISA.
Вебинары Альянса RISC-V. Инструменты разработчика RISC-V. Константин Владимиров (Syntacore).
На вебинаре рассказывается об основных инструментах для компиляции, компоновки и отладки приложений. Для того чтобы понять специфику разработки под RISC-V затрагиваются вопросы кросскомпиляции и такие понятия как ABI, sysroot и multilib. Рассматриваются симуляторы для запуска программ и демонстрируется запуск ядра Linux на системном QEMU.
Вебинары Альянса RISC-V. Разработка специализированных инструкций RISC-V. Часть 1, часть 2. Евгений Примаков (НИЛ ЭСК МИЭТ).
Открытые реализации и расширяемость RISC-V позволяют по-новому взглянуть на встречающийся в индустрии подход к разработке специализированных процессоров. Вебинар посвящён краткому обзору процесса разработки кастомных инструкций процессора в пределах спецификации RISC-V. Затрагиваются вопросы полного цикла разработки: от RTL до GNU binutils.
Вебинары Альянса RISC-V. Опыт использования RISC-V плат в области ИИ. Алексей Григорьев (YADRO).
Материал вебинара подготовлен на основе опыта портирования на RISC-V различных ML/DL продуктов. Представлено сравнение производительности (для алгоритмов искусственного интеллекта) доступных RISC-V плат c более популярными платформами, предлагаются возможные оптимизации для доступных RISC-V CPU. Также поговорим о планах по развитию экосистемы искусственного интеллекта на RISC-V и о требованиях к будущим CPU для эффективного использования в задачах искусственного интеллекта.
Вебинары Альянса RISC-V. Микроконтроллеры RISC-V в России: настоящее и будущее. Константин Окунев, Михаил Лямаев (АО Элемент, ДЦ VOSTOK).
Вебинар, открывающий соответствующую серию, посвящённую новым российским продуктам и обучению работе с ними. Представлены продукты, выходящие на рынок в 2024 году, и инструкции по первым шагам и особенностям разработки программного обеспечения для них.
Вебинары Альянса RISC-V. Приложения для микроконтроллеров RISC-V. Часть 1. Часть 2. Андрей Ильченко (МАИ).
Две части вебинара, посвящённых презентации переведённых и адаптированных курсов Глобального Альянса RISC-V. Рассказывается об адаптации курса Microcontroller Applications with RISC-V (LFD115x), где рассматривает платформа RISC-V, основные инструменты разработки, приводятся примеры работы с вводом-выводом, ШИМ, использования прерываний.
Вебинары Альянса RISC-V. Матричные расширения RISC-V. Ожидания и рефернесы. Пузикова Валерия (YADRO).
Рассмотрены матричные расширения, разрабатываемые в RISC-V International. Рассказывается о текущем статусе их разработки и планах рабочих групп, а также об ожиданиях от подобных расширений, сформированных на основе анализа таких референсов, как Intel AMX, Apple AMX, Power MMA, Arm SME, SiFive VCIX.
Вебинары Альянса RISC-V. Лабораторный практикум RISC-V. Заславский Марк (ЛЭТИ).
Представлен сквозной лабораторный практикум по технологии RISC-V, включающий 15 лабораторных работ по пяти основным аспектам разработки (ассемблер и архитектура RISC-V, отладка и инструменты разработки, программирование микроконтроллеров и операционные системы реального времени).
Вебинары Альянса RISC-V. Основы программирования на языке ассемблера RISC-V. Булах Дмитрий (МИЭТ).
Представлена адаптация курса Foundations of RISC-V Assembly Programming (LFD117x). Рассмотрели возможности компиляции, запуска и отладки программ, написанных на языке ассемблера, как с применением эмуляторов, так и средств кросс-компиляции. Все примеры рассмотрены для непривилегированных инструкций языка. Курс может быть частью любого вводного курса по низкоуровневому программированию, изначально рассчитан на широкую аудиторию с начальным опытом программирования на компилируемых языках.
Вебинары Альянса RISC-V. Внутри матрицы: T-Head RISC-V Matrix Extension. Пузикова Валерия, Соколов Андрей (YADRO).
Рассмотрены характеристики матричного расширения компании T-Head. Показано, как можно использовать данное расширение при реализации матричного умножения. Данный материал также предлагается на занятиях слушателям соответствующего интенсива ИТ-кампуса Неймарк.
Machine-Readable Specifications of RISC-V ISA. Alexander Kamkin, Andrei Tatarnikov.
В данном видео рассказывается о машиночитаемой спецификации архитектуры набора команд RISCV ISA. Это попытка формализовать RISC-V ISA таким, образом, чтобы можно было автоматизировать такие задачи как проектирование CPU, автоматизация кросс-инструментальной разработки и различные виды верификации: функциональную проверку, проверку безопасности, проверку аппаратного и программного обеспечения. Автор также рассказывает о приложении для генерации тестовых программ, над которым они работают в институте системного программирования РАН.
Системы на кристалле на базе IP ядер RISС V (компания Macro Group Ltd)
Запись вебинара по продуктам Xilinx, посвященный свободным IP ядрам. На вебинаре рассматривают какими бывают свободные процессорные IP-ядра, где их взять и как правильно выбрать. Также рассматривается пример реализации системы на кристалле на основе процессорного ядра RISC-V и отладочной платы ARTY на базе ПЛИС Xilinx Artix-7.
Статьи и обзоры
Исследование технологии RISC-V. Фролов В.А., Галактионов В.А., Санжаров В.В.
В данном исследовании были проанализированы существующие популярные системы команд процессора и сделаны выводы о перспективности направления RISC-V и других открытых систем команд CPU. В работе даются ответы на следующие вопросы: почему система команд процессора - это действительно важно? Почему именно RISC-V, чем он лучше остальных? Какие возможности RISC-V открывает для российских разработчиков и какие у него есть аналоги.
Case Study for Running Memory-Bound Kernels on RISC-V CPUs. Valentin Volokitin, Evgeny Kozinov, Valentina Kustikova, Alexey Liniov, Iosif Meyerov
В статье анализируется производительность двух устройств RISC-V при выполнении трех приложений, связанных с памятью: широко используемый STREAM-тест, алгоритм транспонирования плотных матриц и алгоритм размытия по Гауссу. Авторы показывают, что по сравнению с процессорами x86 и ARM устройства RISC-V по-прежнему будут уступать по времени вычислений, но очень хорошо использовать ресурсы. Демонстрируется, что хорошо разработанные методы оптимизации памяти для процессоров x86 повышают производительность процессоров RISC-V.
В данной статье исследуются различные низкоуровневые концепции (компиляция и компоновка, примитивные среды выполнения, ассемблер и многое другое) через призму архитектуры RISC-V и ее экосистемы. Автор знакомит читателей с экосистемой RISC-V и приводит подробные инструкции как настроить цепочки инструментов, чтобы запустить простую программу на C на эмулированном оборудовании RISC-V.
Статья "Начинаем изучать RISC-V" представляет собой введение в открытую ISA архитектуру RISC-V. Она объясняет, что это такое, какие преимущества она имеет перед другими архитектурами и какие возможности она предоставляет для создания микропроцессоров. Статья написана доступным языком и предназначена для широкой аудитории, интересующейся архитектурой компьютеров и процессоров.
Разбираемся в архитектурах: x86, ARM и RISC-V
Данный материал является обзором архитектур процессоров x86, ARM и RISC-V. В статье рассмотрены их отличия, преимущества и недостатки, а также применение в различных устройствах. Описаны особенности архитектур, такие как размер инструкций, режимы адресации и управление энергопотреблением. В заключении приведены рекомендации при выборе процессора для конкретных задач.
Исследователи тестируют экспериментальный суперкомпьютер RISC-V
Группа исследователей из Болонского университета и Cineca изучила экспериментальный кластер суперкомпьютеров RISC-V с восемью узлами и 32 ядрами. Демонстрация показала, что даже несколько скромных SoC Freedom U740 от SiFive могут запускать приложения для суперкомпьютеров при относительно низком энергопотреблении. Более того, кластер работал хорошо и поддерживал базовый стек высокопроизводительных вычислений.
О русскоязычном издании учебника "Цифровая схемотехника и архитектура компьютера: RISC-V"
Русскоязычное издание учебника, ставшее отправной точкой для обучения проектированию процессоров на ПЛИС и архитектуре RISC-V во многих вузах, будет полезно студентам, инженерам, а также широкому кругу читателей, интересующихся современной схемотехникой. В учебнике вас проведут, начиная от логических элементов и двоичных чисел, заканчивая работой с готовым RISCV процессором.
Ассемблер RISC-V для начинающих
Если вы не знаете ни одного ассемблера, или не имеете большого опыта кодинга, то ассемблер RISCV может быть одним из лучших вариантов для того, чтобы погрузиться в эту тему. Данная статья поможет разобраться с чего начать свой путь. Архитектура RISC-V обладает современным и простым набором команд, спроектированным с учетом современных требований, она придумана специально для того, чтобы быть простой в изучении и вместе с тем, практически эффективна для реализации высокопроизводительных микропроцессоров
A Survey on RISC-V-Based Machine Learning Ecosystem
В данной статье рассматривается экосистема для машинного обучения на основе RISC-V, используемой для классификации систем на кристалле (SoC) и ядер ЦП. Более того, часть этой работы посвящена таким проблемам, как энергоэффективность и надежность при разработке приложений с открытым исходным кодом (OSH) в области искусственного интеллекта (AI) и машинного обучения (ML), что обосновано необходимостью найти вычислительную мощность для более совершенных и ресурсоемких алгоритмов и приложений AI и в создании аппаратных ускорителей, связанных с машинным обучением.
Литература
Organization and Design: The Hardware/Software design
В книге показана взаимосвязь между аппаратными средствами и программным обеспечением. По мнению авторов, в течение следующего десятилетия большинству программистов придется разбираться в аппаратно-программном интерфейсе, если они хотят, чтобы программы эффективно работали на параллельных компьютерах. Аудитория этой книги включает в себя тех, у кого мало опыта в языке ассемблера или логическом дизайне, которым необходимо понимать, как устроен компьютер и почему он работает так, как работает.
The RISC-V Reader: An Open Architecture Atlas
The RISC-V Reader - это краткое введение и справочник для разработчиков встраиваемых систем, включает набор инструкций с подробным описанием каждой из них. Архитектура RISC-V используется как в простых микроконтроллерах, так и в серверах для быстрых облачных вычислений. Десять глав знакомят с полным набором инструкций RISC-V, а программировать читатели могут начать уже после 2 главы. В книге показано, как RISC-V собрал в себе лучшие идеи прошлых архитектур, избегая при этом их ошибок.
Digital Design and Computer Architecture, RISC-V Edition
В книге представлен современный подход к разработке цифровых устройств. Авторы начинают с цифровых логических элементов, переходят к разработке комбинационных и последовательностных схем, а затем используют эти базовые блоки как основу для самого сложного: разработки настоящего процессора RISC-V. По всему тексту приводятся примеры на языках SystemVerilog и VHDL. В издание вошли новые материалы о системах ввода/вывода применительно к процессорам общего назначения как для ПК, так и для микроконтроллеров. Русский перевод: Цифровая схемотехника и архитектура компьютера: RISC-V
An Introduction to Assembly Programming with RISC-V
Учебник по программированию на языке ассемблера RISC-V. В качестве примеров используется код, использующий набор инструкций архитектуры RISC-V. В первой части книги читатель обзорно познакомится с тем, как устроен компьютер и как исполняются программы, а затем начнет знакомство с языком ассемблер. Во второй части фокус переходит к разработке пользовательских программ, т.е. тех, которые работают с данными, хранящимися в регистрах процессора и основной памяти. В третьей части внимание уделяется программированию на системном уровне, включая взаимодействие с периферией и устойчивостью системы к случайным или злонамеренным ошибкам в коде.