[go: up one dir, main page]

TWI335521B - Dsp system with multi-tier accelerator architecture and method for operating the same - Google Patents

Dsp system with multi-tier accelerator architecture and method for operating the same Download PDF

Info

Publication number
TWI335521B
TWI335521B TW095147640A TW95147640A TWI335521B TW I335521 B TWI335521 B TW I335521B TW 095147640 A TW095147640 A TW 095147640A TW 95147640 A TW95147640 A TW 95147640A TW I335521 B TWI335521 B TW I335521B
Authority
TW
Taiwan
Prior art keywords
accelerator
address
instruction
primary
accelerators
Prior art date
Application number
TW095147640A
Other languages
English (en)
Other versions
TW200731093A (en
Inventor
Tousek Ivo
Original Assignee
Via Tech Inc
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 Via Tech Inc filed Critical Via Tech Inc
Publication of TW200731093A publication Critical patent/TW200731093A/zh
Application granted granted Critical
Publication of TWI335521B publication Critical patent/TWI335521B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Executing Machine-Instructions (AREA)

Description

1335521 、九、發明說明: 【發明所屬之技術領域】 本發明係有關於一種具有多階層加速器架構之處理器 系統及操作方法,特別是有關於一種數位信號處理(digital signal processing,DSP)系統,其具有一主加速器橋接於 一數位信號處理器與複數個次加速器間,此主加速器可協 助數位信號處理器存取該等次加速器。 籲【先前技術】 處理器(例如一般用途的微處理器、微電腦、或數位 信號處理器)係根據操作程式來處理資料。現今的電子裝 置通常將處理任務分配至不同的處理器。舉例來說,移動 式通信裝置通常包括數位信號處理(digital signal processing,DSP)單元用以進行數位信號處理,例如語音 編碼/解碼以及調變/解調變。移動式通信裝置還包括一般用 鲁途之微處理單元,用以進行通信協定處理。 數位信號處理單元可與加速器整合以執行特定的任 務,例如波形等化,以進一步地最佳化數位信號處理單元 之效能。如第1圖所示,美國專利編號5,987,556揭露一種 ^*3 —個用於數位信號處理的加速器之資料處理裝置,此 資料處理裝置包括微處理器核心12〇、加速器14〇與其輸 出暫存器142、記憶體112、以及中斷控制器12卜加速器 140係透過資料匯流排、位址匯流排、以及讀取/寫入控制 線連接至微處理器核心12〇。加速器14〇透過讀取/寫入控 6 1335521 ’制線而受微處理器核心120所控制,以依據位址匯流排的 資料位址自微處理器核心120讀取資料或將資料寫入至微 處理器核心120。當具有高優先權之中斷要求傳送至微處 理核心120且由微處理器核心120所承認時,先前技術 之資料處理裝置可利用中斷控制器121來終止加速器140 與微處理器核心120間的資料存取。然而,此微處理器核 心120缺乏識別不同加速器的能力,因此資料處理裝置之 功能被限制了。 • 因此,提供一種具有處理不同加速器之能力的數位信 號處理系統乃一待解決之課題,使其可避免發生不明確處 理又不佔用過度的指令設定編碼空間。 【發明内容】 本發明提供一種數位信號處理系統,其具有存取與識 別複數個加速器之能力。此外,本發明提供一種數位信號 處理系統,其具有複數個多階層架構之加速器,以幫助加 φ 速器之選擇。 承上,本發明提供一種數位信號處理系統,其具有一 主加速器橋接於一數位信號處理器與共用一通用指令集複 數個次加速器間,其中,該主加速器可協助數位信號處理 器存取該等次加速器中至少一者。 在本發明之一實施例中,主加速器包含一位址指標暫 存器’其儲存包+—可定址的位址區段對應至該等次加速 器,以及一解碼器,用以接收數位信號處理器傳送之指令, 以控制位址指標暫存器。假使數位信號處理器打算存取某 7 1335521 一特定的次加速器,數位信號處理器將發佈一個包含階層 1(L1)加速器識別碼與存取指令之L1加速器指令。主加速 器會根據位址指標暫存器之子集位址選擇特定的次加速 器。或者,數位信號處理器可發送一 L1加速器指令以及一 偏移位址,以修改或更新位址指標暫存器之内容。 在本發明之另一實施例中,主加速器亦可傳送控制信 號至該等次加速器,以選擇特定的次加速器、設定資料傳 送尺寸、設定存取型態、以及指示參數傳送模式。 • 本發明的又一實施例提供一種多階層架構且使用一通 用加速器指令集的電腦系統,此電腦系統包括處理器、主 加速器與複數個次加速器。處理器用以傳送一選自該通用 加速器指令集的指令;主加速器則連接至處理器,以接收 指令;次加速器則透過主加速器連接至處理器。其中,主 加速器包括:一位址產生器,儲存一主位址集;以及一解 碼器,用以控制位址產生器依據指令與主位址集之中對應 的主位址以產生對應至一選中之次加速器的次位址。 ® 本發明之又一實施例提供一種操作方法’適用於一多 階層架構系統,此多階層架構系統包括一處理器以及共用 一通用指令集的複數個加速器。本實施例之方法包括:將 該等加速器對應至一位址集;自處理器接收一選自通用指 令集的指令,該指令包含一欄位對應至位址集中的一個位 址;以及依據該位址存取加速器其中一者。 為使本發明之上述目的、特徵和優點能更明顯易懂, 下文特舉一較佳實施例,並配合所附圖式,作詳細說明如 8 1335521 下0 【實施方式】 第2圖係繪示本發明一實施例之具有多階層加速器架 構的數位信號處理系統。在此數位信號處理系統中’數位 信號處理器(digital signal processor,DSP) 10 具有簡易 的一般加速器指令組,且透過一加速器介面60連接至階層 1 (Level-1,L1)加速器20。L1加速器20透過一個加速 器本地匯流排70連接至複數個階層2 (Level-2,L2)加速 器30A至30N。本實施例之多階層加速器架構包栝L1加 速器20與L2加速器30A至30N,兩者透過加速器本地匯 流排70相連接。此外,為了更明確地說明,li加速器可 與”主加速器”替換使用,而L2加速器可與”次加速器”替換 使用。
本實施例的多階層加速器架構提供了一些相較於先前 技術將加速器直接連接於處理ϋ之作法的優點。此類之應 用舉凡MiCr〇DSP1.x架構,其可利用上至四個加速器介面 支援複數個加速II。其中-個優點是,使用—個較小且一 般的U加速器齡組即可充分地域複數個 :此不需要針對每-新的L2加速器定義新 = 令。而在先前技術中,則需要對於每一 , 新的加速器指令組。另一個優點是 ’速器定義 器,而先前技術所支援的加速器數4= L2加速 大量L2加速器之方式係藉由標準記對=制。支援 法;L i加速器内包含一或多個32_C輸出方 疋L1位址指標,而 9 1335521 所有的L2加速器皆對應至此加速器位址空間(藉由L1加 速器位址指標定址),且數位信號處理器可使用此一般L1 加速器指令集來存取該等L2加速器。與L1加速器結合 後,L2加速器可汉δ十來取代先前技術之加速器,如此一來 數位信號處理器即可藉由發送L1加速器指令來執行(例如 開始、控制、及/或監控)簡易的單一週期任務或較複雜的 多週期任務,而此L1加速器指令係由L1加速器介面透過 加速器本地匯流排傳送至合適的L2加速器。上述之單一週 • 期任務。例如,反轉在數位信號處理器内之複數個暫存器 之一者内部的特定數量之最低有效位元(LSB),而多週 期任務則例如,MpEG-4編碼中計算與一區塊的影像資料 相關的運動向量。由數位信號處理器至L2加速器之控制與 資料資訊’以及由L2加速器返回至數位信號處理器之資料 資訊,皆流過多階層加速器架構内相同的介面及匯流排(加 速器介面60與加速器本地匯流排70)。 在本實施例的多階層加速器架構中,該等L2加速器 鲁 30A至30N不需要加速器識別碼(id),且數位信號處理 器指令組之編碼空間可有效被利用。在一實施例中,若 MicroDSP.l.x指令組使用4個位元來表示一個L1加速器 識別碼’則僅需整體指令組編碼空間的丨6分之1 (大約 6°/〇 )’即足以支援所有的硬體加速器,而剩餘整體指令 組編碼空間的16分之15 (大約94% )則可使用在數位信 號處理器核心的内部指令組方面。L2加速器30A至30N 之存取(讀取/寫入)係透過L1加速器20之位址指標以及 1335521 數位信號處理器ίο所提供的偏移位址(drift address)來 執行。 L2加速器30A至30N之每一者皆對應至一位址資料 段,此位址資料段是受L1加速器20之位址指標所定址之 總加速器位址空間的子集(subset)。L1加速器20首先識 別數位信號處理器所傳送之指令的L1加速器識別碼。假使 此預s又位元見度(例如4位元)之L1加速器識別碼出現在 指令中’ L1加速器20則辯認此指令為加速器指令,且L1 鲁加速器20將協助數位信號處理器1〇存取特定的[2加速 器。 或者,L1加速器20可根據加速器指令局部地更新本 身的内容’例如,調整其L1位址指標暫存器。在存取L2 加速器30的情況下,L1加速器20可根據加速器指令來驅 動加速器本地匯流排信號;本地匯流排位址可直接受L1 位址指標暫存器的驅動,或受L1位址指標暫存器之内容與 加速器指令所提供之資訊兩者之結合驅動。若需改變L1 •位址指標暫存器之内容時,其内容係由L1加速器指令所包 含之值來更新或修正。 第2圖與第3圖係示意根據本發明實施例之L1加速器 20之示意圖。l 1加速器20係透過加速器介面匯流排60 連接至數位信號處理器1〇。加速器介面匯流排6〇包括一 個24位元的加速器指令匯流排AIN[23:0]、—個32位元 L1寫入資料匯流排AWD[31:〇]、以及一個32位元L1讀取 資料匯流排ARD[31:0]。本實施例的指令匯流排及資料匯 1335521 流排之匯流排寬度僅為說明之用,而非用來限制本發明。 其他的匯流排寬度也可依實際的系統要求來做選擇。 L1加速器20係透過加速器本地匯流排70連接至複數 個L2加速器30A至30N。加速器介面匯流排70包括32 位元位址匯流排LAD[31:0]、控制匯流排LCTRL、32位元 L2寫入資料匯流排LWD[31:0]、以及32位元L2讀取資料 匯流排LRDP1:0]。 如第3圖所示’Ll加速器20包括解碼器22、位址產 • 生器24、寫入緩衝器26、以及讀取多工器28。解碼器22 透過AIN匯流排接收來自數位信號處理器1〇之指令,且 對接收之指令進行解碼。位址產生器24係受解碼器22所 控制,以輸出L2位址至LAD匯流排。寫入緩衝器26亦受 解碼器22所控制,以作為AWD匯流排與LWD匯流排間 的緩衝。讀取多工器28則多工處理該等L2加速器所驅動 之所有LRD匯流排。位址產生器24包括32位元位址指標 鲁暫存器(PTR) 240以儲存32位元位址。寫入緩衝器26 包含32位元寫入資料暫存器260。假使指令中包含l 1加 迷器識別碼,則解碼器22將識別接收之指令為加速器指 令。 根據本發明之一實施例,該等L2加速器30Α至30Ν 之存取係由位址產生器24所產生的[AD位址來確認。LAD 位址可藉由驅動位址指標暫存器(pTR)24〇的内容到位址 匯流排LAD[31:0]上來產生;或者藉由連結位址指標暫存 器240之最高有效位元(MSB)與加速器指令中作為分頁 1335521 模式(page-mode )立即偏移位址之一部分位址位元而產 生。位址指標暫存器可依加速器指令的指示後置增值 (post-increment)。位址的產生與指標後置增值與否係由 解碼器22所控制,解碼器22也可驅動控制匯流排LCTRL 之複數個控制信號,這些控制信號可依照加速器指令之指 示來控制L2加速器存取的執行。 第4圖係表示三個相異的L2加速器30A、30B、以及 30C之位址對應表的實施例。L2加速器30A至30C所提供 • 之加速器任務可藉由傳送適當的加速器指令至L1加速器 而受數位信號處理器10所控制與監測,而L1加速器可傳 送控制與資料資訊至L2加速器30内適當的位址位置。L1 加速器可以任何方向或同時雙向在數位信號處理器1〇與 任一個L2加速器之間傳送與加速器指令相關之資料。 位址指標暫存器(PTR) 240之内容可由下列兩個L1 加速器指令之實施例來指派或更新: 1. ’,awr ptr.hi,#uimml6” 擊 此L1加速器指令將丨6位元的無符號立即值 寫入至L1加速器中L1位址指標暫存器(ptr) 240的最 高16個位元。 2. ’’awr ptr.lo,#uimml6” 此L1加速器指令將16位元的無符號立即值#uimml6 寫入至L1加速器中L1位址指標暫存器(ptr ) 240之最 低16個位元。 前述之”立即值”指此值係直接被編碼至L1加速器指 13 1335521 ‘令。例如,24位元之L1加速器指令可為下面形式:
1100 0010 ^>DDD DDDD DDDD DDDD 其中’前四個位元係為L1加速器之識別碼,且在框線 内的’’D”表示16位元無符號立即值。 根據上述的位址分配指令來設定L1加速器20之L1 位址指標暫存器(PTR) 240的内容即可助於選擇特定的 L2加速器30x來執行資料存取。 對於數位信號處理器10而言,透過加速器本地匯流排 • 7〇對L2加速器進行資料存取可如下面兩個實施例之方式 來實現,其中每一個實施例皆包含一個示範的指令與相關 的信號波形。 範例1 :將資料寫入至L2加速器30A,並對L1位址 指標暫存Is ( PTR ) 240作後置增值。 本範例的L1加速器指令為”awr ptr++,#uimmi 6”。 此L1加速器指令寫入16位元的無符號立即值至L1 位址指標暫存器(PTR) 240所包含的L2加速器位址。接 籲著,對L1位址指標暫存器(PTr) 240之位址加1作後置 增值。舉例而言,假使L1位址指標暫存器(ptr) 240之 内容為0xF7FF:8000,數位信號處理器1〇發送該指令即可 連續地將數個區塊的16位元無符號資料寫入至L2加速器 30A之内部輸入暫存器。 第5圖係表示自數位信號處理器1〇至L2加速器的寫 入操作相關之信號波形圖。圖示中以大寫字母A為開頭之 信號組係與數位信號處理器1〇及L1加速器20間的加速器 133.5521 .介面匯流排60相關;而其他資料與控制信號則與加速器本 地匯流排70相關。位址匯流排LAD[31:0]係為一 32位元 匯流排,且由L1加速器20所驅動。LRNW信號係表示其 為讀取非寫入之信號’而LSEL一X信號為一個選擇作號, 用以指示L1加速器20透過加速器匯流排來詞·該等L2加 速器其中之一者作存取。在圖示中,*PTR係表示在u位 址指標暫存器(PTR) 240内的值需驅動至位址匯流排 LAD[31:〇pLSEL_x信號為選擇信號,以選擇啟動該等u • 加速器其中之一者。在一特定時間内,L2加速器3〇A至 30N中只有一者被選擇’且此選擇係依據位址匯流排 LAD[31:0]上之位址的一部分最高有效位元。被lsel X信 號所選中的L2加速器將對加速器本地匯流排70上的信號 進行解碼,且將#uimml6資料寫入至其複數個内部輸入暫 存器之一者,該暫存器係依據位址匯流排LAD[3l:〇]上之 位址的部分最低有效位元決定。在圖示中,LSEL__x與 LRNW信號係透過控制匯流排所傳送。 ® 再參閱第3圖,位址控制器24包括後置增值單元242 及第一多工器244。後置增值單元242係用來對L1位址指 標暫存器(PTR) 240之位址執行後置增值操作。第一多工 器244則受解碼器22所控制,選擇性地將後置增值單元 242的輸出或L1寫入資料匯流排AWD[31:0]之資料傳送至 L1位址指標暫存器(PTR) 240,因此L1位址指標暫存器 (PTR) 240之内容可被修改。位址控制器24更包括一個 第二多工器246,用以選擇性地將L1位址指標暫存器 15 133.5521 (PTR) 240的部份最低有效位元或加速器指令匯流排 AIN[23:0]的一部分傳送到位址匯流排LAD[3l:〇]的最低有 效位元部分。根據第3圖,L1加速器20之寫入緩衝器26 包括一個第三多工器262及寫入資料暫存器260。L2寫入 資料匯流排LWD[31:0]係受到寫入資料暫存器260所驅
動,且包含加速器介面60之加速器指令匯流排AIN[23:〇J 與L1寫入資料匯流排AWD[31:0]之資料的組合。解碼器 22透過控制匯流排LCTRL傳送資料尺寸信號LSIZE ’且 此為料尺寸仏號LSIZE係表示加速器本地匯流排7〇所傳 送之資料為1位元組、2位元組、或4位元組。 此範例之指令可以2階段管線(2-stage pipeline )處理 來實現。在第-週期(解喝週期)内,“加速器指令自數 位信號處理器1G傳送至加速器指令匯流排AIN[23:〇],且 ^址匯流排LAD[31:0]與控制匯流排LCTRL可根據加速器 指,之内容被驅動。在第二週期(執行週期)内,16位元 無符號貝料被驅動至L2寫入資料匯流排LWD[31:〇]上的 16個較低位元,即lwd[15:〇j。 3〇A移動至數位信號處理 範例2:將資料自L2加迷器 器的内部暫存器。 本範例的L1加速器指令為”^ GRx #addr8”。 此L1加速器指令將資料由L2加速器移動至數位信 =器H)之-内部暫存器咖卜個16位元暫存器): :PTR[31.8]與#addr8 (8位元立即位址值)連接之連 續值可指K固特定加逮器位址。 1335521 第6圖係示意與此範例操作相關的信號波形圖。 LSEL_x信號為選擇複數該等L2加速器之一者的選擇信 號。在給定的時間内,只有L2加速器30A至30N之一者 被選中’其選擇依據位址匯流排LAD[31:0]上之位址值決 定。被選中之L2加速器,例如L2加速器X,將根據位址 匯流排LAD之一部分最低有效位元,來選擇應驅動其複數 個内部暫存器之中何者的内容至L2讀取資料匯流排LRD 上’以回傳到L1加速器10。位址匯流排LAD之最低有效 • 位元部分係由數位信號處理器10所傳送之偏移位 址”#addr8”所驅動。L1加速器1將傳送讀取資料至L1讀 取資料匯流排ARD上,以回傳至數位信號處理器1〇之内 部暫存器GRx。此讀取資料則可此般寫入至數位信號處理 器10之内部暫存器GRx。 根據第3圖,L1加速器之多工器28係用以自對應 至L2加速器30A至30N之複數個讀取資料匯流排LRD_A 至LRD_N中選擇適當的讀取匯流排。被選中的讀取資料 匯流排LRD_x被驅動至L1讀取資料匯流排ARD,且此選 擇係依據L2選擇信號LSEL_x。 舉例來說,上述24位元L1加速器指令可為下面形式: 1100 1100 Iaaaa aaaa| xxxx 0000 其中’以字母” A”所表示之位元是代表由數位信號處理 器10所傳送之偏移位址#addr8的8位元立即值。以字母,’χ” 所表示之位元是代表在數位信號處理器1〇内16個一般暫 存器GR0至GR15其中之一者。 17 1335521 • 由上述兩個例子可得知,本發明之指令操作不須指派 任何加速器識別碼至任何一個L2加速器,取而代之的是在 L1加速器内没置具有彈性的位址產生器24 ,即可選擇L2 加速器與1^2加速器内的位置。L1位址指標暫存器(pTR) 240之位元數量也可修改(除了 32位元),以支援更小或 更大的L2加速器位址空間。 在上述兩個範例中’僅有4位元(例如在範例中起始 位元序列11〇〇)被用來當作L1加速器識別碼,L1加速器 •指令組玎縮減至一個數量相對較少(32或更少)的一般指 令組,然而其彈性足以支援大量且多種相異之匕2加速器。 下一個範例將說明此種類型一般但仍功用極大的u加速 器指令的可變通性。 範例3 : L2加速器位址之參數控制寫入讀取操作(參 閱第7圖)。 此範例之一般L1加速器指令為,,ardp GRx, #addrX,#uimm4”。 • 此L1加速器指令將儲存在數位信號處理器10之内部 暫存器GRx的資料傳送至由PTR[31:X]與χ位元立即偏移 位址#addrX相結合之連續值所指定的L2加速器位址。内 部暫存器GRx之内容係受數位信號處理器驅動至Li寫入 資料匯流排AWD[15:0]上,且在下一(執行)時脈週期由 L1加速器傳送至L2寫入資料匯流排LWD[15:〇]上。同樣 地,L1加速器在下-(執行)時脈週期亦將被數位信號處 理器驅動至加速器指令匯流排AIN[23:〇]的4位元立即"參 18 133.5521 數值傳送至L2寫入資料匯流排LWD[19:16]上。此外, 加速器也指示被選中的L2加速器在執行時脈週期内驅動 某部份之16位元資料返回至其對應的L2讀取資料匯流排 LRD—x[15:0],以在執行時脈週期結束時更新内部暫存器 GRx。因此,此加速器指令同時利用了加速器介面之寫入 及讀取資料匯流排與加迷器本地匯流排。另需注意,是否 使用4位元的參數值完全取決於L2加速器,而非受限於 L1加速器指令本身的定義。在L1加速器指令的解碼週期
期間,加速器本地匯流排信號LPRM被驅動(高位準), 以表示此類的指令正出現在加速器本地匯流排。 此範例的L1加速器指令可用來實現一或多個L2加速 器内多種相異的單一週期任務。舉例來說,當指令傳送至 一特定L2加速器位址時,此指令可表示内部暫存器gRx 之16位元内容的部份最低有效位元(例如4位元參數值) 應該,行位兀反置(bit_reversed)。而傳送至其他特定 广二,位址的其他指令可表示對l2寫入資料匯流排 者,對f5 〇]所提供之資料執行其他完全相異的操作(或 且在此在特定L2加速器位址位置之資料執行操作), 邻If »。行時脈週期結束時,此操作之結果將被記錄至内 1节仔态GRx。 第7圖4系矣 中以大寫1、示與Li加速器指令相關之信號波形圖。圖 字母A為開頭之信號係與介於數位信號處理器 丹加速器2〇 pq 以大寫—, 間的加速器介面匯流排60相關的信號;而 予母L為開頭的其他資料與控制信號則為與加速器 1335521 •本地匯流排70相關的信號。 在第6及7圖中,LSEL__x、LPRM、以及LRNW信號 乃透過控制匯流排LCTRL所傳送。LSEL_x信號為選擇信 號用以選擇該等L2加速器之中一者。LPRM信號為參數指 示信號,邏輯”1”係表示在L2寫入資料匯流排LWD[19:16] 上發生由一參數所控制的寫取/讀入傳輸。LRNW信號係表 示加速器本地匯流排上之讀取與寫入傳輸的觸發與 否,邏輯”1”係表示讀取傳輸,而邏輯係表示寫入傳輸。 籲 在一範例中,假使此系統為JPEG ( Joint Photographic
Experts Group,靜態影像壓縮標準)解碼系統,L2加速器 可以是可變長度解碼器(variable length decoder,VLD) 30A、DCT/IDCT (離散餘弦轉換/反離散餘弦轉換)加速器 30B、以及顏色轉換加速器(color conversion accelerator) 30C。 第8圖係表示根據本發明另一實施例,採用多階層加 速器架構之數位信號處理系統示意圖。本實施例為可並列 • 發送指令之數位信號處理器的架構。第8圖之數位信號處 理器10可以並列方式來發送兩個加速器指令(Li加速器 指令)。在此情況下,這兩個加速器指令以並列方式來存 取L2加速器30A至30N其中一者或二者,且需要提供兩 個加速器本地匯流排70A及70B。 本發明所提供之L1加速器的操作可以第9圖之流程圖 來總結說明。此方法提供了透過一個L1加速器相互橋接的 處理器與複數個L2加速器之間的指令解釋及控制的流程。 20 1335521 在第一個步驟S100 :建立L1位址指標暫存器(ptr ) 240之子集位址(subset address)與連接至L1加速器 、 數個L2加速器間的對應關係。 在下一步驟S200 :自數位信號處理器10讀取指令。 在下一步驟S220 :檢查L1加迷器識別碼存在與否來 識別此指令是否為L1加速器指令。若此指令非li加速器 指令,則執行步驟S222 ;若次指令確為L1加迷器指令, 則執行步驟S240。 • 在步驟S222:於數位信號處理器10内部執行此指令, 且可依需要對連接至數位信號處理器之其他裝置(例如 SRAM記憶體)執行存取。 在步驟S240:識別此L1加速器指令是否需對一 [2加 速器進行存取。假使是,則執行步驟S242 ;假使否,則執 行步驟S250。 在步驟S242 :依據L1位址指標暫存器(ptr) 240之 位址選擇其指定的L2加速器’接著繼續進行步驟S260。 ® 在步驟S250:識別此L1加速器指令是否為執行L1位 址指標暫存器(PTR) 240之位址的修改。假使是,則執行 步驟S252。 在步驟S252 :根據L1加速器指令所包含之資訊修改 在L1位址指標暫存器(PTR) 240之位址。 在下一步驟S260 :識別該指令的L2加速器存取是否 為參數控制存取。假使是,執行步驟S262 ;假使否,則執 行步驟S264。 21 1335521 在步驟S262:以參數控制存取來執行L2加速器存取, 其執行方式請參考範例3之說明。之後執行步驟S280。 在步驟S264 :執行L2加速器資料存取,其執行方式 請參考範例1及2之說明。之後執行步驟S280。 在下一步驟S280:檢查是否需執行後置增值。假使是, 則於下一步驟S282執行後置增值;否則,回到步驟S200。 綜上所述,本發明具有以下優點: 1. 由L1加速器所提供之加速器指令組僅需設計一次, • 且可供數位信號處理器用來聯繫複數個階層2加速器。因 此,不需要針對單一 L2加速器重新設計加速器指令組。此 組裝方法無須因應新的L2加速器而更新。 2. 所有的L2加速器係透過一般L1加速器指令組來控 制,取代了專用的加速器指令組。因此,L2加速器不需要 包含任何指令碼對應關係,簡化了其設計以及其在數位信 號處理次系統中的可再使用性。 3丄1加速器之内部位址指標暫存器可支援非常大量的 • L2加速器。L2加速器則不需要分門別類,全部聚集在L1 加速器内的一點。此項可支援非常大量的L2加速器的特點 簡化了設計分隔及可再使用性。 4.當僅使用單一 L1加速器時,加速器識別碼則非必要 的,且數位信號處理指令組的編碼空間可有效地被利用。 假設指令中有4位元被用來指示一個L1加速器識別碼,那 麼整體24位元指令組編碼空間的16分之1(大約6% ), 足以支援所有的硬體加速器,而整體24位元指令組編碼空 22 1335521 間的16分之15 (大約94% )則可使用在數位信號處理器 核心指令組。 本發明雖以較佳實施例揭露如上,然其並非用以限定 本發明的範圍,任何所屬技術領域中具有通常知識者,在 不脫離本發明之精神和範圍内,當可做些許的更動與潤 飾,因此本發明之保護範圍當視後附之申請專利範圍所界 定者為準。 【圖式簡單說明】 第1圖表示具有加速器之習知資料處理裝置。 第2圖表示根據本發明一實施例,具有多階層加速器 架構的數位信號處理系統之示意圖。 第3圖表示根據本發明一實施例,多階層加速器架構 之L1加速器之示意圖。 第4圖表示根據本發明一實施例,關於三個相異的L2 加速器之位址對應表。 第5圖表示根據本發明一實施例,與一多階層加速器 架構之操作相關之信號波形。 第6圖表示根據本發明另一實施例,與一多階層加速 器架構之操作相關之信號波形。 第7圖表示根據本發明另一實施例,與一多階層加速 器架構之操作相關之信號波形。 第8圖表示根據本發明另一實施例,在多階層加速器 架構中並列之兩L1加速器示意圖。 第9圖表示根據本發明一實施例,多階層加速器架構 23 133.5521 之數位信號處理器系統之操作方法流程圖。 【主要元件符號說明】 112〜記憶體;120〜微處理器核心;121〜中斷控制 器;122〜内部匯流排;140〜加速器;142〜輸出暫存器; 10〜數位信號處理器;20〜L1加速器;30、30A...30N 〜L2加速器;60〜加速器介面;70〜加速器本地匯流排; 22〜解碼器;24〜位址產生器;26〜寫入緩衝器;28 〜讀取多工器;242〜後置增值單元;244〜第一多工器; 246〜第二多工器;260〜寫入資料暫存器;262〜第三多工 益, 20A、20B〜L1加速器;70A、70B〜加速器本地匯流 排。
24

Claims (1)

133.5521 jff年1月丄丨日修正本 十、申請專利範圍: 1. 一種主加速器,橋接於一處理器與共用一通用指令 集的複數個次加速器之間,該主加速器包括: 一位址指標暫存器,包含一位址,該位址的一個位址 區段指向一次加速器;以及 一解碼器,用以接收傳送自該處理器之一指令,以控 制該位址指標暫存器。
2. 如申請專利範圍第1項所述之主加速器,更包含: 一多工器,用以選擇性傳送該位址與該指令的一部分 至該選中之次加速器;以及 一後置增值單元,用以在該指令執行完畢後對該位址 執行一後置增值操作。 3. 如申請專利範圍第1項所述之主加速器,更包含 一資料緩衝器,耦接於該處理器與該選中之次加速器 之間,用以緩衝資料存取。
4. 如申請專利範圍第1項所述之主加速器,其中該解 碼器依據該指令内的一偏移位址調整該位址。 5. 如申請專利範圍第4項所述之主加速器,其中該解 碼器係用以將該位址與該偏移位址相連結。 6. 如申請專利範圍第1項所述之主加速器,其中該解 碼器根據該位址對該選中之次加速器内至少一内部暫存器 進行存取。 7. 如申請專利範圍第1項所述之主加速器,其中該解 碼器將包含於該指令之一立即資料寫入至該選中之次加速 25 133.5521 器。 8. 如申請專利範圍第1項所述之主加速器,其中該解 碼器傳送下列信號之任意組合至該選中之次加速器: 一控制信號,用以設定該選中之次主加速器為啟動; 一資料尺寸信號,用以表示欲存取之資料大小; 一參數控制信號,用以表示一參數控制操作;以及 一存取信號,用以表示一讀取或寫入操作。 9. 如申請專利範圍第8項所述之主加速器,其中該參 Φ 數控制操作為一單一周期操作。 10. 如申請專利範圍第1項所述之主加速器,其中該主 加速器係透過一指令匯流排與一第一資料匯流排連接至該 處理器,並透過一位址匯流排、一控制匯流排與一第二資 料匯流排連接至該等次主加速器。 11. 一種多階層架構且使用一通用加速器指令集的電 腦系統,包括: 一處理器,用以傳送一選自該通用加速器指令集的指 鲁令; 一主加速器,連接至該處理器,並接收該指令;以及 複數個次加速器,透過該主加速器連接至該處理器; 其中,該主加速器包括: 一位址產生器,儲存一主位址集;以及 一解碼器,用以控制該位址產生器依據該指令與該 主位址集中一對應的主位址以產生對應至一選中之次 加速器的次位址。 26 ^35521 12. 如申請專利範圍第n項所述之電腦系統,其中該 位址產生器包含一位址指標暫存器,用以儲存該主位址集Y 13. 如申請專利範圍第n項所述之電腦系統,其中對 應至該次位址的該選中之次加速器依據該主、 執行該指令指示之操作。 …控制 14. 如申請專利範圍第13項所述之電腦系統,其中該 解碼器傳送下列信號之任意組合至該次加速器:八
控制4號’用以設定該選中之次主加迷器為啟動. 一資料尺寸信號,用以表示欲存取之資料大小; —參數控制信號,用以表示一參數控制操作;以及 一存取信號’用以表示一讀取或寫入操作。 15. 如申請專利範圍第14項所述之電腦系統,並 參數控制操作可於單—時間週期内寫人資料至該選ϊ之Γ 加速器,並自該選中之次加速器讀取資料。Λ選中之_人 16. 如申請專利範圍第u項所述之電腦 次位址為下列項目之任意組合: 具中該 該主位址連接該指令中一偏移位址; 依據該指令的該偏移位址調整後的該主位址· 一個=位址中對應至該選中之次加速器的一位址區段的 17•如申請專利範圍第n項所述之 主^器透過-指令匯流排連接至該處理器,並透過^ 址排與—控龍流排連接至該等次加速器。 18.-種操作方法,適用於—多階層架構系統,該多階 27 1335521 層架構系統包括一處理器以及共用一通用指令集的複數個 加速器,該方法包括: 將該等加速器對應至一位址集; 自該處理器接收一選自該通用指令集的指令,該指令 包含一欄位對應至該位址集的一個位址;以及 依據該位址存取該等加速器其中一者。 19. 如申請專利範圍第18項所述之操作方法,其中存 取該等加速器其中一者之步驟更包括: • 依據該指令提供一控制信號至該加速器。 20. 如申請專利範圍第19項所述之操作方法,其中該 控制信號為下列信號之任意組合: 一啟動控制信號,用以設定一選中之次加速器為啟動; 一資料尺寸信號,用以表示欲存取之資料大小; 一參數控制信號,用以表示一單一時間週期的參數控 制操作;以及 一存取信號,用以表示一讀取或寫入操作。 • 21.如申請專利範圍第18項所述之操作方法,更包括: 於存取該等加速器其中一者之步驟結束後,對該位址 進行後置增值。 22.如申請專利範圍第18項所述之操作方法,更包括: 依據該指令的一偏移值修改該位址集的該位址。 28 1335521 .七、指定代表圖: (一) 本案指定代表圖為:第(2 )圖。 (二) 本代表圖之元件符號簡單說明: 10〜數位信號處理器;20〜L1加速器;30、30A...30N 〜L2加速器;60〜加速器介面;70〜加速器本地匯流排。
八、本案若有化學式時,請揭示最能顯示發明特徵的化學式: 略
TW095147640A 2005-12-19 2006-12-19 Dsp system with multi-tier accelerator architecture and method for operating the same TWI335521B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US75162605P 2005-12-19 2005-12-19

Publications (2)

Publication Number Publication Date
TW200731093A TW200731093A (en) 2007-08-16
TWI335521B true TWI335521B (en) 2011-01-01

Family

ID=38165727

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095147640A TWI335521B (en) 2005-12-19 2006-12-19 Dsp system with multi-tier accelerator architecture and method for operating the same

Country Status (3)

Country Link
US (1) US20070139424A1 (zh)
CN (1) CN100451952C (zh)
TW (1) TWI335521B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009145919A1 (en) * 2008-05-30 2009-12-03 Advanced Micro Devices, Inc. Shader complex with distributed level one cache system and centralized level two cache
US9582287B2 (en) * 2012-09-27 2017-02-28 Intel Corporation Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions
CN104142907B (zh) * 2013-05-10 2018-02-27 联想(北京)有限公司 增强型处理器、处理方法和电子设备
US9336056B2 (en) * 2013-12-31 2016-05-10 International Business Machines Corporation Extendible input/output data mechanism for accelerators
US10599441B2 (en) * 2017-09-04 2020-03-24 Mellanox Technologies, Ltd. Code sequencer that, in response to a primary processing unit encountering a trigger instruction, receives a thread identifier, executes predefined instruction sequences, and offloads computations to at least one accelerator
US11797342B2 (en) 2018-06-20 2023-10-24 Telefonaktiebolaget Lm Ericsson (Publ) Method and supporting node for supporting process scheduling in a cloud system
CN113934677B (zh) * 2020-07-13 2025-06-27 阿里巴巴集团控股有限公司 数据处理方法、装置、电子设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5524223A (en) * 1994-01-31 1996-06-04 Motorola, Inc. Instruction accelerator for processing loop instructions with address generator using multiple stored increment values
US6829697B1 (en) * 2000-09-06 2004-12-07 International Business Machines Corporation Multiple logical interfaces to a shared coprocessor resource
US7430652B2 (en) * 2003-03-28 2008-09-30 Tarari, Inc. Devices for performing multiple independent hardware acceleration operations and methods for performing same
US7714870B2 (en) * 2003-06-23 2010-05-11 Intel Corporation Apparatus and method for selectable hardware accelerators in a data driven architecture

Also Published As

Publication number Publication date
US20070139424A1 (en) 2007-06-21
TW200731093A (en) 2007-08-16
CN1983166A (zh) 2007-06-20
CN100451952C (zh) 2009-01-14

Similar Documents

Publication Publication Date Title
TWI463332B (zh) 在單一指令多資料之資料處理器中提供擴充尋址模式
US9460016B2 (en) Cache way prediction
US5481734A (en) Data processor having 2n bits width data bus for context switching function
JPH09212361A5 (zh)
JPH04109336A (ja) データ処理装置
US20030033482A1 (en) Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein
TWI335521B (en) Dsp system with multi-tier accelerator architecture and method for operating the same
JP5191532B2 (ja) 内部ビットfifo回路を有する演算ユニット
JPH10207717A (ja) マイクロコンピュータ
JP3789583B2 (ja) データ処理装置
JPH07129537A (ja) 半導体集積回路装置
US20090070501A1 (en) Data processor
JPH1049369A (ja) データ処理装置
JPH11316679A (ja) 多数のバンクアドレス値供給源を有するプロセッサアーキテクチャスキームおよびその方法
JPH09152971A (ja) データ処理装置
JP2002251284A (ja) データ処理装置
JP2556182B2 (ja) デ−タ処理装置
US5519881A (en) Priority encoder for accessing multiple registers simultaneously and a data processing system which uses it
US20230205901A1 (en) Direct data transfer system
JP3575496B2 (ja) メモリアドレス指定論理回路およびメモリアドレス指定方法
JP5673322B2 (ja) ベクトル処理装置、システムおよびベクトル処理装置の動作方法
JP2009217714A (ja) データ処理回路、キャッシュシステムおよびデータ転送装置
JP3562215B2 (ja) マイクロコンピュータ及び電子機器
JP3936694B2 (ja) 半導体集積回路装置および半導体集積回路装置のデータ転送方法
JPH0778780B2 (ja) バス幅制御装置