色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于總線傳遞數據的2種形式PIO、DMA的解析

MCU開發加油站 ? 2018-01-24 10:48 ? 次閱讀

總線上的數據的傳遞有兩種形式。一種為程控輸入/輸出(PIO)另一種為直接存儲器訪問(DMA)。

1、PIO

使用PIO時,CPU是主模塊,總線上數據的讀取由CPU上運行的軟件程序直接發起,傳遞的數據一定進過CPU(如下面的一、二所述)。

一、軟件指令或者將已經存放在CPU數據寄存器中的數據發送到目標被控模塊;

二、或者將目標被控模塊里的一個數據讀入,放到CPU的數據寄存器中。

例如:需要將數據從模塊A---轉移到----模塊B,軟件將這個任務分解為兩個PIO操作

第一步:從模塊A讀取數據,并存放到CPU的數據寄存器中;

第二步:將存放在CPU數據寄存器中的數據寫入到模塊B。

2、DMA

由于鏈接芯片與芯片之間的系統總線的時鐘頻率比CPU內部的時鐘頻率要低許多,用PIO讀寫大量的數據是一種非常低效的方式占用CPU的處理能力。所以需要利用專門的硬件來協助執行,在芯片與芯片之間或者模塊與模塊之間數據傳輸。這就是DMA。

此時軟件只需要將傳輸數據要求使用PIO通知DMA硬件,DMA硬件按照要求執行數據的傳輸。這期間CPU繼續進行其他工作。當DMA硬件執行完畢數據的傳輸任務之后,通過中斷信號或這通過向主存儲的某個特定地址寫入特定的數值,通知軟件。
基于總線傳遞數據的2種形式PIO、DMA的解析

一個DMA硬件通常包括多個DMA通道。每個通道一般用于一對模塊之間的數據傳輸,通道之間相互獨立。

DMA描述符用于指定如何傳輸數據塊。一個DMA描述符至少包括數據傳輸的源地址(SA)、目的地址(DA)、需要傳輸的數據量(data size)、和每次總線傳輸的數據量(transfer size)。有些DMA模塊要求軟件將DMA描述符的數據結構存放在主存儲器中,使用這個方法的好處時軟件可以十分有效的建立DMA描述符。在DMA執行一個DMA數據傳輸任務之前,DMA先要用DMA的方法,將存放在CPU主存儲的DMA描述符讀到DMA模塊中。

DMA將一個數據塊的傳輸分為兩個步驟。

第一步:從源地址的被控模塊讀取數據;

第二步:將讀取的數據寫入目的地址的被控模塊。

根據DMA描述符的規定,DMA可以在傳輸了一個數據塊之后,自動的將源地址和目的地址更新到下一個數據塊地址,然后DMA開始傳輸下一個數據塊,一直傳輸完實際要求傳輸的數量級。假設一個DMA開始傳輸的數據量是128Byte,每次傳輸的數據塊是16Byte,為了完成這個DMA描述符指定的數據傳輸,DMA自動進行8次總線讀取和8次總線寫入。這些傳輸路徑不經過CPU

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7081

    瀏覽量

    89196
  • 總線
    +關注

    關注

    10

    文章

    2891

    瀏覽量

    88175
  • dma
    dma
    +關注

    關注

    3

    文章

    565

    瀏覽量

    100673
  • PIO
    PIO
    +關注

    關注

    0

    文章

    18

    瀏覽量

    6228

原文標題:總線的兩種數據傳遞形式:PIO、DMA

