所屬欄目:電子技術論文 發布日期:2020-12-02 09:57 熱度:
1現有的外設和CPU交互的方式
(1)中斷輸入輸出方式。當出現來自系統外部,機器內部,甚至處理機本身的任何例外的,或者雖然是事先安排的,但出現在現行程序的什么地方是事先不知道的事件時,CPU暫停執行現行程序,轉去處理這些事件,等處理完成后再返回來繼續執行原先的程序;該處理方式與CPU并行工作;數據的輸入和輸出都要經過CPU;一般用于連接低速外圍設備。(2)直接存儲器訪問方式(DMA)。外圍設備與主存儲器之間建立直接數據通路,傳輸數據不需要CPU干預;計算機系統以主存儲器為中心,主存儲器既可以被CPU訪問,也可以被外圍設備訪問;在外圍設備與主存儲器之間傳送數據不需要執行程序,DMA傳輸方式只是減輕了CPU的工作負擔;系統總線仍然被占用。特別是在傳輸大容量文件時,CPU的占用率可能不到10%,但是用戶會覺得運行部分程序時系統變得相當的緩慢。主要原因就是在運行這些應用程序(特別是一些大型軟件),操作系統也需要從系統總線傳輸大量數據;故造成過長的等待時間。而且DMA方式不夠靈活,不具有可編程性。只適合一些高速的I/O設備和主存儲器交換數據。由于嵌入式設備體積小,資源比較局限,需要設計者盡量精簡系統內核,只保留和系統功能緊密相關的軟、硬件,利用低的資源實現適當的功能,因此嵌入式設備的目標是資源小,低功耗,高效率。針對以上cpu和外設通信的局限問題和嵌入式的發展趨勢,本設計提供一種面向低功耗應用的微碼電路設計方法,在CPU等可編程模塊處于低功耗模式的時候,通過對事件觸發采取相應的總線操作來代替原本處理器中斷例程的工作,爭取最大程度的降低功耗,并具備一定的可編程靈活性,減少了CPU的負擔,提高了芯片的處理事務的整體性能。
2模塊介紹
圖1為該設計頂層框圖。ahb_slv為總線配置信號,通過ahb總線對內部寄存器與memory進行配置。ahb_mst總線控制信號,通過ahb總線對外部地址空間進行讀寫操作。Events為輸出事件信號,該信號來源是中斷或外部dma請求。ack為dma響應。該設計總共分為4塊電路:事件觸發電路,指令存儲電路,指令譯碼與執行電路,指令控制總線電路。事件觸發電路event_trigger,對外部事件進行處理,該處理方式具有優先級。指令存儲電路cmsdk_ahb_to_sram,兩塊片內sram存儲指令,cpu通過總線事先對其中一塊sram填充。當CPU或DMA不工作時,可以通過指令對另一塊sram進行填充。指令譯碼與執行電路operator_top,對sram中的數據進行譯碼,通過狀態機完成指令到op接口讀寫的轉換。指令控制總線電路operator_top,op接口與ahb總線接口轉換。
2.1事件觸發電路
外部事件event具有優先級,第127個event優先級最高,第0個event優先級最低。每個event有使能信號,由4個32bit寄存器控制。event通過上升沿采樣電路,輸出該event對應的編號。
2.2指令存儲電路
通過總線對片內3個sram存儲數據,其中一塊sram存儲指令首地址,另外兩塊sram存儲具體指令。圖4為總線讀寫sram時序。三塊sram均是cpu或者內部operator模塊可以總線地址訪問。為了使指令存儲電路處理方便,將三塊sram所占cpu地址空間平均分配。
2.3指令譯碼與執行電路
指令分為位操作,數據搬移操作,數據控制操作。有單周期指令,也有多周期指令。指令內容存放在兩塊sram中。通過譯碼電路,得到當前要執行的指令,再通過狀態機,最終完成userinterface的讀寫。圖5狀態機就是不同指令間切換的操作。
2.4指令控制總線電路
利用狀態機,將operator接口讀寫操作轉換成標準ahb總線讀寫操作。各狀態解釋:IDLE:系統復位,狀態機處于空閑狀態。HOLD:當ahb處于single操作時。外部總線請求req使能,但總線hready無效,處于HOLD狀態。該狀態完成htrans操作。DATA:當ahb處于single操作時。總線hready有效。該狀態完成讀寫操作。NONSEQ_ADDR:當ahb處于burst操作時。外部總線請求req使能,總線hready有效。該狀態完成burst操作的第一個地址相位。SEQ_ADDR:當ahb處于burst操作時。總線hready有效。該狀態完成burst操作的后幾個地址相位以及數據相位。LAST_DATA:當ahb處于burst操作時。總線hready有效。該狀態完成burst操作的最后一個數據相位。
3具體操作流程
該設計最大支持128個事件觸發,最大支持任務個數以TaskMemory容量為上限,多個事件也可以對應同一任務,通過命令編碼支持多種語義的操作。event事件信號為中斷或握手信號(取上升沿),event具備優先級,event127為最高優先級,event0為最低優先級。當event到來的時候,事件觸發電路event_trig會鎖存當前到來的事件,并挑選最高優先級的事件,對改事件進行編號,將改編號作為table_memory的地址,進行讀操作。在table_memory中尋找Task所在地址(首地址),并壓入task_queue,并清除該鎖存狀態。當task_queue滿的時候,產生中斷,報告cpu處理該錯誤。如果當前事件還來不及加入隊列,又來了一次脈沖信號,則仍作為一次事件。event_trig還具備設置相應位的enable/disable功能,由cpu配置。table_memory和task_memory均為可以在總線上尋址的memory,在進入工作模式之前由cpu對這兩塊memory進行初始化。當進入工作模式后,operator自動查詢隊列是否為空,如果不為空則彈出相應地址,對task_memory從該地址開始取指令,直至取得操作碼為end作為任務結束標志,并再次查詢是否隊列為空.
4指令和事件邏輯關系圖
部分微碼指令軟件實現見圖8。
5模塊配置流程
要想該設計在cpu不干預的情況下自動執行,一些基本的初始化的東西可以由CPU初始化完成,也可以在task0里初始化完成,但是后續的一些配置比如清中斷操作必須在task里封裝成指令,然后由easy-master來完成,這樣就不需要cpu干預,后續的任務全部由easy-master來做,然后做好后通知CPU已完成。
6結束語
本文分析了外設—CPU交互方式的局限性和嵌入式設備的特點、趨勢,說明了微碼電路對事件觸發中斷處理、降低功耗、提高處理能力的作用。同時介紹該設計的各個部件。該設計綜合結果,相對于傳統DMA的面積,節省面積15%左右。對需求為低功耗、小面積的芯片來說,很有意義.
《低功耗應用微碼電路設計研究》來源:《中國集成電路》,作者:伍駿 盧磊 劉少慶
文章標題:低功耗應用微碼電路設計研究
轉載請注明來自:http://www.56st48f.cn/fblw/dianxin/dianzijishu/44424.html
攝影藝術領域AHCI期刊推薦《Phot...關注:105
Nature旗下多學科子刊Nature Com...關注:152
中小學教師值得了解,這些教育學...關注:47
2025年寫管理學論文可以用的19個...關注:192
測繪領域科技核心期刊選擇 輕松拿...關注:64
及時開論文檢索證明很重要關注:52
中國水產科學期刊是核心期刊嗎關注:54
國際出書需要了解的問題解答關注:58
合著出書能否評職稱?關注:48
電信學有哪些可投稿的SCI期刊,值...關注:66
通信工程行業論文選題關注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關注:120
評職稱發論文好還是出書好關注:68
復印報刊資料重要轉載來源期刊(...關注:51
英文期刊審稿常見的論文狀態及其...關注:69
copyright © www.56st48f.cn, All Rights Reserved
搜論文知識網 冀ICP備15021333號-3