999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

支持AltiVec技術的多媒體協處理單元的研究

2008-12-31 00:00:00黃小平樊曉椏張盛兵
計算機應用研究 2008年10期

 收稿日期:2007-12-17;

修回日期:2008-03-04

基金項目:國家自然科學基金資助項目(60736012,60573107);西北工業大學研究生創業種子基金資助項目(200755)

作者簡介:黃小平(1979-),男 陜西富平人,博士研究生,主要研究方向為先進微系統設計、集成電路設計(huangxp@nwpu.edu.cn);

樊曉椏(1962-),男,教授,博士,主要研究方向為高性能體系架構、存儲系統;

張盛兵(1968-),男,教授,博士,主要研究方向為多核多線程處理器.

(西北工業大學 計算機學院 西安 710072)

摘要:通過對嵌入式處理器進行多媒體處理能力的擴展可增強其對多媒體數據的處理能力。以32 bit龍騰嵌入式處理器為基礎,研究AltiVec技術以及超標量技術,設計了該處理器中支持AltiVec技術的多媒體協處理單元。該單元采用五級流水線,將指令動態調度技術分配到不同的流水線中,在提高處理性能的同時保證了設計頻率。通過多媒體基準程序測試,該單元的指令IPC為1.2,SMIC0.18μm工藝庫下,頻率為350 MHz,該協處理單元提高了龍騰處理器的性能。

關鍵詞:龍騰處理器; AltiVec技術; 動態指令調度技術; 流水線

中圖分類號:TP303

文獻標志碼:A

文章編號:1001-3695(2008)10-3161-04

Research on multimedia co-processor unit based on AltiVec technology

HUANG Xiao-ping FAN Xiao-ya ZHANG Sheng-bing

(School of Computer Northwestern Polytechnical University Xi’an 710072 China)

Abstract:To speed up the processing on the multimedia information a multimedia co-processor unit can be imported into the embedded processor. The paper presented a method to implement AltiVec technology on the Longtium processor it mainly focused on the research of the AltiVec technology dynamic instruction scheduling and pipeline. It was demonstrated the architecture could upgrade the performance of the Longtium processor.

Key words:Longtium processor; AltiVec technology; dynamic instruction scheduling technology; pipeline

面向多媒體信息處理的程序中存在大量的循環操作,每次循環迭代是對不同的數據執行相同的高度規則的處理,而且數據的寬度一般是8 bit或者16 bit[1]。采用32 bit或者64 bit的處理器核對多媒體數據逐一進行處理,存在資源的浪費,為此各大微處理器公司都對其處理器進行了多媒體處理能力的擴展。Intel公司的SSE2、SSE3技術[2,3],Sun公司 UltraSparc微處理器的VIS技術[3,4],MIPS微處理器的MDMX技術[3]等。

龍騰處理器是西北工業大學研制的面向航空應用的32 bit嵌入式處理器[5],該處理器采用PowerPC體系結構,與Motorola公司的MPC750處理器全兼容。為了提高該系列微處理器對多媒體類信息的處理能力 本文根據龍騰處理器的體系架構、AltiVec技術以及指令動態調度技術,研究設計了具有動態指令調度能力的多媒體協處理單元。

1AltiVec技術

AltiVec技術是Motorola公司、IBM公司以及Apple公司為了使采用PowerPC體系結構的通用處理器具有多媒體處理能力而聯合開發的SIMD(單指令流多數據流)技術。AltiVec技術[6]擴展了通用PowerPC體系結構指令集,定義了獨立的32×128的向量寄存器堆,因此AltiVec指令可以與定點指令和浮點指令并行執行。AltiVec技術定義了四種數據元素,指令的操作可以基于字節、半字、字以及單精度浮點數。AltiVec指令格式如圖1所示。AltiVec技術定義的指令系統格式簡單規整。指令主要面向數據流處理,因此在設計該多媒體協處理單元時,易實現快速的指令譯碼,并且易于在指令執行過程進行流水線操作。

2多媒體協處理單元控制邏輯架構

2.1龍騰處理器結構

龍騰處理器是采用PowerPC體系架構的32 bit超標量RISC處理器,它采用順序雙發射[7]、指令亂序執行、順序完成機制,具有獨立的定點處理單元和浮點處理單元,支持精確異常處理。

2.2多媒體協處理單元的架構設計需求

