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

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

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

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

1 ответ

Решение

I couldn't get to the core of the concept, however gathered sufficient information required to convince myself that operating systems differ based on ISA (eg: x86 and x64) and not on microarchitecture (Intel Pentium and AMD Athlon).

A simple analogy is -

ISA is like C language; 'a standard', to be followed to do something.

whereas microarchitecture is like C compiler; 'an implementation' to enforce those rules or standard.

Excerpt from wiki - Microarchitecture

A given ISA may be implemented with different microarchitectures; implementations may vary due to different goals of a given design or due to shifts in technology.

The ISA is roughly the same as the programming model of a processor as seen by an assembly language programmer or compiler writer. The ISA includes the execution model, processor registers, address and data formats among other things. The microarchitecture includes the constituent parts of the processor and how these interconnect and interoperate to implement the ISA.

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

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

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

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

Другие вопросы по тегам