Что именно представляет собой процессор с двойным выпуском?

#embedded #arm #pipeline #cpu-architecture

#встроенный #arm #конвейер #архитектура процессора

Вопрос:

Я наткнулся на несколько ссылок на концепцию процессора с двойным выпуском (я надеюсь, что это даже имеет смысл в предложении). Я не могу найти никакого объяснения того, что именно представляет собой двойная проблема. Google дает мне ссылки на спецификацию микроконтроллера, но концепция нигде не объясняется. Вот пример такой ссылки. Я смотрю не в том месте? Краткий абзац о том, что это такое, был бы очень полезен.

Комментарии:

1. Я думаю, что предоставленная вами ссылка, похоже, говорит об инструкциях с двумя выпусками, а не о процессорах с двумя выпусками. В нем говорится о том, какие у них есть ограничения, из-за которых в следующем цикле потребуется второй конвейер. [ infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0363e /… это ссылка на другую статью для документации по процессорам серии R, в которой говорится о (потенциально отличном?) инструкции с двойным выпуском подробнее

2. electronics.stackexchange.com/questions/145473/…

Ответ №1:

Двойная проблема означает, что за каждый такт процессор может перемещать две инструкции с одного этапа конвейера на следующий этап. Где это происходит, зависит от процессора и терминологии компании: это может означать, что две инструкции перемещаются из очереди декодирования в очередь переупорядочивания (Intel называет это проблемой) или это может означать перемещение инструкций (или микроопераций или чего-то еще) из очереди переупорядочивания в порт выполнения (afaik IBM называет это проблемой, в то время как Intel называет это отправкой)

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

Поскольку вы отметили этот ARM, я думаю, что они используют терминологию Intel. Cortex-A8 и Cortex-A9 могут в каждом цикле извлекать две инструкции (подробнее в Thumb-2), декодировать две инструкции и «выдавать» две инструкции. На Cortex-A8 нет выполнения вне очереди, хотя я не могу вспомнить, есть ли еще очередь декодирования, которую вы отправляете — если нет, вы бы сразу перешли от инструкций декодирования к вставке их в два конвейера выполнения. На Cortex-A9 есть очередь выпуска, поэтому декодированные инструкции выдаются там — затем инструкции отправляются со скоростью до 4 за цикл в конвейеры выполнения.

Комментарии:

1. Конечно, ARM и Intel все неправильно поняли. Термины отправка и выпуск восходят к 60-м годам и CDC 6600.