Я читаю книгу о введении в компьютерную архитектуру. Есть текстовый фрагмент, который гласит: «Инструкции RISC обычно занимают один такт». Затем он показывает последующие Verilog фрагмент в качестве иллюстрации:Выполнение инструкции
always @(positiveclockedge clk)
begin
case (state)
STATE_FETCH:
begin
fetch;
state = STATE_DECODE;
end
STATE_DECODE:
begin
decode;
state = STATE_EXECUTE;
end
STATE_EXCUTE:
begin
execute;
state = STATE_FETCH;
end
endcase
end
В соответствии с фрагментом Verilog, каждая команда занимает по меньшей мере, 3 тактовых циклов (игнорируя любые задержки доступа к памяти), даже процессор RISC. Таким образом, есть кажущееся противоречие. Может кто-нибудь помочь исправить это?
Google «процессорный трубопровод». –
Текст, предположительно, означает, что «обычно выполняется один такт [для выполнения]» (т. Е. Только один этап «выполнить»). Одноциклическое выполнение упрощает разработку эффективного конвейера, так как зависимые инструкции могут выполняться последовательно. Исходный микропроцессор * без * Interlocked Pipeline Stages даже использовал слот задержки нагрузки, чтобы позволить инструкциям нагрузки обрабатываться как одноцилиндровый (принуждение компилятора избегать размещения зависимой инструкции сразу после команды загрузки). –
Я думаю, что комментарий - это мой ответ. Благодарю. – Paulo