Микроархитектура


В компьютерной инженерии микроархитектура (англ. microarchitecture; иногда сокращается до µarch или uarch), также называемая организация компьютера — способ, которым данная архитектура набора команд (ISA, АНК) реализована в процессоре. Каждая АНК может быть реализована с помощью различных микроархитектур[1].

Реализации могут варьироваться в зависимости от целей конкретной разработки или в результате технологических сдвигов[2].

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

Однако во многих случаях работа элементов микроархитектуры контролируется микрокодом, встроенным в процессор. В случае наличия слоя микрокода в архитектуре процессора он выступает своеобразным интерпретатором, преобразуя команды уровня АНК в команды уровня микроархитектуры. При этом различные системы команд могут быть реализованы на базе одной микроархитектуры.[3]

Микроархитектура машины обычно представляется в виде диаграмм определённой степени детализации, описывающие взаимосвязи различных микроархитектурных элементов, которые могут быть чем угодно: от отдельных вентилей и регистров до целых АЛУ и даже более крупных элементов. На этих диаграммах обычно выделяют тракт данных (где размещены данные) и тракт управления (который управляет движением данных)[4].

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