該多媒體協處理單元是整個龍騰處理器的一個協處理單元。由于龍騰處理器采用順序雙發射體系結構,在其完成隊列資源可用情況下,其發射邏輯每周期可向多媒體協處理單元發射兩條多媒體指令,同時發射邏輯在完成隊列里為發射的多媒體指令申請對應的完成槽,以維持程序執行的順序一致性。該多媒體協處理單元在滿足時序約束的條件(SMIC0.18 μm工藝,350 MHz)下,將龍騰發射邏輯發射的多媒體指令在多媒體協處理單元內部動態并行執行,提高多媒體協處理單元的指令IPC,進一步提高整個處理器的性能。

2.3多媒體協處理單元的指令動態調度

現代單核處理器動態調度策略有CDC記分牌算法[8]和Tomasulo算法[9],它們都能實現對指令動態亂序執行的控制。CDC記分牌實現簡單,但是執行效率較低,必須等待相關解除后后續指令才可以執行;Tomasulo算法將相關引起的延遲降低到最小,執行效率高,但實現復雜。在追求處理器高性能的驅動下 Tomasulo算法已成為現代超標量處理器動態調度的基礎。該多媒體協處理單元的動態調度算法基于Tomasulo調度策略[10],采用寄存器重命名來消除偽相關,采用保留站邏輯以及公共數據總線處理真相關,并將真相關所引起的流水線停滯降到最小。

2.3.1指令動態調度算法的關鍵數據結構

a)擴展寄存器堆。多媒體協處理單元包括32個128 bit的多媒體寄存器,采用指令動態調度算法之后,每個多媒體寄存器擴展如圖2所示。其中:VR.v:1 bit,置位,表示VR的值有效,否則以tag索引的重命名寄存器的值為該寄存器的最新值;VR.tag:3 bit,重命名寄存器編號;VR.vr:128 bit,當VR.v有效時,為該多媒體寄存器的最新值。

b)重命名寄存器。它用來暫存亂序執行指令的臨時執行結果,其結構如圖3所示。其中:rename.v:1 bit,置位,表示該重命名寄存器的值有效;rename.b:1 bit,置位,表示該重命名寄存器已經分配;rename.value:128 bit,當rename.v有效時,該值為該重命名寄存器的最新值。

c)保留站。它暫存因為真相關而不能立即執行的指令的所有控制信息,其結構如圖4所示。其中:reservation.op:4 bit,指令的操作類型;reservation.e:3 bit,指令在完成隊列中的入口(指令發射到該協處理單元時已經包括此信息);reservation.dest:3 bit,該指令分配的目的重命名寄存器;reservation.opi.v:1 bit,置位表示該保留站源操作數opi已準備好(i=1,2,3);reservation.opi.rename:2 bit,若reservation.opi.v無效,則監聽通用數據總線,獲取編號為reservation.opi.rename的數據(i=1,2,3);reservation.opi.value,該源操作數opi的值(i=1,2,3)。

2.3.2支持指令動態執行的流水線設計

Tomasulo算法實現邏輯復雜,為了滿足該向量處理單元的時序要求,本設計中將該調度算法與流水線技術相結合,將該算法的關鍵處理邏輯分配到流水線的不同流水級中,實現復雜邏輯流水線化。首先研究如何合理的劃分流水線。該多媒體協處理單元流水線的劃分依據三個因素:a)考慮AltiVec指令的運算分量[7],流水線的每一個流水級應完成單一的運算分量,并且使各個流水級的負載平衡;b)考慮該算法所涉及的關鍵邏輯,主要包括寄存器重命名分配邏輯和保留站從公用數據總線監聽邏輯,這兩部分邏輯較復雜,應劃分在不同的流水線中;c)考慮系統的目標頻率約束,該多媒體協處理單元的目標頻率是SMIC0.18μm工藝350 MHz,因此流水線每一個流水級的延時應在2.5 ns之內。綜合以上因素,將該多媒體協處理單元的流水線劃分為譯碼、取數/寄存器重命名、指令分派/保留站、執行、提交五級。對于取指令以及寫回階級要完成的操作,由龍騰處理器的全局控制控制邏輯來完成。各個流水級的主要功能如表1所示。

表1多媒體協處理單元流水線各流水級說明

流水級功能簡介

譯碼完成指令的譯碼解析指令的操作數域等解析指令的相關信息

取數/寄存器重命名完成指令寄存器重命名,消除假相關完成不相關指令操作數的獲取等

指令分派/保留站指令分派到相應的保留站監聽CDB總線,消除真相關

執行完成指令的執行

