Files
Kirill 3a96c27c48 Arch: new
Все теоритические билеты по Архитектуре ЭВМ в основном были написаны,
кроме: 8.4; 13.4; 14.4; 15.4. Задачи будут позже.
2025-01-14 19:40:01 +03:00

4.7 KiB
Raw Permalink Blame History

Конечно! Вот билеты с 5.5 по 10, написанные слово в слово, как в файле, для использования в Obsidian:


Билет 5.5: Архитектура RISC-V

Набор инструкций RISC-V (базовые наборы, расширения, профили)

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

  • Базовый целочисленный набор команд:

Обязательная часть архитектуры, на выбор:

  • RV32I - 35 инструкций для работы с 32-бит. целыми и 32-бит. адресами

  • RV32E - вариация RV32I с урезанным количеством регистров общего назначения

  • RV64I - набор команд для поддержки 64-бит. целых и 64-бит. адресов

  • RV64E - вариация RV64I с урезанным количеством регистров общего назначения

  • RV128I - набор команд для поддержки расширенных целых и 128-бит. адресов. Доп. набор, для которого нет окончательного стандарта, есть только предварительный стандарт для 128-бит. адресов.

  • Расширения:

В архитектуру заложена возможность реализации собственных расширений и встраивания их. Проработана на уровне архитектуры, ОС и стандартной библиотеки. Можно реализовать собственное расширение, встроить в железо и применять в своих приложениях на linux. Самые важные имеют кодировку одной буквой:

  • М - умножение и деление целых чисел
  • А - атомарные инструкции, требуются для работы в concurrent системах, где реализована многопоточность или многоядерность/многопроцессорность.
  • F, D, Q - инструкции для работы с FP числами одинарной, двойной и учетверенной точности.
  • C - «сжатые» инструкции (весят 2 байта вместо 4).
  • V - векторные инструкции (сильно повышают количество операций в секунду).
  • В - битовые манипуляции.

Стандартизированные расширения начинаются с "Z":

  • Zicsr - Control and Status Register (CSR) Instructions.
  • Zifencei - инструкция FENCE.I (Instruction-Fetch Fence).
  • Zam - атомарные операции с невыровненными адресами. Обращение по невыровненным адресам медленнее, чем по выровненным.
  • Ztso - глобальное упорядочивание сохранения в память

Расширения уровня супервизора начинаются с "S":

  • Svinval - Fast TLB invalidation.

Нестандартные (пользовательские) расширения начинаются с "X" "General-Purpose" ISA: base ISA (RV32I or RV64I) + IMAFD + Zicsr + Zifencei

  • Профили:

Профиль - стандартизированный набор основной архитектуры расширений, который рекомендуется для реализации и поддержки. Профиль: стандартная базовая ISA + набор обязательных расширений + небольшой набор стандартных опций для расширения обязательных компонентов.

Определяют гораздо меньший общий набор вариантов ISA, которые приносят наибольшую пользу большинству пользователей. Состав профиля:

  • Profile Family
  • Profile Privilege Mode
  • Profile ISA Features

Пример: RVA22U64 = base RV64I + Mandatory MAFDC, Zicsr, Zifencei, Zihpm, ... + Optional Zfh, V, Zkn, Zks.