CSDN太慢不能忍,CPU 拿硬盘和网卡开刀了!( 二 )


我俩一听 , 妙啊 , 要是能把这体力活外包出去 , 那可简直太好了 , 我们就可以专心做我们的专职工作了 。
“你跟老板平时走得近 , 这事你去说吧” , 我给虎子使了个眼色 , 一起撺掇老八去说这事 。
“行 , 我去就我去” 。
还别说 , 领导立马就同意了这个想法 , 毕竟能提高我们的工作效率 , 他自然是举双手欢迎 。
没过多久 , 就成立了一个外包团队 , 独立出我们厂子 , 专门来负责这件事 。 和我们CPU一样 , 他们也提供了几个寄存器 , 传输数据的时候 , 只需要设置一下这些寄存器的内容 , 告诉他们要传输哪里的数据 , 从哪到哪 , 长度是多少 , 接下来的事情我们就不用操心了 , 交由他们来完成 。 我们就可以腾出功夫做其他事情 , 等数据传输完毕了 , 他们再用中断的方式告诉我们 , 我们直接去处理就好了 , 省去了让我们亲自去搬运的过程 , 真是爽的飞起~
CSDN太慢不能忍,CPU 拿硬盘和网卡开刀了!
本文插图
后来 , 我们给这项技术也取了一个名字 , 叫Direct Memory Access , 直接存储器访问 , 简称DMA , 这个外包团队就是DMAC , DMA控制器 。
DMA全面开花
前几天的月总结会上 , 领导表扬了老八 , 说多亏他的建议让厂里的生产效率大大提升 。 早知道 , 当初就不撺掇老八去跟老板提建议了 , 我自己去 。
CSDN太慢不能忍,CPU 拿硬盘和网卡开刀了!
本文插图
正想着走神 , 突然想到了一个问题 , 这一次我打算抓住机会挣个表现 。
“老板 , 这个DMA技术好是好 , 但现在只能用于硬盘哦 。 最近网卡那家伙数据包也挺多的 , 我花了好多时间去把数据包从网卡读取到内存中 , 又低效又没有技术含量 , 可不可以把这技术推广到网卡上啊?” , 我起身说到 。
老板点了点头 , 若有所思 。
二号车间虎子见状也起身说到:“老板 , 除了硬盘和网卡 , 显示器也有这个需求 。 我经常要疲于奔波于把内存数据传输到显示器 , 也是劳神劳力 , 建议DMA技术也推广到显示器呢”
老板听完 , 皱了皱眉头说到 , “这个不同设备之间的差别还是挺大的 , 没法通用 。 难不成我们要为每个设备成立一个外包团队?这成本有点高啊···”
老板果然还是老板 , 还是把成本考虑在第一位 。
这时 , 爱拍马屁的老八又说话了 , “老板说的是 。 我倒是有个建议 , 这个DMA推广到网卡、显示器这些单位也可以 , 不过让他们自己掏钱来增加DMAC , 按照他们各自不同的需求来做 。 咱们不能当这冤大头”
老板一听 , 喜形于色 , 大声叫好!
CSDN太慢不能忍,CPU 拿硬盘和网卡开刀了!
本文插图
就这样 , 很快我们就把这项技术推广了出去 , 主板上以网卡、显示器、摄像头为首的那些个单位为了不落后于人 , 纷纷拥抱变化 , 集成了DMAC 。
我们得到了彻底的解放 , 再也不用做枯燥的搬运工了~
“阿Q , 听说了吗 , 最近Linux帝国新成立了一个公司 , 居然绕过我们CPU就能把数据从网卡写入硬盘中”
“不可能啊 , 至少得经过我们拷贝一下吧”
“根本不用 , 他们号称是零拷贝技术”
【CSDN太慢不能忍,CPU 拿硬盘和网卡开刀了!】预知后事如何 , 请关注后续精彩·····