提交將結果提交到完成隊列以及重命名寄存器中將執行結果通過公共數據總線廣播到各個保留站中

各個流水級實現的功能詳細分析以及流水級之間的接口協議定義如下:

a)譯碼級。龍騰處理器的全局發射邏輯在完成隊列有空槽,每周期可向多媒體協處理單元譯碼邏輯發射兩條多媒體指令。這兩條指令之間存在程序上的順序性,不完全獨立。因此譯碼級在對指令進行并行譯碼時,除了譯出執行單條指令所需的完備的控制信息外,還應譯出保證兩條指令之間的邏輯順序的相關控制信號。

b)取數/寄存器重命名級。如果該級資源可用,那么譯碼級譯出的指令控制信息流則流水到該級。該級完成源操作數的讀取及目的寄存器的重命名。

源寄存器的讀數算法如下:

(a)根據源操作數的寄存器編號,判斷寄存器堆中該編號寄存器的VR.v是否有效。若有效,則讀出,并設置當前源操作數據有效,轉到(d);否則轉到(b)。

(b)從該寄存器VR.tag域索引的重命名寄存器中讀數,若該重命名寄存器rename.v有效,則讀數,并設置當前數據有效,跳到(d);否則轉到(c)。

(c)將當前數據有效位設置為無效,記錄該數據源寄存器的重命名寄存器編號,等該指令進入指令分派/保留站級后,監聽公共數據總線上的信息,讀取數據。

(d)讀數完成。

目的寄存器的重命名算法如下:

(a)給第一條指令的目的寄存器在重命名寄存器堆中分配一個未分配的重命名寄存器,將其狀態位分別置為busy和invalid,并將目的寄存器的VR.tag位設置為該重命名寄存器的編號。同時根據源寄存器的讀數算法判斷出該目的寄存器與第二條指令是否存在真相關,如果存在,則同時更新第二條指令的源操作數的數據源,將該重命名寄存器設置為相關的源操作數的數據源。

(b)對第二條指令的目的寄存器執行同樣的操作,但在當前周期無須判斷真相關。

通過以上算法,可以在一個時鐘周期內完成兩條指令的源操作數的讀數操作,并消除了指令之間的偽相關。

c)指令分派/保留站級。當取數/寄存器重命名級完成指令的取數操作之后,如果該指令操作即將用到的執行單元的保留站可用,那么該指令的信息將被發射到相應的保留站中。同時保留站根據公用數據總線上的信息更新本保留站中的源操作數的值。一旦該指令執行所需要的所有操作數都有效,那么當執行單元空閑時,則將該指令發射到執行單元中執行,同時釋放該流水級資源。

d)執行級。該級完成指令的具體執行。當該執行單元空閑時,從保留站中接收一條操作數準備好的操作,將該執行單元置為忙狀態;當指令的操作執行完后,將該執行單元置為閑狀態,允許接收保留站的中新操作。

e)提交級。該級將執行單元的執行結果提交到該指令在完成隊列中對應的完成槽中,同時將執行結果通過公用數據總線廣播到各多媒體協處理單元的保留站中。當出現多個執行單元爭用公用數據總線時,采用簡單的優先權控制策略。首先來自龍騰處理器LSU(load/store unit)單元的數據優先權最高,因為LSU指令的執行周期較長,因其導致的真相關阻塞的指令較多,所以優先權最高。其次,該協處理器置換單元數據的優先權高于協處理器算術邏輯單元數據的優先權,因為多媒體置換單元是為算術邏輯單元提供有效的數據。采用固定的優先權策略,實現邏輯比較簡單。

2.3.3多媒體協處理單元的邏輯結構和綜合

根據2.3.2節的分析,得出該多媒體協處理單元的邏輯結構如圖5所示。

采用Verilog語言完成該邏輯結構的建模,使用Synopsys公司的DC工具進行邏輯綜合,在0.18 μm工藝下對該架構各個流水級的時序延時如表2所示。

表2流水線各級延遲

stageD/nsstageD/ns

譯碼2.0執行2.3

取數2.2提交2.0

保留站2.7

分析綜合報告,保留站級的關鍵路徑采用具有優先級的監聽公用數據總線邏輯產生;采用支持晚到信號[11](later-arrival)的優先級編碼器以及將執行單元的輸出采用寄存器輸出的方法將該路徑延時降低到了2.5 ns以內。

2.4多媒體協處理單元數據通路的研究

依據AltiVec指令集以及多媒體應用程序,可將該協處理單元的數據通路劃分為以下四部分[12]:

