chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AHB與DMA詳細解讀

周瑾 ? 2024-01-03 09:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

AHB(先進高性能總線)

隨著深亞微米工藝技術(shù)日益成熟,集成電路芯片的規(guī)模越來越大。數(shù)字IC從基于時序驅(qū)動的設(shè)計方法,發(fā)展到基于IP核復(fù)用的設(shè)計方法,并在SOC設(shè)計中得到了廣泛應(yīng)用。在基于IP核復(fù)用的SoC(System on Chip的縮寫,稱為系統(tǒng)級芯片,也有稱片上系統(tǒng))設(shè)計中,片上總線設(shè)計是最關(guān)鍵的問題。為此,業(yè)界出現(xiàn)了很多片上總線標(biāo)準(zhǔn)。其中,由ARM公司推出的AMBA片上總線受到了廣大IP開發(fā)商和SoC系統(tǒng)集成者的青睞,已成為一種流行的工業(yè)標(biāo)準(zhǔn)片上結(jié)構(gòu)。AMBA規(guī)范主要包括了AHB(Advanced High performance Bus)系統(tǒng)總線和APB(Advanced Peripheral Bus)外圍總線。

AHB

AHB=Advanced High Performance Bus,高級高性能總線。如同USB(Universal Serial Bus)一樣,也是一種總線接口。
AHB主要用于高性能模塊(如CPU、DMADSP等)之間的連接,作為SoC的片上系統(tǒng)總線,它包括以下一些特性:單個時鐘邊沿操作;非三態(tài)的實現(xiàn)方式;支持突發(fā)傳輸;支持分段傳輸;支持多個主控制器;可配置32位~128位總線寬度;支持字節(jié)、半字和字的傳輸。AHB 系統(tǒng)由主模塊、從模塊和基礎(chǔ)結(jié)構(gòu)(Infrastructure)3部分組成,整個AHB總線上的傳輸都由主模塊發(fā)出,由從模塊負責(zé)回應(yīng)?;A(chǔ)結(jié)構(gòu)則由仲裁器(arbiter)、主模塊到從模塊的多路器、從模塊到主模塊的多路器、譯碼器(decoder)、虛擬從模塊(dummy Slave)、虛擬主模塊(dummy Master)所組成。針對Soc設(shè)計中IP復(fù)用問題提出了一種新的解決辦法。傳統(tǒng)的方法是將特定功能模塊的非標(biāo)準(zhǔn)接口標(biāo)準(zhǔn)化為AHB主/從設(shè)備接口。本文提出了一種新的基于ARM的Soc通用平臺設(shè)計寄存器總線標(biāo)準(zhǔn)接口,這種設(shè)計使整個系統(tǒng)的結(jié)構(gòu)清晰,增強系統(tǒng)的通用性與系統(tǒng)中功能模塊的可移植性。

AMBA

AMBA 2.0規(guī)范包括四個部分:AHB、ASB、APB和Test Methodology。AHB的相互連接采用了傳統(tǒng)的帶有主模塊和從模塊的共享總線,接口與互連功能分離,這對芯片上模塊之間的互連具有重要意義。AMBA已不僅是一種總線,更是一種帶有接口模塊的互連體系。

APB

APB主要用于低帶寬的周邊外設(shè)之間的連接,例如UART、1284等,它的總線架構(gòu)不像AHB支持多個主模塊,在APB里面唯一的主模塊就是APB 橋。其特性包括:兩個時鐘周期傳輸;無需等待周期和回應(yīng)信號;控制邏輯簡單,只有四個控制信號。
1)系統(tǒng)初始化為IDLE狀態(tài),此時沒有傳輸操作,也沒有選中任何從模塊。2)當(dāng)有傳輸要進行時,PSELx=1,PENABLE=0,系統(tǒng)進入SETUP狀態(tài),并只會在SETUP 狀態(tài)停留一個周期。當(dāng)PCLK的下一個上升沿時到來時,系統(tǒng)進入ENABLE 狀態(tài)。
3)系統(tǒng)進入ENABLE狀態(tài)時,維持之前在SETUP 狀態(tài)的PADDR、PSEL、PWRITE不變,并將PENABLE置為1。傳輸也只會在ENABLE狀態(tài)維持一個周期,在經(jīng)過SETUP與ENABLE狀態(tài)之后就已完成。之后如果沒有傳輸要進行,就進入IDLE狀態(tài)等待;如果有連續(xù)的傳輸,則進入SETUP狀態(tài)。

轉(zhuǎn)換

大多數(shù)掛在總線上的模塊(包括處理器)只是單一屬性的功能模塊:主模塊或者從模塊。主模塊是向從模塊發(fā)出讀寫操作的模塊,如CPU,DSP等;從模塊是接受命令并做出反應(yīng)的模塊,如片上的RAM,AHB/APB 橋等。另外,還有一些模塊同時具有兩種屬性,例如直接存儲器存取(DMA)在被編程時是從模塊,但在系統(tǒng)讀傳輸數(shù)據(jù)時必須是主模塊。如果總線上存在多個主模塊,就需要仲裁器來決定如何控制各種主模塊對總線的訪問。雖然仲裁規(guī)范是AMBA總線規(guī)范中的一部分,但具體使用的算法由RTL設(shè)計工程師決定,其中兩個最常用的算法是固定優(yōu)先級算法和循環(huán)制算法。AHB總線上最多可以有16個主模塊和任意多個從模塊,如果主模塊數(shù)目大于16,則需再加一層結(jié)構(gòu)(具體參閱ARM公司推出的Multi-layer AHB規(guī)范)。APB 橋既是APB總線上唯一的主模塊,也是AHB系統(tǒng)總線上的從模塊。其主要功能是鎖存來自AHB系統(tǒng)總線的地址、數(shù)據(jù)和控制信號,并提供二級譯碼以產(chǎn)生APB外圍設(shè)備的選擇信號,從而實現(xiàn)AHB協(xié)議到APB協(xié)議的轉(zhuǎn)換。

DMA

直接內(nèi)存訪問(DMA,Direct Memory Access)是一些計算機總線架構(gòu)提供的功能,它能使數(shù)據(jù)從附加設(shè)備(如磁盤驅(qū)動器)直接發(fā)送到計算機主板的內(nèi)存上。
通常會指定一個內(nèi)存部分用于直接內(nèi)存訪問。在ISA總線標(biāo)準(zhǔn)中,高達16兆字節(jié)的內(nèi)存可用于DMA。EISA和微通道架構(gòu)標(biāo)準(zhǔn)允許訪問全套內(nèi)存地址(假設(shè)他們可以用32位尋址)。外圍設(shè)備互連通過使用一個總線主控器來完成直接內(nèi)存訪問。直接內(nèi)存訪問的另一個選擇是程控輸入輸出(PIO)接口。在程控輸入輸出接口中,設(shè)備之間所有的數(shù)據(jù)傳輸都要通過處理器。ATA/IDE接口的新協(xié)議是Ultra DMA,它提供的突發(fā)數(shù)據(jù)傳輸速率可達33兆字節(jié)每秒。具有Ultra DMA/33的硬盤驅(qū)動器也支持PIO模式1、3、4和多字DMA模式2(每秒16.6兆字節(jié))。

wKgaomWUt6iACidDAADHqKm446c449.png


外設(shè)與存儲器之間以及存儲器與存儲器之間的數(shù)據(jù)傳輸,通常采用程序中斷方式、程序查詢方式和DMA控制方式。程序中斷方式和程序查詢方式都需要CPU發(fā)出輸入/輸出(In/Out,I/O)的指令,然后等待I/O設(shè)備完成操作之后返回,期間CPU需要等待I/O設(shè)備完成操作。DMA在傳輸存儲器和I/O設(shè)備的數(shù)據(jù)時,無須CPU來控制數(shù)據(jù)的傳輸,直接通過DMA控制器(direct memory access controller,DMAC)完成外設(shè)與存儲器之間以及存儲器與存儲器之間的數(shù)據(jù)高速傳輸。 [3]DMA傳輸原理一個完整的DMA傳輸包括DMA請求、DMA響應(yīng)、DMA傳輸和DMA結(jié)束4個步驟。DMA傳輸原理如圖1所示,圖中I/O設(shè)備為源端設(shè)備,由I/O設(shè)備向目的端設(shè)備(存儲器)傳輸數(shù)據(jù),其DMA的基本傳輸過程如下:①CPU對總線控制器進行初始化,制定工作內(nèi)存空間,讀取DMAC中的寄存器信息,了解DMAC的傳輸狀態(tài)[1];②I/O設(shè)備向DMAC發(fā)送DMA請求(DMA request,DREQ),DMAC收到此信號后,向CPU發(fā)出總線保持信號(HOLD); ③CPU當(dāng)前總線周期執(zhí)行結(jié)束后發(fā)出總線響應(yīng)信號保持確認(rèn)(hold acknowledgment,HLDA); ④DMAC收到總線授權(quán)后,向I/O設(shè)備發(fā)送DMA響應(yīng)信號DMA確認(rèn)(DMA acknowledgment,DACK),表示允許I/O設(shè)備進行DMA傳送;⑤開始傳輸時,DMAC首先從源地址讀取數(shù)據(jù)并存入內(nèi)部緩存中,再寫入目的地址,完成總線數(shù)據(jù)從源地址到目的地址的傳輸[1];⑥D(zhuǎn)MA傳輸完成后,DMAC向CPU發(fā)出結(jié)束信號,釋放總線,使CPU重新獲得總線控制權(quán)。一次DMA傳輸只需要執(zhí)行一個DMA周期,相當(dāng)于一個總線讀/寫周期,因而能夠滿足外設(shè)數(shù)據(jù)高速傳輸?shù)男枰?br />
DMA是所有現(xiàn)代電腦的重要特色,它允許不同速度的硬件設(shè)備來溝通,而不需要依于中央處理器的大量中斷負載。否則,中央處理器需要從來源把每一片段的數(shù)據(jù)復(fù)制到寄存器,然后把它們再次寫回到新的地方。在這個時間中,中央處理器對于其他的工作來說就無法使用。DMA傳輸常使用在將一個內(nèi)存區(qū)從一個設(shè)備復(fù)制到另外一個。當(dāng)中央處理器初始化這個傳輸動作,傳輸動作本身是由DMA控制器來實行和完成。典型的例子就是移動一個外部內(nèi)存的區(qū)塊到芯片內(nèi)部更快的內(nèi)存去。像是這樣的操作并沒有讓處理器工作拖延,使其可以被重新調(diào)度去處理其他的工作。DMA傳輸對于高性能嵌入式系統(tǒng)算法和網(wǎng)絡(luò)是很重要的。 舉個例子,個人電腦的ISADMA控制器擁有8個DMA通道,其中的7個通道是可以讓計算機的中央處理器所利用。每一個DMA通道有一個16位地址寄存器和一個16位計數(shù)寄存器。要初始化數(shù)據(jù)傳輸時,設(shè)備驅(qū)動程序一起設(shè)置DMA通道的地址和計數(shù)寄存器,以及數(shù)據(jù)傳輸?shù)姆较颍x取或?qū)懭?。然后指示DMA硬件開始這個傳輸動作。當(dāng)傳輸結(jié)束的時候,設(shè)備就會以中斷的方式通知中央處理器?!胺稚?收集”(Scatter-gather)DMA允許在一次單一的DMA處理中傳輸數(shù)據(jù)到多個內(nèi)存區(qū)域。相當(dāng)于把多個簡單的DMA要求串在一起。同樣,這樣做的目的是要減輕中央處理器的多次輸出輸入中斷和數(shù)據(jù)復(fù)制任務(wù)。 DRQ意為DMA要求;DACK意為DMA確認(rèn)。這些符號一般在有DMA功能的電腦系統(tǒng)硬件概要上可以看到。它們表示了介于中央處理器和DMA控制器之間的電子信號傳輸線路。

DMA會導(dǎo)致緩存一致性問題。想像中央處理器帶有緩存與外部內(nèi)存的情況,DMA的運作則是去訪問外部內(nèi)存,當(dāng)中央處理器訪問外部內(nèi)存某個地址的時候,暫時先將新的值寫入緩存中,但并未將外部內(nèi)存的數(shù)據(jù)更新,若在緩存中的數(shù)據(jù)尚未更新到外部內(nèi)存前發(fā)生了DMA,則DMA過程將會讀取到未更新的數(shù)據(jù)。相同的,如果外部設(shè)備寫入新的值到外部內(nèi)存內(nèi),則中央處理器若訪問緩存時則會訪問到尚未更新的數(shù)據(jù)。這些問題可以用兩種方法來解決:

