日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

超标量、超流水、超线程

發(fā)布時間:2024/8/1 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 超标量、超流水、超线程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、超流水線技術(shù) 超流水線(Super Pieline)技術(shù)是RISC采用的一種并行處理技術(shù)。他通過細(xì)化流水,增加級數(shù)和提高主頻,使得在每個機器周期內(nèi)能完成一個甚至兩個浮點操作。其實質(zhì)就是以時間換取空間。超流水機器的特征就是在所有的功能單元都才用流水,并有更高的時鐘頻率和更深的流水深度。 二、超標(biāo)量技術(shù) 超標(biāo)量(Super Scalar)技術(shù)是RISC采用的有一種處理技術(shù)。它通過內(nèi)裝多條流水線來同時執(zhí)行多個處理。其實質(zhì)就是以空間換取時間。流水線實現(xiàn)中的問題及解決 三.超線程技術(shù) 超線程技術(shù)是在一顆CPU同時執(zhí)行多個程序而共同分享一顆CPU內(nèi)的資源,理論上要像兩顆CPU一樣在同一時間執(zhí)行兩個線程,P4處理器需要多加入一個Logical CPU Pointer(邏輯處理單元)。因此新一代的P4 HT的die的面積比以往的P4增大了5%。而其余部分如ALU(整數(shù)運算單元)、FPU(浮點運算單元)、L2 Cache(二級緩存)則保持不變,這些部分是被分享的。 超線程的具體解釋: http://publish.it168.com/cword/962.shtml ?---------------------------------------------------- 流水線技術(shù)、超標(biāo)量。流水線(pipeline)是 Intel首次在486芯片中開始使用的。流水線的工作方式就象工業(yè)生產(chǎn)上的裝配流水線。在CPU中由5~6個不同功能的電路單元組成一條指令處理流水線,然后將一條X86指令分成5~6步后再由這些電路單元分別執(zhí)行,這樣就能實現(xiàn)在一個CPU時鐘周期完成一條指令,因此提高了CPU的運算速度。超流水線是指某型 CPU內(nèi)部的流水線超過通常的5~6步以上,例如Pentium pro的流水線就長達(dá)14步。將流水線設(shè)計的步(級)數(shù)越多,其完成一條指令的速度越快,因此才能適應(yīng)工作主頻更高的CPU。超標(biāo)量是指在一個時鐘周期內(nèi)CPU可以執(zhí)行一條以上的指令。這在486或者以前的CPU上是很難想象的,只有Pentium級以上CPU才具有這種超標(biāo)量結(jié)構(gòu);這是因為現(xiàn)代的CPU越來越多的采用了RISC技術(shù),所以才會超標(biāo)量的CPU。 ------------------------------------------------------------------

1、超標(biāo)量(Superscalar)

   既然無法大幅提高ALU的速度,有什么替代的方法呢?并行處理的方法又一次產(chǎn)生了強大的作用。所謂的超標(biāo)量CPU,就是只集成了多個ALU、多個FPU、多個譯碼器和多條流水線的CPU,以并行處理的方式來提高性能。

   超標(biāo)量技術(shù)應(yīng)該是很容易理解的,不過有一點需要注意,就是不要去管“超標(biāo)量”之前的那個數(shù)字,比如“9路超標(biāo)量”,不同的廠商對于這個數(shù)字有著不同的定義,更多的這只是一種商業(yè)上的宣傳手段。

