版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘要流水線技術是提高系統(tǒng)吞吐率的一項強大的實現技術,并且不需要大量重復設置硬件。20世界60年代早期的一些高端機器中第一次采用了流水線技術。第一個采用指令流水線的機器是IBM7030(又稱作Stretch計算機)。后來的CDC 6600同時采用了流水線和多功能部件。到了20世紀80年代,流水線技術成為RISC處理器設計方法中最基本的技術之一。RISC設計方法的大部分技術都直接或者間接以提高流水線性能為目標。從此以后,流水線技術也被有效地應用到CISC處理器的設計中。Intel i486是IA32體系結構中的第一個流水線實現。Digital的VAX和Motorola的M68K的流水線版本在商業(yè)上
2、也取得了成功。流水線技術是當前指令集處理器設計中廣泛采用的技術。在這里我們將重點放在(標量)流水線處理器的設計。流水線處理器設計中的許多方法和技術,例如用于檢測和化解相關的流水線互鎖機制,都是標量處理器設計的基本方法。當前的趨勢是朝著超深度流水線的方向發(fā)展。流水線的深度已經從不到10發(fā)展到超過20.深度流水是獲得高速始終頻率的必要條件,這是提高處理器性能的一個非常有效的方法。有跡象表明。這種趨勢還將持續(xù)下去。 關鍵詞 流水線技術 猜測法 中斷處理 吞吐率 指令重疊 加快短循環(huán)程序的處理AbstractPipeline technology is to improve the system th
3、roughput of a powerful technology, and does not require repetitive set hardware. The 20 world early 60's some high-end machines used the first pipeline technology. The first use of the instruction pipeline machine is IBM7030(also called Stretch computer ). Later CDC6600at the same time lines and
4、 multiple functional components.In the nineteen eighties, pipeline technology to become the RISC processor design method is one of the most basic techniques. The design method of RISC most of the techniques are directly or indirectly to improve performance as the goal line. Since then, assembly line
5、 techniques have also been applied effectively to the CISC processor. Intel i486 is IA32 architecture is the first in a pipelined implementation. Digital VAX and Motorola M68K pipelined version also achieved success in business.Pipeline technology is the current instruction set processor is widely u
6、sed in the design of technology. Here we will focus on the ( scalar ) pipelined processor design. A pipelined processor in the design of many methods and techniques, for example, used to detect and resolve the relevant pipeline interlock mechanism, is a scalar processor design method.The current tre
7、nd is towards super depth line direction. Pipeline depth has less than10 to the development of more than 20depth of water is always necessary to obtain high speed frequency, which is to improve the performance of a very effective method. There are signs. This trend will continue.Keywords: Pipeline t
8、echnology forecast method of interrupt processing throughput instruction overlapping accelerate short cycle program processing目錄第一章緒論31.1現代RISC中的流水線技術31.1.1超流水線技術31.1.2超標量技術41.1.3流水技術在Pentium系列微處理器中的實現4第二章流水線基礎72.1流水線概念72.1.1指令重疊72.1.2流水線82.1.3流水線的特點92.1.4流水線的分類102.2流水線的主要性能112.2.1吞吐率122.2.2加速比和效率12
9、第三章指令流水線設計153.1流水線理想假設153.1.1一致的運算分量153.1.2重復的運算163.1.3獨立的運算173.2指令流水線183.2.1指令流水線設計183.2.2指令集體系結構的影響193.2.3流水線分級的考慮203.3流水線處理器設計213.3.1保持流水段均衡213.3.2統(tǒng)一指令類型223.3.3減少流水線停頓26第四章流水線中各種相關及中斷處理274.1流水線中相關274.2資源相關274.3數據相關284.3.1指令相關284.3.2主存空間操作數相關294.3.3通用寄存器組相關294.4控制相關314.4.1猜測法314.4.2加快和提前形成條件碼324.4
10、.3采取轉移延遲324.4.4加快短循環(huán)程序的處理32第五章中斷處理與流水線調度355.1中斷處理355.2流水線調度35第六章總結與展望39致謝41參考文獻42第1章 緒論流水線技術是提高系統(tǒng)吞吐率的一項強大的實現技術,并且不需要大量重復設置硬件。20世界60年代早期的一些高端機器中第一次采用了流水線技術。第一個采用指令流水線的機器是IBM7030(又稱作Stretch計算機)。后來的CDC 6600同時采用了流水線和多功能部件。到了20世紀80年代,流水線技術成為RISC處理器設計方法中最基本的技術之一。RISC設計方法的大部分技術都直接或者間接以提高流水線性能為目標。從此以后,流水線技術
11、也被有效地應用到CISC處理器的設計中。Intel i486是IA32體系結構中的第一個流水線實現。Digital的VAX和Motorola的M68K的流水線版本在商業(yè)上也取得了成功。流水線技術是當前指令集處理器設計中廣泛采用的技術。在這里我們將重點放在(標量)流水線處理器的設計。流水線處理器設計中的許多方法和技術,例如用于檢測和化解相關的流水線互鎖機制,都是標量處理器設計的基本方法。當前的趨勢是朝著超深度流水線的方向發(fā)展。流水線的深度已經從不到10發(fā)展到超過20.深度流水是獲得高速始終頻率的必要條件,這是提高處理器性能的一個非常有效的方法。有跡象表明。這種趨勢還將持續(xù)下去。1.1 現代RIS
12、C中的流水線技術1.1.1 超流水線技術超級流水線(超級流水線集)技術是用在一個并行處理技術。在他稀疏的水,增加的數量和提高頻率,從而在每個機器周期完成一個或2個浮點操作。其實質是以時間換取空間。超純水機的特點是在所有的功能單位只使用水,并具有更高的時鐘頻率和更深的水的深度。1.1.2 超標量技術超標量(Super Scalar)技術是RISC采用的有一種處理技術。它通過內裝多條流水線來同時執(zhí)行多個處理。其實質就是以空間換取時間。流水線實現中的問題及解決:這是一個問題的連續(xù)流動,這似乎并沒有流下,從而獲得更高的效率。停止的原因很多,除了編譯生成的目標程序可以發(fā)揮結構的作用,水,或存儲系統(tǒng)可以提
13、供一個連續(xù)流動所需的指令和操作數,基本上還出現相關,轉移和中斷指令相關的。解偏相關有2種方法:后退方法和路徑的方法;解決全球相互關系有三種方法:猜測轉移,加快推進形成條件代碼,加快短循環(huán)程序處理。1.1.3 流水技術在Pentium系列微處理器中的實現流水線技術早在英特爾凌動芯片已經實現。奔騰系列處理器產品是一個高級的超標量處理器。它是建筑在一般整數流水線和一個浮點單元在線,這使處理器執(zhí)行整數指令。一對透明的軟件動態(tài)分支預測機制可以使分支流水線堵塞最小化。奔騰處理器可以在一個時鐘周期內完成2指示,流水線完成命令。第一個邏輯管叫“你”的流水線,一次電話“五”流水線。在任何一個給定的指令解碼時,它
14、是安排后面的指令將被檢查。和,如果可能的話,第一個指令被分配到“你”流水線執(zhí)行指令,其次是分配到“勝利”的流水線執(zhí)行。如果不是,那么第一個指令設置為“你”“五”流水線流水線執(zhí)行,不安排指令操作。教學中的操作和流水線的順序執(zhí)行所產生的效果是完全一樣的。當流水線堵塞,隨后的指令指令是阻止任何流水線。技術的奔騰處理器的整數流水線增加一個額外的處理階段。指令代碼緩沖區(qū)緩存預取,美聯儲的“預”(公積金)階段,并在“提取”(女)階段的教學語法分析。此外,所有前綴的解碼階段。在教學第一先出(先進先出)指令緩沖區(qū)中的語法分析和指令解碼分開,緩沖區(qū)位于的階段,the1stage(D 1)之間的解碼。先進先出緩沖
15、空間指令處理最多四個指示。先進先出緩沖區(qū)是透明的,當它是空的,沒有額外的延遲。在每個時鐘周期的指令,指令緩沖區(qū)(按有效代碼字節(jié),和其他因素,如前綴)。然后,對指令的先進先出緩沖射出去,到d1stage。由于指令的平均執(zhí)行效率為每個時鐘周期不超過2指令,所以通常全是先進先出。只要是先進先出,你可以防止取指令和語法分析產生阻塞。如果這阻塞,先進先出也可以使阻塞的執(zhí)行管線階段發(fā)生。但如果是先進先出空,因為沒有指令流水線操作,這可能導致執(zhí)行一個塊。長指令或一個前綴可以在先進先出入口產生阻塞。超流水線(Super Pipeline)在本質上仍為一種流水線技術,但它做了以下的改進:1、流水線條數從奔騰的兩
16、條增至三條,還有十一個獨立的執(zhí)行單元并行支持。2、在實施無序執(zhí)行(采取所有加工)技術。當一個指令需要一些數據并不能立即執(zhí)行,它將被刪除線和等數據,處理器是立即執(zhí)行的指示下,就像在裝配線發(fā)現產品不合格,但被淘汰,等原因。這樣,可以防止無法執(zhí)行命令影響整個生產線的效率。3、在p6instruction分為更細的相位,使邏輯設計,工藝等更為簡化,提高了速度。在486chip,指令一般分為五個部分,奔騰也是如此。在六,由于采用了類似的精簡指令集計算機技術,一個指令分為十四階段。這大大提高了線速度。六系列處理器使用動態(tài)執(zhí)行結構。結構通過一個硬件寄存器重命名和分支預測的方法,將亂序執(zhí)行和投機執(zhí)行的合成。這
17、些處理器有一個有序的進入流水線,它將英特爾386macro指令分為簡單的微操作(或國外)和一個可以處理這些微操作外序的超標量處理器核心。亂序處理器內核包含幾行,連接整數,浮點數和跳躍,內存執(zhí)行單元。幾種不同的執(zhí)行單元可以集成在同一行。例如:一個整數地址邏輯單元和浮點執(zhí)行單元(加法器,乘法器和除法器)共用線。數據緩沖區(qū)緩存由一個專用的讀端口和其他存儲端口交錯成。最簡單的手術(國際鋁,浮點此外,甚至浮點乘法)每時鐘周期才能完成一個工作通量裝配線。浮點除法不能進入流水線,長和短延遲延遲操作可以在平行處理。六系列線由三部分組成:前端(按序有序的組織單位,核心(前端)序序核心)單元和有序退出(有序退休)
18、單位。英特爾最近推出的奔騰處理器使用的p6dynamic執(zhí)行技術,包括多個分支預測,數據流分析,推測執(zhí)行。同時,奔騰處理器有一個流水線浮點單元(浮點運算單元),可支持32位,64位和80位浮點運算。英特爾最近發(fā)表的奔騰4,奔騰4basic指令管線長度達到20級,是六建筑2倍,更比AM DAth lon。時間線可以使處理器運行在更高的頻率,從而提高處理器的性能,但可能有一些指令執(zhí)行延遲。第2章 流水線基礎加快機器語言的解釋過程,提高機器的速度是一個基本任務的計算機設計。這可以實現的方式。一種方法是增加了設備的速度,更好的算法,增加指令的微平行度,減少解釋過程需要擊敗多項措施加快機器指令的解釋。另
19、一種方法是使用重疊和水的方法,同時,多個2解釋整個過程,從而加快整個機器語言程序的解釋。流水線技術現已廣泛應用于微處理芯片的關鍵技術,英特爾公司的微處理器應用技術首次實現。2.1 流水線概念指揮控制方法三:序列的方法,重疊,運行模式。順序法是指機器指令序列之間的串行執(zhí)行的機器指令,和每個微指令的執(zhí)行順序。雖然這種方法的優(yōu)點是控制簡單但速度上不去,利用率低的機器零件。重疊模式是指解釋第鉀指令操作完成之前開始的鉀1instruction解釋。通常使用的重疊,即,在任何時間,命令解析單元和指令執(zhí)行部只有相鄰指令重疊的解釋。這意味著指令解釋速度增加,控制不是很復雜,但出現沖突,轉移,相關的問題,這些都
20、是需要在設計解決。水是一個并行或并行嵌入計算機系統(tǒng)中的一種形式。它是重疊的連續(xù)過程分解為一個進程的個數,每個進程的特殊模塊獨立有效的并行工程技術。論“流”可以被視為“重疊”的延伸。不同的是一個“重疊”只是一個指令的解釋是分解成2個過程,與“水”分解為多個子過程。2.1.1 指令重疊一個指令執(zhí)行過程可以分為取指令,類型和執(zhí)行一三個過程(圖2.1)。取指令,取出指令,指令寄存器。教學分析指指令的操作碼進行譯碼,解決和地址字段地址操作數的真正形成,這是地址讀取操作,但準備取下一條指令是預先形成的下一條指令的地址。指令執(zhí)行是指一些操作,加工業(yè)務,或存儲操作結果。指令的重疊解釋方法是指,在解釋的指令操作
21、完成之前,開始解釋鉀1instruction。假設這三個過程,分別以不同的硬件(命令控制器,分析和執(zhí)行單元),當K線指令在分析階段,該控制器在空閑狀態(tài),這個時候可以為鉀1instruction到取指令操作,當K線的指令被執(zhí)行時,解析器在空閑狀態(tài),并可以進行鉀1instruction分析(圖2.2)。顯然,重疊的解釋方式和不能加快指令來實現的,但可以加速相鄰的指令和程序的解釋。圖2.1 機器指令的順序執(zhí)行方式圖2.2 指令的重疊解釋方式2.1.2 流水線水實際上是重疊延伸,上面提到的重疊模型實際上是一個simple3水模型。如果分析和執(zhí)行階段分為指令解碼,執(zhí)行操作,存儲和計算結果,當鉀1inst
22、ruction在指令執(zhí)行的操作時可以開始解碼,而不必等到分析鉀完全結束。這樣一個指令周期可以同時executing5指令。裝配線的工作方式是一個反復的過程分解成幾個子進程,每個進程可以與其他子過程在同一時間。由于這種工作方法在工程和生產線是非常相似的,因此,他把工作流程。該處理器可以用在幾乎所有地區(qū)的工作流程。在指令執(zhí)行使用線,到指令流水線。手術操作元件,如浮點加法器,浮點乘法器可以被用來作為部分的流水線,流水線。訪問主存儲器單元也可用于流水線。即使在處理器,機器也可以使用流水線。圖2.3 指令流水線2.1.3 流水線的特點從上面的分析中可以看到,在處理機中采用流水線方式與采用傳統(tǒng)的串行方式相
23、比,具有一下特點:1、在處理流水線必須是連續(xù)的任務,只有不斷提供任務才能充分發(fā)揮效率的流水線。比如說呢。如果浮點加法器的充分發(fā)揮,需要連續(xù)提供浮點加法器。然而,由于程序本身的原因和程序設計過程所造成的一些原因,數據關聯,不可能為浮點加法器是提供一個連續(xù)運行。因此,在使用流水線的方式處理,尤其是當線的多個系列,應該在軟件和硬件方面的線提供連續(xù)的任務,為了提高效率,流水線。2、任務分解成幾個相關的任務,每個任務由一個專門的功能組件實現。因此,線實際上是一個功能成分分解成多個獨立的功能部件,并依靠多個功能部件并行工作縮短程序的執(zhí)行時間。在流水線,任務通常被稱為一個過程,或一個功能段。3、在每一個功能
24、單位線回有一個緩沖寄存器,或鎖存器,用于保存所執(zhí)行的結果。這是因為在每一段的延遲可以不相等,因此,在轉移的任務,必須通過緩沖寄存器。當一個函數的時間范圍較大,設立多個緩沖寄存器。4、線段的對稱性,即相同的時間要求盡可能,否則將造成“堵”,“停止”和其他問題。執(zhí)行時間最長的部分將成為整個線路的“瓶頸”,那么,線段將受到限制,不能充分發(fā)揮作用。只有當全是滿滿的,整個流水線的效率可以得到充分發(fā)揮。為了設計出高效率的流水線,要充分注意上述問題。2.1.4 流水線的分類從不同的角度,根據不同的角度,可以分成許多不同類型的線。通常所說的一些線路,通常按一定的角度,或從一個特定角度線的分類結果。因此,從名字
25、上只能反映一維線功能或特征。按照流水線的各功能段之間是否有反饋信號,可以把流水線分為線性流水線合非線性流水線。線性線是線各功能部分的每一個系列,輸入數據從流水線部分進入,從另一部分流出。數據流水線通過,沒有一個功能部分流經的第一,只有通過A線性線通常只能完成固定功能,在現代計算機系統(tǒng),線性線已被廣泛應用在指令執(zhí)行過程中,各種算術運算,內存訪問操作。圖2.4 非線性流水線非線性流水線經常用于遞歸調用,或者構成多功能流水線。根據線使用不同層次,可以將流水線分成功能組件,處理器和處理器和其他類型。處理器的流水線階段的指令流水線,他把一個指令執(zhí)行過程分解成若干個子過程,每個子進程中的一個獨立的功能部件
26、。特征線,又稱為操作線,如浮點加法器流水線,浮點乘法器組件。處理器間流水線也被稱為流水線,一般是兩年多處理器通過記憶的串行連接,每個處理器在數據流的不同部分分別進行處理。 圖2.6 指令流水線流水線又可分為單功能流水線和多功能流水線。顧名思義,單功能流水線只能完成固定的單一功能,多流水線通過各個段間進行不同的連接,在不同的時間內或者統(tǒng)一時間內通過不同的連接方式完成不同的功能。多功能流水線,根據同一時間是否可以連接到各種不同的方式,并執(zhí)行各種任務,你可以把多功能流水線分為靜態(tài)和動態(tài)線。靜態(tài)線是在同一時間,多功能流水線部分只有按照一定的固定連接,實現一個固定功能。只有當根據連接方式工作的所有任務脫
27、節(jié),重新連接,完成其他功能。動態(tài)線的同時,可以根據不同的連接方式,完成各種不同的功能。這一次請求行功能不能沖突。除了以上幾種分類方法外,還可以根據其他標準,從不同角度對流水線進行分類。2.2 流水線的主要性能衡量流水線主要性能的指標主要有吞吐率,加速比和效率。2.2.1 吞吐率吞吐率是指在單位時間內流水線所完成的任務數量或者輸出的結果數量。即: 式(2.1)中,n為任務數,是處理完成n個任務做用的時間。本式為計算吞吐率最基本的公式。有的時候我們還需要求一條流水線的最大吞吐率: 式(2.2)中為第k個子過程所花費的時間。最大吞吐率受限于流水線中最慢子過程即瓶頸子過程所需要的時間。為了提高流水線的
28、最大吞吐率,首先要找出瓶頸,然后設法消除此瓶頸。消除瓶頸有兩種辦法,一是將瓶頸子過程再細分,另一種辦法是通過重復設置多套瓶頸段并聯,讓他們交叉進行。后一種方法需要解決好在各并行子過程之間的任務分配合同步控制,比起瓶頸子過程再細分控制要復雜、設備量要多一些。2.2.2 加速比和效率完成一批任務,不使用流水線所花的時間與使用流水線所用時間直比即為流水線的加速比。如果不使用流水線,即順序執(zhí)行所用時間為,使用流水線的執(zhí)行時間為,則流水線的加速比為: 這是計算流水線加速比的基本公式。流水線效率是指設備的利用率和流水線。在時空圖,線效率定義為,任務時間區(qū)域與鉀功能區(qū)占用空間面積比。因此,效率線包含2個方面
29、的時間和空間因素。事實上,在任務的時間區(qū)域是順序執(zhí)行的任務使用的總時間。而一個流水線,完整的總任務在顳區(qū),這是一個對完成任務的總時間。是一個段線效率可表示為: 此式是計算流水線效率的一般公式。如果流水線各段執(zhí)行時間均相等,且輸入的n個任務是連續(xù)的,則一條k段流水線的效率為: 從流水線的時空圖上來看,上式分母部分是完成n個任務所用時間與k個功能段所圍成的總面積,而分子部分則是k個功能段實際所占有的面積。因此,利用時空圖來計算流水線的效率十分方便。第3章 指令流水線設計我們做任何事情,都希望能夠達到理想狀態(tài),但這往往是不現實的,我們研究理想狀態(tài)的意義就在于給出一個衡量的標準,并且努力向這個標準靠近
30、,這在指令流水線的設計過程中也不例外。3.1 流水線理想假設為目的的指令流水線,我們希望能夠最大限度地提高系統(tǒng)性能。然而在實踐中,但往往不這樣做,因為只有在理想的條件下,等級度流水線設計可以提高吞吐量的時間,理想的情況是主要基于三假說,我們稱它為“線理想的假設”,他是正確評估流水線設計。設計各種方案解決實際線和線之間的矛盾,理想的假設,它們構成的主要工藝流水線的設計。流水線的理想假設包括:1. 一致的運算分量:要完成的整個運算量可以均勻的分成延遲一只的若干分量。2. 重復的運算:輸入數據有大量相同的、重復的運算。3. 獨立的運算:所有相同的重復運算之間沒有相關性。3.1.1 一致的運算分量第一
31、行的理想的假說解釋,會使計算部分水均勻地分為鉀延遲相同的組件。這意味著以前的設計可以分為鉀平衡水段。如果以前的總計算延遲,不是設計類型的水循環(huán),然后鉀流水線設計風格的周期是鉀,也就是流水在每一段的延遲?;谶@一假設,時鐘頻率可以增加,并提高吞吐量倍。在實際的流水線設計,這種假設可能不成立。總操作組件完全均勻的分成幾個部分是不可能的。在3級流水線浮點加法器的例子,設置總延遲for500ns,線分為3個部分,每個部分都200ns延遲,容錯,200ns。顯然,總延誤是不均勻分布在整個線路的三段。因為線路時鐘周期決定推遲最長延遲時間較短,所以會有一些無效或失敗時。如浮點加法器的后半部分,這是100 n
32、s的無效時間,我們可以稱它為“內部碎片”。由于內部分裂,執(zhí)行同樣的操作延遲將增加。有一種內在的假設,即水段之間引入緩沖不會帶來額外的延遲線時鐘信號,也不引入額外的延遲。同樣,假設在實踐中是不成立的。在一些例子中,為了保證信號的時鐘信號準確地成立的,注冊成立,所以總時鐘周期延長,從而導致實際業(yè)績可能不到3次。第一行的理想假設主要包含以下兩點:以前的操作部件分為多個部分,不引入一個無效的時間;一個緩沖和時鐘不會帶來額外的延遲介紹。在芯片級設計,可以使用一些鎖,如·鎖可以使時鐘產生延遲盡可能小。那么如何來操作均勻分成各種水段構成的流水線設計的第一個挑戰(zhàn)。我們的目標是,盡可能使所有水段保持平
33、衡,減少內部分裂。由于各水段不能完全平衡內部分裂是不滿足第一行的理想假設的主要原因,這將是一個架空,并導致鉀級管線設計吞吐量增長達到理想的倍。3.1.2 重復的運算第二線的理想的假說解釋,線反復執(zhí)行相同的操作。這意味著在一組輸入數據,一些運營商是相同的,這些操作執(zhí)行。每次執(zhí)行時,線路提供組件執(zhí)行順序是相同的。因為浮點加法器的例子,將含有大量浮點數在一起,對每一個操作數是通過same3線。這一集,每次重復計算可以使用所有的小節(jié)線。在我們的例子,這顯然是建立。浮點加法滿足這個假設,因為本線只完成一個功能,例如,浮點加法運算。如果你想設計一個流水線完成多種功能,這種假設是不滿意。例如,設計一個可以計
34、算加法和乘法運算流水線可以計算。多功能流水線,一個單獨的功能可能不需要所有的流動部分,可由水段的不同子集完成不同的功能。因為輸入的數據在一個同步的方式通過流水線,有些數據可能不需要一些水段,當他們經過一段,什么也不做。這并沒有使用或自由流動的部分帶來另一種形式的流水線,可稱為“外碎片”。和內部分裂的外部碎片是類似的,一個流水線架空,應盡量減少。第二線的理想假設所有水段總是充分利用。除了表明不存在外部碎片,這個假設也說明了數據的處理是許多。第一數據線最后一段需要鉀鉀循環(huán)周期,稱為“填充”。最后的數據線的第一段,也需要鉀定期排空流水線。在灌裝和排空過程中,并不是所有的流水線階段的工作狀態(tài)。如果有大
35、量輸入數據的處理,可以使線的填充和排空時間只有一小部分的總時間。因此,許多水段可認為一直處于工作狀態(tài)。3.1.3 獨立的運算第三線假說解釋,線加工操作是相互獨立的。這意味著,所有同一時間居住在流水線的操作是不相關的,也就是說,任何兩者之間不存在的數據或控制。這一假設保證線在“流動”的工作方法,即后面操作不是因為存在相關性而等待操作完成。因為浮點加法器的例子,這個假設是成立的。如果有更多的操作數在一起,一對操作數的增加不是因為另一個加法的結果。這些操作可以依照“流”的處理。這一假設的一些行可能不成立。后面的操作可能需要在前面的結果,和2個操作也可能居住在流水線。如果是后者的經營已進入了結果所需的
36、水,但這次在術前尚未到達產生的結果流動段,這是背后的操作必須等待期。這是被稱為“流水線攤位”。如果一個操作暫停線一定時間,隨后的所有操作可能被迫停頓。流水線攤位不可避免地導致一些處于閑置狀態(tài),它可被視為一個動態(tài)外部碎片,從而使吞吐量率降低。如果相關是不可避免的,設計時,盡量多的停止線。3.2 指令流水線前三行是行的理想假設。在大多數情況下,算術流水線的實際情況與理想的假設是不太大。然而,對指令流水線,和實際情況之間的差距會更理想的假設。而連接過橋正式指令管線設計有趣和有挑戰(zhàn)性的地方。設計中的流水線處理器,三個假設成為三大挑戰(zhàn)。三大挑戰(zhàn),同時與探索的流水線處理器的設計理念。3.2.1 指令流水線
37、設計設計中的命令行,三行,成為設計目標。一個指令處理是精簡業(yè)務,它必須被分成多個作為輔助操作,得到的平衡線。處理指令延遲時間成為“指令周期”,每一段時間延遲決定了機器周期。”。指令周期是一個邏輯概念,它指的是執(zhí)行的指令周期。一個程序,包括一個多元化的指令,程序的執(zhí)行相當于相應的操作重復執(zhí)行。機器周期是一個物理概念,它包含了數字邏輯電路的存儲單元的時鐘,同時它也是流水線時鐘周期。指令流水線設計的主要任務可以看作是將邏輯指令周期映射到物理機器周期。換句話說,就是將指令周期所對應的運算分成一個子運算的序列,由流水線的各段運行。要有效的進行這種分割或者映射,必須考慮三條流水線的理想假設。符合業(yè)務的組成
38、部分,我們將指令周期分為多個機器周期的過程稱為“定量水段”。在量化的流動部分,以盡量減少內部分裂。如果在量化流動部分是不充分的考慮,將引入內部碎片,從而影響線的利用率。第一行的理想假設帶來的指令流水線設計的第一個挑戰(zhàn),稱為平衡線。線平衡,減少內部分裂。重復的運算 與單一功能的算術的流水線是不一樣的,指令流水線是一種天然多功能流水線,即它必須能夠處理各種不同類型的指令。不同類型的指令需要稍微不同的子操作序列,相應的硬件資源的不同。指令流水線的設計挑戰(zhàn)二連接,或整合不同類型不同的資源需求。線應該能夠支持所有類型的指示;同時應盡量減少對每種類型的指令是無效的或空的機器周期,也是降低外部碎片。獨立的運
39、算 運算流水線是一個數組的數據,他們一般是不相關的。和算術流水線是不同的,指令流水線處理指令不完全是相互獨立的。因此,指令流水線必須有一套內部機制,用來檢測指令發(fā)生之間的相關和有關的指令不會導致錯誤。相關的指令可能導致流水線攤位,導致失敗。如前所述,流水線停滯在動態(tài)外部碎片,這會降低流水線的吞吐量。因此,指令流水線設計的第三大挑戰(zhàn)是減少流水線攤位。3.2.2 指令集體系結構的影響在正式討論指令流水線設計的三個主要挑戰(zhàn)之前,簡單的考慮一下指令集體系結構對于指令流水線的影響,將很有啟發(fā)意義。下面將一次考慮三條流水線理想假設。一致的運算分量 使水段保持均衡的第一個挑戰(zhàn),必須確保組件的延遲是一致的。研
40、究教學過程的所有操作元件,有部分的長期拖延,以及部分不易破碎成細計算組件。在一個流水線處理器的設計,關鍵部件是訪問內存。由于速度的差異之間的處理器和內存,內存訪問將成為關鍵運算部件。為使指令流水線的效率更高,應在尋址模式進行優(yōu)化,并應能夠緊跟高速緩存的處理器速度。重復的運算 第一個挑戰(zhàn)是不同類型的指令的資源要求是統(tǒng)一的,它的主要目的是精簡指令集計算機系統(tǒng)結構。減少指令類型的復雜性和多樣性的整合不同的指令類型可以減少困難的任務。復雜尋址模式不僅需要額外的內存,并增加了對資源的需求的多樣性。所有這些資源整合到一個指令管線的看法相當困難,和線的許多教學效率很低。這些指示將產生外部碎片,從而降低線路的
41、利用率。一個精簡指令集計算機系統(tǒng)結構的流水線,整合資源,簡單的把線更有效,減少外部碎片。獨立的運算 第三個挑戰(zhàn)是盡量減少相關指令所造成的流水線攤位,這可能是一個流水線處理器的設計是最吸引人的地方。正確地完成操作,指令流水線必須檢測和解決相關的指令。復雜的處理方式,特別是與內存訪問模式,因為內存地址標識符問題引起了相關檢測是非常困難的。一般來說,比較容易發(fā)現因為寄存器,寄存器的指令是明確指出。簡單和樁適合指令解碼和相關檢測。相關檢測和解決可以是靜態(tài)的,也可以從本機運行的硬件動態(tài)完整。編譯和運行分別決定如何處理,在動靜態(tài)界面(接口)定義。定義接口,將導致許多有趣的和微妙的平衡。平衡,必須被編譯,(
42、微)結構和微處理器設計緊密結合起來。3.2.3 流水線分級的考慮理想流動性能和流水線的深度(即,線段)是成正比的,因此似乎是最好的設計,增加行數。然而,由于時鐘約束,線分段數總是有一個物理限制。線的每一部分可以被視為一個組合邏輯加上最后鎖存器,信號通過后的鎖。定義的最大傳輸延時,即通過長度的延遲信號路徑;為的最小傳輸延遲,即通過短的信號路徑延遲;為建立正確的時鐘信號所需的時間,包括必要的建立和保持時間,保證正確的鎖存器,同時也包括可能的時鐘偏移,滿足不同鎖存時鐘沿最大時間差。第一組信號時的作用,假設在一個級別的輸入,然后輸出的最新有效。當另一組信號在時間的輸入端子,以最快的時間就可以存L保證二
43、組信號不覆蓋第一組的信號,必須滿足: 該公式說明,信號可能到達的最早時刻不能早于信號正確鎖存的時刻。該不等式可以重寫為:其中就是最短時鐘周期T。因此,時鐘周期T必須比大,而最大時鐘頻率不能超過1/T。從中我們可以看到,時鐘最終決定管線深度,除了這一限制,如果考慮價格,即流水線間接成本,最好的設計通常不是最大的流水線深度。在一個流水線系統(tǒng)的硬件設計,必須考慮價格和性能的權衡。一般來說,價格相對深度的流水線流水線成線性增長。流水線深度一直是影響處理器效率的重要因素,流水線深度的增加可以讓處理器時鐘頻率進一步提高,但隨著流水線深度的增長帶來的處理器的單周期執(zhí)行效率降低、發(fā)熱量上升,同時容易產生分支預
44、測等問題反面影響也會加劇,因此流水線長度的尺度把握一直是處理器設計中的一個重要核心問題。在設計流水線,要綜合各方面的因素,根據最佳性價比的要求來選擇流水線的最佳段數。3.3 流水線處理器設計流水線處理器設計中的主要問題就是縮小實際情況與理想假設之間的差異。所有關于流水線處理器的設計技術,都可以看作是為解決這三個挑戰(zhàn)而進行的努力。3.3.1 保持流水段均衡要流水化的運算就是每個指令周期所要進行的工作。一個典型的指令周期可以根據功能劃分成以下5個基本分量:1. 取指(IF,Instruction fetch)2. 譯碼(ID,Instruction decode)3. 取操作數(OF,Operan
45、d(ds) fetch)4. 執(zhí)行(EX,Instruction execution)5. 存儲(OS,Operand store)一個典型的指示,從取指令周期開始,然后解碼,它決定了指令完成操作。一個指令是通常帶有一個或多個操作數,操作數在寄存器或內存,這取決于使用的尋址方式。一旦所需的錯誤計數都準備好了,你可以執(zhí)行指定的操作指令。實施所產生的結果存儲起來,就算結束指令周期。分段指令周期是一個自然的方式是按照5個基本算術元件劃分,每個業(yè)務組件對應一個流動部分,造成a5stage指令流水線,我們稱這些為基本指令流水線,簡稱槍花線。在與流水線,邏輯指令周期將被映射到5個物理機器周期。機器周期,指
46、令周期的比例為5,這是反映了流動的程度和水段大小。定量的水段設計成指令周期分割平衡水段,以便盡量減少一些內部分裂。定量的水部分的自然功能分區(qū)開始。作為基本算術組件。多個延遲更小的組件可以組合成一個新的組成部分,以獲取更平衡線。另外一個平衡線方法是相反的,不是有一個較短的延遲元件組合,但會延遲較長的操作部件被分成多個短時延的組成部分。該方法延遲短的組成部分為參考,長潛伏期操作部件分成較小的部分,使每一個組件的延遲和參考元件延遲幾乎。這將導致在一個機器周期粒度更細,在更高程度。在具體進行指令流水線設計的時候,這兩種方法可以結合起來使用。不管在什么情況下,量化流水段的目標都是盡量減小內部碎片的開銷。
47、3.3.2 統(tǒng)一指令類型第二線的理想假設需要線應重復同樣的操作。為廣大的指令流水線,重復相同的操作理想的假設是不成立的。指令流水線指令重復處理不同的指令類型。雖然指令周期重復,但每次過程的不同類型的指令。不同的指令類型有不同的資源要求,每個組成部分的業(yè)務訂單可能不一樣。指令流水線的要求,滿足不同需求,您必須提供所有類型的指令所需的所有操作元件的超集。一個單一的指令類型可能不需要所有的流動剖面線。一個單一的指令類型,不需要水段為某種形式的失敗或架空,即外部碎片。目的的統(tǒng)一指揮,是盡量減少所有指令式外碎片。要完成一次運算,計算機必須完成一下三個基本任務:1. 算術操作2. 數據移動3. 指令定序算
48、術運算包括指定的操作執(zhí)行算術和邏輯運算,它最突出的部分操作,所以經常和整個操作是等同的。一個處理器能夠支持大量的算術運算式。數據移動將負責操作數和結果存儲在地址的移動。通常是內存地址的層次和專業(yè)指示移動數據。指令序列負責指令序列的測定。通常的運作程序,含有大量的指令,通過執(zhí)行一系列指令需要完成操作。該指令序列,或打電話程序,可以通過指令本身的確定。如何將這三個基本任務分派給ISA中的各種指令,是指令集實際中的關鍵問題。受RISC體系結果的影響,現在的大多數指令集體系結構都有一些共同的特征。這些體系結果包括Hewlett-Packard的Precision體系結構,IBM的Power體系結構,I
49、BM/Motorola的PowerPC體系結構,還有Digital的Alpha體系結構。這些現代ISA傾向于采用定長指令、正交的指令格式、load/store型體系結構和簡單的尋址模式。這些體系結構中的大多數都能與指令流水線很好的協調起來。在一個典型的現代RISC體系結構中,指令集采用一種專門的指令類型來完成三個基本任務中的一個,也就是說,每一種指令類型只完成三個基本任務中的一個。根據三個基本任務,可以將指令分成三種類型:1. ALU指令 完成算術和邏輯運算2. Load/store指令 完成數據在寄存器及存儲器間的移動3. 分支指令 控制執(zhí)行指令的順序ALU指令所執(zhí)行的算術邏輯操作嚴格地針對
50、寄存器操作數進行,只有l(wèi)oad和store指令能訪問數據存儲器。Load/store指令和分支指令都采用比較簡單的尋址模式,通常只支持帶偏移量的寄存器間接尋址模式。對于分支指令,還支持PC相對尋址。在下面列出關于前兩種指令類型的詳細規(guī)范,其中假設使用了指令cache(I-cache)和數據cache(D-cache)。比較表3.1與表3.1中的兩種主要指令類型規(guī)范,我們可以看到,兩種指令類型的初始化分量比較類似,然而后面的分量有些差異。這些語意上的差異將導致不同的資源需求?;具\算分量 ALU指令類型 IF -取指令(訪問I-cache) ID -解碼指令 OF -訪問寄存器文件 EX -執(zhí)行
51、ALU操作 OS -回寫寄存器文件表3.1 ALU指令類型規(guī)范基本運算分量Load指令store指令 IF-取指令(訪問I-cache)-取指令(訪問I-cache) ID-解碼指令-解碼指令 OF-訪問寄存器文件(基地址)-生成有效地址(基地址+偏移量)-訪問(讀)內存(訪問D-cache)-訪問FP寄存器文件(寄存器操作數及基地址) EX- OS-回寫寄存器文件-生成有效地址(基地址+偏移量)-訪問(寫)內存(訪問D-cache)表3.2 Load/store指令類型規(guī)范統(tǒng)一不同指令類型主要是將不同資源需求有效的整合到一條指令流水線中去,使得這條流水線適合于所有的指令類型。整合的目標是,盡
52、量減少流水線所需要的資源總數,同時盡量提高流水線中所有資源的利用率。通常,資源的整合過程包含以下三個步驟。1. 分析每種指令類型的運算分量序列,確定相應的資源需求。2. 找出指令類型之間的共性,合并相同的運算分量,已使用相同的流水段。3. 如果在不違背指令語意的情況下存在一定的靈活性,可以改變或者重新排列分量的順序,以便進一步的整合??梢詫⑦@一過程應用到表3.1和表3.2中。ALU,load,store指令類型的規(guī)范總結如圖3.3所示。現在我們由上至下實施統(tǒng)一的過程,檢查3個分量的序列合要求提供支持的硬件資源。這個過程產生了指令流水線各段的定義。 ALU LOAD STORE 取指令 取指令
53、取指令 更新PC 更新PC 更新PC IF 解碼 解碼 解碼 ID 讀寄存器 讀寄存器 讀寄存器 RD ALU.Op 生成地址 生成地址 ALU 讀內存 寫內存 MEM 寫寄存器 寫寄存器 WB圖3.3 ALU,load,store指令類型的規(guī)范總結所有3種指令類型都有相同的IF和ID分量,因此,這兩個運算分量可以很容易的合并起來,并用來定義流水線的前兩個段,即IF和ID段,從而完成取指和譯碼工作。所有3種指令類型的OF分量都要讀寄存器文件。ALU指令訪問兩個寄存器并且獲得寄存器操作數;load指令訪問一個寄存器并獲得地址;store指令訪問一個寄存器并且獲得操作數,訪問另外一個寄存器以獲得基
54、地址。在3中情況下都要訪問一個或者兩個寄存器,這些相似的分量可以合并到流水線的第三段,成RD段并從寄存器文件讀取最多兩個寄存器操作數。因此寄存器文件在每個時鐘周期內必須支持兩個獨立的并行操作數。ALU指令要求有一個ALU功能單元來完成必要的算術邏輯運算。雖然load,store指令不需要執(zhí)行這樣的操作,但是他們需要生成有效的地址來訪存??梢钥闯?,地址生成可以由ALU功能單元來完成。因此,這些分量可以合并到流水線第4段,成為ALU段并包含一個ALU功能單元,完成算術邏輯運算或者有效地址的生成。ALU和load指令都需要想寄存器寫回結果,這是他們的最后一個運算分量。ALU指令將寄存器操作的結果寫回
55、寄存器,load將訪存的數據寫入到目標寄存器。ALU指令不需要訪存,因此,理論上向目標寄存器回寫這一過程可以在ALU段之后立即進行。然而為了load指令回寫分量統(tǒng)一起來,ALU指令的寄存器回寫分量向后推遲了一段,在流水線的第6段進行,成為WB段。這將導致ALU指令在MEM段產生一個空閑周期。這是一種外部碎片并將給流水線帶來一些效率損失。通過對不同指令類型的整合,可以得到一條6級流水線,如圖3.3右側所示。3.3.3 減少流水線停頓第三線理想的假說認為,流水線執(zhí)行的操作是相互獨立的。在一個等級的流水線,可能有不同的操作處理的指令流水線,具有最大鉀不同的指示,同時在流水線。這些指令可能不是相互獨立的。事實上,這些指令通常與。如果流水線指令不相關,將有助于流水線流動,或者說,指令通過線路沒有任何流水線攤位。如果指令相關的,它必須檢測和解決有關。該解決方案可能需要流水線攤位。設計的挑戰(zhàn),目的是減少流量減少流水線攤位,防
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 海南師范大學《學科教學法》2023-2024學年第一學期期末試卷
- 二零二五年度辦公設備智能倉儲與配送服務合同3篇
- 二零二五年度新能源汽車充電樁建設 XXX合同協議補充協議3篇
- 水污染課程設計消毒池
- 運輸樞紐規(guī)劃課程設計
- 二零二五年公轉私旅游度假借款合同模板3篇
- 企業(yè)應制訂的事故應急救援預案范例(2篇)
- 二零二五年度寫字樓租賃合同范本詳盡版
- 二零二五年度安居房施工項目施工進度調整合同2篇
- 2025年班委會競選演講稿范例(3篇)
- 電工工具報價單
- 教科版三年級上冊科學教案(全冊)
- 勞動力安排計劃及勞動力計劃表(樣板)
- 利潤表4(通用模板)
- 教育評價學全套ppt課件完整版教學教程
- 注塑領班作業(yè)指導書
- ASTM B330-20 Standard Test Methods for Estimating Average Particle Size of Metal Powders and Related Compounds Using%2
- 顧客忠誠度論文
- 血氣分析及臨床應用
- 浙江省市政工程安全臺賬完整
- 歐洲城市廣場歷史演變
評論
0/150
提交評論