1.緩存同調(diào)系統(tǒng)(Cache-coherent system):以硬件方法來完成,當(dāng)外部設(shè)備寫入內(nèi)存時以一個信號來通知緩存控制器某內(nèi)存地址的值已經(jīng)過期或是應(yīng)該更新數(shù)據(jù)。
2.非同調(diào)系統(tǒng)(Non-coherent system):以軟件方法來完成,操作系統(tǒng)必須確認(rèn)緩存讀取時,DMA程序已經(jīng)開始或是禁止DMA發(fā)生。第二種的方法會造成DMA的系統(tǒng)負擔(dān)。

除了與硬件交互相關(guān)外,DMA也可為昂貴的內(nèi)存耗費減負。比如大型的拷貝行為或scatter-gather操作,從中央處理器到專用的DMA引擎。Intel的高端服務(wù)器包含這種引擎,它被稱為I/O加速技術(shù)。

在電腦運算領(lǐng)域,遠程直接內(nèi)存訪問(英語:remote direct memory access,RDMA)是一種直接存儲器訪問技術(shù),它將數(shù)據(jù)直接從一臺計算機的內(nèi)存?zhèn)鬏數(shù)搅硪慌_計算機,無需雙方操作系統(tǒng)的介入。這允許高通量、低延遲的網(wǎng)絡(luò)通信,尤其適合在大規(guī)模并行計算機集群中使用。

RDMA支持零復(fù)制網(wǎng)絡(luò)傳輸,通過使網(wǎng)絡(luò)適配器直接在應(yīng)用程序內(nèi)存間傳輸數(shù)據(jù),不再需要在應(yīng)用程序內(nèi)存與操作系統(tǒng)緩沖區(qū)之間復(fù)制數(shù)據(jù)。這種傳輸不需要中央處理器、CPU緩存或上下文交換參與,并且傳輸可與其他系統(tǒng)操作并行。當(dāng)應(yīng)用程序執(zhí)行RDMA讀取或?qū)懭胝埱髸r,應(yīng)用程序數(shù)據(jù)直接傳輸?shù)骄W(wǎng)絡(luò),從而減少延遲并實現(xiàn)快速的消息傳輸。

