接口-请问:其它外设是否使用DMA?

问题描述

请问:其它外设是否使用DMA?

我能够理解IDE硬盘使用DMA的方式,我也知道使用DMA需要主板、操作系统和硬盘的三者配合。从相关资料来看,很多外设或单片机内部也使用DMA。
但我无法理解:1、除了IDE接口设备使用主板DMA外,其它接口的外设是否使用主板DMA(如果有如何查看)?(SATA硬盘应该也使用主板DMA)
2、问:硬盘使用主板DMA,是仅需要驱动的支持,还是同时需要硬盘芯片的支持?
3、问:使用DMA,是否必须要达到某个传输速度?
4、问:使用主板DMA与接口有关吗?USB、并行接口、火线接口等是否使用主板DMA?
5、问:移动硬盘的盘体支持DMA,那么硬盘转USB后还使用主板DAM吗?
请各位大侠不吝赐教!
请讲的通俗,这些问题已困扰我多日!

解决方案

显示卡、PCIE、一部分网卡都是支持DMA的,USB 2.0/3.0设备也是支持DMA的,这是指在底层驱动支持。
不支持DMA的设备,使用中断,而DMA,则和内存混合编址,如同访问内存一样操作这些设备。

解决方案二:

DMA首先需要硬件的支持,其次需要软件的支持

时间: 2024-09-17 04:26:31

接口-请问:其它外设是否使用DMA?的相关文章

接口-请问微信支付支付成功后如何获取所谓notify的返回值

问题描述 请问微信支付支付成功后如何获取所谓notify的返回值 情况其实不复杂,就是有一个地方一直没搞明白.我已经按照demo构成好了xml包,顺利的换取到了prepal_id,也通过js的那个接口,顺利的能弹出输入密码的对话框,也能输入密码并且钱也到了我的账户上来,都OK. 但一直困扰我的是这个:$input->SetNotify_url("http://www.xxxx.com/index.php/aaa/bbb");这一行似乎一直不起作用.因为在调用了获取prepal_i

农民伯伯 谈 接口 [interface]

前言      相信大家对接口是不陌生的,但是你真的理解什么是接口吗?真的能用好吗?我们口口声声说按接口编程,到底如何接口编程呢?接口编程的意义在哪呢?...对于接口的迷茫,经常在三层结构里面看到的,千篇一律的把每一个Dao都写一个接口,每个Service再写一个接口,因为他们看的例子就是这样的,网上很多例子都是这样的,这就叫按接口编程了?!心里没底,到下次自己写项目自己设计的时候再加上赶进度怕是没这么勤奋的复制粘贴了,原因还是没有明白接口到底有什么用!甚着感觉接口这玩意就像脱裤子放屁--多此一

伯伯菜园系列 之 “接口”白菜

前言 相信大家对接口是不陌生的,但是你真的理解什么是接口吗?真的能用好吗?我们口口声声说按接口 编程,到底如何接口编程呢?接口编程的意义在哪呢?...对于接口的迷茫,经常在三层结构里面看到的 ,千篇一律的把每一个Dao都写一个接口,每个Service再写一个接口,因为他们看的例子就是这样的,网 上很多例子都是这样的,这就叫按接口编程了?!心里没底,到下次自己写项目自己设计的时候再加上赶 进度怕是没这么勤奋的复制粘贴了,原因还是没有明白接口到底有什么用!甚着感觉接口这玩意就像脱裤 子放屁--多此一

C#中多线程调用Com接口如何操作

问题描述 我的程序要要Activex中用到socket的接收数据,这时要开线程,但是调用javascript函数确要用到com接口这时就出现多线程不支持com接口.请问高手如何操作 解决方案 解决方案二:关注!解决方案三:关注!解决方案四:Activex不支持多线程解决方案五:多线程不支持还能怎么办.解决方案六:学习一下,帮忙顶一下.解决方案七:凡是不支持多线程的可以用用框架模拟多线程但是你这个问题我不知道怎么处理解决方案八:com口不能多线程,因为com是临界资源,一次只能一个线程对它进行操作

存储器结构、cache、DMA架构分析--【原创】

存储器的层次结构       高速缓冲存储器  cache   读cache操作     cache如果包含数据就直接从cache中读出来,因为cache速度要比内存快 如果没有包含的话,就从内存中找,找到后就放到cache中去,以后再读的话就直接从cache读了,下次访问很多次的时候就会快很多,相当于提高了命中率,cpu的访问速度就大大提高了   cache能大大提高cpu的访问速率   cache的设计 不能太大,也不能太小   太大的话,因为程序在查看数据的时候需要把cache走一遍,如果

解决移动硬盘在我的电脑中无法显示的问题

新买的移动硬盘在我的电脑中无法显示,但是右下角图标显示已经连接,请问是什么问题?XP 和VISTA系统都试过了,在我的电脑中不显示移动硬盘. 答:新买的?是不是还没有分区啊?那当然不显示啊. 插上移动硬盘后,我的电脑-右键-管理-磁盘管理,这里面应该能看到你的移动硬盘,应该显示未划分,你分区并格式化就好了. 答:可能原因如下: 1.你的移动硬盘没有分区. 右键单击"我的电脑"--管理--磁盘管理--右边窗口是否能够看到移动硬盘盘符?如果可以看到,右键单击格式化即可. 2.如果已经分区,

VC/MFC 编程技巧大总结

 1 toolbar默认位图左上角那个点的颜色是透明色,不喜欢的话可以自己改. 2 VC++中 WM_QUERYENDSESSION WM_ENDSESSION 为系统关机消息. 3 Java学习书推荐:<java编程思想> 4 在VC下执行DOS命令 a. system("md c:\\12"); b. WinExec("Cmd.exe /C md c:\\12", SW_HIDE); c. ShellExecute ShellExecute(NULL

《奔跑吧Linux内核》之处理器体系结构

本文摘自人民邮电出版社异步社区<奔跑吧Linux内核> 第1章 处理器体系结构 京东购书:https://item.jd.com/12152745.html 试读地址:http://www.epubit.com.cn/book/details/4835本章思考题 1.请简述精简指令集RISC和复杂指令集CISC的区别. 2.请简述数值0x12345678在大小端字节序处理器的存储器中的存储方式. 3.请简述在你所熟悉的处理器(比如双核Cortex-A9)中一条存储读写指令的执行全过程. 4.请

stm32开发之标准库的介绍

1 STM32标准外设库概述 STM32标准外设库之前的版本也称固件函数库或简称固件库,是一个固件函数包,它由程序.数据结构和宏组成,包括了微控制器所有外设的性能特征.该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设.因此,使用固态函数库可以大大减少用户的程序编写时间,进而降低开发成本.每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能.每个器件的开发都由一个通用API (