提到流水線,最先想到的可能是流水線車間中的產(chǎn)品制造過程。
工業(yè)上的流水線,又稱裝配線,指每一個生產(chǎn)單位只專注處理某一個片段的工作,以提高工作效率及產(chǎn)量。
在計(jì)算機(jī)領(lǐng)域中,也有流水線的概念,其核心原理也是和工業(yè)上的流水線一致。
1 計(jì)算機(jī)中的流水線概念
流水(pipelining),或流水技術(shù),是指把并行性(或并發(fā)性)嵌入到計(jì)算機(jī)系統(tǒng)中,它可以把重復(fù)的順序處理過程分解為若干子過程,每個子過程能在專用的獨(dú)立模塊上有效地并發(fā)工作。
其特點(diǎn)歸納包括:
- 一條流水線通常由多個流水段組成每段由專用功能部件,各部件順序連接,不斷流各段時間時間盡量短、并盡量一致,不一致時最慢子過程稱為瓶頸流水線的操作周期,為其最耗時的那段(瓶頸)所需的時間使用流水線,可同時指向多條指令,提高了各部件的利用率和系統(tǒng)的吞吐率
2 嵌入式ARM中的五級流水線
嵌入式處理器設(shè)計(jì)中,通常用到五級流水線(如ARM9):
- 取指(IF):從存儲器中取出指令,將其放入指令流水線譯碼(ID):對指令進(jìn)行譯碼解碼執(zhí)行(EX):利用邏輯運(yùn)算單元進(jìn)行運(yùn)算的執(zhí)行訪存(MEM):在需要的情況下,進(jìn)行數(shù)據(jù)存儲器的訪問回寫(WB):將指令產(chǎn)生的結(jié)果,回寫到寄存器中,包括任何從存儲器中讀取的數(shù)據(jù)
3 流水線實(shí)例分析
3.1 實(shí)例1
某三級流水線,操作步驟包括:取指、分析、執(zhí)行,每級的執(zhí)行時間為5、2、3,求從頭到尾執(zhí)行完100條指令所需的時間
5+2+3+5x99=505
3.2 實(shí)例2
某三級流水線,操作步驟包括:取指、分析、執(zhí)行,每級的執(zhí)行時間為4、2、3,求從頭到尾執(zhí)行完100條指令所需的時間
4+2+3+4x99=405
4 總結(jié)
本篇介紹了計(jì)算機(jī)與嵌入式領(lǐng)域中的流水線概念,并通過實(shí)例分析了流水線的處理時間該如何計(jì)算。