Когда инструкция отправляется в ЦП, для завершения которой может потребоваться несколько тактов, когда ЦП узнает, что инструкция завершилась, и может начать обработку следующей? Больше всего меня интересуют архитектуры RISC, поскольку CISC может содержать сложный микрокод.
2 ответа
Как правило, для простых процессоров, которые не являются суперскалярными и не имеют сложной логики предварительной выборки или конвейерной логики, это выполняется с помощью фактического соединения схемы. Когда инструкция удаляется, соединение от логики отмены к блоку выборки запускает выборку следующей инструкции.
То, что вы спрашиваете, может быть найдено путем поиска в Google "Диаграмма времени процессора":
Внутри временной диаграммы вы можете видеть, когда инструкции помещены в шину, и когда они завершены, они могут вызвать следующую инструкцию, которую нужно получить, и т.д.
Да, разные инструкции имеют разное количество тактов - например, эти инструкции XMM от архитектуры Intel собираются намного дольше, чем простая операция XOR. Более того, из-за кэширования и конвейерной передачи одни и те же инструкции могут даже иметь разные общие задержки.
Поскольку вы запросили RISC, возможно, вам следует прочитать временную диаграмму процессора ARM:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0301h/I998937.html