Разница между инструкцией и микрооперацией

в чем разница между машинной инструкцией и микрооперацией? Я нашел следующее определение здесь:

небольшая, основная инструкция, используемая последовательно для того чтобы составить высокопоставленное инструкция машины

вот что я нашел на Википедия

в компьютерных центральных процессорах, микрооперациях (также известных как микро-ops или µops) детальные низкоуровневые инструкции используемые в некоторых конструкции для реализации сложных машинных инструкций (иногда называют макро-инструкции в этом контексте)

правильно ли я понимаю, что micro-op-это инструкция процессора, которая выполняется в заданном цикле. Скажите "нравится" и добавьте "SUB, MUL, ST, LD". Я что-то упускаю?

любая помощь приветствуется.

1 ответов


несколько лет назад было обнаружено, что RISC лучше, чем CISC: если вы хотите очень высокоскоростной процессор, то вы хотите, чтобы все ваши инструкции были очень простыми: это позволяет им завершить в короткий период времени и, следовательно, более высокую тактовую частоту. Таким образом, Андрей Таненбаум предсказал, что"через 5 лет никто не будет запускать x86". Это было в 90-х.--1-->

Так что случилось? Не является ли x86 (и, следовательно, AMD64, также известный как x86_64) самым известным набором инструкций CISC. Ну, не стоит недооценивать изобретательность инженеров Intel (и AMD). Понимая, что если бы они хотели более высокоскоростной процессор (назад с одним ядром мы попали > 4GHz в конце 90-х годов), что они не могут обрабатывать свои сложные инструкции за один такт. Решение состояло в том, чтобы использовать "micro-ops".

каждый микрооператор будет выполняться за один такт и будет напоминать инструкцию типа RISC. Когда процессор столкнулся с инструкцией CISC, он будет декодировать ее в несколько микроопераций, каждая из которых продлится один цикл. Таким образом, они могли сохранить свою старую грубую архитектуру набора инструкций (для обратной совместимости) и иметь очень высокие тактовые частоты.