2、流水線(Pipeline)

  流水線是現(xiàn)代RISC核心的一個重要設(shè)計,它極大地提高了性能。

  對于一條具體的指令執(zhí)行過程,通常可以分為五個部分:取指令,指令譯碼,取操作數(shù),運算(ALU),寫結(jié)果。其中前三步一般由指令控制器完成, 后兩步則由運算器完成。按照傳統(tǒng)的方式,所有指令順序執(zhí)行,那么先是指令控制器工作,完成第一條指令的前三步,然后運算器工作,完成后兩步,在指令控制器 工作,完成第二條指令的前三步,在是運算器,完成第二條指令的后兩部……很明顯,當(dāng)指令控制器工作是運算器基本上在休息,而當(dāng)運算器在工作時指令控制器卻 在休息,造成了相當(dāng)大的資源浪費。解決方法很容易想到,當(dāng)指令控制器完成了第一條指令的前三步后,直接開始第二條指令的操作,運算單元也是。這樣就形成了 流水線系統(tǒng),這是一條2級流水線。

  如果是一個超標(biāo)量系統(tǒng),假設(shè)有三個指令控制單元和兩個運算單元,那么就可以在完成了第一條指令的取址工作后直接開始第二條指令的取址,這時第一 條指令在進(jìn)行譯碼,然后第三條指令取址,第二條指令譯碼,第一條指令取操作數(shù)……這樣就是一個5級流水線。很顯然,5級流水線的平均理論速度是不用流水線 的4倍。

  流水線系統(tǒng)最大限度地利用了CPU資源,使每個部件在每個時鐘周期都工作,大大提高了效率。但是,流水線有兩個非常大的問題:相關(guān)和轉(zhuǎn)移。

  在一個流水線系統(tǒng)中,如果第二條指令需要用到第一條指令的結(jié)果,這種情況叫做相關(guān)。以上面哪個5級流水線為例,當(dāng)?shù)诙l指令需要取操作數(shù)時,第 一條指令的運算還沒有完成,如果這時第二條指令就去取操作數(shù),就會得到錯誤的結(jié)果。所以,這時整條流水線不得不停頓下來,等待第一條指令的完成。這是很討 厭的問題,特別是對于比較長的流水線,比如20級,這種停頓通常要損失十幾個時鐘周期。目前解決這個問題的方法是亂序執(zhí)行。亂序執(zhí)行的原理是在兩條相關(guān)指 令中插入不相關(guān)的指令,使整條流水線順暢。比如上面的例子中,開始執(zhí)行第一條指令后直接開始執(zhí)行第三條指令(假設(shè)第三條指令不相關(guān)),然后才開始執(zhí)行第二 條指令,這樣當(dāng)?shù)诙l指令需要取操作數(shù)時第一條指令剛好完成,而且第三條指令也快要完成了,整條流水線不會停頓。當(dāng)然,流水線的阻塞現(xiàn)象還是不能完全避免 的,尤其是當(dāng)相關(guān)指令非常多的時候。

  另一個大問題是條件轉(zhuǎn)移。在上面的例子中,如果第一條指令是一個條件轉(zhuǎn)移指令,那么系統(tǒng)就會不清楚下面應(yīng)該執(zhí)行那一條指令?這時就必須等第一條 指令的判斷結(jié)果出來才能執(zhí)行第二條指令。條件轉(zhuǎn)移所造成的流水線停頓甚至比相關(guān)還要嚴(yán)重的多。所以,現(xiàn)在采用分支預(yù)測技術(shù)來處理轉(zhuǎn)移問題。雖然我們的程序 中充滿著分支,而且哪一條分支都是有可能的,但大多數(shù)情況下總是選擇某一分支。比如一個循環(huán)的末尾是一個分支,除了最后一次我們需要跳出循環(huán)外,其他的時 候我們總是選擇繼續(xù)循環(huán)這條分支。根據(jù)這些原理,分支預(yù)測技術(shù)可以在沒有得到結(jié)果之前預(yù)測下一條指令是什么,并執(zhí)行它。現(xiàn)在的分支預(yù)測技術(shù)能夠達(dá)到90% 以上的正確率,但是,一旦預(yù)測錯誤,CPU仍然不得不清理整條流水線并回到分支點。這將損失大量的時鐘周期。所以,進(jìn)一步提高分支預(yù)測的準(zhǔn)確率也是正在研 究的一個課題。

  越是長的流水線,相關(guān)和轉(zhuǎn)移兩大問題也越嚴(yán)重,所以,流水線并不是越長越好,超標(biāo)量也不是越多越好,找到一個速度與效率的平衡點才是最重要的。

總結(jié)

以上是生活随笔為你收集整理的超标量、超流水、超线程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。