2014-11-25 2 views
0

Я читаю книгу о введении в компьютерную архитектуру. Есть текстовый фрагмент, который гласит: «Инструкции 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. Таким образом, есть кажущееся противоречие. Может кто-нибудь помочь исправить это?

+0

Google «процессорный трубопровод». –

+1

Текст, предположительно, означает, что «обычно выполняется один такт [для выполнения]» (т. Е. Только один этап «выполнить»). Одноциклическое выполнение упрощает разработку эффективного конвейера, так как зависимые инструкции могут выполняться последовательно. Исходный микропроцессор * без * Interlocked Pipeline Stages даже использовал слот задержки нагрузки, чтобы позволить инструкциям нагрузки обрабатываться как одноцилиндровый (принуждение компилятора избегать размещения зависимой инструкции сразу после команды загрузки). –

+0

Я думаю, что комментарий - это мой ответ. Благодарю. – Paulo

ответ

0
  1. вы также можете использовать Google Risc architecture. или
  2. см. страницу wikipedia на архитектуре RISC DLX. или
  3. см. книгу hennesey и patterson, в которой подробно обсуждается архитектура risc.

Обычно у вас есть конвейерная архитектура risc (fetch - decode - execute - write back). команда выполняется в одном цикле. но весь конвейер может занять больше циклов, в зависимости от архитектуры, которую вы используете для реализации.

Надеюсь, это поможет.

+0

Очень полезно. танки. Предметом является просто получить целостное представление о том, как лучше программировать (т. Е. Сборку). Я не хочу разбираться в вопросе проектирования процессора. – Paulo

Смежные вопросы