Завершаем уровень ISA. Собрание всех статей по теме

Завершаем уровень ISA. Собрание всех статей по теме

Xalion

Прошлая статья завершила уровень ISA. Следующий уровень — операционная система. ISA работает посредником между железом и ОС, поэтому без понимания ISA будет трудно понять совместную работу железа и ОС.

ISA (Instruction Set Architecture) — набор команд процессора для конкретной архитектуры. Компилятор переводит команды языков программирования в команды ISA.


Свойства ISA

Совместимость — то, как старые компьютеры понимают новые команды ISA.
Производительность
 — оптимизация ISA под процессор. Без оптимизации процессор требует больше памяти, делает лишние вычисления и создаёт очереди из команд.
Документация
 — производители продают схемы процессоров для создателей компиляторов и разработчиков ISA.

Свойства уровня ISA.


Режимы 

Привилегированный — доступ ко всем ресурсам компьютера. Этот режим для операционной системы.
Пользовательский
 — привилегированный с ограничениями: нет доступа к ядру системы и системным процессам. Вы работаете в пользовательском режиме.

Свойства уровня ISA.


Организация памяти

На уровне ISA память состоит из слов по 4 или 8 байт. Они находятся в одном состоянии: выровненное или невыровненное. Выровненные слова читаются быстрее. Слова образуют адресное пространство компьютера.

Слова состоят из байтов, байты хранятся в регистрах. Для ISA регистры делятся на две группы: специальные и общие. 

Специальные регистры нужны для системы и её вычислений. Счётчик команд — регистр специального назначения.
Общие регистры
нужны для переменных во время вычислений.

Модель памяти и регистры.


Типы данных

ISA работает с числовыми и нечисловыми данными. Они поддерживаются программно или аппаратно.

Аппаратная поддержка работает с базовыми для компьютера данными.
Программная поддержка
собирает сложные для компьютера данные по кусочкам. Кусочки поддерживаются аппаратно.

Типы данных.


Форматы команд

Команды ISA записываются по правилам. Такие правила называются форматом команд ISA. Для каждого процессора существуют свои команды. Мы делали статью про процессор Core i7.

Форматы команд.
Команды ISA для Intel Core i7.


Типы адресаций

Для обращения к операндам команды используют пять видов адресации: непосредственную, прямую, регистровую, индексную и стековую.

Непосредственная — хранит операнд в полях команды.
Прямая
 — хранит полный адрес операнда.
Регистровая
 — хранит адрес регистра. В регистре хранится адрес операнда.
Индексная
 — хранит адрес регистра и смещение от него. 
Стековая
 — хранит операнды в стеке.

Непосредственная, прямая и регистровая адресации.
Индексная и стековая адресации.


Типы операций

Команды умеют копировать данные, вычислять унарные и бинарные операции, сравнивать операнды и переходить по условию, вызывать процедуры и управлять циклами, вводить и выводить данные.

Команды копирования данных, унарные и бинарные операции.
Сравнения и условные переходы, команды вызова процедур и команды управления циклами.
Команды ввода-вывода.


Поток управления

Выполнение кода программы называется «поток управления». Его изменяют процедуры, сопрограммы, прерывания и перехват исключений.

Процедуры и сопрограммы.
Прерывания.
Перехват исключений.


Следующая статья начнёт уровень операционной системы.

Report Page