a)向量置換操作單元(VPU)。

由于AltiVec技術要求,在對數據元素進行同一種操作之前,這些數據元素必須放置在128 bit向量寄存器中合適的位置,但當數據元素從內存中取回來時,數據元素的位置可能與操作要求的位置不一致,同時數據元素的格式可能和操作要求的格式也不一樣,需要對數據元素進行位置的重新排放以及格式的重新轉換等預處理操作。VPU負責完成該功能,實現的操作包括向量置換、打包、解包、合并及點操作等。該單元的核心是一個crossbar結構的多選電路,如圖6所示。

b)簡單向量定點單元(VSFU)。

該執行單元完成除了與向量乘操作以及交叉和操作以外的所有的定點操作,包括加法操作、減法操作、求極值操作、移位操作以及邏輯操作等。核心結構是一個分裂式128 bit加法器和可配置的支持多種移位方式的桶式移位器。

c)復雜向量定點單元(VCFU)。

該單元完成除上述兩個單元完成的操作外,其他向量的定點算術操作,包括乘加操作、乘和操作、奇乘偶乘操作以及交叉和操作。由于設計時序的限制,這些操作需要花多個時鐘周期才能完成。分析與之有關的操作,該單元的核心是一個由簡單乘法器構成的乘累加單元,如圖7所示。

d)浮點操作單元(VFU)(本文對該單元未作研究)。

3多媒體協處理單元的性能分析

多媒體協處理單元在基于龍騰微處理器模型的Simplescalar for PowerPC[13]仿真器平臺的支持下進行了相應的性能仿真工作。該微處理器仿真器基本配置如下:32 KB一級數據cache,32 KB一級指令cache,1 MB的二級數據指令混合cache,并且假定二級cache的命中率為100%。指令隊列IQ為8項,完成隊列CQ為8項。轉移延遲為2周期,一級cache命中延遲為2周期,二級cache命中延時為6周期。定點執行單元為一個轉移部件、一個定點部件,一個load/store部件和一個浮點部件,每個部件配備一個保留站。該多媒體協處理單元的包括四個執行部件。其中,VPU執行周期為1,VSFU的執行周期為1,VCFU的執行周期為4,VFU為10個周期。

根據對基準程序的分析,60%~70%的指令是向量簡單定點操作指令和向量復雜定點操作指令,因此在對協處理器執行單元配置中,VPU和VFP均配置了一個。對VSFU和VCFU采用五種配置方式研究其對處理器性能的影響:

E1,1個VSFU,1個VCFU,并且兩個共享保留站。

E2,1個VSFU,1個VCFU,兩個擁有獨立的保留站。

E3,2個VSFU單元,共享1個保留站,1個擁有獨立保留站的VCFU單元。

E4,2個VSFU單元,1個VCFU單元,分別擁有獨立的保留站。

E5,2個VSFU單元,2個VCFU單元,分別擁有獨立的保留站。

使用gcc for AltiVec編譯器對多媒體基準程序進行編譯,通過上述平臺對多媒體協處理單元的指令IPC進行采樣,如圖8所示。在不同配置下的平均IPC如表3所示。

分析仿真結果可知,E3配置比E2和E1的配置性能有較大的提升,主要原因是多媒體指令中存在大量的簡單定點操作指令,采用兩個VSFU單元降低了該類指令并行引起的對VSFU的資源相關。E4和E5配置相對于E3配置,采用了兩個VCFU,但沒有帶來性能較大的提升。統計仿真程序,60%的定點指令中只有15%~20%的指令是向量復雜操作指令,因此采用一個VCFU單元可以滿足要求。同時E4和E5的配置多了一個VCFU單元,將引起面積的大幅度增加。因此E3的配置是該架構下的理想配置,在E3配置下指令的IPC為1.21。

4結束語

本文在研究AltiVec技術的基礎上,結合超標量處理器設計技術設計了基于AltiVec技術的具有超標量架構的多媒體協處理單元。詳細介紹了流水線各級之間的控制協議和流水線各級的劃分策略,給出了寄存器重命名技術以及保留站技術在該多媒體處理單元中的實現算法,并通過多媒體基準程序對該多媒體協處理單元進行了性能分析。分析結果表明,該設計在滿足時序約束的前提下,提高了該向量處理協處理單元的處理

性能,進一步提升了整個龍騰處理器的性能。

參考文獻:

[1]李東曉. 系統芯片中媒體增強數字信號處理器核設計研究[D].杭州:浙江大學,2004.

