Все ли микрооперации одинаковой длины в современном процессоре x86? - PullRequest
0 голосов
/ 19 октября 2018

У меня сложилось впечатление, что каждая микрооперация занимает 8 байт после некоторого просмотра кэшей u-op, но мой вопрос: все ли микрооперации одинакового размера, даже микрооперации с слитыми доменами?

1 Ответ

0 голосов
/ 20 октября 2018

Эта деталь не документирована поставщиками чипов x86.Однако мопы должны быть достаточно простыми, чтобы их можно было декодировать за долю цикла.Это отличается от инструкций x86, где инструкция требует декодирования как минимум одного цикла (хотя несколько команд могут быть декодированы в одном цикле).Таким образом, создание мопов одинакового размера с довольно равномерным форматом очень помогает в этом.Я думаю, что, скорее всего, мупы fused-domain и unsused-domain одинакового размера на большинстве процессоров x86В процессорах Intel число мопов в кэше мопов может быть разного размера в зависимости от того, имеет ли меопад мгновенный и / или операнд смещения.С другой стороны, IDQ может вместить фиксированное количество мопов без каких-либо условий относительно того, что представляют собой мопы, что предполагает, что каждый моп в IDQ занимает одинаковое количество места.Размер uop с конденсированным доменом может отличаться от размера uop с неиспользуемым доменом.Но для того, чтобы микросинтез был полезен, размер uop с слитым доменом должен быть строго меньше, чем удвоенный размер uop с не слитым доменом.Также я думаю, что мы можем логически сказать, что размер uop с слитым доменом, по крайней мере, равен размеру uop с неиспользуемым доменом.

...