Pipeline Stages


Pipeline Stages=1,數據輸入后,輸出在之后第一個時鍾上升沿

Pipeline Stages=2,數據輸入后,輸出在之后第兩個時鍾上升沿、、、以此類推

 

Pipeline Stages即流水線模式,可以提高指令執行的吞吐量

 

在IC的制成中,一條指令的執行是被分成多個stage的,每個stage使用一個cycle,一條
指令從第一個stage依次執行到結束,這個過程叫做pipeline。由於一條指令被切成了
多個stage,所以多條instruction可以同時運行在不同的stage上,增加了指令執行的throughput。
為了簡單起見,假設指令被分成5個stage:IF、ID、EX、MEM、WB

1、IF(取指令),該stage可以做兩件並行的事情:從memory中fatch指令到IR(instruction register)
中;將PC(program counter)加4,並將加完后的value存到NPC(next program counter)中。

2、ID,該stage可以做三件並行的事情:做指令的解碼;將value從register中取出;如果
有immediate 也需要讀出來,並作sign-extension(就是將16bit擴展成32bit)

3.EX,它可能要做的事如下:
A、做運算,如:加減乘除
B、算memory的address
C、如果是branch,就去算target address,並檢查跳轉條件。

4、MEM,它可能要做的事如下:
A、將NPC賦值到PC
B、如果是memory reference(內存存取),則需要根據EX中算出的memory address對memory
進行讀寫操作,如果是load,則從memory中讀數據到LMD中。
C、如果是branch,則需要將EX中算出的target address根據condition賦值給PC

5、WB,它可能要做的事如下:
A、將運算結果存回到register中
B、將MEM中的LMD中的值寫回到register中
————————————————
版權聲明:本文為CSDN博主「wfhh000」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/wfhh000/article/details/42527791


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM