DMA(Direct Memory Access)直接储存器存储和几个概念的区别

储存器:就是只读寄存器(rom)和随机存取寄存器(ram),可以被理解为连接硬件和软件的桥梁。

在计算机系统里面可以认为是:临时存数据,指令地址,状态信息,它的存在是方便中央处理器快速访问和处理。

在硬件层面上面:软件可以通过访问特定寄存器来控制,操作硬件行为或者设置微控制器的参数。

我们写代码的时候,编译器将高级语言(c语言)转化为机械码,并且用寄存器来优化代码执行,比如存储变量,执行算术运算等。

sram和dram对应,区别是:前者是晶体管存数据,后者是电容存数据;

最大不同是dram必须时刻刷新操作来保持其内存储数据,断电就没了。

前者速度快稳定,成本高,集成度低;后者读写满,集成度高,成本低。

前者是高速缓存寄存器文件,后者是主要被用为内存,空间大和便宜。

rom和ram对应,区别是:

rom是断电也不丢失数据,只能读不能写或者该,就比如说是存储固定的系统指令和数据

ram是断电丢失数据,随队很快,随时读写,存储临时操作系统和程序和数据等等。

rom大部分是不可扩展,固定的。ram直接加内存条就行了。

程序存储器flash和eeprom对应,区别是:

flash以块或者页为单位进行擦除或者写入,eeprom是按照字节操作,eeprom比较温柔细腻,flash就很粗犷和豪放。

flash跑得快,eeprom运行慢。

eeprom的擦除次数高,flash是寿命长。

flash是用来存大量数据,如操作系统和应用程序和大型数据文件,eeprom是存储销量和频繁更新数据的,比如设备参数配置和用户设置等等。

寄存器:

DMA    (数据转运小助手),他有权限直接访问上面的类型的数据:

直接进行外设和存储器或者存储器和存储器之间的高速数据传输,不用cpu干预,节约了资源,支持了软件触发和特定硬件出发。        c8t6有dma1一个通道,

软件读写寄存器就相当于控制硬件的执行

仲裁器,调度各个通道,防止产生冲突。

优先级,默认通道越小,优先级越高。

选择硬件出发需要看哪条通道,否则不能启动触发。

目标 数据宽度比 源端数据宽度大,在目标数据前面多出来的空位补0

目标 数据宽度比 源端数据宽度小,就是把多出来的高位删除掉。

(大转小,舍弃高位。小转大,那么我们就在前面进行补0的操作)

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值