欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)通路流水線的制作方法_3

文檔序號:9125470閱讀:來源:國知局
中的輸出寄存器塊218、220在交替的周期上被啟用,且在任何時鐘周期中只從一對輸出寄存器塊中的一個讀取數(shù)據(jù)(例如,在時鐘周期0、2等上讀取輸出寄存器塊218,并在時鐘周期1、3等上讀取輸出寄存器塊220)。因此,可通過將輸出寄存器塊移動越過多工器222并用單個輸出寄存器塊420將其替換來優(yōu)化流水線,其中輸出寄存器塊420在所有時鐘周期上被啟用并從兩個邏輯通路交替地接收數(shù)據(jù),并且來自兩個邏輯通路的數(shù)據(jù)在每個循環(huán)上被讀取。
[0058]應理解,盡管圖4只示出兩個邏輯通路,但是方法可被延伸至形成N個邏輯通路的N個再生塊。在這種示例中,每個輸入寄存器級在每第N個時鐘周期被啟用,其中每個時鐘周期中啟用一個輸入寄存器級。這表示N個再生塊中的每一個再生塊具有用以處理輸入數(shù)據(jù)的N個時鐘周期,且多工器在每個時鐘周期中選擇N個通路中的一個并輪流循環(huán)對N個通路中的每一個的選擇。在所有時鐘周期上啟用流水線42中的單個輸出寄存器塊420。
[0059]與第一個改進的流水線22相比,第二個示例性改進的流水線42減小寄存器所需的區(qū)域,并且從而降低靜態(tài)(或泄漏)功率消耗,同時動態(tài)功率消耗基本保持不變。
[0060]與傳統(tǒng)的流水線式解決方案(例如,如流水線21中所示的)相比,在第二個示例性改進的流水線42中具有相同總數(shù)的寄存器塊;然而,每個通路包括更少的寄存器級,從而減少總的設置和保持時間。而且,由于寄存器級只位于輸入端和輸出端處,它們的寬度更窄(即,它們需要存儲較少位數(shù)),且由于并行的通路,寄存器級被更少定時(流水線21中的寄存器級在每個時鐘周期上都進行定時,然而流水線42中的輸入寄存器級只在交替的周期上定時)。與流水線21相比,這將降低動態(tài)功率消耗。
[0061]圖5示出可對流水線51 (其可對應于圖4中所示的改進的流水線42)做出的進一步的優(yōu)化,其中在每個再生邏輯塊的末端(且因此每個邏輯通路的末端)處具有相同的邏輯塊502、504,來自其中的數(shù)據(jù)只需要在交替的時鐘周期上穩(wěn)定一個周期。在各個示例中,用于寄存器重定時的已知算法可被使用以優(yōu)化其中使用側流線的多工器的定位。示例算法在由C.E.Leiserson和J.B.Saxe于1991年出版在Algorithmica的“重定時同步電路系統(tǒng)(Retiming Synchronous Circuitry”)中提出。其他示例算法是網(wǎng)絡流量算法和混合整數(shù)線性程序算法。
[0062]返回參考改進的流水線42,再生邏輯塊206、208可被分為如圖5所示的兩個或多于兩個較小的邏輯塊502-508(如果使用了傳統(tǒng)的流水線,情況將是邏輯塊之間沒有寄存器級)。在流水線51中所示的示例中,每個通路中的較小的邏輯塊506、508中的第一個需要穩(wěn)定2個時鐘周期(例如,如果N = 2,則塊506在周期O — I上保持穩(wěn)定,塊508在周期I — O上保持穩(wěn)定),然而,每個通路中的較小的邏輯塊502、504中的最后一個只需要在交替的時鐘周期上穩(wěn)定一個周期(例如,如果N = 2,則塊502在周期I上保持穩(wěn)定,塊504在周期O上保持穩(wěn)定)。
[0063]如在改進的流水線52中所示,多工器222前面的兩個邏輯塊502、504可反而被多工器222后面的單個邏輯塊510替代,其中兩個邏輯塊502、504中的每個只需要在交替的時鐘周期上穩(wěn)定一個周期。這減少了被再生的邏輯的數(shù)量,從而減少了制造流水線所需的面積(例如,硅面積),同時仍然使得時鐘速度(以及由此吞吐量)能夠增加。由于現(xiàn)在多工器222在邏輯鏈內(S卩,多工器222在其輸入端和輸出端均具有邏輯塊),而不是在所有邏輯之后,因此這可能增加多工器必須能夠適應的數(shù)據(jù)的寬度;然而,由于實現(xiàn)多工器所需的邏輯相對簡單,因此這不會導致所需面積的大幅增加。
[0064]輸出端處的多工器222不增加很多邏輯級(例如,其可被實現(xiàn)作為單極的與/或),且多工器代表的額外面積由寄存器所占的面積的降低來抵消(作為整體,在寄存器中存儲較少的位,因為寄存器僅位于通路的輸入端和輸出端,而不位于通路的中間,其中在通路中間的數(shù)據(jù)的寬度可能比在輸入端處的大)。
[0065]就圖2和圖4來說,應理解,盡管圖5只示出兩個邏輯通路,但是方法可被延伸至N個邏輯通路。在這種示例中,其中在每個路徑的末端處具有邏輯,其只需要在每第N個時鐘周期上穩(wěn)定,該邏輯可被多工器后的邏輯的單個實例替代。
[0066]圖6示出(如能夠人工產生的或通過使用寄存器重定時技術產生的)全流水線式功能單元61和使用流水線操作和側流線的組合的功能單元62的比較。為了清楚起見,當描述圖6時使用術語“功能單元”來代替流水線,且應理解,所示的功能單元可以是完整的功能單元或其部分。
[0067]在全流水線式功能單元61中,邏輯塊602是被寄存器級604分開的,邏輯塊602中的每一個能夠在單個周期中執(zhí)行。在使用流水線和側流線的功能單元62中,邏輯中的一些已經被再生(例如,塊606和608以及塊610和612),以形成兩個獨立的通路,而其他的邏輯未被再生(例如,塊614)。兩個流水線61、62之間的虛線箭頭示出邏輯塊之間的對應關系,且可看出第二流水線62中的再生邏輯塊606、608中的一個包括花費兩個周期來完成的邏輯。如上所述,數(shù)據(jù)在交替的時鐘周期上被定時進入兩個通路中的每一個,使得在任一個路徑中的有效時鐘速率是實際時鐘速率的一半。另外,包含邏輯塊610、612和614的結構示出參考圖5所描述的優(yōu)化。
[0068]通過如在圖6中下面的圖中所示的組合流水線操作和側流線技術,產生的功能單元具有提高的時鐘速度(由于側流線),同時減少總邏輯面積(由于流水線)。
[0069]盡管圖6中的第二張圖只示出被再生以形成兩個并行、獨立的邏輯通路的兩個邏輯塊,但是該方法可被延伸至包含更多的再生以形成N個邏輯通路。另外,還如圖6中所示,本文所述的方法可被用于只在功能單元的一部分中再生邏輯塊。
[0070]圖7示出另外兩個改進的流水線71、72,其中N = 4。盡管第二流水線72可被視為第一流水線71的優(yōu)化,但是每個流水線基于對流水線的特定要求和應用可以為適合的解決方案。具體地,盡管第二流水線72具有較少的邏輯再生,但其具有兩個額外的多工器,且這些多工器的尺寸(S卩,多工器所容納的位的數(shù)目)將取決于由流水線執(zhí)行的特定計算,且在一些示例中該尺寸可能非常大(例如,如果流水線與32位的數(shù)相乘,則可能在邏輯通路中間具有64或128位)。因此,基于特定應用,與流水線72相比,流水線71可占有較多的或較小的面積(例如,在硅芯片上)。
[0071]圖7中所示的第一流水線71有些類似于圖4和圖5中所示并如上所述的流水線42和51,除了 N = 4 (對于流水線42和51,N = 2)。流水線71包括四個獨立的邏輯通路,每個邏輯通路包括輸入邏輯塊702以及在每個通路中相同的一些邏輯。每個輸入寄存器塊702每第N個時鐘周期被啟用,且保存數(shù)據(jù)N (即,4)個周期。通過輸入寄存器塊702 (以及本文所述的所有改進的流水線中的輸入寄存器塊)所保存的值不變,除了當輸入寄存器級被啟用的時候。即使邏輯通路可能花費N個周期來執(zhí)行,輸入寄存器也必須保存該數(shù)據(jù)N個周期(而不是,例如,讀取用于處理的新數(shù)據(jù)),否則這可能將影響邏輯通路的輸出。具有被放置于多工器712后(例如,以與圖4中所示的流水線42相似的方式)的單個輸出寄存器塊714。
[0072]盡管每個通路中的邏輯可被表示為一個單個塊(如流水線42中的塊206、208中),但是在圖7中邏輯通路中的邏輯被表示為四個分立的塊(未被寄存器級分開),且每個塊被標記以辨認數(shù)據(jù)在哪個周期上需要穩(wěn)定,其中周期被編號為O到3,然后重復(例如,周期4 =周期0,周期5 =周期I等)。在每個通路中,第一邏輯塊704需要在所有四個周期上穩(wěn)定,第二邏輯塊706需要在每四個周期中穩(wěn)定三個周期(例如,對于第一通路為周期1-3),第三邏輯塊708需要在每四個周期中穩(wěn)定兩個周期(例如,對于第一通路為周期2-3),且第四邏輯塊710需要在每四個周期中穩(wěn)定一個周期(例如,對于第一通路為周期3) ο
[0073]圖7中所示的第二流水線72將上面參考圖5所描述的優(yōu)化應用于第一流水線71。首先考慮流水線71的邏輯通路中的每一個中的第四邏輯塊710,可看出當數(shù)據(jù)需要在通路之間穩(wěn)定的時候不存在重疊,因此四個邏輯塊710可以被多工器712之后單個邏輯塊716替代??紤]流水線71的邏輯通路中的每一個中的第三邏輯塊708,可看出當數(shù)據(jù)需要在第一和第三通路之間穩(wěn)定的時候不存在重疊,相似地,當數(shù)據(jù)需要在第二和第四通路之間穩(wěn)定的時候不存在重疊。因此,四個第三邏輯塊708可被兩個邏輯塊718替代,在利用多工器720合并的兩個邏輯通路之間共享邏輯塊718的每個,多工器720交替地選擇兩個通路中的一個。應注意,流水線72中的通路被繪制為與流水線71不同的順序,其中流水線72中的第二邏輯通路對應于流水線71中的第三通路,且流水線72中的第三邏輯通路對應于流水線71中的第二通路,如箭頭722所示。
[0074]就圖2、圖4和圖5來說,應理解,盡管圖7示出四個邏輯通路,但是方法可被延伸至N個邏輯通路。在這種示例中,成對的邏輯通路可以利用多工器被合并到一起并被饋入到N/2個邏輯通路中的一個中,其中N/2個邏輯塊的輸出端通過另外的多工器合并且饋入到輸出寄存器級之前的輸出邏輯塊中。
[0075]應理解,改進的流水線22、42、51、52、62、71、72只提供改進的流水線的一些示例,且已被描述以展示側流線技術,該技術可被用于提高流水線的時鐘速度,并從而提高流水線的吞吐量。如上所述以及圖6中所示,側流線可結合傳統(tǒng)的流水線操作來使用,或者側流線可獨立于傳統(tǒng)的流水線操作來使用。在各種示例中,確定寄存器級的最佳位置而在
當前第3頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
龙山县| 临泉县| 枞阳县| 息烽县| 平山县| 富民县| 开封市| 乌拉特中旗| 遂溪县| 山阳县| 兴城市| 建德市| 揭东县| 松溪县| 绥棱县| 南通市| 平定县| 和平区| 扶绥县| 淄博市| 平湖市| 靖西县| 辽阳市| 武安市| 东海县| 历史| 迁西县| 三都| 灌南县| 沧源| 怀集县| 肥城市| 图片| 贡觉县| 始兴县| 库伦旗| 沛县| 明光市| 庆元县| 汝南县| 望城县|