新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種提高系統響應速度的SoC系統架構

        一種提高系統響應速度的SoC系統架構

        作者: 時間:2012-05-23 來源:網絡 收藏

        引言

        本文引用地址:http://www.104case.com/article/149003.htm

          隨著微電子技術的飛速發展,集成電路規模按照摩爾定律飛速,片上(System ON Chip,)技術成為超大規模集成電路的發展趨勢。芯片性能的不斷、各模塊間的數據交換成為微處理器運行的瓶頸。DMA(Direct Memory Access,直接存儲器存取)是一種快速傳送數據的機制。DMA控制器能夠有效替代微處理器的加載/存儲指令,顯著提高的并行能力。DMA是在存儲器與輸入/輸出設備間直接傳送數據,是一種完全由硬件完成輸入/輸出操作的方式。數據傳遞可以從外設到內存,從內存到外設。但DMA控制器的引入也引進了影響系統的因素。本文講述以包含單個AHB master接口的DMA控制器為基礎的系統藍本,分析存在的不足之處,并引入一種以新型DMA控制器為基礎的SoC系統的設計,解決提出的問題。

          1 對異步事件

          系統實時性是指能在限定時間內完成任務,并對外部異步事件作出及時。限定時間根據應用的要求不同而變化。實時系統的實時性與使用的軟硬件平臺有關。嵌入式系統的中斷服務響應時間是指從某一個中斷源發出中斷服務請求,到處理器響應這個中斷源的中斷服務請求,并開始執行這個中斷源的中斷服務程序所用的這一段時間。嵌入式操作系統中的進程調度是靠中斷實現的,處理器對系統中或系統外發生的異步事件的響應速度是決定系統響應速度的關鍵因素。中斷響應時間是一個非常重要的指標。特別是在實時計算機系統中,中斷響應時間是整個計算機系統的一個關鍵性指標。影響中斷服務響應的因素有很多,如中斷源本身相對于其他中斷源的優先級設置。在內核不適合或不可能使用中斷技術期間,不能進行中斷響應。因此這段時間也相當于一段中斷響應延時,DMA操作就是其中一個因素。因為DMA傳輸也相當于一種中斷,只不過它向處理器申請的是總線控制權,而不是處理器本身。在DMA傳輸期間,由于處理器要把總線控制權讓給DMA而失去總線控制權,盡管處理器可以做些不使用總線的工作,但肯定不會馬上響應來自總線的外部中斷請求,因此會造成較大的中斷延時。

          2 包含DMA的SoC系統

          2.1 DMA結構介紹

          一般而言,DMA控制器的功能與結構是由系統結構決定的。但是作為IP而言,DMA控制器又要有其一般性。DMA是指外部設備直接對計算機存儲器進行讀寫操作的I/O方式。這種方式下數據的讀寫無需處理器執行指令,也不經過處理器內部寄存器,而是利用系統的數據總線,由外設直接對存儲器寫入或讀出,從而達到極高的傳輸效率。DMA技術的重要性在于,利用它進行數據存取時不需要處理器進行干預,可提高系統執行應用程序的效率。利用DMA傳送數據的另一個好處是數據直接在源地址和目的地址之間傳送,不需要中間媒介。在大部分基于AMBA總線的SoC:系統中,當需要進行DMA操作時,DMA控制器先向處理器發出占用總線的請求,當總線請求成功后,處理器將總線使用權交給DMA控制器,可以進行數據傳輸,當此次DMA傳輸完成后DMA控制器釋放總線控制權。

          AMBA是ARM公司提出的用于微處理器片上通信的先進的總線結構。一種典型的AMBA總線由AHB和APB總線分段構成。總線上的設備可以分為能夠主動讀寫的主設備(maSTer)與只能接收來自master請求的從設備(slave)。針對DMA控制器的研究引出了新的SoC架構,如使用分布式Fly-by DMA結構,為數據吞吐量大的模塊預設專用通道等。從功耗的角度看,當系統中存在較多master模塊時,總線仲裁器的負擔加重,而仲裁器正是AMBA總線功耗的主要來源。

          2.2 包含AHB主從接口DMA控制器的SoC系統架構

          為了緩解在同一系統中需要同時實現大批量的數據傳輸,提出如圖1所示的基于AMBA總線的SoC系統架構。從圖中可以看出,系統處理器的數據接口與指令接口都是作為AHB的master掛接在AHB總線上。主存通過slave接口掛接在AHB總線上,而DMA控制器同時包含master與slave接口,掛接在AHB總線上。slave接口用來對DMA控制器內部寄存器進行配置,master用來向AHB申請AHB總線控制權,并進行DMA傳輸。

          在圖1中Memory是通過AHB的slave接口掛在AHB總線上。DMA控制器包含的2個接口,slave接口完成DMA內部寄存器的配置后,master接口可申請AHB總線使用權,當獲得許可后,開始占用AHB總線,實現DMA數據傳輸。如此使處理器從外設間的大批量數據傳輸解放出來,直接由DMA來完成,提高了數據傳輸放率。但也因此而產生了一個問題:當DMA占用AHB總線時處理器不能通過AHB接口去實現取指及讀寫數據。雖然在現在大部分處理器內部或外部配備了容量較大的高速緩存(Cache),當DMA控制器占用內存時,處理器仍可利用Cache中的程序和數據繼續運行;但Cache是利用程序的局部性原理,當處理器執行的操作有良好的局部性時,在DMA占用AHB總線期間可以利用Cache里的指令和數據繼續運行,但若此時有設備產生中斷,此時處理器的PC指針就會產生跳轉,從而會產生Cache不能命中的情況。而AHB總線又被DMA控制器占據,處理器不能對外取指,而且Cache的容量因成本問題不可能太大,從而影響處理器的效率。

         
         


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 甘洛县| 响水县| 桃江县| 舟山市| 满城县| 门源| 邳州市| 尖扎县| 永泰县| 龙州县| 科技| 泰兴市| 洱源县| 渭南市| 康保县| 达孜县| 武威市| 周至县| 牟定县| 合川市| 陆川县| 广昌县| 虹口区| 海原县| 吉隆县| 广水市| 泗洪县| 阿图什市| 墨玉县| 清丰县| 琼中| 监利县| 梅河口市| 同仁县| 依兰县| 鄂州市| 什邡市| 城固县| 陕西省| 东乡族自治县| 黎平县|