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

26 lines
2.6 KiB
Markdown

#### Программируемые места хранения
**Типы регистров:**
1) **Целочисленные регистры**
x0 - константа 0; x1 - return address; x2 - stack pointer; x3 - global pointer;
x4-thread pointer ; x5-x7, x28-x31 - временные; x8-x9, x18-x27 - сохраняемые при вызове;
$x10-x17$ - argument registers;
2) **Вещественные регистры**
f0-f7, f28-f31 - временные; f8-f9, f18-f27 - сохраняемые при вызове; f10-f17 - параметры и возвращаемые значения;
3) **Векторные регистры**
v0-v31- временные; vl - vector length; vtype - vector datatype register; vxrm - vector fixed-point rounding mode register; vxsat - vector fixed-piont saturation flag register; vcsr - vector control and status register; vlenb - vector register length in bytes; vstart- vector start position;
**Особенности использования векторных регистров:**
- Векторные регистры появятся дополнительно при использовании векторных инструкций.
- Длина зависит от инструкции (умолч. 128 бит)
- Можно выполнять работы как над вектором, так и над какой-то из частей.
- Вектора могут объединяться для формирования более длинных векторов.
**Формат представления команд:**
- **R (Register)** - «регистр-регистр-регистр»
- **I (Immediate)** - «непосредственное значение - регистр - регистр»
- **S (Store)** - «регистр-регистр-непосредственное значение». $1^{й}$ регистр - источник, который сохраняется в память, $2^{й}$ регистр и непосредств. значение используют для формирования адреса.
- **U (Upper)** - «непосредственное значение - регистр». Используется, когда возможно взять адрес следующей выполняемой инструкции.
Стадия декодирования облегчена максимально: анализируем битовые поля и отправляем в известные позиции на промежуточном регистре перед след. стадией.