Отличается ли операционная система в зависимости от ISA или микроархитектуры?

300
Darshan L

Если будет разработана операционная система, скажем, например, «Linux», будет ли она написана немного по-разному, где это необходимо (профилировано) для другой микроархитектуры (Intel Pentium и AMD Athlon)?

Из одного потока обмена стека я вижу, что двоичный файл Linux для AMD x64 может быть запущен на архитектуре Intel x64, а также введите описание ссылки здесь

т.е. не должно ли быть различного исходного кода Linux для Intel Pentium и AMD Athlon, даже если они используют один и тот же ISA (x86)? Причина, по которой они внедрили ISA, была бы другой, используя другой набор регистров управления и данных!

0
Насколько я знаю, определения регистров являются частью ISA. Как вы думаете, почему они будут разными для Intel x86 и AMD x86? grawity 5 лет назад 1
Ох ... Это так! Хотя у меня разные реализации одного и того же ISA, они должны реализовывать его с другим расположением регистров. Darshan L 5 лет назад 0

1 ответ на вопрос

0
Darshan L

Я не мог понять суть концепции, однако собрал достаточно информации, необходимой для убеждения себя, что операционные системы различаются в зависимости от ISA (например, x86 и x64), а не от микроархитектуры (Intel Pentium и AMD Athlon).

Простая аналогия -

ISA походит на язык C ; «стандарт», которому нужно следовать, чтобы что-то сделать.

тогда как микроархитектура похожа на компилятор C ; «реализация» для обеспечения соблюдения этих правил или стандартов.

Выдержка из вики - микроархитектура

Данный ISA может быть реализован с разными микроархитектурами; Реализации могут отличаться из-за различных целей данного проекта или из-за изменений в технологии.

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

Машины с разными микроархитектурами могут иметь одинаковую архитектуру набора команд и, следовательно, могут выполнять одинаковые программы. Новые микроархитектуры и / или схемотехнические решения, наряду с достижениями в производстве полупроводников, - это то, что позволяет новым поколениям процессоров достигать более высокой производительности при использовании того же ISA.

Факторы, которые отличают разные микроархитектуры, но все же реализуют одну и ту же ISA,

Единицы исполнения также важны для микроархитектуры. Единицы исполнения включают в себя единицы арифметической логики (ALU), единицы с плавающей запятой (FPU), единицы загрузки / сохранения, прогноз ветвления и SIMD. Эти устройства выполняют операции или вычисления процессора. Выбор количества исполнительных блоков, их задержки и пропускной способности является центральной задачей микроархитектурного проектирования. Размер, задержка, пропускная способность и возможность подключения памяти в системе также являются микроархитектурными решениями.

Решения по проектированию на уровне системы, такие как включение или отключение периферийных устройств, таких как контроллеры памяти, могут рассматриваться как часть процесса проектирования микроархитектуры. Это включает решения об уровне производительности и возможности подключения этих периферийных устройств.