文章出處:【微信號:mcugeek,微信公眾號:MCU開發加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    圖文并茂解析stm32 DMA

    總線上。DMA總共有7個通道,各個通道的DMA映射關系如下:外設的事件連接至相應DMA通道,每個通道均可以通過軟件觸發實現存儲器內部的DMA
    發表于 02-12 15:42

    請問DMA傳輸數據的過程是什么?

    網上有說DMA內存到外設間傳輸數據的過程為:1、內存 到 外設2、內存 到 DMAC 到 外設3、內存 到 數據總線
    發表于 01-30 06:36

    ISA總線的標準DMA技術在Linux中的實現

    1.DMA概述   DMA是外設與主存之間的一種數據傳輸機制。一般來說,外設與主存之間存在兩種數據傳輸方法:(1)Pragrammed I/O(PI
    發表于 07-01 08:10

    串口DMA+中斷的形式如何接收不定長的數據

    串口DMA+中斷的形式如何接收不定長的數據
    發表于 12-08 06:07

    DMA工作原理與常用函數解析

    【嵌入式系統】DMA工作原理與常用函數解析1、DMA基本原理直接存儲器訪問通道(DMA, Direct Memory Access)用來提供在外設和存儲器之間或者存儲器和存儲器之間的高
    發表于 12-16 07:15

    DMA可以傳遞多少數據

    DMA有什么用? 有多少個DMA資源?DMA可以傳遞多少數據
    發表于 02-14 07:46

    體驗紫光PCIE之DMA讀寫/PIO內存讀寫TLP解析

    1.1 PIO內存讀寫操作TLP解析 PCIE有三空間——內存空間、IO空間、配置空間,其中內存空間是目前PCIE設備常用的空間,IO空間是為了兼容以前的PCI設備(PCIE設備幾乎不用IO空間了
    發表于 11-17 15:08

    基于Linux嵌入式系統的ISA總線DMA的實現

      1.DMA概述   DMA是外設與主存之間的一種數據傳輸機制。一般來說,外設與主存之間存在兩種數據傳輸方法:(1)Pragrammed I/O(
    發表于 08-27 15:37 ?558次閱讀

    ISA總線DMA技術

    DMA是外設與主存之間的一種數據傳輸機制。一般來說,外設與主存之間存在兩種數據傳輸方法:(1)Pragrammed I/O(PIO)方法
    發表于 05-14 10:04 ?3551次閱讀

    基于Linux的ISA總線DMA的實現

    DMA是外設與主存之間的一種數據傳輸機制。一般來說,外設與主存之間存在兩種數據傳輸方法:(1)Pragrammed I/O(PIO)方法,也即由CPU通過內存讀寫指令或I/O指令來持續
    發表于 11-14 17:44 ?1318次閱讀

    基于Linux嵌入式系統的ISA總線DMA的實現

    1.DMA概述 DMA是外設與主存之間的一種數據傳輸機制。一般來說,外設與主存之間存在兩種數據傳輸方法:(1)Pragrammed I/O(PIO
    發表于 12-07 19:13 ?378次閱讀

    I2C總線物理拓撲結構_I2C總線協議解析

    I2C 總線在物理連接上非常簡單,分別由SDA(串行數據線)和SCL(串行時鐘線)及上拉電阻組成。通信原理是通過對SCL和SDA線高低電平時序的控制,來 產生I2C
    的頭像 發表于 09-24 14:12 ?6211次閱讀
    I<b class='flag-5'>2</b>C<b class='flag-5'>總線</b>物理拓撲結構_I<b class='flag-5'>2</b>C<b class='flag-5'>總線</b>協議<b class='flag-5'>解析</b>

    如何將QCC5127的PIO2作為普通PIO口使用

    ? 本文介紹如何將QCC5127的PIO2作為普通PIO口使用。猜測:該方法除了適用于PIO2,應該也同樣適用于PIO32、PIO34、
    的頭像 發表于 01-18 13:48 ?3764次閱讀
    如何將QCC5127的<b class='flag-5'>PIO2</b>作為普通<b class='flag-5'>PIO</b>口使用

    總線數據傳遞形式PIODMA介紹資料下載

    電子發燒友網為你提供兩總線數據傳遞形式PIO
    發表于 04-19 08:46 ?4次下載
    兩<b class='flag-5'>種</b><b class='flag-5'>總線</b><b class='flag-5'>數據</b>兩<b class='flag-5'>種</b><b class='flag-5'>傳遞</b><b class='flag-5'>形式</b>:<b class='flag-5'>PIO</b>、<b class='flag-5'>DMA</b>介紹資料下載

    基于STM32F407的DMA解析-ADC單通道DMA讀取數據

    現場的過程,通過硬件為 RAM 與 I/O 設備開辟一條直接傳送數據的通路,能使 CPU 的效率大為提高。 STM32F407ZGT6 有 2DMA 控制器(DMA1 和
    發表于 11-25 09:51 ?5次下載
    基于STM32F407的<b class='flag-5'>DMA</b><b class='flag-5'>解析</b>-ADC單通道<b class='flag-5'>DMA</b>讀取<b class='flag-5'>數據</b>
    主站蜘蛛池模板: 桥本有菜护士| 亚洲AV精品乱码专区| 中文字幕亚洲欧美日韩2019 | 午夜dj免费中文字幕| 国产亚洲精品久久久999密臂| 亚洲精品成人a| 哪灬你的鸣巴好大| 国产产一区二区三区久久毛片国语| 小黄文污到你湿| 辣文肉高h粗暴| 风车动漫(p)_在线观看官网| 亚洲AV无码专区国产乱码网站| 九九免费高清在线观看视频| 18av 在线| 小柔的性放荡羞辱日记| 老湿司午夜爽爽影院榴莲视频| 扒开女人下面使劲桶动态图| 亚洲精品天堂在线| 欧美日韩高清一区| 狠狠撸亚洲视频| 草莓AV福利网站导航| 亚洲中文字幕一二三四区苍井空 | 日韩无码在线| 久久草香蕉频线观| 俄罗斯爱爱| 18动漫在线观看| 午夜理伦大片一级| 牛牛在线1视频| 黑人巨大交牲老太| 超碰国产亚洲人人| 中文字幕在线免费视频| 小小水蜜桃3视频在线观看| 欧美 亚洲 日韩 在线综合| 国内久久久久影院精品| 成人18视频在线| 欧美日韩看看2015永久免费| 陈红下面又紧又小好爽| 婷婷亚洲AV色香蕉蜜桃| 亚洲 无码 在线 专区| 蜜臀AV中文字幕熟女人妻| 国产午夜不卡在线观看视频666|