Как различаются типы команд в микропроцессорах AMD для идентификации потоков DirectPath и VectorPath? - PullRequest
0 голосов
/ 23 ноября 2011

В архитектуре AMD 10h, такой как Opteron, предварительно выверенные инструкции после выравнивания разделяются на 2 потока: DirectPath (или Fastpath) и VectorPath (механизм микрокода). Позже эти потоки готовы к целочисленным или путям выполнения с плавающей запятой.

Каким методом выбираются выбранные инструкции для любого потока? Есть бит флага или какой-то еще?

Документация AMD очень расплывчата в отношении механизма дифференциации. Единственное упомянутое:

Когда целевое 32-байтовое окно инструкций , полученные из кэша команд L1, проверяются байты команд , чтобы определить, тип базового декодирования - DirectPath или VectorPath.

1 Ответ

1 голос
/ 12 февраля 2012

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

Вы можете перейти к SWOG (Руководство по оптимизации программного обеспечения) и просмотреть таблицы задержки вприложения: http://developer.amd.com/documentation/guides/Pages/default.aspx

Или вы можете перейти к источнику компилятора (gcc) и почерпнуть его из модели athlon / fam10h: http://gcc.gnu.org/viewcvs/trunk/gcc/config/i386/athlon.md?revision=174172&content-type=text%2Fplain&view=co

или модели bdver1: http://gcc.gnu.org/viewcvs/trunk/gcc/config/i386/bdver1.md?revision=165853&content-type=text%2Fplain&view=co

- Квентин

...