[2]Intel Corporation. Define SSE2 and SSE3[EB/OL].(2002-12-25)[2008-01-06].http://www.intel.com/support/processors/sb/cs-001650.htm.

[3]SLINGERLAND N T SMITH A J. Multimedia extensions for general purpose microprocessors: a survey[J].Microprocess and Microsystems,2005,29(5):225-246.

[4]Sun Microsystem Inc. VIS instruction set[EB/OL].http://www.sun.com/processors/vis/.

[5]黃小平.龍騰R2微處理器流水線的設計及優化[J]. 微電子學與計算機,2006,23(2):144-147.

[6]PowerPC microprocessor family:AltiVecTM technology programming environments manual[R].New York: IBM Corporation 2003.

[7]賈琳.微處理器雙發射技術研究[D].西安:西北工業大學,2005.

[8]McNAIRY C. Itanium2 processor micro architecture[J].IEEE Computer Society 2003,23(2):44-55.

[9]ANDERSON D W SPARACIO F J TOMASULO R M. The IBM system/360 model 91:machine philosophy and instruction-handing[J].IBM J Research and Development,1967,11(1):8-24.

[10]KRONING D. Design and evaluation of a RISC processor with a tomasulo scheduler[D].Germany:University des Saarlandes,1999.

[11]Design compile reference[K].[S.l.]:Synopsys Inc,2007.

[12]SCHMOOKLER M S,PUTRINOM,MATHER A,et al. A low-power high-speed implementation of a PowerPCTM microprocessor vector extension[C]//Proc of the 14th IEEE Symposium on Computer Architecture. Washington DC: IEEE Computer Society,1999:12-15.

[13]SimpleScalar tutorial[EB/OL].(2004).http://www.simplescalar.com.

主站蜘蛛池模板: 自慰高潮喷白浆在线观看| 免费在线播放毛片| 中国黄色一级视频| 国产乱子伦手机在线| 色综合中文字幕| 欧美全免费aaaaaa特黄在线| 综合久久久久久久综合网| 97在线碰| 四虎国产在线观看| 色老头综合网| 久久亚洲国产视频| 99草精品视频| 国产精品白浆无码流出在线看| 色婷婷综合在线| 97国产精品视频自在拍| 91欧美亚洲国产五月天| 青草午夜精品视频在线观看| 国产熟睡乱子伦视频网站| 青草娱乐极品免费视频| 亚洲区一区| 激情影院内射美女| 91www在线观看| 亚洲欧美在线综合一区二区三区| 欧日韩在线不卡视频| 免费99精品国产自在现线| 国产打屁股免费区网站| 永久免费av网站可以直接看的| AV在线天堂进入| 国产高潮视频在线观看| a免费毛片在线播放| 香蕉精品在线| aaa国产一级毛片| 亚洲国产成人无码AV在线影院L| 国产国产人免费视频成18| 国产va在线观看| 精品一区二区三区视频免费观看| 日本一区二区不卡视频| 国产女同自拍视频| 国产精品自在在线午夜区app| 超清无码一区二区三区| 黄色福利在线| 国内精品久久久久久久久久影视| 亚洲成人网在线播放| 亚洲动漫h| a毛片免费在线观看| 亚洲精品成人片在线观看| 国产国拍精品视频免费看| 亚洲欧美日本国产综合在线 | 超薄丝袜足j国产在线视频| 国产99免费视频| 久久久久无码精品国产免费| 欧美性爱精品一区二区三区| 国产精品漂亮美女在线观看| 欧美成人二区| 午夜国产精品视频黄| 这里只有精品在线播放| 精品综合久久久久久97超人| 91成人精品视频| 亚洲久悠悠色悠在线播放| 久草视频精品| 色丁丁毛片在线观看| 亚洲资源在线视频| 激情亚洲天堂| 91视频免费观看网站| 欧美日韩北条麻妃一区二区| 国模视频一区二区| 666精品国产精品亚洲| 色妺妺在线视频喷水| 激情国产精品一区| 国产一级视频在线观看网站| 色综合天天综合| 欧美中出一区二区| 97色婷婷成人综合在线观看| 在线视频亚洲欧美| 国产视频你懂得| 日韩大片免费观看视频播放| 国产欧美在线观看精品一区污| 国产激情无码一区二区免费 | 国产在线91在线电影| www.国产福利| 毛片免费高清免费| 亚洲 欧美 偷自乱 图片 |