TWI497314B - 適應性計算之無線處理器 - Google Patents
適應性計算之無線處理器 Download PDFInfo
- Publication number
- TWI497314B TWI497314B TW102140308A TW102140308A TWI497314B TW I497314 B TWI497314 B TW I497314B TW 102140308 A TW102140308 A TW 102140308A TW 102140308 A TW102140308 A TW 102140308A TW I497314 B TWI497314 B TW I497314B
- Authority
- TW
- Taiwan
- Prior art keywords
- adaptive
- wireless processor
- programmable
- group
- memory unit
- Prior art date
Links
Landscapes
- Transceivers (AREA)
- Mobile Radio Communication Systems (AREA)
Description
本發明有關於一種無線處理器,且特別是一種適應性計算之無線處理器。
目前已知在設計基頻處理器上,大多的演算法針對不同通訊系統規格,需要重新設計硬體,造成設計時間增加與可擴充性低,且無法快速支援多模式的基頻處理規格。現有的可程式/可重新配置的指令處理器(Programmable/reconfigurable instruction processor)架構,雖可以提供支援多模式的基頻處理規格,但其架構上針對不同基頻處理,也細分成不同專屬功能之處理器,無法達到單一個處理器對於多種通訊規格之通用性。此外,硬體架構上都採取了數位訊號處理器(DSP)與基頻處理器(Baseband processor)的組合,導致界面溝通設計上較困難,或是硬體架構改變後需要再重新設計,可能會增加設計時間。例如:現有的軟體定義無線電(software defined radio,SDR)的架構,是利用多顆處理器(CPU)或數位訊號處理器(DSP)來處理資料,在處理資料方法上為分散式方式處理資料,且處理資料的方式是以指令基礎(instruction based)方式來處理或解碼每條指令,循序執行指令與分配資源最佳化。除此之外,記憶體的存放上也是利用快取(cache)的概念來處理,所以會存在快取一致性(cache coherence)和資料複製(data copy)的問題。
例如:台灣專利公開號TW200912654提出的基頻處理器無
法支援多模式的基頻處理。台灣專利公開號TW200901693提出用於WiMAX與WIFI等的多模式數位基頻處理器,此基頻處理器架構設計與一般通訊系統設計模組相同,只針對提出之不同通訊規格,做最佳化設計。美國專利公開號US20060211387A1提出支援多標準(Multi-standard)之軟體無線電架構,其基頻處理區塊包含數位訊號處理器(DSP)與其他多個特殊功能可置換指令及處理器(CRISP)來提供特殊運算處理需求,如:傅立葉轉換、片速率(Chip rate)、符號率(Symbol rate)…等,每個處理都是一個特殊的指令集處理器,提供不同特殊運算之擴充性,但資源共用較難達到。美國專利US 8,156,366 B2提出利用時間與事件處理(timing and event processing)區塊,來處理對時間比較敏感的指令,並利用中斷,使數位訊號處理(DSP)或微處理器(CPU)優先執行指令,或是重新設定輸出入(I/O)與直接記憶存取轉移(DMA memory transfer)等功能,缺點為利用中斷處理會造成內容切換(content switch)而降低指令執行的速度。
本發明實施例提供一種適應性計算之無線處理器,支援多模式基頻處理功能。
本發明實施例提供一種適應性計算之無線處理器,其包括可程式化隨選記憶體單元、仲裁器、複數個小型嵌入處理器、適應性排程器與可重新配置之多細胞算術運算器。可程式化隨選記憶體單元具有複數個記憶區塊,用以接收並存放原始資料。複數個小型嵌入處理器耦接可程式化隨選記憶體單元與仲裁器。適應性排程器耦接可程式化隨選記憶體單元與仲裁器。適應性排程器控制仲裁器,並依據複數個通訊規格設定初始通訊參數,並據此設定原始資料的資料流路徑與複數個群指令的執行順序。每一群指令對應每一通訊規格的基頻演算法。適應性排程器根據所述群指令所對應的在所述記憶區塊的原始資料所對應的資料流路徑與執
行順序,而向對應之小型嵌入處理器提出運算需求。可重新配置之多細胞算術運算器耦接可程式化隨選記憶體單元、仲裁器與適應性排程器。可重新配置之多細胞算術運算器具有複數個算術運算單元,依據適應性排程器所設定的群指令的執行順序來進行基頻演算法的算術運算。
綜上所述,本發明實施例提供一種適應性計算之無線處理器,省略記憶區塊中的資料的重複讀取或複製的程序,且減少多模式基頻處理器之硬體成本與設計複雜度,並可支援多模式基頻處理之單一運算單元,以符合不同模式下的多個不同的運算單元的設計。
為使能更進一步瞭解本發明之特徵及技術內容,請參閱以下有關本發明之詳細說明與附圖,但是此等說明與所附圖式僅係用來說明本發明,而非對本發明的權利範圍作任何的限制。
1‧‧‧適應性計算之無線處理器
11‧‧‧可程式化隨選記憶體單元
12‧‧‧仲裁器
13‧‧‧小型嵌入處理器
14‧‧‧適應性排程器
15‧‧‧可重新配置之多細胞算術運算器
16‧‧‧快速傅立葉轉換器
13a‧‧‧描述檔案
S11、S12、S13、S14、S15‧‧‧步驟流程
151‧‧‧可重新配置之資源管理分配器
152‧‧‧指令解碼器
153‧‧‧指令快取
154‧‧‧記憶體讀/寫介面
155‧‧‧算術運算單元
155a、155b‧‧‧多工器
111‧‧‧唯讀記憶體
112‧‧‧記憶池
113‧‧‧存取規則表
114‧‧‧位址產生器
圖1是本發明實施例提供的適應性計算之無線處理器的架構圖。
圖2是本發明實施例提供的適應性計算之無線處理器的軟體溝通介面的示意圖。
圖3是本發明實施例提供的兩階段運作模式的流程圖。
圖4是本發明實施例提供的可重新配置之多細胞算術運算器的架構圖。
圖5是本發明實施例提供的可重新配置之多細胞算術運算器的示意圖。
圖6是本發明實施例提供的可程式化隨選記憶體單元的示意圖。
圖7是本發明實施例提供的可程式化隨選記憶體單元的架構圖。
本發明提出適應性計算之無線處理單元架構,在不希望增加硬體設計複雜度或是更動太多介面存取設計下,支援多模式基頻處理功能。且在記憶體存取設計上,也針對基頻處理設計最佳化存取方式,此外,利用資源管理器有效分配多細胞算術運算器內的資源,達到資源利用度最佳化。
請參照圖1,圖1是本發明實施例提供的適應性計算之無線處理器的架構圖。適應性計算之無線處理器1包括可程式化隨選記憶體單元(Transactional Based Reconfigurable On-Demand Memory)11、仲裁器(arbiter)12、複數個小型嵌入處理器(Embedded Processor)13、適應性排程器(Adaptive Scheduler)14與可重新配置之多細胞算術運算器(Reconfigurable multi-cell ALU)15。適應性計算之無線處理器1的可程式化隨選記憶體單元11接收輸入端(Input)輸入的原始資料,並提供快速傅立葉轉換器(FFT)16進行資料存取(無線訊號由射頻電路接收後經過FFT進入基頻電路)。
可程式化隨選記憶體單元11具有複數個記憶區塊,用以接收並存放原始資料。複數個小型嵌入處理器13耦接可程式化隨選記憶體單元11與仲裁器12。適應性排程器14耦接可程式化隨選記憶體單元11與仲裁器12。可重新配置之多細胞算術運算器15耦接可程式化隨選記憶體單元11、仲裁器12與適應性排程器14。
仲裁器12用來管理匯流排的使用權。適應性排程器14控制仲裁器12,並剖析(parsing)複數個通訊規格,依據不同的通訊規格設定初始通訊參數(在圖1中以基本參數表示),並據此設定原始資料的資料流路徑與複數個群指令的執行順序。每一群指令對應每一通訊規格的基頻演算法。適應性排程器14根據所述群指令所對
應的在所述記憶區塊的原始資料所對應的資料流路徑與執行順序,而向對應之小型嵌入處理器13提出運算需求。
可重新配置之多細胞算術運算器15具有複數個算術運算單元(ALU),依據適應性排程器14所設定的群指令的執行順序來進行基頻演算法的算術運算。
通常,無線通訊演算法都為已知長度的叢集式運算,故本發明使用一種群組為基礎突發編程(Group-based burst programming)方式來達到與已知長度的叢集式運算相同概念來處理指令,例如:每個演算法都為單一獨立的指令群,且在執行過程中為突發(burst)執行的方式,好處為群指令可以堆疊的呼叫,且作為適應性排程器14(adaptive scheduler)的小型嵌入處理器,可以在剖析(parsing)的過程中,對於整個群指令來決定最佳的資料流路徑與資源分配。亦即,適應性排程器14根據通訊規格排程與設定資料流的走向,並根據群指令的順序以指派群指令進行計算的順序。此外,在執行其他群指令過程中,適應性排程器14可以藉由目前統計資料來分析目前各路徑的流量與資源使用狀況,適當重新分配新的資料流與計算流。亦即,適應性排程器14可依據運算資源的使用情況來管理群指令的執行順序。在本實施例中,基頻演算法以描述檔案(description file)13a呈現,且透過軟體編寫不同的處理程序。透過不同的描述檔案13a,來支援不同的無線通訊規格。
本發明的適應性計算之無線處理單元1可以透過變更參數設定,以達到改變發射/接收端處理模式。參數設定的種類為基本參數與進階參數。基本參數設定包含一般系統參數的傳輸平台、快速傅立葉轉換(FFT)的取樣點數、存取記憶體位置與該群指令的執行順序等。進階參數主要設定傳輸資料在記憶體(11)的位置和記憶體資源的配置。因為在無線傳輸平台下,資料的儲存如果可以達到無縫的轉移是一大重要的考驗。且如何使得不同演算法間,轉移資料所有權與控制權能夠平順是重要的,故本發明利用可程式
化隨選記憶體單元11來達到零拷貝(zero copy)的好處。更詳細地說,適應性排程器14接收進階參數以設定原始資料在該可程式化隨選記憶體單元11中的存放位置,並根據群指令所需要運算的資料,向可程式化隨選記憶體單元11提出需求,並取得相對應的記憶區塊的控制權,以存取資料,藉此達到零拷貝(zero copy)。
根據基本參數設定,會有對應一個演算法的群指令的執行順序,由於群指令的執行順序是透過適應性排程器14來做剖析(parsing),藉此適應性排程器14可控制與管理哪些群指令(位於不同的描述檔內),分配到哪一個小型的嵌入處理器做處理,或為需要用到可重新配置之多細胞算術運算器15之計算指令,或是分配資料流的路徑使記憶體(11)的存取更有效率。在本發明一實施例中,每一小型嵌入處理器13可發出一中斷命令給適應性排程器14,以改變群指令的執行順序。
請參照圖2,圖2是本發明實施例提供的適應性計算之無線處理器的軟體溝通介面的示意圖。適應性計算之無線處理器1與軟體溝通介面包含資料路徑、計算路徑和決策路徑(條件判斷)三大類。
請參照圖3,圖3是本發明實施例提供的兩階段運作模式的流程圖。在實際運作流程中,可分成兩個階段(Phases)。一個為初始階段(initial phase),另一個為執行階段(run phase)。在初始階段中,首先根據不同通訊規格,透過適應性排程器14來排程設定資料流的走向(步驟S11)。接著,並根據演算法的群指令順序來指派群指令計算的順序(步驟S12)。在進入執行階段後,分配到負責不同工作的每一個小型的嵌入處理器13進行計算(步驟S13),且每一個小型的嵌入處理器13都可以發出中斷命令給適應性排程器14,以改變現在群指令的執行順序(步驟S14)。接著,判斷計算節果(步驟S15)。
請同時參照圖1與圖4,圖4是本發明實施例提供的可重新配
置之多細胞算術運算器的架構圖。可重新配置之多細胞算術運算器15包括可重新配置之資源管理分配器(Reconfiguration Source Allocator)151,用以分配該些算術運算單元的運算資源。操作碼(Opcode)透過指令快取(Instruction Fetch Cache)153和指令解碼器(Instruction Decoder)152輸入可重新配置之資源管理分配器151。可重新配置之資源管理分配器151將運算需求分配至複數個算術運算單元155。所述算術運算單元155為平方根運算器(Sqrt)、浮點乘法運算器(Floating Multiplier)、排序器(Sorter)、乘法器(Multiplier)、除法器(Divder)、加法器(Adder)、減法器(Substractor)的至少其中之一。指令解碼器152控制記憶體讀/寫介面154,以讓算術運算單元155讀/寫可程式化隨選記憶體單元11的資料。
請同時參照圖4與圖5,圖5是本發明實施例提供的可重新配置之多細胞算術運算器的示意圖。可重新配置之多細胞算術運算器15,是一種可以根據運算需求,來重新配置的算術運算器,其功能可以同時間平行處理內部不同運算,此外可以根據不同通訊規格的特殊運算需求,在暫存器轉換階層(register-transfer level,簡稱RTL)的設計階段,可以任意增減運算單元,只需要更動多工器(MUX)與加入所需的運算區塊。換句話說,每一個細胞(Cell)包括算術運算單元155,與多工器155a。每一個算術運算單元155所對應的多工器155a是根據可重新配置之資源管理分配器151而設定。所有算術結果再傳送到多工器155b。變更多細胞算術運算器15的設計,等於擴充其功能。
請參照圖6,圖6是本發明實施例提供的可程式化隨選記憶體單元的示意圖。針對不同通訊規格,運算所需最小記憶體使用量通常跟快速傅立葉轉換的大小(FFT Size or Sampling Rate)與演算法相關。本發明是根據不同演算法指令群的運算資料特性,來分配可程式化隨選記憶體單元11的大小。同常在無線通訊中,常見的分配方式為所支援之FFT最小點數的記憶體使用量的倍數關係
決定,例如:支援FFT的點數為64點,並且支援的精度為16bits,則所需要的記憶體空間至少為64bits x 16bits x 2=2048bits=256Bytes。此外,可以根據FFT點數的支援與多輸出輸入的關係,透過參數設定,可以將演算法群指令運算所需的記憶體單位進行動態調整,並且緊密的排列可程式化隨選記憶體單元11中的位址,以增進其對記憶體的使用率。
請參照圖7,圖7是本發明實施例提供的可程式化隨選記憶體單元的架構圖。在可程式化隨選記憶體單元11的設計上,可以對算術運算單元(ALU)與傅立葉轉換器(FFT)等電路提供最佳化的記憶體存取。在隨選記憶體系統,特別針對不同演算法所需要的常數項目獨立,存放在唯讀記憶體(ROM)111中,另外在記憶體的配置上,也可將其細分成多個記憶池(Memory pool)112,提高存取利用度,並可以提供需要常存取資料的電路(如FFT),存取對應資料所在的記憶池112,以提高存取速度。值得一提的是,匯流排中的控制訊號控制位址產生器(Address Generator)114與存取規則表(Access Rule)113,藉此控制唯讀記憶體111與記憶池112存取資料。
綜上所述,本發明實施例所提供的適應性計算之無線處理器,可省略記憶區塊中的資料的重複讀取或複製的程序,以達到零拷貝。不但可減少多模式基頻處理器之硬體成本與設計複雜度,並可支援多模式基頻處理之單一運算單元,以符合不同模式下的多個不同的運算單元的設計。更詳細地說,本發明的適應性計算之無線處理單元具有以下優點。1.基頻演算法為一個描述檔案(description file),且透過軟體編寫不同的處理程序。透過不同的描述檔案,來支援不同的無線通訊規格。2.適應性排成器(Adaptive scheduler)來管理所有的基頻演算法的處理順序,控制描述檔案指令的流向。排成器根據不同規格所需要的描述檔案,來排程期先
後執行順序。3.記憶體的使用方式為一種可程式化隨選記憶體(Reconfigurable on-demand memory),提供需要資料的處理單元(processor)最佳的控管方式,記憶體的配置也採用多個記憶池的(memory pool)的型態,以提高存取利用度度。4.多細胞算術運算單元(multi-cell ALU)可提供基頻處理的關鍵運算,且利用一個可重新配置之資源管理分配器(reconfigurable resource allocator),來分配每個細胞(Cell)裡面的運算單元的資源,來使資源使用率最大化。
以上所述僅為本發明之實施例,其並非用以侷限本發明之專利範圍。
1‧‧‧適應性計算之無線處理器
11‧‧‧可程式化隨選記憶體單元
12‧‧‧仲裁器
13‧‧‧小型嵌入處理器
14‧‧‧適應性排程器
15‧‧‧可重新配置之多細胞算術運算器
16‧‧‧快速傅立葉轉換器
13a‧‧‧描述檔案
Claims (10)
- 一種適應性計算之無線處理器,包括:一可程式化隨選記憶體單元,具有複數個記憶區塊,用以接收並存放原始資料;一仲裁器;複數個小型嵌入處理器,耦接該可程式化隨選記憶體單元以及該仲裁器;一適應性排程器,耦接該可程式化隨選記憶體單元以及該仲裁器,控制該仲裁器,並依據複數個通訊規格設定初始通訊參數,並據此設定原始資料的資料流路徑以及複數個群指令的執行順序,其中每一該群指令對應每一該通訊規格的一基頻演算法,其中該適應性排程器根據該些群指令所對應的在該些記憶區塊的原始資料所對應的資料流路徑以及執行順序,而向對應之該小型嵌入處理器提出運算需求;以及一可重新配置之多細胞算術運算器,耦接該可程式化隨選記憶體單元、該仲裁器以及該適應性排程器,具有複數個算術運算單元,依據該適應性排程器所設定的該群指令的執行順序來進行該基頻演算法的算術運算。
- 根據請求項第1項之適應性計算之無線處理器,其中該適應性排程器根據通訊規格排程與設定資料流的走向,並根據該群指令的順序以指派該群指令進行計算的順序。
- 根據請求項第1項之適應性計算之無線處理器,其中每一該小型嵌入處理器,發出一中斷命令給該適應性排程器,以改變該些群指令的執行順序。
- 根據請求項第1項之適應性計算之無線處理器,該適應性排程器接收進階參數以設定原始資料在該可程式化隨選記憶體單元中的存放位置,並根據該群指令所需要運算的資料,向該可程式化隨選記憶體單元提出需求,並取得相對應的記憶區塊的控制權, 以存取資料,藉此達到零拷貝(zero copy)。
- 根據請求項第1項之適應性計算之無線處理器,其中該可重新配置之多細胞算術運算器更包括:可重新配置之資源管理分配器,分配該些算術運算單元的運算資源。
- 根據請求項第1項之適應性計算之無線處理器,其中該些算術運算單元為平方根運算器、浮點乘法運算器、排序器、乘法器、除法器、加法器、減法器的至少其中之一。
- 根據請求項第1項之適應性計算之無線處理器,其中該基頻演算法以一描述檔案呈現。
- 根據請求項第1項之適應性計算之無線處理器,其中該基本參數包括傳輸平台、快速傅立葉轉換(FFT)的取樣點數、存取記憶體位置與該群指令的執行順序。
- 根據請求項第4項之適應性計算之無線處理器,其中該進階參數包括原始資料在該可程式化隨選記憶體單元的位址和記憶體資源配置。
- 根據請求項第1項之適應性計算之無線處理器,其中該適應性排程器依據運算資源的使用情況來管理該些群指令的執行順序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102140308A TWI497314B (zh) | 2013-11-06 | 2013-11-06 | 適應性計算之無線處理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102140308A TWI497314B (zh) | 2013-11-06 | 2013-11-06 | 適應性計算之無線處理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201518953A TW201518953A (zh) | 2015-05-16 |
TWI497314B true TWI497314B (zh) | 2015-08-21 |
Family
ID=53720933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102140308A TWI497314B (zh) | 2013-11-06 | 2013-11-06 | 適應性計算之無線處理器 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI497314B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060211387A1 (en) * | 2005-02-17 | 2006-09-21 | Samsung Electronics Co., Ltd. | Multistandard SDR architecture using context-based operation reconfigurable instruction set processors |
TW200901693A (en) * | 2007-06-27 | 2009-01-01 | Reddot Wireless Inc Headquarters U S A | Multi-mode baseband processor hardware architecture |
TW200912654A (en) * | 2007-07-03 | 2009-03-16 | Mediatek Inc | Direct interface of camera module to general purpose I/O port of digital baseband processor |
US8156366B2 (en) * | 2001-08-29 | 2012-04-10 | Mediatek Inc. | Method and apparatus for timing and event processing in wireless systems |
-
2013
- 2013-11-06 TW TW102140308A patent/TWI497314B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8156366B2 (en) * | 2001-08-29 | 2012-04-10 | Mediatek Inc. | Method and apparatus for timing and event processing in wireless systems |
US20060211387A1 (en) * | 2005-02-17 | 2006-09-21 | Samsung Electronics Co., Ltd. | Multistandard SDR architecture using context-based operation reconfigurable instruction set processors |
TW200901693A (en) * | 2007-06-27 | 2009-01-01 | Reddot Wireless Inc Headquarters U S A | Multi-mode baseband processor hardware architecture |
TW200912654A (en) * | 2007-07-03 | 2009-03-16 | Mediatek Inc | Direct interface of camera module to general purpose I/O port of digital baseband processor |
Also Published As
Publication number | Publication date |
---|---|
TW201518953A (zh) | 2015-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11567766B2 (en) | Control registers to store thread identifiers for threaded loop execution in a self-scheduling reconfigurable computing fabric | |
US11042382B2 (en) | Apparatus, systems, and methods for providing computational imaging pipeline | |
US20210055964A1 (en) | Computational Partition for a Multi-Threaded, Self-Scheduling Reconfigurable Computing Fabric | |
US8190863B2 (en) | Apparatus and method for heterogeneous chip multiprocessors via resource allocation and restriction | |
CN106030538B (zh) | 通过编译器和os支持分离出i/o执行的系统和方法 | |
CN108279927B (zh) | 可调整指令优先级的多通道指令控制方法及系统、控制器 | |
US20020095565A1 (en) | Interstream control and communications for multi-streaming digital processors | |
EP3186704B1 (en) | Multiple clustered very long instruction word processing core | |
CN113312303B (zh) | 处理器微架构系统、SoC芯片及低功耗智能设备 | |
KR20180034440A (ko) | 효율적인 병렬 컴퓨팅을 위한 단순화된 태스크-기반 런타임을 위한 방법 | |
US20130298136A1 (en) | Multiprocessor system | |
US20120166682A1 (en) | Memory mapping apparatus and multiprocessor system on chip platform including the same | |
WO2018098183A1 (en) | Dual mode local data store | |
KR20140145748A (ko) | 다중 코어 환경에서 프로세스의 할당 방법 및 장치 | |
US20140258680A1 (en) | Parallel dispatch of coprocessor instructions in a multi-thread processor | |
US8751703B2 (en) | Interrupt event management | |
US9170839B2 (en) | Method for job scheduling with prediction of upcoming job combinations | |
JP2008041059A (ja) | マルチプロセッサ制御装置及び情報処理装置 | |
TWI497314B (zh) | 適應性計算之無線處理器 | |
US6895497B2 (en) | Multidispatch CPU integrated circuit having virtualized and modular resources and adjustable dispatch priority | |
Sousa et al. | Runtime reconfigurable bus arbitration for concurrent applications on heterogeneous MPSoC architectures | |
US20160041912A1 (en) | Data processing device | |
US20140025925A1 (en) | Processor and control method thereof | |
Bojnordi et al. | A programmable memory controller for the DDRx interfacing standards | |
US20170102954A1 (en) | Parallel processing device and parallel processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |