《高級(jí)流水線-超長(zhǎng)指令字》由會(huì)員分享,可在線閱讀,更多相關(guān)《高級(jí)流水線-超長(zhǎng)指令字(15頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、高級(jí)流水線技術(shù) 超長(zhǎng)指令字 網(wǎng)工 1101班 朱旭宏 2011011317 張 旭 2011011316 張佳煜 2011011331 ? ? ? 成員介紹 其實(shí) 張佳煜 張旭 朱旭宏 成員介紹 二、流水線核心思想 三、工作機(jī)制 四、其優(yōu)缺點(diǎn) 一、流水線介紹 主要內(nèi)容 流水線介紹 ( 1)定義 流水線( pipeline)技術(shù)是指在程序執(zhí)行時(shí)多條指 令重疊進(jìn)行操作的一種準(zhǔn)并行處理實(shí)現(xiàn)技術(shù)。流水線是 Intel首次在 486芯片中開始使用的。流水線的工作方式 就象工業(yè)生產(chǎn)上的裝配流水線。在 CPU中由 5 6個(gè)不 同功能的電路單元組成一條指令處理流水線,然后將一 條 X86指令分成 5 6步后再
2、由這些電路單元分別執(zhí)行, 這樣就能實(shí)現(xiàn)在一個(gè) CPU時(shí)鐘周期完成一條指令,因此 提高 CPU的運(yùn)算速度。經(jīng)典奔騰每條整數(shù)流水線都分為 四級(jí)流水,即指令預(yù)取、譯碼、執(zhí)行、寫回結(jié)果,浮點(diǎn) 流水又分為八級(jí)流水。 流水線介紹 ( 2) 產(chǎn)生背景 借鑒了工業(yè)流水線制造的思想,現(xiàn)代 CPU也采用 了流水線設(shè)計(jì)。在工業(yè)制造中采用流水線可以提高單位 時(shí)間的生產(chǎn)量;同樣在 CPU中采用流水線設(shè)計(jì)也有助于 提高 CPU的頻率。例如裝配一輛汽車需要 4個(gè)步驟:沖 壓、焊接、涂裝、總裝;同時(shí)對(duì)應(yīng)地需要沖壓、焊接、 涂裝和總裝四個(gè)工人。采用流水線的制造方式,同一時(shí) 刻四輛汽車在裝配。如果不采用流水線,那么第一輛汽 車依
3、次經(jīng)過(guò)上述四個(gè)步驟裝配完成之后,下一輛汽車才 開始進(jìn)行裝配,最早期的工業(yè)制造就是采用的這種原始 的方式。未采用流水線的原始制造方式,同一時(shí)刻只有 一輛汽車在裝配。 流水線介紹 不久之后就發(fā)現(xiàn),某個(gè)時(shí)段中一輛汽車在進(jìn)行裝配 時(shí),其它三個(gè)工人處于閑置狀態(tài),顯然這是對(duì)資源的極 大浪費(fèi)!于是開始思考能有效利用資源的方法:在第一 輛汽車經(jīng)過(guò)沖壓進(jìn)入焊接工序的時(shí)候,立刻開始進(jìn)行第 二輛汽車的沖壓,而不是等到第一輛汽車經(jīng)過(guò)全部四個(gè) 工序后才開始。之后的每一輛汽車都是在前一輛沖壓完 畢后立刻進(jìn)入沖壓工序,這樣在后續(xù)生產(chǎn)中就能夠保證 四個(gè)工人一直處于運(yùn)行狀態(tài),不會(huì)造成人員的閑置。這 樣的生產(chǎn)方式就好似流水川流不
4、息,因此被稱為流水線。 流水線介紹 ( 3) 計(jì)算機(jī)應(yīng)用 CPU的工作也可以大致分為指令的獲取、解碼、 運(yùn)算和結(jié)果的寫入四個(gè)步驟,采用流水線設(shè)計(jì)之后,指 令(好比待裝配的汽車)就可以連續(xù)不斷地進(jìn)行處理。 在同一個(gè)較長(zhǎng)的時(shí)間段內(nèi),顯然擁有流水線設(shè)計(jì)的 CPU 能夠處理更多的指令。 流水線核心思想 超常指令字 ( 1)定義 超常指令字( VLIW: VeryLongInstructionWord) 是由美國(guó) Yale大學(xué)教授 Fisher提出的。它有點(diǎn)類似于超 級(jí)標(biāo)量,是一條指令來(lái)實(shí)現(xiàn)多個(gè)操作的并行執(zhí)行,之所 以放到一條指令是為了減少內(nèi)存訪問(wèn)。通常一條指令多 達(dá)上百位,有若干操作數(shù),每條指令可以做
5、不同的幾種 運(yùn)算。那些指令可以并行執(zhí)行是由編譯器來(lái)選擇的。通 常 VLIW機(jī)只有一個(gè)控制器,每個(gè)周期啟動(dòng)一條長(zhǎng)指令, 長(zhǎng)指令被分為幾個(gè)字段,每個(gè)字段控制相應(yīng)的部件。由 于編譯器需要考慮數(shù)據(jù)相關(guān)性,避免沖突,并且盡可能 利用并行,完成指令調(diào)度,所以硬件結(jié)構(gòu)較簡(jiǎn)單。 超常指令字 ( 2)工作機(jī)制 在一個(gè)基本時(shí)鐘周期內(nèi)能夠分時(shí)發(fā)射多條指令的處 理機(jī),一般流水線的級(jí)數(shù)多達(dá) 8條及以上。超流水線處 理機(jī)采用多相的高頻時(shí)鐘。一臺(tái)度為 m的超流水線處理 機(jī)的時(shí)鐘 t只是基本時(shí)鐘周期 t的 1/m。如果一條指 令的解釋需要 K個(gè) t,則共需 Kmt的時(shí)鐘解釋。讓指 令之間錯(cuò)開一個(gè) t的時(shí)間,重疊流水地工作,執(zhí)
6、行完 N條指令的時(shí)間為: K+(N-1)/m t 當(dāng) N趨于無(wú)窮大時(shí),并行度可達(dá)到最大值 m。 超長(zhǎng)指令字 ( 3)優(yōu)缺點(diǎn) 優(yōu)點(diǎn) 把能并行執(zhí)行的多條指令組裝成一條很長(zhǎng)的指令 設(shè)置多個(gè)功能部件 指令字被分割成一些字段,每個(gè)字段稱為一個(gè)操 作槽,直接獨(dú)立地控制一個(gè)功能部件。 超長(zhǎng)指令字結(jié)構(gòu)的處理器采用軟件靜態(tài)編譯的方 法替代動(dòng)態(tài)調(diào)度,由編譯器完成在更大范圍內(nèi)的指 令調(diào)度,有效地降低了流水線的復(fù)雜度,使單芯片 上可以容納更多的重復(fù)資源以同時(shí)處理多條指令。 超長(zhǎng)指令字 ( 3)優(yōu)缺點(diǎn) 缺點(diǎn) 程序代碼長(zhǎng)度增加了提高并行性而進(jìn)行的大量的 循環(huán)展開。指令字中的操作槽并非總能填滿。 采用了鎖步機(jī)制任何一個(gè)操作部件出現(xiàn)停頓時(shí), 整個(gè)處理機(jī)都要停頓。 機(jī)器代碼的不兼容性 超長(zhǎng)指令字 ( 4)應(yīng)用 超長(zhǎng)指令字 DSP面向 MP3、 PMP中的 SoC應(yīng)用 臺(tái)灣地區(qū)的研究人員已自主開發(fā)出了一種超長(zhǎng)指令 字 (VLIW)DSP,適用于 MP3、 PMP及其它低功耗便攜 產(chǎn)品中的 SoC。同時(shí),他們也在致力于開發(fā)下一代多內(nèi) 核、多線程架構(gòu),以處理高清編碼或視頻搜索之類的任 務(wù)。 謝謝!