FTPA: 一種具有可配置核的靈活多核處理器結(jié)構(gòu)(二)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
2 靈活多核處理器FTPA 結(jié)構(gòu)設(shè)計(jì)
2.1 現(xiàn)有靈活多核處理器結(jié)構(gòu)面臨的問題
● 通信開銷問題
靈活多核處理器結(jié)構(gòu)可以根據(jù)應(yīng)用特征,將多個(gè)物理核組合成一個(gè)功能強(qiáng)大的邏輯核。 邏輯核的粒度決定了有多少超塊可以被推測執(zhí)行,從而構(gòu)建不同大小的指令窗口。對(duì)于采用EDGE 指令集的結(jié)構(gòu)( 如TFlex),雖然超塊內(nèi)指令間的數(shù)據(jù)依賴關(guān)系在編譯時(shí)已經(jīng)獲得,但是由于長延遲指令的存在和訪存延遲的不確定性,即使依靠編譯器靜態(tài)地面向多個(gè)物理核 調(diào)度指令,也不能有效地隱藏實(shí)際執(zhí)行時(shí)超塊內(nèi)指令間的通信開銷。因此超塊在邏輯核上的平鋪式映射在很多情況下并不適合。
● 邏輯核重構(gòu)開銷問題
靈活多核處理器中每個(gè)物理核都包含構(gòu)成邏輯核的所有資源: 寄存器文件,指令窗口,執(zhí)行部件以及一級(jí)高速緩存等。 當(dāng)多個(gè)物理核組合成一個(gè)邏輯核時(shí),指令窗口和執(zhí)行部件可以很容易的組合,但寄存器文件和一級(jí)高速緩存的內(nèi)容則需要重建,因?yàn)檫@些資源里的內(nèi)容通常是按照地 址索引交錯(cuò)存放的,一旦資源數(shù)量或者位置發(fā)生改變,則需要清空原有數(shù)據(jù)后重建。例如在TFlex 中,邏輯核的重構(gòu)就需要數(shù)千個(gè)時(shí)鐘周期,因此難以實(shí)現(xiàn)實(shí)時(shí)的細(xì)粒度資源調(diào)整。
● 靈活性問題
靈活多核處理器的主要特點(diǎn)是邏輯核的可配置性。 Core Fusion、Federation 和WiDGET 結(jié)構(gòu)由于緊耦合的設(shè)計(jì),靈活性十分有限; Voltron 只能靜態(tài)地配置邏輯核粒度,缺乏實(shí)時(shí)性; TFlex 雖然提出了邏輯核的動(dòng)態(tài)配置機(jī)制,但靈活性仍受到很大約束: TFlex 處理器包含32個(gè)同構(gòu)的細(xì)粒度物理核,通過4 × 8 的片上mesh網(wǎng)絡(luò)進(jìn)行連接,要求邏輯核配置必須為2 × 2,4 ×4,2 × 4 等特定的mesh 拓?fù)?,即物理核總?shù)和mesh 邊長都是2 的指數(shù)倍。 這樣的限制有其軟硬件兩方面的原因: 一方面,由于TFlex 編譯器將超塊內(nèi)指令靜態(tài)調(diào)度到128 項(xiàng)的邏輯空間,因此2的指數(shù)倍大小的拓?fù)浞奖愠瑝K指令從邏輯空間映射到硬件空間,如4 × 4 × 8 或4 × 2 × 16 硬件空間; 另一方面,寄存器文件和物理核內(nèi)的一級(jí)高速緩存等共享資源,由于采用地址交錯(cuò)索引的方式,不規(guī)則的拓?fù)鋵⑹顾饕兊脧?fù)雜。 因此,TFlex 邏輯核粒度只能在這些特定的拓?fù)渲g切換,不僅限制了靈活性,而且也容易引起資源的浪費(fèi)。
針對(duì)上述3 個(gè)問題,本文提出一個(gè)新的靈活多核處理器結(jié)構(gòu)FTPA. 相比于已有的設(shè)計(jì),F(xiàn)TPA具有以下3 個(gè)技術(shù)創(chuàng)新點(diǎn): 1 ) FTPA 將單個(gè)超塊獨(dú)立的映射在單個(gè)物理核上,降低超塊內(nèi)指令間通信開銷; 并且根據(jù)超塊級(jí)推測執(zhí)行的深度調(diào)整邏輯核的粒度,以此適應(yīng)程序不同階段的并行特征,提高資源利用率。 2) FTPA 將物理核資源劃分成需要頻繁調(diào)整的計(jì)算資源和不經(jīng)常重構(gòu)的共享資源分別管理,以此降低邏輯核重構(gòu)開銷。 3 )FTPA 在物理Mesh 網(wǎng)絡(luò)上建立額外的邏輯上環(huán)形拓?fù)涞木W(wǎng)絡(luò)連接計(jì)算資源,以此支持任意粒度的邏輯核,提供高度的靈活性。 以下2 節(jié)分別敘述FTPA 的物理核和邏輯核設(shè)計(jì)。