Этот курс предназначен для базового понимания применения языка программирования Assembler при работе с микропроцессорами архитектуры RISC-V. Понимание и способность писать программы на языке Assembler очень важны для программистов, работающих с "железом" на низком уровне. Основы языка Assembler помогают в понимании и реализации частей операционных систем и компиляторов. Задачи вроде отладки и обнаружения критичных с точки зрения производительности участков кода проще решать, обладая базовыми знаниями языка Assembler.
Содержимое курса покрывает такие темы, как инструкции процессора RISC-V (RV32I, RV64I), псевдо-инструкции и директивы языка Assembler, интерфейс для написания программ (application programming interface, API), взаимодействие с программами, написанными на языке программирования C и понимание принципов дизассемблирования бинарного кода. Также рассматриваются идея и основные моменты, связанные с расширениями команд.
Основной задачей курса является предоставление информации, необходимой для выполнения поставленных задач, связанных с программированием, и получение практики программирования на языке Assembler на основе предоставляемых примеров. Они затрагивают такие вопросы, как циклы, условные операторы, функции и другие.
Показываются примеры запуска разрабатываемых программ на базе ОС Linux, работающей на процессоре RISC-V. По окончании этого курса вы получите достаточно глубокое понимание архитектуры инструкций процессора RISC-V и получите знания, необходимые для программирования на языке Assembler для конкретных аппаратных средств.
В конце этого курса вы должны будете:
Прежде, чем окунуться в дисциплину, мы настоятельно рекомендуем ознакомиться с её содержанием. Оно предоставляет наиболее важную информацию о курсе включая:
Для успешного прохождения курса необходимо обладать базовыми знаниями в области программирования.
Лекция 1 посвящена обсуждению связи архитектуры RISC-V с языком Assembler, а также специфическим характеристикам языка.
В Лекции 2 рассматривается установка и использование ряда симуляторов и эмуляторов, а также обсуждается применение набора инструментов GNU toolchain для разработки приложений.
Лекция 3 рассматривает базовые инструкции и расширения RISC-V, принцип кодирования инструкций языка Assembler в машинный код, основные категории базовых целочисленных инструкций.
В Лекции 4 рассматривается применение меток, директив языка и псевдоинструкций, а также то, как реализовать управление работой программы и зачем использовать бинарный интерфейс приложения (ABI).
В Лекции 5 рассматривается написание программ на языке Assembler с использованием системных вызовов и библиотек C.
Лекция 6 рассматривает реализацию простейших структур данных и использование функций malloc и free - функций библиотеки C для выделения и освобождения оперативной памяти. Также обсуждается написание программ с использованием чисел с плавающей запятой.
Данный материал является переводом и адаптацией учебного курса "Foundations of RISC-V Assembly Programming" под авторством Маттиаса Кёнига (Matthias Koenig), расположенного по адресу: https://training.linuxfoundation.org/training/foundations-of-risc-v-assembly-programming-lfd117x/ и распространяемого под лицензией CC BY 4.0. Перевод и адаптация выполнены Дмитрием Булахом, НИУ МИЭТ по заказу Альянса RISC-V, допускается к использованию под лицензией CC BY 4.0.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.