超級(jí)流水線(SuperPipeline)又叫做深度流水線,它是進(jìn)步cpu速度通常采納的一種技能。CPU處理指令是通過Clock來驅(qū)動(dòng)的,每個(gè)clock完結(jié)一級(jí)流水線操作。每個(gè)周期所做的操作越少,需求的時(shí)間就越短,時(shí)間越短,頻率就能夠提得越高。超級(jí)流水線即是將cpu處理指令是得操作進(jìn)一步細(xì)分,添加流水線級(jí)數(shù)來進(jìn)步頻率。頻率高了,當(dāng)流水線開足馬力運(yùn)行時(shí)平均每個(gè)周期完結(jié)一條指令(單發(fā)射情況下),這么cpu處理得速度就進(jìn)步了。當(dāng)然,這是抱負(fù)情況下,通常是流水線級(jí)數(shù)越多,堆疊履行的履行就越多,那么發(fā)作競爭抵觸得也許性就越大,對流水線功能有必定影響現(xiàn)在很多cpu都是將超標(biāo)量和超級(jí)流水線技能一同運(yùn)用,例如pentiumIV,流水線達(dá)到20級(jí),頻率最快已經(jīng)超過3GHZ。教科書上用于教育的經(jīng)典MIPS只要5級(jí)流水。
超標(biāo)量
將一條指令分成若干個(gè)周期處理以達(dá)到多條指令堆疊處理,然后進(jìn)步cpu部件使用率的技能叫做標(biāo)量流水技能。超級(jí)標(biāo)量是指cpu內(nèi)通常能有多條流水線,這些流水線能夠并行處理。在單流流水線技能水線構(gòu)造中,指令盡管能夠堆疊履行,但仍然是次序的,每個(gè)周期只能發(fā)射(issue)或退休(retire)一條指令。超級(jí)標(biāo)量構(gòu)造的cpu支撐指令級(jí)并行,每個(gè)周期能夠發(fā)射多條指令(2-4條居多)。能夠使得cpu的IPC(InstructionPerClock)>,然后進(jìn)步cpu處理速度。超級(jí)標(biāo)量機(jī)能一起對若干條指令進(jìn)行譯碼,將能夠并行履行的指令送往不一樣的履行部件,在程序運(yùn)行時(shí)期,由硬件(通常是狀況記載部件和調(diào)度部件)來完結(jié)指令調(diào)度。超級(jí)標(biāo)量機(jī)主要是憑借硬件資源重復(fù)(例如有兩套譯碼器和ALU等)來完結(jié)空間的并行操作。熟知的pentium系列(也許是p-II開端),還有SUNSPARC系列的較高檔類型,以及MIPS若干類型等都選用了超級(jí)標(biāo)量技能。
超長指令字
超長指令字(VLIW:VeryLongInstructionWord)是由美國Yale大學(xué)教授Fisher提出的。它有點(diǎn)類似于超級(jí)標(biāo)量,是一條指令來完結(jié)多個(gè)操作的并行履行,之所以放到一條指令是為了削減內(nèi)存拜訪。通常一條指令多達(dá)上百位,有若干操作數(shù),每條指令能夠做不一樣的幾種運(yùn)算。那些指令能夠并行履行是由編譯器來選擇的。通常VLIW機(jī)只要一個(gè)操控器,每個(gè)周期發(fā)動(dòng)一條長指令,長指令被分為幾個(gè)字段,每個(gè)字段操控相應(yīng)的部件。由于編譯器需求思考數(shù)據(jù)相關(guān)性,防止抵觸,而且盡也許使用并行,完結(jié)指令調(diào)度,所以硬件構(gòu)造較簡略。