mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 09:10:10 +00:00
Добавление ссылок на читалку Лани в RV32I
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
|
||||
## Краткая справка по RISC-V и RV32I
|
||||
|
||||
RISC-V — открытая и свободная система набора команд (ISA) на основе концепции RISC. Чтобы понять архитектуру любого компьютера, нужно в первую очередь выучить его язык, понять, что он умеет делать. Слова в языке компьютера называются «инструкциями», или «командами», а словарный запас компьютера — «системой команд»[2, стр. 355].
|
||||
RISC-V — открытая и свободная система набора команд (ISA) на основе концепции RISC. Чтобы понять архитектуру любого компьютера, нужно в первую очередь выучить его язык, понять, что он умеет делать. Слова в языке компьютера называются «инструкциями», или «командами», а словарный запас компьютера — «системой команд»[[2, стр. 360](https://reader.lanbook.com/book/241166?lms=3ec5abac958be145faed85c101d197fb)].
|
||||
|
||||
В архитектуре RISC-V имеется обязательный для реализации минимальный список команд — набор инструкций **I** (Integer). В этот набор входят различные логические и арифметические операции с целыми числами, работа с памятью, и команды управления. Этого достаточно для обеспечения поддержки компиляторов, ассемблеров, компоновщиков и операционных систем (с дополнительными привилегированными инструкциями). Плюс, таким образом обеспечивается удобный "скелет" ISA и программного инструментария, вокруг которого могут быть построены более специализированные ISA процессоров путем добавления дополнительных инструкций.
|
||||
|
||||
@@ -59,7 +59,7 @@ _Рисунок 1. Основные компоненты архитектуры
|
||||
|
||||
Инструкция компьютера кодирует в себе операцию, которую нужно исполнить, и данные, которые ей для этого потребуются. Такими данными могут быть адреса операндов и результата, различные константы.
|
||||
|
||||
В архитектуре RISC-V каждая несжатая инструкция представлена 32-разрядным словом. Микропроцессоры — это цифровые системы, которые читают и выполняют команды машинного языка. Для людей чтение и разработка компьютерных программ на машинном языке представляются нудным и утомительным делом, поэтому мы предпочитаем представлять инструкции в символическом формате, который называется языком ассемблера[2, стр. 356]. Ассемблер позволяет выполнить взаимно однозначный переход от машинного кода к тестовому и обратно.
|
||||
В архитектуре RISC-V каждая несжатая инструкция представлена 32-разрядным словом. Микропроцессоры — это цифровые системы, которые читают и выполняют команды машинного языка. Для людей чтение и разработка компьютерных программ на машинном языке представляются нудным и утомительным делом, поэтому мы предпочитаем представлять инструкции в символическом формате, который называется языком ассемблера[[2, стр. 361](https://reader.lanbook.com/book/241166?lms=3ec5abac958be145faed85c101d197fb)]. Ассемблер позволяет выполнить взаимно однозначный переход от машинного кода к тестовому и обратно.
|
||||
|
||||
## RV32I
|
||||
|
||||
@@ -79,7 +79,7 @@ _Таблица 1. Инструкции набора RV32I с приведени
|
||||
|
||||
_Таблица 2. Базовый набор инструкций RV32I._
|
||||
|
||||
На _рис. 2_, для наглядности, приводится пример кодирования пары инструкций из книги Харриса и Харриса "Цифровая схемотехника и архитектура компьютера" в машинный код[2, стр. 368].
|
||||
На _рис. 2_, для наглядности, приводится пример кодирования пары инструкций из книги Харриса и Харриса "Цифровая схемотехника и архитектура компьютера" в машинный код[[2, стр. 401](https://reader.lanbook.com/book/241166?lms=0477e9ee9acd7b9544b3ad74ba7e4dc5)].
|
||||
|
||||

|
||||
|
||||
@@ -89,7 +89,7 @@ _Рисунок 2. Пример двоичного кодирования инс
|
||||
|
||||
## Псевдоинструкции
|
||||
|
||||
В архитектуре RISC-V размер команд и сложность аппаратного обеспечения минимизированы путем использования лишь небольшого количества команд. Тем не менее RISC-V определяет псевдокоманды, которые на самом деле не являются частью набора команд, но часто используются программистами и компиляторами. При преобразовании в машинный код псевдокоманды транслируются в одну или несколько команд RISC-V[2, стр. 410]. Например, псевдокоманда безусловного перехода `j`, преобразуется в инструкцию безусловного перехода с возвратом `jal` с регистром `x0` в качестве регистра-назначения, то есть адрес возврата не сохраняется.
|
||||
В архитектуре RISC-V размер команд и сложность аппаратного обеспечения минимизированы путем использования лишь небольшого количества команд. Тем не менее RISC-V определяет псевдокоманды, которые на самом деле не являются частью набора команд, но часто используются программистами и компиляторами. При преобразовании в машинный код псевдокоманды транслируются в одну или несколько команд RISC-V[[2, стр. 399](https://reader.lanbook.com/book/241166?lms=7329d34bdab9c539e3ec7a571ee68929)]. Например, псевдокоманда безусловного перехода `j`, преобразуется в инструкцию безусловного перехода с возвратом `jal` с регистром `x0` в качестве регистра-назначения, то есть адрес возврата не сохраняется.
|
||||
|
||||

|
||||
|
||||
@@ -205,4 +205,4 @@ _Рисунок 5. Иллюстрация общих частей при код
|
||||
## Список использованной литературы
|
||||
|
||||
1. [RISC-V Instruction Set Manual](https://github.com/riscv/riscv-isa-manual)
|
||||
2. Д.М. Харрис, С.Л. Харрис / Цифровая схемотехника и архитектура компьютера / пер. с англ. Imagination Technologies / М.: ДМК Пресс, 2018.
|
||||
2. [Д.М. Харрис, С.Л. Харрис / Цифровая схемотехника и архитектура компьютера / пер. с англ. Imagination Technologies / М.: ДМК Пресс, 2018](https://e.lanbook.com/book/97336).
|
||||
|
Reference in New Issue
Block a user