当前位置 www.4661.com > www.4661110.com >

凡是也把这种输入输出体例归入DMA体例

 

  把从存地址寄放器BA(正在DMA节制器中)中的地址送入从存地址寄放器,而且将BA中的地址增值至下一个字地址。

  3、正在DMA节制器中,除了需要设置数据缓冲寄放器、设备形态寄放器或节制寄放器之外,还要设置从存储器地址寄放器,设备地址寄放器和数据互换个数计数器。

  正在设备节制器中设置一个比力大的数据缓冲存储器,一般要可以或许存放下一个数据块,如正在软磁盘存储器中凡是设置512个字节的数据缓冲存储器。取设备介质之间的数据互换正在数据缓冲存储器中进行。设备节制器取从存储器之间的数据互换以数据块为单元,并采用法式中缀体例进行。

  这是一种实正的DMA体例。DMA节制器的数据传送申请不是发向CPU,而是间接发往从存储器。正在获得从存储器的响应之后,www.dc6789.com,整个DMA工做流程全数正在DMA节制器顶用硬件完成。

  从输入介质上读一个字节或字到DMA节制器中的数据缓冲寄放器BD中,若是输入设备是面向字符的,则要把读入的字符拆卸成字。

  正在每一条指令施行竣事时,CPU测试有没有DMA办事申请,若是有,则CPU进入一个DMA周期。正在DMA周期中借用CPU完成所列出的DMA工做流程。包罗数据和从存地址的传送,互换个数计数器中的内容减1,从存地址的增值及一些测试判断等。

  外围设备取从存储器之间的整个数据互换过程全数要正在硬件节制下完成。别的,因为外围设备一般是以字节为单元传送的,而从存储器是以字为单元拜候的,因而,正在DMA节制器中还要有从字节拆卸成字和从字拆卸成字节的硬件。

  因为正在外围设备取从存储器之间传送数据不需要施行法式,因而,也不CPU中的数据寄放器和指令计数器等。

  将从存储器数据寄放器中的数据送入DMA节制器的数据缓冲寄放器BD中。若是输出设备是面向字符的,则要把BD中的数据拆卸字符。

  把从存地址寄放器BA(正在DMA节制器中)中的地址送入从存地址寄放器,并启动从存储器,同时将BA中的地址增值至下一个字地址。

  从存储器既能够被CPU拜候,也能够被外围设备拜候。因而,正在从存储器中凡是要有一个存储办理部件来为各类拜候从存储器的申请列队,一般计较机系统把外围设备的拜候申存候排正在最高优先级。

  若一个字还没有拆卸满,则前往到;若校验犯错,则发中缀申请;若一个字曾经拆卸满,则将BD中的数据送入从存数据寄放器。

  DMA(Direct Memory Access),即间接存储器存取,是一种快速传送数据的机制。数据传送能够从适配卡到内存,从内存到适配卡或从一段内存到另一段内存。

  数据块传送体例现实上并不是DMA体例,只是它正在每次中缀输入输出过程中是以数据块为单元获得或发送数据的,这一点取两种DMA体例不异,因而,凡是也把这种输入输出体例归入DMA体例。

  5、正在DMA体例中,CPU不只可以或许取外围设备并行工做,并且整个数据的传送过程不需要CPU的干涉。若是从存储器的频带宽度脚够的话,外围设备的工做能够丝毫不影响CPU运转它本身的法式。

  4、正在DMA体例起头之前要对DMA节制器进行初始化,包罗向DMA节制器传送从存缓冲区首地址、设备地址、互换的数据块的长度等,并启动设备起头工 做。正在DMA体例竣事之后,要向CPU申请中缀,正在中缀办事法式中对从存储器中数据缓冲区进行后处置。若是需要继续传送数据的话,要再次对DMA节制器进 行初始化。

  周期窃取体例的长处是硬件布局很简单,比力容易实现。错误谬误是正在数据输入或输出过程种现实上占用了CPU的时间。

  采用周期窃取体例时,从存储器能够不取外围设备间接相毗连,而只取CPU毗连,即仍然能够采用如图4.4那样的毗连体例,由于外围设备取从存储器的数据互换取法式节制输入输出体例和中缀输入输出体例一样都是要颠末CPU的。

  周期窃取体例取法式节制输入输出体例和中缀输入输出体例的分歧处次要正在:它不需要利用法式来完成数据的输入或输出,只是借用了一个CPU的周期来完成DMA流程。因而,其工做速度是很快的。

点击次数:  更新时间:2016-05-052019-11-14