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

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

Xalion

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

Поясняем: написали программу на С++ для умножения чисел. Компилируем. Команды C++ транслируются в команды ISA, а железо выполняет команды ISA.

Мы упоминали ISA в статьях о командах процессора, типах архитектур и программировании компьютера.

Компилятор транслирует программу на языке С в набор команд ISA.
Команды исполняются микропрограммой или железом.


Проблема совместимости появляется на стадии разработки архитектуры команд.

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

Наглядный пример проблемы – банки.
Они используют мейнфреймы для обработки транзакций и базы данных с миллионами записей. Код для мейнфреймов пишут на COBOL.

В 2018 году на COBOL написано больше 200 млрд. строк кода. Банки не могут перенести данные на новые системы из-за неполной совместимости и большого количества данныx.
Почитайте историю COBOL-программиста со стажем 25 лет.

Банковский мейнфрейм в семидесятых


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

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


Для разработки компиляторов нужно знать модели памяти, регистры, типы данных и команды компьютера. Эту информацию издают производители процессоров.
Британская компания ARM продаёт схемы архитектуры мобильных процессоров.

Производители телефонов покупают схемы у ARM и строят свои процессоры.
В итоге: устройства выполняют одинаковые программы, а отличаются по цене и производительности.


ISA имеет доступ ко всем ресурсам компьютера: оперативная память и кэш-память, ядро ОС и его память, системные данные.

Чтобы защитить железо, у ISA есть два режима: привилегированный и пользовательский.

Привилегированный режим позволяет исполнять все команды: чтение и запись данных из памяти ядра, обращения к глобальным системным данным и много других. В этом режиме работает ОС.

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

Следующая статья о моделях памяти и регистрах.

Report Page