在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    7246

    瀏覽量

    91106
  • 總線
    +關注

    關注

    10

    文章

    2953

    瀏覽量

    89393
  • dma
    dma
    +關注

    關注

    3

    文章

    573

    瀏覽量

    102391
  • PIO
    PIO
    +關注

    關注

    0

    文章

    19

    瀏覽量

    6374

原文標題:總線的兩種數據傳遞形式: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 ?614次閱讀

    ISA總線DMA技術

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

    基于Linux的ISA總線DMA的實現

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

    基于AMBA總線DMA控制器IP核設計

    制造廠商都有自己的解決方案。本文通過介紹一基于ARM總線之一的AHB總線DMA控制器的IP核設計,簡述了IP核設計的流程和需要重點注意的地方。
    發表于 12-06 13:41 ?4023次閱讀
    基于AMBA<b class='flag-5'>總線</b>的<b class='flag-5'>DMA</b>控制器IP核設計

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

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

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

    ? 本文介紹如何將QCC5127的PIO2作為普通PIO口使用。猜測:該方法除了適用于PIO2,應該也同樣適用于PIO32、PIO34、
    的頭像 發表于 01-18 13:48 ?4135次閱讀
    如何將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>
    主站蜘蛛池模板: 伊人精品视频在线 | 影音先锋五月天 | 一区二区影视 | 午夜美女写真福利写视频 | 久热中文字幕在线精品免费 | 天天爽天天爱 | 色噜噜在线视频 | 色婷婷亚洲精品综合影院 | 米奇精品一区二区三区 | 奇米影视四色7777 | 人人洗澡人人洗澡人人 | 69久久夜色精品国产69小说 | 色片视频网站 | 色秀视频免费高清网站 | 亚洲色图综合图区 | 国产一区在线播放 | 97人人在线视频 | 免费精品 | 日本污全彩肉肉无遮挡彩色 | 天天做天天爱天天综合网2021 | 国产手机视频在线 | 国产女人在线视频 | 免费黄色| 国产成人精品影视 | 1024国产基地永久免费 | 秋霞麻豆 | 激情丁香六月 | 视频1区| 狠狠色丁香婷婷综合小时婷婷 | 六月丁香激情综合成人 | 天天干夜夜夜 | 亚洲最大成人网色 | 色噜噜狠狠色综合欧洲selulu | 香焦视频在线观看黄 | 天天天做天天天天爱天天想 | 在线观看886影院成人影院 | 欧美一二 | 免费的黄色片 | 欧美成人高清性色生活 | 国产三级在线观看 | 欧美一级第一免费高清 |