但是,這種策略也表現(xiàn)出目標(biāo)節(jié)點不會收到請求完成的通知(單向通信)等相關(guān)的若干問題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18383

    瀏覽量

    378890
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    576

    瀏覽量

    104710
  • AHB
    AHB
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    10448
  • AHB總線
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    9953
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    STM32H743 UART DMA接收不到數(shù)據(jù)是為什么?

    UART3_RX_DMA_RCCRCC_AHB1ENR_DMA1EN #define UART3_RX_DMA_INSTANCEDMA1_Stream1 #define UART3_RX_DMA
    發(fā)表于 09-11 07:14

    HarmonyOSAI編程智能代碼解讀

    CodeGenie > Explain Code,開始解讀當(dāng)前代碼內(nèi)容。 說明 最多支持解讀20000字符以內(nèi)的代碼片段。 使用該功能需先完成CodeGenie登錄授權(quán)。 本文主要從參考引用自HarmonyOS官方文檔
    發(fā)表于 09-02 16:29

    一文詳解AHB-Lite協(xié)議

    主要用于高性能模塊(如CPU、DMA和DSP等)之間的連接,一個master可以有多個slave,AHB和APB之間通過一個AHB2APB橋轉(zhuǎn)接。這里是實現(xiàn)一個AHB_Lite協(xié)議,相
    的頭像 發(fā)表于 08-27 09:23 ?2056次閱讀
    一文詳解<b class='flag-5'>AHB</b>-Lite協(xié)議

    STM32F405RGT6 ADC2+TIM4觸發(fā)+DMA(DMA2_Stream2_CH1)+DMA中斷會死機,怎么解決?

    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2,ENABLE);//DMA2時鐘使能 // Configure PA5 PA4PC2(ADC Channel 5-0-1-13) as ana
    發(fā)表于 08-04 07:16

    FPGA利用DMA IP核實現(xiàn)ADC數(shù)據(jù)采集

    本文介紹如何利用FPGA和DMA技術(shù)處理來自AD9280和AD9708 ADC的數(shù)據(jù)。首先,探討了這兩種ADC的特點及其與FPGA的接口兼容性。接著,詳細說明了使用Xilinx VIVADO環(huán)境下
    的頭像 發(fā)表于 07-29 14:12 ?4296次閱讀

    NVMe IP高速傳輸卻不依賴XDMA設(shè)計之五:DMA 控制單元設(shè)計

    DMA 控制單元負責(zé)控制 DMA 傳輸事務(wù), 該單元承擔(dān)了 DMA 事務(wù)到 NVMe 事務(wù)的轉(zhuǎn)換任務(wù), 使用戶對數(shù)據(jù)傳輸事務(wù)的控制更加簡單快捷。 DMA 控制功能由
    的頭像 發(fā)表于 07-02 19:47 ?1780次閱讀
    NVMe IP高速傳輸卻不依賴XDMA設(shè)計之五:<b class='flag-5'>DMA</b> 控制單元設(shè)計

    【產(chǎn)品介紹】動態(tài)熱機械分析儀DMA 303 Eplexor

    動態(tài)熱機械分析儀DMA303Eplexor動態(tài)熱機械分析解讀各種材料的機械性能動態(tài)熱機械分析(DMA/DMTA)是確定工程材料機械性能,特別是聚合物的黏彈行為的一個不可缺少的工具。通過在動態(tài)振蕩
    的頭像 發(fā)表于 06-12 14:12 ?622次閱讀
    【產(chǎn)品介紹】動態(tài)熱機械分析儀<b class='flag-5'>DMA</b> 303 Eplexor

    方案介紹 | 東科140W高性能極簡AHB方案詳解

    東科不對稱半橋AC-DC電源管理芯片作為業(yè)內(nèi)唯一的全合封單芯片AHB解決方案,外圍遠少于競品方案,調(diào)試難度低,整體成本遠低于競品方案。本文將介紹以東科AHB芯片為核心的一款140WPD方案,具有極簡
    的頭像 發(fā)表于 04-23 10:02 ?1057次閱讀
    方案介紹 | 東科140W高性能極簡<b class='flag-5'>AHB</b>方案詳解

    STM32H743 UART DMA接收不到數(shù)據(jù),為什么?

    UART3_RX_DMA_RCCRCC_AHB1ENR_DMA1EN #define UART3_RX_DMA_INSTANCEDMA1_Stream1 #define UART3_RX_DMA
    發(fā)表于 02-19 06:14

    AMBA AHB協(xié)議規(guī)范

    電子發(fā)燒友網(wǎng)站提供《AMBA AHB協(xié)議規(guī)范.pdf》資料免費下載
    發(fā)表于 02-11 15:51 ?2次下載

    ZYNQ基礎(chǔ)---AXI DMA使用

    前言 在ZYNQ中進行PL-PS數(shù)據(jù)交互的時候,經(jīng)常會使用到DMA,其實在前面的ZYNQ學(xué)習(xí)當(dāng)中,也有學(xué)習(xí)過DMA的使用,那就是通過使用自定義的IP,完成HP接口向內(nèi)存寫入和讀取數(shù)據(jù)的方式。同樣
    的頭像 發(fā)表于 01-06 11:13 ?3135次閱讀
    ZYNQ基礎(chǔ)---AXI <b class='flag-5'>DMA</b>使用

    一種實現(xiàn)寬電壓增益的改進型LLC-AHB變換器

    電子發(fā)燒友網(wǎng)站提供《一種實現(xiàn)寬電壓增益的改進型LLC-AHB變換器.pdf》資料免費下載
    發(fā)表于 12-16 14:39 ?28次下載

    不對稱半橋(AHB)反激變換器的分析與設(shè)計

    電子發(fā)燒友網(wǎng)站提供《不對稱半橋(AHB)反激變換器的分析與設(shè)計.pdf》資料免費下載
    發(fā)表于 12-06 14:57 ?75次下載

    4G模組加解密藝術(shù):通用函數(shù)的深度解讀

    今天是對加解密通用函數(shù)的深度解讀,我將詳細講解,建議收藏,不可錯過。
    的頭像 發(fā)表于 11-12 09:58 ?790次閱讀
    4G模組加解密藝術(shù):通用函數(shù)的深度<b class='flag-5'>解讀</b>

    DMA是什么?詳細介紹

    DMA(Direct Memory Access)是一種允許某些硬件子系統(tǒng)直接訪問系統(tǒng)內(nèi)存的技術(shù),而無需中央處理單元(CPU)的介入。這種技術(shù)可以顯著提高數(shù)據(jù)傳輸速率,減輕CPU的負擔(dān),并提高整體
    的頭像 發(fā)表于 11-11 10:49 ?2.1w次閱讀