TWI506637B - 用於運用位址移位技術之部分位址選擇信號產生器的方法及裝置 - Google Patents

用於運用位址移位技術之部分位址選擇信號產生器的方法及裝置 Download PDF

Info

Publication number
TWI506637B
TWI506637B TW101142184A TW101142184A TWI506637B TW I506637 B TWI506637 B TW I506637B TW 101142184 A TW101142184 A TW 101142184A TW 101142184 A TW101142184 A TW 101142184A TW I506637 B TWI506637 B TW I506637B
Authority
TW
Taiwan
Prior art keywords
address
processing path
subset
circuit
address lines
Prior art date
Application number
TW101142184A
Other languages
English (en)
Other versions
TW201333961A (zh
Inventor
Lutz Naethke
Eric Desmarais
Ralf Goettsche
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW201333961A publication Critical patent/TW201333961A/zh
Application granted granted Critical
Publication of TWI506637B publication Critical patent/TWI506637B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0886Variable-length word access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Dram (AREA)

Description

用於運用位址移位技術之部分位址選擇信號產生器的方法及裝置 著作權聲明
本專利文件之部分揭示含有受著作權保護的部分。著作權擁有者並不反對當本專利文件或專利揭示出現於專利商標局的專利檔案或專利記錄時,由任何人傳真複製專利文件或專利揭示,但仍保有全部的著作權權利。
發明領域
此處描述主旨大致上係有關於運算領域,更明確言之,係有關於體現與運用具有位址移位之部分位址選擇信號產生器的系統及方法。
發明背景
於背景章節討論的主旨不應因其出現在背景章節的結果即假定為係屬先前技術。同理,背景章節或關聯背景章節的主旨所述之問題不應假設為先前認知為先前技術。背景章節內的主旨僅祇表示不同辦法於其中且其本身也可相對應於本案所請主旨的實施例。
運算架構要求記憶體儲存資料及指令,且通常從可用的記憶體增加而獲益。記憶體的型別變化例如從在一中央處理單元(CPU)內部可用的記憶體,至例如在一主機上透過一主幹匯流排可存取的記憶體,至在一持久性儲存裝置內部的記憶體或儲存裝置,諸如用於持久性儲存之一硬碟機或一高容量固態記憶體。
一般而言,較為接近CPU的記憶體可較快被存取。在一CPU內部的記憶體可稱作為快取記憶體,且可在不同的階層式層級存取,諸如層級1快取記憶體(L1快取記憶體)及層級2快取記憶體(L2快取記憶體)。也可利用耦接一主機板的系統記憶體,諸如記憶體模組。
CPU快取記憶體,諸如L1快取記憶體係由電腦的中央處理單元用以縮短存取記憶體的平均時間。L1快取記憶體係為較小型較快速的記憶體,其係儲存得自最頻繁使用的主記憶體位置之資料拷貝。L2快取記憶體可為較大型但存取較慢。及系統記憶體可能又更大,但比任何以CPU為基的快取記憶體存取更慢。只要大部分記憶體存取為快取記憶體位置,則比較主記憶體的延遲,記憶體存取的平均延遲將較為接近該快取延遲。
當該處理器需讀取自或寫入至在主記憶體的一位置時,處理器首先檢查是否有該資料之一拷貝係在其快取記憶體中之一者(例如L1、L2快取記憶體等),而當有資料時,該處理器即刻地讀取自或寫入至該快取記憶體,提供比較讀取自或寫入至該系統的主記憶體遠更快速的結果。
隨著在一CPU的快取記憶體內部的可用空間量之增加,快取命中的機率增高,如此,該CPU可以提升速度操作,原因在於該CPU無需被迫等候從系統的主記憶體之冗長取回時間。但隨著空間量之增加,可定址記憶體大小的增加要求更大的位址大小以處理於獨特地可定址記憶體位置的增加。
因此技藝界現況可從此處描述的用以體現與運用位址移位技術之部分位址選擇信號產生器的系統及方法。
依據本發明之一實施例,係特地提出一種電路包含接收多個位址行的一介面;接收該等多個位址行之一第一子集的一上處理路徑;平行該上處理路徑以接收該等多個位址行之一其餘子集的一下處理路徑;基於該等多個位址行之該第一子集及得自該等多個位址行之該其餘子集的一中間進位結果之一中間代碼;及針對基於該等多個位址行所產生的多個選擇行指定一解碼方案的一熱信號型別。
100、200、300、301‧‧‧架構
105、455‧‧‧代碼縮減單元
110、465‧‧‧下位元處理單元
111‧‧‧接收介面
112、410‧‧‧上處理路徑
113、415‧‧‧下處理路徑
115、460‧‧‧解碼單元
120‧‧‧「k x m」
121‧‧‧「k x n」
122‧‧‧「k x(m-n)」
123、323、399、426‧‧‧熱信號型別
124‧‧‧「i」
125、325、423‧‧‧中間代碼
126‧‧‧「j」
127‧‧‧2n 選擇行、熱信號選擇行
150A、150C‧‧‧熱信號樣板
155‧‧‧熱信號樣板選擇器
160‧‧‧熱信號修改器
165‧‧‧移位器
170A、170C‧‧‧熱信號產生器
175‧‧‧熱信號選擇器
190、195‧‧‧解碼器
205A-B‧‧‧k:2縮減器
210、310‧‧‧位元和單元
221‧‧‧n內部進位器
222‧‧‧n內部和
223‧‧‧m-n內部進位器
224‧‧‧m-n內部和
225‧‧‧(k-2)內部進位器
226‧‧‧進位入位元
227‧‧‧進位位元
230、330‧‧‧1-熱解碼單元
302、335、360‧‧‧加法器
305A‧‧‧2:2縮減器
305B‧‧‧2:2增量「x」縮減器
318‧‧‧「2x6」
319‧‧‧增量「x」
320‧‧‧「2x14」
321‧‧‧6進位
322‧‧‧6和、2x8
323‧‧‧8進位
324‧‧‧8和
326‧‧‧進位入位元「Cin
327‧‧‧選擇行26
328‧‧‧進位省去加法進位(CSA)_進位
337‧‧‧最末進位
351‧‧‧「m」
352‧‧‧2m 信號
355‧‧‧解碼器或移位器
401、402‧‧‧積體電路、電路
405‧‧‧介面
420‧‧‧多個位址行
421‧‧‧第一子集
422‧‧‧剩餘子集
424‧‧‧中間進位結果
425‧‧‧選擇行
427‧‧‧處理結果
500‧‧‧方法
505-540‧‧‧方塊
600、700、800‧‧‧系統
610、615、770、780、870、880、1010、1215‧‧‧處理器
620‧‧‧圖形記憶體控制器中樞器(GMCH)
640、732、734、832、834、1140‧‧‧記憶體
645‧‧‧顯示器
650‧‧‧輸入/輸出(I/O)控制中樞器(ICH)
660‧‧‧外部圖形裝置
670‧‧‧周邊裝置
695‧‧‧前端匯流排(FSB)
714、814‧‧‧I/O裝置
716‧‧‧第一匯流排
718‧‧‧匯流排橋接器
720‧‧‧第二匯流排
722‧‧‧鍵盤及/或滑鼠
724‧‧‧音訊I/O
727‧‧‧通訊裝置
728‧‧‧儲存單元
730‧‧‧指令/代碼及資料
738‧‧‧高效能圖形電路
739‧‧‧高效能圖形介面
750、850‧‧‧點對點互連體
752、754、852、854‧‧‧點對點(P-P)介面
772、782‧‧‧積體記憶體控制器單元(IMC)
776、778、786、788、794、798、876、878、886、888、894、 898‧‧‧點對點(P-P)介面電路
796、896‧‧‧介面
815‧‧‧舊式I/O裝置
872、882‧‧‧集積式記憶體及I/O控制邏輯(CL)
890‧‧‧晶片組
901‧‧‧平板運算裝置
902‧‧‧手持式智慧型手機
903‧‧‧觸控介面
904‧‧‧集積式處理器
1000‧‧‧方塊圖
1020‧‧‧音訊次系統
1030‧‧‧顯示器次系統
1032‧‧‧顯示介面
1040‧‧‧I/O控制器
1050‧‧‧電源管理
1060‧‧‧記憶體次系統
1070‧‧‧連結
1072‧‧‧小區式連結
1074‧‧‧無線連結
1080‧‧‧周邊連結
1082‧‧‧至
1084‧‧‧自
1110‧‧‧硬體或軟體模型
1120‧‧‧模擬軟體
1130‧‧‧儲存媒體
1150‧‧‧有線連結
1160‧‧‧無線連結
1165‧‧‧製造廠
1205‧‧‧程式
1210‧‧‧仿真邏輯
1302‧‧‧高階語言
1304‧‧‧x86編譯器
1306‧‧‧x86二進制碼
1308‧‧‧另一指令集編譯器
1310‧‧‧另一指令集二進制碼
1312‧‧‧指令轉換器
1314‧‧‧不具一x86指令集核心的一處理器
1316‧‧‧具至少一個x86指令集核心的一處理器
實施例係舉例說明但非限制性,參考後文詳細說明部分連同附圖一起考慮時將更完整地瞭解,附圖中:圖1A例示說明據此實施例可操作的架構之一實例;圖1B例示說明據此實施例可操作的一解碼器架構之一實例;圖1C例示說明據此實施例可操作的一解碼器架 構之另一實例;圖2例示說明據此實施例可操作的一架構之另一實例;圖3A例示說明據此實施例可操作的具有增量x功能之一架構之另一實例;圖3B例示說明據此實施例可操作的具有一加法器及一解碼器或移位器的一架構之一實例;圖3C例示說明據此實施例可操作的一加法器電路之一實例;圖4A例示說明據此實施例可操作的具有上及下處理路徑之一積體電路;圖4B例示說明據此實施例可操作的具有代碼縮減、解碼、及下位元處理單元之一積體電路;圖5為流程圖例示說明依據所述實施例一種用以體現與運用位址移位技術之部分位址選擇信號產生器的方法;圖6為依據一個實施例一種電腦系統之方塊圖;圖7為依據一個實施例一種電腦系統之方塊圖;圖8為依據一個實施例一種電腦系統之方塊圖;圖9闡釋依據該等實施例各自具有一電路集積於其中的一平板運算裝置及一手持式智慧型手機;圖10為平板運算裝置、智慧型手機、或其中使用觸控螢幕介面連接器之其它行動裝置之一實施例的方塊圖;圖11為依據一個實施例一種IP核心發展系統之 方塊圖;圖12例示說明依據一個實施例一種架構仿真系統;及圖13例示說明依據一個實施例一種轉譯指令之系統。
較佳實施例之詳細說明
此處描述者為體現與運用具有位址移位之部分位址選擇信號產生器的系統及方法。
舉例言之,此種手段可包括接收多個位址行;將該等多個位址行分裂成該等多個位址行之一第一子集及該等多個位址行之一剩餘子集;將該等多個位址行之該第一子集發送至一上處理路徑;將該等多個位址行之該剩餘子集發送至與該上處理路徑平行之一下處理路徑;在該上處理路徑從該等多個位址行之該第一子集及從在該下處理路徑的該等多個位址行之該剩餘子集之一中間進位結果產生中間代碼;發送一熱信號型別至在該上處理路徑上的一解碼單元,其中該熱信號型別標示一解碼方案;基於該中間代碼及該熱信號型別而產生特定熱信號選擇行代碼;及依據得自該下處理路徑的資訊而採用該熱信號選擇行的解碼方案。進一步揭示執行該方案之結構。
上行為該行的簡化,下行提供校正位元,偶爾對上行處理結果有影響。組合該加法器及解碼免除進位功能,結果導致改良的處理效率。
容後詳述,在加法與解碼間產生一中間代碼,結果導致總體計算步驟的減少。如此減少獲得電路複雜度的相對應減低,又轉而導致效能的增高與面積的節省,以及例如藉由使用選擇行切換電路的開關而許可省電方法。因此實施揭示之實施例使得任何矽積體電路設計經由更高效能的編碼器/解碼器結構及/或陣列的省電方法獲益。
雖然習知機制曾經試圖體現分開的硬體用於位址選擇行信號及亞陣列選擇器信號的產生,但此處描述之機制包括二者於一個電路方案。
於後文詳細說明部分中,陳述無數特定細節諸如特定系統、語言、組件等之實例以供徹底瞭解各個實施例。但熟諳技藝人士顯然易知無需採用此等特定細節以實施所揭示之實施例。於其它情況下,不以細節描述眾所周知的材料或方法以免不必要地遮掩所揭示之實施例。
圖1A例示說明據此可操作實施例之架構100之實例。依據所述實施例,此處闡釋之架構100許可從「k x m」120輸入產生與輸出2n 選擇行127。舉例言之,「k」表示位址數目,及「m」表示「k」位址的位元寬度。如圖所示,「k x n」121輸入代碼縮減單元105,其中「k」表示位址數目,及「n」表示「k」位址的位元寬度,及又復其中「n」係小於或等於「k x m」120的「m」。圖中更進一步闡釋「k x(m-n)」122輸入下位元處理單元110,其中「k」表示位址數目,及「m-n」表示「k x(m-n)」122之「k」位址的位元寬度。於此一實施例中,「m」與「n」位址位元的最高有效位元對齊。
位址分裂成m行及n行,如下位址位元係導向下位元處理單元110,而上位元係導向代碼縮減單元105所示。於習知解決方案中,位址並不分裂。分裂行的處理可並列地出現在上及下處理結構。舉例言之,第一計算為行數的「k」倍,原因在於輸入及輸出為行數乘以2結果導致進位及和。進位及和表示資訊的減少。因此,上處理及下處理須分享資訊,如分別地由「i」及「j」元件124及126闡釋。舉例言之,「k-2」行可通訊給上處理元件作為來自下位元處理單元110的一中間進位結果。
如圖所示,「k x m」120輸入可接收在一接收介面111且分裂成輸入的子集(例如「k x n」121及「k x(m-n)」122,其乃「k x n」121不表示的餘數)。分裂輸入121及122係分別地發送至上處理路徑112及下處理路徑113。如圖所示,上處理路徑112包括代碼縮減單元105及解碼單元115,且與具有下位元處理單元110於其上的下處理路徑113平行運算。
熱編碼支援電路的致能及去能,諸如一行或一亞區塊記憶體結構(例如快取記憶體),如此許可執行藉由減低供應電壓或電力/時鐘閘控的節電方法。舉例言之,熱信號型別(w)123係闡釋為發送至解碼單元115,其利用熱信號型別123用以解碼或選自於例如可用的2n 選擇行127,於該處「1」作為熱信號型別「w」單獨出現於選擇行或出現於由該熱信號型別123所控制的一接續群組。產生行選擇信號的功能係可經動態地組配,例如使得讀操作從一個位址但從 不同排組讀取部分資料。
於一個實施例中,利用1-熱解碼,其中表示熱信號型別123的「w」係設定為等於1。然後結構作資料挖掘以決定下一行如何,例如多少行將等於1。此外,「w」熱信號型別123可用以選擇所得選擇行的特性,如此透過該解碼單元115決定解碼該等信號的最終方案。舉例言之,若解碼單元115具有多個可用的不同演算法,然後,「w」熱信號型別123可用以決定與選擇在該解碼單元115的正確解碼方案及正確解碼機制/演算法。
於數位電路中,1-熱係指一群組位元,其中合法數值組合只有具有單一高(1)位元及全部其它低(0)位元者。舉例言之,解碼器的輸出通常為1-熱代碼,及偶爾一狀態機的狀態係以1-熱代碼表示。於替代體現中,其中全部位元皆為「1」,只有一個「0」將通稱為1-冷方案。致能熱代碼識別正確選擇行,例如表示一記憶體行致能、一抹除、或藉由避免在一給定週期中不必要的功能組件而節電。
如此,「w」熱信號型別123表示可能性的數目或字元的離散數目。舉例言之,可利用多個字元,或藉「w」至2的次冪可針對行的全部組合載明一獨特字元。舉例言之,使用「w」熱信號型別123,解碼單元115能夠致能一個記憶體行或致能二記憶體行,載明8-位元整數資料型別或16-位元資料型別,或指示要求32位元及其類。
藉由只選擇要求行而否定不要求的該等行,可致能節電能力。舉例言之,若在可用的16行中只要求8行,則 將只致能8行而非可用的16行,結果導致當只要求一個子集時,藉由不發出整個16位元寬的記憶體路徑而導致節電。
又復,藉由致能只要求更多行可能造成問題。舉例言之,若資訊係展布橫跨非連續記憶體區,則變成需要讀取來自不同區的部分。藉由使用「w」熱信號型別123而界定正確的字元,該等取回操作可經組配來例如只致能從一第一位置記憶體取回一下部,然後讀取出適當資訊,及然後前進至一分開記憶體區域,活化與讀取一較短的區,及遮蔽其餘部分為「0」,因而避免讀取的污染。
如此,此種方案提供比較使用習知技術所能達成的更高程度的粒度。舉例言之,快取行具有相對應於整個快取行的某個粒度。但若不需要整個快取行,則當運用習知技術時該快取行的其餘部分浪費掉。
透過「w」熱信號型別123的使用,一個字元可指示例如一快取行的全部,或該快取行的部分,如此許可大於所需快取行部分分解成多個部分。舉例言之,第一單元可只使用512位元快取行中的64位元而不使用其餘部分。不增高粒度,其餘部分被浪費掉。此外,該單元可儲存32位元在一個快取行,及儲存32位元在另一快取行等,因而在512位元快取行中造成甚至更多額外負擔與浪費。由於「w」熱信號型別123許可載明一個字元,故快取行可分解成子部分,使得取回該大型快取行的適當部分,而其餘部分可由另一個單元或操作運用,不會造成第一單元的資料污染。
例如取一個需要相加的位址,其中該位址為16 位元。但只有位元8至16表示需要解碼的一個指數。位元8至16將取作為「n」且在上處理電路處理,而其餘部分將進入下位元處理。下位元對上位元處理有影響,視需要可透過「i」位元124或「j」位元126,從下路徑電路(例如在下處理路徑113上的下位元處理單元110)通訊至上路徑電路(例如「i」124可通訊至在上處理路徑112上的代碼縮減單元105,而表示下路徑的處理結果之「j」位元126可通訊至在上處理路徑112上的解碼單元115)。
「k x m」位址用以計算熱信號群組的起始選擇行。由於加法與解碼的組合,特定內部結構許可效能改良與節電。加法與解碼的組合省去了在加法器內部用於進位傳播的進位樹,歸因於中間代碼125且歸因於解碼單元115的特定解碼方案,已經不再需要進位樹。
代碼縮減單元105從「k x n」121位址位元中算出中間代碼125。用於該項計算,代碼縮減單元105要求「i」位元124作為來自於下位元處理單元110(例如內部進位器)的結果。當一進位輸入位元(例如「Cin 」輸入)提供作為輸入下位元處理單元110的輸入時,可從下位元處理單元110通訊至代碼縮減單元105作為「i」124。
中間代碼125乃在表示或相對應於該熱信號群組的起始選擇行之一特定代碼中的「k x n」121位址位元和。
解碼單元115(例如解碼電路)取得自下位元處理單元110的結果的中間代碼125及「j」位元126用以產生選擇行127。考慮下位元結果,「j」位元126用以決定最末起 始選擇行。
控制代碼縮減的下位元的性質信號,諸如信號「i」124及解碼輸入信號「j」,提供優於習知機制的獨特改良,將要求有關與上位元處理並列的下位元處理結果,提供資訊給上處理的針對此等位址的二週期處理。
取決於熱信號型別123,一行或一群組行被設定為「1」。下位元處理單元110使用最低有效「k x(m-n)」122位址位元以針對另二電路亦即代碼縮減單元105及解碼單元115取回全部所需資訊。
圖1B例示說明依據可操作的實施例一種解碼器190之一架構101實例。於此第一實例中,熱信號型別123係闡明為解碼器190的輸入。中間代碼125及「j」位元126係額外闡明為解碼器190的輸入。但解碼器190的額外內部細節現在係闡明為依據一個實施例一種解碼電路的額外體現結構。如圖所示,由元件150A及150C表示的熱信號樣板1至n各自獲得2n 信號,其輸入熱信號樣板選擇器155。熱信號樣板150A至150C中之一者將藉輸入熱信號選擇器155的w「熱信號型別」123選擇行而擇定。取決於輸入熱信號修改器160的中間代碼125,所擇定的樣板將被修改。下「j」位元126的影響被視為移位器165的輸入,其中該熱信號選擇行127的內容係據此而移位。
圖1C例示說明據此實施例可操作的一解碼器195的架構102之另一實例。於本第二實例中,熱信號型別123係闡釋為解碼器195的輸入。中間代碼125及「j」位元 126係額外闡明為解碼器195的輸入。但解碼器195的額外內部細節係闡明為依據一個實施例一種解碼電路的額外體現結構。如圖所示,由元件170A及170C表示的熱信號產生器1至n各自獲得2n 信號,其輸入熱信號選擇器175。取決於中間代碼125,將產生不同的熱信號樣式。此等不同的熱信號樣式包括圖1B中於解碼器190的第一實例中討論的樣板結構及修改。接收「w」熱信號型別123選擇行,熱信號樣式中之一者將藉熱信號選擇器175選出,及隨後在移位器165依據下位元計算的「j」位元126行而移位。
圖2例示說明據此實施例可操作的一架構200的替代實例。更明確言之,闡釋更特定實施例其中先前闡釋的代碼縮減單元105現在係以k:2縮減器205A或k:2縮減電路表示。k:2縮減器205A接著為一位元和單元210。
依據一個實施例,k:2縮減器205A係透過一省去進位加法器體現。k:2縮減器205A計算「k x n」121位址位元中的n內部進位器221及n內部和222。n內部進位器221及n內部和222輸入位元和單元210,其產生中間代碼125。
下位元處理係闡釋為透過第二k:2縮減器205B,其轉而計算m-n內部進位器223及m-n內部和224。k:2縮減器205B進一步從在k:2縮減器205B的下位元處理的下位元「k x(m-n)」122計算(k-2)內部進位器225。
依據一個實施例,位元和單元210產生以逐一位元而在n內部進位器221及n內部和222上運算的一中間代碼125。
先前闡釋的解碼單元係以1-熱解碼單元230置換,設定單一選擇行為「1」。1-熱解碼單元230的輸入為中間代碼125,及此外,從下位元處理透過第二k:2縮減器205B針對下位元「k x(m-n)」122所得的加法器235之進位位元227,接著為加法器235。下位元處理k:2縮減器205B係類似透過k:2縮減器205A的代碼縮減功能,但下位元處理k:2縮減器205B只獲得該等位址的「k x(m-n)」122下位元。加法器235只計算欲輸入1-熱解碼單元230的最末進位位元227。
進一步闡釋者為提供作為在k:2縮減器205B的下位元處理之進位入位元「Cin 」226。舉例言之,給定兩個位址,若進位入位元226係設定為1且提供作為k:2縮減器205B的輸入,則該位址係設定為負,如此,替代相加,第二數目可從第一數目扣除。如此,可進行符號敏感計算。舉例言之,可提供一基本位址,及然後提供一偏移值,及使用輸入k:2縮減器205B的進位入位元226,負偏移值可表示從該給定位址的向後一階作為負偏移值,而非使用該偏移值的向前一階。
圖3A例示說明據此實施例可操作的具有增量x功能之架構300的另一個實例。
更明確言之,基於兩個位址結合特定位址位元的增量功能,闡釋選擇行的產生。
於本實施例中,代碼縮減係以2:2縮減器305A接著位元和單元310表示。2:2縮減器305A的輸入為在元件318表示為「2x6」二位址中的較高6位元。「2x6」318輸入係從 較大型輸入的「2x14」320輸入推衍,其中針對2:2縮減器305A的輸入取「2x6」318,獲得剩餘「2x8」322輸入用於下處理,被導向2:2增量「x」縮減器305B。
CSA_進位328係從2:2增量「x」縮減器305B通訊至2:2縮減器305A。依據此一實施例,2:2縮減器305A的6進位321及6和322係輸入位元和單元310用以產生由12行所組成的中間代碼325。
解碼再度由該1-熱解碼單元330所置換,其接收中間代碼325的20行作為輸入,及此外,取加法器335計算為下8進位323及下8和324的結果的最末進位337作為輸入。熱信號型別323係發送入1-熱解碼單元330,具有數值「1」用於解碼。1-熱解碼單元330產生「1」作為最末選擇行,闡釋為選擇行26 327。
下位元處理包括所闡釋的2:2增量「x」縮減器305B,其接收增量「x」319作為增量「x」功能及加法器335的輸入。2:2增量「x」縮減器接收二位址的下八個位元,闡釋為「2x8」322,及額外地接收增量「x」319。
增量「x」319中的「x」表示2的次冪的數目。增量「x」319係類似一位址含有「x」作為一數字,其中設定為1之值使得x值欲藉進位省去加法而加至該等二位址的加法器結果。在進位省去加法期間最高位址位元的進位將發送給2:2縮減器305A作為進位省去加法進位或「CSA_進位」328。加法器335計算該等8進位323及該等8和324的最末進位337,且輸出該最末進位337,欲由該1-熱解碼單元330接 收作為輸入。使用該增量「x」功能,最終可能作選擇行的簡化計算。由於輸入被減成一行,邏輯胞元運算更快,許可更快的計算。
當期望的結果乃例如對在該快取行的下個槽向前或向後可預測的一階時,可能期望繞過該位址計算及解碼運算。如此,增量「x」功能許可簡單加法或移位運算,藉由單純地相加增量「x」319而無需重新計算下個位址。舉例言之,增量「x」功能可用以設定增量「x」319成為+2之值以取回2之增量,或可用以設定其它增量值,諸如每隔4、6、8個位置等。藉由無需發出運算成分的一個子集,增量「x」功能的使用減低功耗。當該值為1時,位址係縮減成只有一行,表示2之「x」次冪之值。因該值為1,故可作為常數處理,然後可用以移動在末端的該選擇行的字元達某個值,諸如移位或加一給定值,而無需執行完整計算與解碼操作。
進位入位元「Cin 」326係選擇性地提供作為例如在2:2縮減器305B處理的下位元之輸入以指示或觸發反向操作,諸如減法或負偏移值,而非加法或正偏移值。
圖3B例示說明據此實施例可操作的具有一加法器及一解碼器或移位器的架構301之實例。更明確言之,闡釋加法器360及解碼器或移位器355,其可用以使用已經求出的位址而執行更加運算有效的移位或偏移步驟。
舉例言之,取先前計算的位址,解碼器或移位器355可從該位址產生一組熱信號。如圖所示,取「m」351 作為輸入及取Cin 326作為加法器360的輸入,信號「m」351傳送至解碼器或移位器355,其又轉而輸出2m 信號352。並行於加法器360的加法,依據已經產生的熱信號型別,解碼器或移位器355獲得一熱信號遮罩,該遮罩係取決於加法器360的結果「m」351而移位。熱信號型別(w)399係闡釋為發送至解碼器或移位器355,其利用熱信號型別399用以從可用的2m 信號352中作解碼或選擇。
圖3C例示說明據此實施例可操作的加法器電路302之實例。更明確言之,除了Cin 之外,加法器302接收A及B作為輸入。加法器302輸出Cout 及S。
加法器302相加二進制值,計數進位入(例如Cin 以及進位出(例如Cout )之值。1-位元完整加法器將三個1-位元數字A、B、及Cin 相加。A及B為運算元,及Cin 為進位入位元(例如來自先前加法)。此種1-位元電路產生2-位元輸出和,此處以信號Cout 及S表示,其中「S」表示和。
此種1-位元加法器302的真值表係列舉於下表1:
圖4A例示說明據此實施例可操作的具有上及下處理路徑之積體電路401。舉例言之,於一個實施例中,電路401包括一介面405以接收多個位址行420;一上處理路徑410以接收多個位址行420之一第一子集421;一下處理路徑415以接收多個位址行420之一剩餘子集422,其中該下處理路徑415係平行該上處理路徑410;基於該等多個位址行420之該第一子集421及得自該等多個位址行420之該剩餘子集422之一中間進位結果424之一中間代碼423;及一熱信號型別426以針對基於該等多個位址行420所產生的多個選擇行425而指定一解碼方案。
於一個實施例中,在該等多個選擇行425中之一最末起始選擇行係基於針對下處理路徑415上的該等多個位址行之剩餘子集422的一處理結果427決定。
圖4B例示說明據此實施例可操作的具有代碼縮減、解碼、及下位元處理單元之一積體電路402。於一個實施例中,一積體電路402包括一介面405以接收多個位址行420;形成一上處理路徑410的一代碼縮減單元455及一解碼單元460;及形成平行於上處理路徑410的一下處理路徑415的一下位元處理單元465。於此一實施例中,代碼縮減單元455係基於多個位址行420之一第一子集421,及進一步基於從該等多個位址行420之該剩餘子集422求出的下位元處理單元465之一中間進位結果424而計算一中間代碼423。於此一實施例中,解碼單元460基於得自該代碼縮減單元455的該中間代碼423及進一步基於指定一解碼方案之一熱信號 型別426而產生多個選擇行425。
於一個實施例中,下位元處理單元465進一步在該下處理路徑415上針對該等多個位址行420之該剩餘子集422,通訊一處理結果427給該解碼單元460,及該解碼單元460基於得自該下處理路徑415的該處理結果427而從該等多個選擇行425中決定一最末起始選擇行。
圖5為流程圖500例示說明在一電路、積體電路、處理器、矽積體電路等內部之方法。方法500陳述依據所述實施例體現及使用具有位址移位之一部分位址選擇信號產生器的功能。方法500可藉處理邏輯執行,可包括硬體(例如電路、專用邏輯、可規劃邏輯、微碼等)。所呈示的方塊號碼係為求清晰而非意圖規定各個方塊必須出現的操作順序。
方法500始於接收多個位址行的處理邏輯(方塊505)。
於方塊510,處理邏輯將該等多個位址行分裂成該等多個位址行之一第一子集及該等多個位址行之一其餘子集。
於方塊515,處理邏輯發送該等多個位址行之該第一子集至一上處理路徑。
於方塊520,處理邏輯發送該等多個位址行之該其餘子集至與該上處理路徑平行之一下處理路徑。
於方塊525,處理邏輯在該上處理路徑112上從該等多個位址行之該第一子集及在該下處理路徑113上從該 等多個位址行之該其餘子集所得的一中間進位結果產生中間代碼。
於方塊530,處理邏輯在該上處理路徑112上發送一熱信號型別給一解碼單元。
於方塊535,處理邏輯基於該中間代碼及該熱信號型別產生特定熱信號選擇行代碼。
於方塊540,處理邏輯依據得自下處理路徑的資訊而採用該熱信號選擇行之解碼方案。
現在參考圖6,顯示依據本發明之一個實施例系統600之方塊圖。系統600可包括一或多個處理器610、615,耦接至圖形記憶體控制器中樞器(GMCH)620。額外處理器615的選擇性本質係於圖6以虛線標示。
各個處理器610、615可為前述電路、積體電路、處理器、及/或矽積體電路的某個版本。但須注意積體圖形邏輯與積體記憶體控制單元不可能存在於處理器610、615。圖6例示說明GMCH 620可耦接至記憶體640,例如可為動態隨機存取記憶體(DRAM)。針對至少一個實施例,DRAM可與非依電性快取記憶體相聯結。
GMCH 620可為晶片組或為晶片組的一部分。GMCH 620可與處理器610、615通訊,且控制處理器610、615與記憶體640間的互動。GMCH 620也可用作為處理器610、615與系統600的其它元件間的加速匯流排介面。於至少一個實施例中,GMCH 620透過一多插匯流排,諸如前端匯流排(FSB)695而與處理器610、615通訊。
又復,GMCH 620係耦接至一(諸如平板或觸控螢幕顯示器)。GMCH 620可包括一積體圖形加速度計。GMCH 620進一步耦接至一輸入/輸出(I/O)控制中樞器(ICH)650,其可用以耦接多個周邊裝置至系統600。例如於圖6之實施例中顯示一外部圖形裝置660,連同另一個周邊裝置670可為耦接至ICH 650的分立圖形裝置。
另外,額外的或不同的處理器也可存在於系統600。舉例言之,額外處理器615可包括與處理器610相同的額外處理器、與處理器610異質的或不對稱的額外處理器、加速度計(例如圖形加速度計或數位信號處理(DSP)單元)、可現場程式規劃閘陣列、或任何其它處理器。就一範圍的優劣量表包括架構、微架構、熱、功耗特性等而言,實體資源610、615間有多項差異。此等差異可有交地表現本身為處理器610、615間的不對稱性及異質性。於至少一個實施例中,多個處理器610、615可駐在同一個晶粒封裝體。
現在參考圖7,顯示依據本發明之一實施例第二系統700之一方塊圖。如圖7所示,微處理器系統700為點對點互連體系統,包括透過點對點互連體750而耦接的第一處理器770及第二處理器780。如同處理器610、615中之一或多者,處理器770及780各自可為處理器500的某個版本。
雖然只顯示兩個處理器770、780,但須瞭解本發明之範圍並非囿限於此。於其它實施例中,一給定處理器內可存在有一或多個額外處理器。
處理器770及780係顯示為分別地包括積體記憶 體控制器單元(IMC)772及782。處理器770也包括點對點(P-P)介面776及778作為其匯流排控制器單元的一部分;同理,第二處理器780包括P-P介面786及788。處理器770、780可使用P-P介面電路778及788透過點對點(P-P)介面750交換資訊。如圖7所示,IMC 772及782耦接該等處理器至個別記憶體,亦即記憶體732及記憶體734,可為本地附接至個別處理器的主記憶體的一部分。
處理器770、780可使用點對點介面電路776、794、786、798透過點對點(P-P)介面752、754而各自與一晶片組790交換資訊。晶片組790也可透過一高效能圖形介面739而與高效能圖形電路738交換資訊。
一共享快取記憶體(圖中未顯示)可含括於任一處理器內或二處理器外部,而仍然透過P-P互連體與處理器連結,使得當一處理器被置於低功率模式時,任一處理器的或二處理器的本地快取記憶體資訊可被儲存於該共享快取記憶體。
晶片組790可透過一介面796而耦接至一第一匯流排716。於一個實施例中,第一匯流排716可為周邊組件互連體(PCI)匯流排,或諸如PCI快速匯流排或其它第三代I/O互連體匯流排之一匯流排,但本發明之範圍並非受如此所限。
如圖7所示,多個I/O裝置714可連同一匯流排橋接器718而耦接至第一匯流排716,該匯流排橋接器718係耦接第一匯流排716至第二匯流排720。於一個實施例中,第 二匯流排720可為低接腳數目(LPC)匯流排。於一個實施例中,多個裝置可耦接至第二匯流排720,包括例如鍵盤及/或滑鼠722、通訊裝置727及儲存單元728,諸如磁碟機或其它大容量儲存裝置,可包括指令/代碼及資料730。又復,音訊I/O 724可耦接至第二匯流排720。注意其它架構係屬可能。舉例言之,替代圖7之點對點架構,一系統可體現多插匯流排或其它此種架構。
現在參考圖8,顯示依據本發明之一實施例第二系統800之一方塊圖。圖8例示說明處理器870、880分別地可包括集積式記憶體及I/O控制邏輯(「CL」)872及882且分別地透過在點對點(P-P)介面878及888間的點對點互連體850而彼此交互通訊。處理器870、880各自係透過如圖所示通過個別P-P介面876對894及886對898的點對點互連體852及854通訊。於至少一個實施例中,CL 872、882包括集積式記憶體控制器單元。CL 872、882可包括I/O控制邏輯。如圖所示,記憶體832、834耦接至CL 872、882,及I/O裝置814也耦接至控制邏輯872、882。舊式I/O裝置815係透過介面896而耦接至晶片組890。
圖9闡釋如依據實施例描述的各自具有電路整合於其中的平板運算裝置901及手持式智慧型手機902。如圖所示,平板運算裝置901及手持式智慧型手機902各自包括依據所揭示實施例的觸控介面903及集積式處理器904。
舉例言之,於一個實施例中,一個系統具體實施一平板或一智慧型手機,其中該系統之一顯示單元包括該 平板或該智慧型手機之一觸控螢幕介面,及進一步其中記憶體及處理器係集積於該平板或該智慧型手機內部,其中該集積式處理器體現此處描述的用以體現與使用具有位址移位的部分位址選擇信號產生器的實施例中之一或多者。於一個實施例中,該平板或該智慧型手機之該集積式處理器乃用於一平板運算裝置或一智慧型手機作為一中央處理單元的集積式矽處理器功能。
圖10為其中使用觸控螢幕介面連接器的平板運算裝置、智慧型手機或其它行動裝置之一實施例的方塊圖1000。處理器1010執行主要處理操作。音訊次系統1020表示與提供音訊功能給運算裝置相聯結的硬體(例如音訊硬體及音訊電路)及軟體(例如驅動裝置、編解碼器)組件。於一個實施例中,使用者藉提供音訊指令由處理器1010所接收與處理而與平板運算裝置或智慧型手機互動。
顯示器次系統1030表示提供視覺及/或具體有形顯示給使用者而與平板運算裝置或智慧型手機互動的硬體(例如顯示裝置)及軟體(例如驅動裝置)組件。顯示器次系統1030包括顯示介面1032,其包括用以提供顯示給使用者的特定螢幕或硬體裝置。於一個實施例中,顯示器次系統1030包括一觸控螢幕裝置,其提供輸出及輸入給使用者。
I/O控制器1040代表與一使用者互動的硬體裝置及軟體組件。I/O控制器1040可操作以管理屬於音訊次系統1020及/或顯示器次系統1030的一部分之硬體。此外,I/O控制器1040例示說明連結至平板運算裝置或智慧型手機的額 外裝置的一連結點,使用者可透過此連結點而互動。於一個實施例中,I/O控制器1040管理裝置,諸如加速度計、相機、光感測器或其它環境感測器,或可含括於平板運算裝置或智慧型手機的其它硬體。該輸入可為直接使用者互動的一部分,以及提供環境輸入給平板運算裝置或智慧型手機。
於一個實施例中,平板運算裝置或智慧型手機包括電源管理1050,其管理電池的電力使用、電池的充電、及節電操作相關的特徵。記憶體次系統1060包括用以儲存資訊於平板運算裝置或智慧型手機的記憶體裝置。連結1070包括硬體裝置(例如無線及/或有線連接器及通訊硬體)及軟體組件(例如驅動程式、協定堆疊)至該平板運算裝置或智慧型手機以與外部裝置通訊。小區式連結1072可包括例如無線載波諸如全球行動通訊系統(GSM)、劃碼多向接取(CDMA)、分時多向接取(TDMA)或其它小區式服務標準。無線連結1074可包括例如非小區式活動,諸如個人區域網路(例如藍牙)、區域網路(例如WiFi)、及/或廣域網路(例如WiMax)、或其它無線通訊。
周邊連結1080包括硬體介面及連接器,以及軟體組件(例如驅動程式、協定堆疊)以使得周邊連結作為至其它運算裝置的周邊裝置(「至」1082),以及具有周邊裝置(「自」1084)連結至平板運算裝置或智慧型手機,包括例如「對接」連接器以連結其它運算裝置。周邊連結1080包括常見的或以標準為基礎的連接器,諸如通用串列匯流排(USB)連接器、顯示器埠包括多顯示器埠(MDP)、高畫質多媒體介面 (HDMI)、火線(Firewire)等。
圖11顯示一方塊圖例示說明依據一個實施例IP核心的發展。儲存媒體1130包括模擬軟體1120及/或硬體或軟體模型1110。於一個實施例中,代表IP核心設計的資料可透過記憶體1140(例如硬碟)、有線連結(例如網際網路)或無線連結1160供給儲存媒體1130。然後由模擬工具及模型產生的IP核心資訊可傳輸給一製造工廠1165,於該處可由第三方製造以執行依據至少一個實施例的至少一個指令。
於若干實施例中,一或多個指令可相對應於第一型別或架構(例如x86)且可在不同型別或架構(例如ARM)的一處理器上轉譯或仿真。因此,依據一個實施例,一指令可在任何處理器或處理器型別上執行,包括ARM、x86、MIPS、GPU或其它處理器型別或架構。
圖12例示說明依據一個實施例,一第一型別的指令如何藉一不同型別的處理器仿真。於圖12中,依據一個實施例,程式1205含有可執行與一指令相同或實質上相同功能的某些功能。但程式1205的功能可為與處理器1215不同的或不可相容的型別及/或格式,表示在程式1205內的該型指令可能無法藉處理器1215本機執行。但藉仿真邏輯1210之助,程式1205的指令被轉譯成可藉處理器1215本機執行的指令。於一個實施例中,仿真邏輯係在硬體具體實施。於另一個實施例中,仿真邏輯係在一具體有形的機器可讀取媒體具體實施,該媒體含有軟體以將程式1205中的該型指令轉譯成可藉處理器1215本機執行的指令型別。於 其它實施例中,仿真邏輯為固定功能或可規劃硬體與儲存在一具體有形的機器可讀取媒體上的一程式的組合。於一個實施例中,該處理器含有仿真邏輯,而於其它實施例中,仿真邏輯存在於處理器外部且由第三方提供。於一個實施例中,處理器能夠藉執行含在或聯結該處理器的微碼或韌體而載入仿真邏輯在一含有軟體的一具體有形的機器可讀取媒體上具體實施。
圖13為依據本發明之實施例之一方塊圖對比一軟體指令轉換器之用以轉換於一來源指令集中的二進制指令與於一目標指令集中的二進制指令。於該具體實施例中,該指令轉換器為一軟體指令轉換器,但另外,指令解碼器可於軟體、韌體、硬體或其各項組合體現。圖13顯示於高階語言1302的一程式可使用x86編譯器1304編譯以產生x86二進制碼1306,可藉具至少一個x86指令集核心的一處理器1316本機執行。具至少一個x86指令集核心的該處理器1316表示藉相容式執行或以其它方式處理(1)英特爾x86指令集核心的該指令集之一相當大部分或(2)靶定以在具至少一個x86指令集核心的一英特爾處理器跑的應用程式或其它軟體之目標碼版本而執行與具至少一個x86指令集核心的一英特爾處理器實質上相同功能以達成與具至少一個x86指令集核心的一英特爾處理器實質上相同結果。x86編譯器1304表示可操作而產生x86二進制碼1306(例如目標碼)的一編碼器,該等x86二進制碼1306有或無額外鏈結處理可在具至少一個x86指令集核心的該處理器1316上執行。同 理,圖13顯示於高階語言1302的該程式可使用另一指令集編譯器1308編譯以產生另一指令集二進制碼1310,可藉不具至少一個x86指令集核心的一處理器1314本機執行(例如具有執行加州昇陽谷的MIPS技術公司之MIPS指令集及/或執行加州昇陽谷的ARM控股公司的ARM指令集之核心的一處理器)。指令轉換器1312係用以將x86二進制碼1306轉換成可由不具一x86指令集核心的該處理器1314本機執行的代碼。此種轉換碼不可能與另一指令集二進制碼1310相同,原因在於難以製造可達成此項目的的一指令轉換器;但轉換碼將達成一般操作且係由得自該另一指令集的指令組成。如此,指令轉換器1312表示軟體、韌體、硬體或其組合其透過仿真、模擬或任何其它處理許可不具至少一個x86指令集處理器或核心的一處理器或其它電子裝置執行該x86二進制碼1306。
雖然已經藉由舉例說明且以特定實施例描述此處揭示之主旨,但須瞭解本案所請實施例並非囿限於明確闡釋的所揭示之實施例。相反地,揭示內容意圖涵蓋熟諳技藝人士顯然易知之各項修改及相似的配置。因此,隨附之申請專利範圍之範疇須據此作最廣義解譯以涵蓋全部此等修改及相似的配置。須瞭解前文詳細說明部分意圖為說明性而非限制性。熟諳技藝人士當研讀與瞭解前述詳細說明部分時,許多其它實施例將顯然易明。因此所揭示之主旨之範圍須參照隨附之申請專利範圍連同此等申請專利範圍各項所應有的完整相當範圍決定。
100‧‧‧架構
105‧‧‧代碼縮減單元
110‧‧‧下位元處理單元
111‧‧‧接收介面
112‧‧‧上處理路徑
113‧‧‧下處理路徑
115‧‧‧解碼單元
120‧‧‧「k x m」
121‧‧‧「k x n」
122‧‧‧「k x(m-n)」
123‧‧‧熱信號型別
124‧‧‧「i」位元
125‧‧‧中間代碼
126‧‧‧「j」位元
127‧‧‧2n 選擇行

Claims (22)

  1. 一種電路,其係包含:接收多個位址行的一介面;接收該等多個位址行之一第一子集的一上處理路徑;平行該上處理路徑以接收該等多個位址行之一其餘子集的一下處理路徑;基於該等多個位址行之該第一子集及得自該等多個位址行之該其餘子集的一中間進位結果之一中間代碼;及針對基於該等多個位址行所產生的多個選擇行指定一解碼方案的一熱信號型別。
  2. 如申請專利範圍第1項之電路:其中該電路之增量x功能係在該下處理路徑接收一增量x值,其中該增量x係使得該電路移位該等多個位址行中之一者;及其中該等其餘多個位址行係設定為一值零。
  3. 如申請專利範圍第1項之電路,其中用以接收該等多個位址行之該第一子集的該上處理路徑係包含一代碼縮減單元以計算該中間代碼。
  4. 如申請專利範圍第3項之電路,其中該代碼縮減單元計算該中間代碼係包含基於該等多個位址行之該第一子集之一和及進一步基於得自該等多個位址行之該其餘 子集的該中間進位結果而計算該中間代碼。
  5. 如申請專利範圍第3項之電路,其中該下處理路徑係包含平行該代碼縮減單元之一下位元處理單元,其中該下位元處理單元係通訊該中間進位結果給該代碼縮減單元以計算該中間代碼。
  6. 如申請專利範圍第3項之電路,其中該上處理路徑係進一步包含一解碼單元,用以接收該中間代碼及基於由該熱信號型別所指定的該解碼方案來產生該等多個選擇行。
  7. 如申請專利範圍第6項之電路,其中該解碼單元係進一步基於在該下處理路徑上針對該等多個位址行之該其餘子集的處理之一結果而決定該等多個選擇行中之一最末起始選擇行。
  8. 如申請專利範圍第1項之電路,其中接收該等多個位址行的該介面係包含接收「k x m」位址行的電路,其中「k」表示位址之數目及「m」表示該「k」位址之位元寬度;及其中接收該等多個位址行之該第一子集的該上處理路徑係包含在一代碼縮減單元接收「k x n」位址行的該上處理路徑,其中「k」表示位址之數目及進一步其中「n」表示該「k」位址之位元寬度,其中「n」係小於或等於在該介面接收的該「k x m」位址行中之「m」。
  9. 如申請專利範圍第8項之電路,其中平行該上處理路徑以接收該等多個位址行之該其餘子集的該下處理路徑 係包含在一下位元處理單元接收「k x(m-n)」位址行之該下處理路徑,其中「k」表示位址之數目及「m-n」表示「k x(m-n)」中之該「k」位址之位元寬度。
  10. 如申請專利範圍第9項之電路,其中「m」及「n」各自之一最高有效位元係為對齊。
  11. 如申請專利範圍第1項之電路,其中該等多個位址行之該第一子集與該等多個位址行之該其餘子集係不相重疊。
  12. 如申請專利範圍第1項之電路,其中該電路係於一積體矽處理器中具體實施。
  13. 如申請專利範圍第12項之電路,其中該積體矽處理器係包含用於一平板運算裝置或一智慧型手機中之一者的一中央處理單元。
  14. 如申請專利範圍第1項之電路,其中該上處理路徑係包含接收該等多個位址行之該第一子集的一縮減器;其中該縮減器係從該等多個位址行之該第一子集計算多個進位及多個和;及其中該縮減器係通訊該等多個進位及該等多個和給在該上處理路徑上的一位元和單元,其係應答地產生該中間代碼。
  15. 如申請專利範圍第1項之電路,其中該上處理路徑係包含一1-熱解碼單元,其係用以接收針對該等多個選擇行指定該解碼方案之該熱信號型別,及係進一步接收該中 間代碼,及其中該1-熱解碼單元係產生該等多個選擇行。
  16. 如申請專利範圍第1項之電路,其中針對該等多個選擇行指定該解碼方案之該熱信號型別係包含指定下列中之一者的該熱信號型別:作動產生該等多個選擇行之一子集;作動一讀取操作以從一個位址但從不同排組讀取資料之部分;基於設定為「1」之一值的該等多個選擇行之數量而作動一解碼演算法;及作動一快取行之一部分,其中該快取行之該部分係小於該快取行之該長度。
  17. 一種積體電路,其係包含:接收多個位址行的一介面;形成一上處理路徑之一代碼縮減單元及一解碼單元;形成平行該上處理路徑之一下處理路徑的一下位元處理單元;其中該代碼縮減單元係基於該等多個位址行之一第一子集及進一步基於得自該下位元處理單元從該等多個位址行之該其餘子集計算所得的一中間進位結果而計算一中間代碼;及其中該解碼單元係基於得自該代碼縮減單元之該中間代碼及進一步基於指定一解碼方案之一熱信號型 別而產生多個選擇行。
  18. 如申請專利範圍第17項之積體電路,其中該下位元處理單元係進一步通訊在該下處理路徑上針對該等多個位址行之該其餘子集處理之一結果給該解碼單元;及其中該解碼單元係進一步基於該處理結果而決定該等多個選擇行中之一最末起始選擇行。
  19. 一種於一積體電路中之方法,其係包含:接收多個位址行;將該等多個位址行分裂成該等多個位址行之一第一子集及該等多個位址行之一其餘子集;發送該等多個位址行之該第一子集至一上處理路徑;發送該等多個位址行之該其餘子集至與該上處理路徑平行之一下處理路徑;在該上處理路徑上從該等多個位址行之該第一子集及在該下處理路徑上從該等多個位址行之該其餘子集所得的一中間進位結果產生中間代碼;在該上處理路徑上發送一熱信號型別給一解碼單元,其中該熱信號型別指定一解碼方案;及基於該中間代碼及該解碼方案產生多個選擇行。
  20. 如申請專利範圍第19項之方法,其係進一步包含:藉由依據該解碼方案,作動少於該等多個選擇行之全部而起始一節電操作。
  21. 一種電腦系統,其係包含:一顯示單元;一記憶體;及一處理器,其中該處理器係包含接收多個位址行的一介面;接收該等多個位址行之一第一子集的一上處理路徑;平行該上處理路徑以接收該等多個位址行之一其餘子集的一下處理路徑;基於該等多個位址行之該第一子集及得自該等多個位址行之該其餘子集的一中間進位結果之一中間代碼;及針對基於該等多個位址行所產生的多個選擇行指定一解碼方案的一熱信號型別。
  22. 如申請專利範圍第21項之電腦系統:其中該電腦系統係具體實施一平板或一智慧型手機;其中該顯示單元係包含該平板或該智慧型手機之一觸控螢幕介面;及其中該記憶體及該處理器係集積於該平板或智慧型手機內部。
TW101142184A 2011-12-21 2012-11-13 用於運用位址移位技術之部分位址選擇信號產生器的方法及裝置 TWI506637B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/066660 WO2013095471A1 (en) 2011-12-21 2011-12-21 Method and apparatus for a partial-address select-signal generator with address shift

Publications (2)

Publication Number Publication Date
TW201333961A TW201333961A (zh) 2013-08-16
TWI506637B true TWI506637B (zh) 2015-11-01

Family

ID=48669118

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101142184A TWI506637B (zh) 2011-12-21 2012-11-13 用於運用位址移位技術之部分位址選擇信號產生器的方法及裝置

Country Status (3)

Country Link
US (1) US9411724B2 (zh)
TW (1) TWI506637B (zh)
WO (1) WO2013095471A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9645790B2 (en) * 2014-11-11 2017-05-09 Cavium, Inc. Adder decoder
CN112053712B (zh) * 2019-06-06 2024-05-10 意法半导体国际有限公司 具有集成偏差元件的存储器内计算阵列

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4773003A (en) * 1985-10-17 1988-09-20 Technology 80, Inc. Apparatus for monitoring and analyzing large data blocks on a computer channel
US6081883A (en) * 1997-12-05 2000-06-27 Auspex Systems, Incorporated Processing system with dynamically allocatable buffer memory
US20060132822A1 (en) * 2004-05-27 2006-06-22 Silverbrook Research Pty Ltd Storage of program code in arbitrary locations in memory
US20070124532A1 (en) * 2005-04-21 2007-05-31 Bennett Jon C Interconnection system
US7256790B2 (en) * 1998-11-09 2007-08-14 Broadcom Corporation Video and graphics system with MPEG specific data transfer commands
US20090172259A1 (en) * 2007-12-27 2009-07-02 Pliant Technology, Inc. Mass storage controller volatile memory containing metadata related to flash memory storage

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100274972A1 (en) * 2008-11-24 2010-10-28 Boris Babayan Systems, methods, and apparatuses for parallel computing
US8134875B2 (en) 2008-12-08 2012-03-13 Xilinx, Inc. Data storage system with removable memory module having parallel channels of DRAM memory and flash memory
US8006075B2 (en) 2009-05-21 2011-08-23 Oracle America, Inc. Dynamically allocated store queue for a multithreaded processor
US8171258B2 (en) * 2009-07-21 2012-05-01 Apple Inc. Address generation unit with pseudo sum to accelerate load/store operations

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4773003A (en) * 1985-10-17 1988-09-20 Technology 80, Inc. Apparatus for monitoring and analyzing large data blocks on a computer channel
US6081883A (en) * 1997-12-05 2000-06-27 Auspex Systems, Incorporated Processing system with dynamically allocatable buffer memory
US7256790B2 (en) * 1998-11-09 2007-08-14 Broadcom Corporation Video and graphics system with MPEG specific data transfer commands
US20060132822A1 (en) * 2004-05-27 2006-06-22 Silverbrook Research Pty Ltd Storage of program code in arbitrary locations in memory
US20070124532A1 (en) * 2005-04-21 2007-05-31 Bennett Jon C Interconnection system
US20090172259A1 (en) * 2007-12-27 2009-07-02 Pliant Technology, Inc. Mass storage controller volatile memory containing metadata related to flash memory storage
US20090172260A1 (en) * 2007-12-27 2009-07-02 Pliant Technology, Inc. Flash memory controller and system including data pipelines incorporating multiple buffers

Also Published As

Publication number Publication date
TW201333961A (zh) 2013-08-16
US9411724B2 (en) 2016-08-09
WO2013095471A1 (en) 2013-06-27
US20130339660A1 (en) 2013-12-19

Similar Documents

Publication Publication Date Title
CN107729989B (zh) 一种用于执行人工神经网络正向运算的装置及方法
CN110678840B (zh) 张量寄存器文件
CN110678841B (zh) 张量处理器指令集架构
US9268691B2 (en) Fast mechanism for accessing 2n±1 interleaved memory system
JP2006012163A5 (zh)
JP5233449B2 (ja) 署名生成装置、ならびに、署名検証装置
CN111767986A (zh) 一种基于神经网络的运算方法及装置
CN104579656A (zh) 一种椭圆曲线公钥密码sm2算法的硬件加速协处理器
JP4349265B2 (ja) プロセッサ
CN108269226B (zh) 用于处理稀疏数据的装置和方法
WO2014101632A1 (zh) 一种基于蒙哥马利模乘的数据处理方法
Paul et al. MAHA: An energy-efficient malleable hardware accelerator for data-intensive applications
TWI506637B (zh) 用於運用位址移位技術之部分位址選擇信號產生器的方法及裝置
Chen et al. BRAMAC: Compute-in-BRAM Architectures for Multiply-Accumulate on FPGAs
JP2021152868A (ja) 行列乗算を加速する方法、装置、製造物品
CN112540793A (zh) 支持多访存模式的可重构处理单元阵列及控制方法、装置
CN117271953A (zh) 一种用于优化快速傅里叶变换的存内计算加速电路及方法
US20230169315A1 (en) Sparse index generator
CN100527109C (zh) 存储器访问装置
CN115858439A (zh) 三维堆叠式可编程逻辑架构和处理器设计体系结构
Yun et al. GraNDe: Efficient near-data processing architecture for graph neural networks
Muri et al. Embedded Processor-In-Memory architecture for accelerating arithmetic operations
WO2021087841A1 (en) Interleaved data conversion to change data formats
JP5206063B2 (ja) 記述処理装置、記述処理方法およびプログラム
CN112860619A (zh) 可重构智能控制器

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees