TW201443777A - 數位訊號處理裝置及數位訊號處理方法 - Google Patents
數位訊號處理裝置及數位訊號處理方法 Download PDFInfo
- Publication number
- TW201443777A TW201443777A TW103101956A TW103101956A TW201443777A TW 201443777 A TW201443777 A TW 201443777A TW 103101956 A TW103101956 A TW 103101956A TW 103101956 A TW103101956 A TW 103101956A TW 201443777 A TW201443777 A TW 201443777A
- Authority
- TW
- Taiwan
- Prior art keywords
- components
- digital
- signal processing
- data
- digital signal
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/0008—Arrangements for reducing power consumption
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Advance Control (AREA)
- Power Sources (AREA)
Abstract
一種數位訊號處理裝置,包含:一數位電路裝置,具有一或多個用以處理數位資料之元件;一電源供應器,用以為該一或多個元件遞送一可控運作電壓;一控制邏輯,用以自該一或多個元件中的每一個接收多個回饋訊號,該等回饋訊號表示資料經過每一各別元件之一速率;以及該控制邏輯用以輸出一控制訊號至該電源供應器,以使該電源供應器因應在該一或多個元件中偵測到的一降低之工作負荷而降低該一或多個元件之該運作電壓、並使該電源供應器因應在該一或多個元件中偵測到的一增大之工作負荷而增大該一或多個管線之該運作電壓。
Description
本發明關於數位電路之管線處理,且更具體而言,關於用於使非同步資料流架構中之功率消耗最小化的方法及裝置。
當前嵌入式計算系統具有每瓦(watt)大約每秒1至10拾億次浮點運算(GFLOPS)左右之功率效率。然而,對於更多應用而言,預計所期望之計算能力將需要至少每瓦50GFLOPS,並且在不久的將來,也許將需要多達每瓦每秒75GFLOPS。
在過去,對於大於45奈米之未來大小,電腦設計師可依賴隨著每一代處理器而提高之計算效能。此根據摩爾定律(Moore’s law)(其使得每一代新品中之電晶體數目翻倍)及登納德定律(Dennard’s law)(其使得在不增加功率密度之情況下針對每一代新品使時脈速度增加約40%)兩者。此種按比例縮放(scaling)在先前已能夠不以增加功率為代價而提高效能。換言之,每單位面積功率(功率密度)已保持恆定。
然而,最近,登納德定律已失效且相對於恆定功率密度按比例縮放時脈速度已不再成立。因而,已經歷不斷增加之電晶體數目(因摩爾定律之延續而引起)之新近每一代晶片技術現在伴隨著功率成本之增加(因登納德定律之失效而引起)。此反過來又使功率效率達到約每瓦10
GFLOPS之極限。因此,需要較小大小、重量及功率(SWaP)之最近及未來應用將需要超出此極限之效率來滿足其任務要求。
對效能縮放問題之現有解決方案已著重於各種領域,包含例如:(1)晶片多處理器、(2)電壓按比例縮放、(3)對其他能障(energy-barrier)裝置之探索及(4)非同步或無時脈技術。此等不同方法分別具有與其相關聯之優點及缺點。在多核處理器或晶片多處理器情況下,添加更多處理器無疑會提高晶片效能。然而,除非減少每一指令所耗用之功率,否則仍會存在功率密度之增大。另外,多核處理器已證明很難程式化且仍未能達到其利用潛力。
基於資料流之方法對於可以並列方式解決之問題非常有效。此方法使資料移動局域化且幾乎消除所有不為演算-時間(algorithmic-temporal)目的所需要之記憶體訊務。已開發出FPGA及其他替代架構兩者,其將與高速資料路徑交叉連接之大量處理元件組合於一起。FPGA及其他替代架構提供在無需不斷地將資料傳回至儲存位置之情況下執行並列運算之能力。基於一字組位準之自同步資料流(word-level self-synchronized dataflow)之替代可重新配置架構與習用處理器相比已展示出對EO任務及RF DoD任務具有10x之功率效率改良(參見,例如,Prager等人之「世界第一台多形態電腦-MONARCH(World’s First Polymorphic Computer-MONARCH)」,高效能嵌入式計算(HPEC)工廠第11屆年會(11th Annual High Performance Embedded Computing(HPEC)Workshop),2007年)。
最近雷神(Raytheon)公司在對先進可重新配置方法之研究
中考量將資料流同步與非同步邏輯及電壓按比例縮放邏輯緊密結合以獲得一額外之100x功率優點。在此方法中,當資料到達單元時,一調節器增大供電電壓以加快運算。然而,當輸出佇列已滿時,該調節器降低電壓以在下游元件無法使用結果時降低功率。因此,功率自動降低至對於輸入資料速率及處理演算法而言最可能低之位準。亦藉由降低之電壓來降低洩漏功率。對因摻雜或電壓而引起之半導體效能變化具有彈性為藉由非同步定時及局部電壓調整所達成之一額外益處,進而容許晶片或一晶片之部分能夠盡可能快地運行且在該晶片之其他部分無法維持更高速度之情況下減緩產生功率(參見,例如,Marr等人之「用於效能加速及能量效率目的之非同步嵌入式資料路徑(An Asynchronously Embedded Datapath for Performance Acceleration and Energy Efficiency)」,電路及系統國際論壇期刊(Proceedings of the International Symposium on Circuits and Systems),2012年)。
在一例示性實施例中,一種數位訊號處理裝置包含:一數位電路裝置,具有一或多個用以處理數位資料之元件;一電源供應器,用以為該一或多個元件遞送一可控運作電壓;一控制邏輯,用以自該一或多個元件中的每一個接收多個回饋訊號,該等回饋訊號表示資料經過每一各別元件之一速率;以及該控制邏輯用以輸出一控制訊號至該電源供應器,以使該電源供應器因應在該一或多個元件中偵測到的一降低之工作負荷而降低該一或多個元件之該運作電壓、並使該電源供應器因應在該一或多個元件中偵測到的一增大之工作負荷而增大該一或多個管線之該運作電壓。
在另一實施例中,一種數位訊號處理方法包含:配置具有一
或多個元件之一數位元電路裝置以處理數位資料;配置一電源供應器以為該一或多個元件遞送一可控運作電壓;由一控制邏輯自該一或多個元件中的每一個接收回饋訊號,該等回饋訊號表示資料經過每一各別元件之一速率;以及由該控制邏輯輸出一控制訊號至該電源供應器,以使該電源供應器因應在該一或多個元件中偵測到的一降低之工作負荷而降低該一或多個元件之該運作電壓、並使該電源供應器因應在該一或多個元件中偵測到的一增大之工作負荷而增大該一或多個管線之該運作電壓。
100‧‧‧資料流架構
102‧‧‧數位電路裝置
104‧‧‧FPCA區域
106‧‧‧輸出
108‧‧‧電壓調節器
110‧‧‧資料流元件
112‧‧‧控制邏輯
114‧‧‧回饋訊號
120‧‧‧資料流架構
122‧‧‧數位電路裝置
124‧‧‧元件
126‧‧‧輸出
128‧‧‧電壓調節器
130‧‧‧並列資料流元件
132‧‧‧控制邏輯
134‧‧‧回饋訊號
140‧‧‧示意性方塊圖
142‧‧‧元件
144‧‧‧輸出供電電壓
146‧‧‧回饋訊號
148‧‧‧控制邏輯
150‧‧‧電壓調節器
200‧‧‧管線結構
202a、202b、202c‧‧‧功能塊
204a、204b、204c‧‧‧完成偵測器(CD)
206a、206b、206c‧‧‧Muller-C元件
300‧‧‧PSx式管線
400‧‧‧PCx管線架構
500‧‧‧PSx架構
502‧‧‧資料流叉形電路
504a‧‧‧功能塊
504b-1、504b-2‧‧‧功能塊
504c-1、504c-2、504c-3‧‧‧功能塊
504d‧‧‧功能塊
602b、602c‧‧‧位元切片式AND閘
604a、604b、604c‧‧‧Muller-C閘
606‧‧‧NOR閘
608b、608c‧‧‧OR閘
700‧‧‧非同步管線結構
702‧‧‧Z元件
704a、704b‧‧‧功能塊
802a、802b‧‧‧Muller-C閘
804a、804b、804c‧‧‧反相器
806a、806b‧‧‧AND閘
808‧‧‧OR閘
810‧‧‧多工器
812‧‧‧N位元閂鎖器
814‧‧‧完成偵測器
900‧‧‧非同步管線結構
902a‧‧‧半受控乘法器
902b‧‧‧半受控加法器
904‧‧‧泛用功能塊
906‧‧‧完成偵測器
1000‧‧‧全受控數位電路
1002‧‧‧NFET注腳電晶體
1004a、1004b‧‧‧PFET標頭電晶體
1100‧‧‧半受控數位電路
1104a、1104b‧‧‧PFET標頭電晶體
a‧‧‧輸入資料
b、c‧‧‧輸出資料
a_a、b_a、c_a‧‧‧確認訊號
CD‧‧‧完成偵測器
Coutt、Coutf‧‧‧數位輸出訊號
i_a‧‧‧確認訊號
i_f、i_t‧‧‧輸入
jr‧‧‧訊號(剛剛重設)
o_a‧‧‧確認訊號
o_t、o_f‧‧‧輸出
hr_n‧‧‧訊號(保持重設無效)
為更全面瞭解本發明,現在結合隨附圖式及實施方式來參照下文簡要說明,其中相同元件符號表示相同部件:第1A圖為根據一粗粒度(coarse grain)實施例之用於數位訊號處理之一例示性資料流架構之一示意性方塊圖;第1B圖為根據一細粒度(fine grain)實施例之用於數位訊號處理之一例示性資料流架構之一示意性方塊圖;第1C圖為以並列方式連接之一組細粒度元件之一示意性方塊圖;第2圖為一現有非同步管線結構之一示意圖;第3圖為一現有非同步管線結構之一示意圖;第4圖為根據一例示性實施例之一非同步管線結構之一示意圖;第5圖為根據一例示性實施例之具有一叉形電路之一非同步管線結構之一示意性方塊圖;第6圖為更詳細例示第5圖之叉形電路之一示意圖;第7圖為根據另一例示性實施例之具有一Z元件型延遲元件之一非同步
管線結構之一示意性方塊圖;第8圖為更詳細例示第7圖之Z元件之一示意圖;第9圖為根據一例示性實施例之具有一或多個半受控電路級之一非同步管線結構之一示意性方塊圖;第10圖為一完全受控電路之一示意圖;以及第11圖為諸如第9圖中所繪示之一半受控電路之一示意圖。
應瞭解,為簡明及清晰說明起見,在適當情況下,在不同圖式之間重複使用元件符號以指示對應或類似元件。另外,列出眾多具體細節,以便提供對本文所述實施例之透徹瞭解。然而,熟習此項技術者應理解,即使沒有此等具體細節,亦可實施本文所述之實施例。在其他情況下,未詳細闡述各方法、程序及組件,以免掩蓋所闡述之相關特徵。而且,本說明不應被視為限制本文所述之實施例之範疇。
如上所述,對於用於執行數位訊號處理演算法之基於場效電晶體(field effect transistor;FET)之電路而言,按比例縮放定律先前已能夠在恆定功率下增大每晶片之電晶體數目。即,每單位面積之功率(功率密度)已保持恆定。最近,對於每一代新晶片技術而言,考慮到時脈速度之提高,電晶體數目之增大會伴隨功率增加之成本。
對效能按比例縮放問題之現有解決方案已著重於各種領域,包含例如:(1)晶片多處理器、(2)電壓按比例縮放、(3)對其他能障裝置之探索及(4)非同步或無時脈技術。此等不同方法既具有與其相關聯之優點亦具有與其相關聯之缺點。在多核處理器或晶片多處理器情況下,增加更
多之處理器當然會提高晶片效能。然而,除非減少每一指令所耗用之功率,否則仍將存在功率密度之增大。另外,多核處理器已證明難以程式化且仍未能達到其利用潛力。
減少一裝置中每一指令所耗用之功率的方法之一係降低由彼裝置所使用之電壓。洩漏電流為在一電晶體處於其關斷狀態時流過該電晶體之電流量。雖然一理想裝置將具有零洩漏電流,但實際上洩漏電流因裝置幾何結構減小而不斷增大。洩漏電流之此種增大導致臨限電壓停止按比例縮放,而此反過來又使供電電壓停止按比例縮放。因而,由於缺少電壓按比例縮放,導致每一指令所耗用之功率增加。
對洩漏電流問題之一可能解決方案係使用其他裝置類型。雖然此為一正在進行的研究領域,但當前尚不具有適合替代CMOS技術之技術。另一研究領域在於使用非同步或「無時脈」電路設計技術。使用此等技術可達成運算速度的提高並同時減少洩漏能量及動態能量,進而使每一指令所耗用之功率淨減少。
本文中所闡述之實施例著重於將多處理器、電壓按比例縮放及非同步設計相組合,以創建一可經程式化以達到高利用位準之資料流處理器。使用經改良之非同步技術會使數位電腦電路運行速度更快且洩漏電流減小。此外,非同步技術亦很適合於在近臨限電壓位準下運作,進而進一步減少功率消耗。應瞭解,本文中所述實施例適用於可程式化處理器以及應用專用積體電路(application specific integrated circuit;ASIC)。藉由使用兩種相對新的方法來構建低功率數位電子技術(非同步電路設計及近臨限電壓(near-threshold voltage;NVT)運作位準),可使此等裝置中之功率
消耗相對於傳統CMOS設計減少約10至100倍。
通常,可程式化處理器及ASIC兩者係使用同步(亦即,時控)技術設計而成。此等同步電路因時脈速度受最長定時路徑限制而運行較慢。亦必須藉由延長時脈週期來解決因傳輸線效應及電容性負載而引起之時脈偏斜(clock skew)。此外,在一同步資料管線內使用顯式暫存器(explicit register)及閂鎖器會增加延遲開銷。就電源運作位準而言,供電電壓必須在遠高於電晶體裝置電壓臨限值之位準下運作以提供足夠的抗擾性(noise immunity)。由於動態(有效)功率為電壓的平方(V2)的函數,因而更高之供電電壓導致更高之功率消耗。另一方面,非同步數位資料流邏輯為無時脈的且使用單閘延遲(single-gate-delay)技術來消除關鍵路徑延遲。單閘單元對各管線電路級進行自計時(self-time),藉此消除時脈樹(clock-tree)功率、設置及保持時間、定時裕度(timing margin)、及關鍵路徑延遲,此皆在容許以近臨限電壓運作之同時達成,進而達成低得多的功率消耗。在此等電路中,運作時脈速度隨供電電壓而變化,而供電電壓又驅動功率消耗。此處,目的係設定運作電壓以使電路足夠快地運行來處理輸入資料,但不會快至浪費功率。
在非同步電路中,時脈速度與供電電壓相關。藉由調高電壓,電路會更快地運行(亦即,以一更高時脈速度運行),且藉由調低電壓,電路會更慢地運行(亦即,以一更低時脈速度運行)。在電腦之大多數實施形式中,處理器之固有時脈速度不依賴於資料到達速率。若處理器之固有時脈速度與資料到達速率相匹配,則處理器為最佳的。然而,若處理器之固有時脈速度與資料之到達速率不相匹配,則處理器將因運行過快而等待
資料,或處理器將因運行過慢而不得不使資料減速或丟失資料。在本發明實施例中,在非同步電路中利用電壓與時脈速率之間的緊密耦合來量測資料之到達速率,而此反過來又用於控制電壓,且因此控制時脈速率。這樣做的一優點及主要原因為藉由最佳地使用處理電路來節省電源。
基於資料流佇列負載來對供電電壓進行局部控制。如此可確保慮及資料輸入速率、溫度及半導體製程偏差而使電壓在自峰值效率至峰值通量(peak throughput)之範圍內自適應性地按比例縮放。來自資料流佇列之資訊用於控制電壓調節器,電壓調節器反過來又調整局部供電電壓(對更多資料進行排隊會使電壓更高且因此運算速度更快)。計算在最小功率下或快或慢地進行以與工作進度保持一致。
參照第1A圖,圖中顯示根據一粗粒度實施例之用於數位訊號處理之一例示性資料流架構100之一示意性方塊圖。在所示實施例中,架構100包含一數位電路裝置102,例如一現場可程式化計算陣列(field programmable compute array;FPCA)。一FPCA為一可重新配置之IP核芯,該可重新配置之IP核芯可用於執行單運算元(single-operand)運算及多運算元(multi-operand)運算兩者,例如但不限於:出現在諸如視訊編碼、有限脈衝響應(finite impulse response;FIR)濾波器及3G無線基地台通道卡之應用中的算數運算、邏輯運算、記憶體運算及乘法運算。然而,應瞭解,亦涵蓋其他類型之數位電路。
在任何情況下,數位電路裝置102皆包含構成一用於處理數位資料之FPCA區域104的複數個並列元件,該等元件在第1A圖中被標記為元件1、元件2等。104中之每一元件產生一或多個輸出,例如106,該等輸
出可由其他處理裝置(未顯示)使用。一電壓調節器108為FPCA區域104內之該組元件遞送一共用運作電壓。相對於數位電路裝置102,電壓調節器108既可包含於亦可不包含於一共同基板或晶片上。
根據本文中之一實施例,利用在每一FPCA區域104中以佇列形式載入資料流元件110來設定供應至該等資料流元件110之局部叢集供電電壓且因此設定運作速度。該架構內之控制邏輯112接收每一元件之複數個(正)回饋訊號114,該等訊號表示資料經過每一各別元件之速率。對於本實施例而言,假定該等不同元件執行其中資料以共同速率移動之相關運算,因此僅供應一單一共用電壓。
因此,對於FPCA區域104中負擔較輕的既定一組元件而言,由於該等元件不需要那麼快地計算,因而可降低供應至該等元件之電壓。因此,可在不影響作為系統整體之速度的情況下使用較少之功率。因此,對於所例示之實例而言,控制邏輯112可經由一控制訊號而與電壓調節器108通訊,以使電壓調節器調整供應至該FPCA區域中之所有元件之輸出供電電壓。相反,當該等元件負擔較重時,則提高供應至該等元件之供電電壓(且因此速度)以與工作負荷保持一致。
現在參照第1B圖,圖中顯示根據一細粒度實施例之用於數位訊號處理之一例示性資料流架構120之一示意性方塊圖。在所示實施例中,架構120包含一數位電路裝置122,該數位電路裝置可用於執行單運算元運算及多運算元運算兩者,諸如但不限於算數運算、邏輯運算、記憶體運算及乘法運算。在任何情況下,數位電路裝置122皆包含用於處理數位資料之一單一元件124。元件124產生可由其他處理裝置(未展示)使用之一
(若干)輸出126。一電壓調節器128為元件124遞送一共用運作電壓。相對於數位電路裝置122,電壓調節器128既可包含於亦可不包含於一共同基板或晶片上。
根據本文中之一實施例,利用複數個並列資料流元件130之佇列載入來設定供應至該複數個並列資料流元件之局部叢集供電電壓,且因此設定運算速度。控制邏輯132接收該等並列資料流元件中的每一個之複數個(正)回饋訊號134,該等訊號表示資料經過該元件之速率。
參照第1C圖,圖中顯示以一並列方式連接之一組細粒度元件之一示意性方塊圖140。由於該等不同元件執行不同運算,因而資料以不同速率移動。因此,對於相對於其他元件負擔較輕之一既定元件(例如,元件1)142,由於彼元件不需要與負擔較重的元件一樣快地計算,因而可降低供應至彼元件之各別電壓144。因此,可在不影響系統整體之速度的情況下使用較少之功率。因此,對於所例示之實例而言,當元件1之使用負擔不如其他元件(如(負)回饋訊號146所反映)重時,控制邏輯148可經由一控制訊號而與電壓調節器150通訊以使該電壓調節器降低供應至元件142之輸出供電電壓144。相反,當一元件負擔較重時,提高供應至該元件之各別供電電壓(且因此提高速度)以與工作負荷保持一致。
應瞭解,第1A圖至第1C圖中所繪示之粗粒度(元件集合)資料流架構及細粒度(單一元件)資料流架構可使用正回饋、負回饋、或其一組合。此外,該技術亦適用於一同步(時控)電路版本。此處,可能需要額外之邏輯以單獨地控制頻率及電壓兩者。
如上所述,使用非同步電路設計技術亦可提高運算速度、同
時減少洩漏能量及動態能量,進而使每一指令所耗用之功率淨減少。作為背景,第2圖中例示由Ted E.Williams(「自定時響鈴及其對除法之應用(Self-Timed Rings and Their Application to Division)」,斯坦福大學博士論文,1991年6月)開發之一非同步管線結構200。
管線結構200為一雙軌條設計,其中使用兩個導線(軌條)來實施每一資料位元。具體而言,每個二進制資料位元在該兩個軌條上被編碼為一對邏輯狀態,比如:「空閒」(00),亦即,當該兩個軌條其中之一第一軌條為一邏輯0且該對軌條其中之第二軌條為一邏輯0時;一「邏輯0」(01),亦即,當該兩個軌條其中之第一軌條為一邏輯0且該對軌條其中之第二軌條為一邏輯1時;及「邏輯1」(10),亦即,當該兩個軌條其中之一第一軌條為一邏輯1且該對軌條其中之第二軌條為一邏輯0時。應注意,編碼(11)為一無效狀態。
管線結構200內包含採用動態邏輯之複數個功能塊202a、202b、202c。因此,功能塊202a-c中的每一個在其針對每一循環使用之前被重設或預充電至空閒狀態,如由(低態有效)控制訊號「pc」所指示。一旦被預充電,一功能塊202a-c便待命且準備好接收資料;一旦輸入變為一邏輯值(0或1),便有效地捕獲彼輸入。該捕獲可每一循環只進行一次,亦即,捕獲第一有效值。由於經預充電之功能塊202a-c甚至當輸入被重設至「空閒」時亦可保持其自身之資料輸出,故該等塊提供一隱式閂鎖器之功能性,即使不需要在管線級中提供一顯式閂鎖器。
如第2圖中進一步繪示,每一級皆包含一完成偵測器(CD)204a、204b、204c,用於指示相關聯功能塊202a-c(其可為一完全受控預充
電塊或一半受控預充電塊)之輸出處之資料有效性或指示在該輸出處不存在資料。每一級中之一Muller-C元件206a、206b、206c藉由將來自前一級之完成偵測器204a-c之一「進行」或「請求」訊號(req)與來自後一級之完成偵測器204a-c之一「完成」或「確認」訊號(ack)合併來控制其相關聯功能塊202。Williams所給出之管線架構200(其中功能塊202a-c由Muller-C元件206a-c控制)之命名為PCx,其中「x」指功能塊202a-c之間所包含之顯式閂鎖器之數目。此處,該架構為「PC0」,此乃因該管線中不存在任何顯式閂鎖器。
Muller-C閘之作用就像一「黏性」AND閘一樣,乃因(如同一習用AND閘)直至兩個輸入皆為‘1’,輸出才變為‘1’。然而,輸出隨後將保持處於‘1’直至兩個輸入皆為‘0’為止。完成偵測器204a-c實際上使用多輸入Muller-C閘(或更小閘之一等價樹)。此意味著不僅完成偵測器204a-c之輸出僅在所有輸入皆處於有效狀態(邏輯0或邏輯1)時才變為‘1’,而且該輸出不回復至‘0’直至所有輸入皆處於空閒編碼狀態為止。
在例如第2圖中所示之一功能塊管線中,出現兩個定時問題。首先,一上游元件(例如,功能塊202b)之輸出必須在對該上游元件被預充電之前由一下游元件(例如,功能塊202c)捕獲。其次,一上游元件(例如,功能塊202b)之輸出必須在一下游元件(例如,功能塊202c)退出預充電狀態(亦即,預充電被拉起)之前處於空閒狀態或變為其新的狀態。自一個級之完成偵測器饋入至前一級之Muller-C元件之「ack」訊號確保第一條件,此乃因該「ack」訊號只在該下游元件在其所有輸出上皆具有有效資料之後才被拉起。即,該下游元件已捕獲由對應完成偵測器所偵
測到之其輸入。在PCx式管線中,第二條件藉由在該上游元件之完成偵測器變為零之後未拉起「req」訊號來確保。此指示該上游元件之所有輸出皆已重設至空閒編碼。該下游元件只有在此時才可進入預充電(此顯然會阻止該下游元件在該輸入被重設之前退出預充電)。
例如第2圖中所示之PCx配置管線的一個問題在於,Muller-C元件206a-c處於正向流動資料符記(token)之關鍵路徑中,此乃因Muller-C元件轉變為只有在其功能塊已接收到有效資料輸入之後才移除預充電訊號「pc」。因此,上游完成偵測器及Muller-C元件之延遲加至功能塊評估之延遲。另一選擇為,一種經修改非同步管線架構由Williams開發出,被稱作「PSx」族。
如第3圖中所例示,在一PSx式管線300(亦由Williams開發出)中,移除Muller-C閘且轉而直接自下游功能塊之完成偵測器204a-c之輸出接收每一功能塊202a-c之預充電輸入。例如,完成偵測器204b之輸出為功能塊202a之預充電輸入。出於例示目的,亦針對每一功能塊202a-c繪示一「重設」訊號,該「重設」訊號使每一塊中之資料重設至「空閒」狀態。第3圖中之設計之一定時假定在於:與其評估相比,更快地預充電至「空閒」。通常,此定時要求在具有類似級之管線中容易滿足。
然而,本文中已認識到,當資料管線結構中存在一叉形結構(亦即,一功能塊之輸出分支成通往兩個單獨下游功能塊之輸入)時,此PSx管線中出現一問題。通常,自該叉形結構中該二並列下游元件之完成偵測器饋入之「ack」訊號與一Muller-C閘組合,進而針對該叉形結構之前的上游功能塊產生一單一「ack」訊號。本文中進一步認識到,只要該二下游
元件皆未無限期阻塞,此配置便起作用。然而,在一資料流(亦即,管線)機中,下游元件可因各種原因而阻塞,包含例如因重組資料路徑(分叉且隨後合併之路徑)、外部元件、選通元件等。若一叉形結構之一個分支阻塞、而另一分支未阻塞,則未阻塞叉形結構可拉起一「ack」訊號,且接著在上游元件不清除其輸出的情況下解除該「ack」訊號(此乃因上游「ack」由該組合Muller-C閘封鎖)。此外,若上游元件從未將其輸出資料清除至空閒狀態,則其下游的元件將重複地評估,從而一再地捕獲同一凍結值。在PSx式管線(不同於PCx管線)中,不存在防止發生此種情況之任何互鎖裝置。因此,一方面,一PSx管線快於一PCx管線,而另一方面,PCx管線不像PSx管線一樣遭受一或多個叉形結構之下游阻塞。
現在參照第4圖,圖中顯示根據一例示性實施例之一經修改PCx管線架構400之一示意圖。經修改架構400在本文中亦稱作一PCx*架構。與第2圖之現有PCx架構相比,本發明PCx*架構400藉由將來自一既定元件之「req」輸入訊號重新定位至上游元件之Muller-C閘之輸出、進而繞過上游評估及完成偵測來減少完成偵測器及Muller-C元件206a-c之關鍵路徑損耗。因此,例如,Muller-C元件206b之第二輸入並非起源於前一級之完成偵測器204a之輸出,而是Muller-C元件206b之第二輸入起源於前一級之Muller-C元件206a之輸出。PCx*架構400因此實現正向請求及反向確認訊號兩者,但自先前設計之關鍵路徑非同步循環時間中除去若干個閘延遲。
對PCx*之另一改良可藉由使用一「非對稱」Muller-C閘(參見,例如,Singh及Nowick之「用於細粒度動態資料路徑之高通量非同步管線(High-Throughput Asynchronous Pipelines for Fine-Grain Dynamic
Datapaths)」)代替標準Muller-C閘來達成。非對稱C元件具有僅沿其中一個方向(0至1或1至0)達成轉變的輸入。根據所達成之轉變,該等輸入被稱作正輸入(+)或負輸入(-)。在此種情況下,Muller-C閘經修改以使得其輸出在「ack」輸入變為低的情況下變為高,但只有在「ack」輸入為高且「req」輸入為低的情況下才變為低。因此,該電路之作用如同「ack」之下降邊緣上之PSx;該電路無論「req」如何皆即刻進入評估狀態。然而,在「ack」之上升邊緣上,該電路將只有在「req」為低(上游元件已看到下游「ack」)時才進入預充電。之所以如此,乃因僅關心「req」之下降邊緣。為得到正確叉形行為,需要阻止下游級預充電(因此使「ack」保持進入對Muller C閘進行組合之叉形結構)直至req為低(已看到所組合之「ack」)為止。請求之上升邊緣(進入評估)並不重要;即使下游級早已進入評估,在有效資料到達之前亦不會發生任何事情。
儘管本文中所揭示之經修改PCx*架構提供定時改良,但仍應認識到,PSx式管線因其不具有Muller-C閘之額外延遲而固有地快於PCx*管線。因此,PSx式管線將為合意的,只要可解決所談到之叉形結構問題。現在參照第5圖,圖中顯示一經改良PSx架構500之一示意圖,經改良PSx架構500包含設置於資料流路徑內一叉形結構上游之各功能塊之間的一等時(isochoric)資料流叉形電路502。更具體而言,叉形電路502設置於一功能塊504a下游,在該功能塊之後資料路徑分支成包含功能塊504b-1及504b-2之一第一分支(b)及包含功能塊504c-1、504c-2及504c-3之一第二分支(c)。來自該二分支之輸出資料合併為功能塊504d之輸入。在第5圖中,自功能塊504a輸出之資料被表示為「a」,該資料穿過叉形電路502且隨後被分成第一
分支功能塊504b-1之「b」及第二分支功能塊504c-1之「c」。進一步沿著該管線結構,輸出資料被簡單地標記為「資料」。
進一步約定,自叉形電路502至功能塊504a之新穎確認訊號(下文將更詳細闡述)表示為「a_a」,而自功能塊504b-1及504c-1至叉形電路502之確認訊號分別表示為「b_a」及「c_a」。進一步沿著該管線結構,其餘確認訊號被簡單地標記為「ack」。
如上所述,在一傳統PSx架構中,該等分支其中之一中之一管線阻塞不會阻止未阻塞分支繼續處理資料。因此,未阻塞分支繼續處理不正確的值。相比之下,本發明實施例之叉形電路502藉由在該二分支中的任何一者由於某一特定原因而阻塞之情況下阻塞該叉形結構之該二分支來防止此種狀況。該叉形電路藉由有效地具有二個輸出來達成這一點。一個輸出可保持有效(此驅動一尚未藉由拉起「ack」來確認捕獲到資料之阻塞元件之輸入所需的)。另一輸出可被快速清除至空閒狀態(此確保未阻塞之元件在移除「ack」時不即刻開始評估來自先前循環之陳舊資料所需的)。
第6圖為更詳細例示第5圖之叉形電路502之一示意圖。如圖所示,叉形電路502包含一對位元切片(bit-sliced)式AND閘602b、602c,該對位元切片式AND閘602b、602c自上游功能塊接收輸入資料「a」作為其之第一輸入(每一AND閘一個位元之「a」)。應記得,訊號「a」為雙導線訊號之一N位元匯流排,其表示上游級之經計算輸出。位元切片式AND閘含有兩個N各別AND閘,該N位元匯流排中之每一導線一個。來自輸入「a」之該二N導線被配接成使得一個2輸入(2-input)式AND閘自匯流排「a」中之一導線接收一個輸入,且每一AND閘之輸出產生對應之輸出匯流排導
線。位元切片式AND閘之另一輸入被連接至每一各別2輸入式AND閘之第二輸入。結果,當第二輸入為1時,第一輸入不加改變地通過位元切片式AND閘,而當第二輸入為0時,位元切片式AND閘之輸出被驅動至「空閒」狀態。AND閘602b之輸出為如上所述發送至第一分支功能塊504b-1之輸出資料「b」。
對應地,AND閘602c之輸出為亦如上所述發送至第二分支功能塊504c-1之輸出資料「c」。叉形電路502所接收之確認訊號「b_a」及「c_a」分別被輸入至第一Muller-C閘604b及第二Muller-C閘604c。一第三Muller-C閘604a接收第一Muller-C閘604b及第二Muller-C閘604c之輸出作為其輸入,並產生自叉形電路502發送回至第5圖之功能塊504a之組合確認訊號「a_a」。
如第6圖中進一步繪示,一NOR閘606接收一重設訊號作為其一第一輸入並接收組合確認訊號「a_a」作為其一第二輸入,其中NOR閘606之輸出(一組合確認訊號)用作Muller-C閘604b及604c兩者之第二輸入。如上所述,AND閘602b、602c分別選通輸入叉形資料「a」作為輸出至相應叉形結構分支之輸出資料「b」及「c」。此等閘之選通控制訊號(即,602b、602c中之每一位元切片式AND閘之第二輸入)分別來源於OR閘608b及608c之輸出。OR閘608b之輸入訊號為來自Muller-C閘604b及Muller-C閘604a之輸出訊號。類似地,OR閘608c之輸入訊號為來自Muller-C閘604c及Muller-C閘604a之輸出訊號。
在運作中,叉形電路502容許資料「a」之一樣本成功遞送至二個不同位置「b」及「c」。當一下游元件拉起確認(b_a或c_a)時,Muller-C閘(分別為604b或604c)及位元切片式AND閘(分別為602b及602c)使對
應輸出(分別為「b」及「c」)快速被驅動至「空閒」狀態(此使PSx管線正確運作所需要的)。此「空閒」狀態由Muller-C閘(604b及604c)及經由Muller-C閘604a及NOR閘606之回饋保持,直至二個下游元件已提供一確認且上游元件在「a」上驅動新的資料(或「空閒」狀態)為止。即使一下游元件預充電且移除其確認(b_a或c_a),該元件亦因其輸入被位元切片式AND閘(602b或602c)保持於「空閒」狀態而不會評估。OR閘608b及608c使輸出「b」及「c」保持空閒,甚至當已接收到二個確認訊號(「b_a」及「c_a」)時亦如此。此會防止輸出「b」及「c」在上游元件有時間對經組合確認作出反應並產生「空閒」狀態之前回復至在「a」上驅動之先前樣本。NOR閘606容許一全局重設訊號例如在電路加電時重設叉形結構之狀態。
如前所述,在先前技術中,匯流排「a」有效地硬接線至匯流排「b」及「c」(無位元切片式AND閘602b及602c),且Muller-C閘604a用於在無Muller-C閘604b及604c之情況下組合來自下游元件之確認「b_a」及「c_a」。若該二下游元件其中之任一者阻塞、或者甚至需要更長時間來評估並產生其確認,則另一元件可在「a_a」上之先前輸入樣本已被更新之前預充電並準備好接受新的資料,或重設至「空閒」狀態。上述叉形電路502藉由延遲一個並列資料分支中之資料處理直至另一並列資料分支中之阻塞狀態被清除為止來防止此種情況發生。
現在參照第7圖,圖中顯示根據另一例示性實施例之一非同步管線結構700之一示意圖,非同步管線結構700具有設置於相鄰功能塊704a、704b之間的一單循環Z元件延遲元件702。
在一典型時控式系統中,Z元件延遲係使用暫存器來達成
(此在時脈以系統取樣速率運行時特別簡單)。在三個暫存器R1、R2及R3之一同步管線中,在重設時,該等暫存器被清除至零。因此,在第一時脈訊號之前,該三個暫存器之輸出為{0,0,0}。若值I1被時控至第一時脈訊號上之管線中,則該等暫存器之輸出將為{I1,0,0}。若I2被時控至第二時脈訊號上之管線中,則該輸出將為{I2,I1,0},等等。
另一方面,一非同步系統以不同的方式運作。在重設之後,功能單元F1、F2及F3之一管線之輸出將為{X,X,X},此意味著該等輸出並非為零而是為空閒。換言之,在重設之後不存在任何輸出資料。在I1進入該系統之後,該等單元將含有{I1,X,X};然後,當I2進入該系統時,該等單元將含有{I2,I1,X},等等。因此,為達成與一典型時控系統相同之效果,在重設該等功能單元時將一「實」值預載入至該等功能單元中,此為一Z元件可達成者。因此,在重設之後,Z元件Z1、Z2、Z3之一管線之輸出將為{0,0,0}。然後,當I1到達時,該輸出將為{I1,0,0},等等。若該管線在重設之後含有{0,0,0},則除一下游阻塞以外,該管線可在無任何輸入到達的情況下移動至{X,0,0},然後移動至{X,X,0}並最後移動至{X,X,X}。因資料流系統之性質會使該等零正確地用於計算中或在管線中之某處阻塞直至接收到任何所需資料為止,故此並不成問題。
在第7圖所繪示之實例中,Z元件702用以加速管線過程,即使Z元件為管線700中之一額外元件。考慮到一個級在其前面沒有該級之確認訊號的情況下無法取得進展,故此態樣受到重視。由於Z元件702為一非常快的級,因而若其配置於二個長的級(例如,一對乘法器)之間,則基本上可並列執行乘法運算。例如,當一下游乘法器(例如,功能塊704b)
完成時,該下游乘法器將一確認訊號(經由完成偵測器)發送回至Z元件702。接著,Z元件702快速地接受新的資料,結束其運算,並向回發送確認至上游乘法器(例如,功能塊704a)。上游乘法器開始執行其自身的計算,同時下游乘法器亦執行一乘法。Z元件702使此成為可能。若無Z元件702,則下游乘法器704b將直接向回發送確認至上游乘法器704a、但因資料不為新的而必須在乘法器704a可再次開始乘法之前等待上游乘法器704a結束。
除緩衝一非同步定時循環之一資料值以外,Z元件702亦具有被初始化至一資料值之能力。在正常運作中,Z元件之行為如同一全同元件(identity element)一樣,此乃因Z元件在不修改所傳遞之資料的情況下提供一個非同步管線延遲。然而,在重設之後,Z元件702並不初始化至清空狀態。而是,Z元件經初始化以保持一邏輯0(針對該匯流排中之所有位元)。
第8圖中例示Z元件702之一更詳細示意圖。如圖所示,Z元件702包含非對稱Muller-C閘802a、802b、反相器804a、804b、804c、AND閘806a、806b、OR閘808、多工器810、一N位元閂鎖器812及一完成偵測器814。
在重設時,該二Muller-C閘802a、802b重設至‘0’,以使「hr_n」(保持重設無效)為‘0’及「jr」(剛剛重設)為‘1’。重設運作亦對N位元非同步閂鎖器812預充電。當jr設定至‘1’時,多工器810選擇一邏輯‘0’以在撤銷重設之後被驅動至閂鎖器812中(以使所有O_f位元將為‘1’且所有O_t位元將為‘0’)。因此,在重設之後,Z元件將產生一邏輯‘0’值並在下游驅動該邏輯。然而,應注意,由於「hr_n」為‘0’,因而完成偵測器814之輸出被封鎖,
且不在上游產生一確認訊號(i_a)。當此值被下游元件捕獲(O_a驅動至‘1’)時,「jr」被清除至‘0’,進而容許多工器810切換至選擇各輸入(用於正常運作之「i_f」及「i_t」)。另外,再次對N位元閂鎖器812預充電。應注意,「hr_n」仍為‘0’且仍阻止「i_a」在上游產生一確認訊號。當O_a被驅動至‘0’(亦即,下游元件準備好接收新的資料)時,預充電被移除,且上游資料(i_f及i_t)通過N位元非同步閂鎖器812。另外,hr_n被設定至‘1’,進而容許由完成偵測器所產生之確認(i_a)發送至上游元件。
如第8圖中之邏輯所示,重設輸入連同O_a(來自下一級之確認訊號)穿過若干個閘,以形成一用於觸發Z元件切換多工器(mux)之訊號「jr」。多工器810可切換成將包含於Z元件中之閂鎖器初始化至一邏輯‘0’,其中一邏輯‘0’為等效於雙軌條中i_f假線(false line)等於‘1’及i_t真線(true line)等於‘0’之邏輯狀態。除此之外,閂鎖器將傳入資料i_f及i_t緩衝達一個非同步循環並在一個非同步循環之後將輸出O_f及O_t設定至i_f及i_t之值。
現在參照第9圖,圖中顯示根據一例示性實施例之一非同步管線結構900之一示意性方塊圖,非同步管線結構900具有一或多個半受控級902a、902b。一泛用功能塊(generic functional block)904以及完成偵測器906亦顯示於位於半受控級902b下游之管線架構900中。
在一全受控數位電路中,存在「注腳(footer)」電晶體及「標頭(header)」電晶體兩者。一標頭電晶體用作一用於選擇性地將上拉裝置(例如,PFET)耦合至高電壓軌條之閘,而一注腳電晶體用作一用於選擇性地將下拉裝置(例如,NFET)耦合至低電壓軌條之閘。相比之下,一半
受控數位電路(例如第9圖之例示性乘法器902a及加法器902b)包含一注腳電晶體或一標頭電晶體,而非同時包含兩者。就此而言,半受控數位電路之一優點為運算更快。
第10圖為一全受控數位電路1000之一示意圖,在其中可見,一控制訊號(PC)耦合至一NFET注腳電晶體1002以及一對PFET標頭電晶體1004a、1004b兩者。因在電壓電源軌條與數位輸出訊號Coutt、Coutf之間存在額外電晶體(NFET 1002或PFET 1004a、1004b),故此電路設計導致計算時間較慢。相比之下,第11圖為一半受控數位電路1100之一示意圖,半受控數位電路1100包含一對PFET標頭電晶體1104a、1104b,但不具有注腳電晶體。假若存在注腳電晶體,則在有效輸入到達NFET閘、而電路仍處於一預充電模式之情況下會阻止形成自VDD至地之一直接路徑。例如,在一求和塊(sum block)阻塞一完整循環時便可出現此種狀況。然而,即使出現此種狀況,淨效果(net effect)亦為耗用額外功率,此等價於電流模式輸出邏輯。
再次參照第9圖,例示性半受控乘法器902a及半受控加法器902b包含於具有奇數個管線級之非同步管線結構900中。此種奇數個非同步資料流級之特定架構具有一獨特定時特性:其以半受控邏輯提供具有較少電晶體之優點,但不存在潛在地具有一短路洩漏路徑之缺點,乃因資料路徑電路在一計算之後始終處於一低洩漏狀態。
此處假定每一管線由自多個源接受輸入之二個功能塊(例如加法器或乘法器)組成,且該管線之其餘部分由僅自一個源接受輸入之若干元件(例如閂鎖器)組成。第9圖繪示第一級為一半受控乘法器,第二級
為一半受控加法器,且第三級為一閂鎖器元件:此可為例如一全同元件或Z元件。在僅使用一標頭電晶體之一半受控功能塊中,若預充電PC輸入被設定為低而使得上拉(PMOS)電晶體網路啟動且與此同時,輸入到達a、b及c而使得下拉電晶體網路(NMOS)亦導通,則可造成一短路狀況。若在下游存在偶數個閂鎖器元件,則將出現此種狀況,乃因一閂鎖器不可能因多個輸入而阻塞。
若在一多輸入元件(例如第9圖中之加法器)下游具有偶數個閂鎖器,則當該加法器評估有效資料時,該等閂鎖器將繼續循環以使位於該加法器下游之閂鎖器最終將賦予該加法器一高PC值。若該加法器之另一輸入阻塞,則該加法器將繼續賦予其之前的級(第9圖中之乘法器)一低PC值。該管線中之第一級(在本例中為乘法器)隨後將阻塞並具有一低PC值,其中有效輸入最終將到達而亦啟動下拉網路,進而使下拉網路阻塞而進入一短路狀態。為防止發生此種情況,使用奇數個閂鎖器以使得當一多輸入元件阻塞時,將使其前一者(predecessor)之PC值保持為高,進而緩解短路狀況。該奇數個閂鎖器將因不可能出現一阻塞而繼續循環。級聯之偶數個閂鎖器能夠重設彼此,進而發送回一確認訊號以使位於上游之一多輸入元件具有一低PC輸入,同時如在上文所述之條件下一樣啟動輸入。
因此應瞭解,上述實施例之技術優點包括利用運行速度更快且洩漏電流更小之非同步技術及數位電腦電路來改良非同步管線架構中之功耗。
儘管已參照一或多個較佳實施例闡述了本發明,但熟習此項技術者應理解,可作出各種改變且可以等效元件來代替本發明之元件,而
此並不背離本發明之範疇。另外,可作出諸多潤飾以使一特定情況或材料適應於本發明之教示,而此並不背離本發明之基本範疇。因此,旨在使本發明並不僅限於作為本發明最佳實施模式而揭示之特定實施例,而是本發明將包含歸屬於隨附申請專利範圍之範疇之所有實施例。
100‧‧‧資料流架構
102‧‧‧數位電路裝置
104‧‧‧FPCA區域
106‧‧‧輸出
108‧‧‧電壓調節器
110‧‧‧資料流元件
112‧‧‧控制邏輯
114‧‧‧回饋訊號
Claims (16)
- 一種數位訊號處理裝置,包含:一數位電路裝置,具有一或多個用以處理數位資料之元件;一電源供應器,用以為該一或多個元件遞送一可控運作電壓;一控制邏輯,用以自該一或多個元件中的每一個接收多個回饋訊號,該等回饋訊號表示資料經過每一各別元件之一速率;以及該控制邏輯用以輸出一控制訊號至該電源供應器,以使該電源供應器因應在該一或多個元件中偵測到的一降低之工作負荷而降低該一或多個元件之該運作電壓、並使該電源供應器因應在該一或多個元件中偵測到的一增大之工作負荷而增大該一或多個管線之該運作電壓。
- 如請求項1所述之數位訊號處理裝置,其中該數位電路裝置包含一現場可程式化計算陣列(field programmable compute array;FPCA)。
- 如請求項1所述之數位訊號處理裝置,其中:該數位電路裝置包含用以處理數位資料之一單一元件;以及該單一元件接收被輸入至該單一元件之複數個並列資料流路徑(parallel dataflow path)。
- 如請求項1所述之數位訊號處理裝置,其中該等回饋訊號為正回饋訊號。
- 如請求項1所述之數位訊號處理裝置,其中:該數位電路裝置包含用以處理數位資料之複數個單一元件,該等單一元件中的每一個用以執行不同之運算;以及該等元件中的每一個具有一被供應至該元件之各別可控 電壓。
- 如請求項1所述之數位訊號處理裝置,其中該等回饋訊號為負回饋訊號。
- 如請求項1所述之數位訊號處理裝置,其中該數位電路裝置為非同步的。
- 如請求項1所述之數位訊號處理裝置,其中該數位電路裝置為同步的。
- 一種數位訊號處理方法,該方法包含:配置具有一或多個元件之一數位電路裝置以處理數位資料;配置一電源供應器以為該一或多個元件遞送一可控運作電壓;由一控制邏輯自該一或多個元件中的每一個接收多個回饋訊號,該等回饋訊號表示資料經過每一各別元件之一速率;以及由該控制邏輯輸出一控制訊號至該電源供應器,以使該電源供應器因應在該一或多個元件中偵測到的一降低之工作負荷而降低該一或多個元件之該運作電壓、並使該電源供應器因應在該一或多個元件中偵測到的一增大之工作負荷而增大該一或多個管線之該運作電壓。
- 如請求項9所述之數位訊號處理方法,其中該數位電路裝置包含一現場可程式化計算陣列(FPCA)。
- 如請求項9所述之數位訊號處理方法,其中:該數位電路裝置包含用以處理數位資料之一單一元件;以及該單一元件接收被輸入至該單一元件之複數個並列資料 流路徑。
- 如請求項9所述之數位訊號處理方法,其中該等回饋訊號為正回饋訊號。
- 如請求項9所述之數位訊號處理方法,其中:該數位電路裝置包含用以處理數位資料之複數個單一元件,該等單一元件中的每一個用以執行不同之運算;以及該等元件中的每一個具有一被供應至該元件之各別可控電壓。
- 如請求項9所述之數位訊號處理方法,其中該等回饋訊號為負回饋訊號。
- 如請求項9所述之數位訊號處理方法,其中該數位電路裝置為非同步的。
- 如請求項9所述之數位訊號處理方法,其中該數位電路裝置為同步的。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/782,631 US8836372B1 (en) | 2013-03-01 | 2013-03-01 | Minimizing power consumption in asynchronous dataflow architectures |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201443777A true TW201443777A (zh) | 2014-11-16 |
Family
ID=51420677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103101956A TW201443777A (zh) | 2013-03-01 | 2014-01-20 | 數位訊號處理裝置及數位訊號處理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8836372B1 (zh) |
TW (1) | TW201443777A (zh) |
WO (1) | WO2014133679A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9117511B2 (en) * | 2013-03-08 | 2015-08-25 | Advanced Micro Devices, Inc. | Control circuits for asynchronous circuits |
US9520180B1 (en) | 2014-03-11 | 2016-12-13 | Hypres, Inc. | System and method for cryogenic hybrid technology computing and memory |
US9935542B2 (en) * | 2015-03-15 | 2018-04-03 | Plsense Ltd. | Methods and apparatuses for adaptive dynamic voltage control for optimizing energy per operation per a given target speed |
US10205453B2 (en) | 2017-04-10 | 2019-02-12 | Eta Compute, Inc. | Self-timed processors implemented with multi-rail null convention logic and unate gates |
CN107018201B (zh) * | 2017-04-20 | 2019-12-31 | 北京中科睿芯科技有限公司 | 数据流架构中利用关键路径信息进行指令动态迁移的方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9114513D0 (en) | 1991-07-04 | 1991-08-21 | Univ Manchester | Condition detection in asynchronous pipelines |
TW226057B (zh) | 1991-12-23 | 1994-07-01 | Philips Nv | |
US5553276A (en) | 1993-06-30 | 1996-09-03 | International Business Machines Corporation | Self-time processor with dynamic clock generator having plurality of tracking elements for outputting sequencing signals to functional units |
AU8015294A (en) | 1994-10-11 | 1996-05-02 | Derek C. Wong | Digital circuits exhibiting reduced power consumption |
GB2310738B (en) | 1996-02-29 | 2000-02-16 | Advanced Risc Mach Ltd | Dynamic logic pipeline control |
JP3451579B2 (ja) | 1997-03-03 | 2003-09-29 | 日本電信電話株式会社 | 自己同期型パイプラインデータパス回路 |
US6041337A (en) | 1997-08-28 | 2000-03-21 | Unisys Corporation | Linear function generator method with counter for implementation of control signals in digital logic |
US6867620B2 (en) | 2000-04-25 | 2005-03-15 | The Trustees Of Columbia University In The City Of New York | Circuits and methods for high-capacity asynchronous pipeline |
US6850092B2 (en) * | 2000-06-09 | 2005-02-01 | The Trustees Of Columbia University | Low latency FIFO circuits for mixed asynchronous and synchronous systems |
US6590424B2 (en) | 2000-07-12 | 2003-07-08 | The Trustees Of Columbia University In The City Of New York | High-throughput asynchronous dynamic pipelines |
US7865747B2 (en) * | 2000-10-31 | 2011-01-04 | International Business Machines Corporation | Adaptive issue queue for reduced power at high performance |
US7065665B2 (en) | 2002-10-02 | 2006-06-20 | International Business Machines Corporation | Interlocked synchronous pipeline clock gating |
US7882369B1 (en) | 2002-11-14 | 2011-02-01 | Nvidia Corporation | Processor performance adjustment system and method |
US7157934B2 (en) | 2003-08-19 | 2007-01-02 | Cornell Research Foundation, Inc. | Programmable asynchronous pipeline arrays |
WO2005125012A1 (en) | 2004-06-15 | 2005-12-29 | Koninklijke Philips Electronics N.V. | Adaptive control of power supply for integrated circuits |
US20060119382A1 (en) | 2004-12-07 | 2006-06-08 | Shumarayev Sergey Y | Apparatus and methods for adjusting performance characteristics of programmable logic devices |
US8407660B2 (en) | 2007-09-12 | 2013-03-26 | Neal Solomon | Interconnect architecture in three dimensional network on a chip |
US20090116597A1 (en) * | 2007-11-06 | 2009-05-07 | Jordi Cortadella | Variability-Aware Asynchronous Scheme for High-Performance Communication Between an Asynchronous Circuit and a Synchronous Circuit |
US7817488B2 (en) * | 2007-12-20 | 2010-10-19 | Sandisk Corporation | Load balancing by using clock gears |
US8035414B2 (en) | 2008-04-11 | 2011-10-11 | Massachusetts Institute Of Technology | Asynchronous logic automata |
WO2009155370A1 (en) | 2008-06-18 | 2009-12-23 | University Of Southern California | Multi-level domino, bundled data, and mixed templates |
JP5417993B2 (ja) | 2009-06-01 | 2014-02-19 | 日本テキサス・インスツルメンツ株式会社 | アナログ−デジタル変換回路 |
WO2012008928A1 (en) | 2010-07-15 | 2012-01-19 | Nanyang Technological University | Asynchronous-logic circuit for full dynamic voltage control |
US10078620B2 (en) | 2011-05-27 | 2018-09-18 | New York University | Runtime reconfigurable dataflow processor with multi-port memory access module |
-
2013
- 2013-03-01 US US13/782,631 patent/US8836372B1/en active Active
-
2014
- 2014-01-16 WO PCT/US2014/011752 patent/WO2014133679A1/en active Application Filing
- 2014-01-20 TW TW103101956A patent/TW201443777A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US20140247088A1 (en) | 2014-09-04 |
WO2014133679A1 (en) | 2014-09-04 |
US8836372B1 (en) | 2014-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI601067B (zh) | 非同步管線結構 | |
US7994823B2 (en) | Flip-flop circuit having scan function | |
TW201443777A (zh) | 數位訊號處理裝置及數位訊號處理方法 | |
US8941409B2 (en) | Configurable storage elements | |
US7157934B2 (en) | Programmable asynchronous pipeline arrays | |
US6429689B1 (en) | Method and apparatus for controlling both active and standby power in domino circuits | |
US20130093462A1 (en) | Configurable storage elements | |
KR102571068B1 (ko) | 프로그래밍가능 제어 회로를 사용한 클록 신호들의 선택적 제공 | |
US6331793B1 (en) | Apparatus, method and system for pulse passgate topologies | |
US6392466B1 (en) | Apparatus, method and system for a controllable pulse clock delay arrangement to control functional race margins in a logic data path | |
US6329857B1 (en) | Apparatus, method and system for a logic arrangement having mutually exclusive outputs controlled by buffering cross-coupled devices | |
US6448818B1 (en) | Apparatus, method and system for a ratioed NOR logic arrangement | |
Wijeratne et al. | A 9-GHz 65-nm Intel® Pentium 4 processor integer execution unit | |
US9633157B2 (en) | Energy-efficient pipeline circuit templates for high-performance asynchronous circuits | |
US6323698B1 (en) | Apparatus, method and system for providing LVS enables together with LVS data | |
US6133758A (en) | Selectable self-timed replacement for self-resetting circuitry | |
Xia et al. | Design of high-performance asynchronous pipeline using synchronizing logic gates | |
Sirisantana et al. | Selectively clocked skewed logic (SCSL) low-power logic style for high-performance applications | |
Choi et al. | Improved clock-gating control scheme for transparent pipeline | |
Verma et al. | Multiphase pipelining in domino logic ALU | |
Devlin et al. | Energy minimum operation with self synchronous gate-level autonomous power gating and voltage scaling | |
Liljeberg et al. | Self-timed approach for noise reduction in noc reduction in noc | |
Ho et al. | A power-efficient integrated input/output completion detection circuit for asynchronous-logic quasi-delay-insensitive Pre-Charged Half-Buffer | |
Van Toan et al. | Energy-efficient and high performance 2-phase asynchronous micropipelines | |
Koo et al. | Low-overhead, one-cycle timing-error detection and correction technique for flip-flop based pipelines |