一、轮询方式

对I/O设备的程序轮询的方式,是早期的计算机系统对I/O设备的一种管理方式。它定时对各种设备轮流询问一遍有无处理要求。轮流询问之后,有要求的,则加以处理。在处理I/O设备的要求之后,处理机返回继续工作。

尽管轮询需要时间,但轮询不比I/O设备的速度要快得多,所以一般不会发生不能及时处理的问题。

当然,再快的处理机,能处理的输入输出设备的数量也是有一定限度的。而且,程序轮询毕竟占据了CPU相当一部分处理时间,因此程序轮询是一种效率较低的方式,在现代计算机系统中已很少应用。

二、中断方式

处理器的高速和输入输出设备的低速是一对矛盾,是设备管理要解决的一个重要问题。为了提高整体效率,减少在程序直接控制方式中CPU之间的数据传送,是很必要的。

在I/O设备中断方式下,中央处理器与I/O设备之间数据的传输步骤如下:

⑴在某个进程需要数据时,发出指令启动输入输出设备准备数据

⑵在进程发出指令启动设备之后,该进程放弃处理器,等待相关I/O操作完成。此时,进程调度程序会调度其他就绪进程使用处理器。

⑶当I/O操作完成时,输入输出设备控制器通过中断请求线向处理器发出中断信号,处理器收到中断信号之后,转向预先设计好的中断处理程序,对数据传送工作进行相应的处理。

⑷得到了数据的进程,转入就绪状态。在随后的某个时刻,进程调度程序会选中该进程继续工作。

中断方式的优缺点

I/O设备中断方式使处理器的利用率提高,且能支持多道程序和I/O设备的并行操作。

不过,中断方式仍然存在一些问题。首先,现代计算机系统通常配置有各种各样的输入输出设备。如果这些I/O设备都同过中断处理方式进行并行操作,那么中断次数的急剧增加会造成CPU无法响应中断和出现数据丢失现象。

其次,如果I/O控制器的数据缓冲区比较小,在缓冲区装满数据之后将会发生中断。那么,在数据传送过程中,发生中断的机会较多,这将耗去大量的CPU处理时间。

三、直接内存存取(DMA)方式

直接内存存取技术是指,数据在内存与I/O设备间直接进行成块传输。

DMA技术特征

DMA有两个技术特征,首先是直接传送,其次是块传送。

所谓直接传送,即在内存与IO设备间传送一个数据块的过程中,不需要CPU的任何中间干涉,只需要CPU在过程开始时向设备发出“传送块数据”的命令,然后通过中断来得知过程是否结束和下次操作是否准备就绪。

DMA工作过程

⑴当进程要求设备输入数据时,CPU把准备存放输入数据的内存起始地址以及要传送的字节数分别送入DMA控制器中的内存地址寄存器和传送字节计数器。

⑵发出数据传输要求的进行进入等待状态。此时正在执行的CPU指令被暂时挂起。进程调度程序调度其他进程占据CPU。

⑶输入设备不断地窃取CPU工作周期,将数据缓冲寄存器中的数据源源不断地写入内存,直到所要求的字节全部传送完毕。

⑷DMA控制器在传送完所有字节时,通过中断请求线发出中断信号。CPU在接收到中断信号后,转入中断处理程序进行后续处理。

⑸中断处理结束后,CPU返回到被中断的进程中,或切换到新的进程上下文环境中,继续执行。  DMA与中断的区别

⑴中断方式是在数据缓冲寄存器满之后发出中断,要求CPU进行中断处理,而DMA方式则是在所要求传送的数据块全部传送结束时要求CPU 进行中断处理。这就大大减少了CPU进行中断处理的次数。

⑵中断方式的数据传送是在中断处理时由CPU控制完成的,而DMA方式则是在DMA控制器的控制下,不经过CPU控制完成的。这就排除了CPU因并行设备过多而来不及处理以及因速度不匹配而造成数据丢失等现象。  DMA方式的优缺点

在DMA方式中,由于I/O设备直接同内存发生成块的数据交换,因此I/O效率比较高。由于DMA技术可以提高I/O效率,因此在现代计算机系统中, 得到了广泛的应用。许多输入输出设备的控制器,特别是块设备的控制器,都支持DMA方式。

通过上述分析可以看出,DMA控制器功能的强弱,是决定DMA效率的关键因素。DMA控制器需要为每次数据传送做大量的工作,数据传送单位的增大意味着传送次数的减少。另外,DMA方式窃取了始终周期,CPU处理效率降低了,要想尽量少地窃取始终周期,就要设法提高DMA控制器的性能,这样可以较少地影响CPU出理效率。

四、通道方式

输入/输出通道是一个独立于CPU的,专门管理I/O的处理机,它控制设备与内存直接进行数据交换。它有自己的通道指令,这些通道指令由CPU启动,并在操作结束时向CPU发出中断信号,见图6-3。

输入/输出通道控制是一种以内存为中心,实现设备和内参内直接交换数据的控制方式。在通道方式中,数据的传送方向、存放数据的内存起始地址以及传送的数据块长度等都由通道来进行控制。

另外,通道控制方式可以做到一个通道控制多台设备与内存进行数据交换。因而,通道方式进一步减轻了CPU的工作负担,增加了计算机系统的并行工作程度。  输入/输出通道分类

按照信息交换方式和所连接的设备种类不同,通道可以分为以下三种类型:

⑴字节多路通道

它适用于连接打印机、终端等低速或中速的I/O设备。这种通道以字节为单位交叉工作:当为一台设备传送一个字节后,立即转去为另一它设备传送一个字节。

⑵选择通道

它适用于连接磁盘、磁带等高速设备。这种通道以“组方式”工作,每次传送一批数据,传送速率很高,但在一段时间只能为一台设备服务。每当一个I/O请求处理完之后,就选择另一台设备并为其服务。

⑶成组多路通道

这种通道综合了字节多路通道分时工作和选择通道传输速率高的特点,其实质是:对通道程序采用多道程序设计技术,使得与通道连接的设备可以并行工作。  通道工作原理

在通道控制方式中,I/O设备控制器(常简称为I/O控制器)中没有传送字节计数器和内存地址寄存器,但多了通道设备控制器和指令执行部件。CPU只需发出启动指令,指出通道相应的操作和I/O设备,该指令就可启动通道并使该通道从内存中调出相应的通道指令执行。

一旦CPU发出启动通道的指令,通道就开始工作。I/O通道控制I/O控制器工作,I/O控制器又控制I/O设备。这样,一个通道可以连接多个I/O控制器,而一个I/O控制器又可以连接若干台同类型的外部设备。  通道的连接

由于通道和控制器的数量一般比设备数量要少,因此,如果连接不当,往往会导致出现“瓶颈”。故一般设备的连接采用交叉连接,这样做的好处是:

①  提高系统的可靠性:当某条通路因控制器或通道故障而断开时,可使用其他通路。

②   提高设备的并行性:对于同一个设备,当与它相连的某一条通路中的控制器或通道被占用时,可以选择另一条空闲通路,减少了设备因等待通路所需要花费的时间。  通道处理机

通道相当于一个功能单纯的处理机,它具有自己的指令系统,包括读、写、控制、转移、结束以及空操作等指令,并可以执行由这些指令编写的通道程序。

通道的运算控制部件包括:

① 通道地址字(CAW):记录下一条通道指令存放的地址,其功能类似于中央处理机的指令寄存器。

② 通道命令字(CCW):记录正在执行的通道指令,其作用相当于中央处理机的指令寄存器。

③  通道状态字(CSW):记录通道、控制器、设备的状态,包括I/O传输完成信息、出错信息、重复执行次数等。  通道对主机的访问

通道一般需要与主机共享同一个内存,以保存通道程序和交换数据。通道访问内存采用“周期窃用”方式。

采用通道方式后,输入/输出的执行过程如下:

CPU在执行用户程序时遇到I/O请求,根据用户的I/O请求生成通道程序(也可以是事先编好的)。放到内存中,并把该通道程序首地址放入CAW中。

然后,CPU执行“启动I/O”指令,启动通道工作。通道接收“启动I/O”指令信号,从CAW中取出通道程序首地址,并根据此地址取出通道程序的第一条指令,放入CCW中;同时向CU发回答信号,通知“启动I/O”指令完成完毕,CPU可继续执行。

通道开始执行通道程序,进行物理I/O操作。当执行完一条指令后,如果还有下一条指令则继续执行;否则表示传输完成,同时自行停止,通知CPU转去处理通道结束事件,并从CCW中得到有关通道状态。

总之,在通道中,I/O运用专用的辅助处理器处理I/O操作,从而剪径了主处理器处理I/O的负担。主处理器只要发出一个I/O操作命令,剩下的工作完全由通道负责。I/O操作结束后,I/O通道会发出一个中断请求,表示相应操作已完成。  通道的发展

通道的思想是从早期的大型计算机系统中发展起来的。在早期的大型计算机系统中,一般配有大量的I/O设备。为了把对I/O设备的管理从计算机主机中分离出来,形成了I/O通道的概念,并专门设计出I/O通道处理机。

I/O通道在计算机系统中是一个非常重要的部件,它对系统整体性能的提高起了相当重要的作用。不过,随着技术不断的发展,处理机和I/O设备性能的不断提高,专用的、独立I/O通道处理机已不容易见到。但是通道的思想又融入了许多新的技术,所以仍在广泛地应用着。由于光纤通道技术具有数据传输速率高、数据传输距离远以及可简化大型存储系统设计的优点,新的通用光纤通道技术正在快速发展。这种通用光纤通道可以在一个通道上容纳多达127个的大容量硬盘驱动器。显然,在大容量高速存储应用领域,通用光纤通道有着广泛的应用前景。

转自:

http://blog.chinaunix.net/u2/67780/showart_2063742.html

posted on 2009-11-10 23:34 chatler 阅读(751) 评论(0)  编辑 收藏 引用 所属分类: OS

中断工作原理在现代计算机中的应用,中断、DMA、通道相关推荐

  1. ad转换器工作原理_AD转换中参考电压的作用

    AD转换 AD转换就是模数转换.顾名思义,就是把模拟信号转换成数字信号.主要包括积分型.逐次逼近型.并行比较型/串并行型.Σ-Δ调制型.电容阵列逐次比较型及压频变换型. A/D转换器是用来通过一定的电 ...

  2. IT:前端进阶技术路线图(初级→中级→高级)之初级(研发工具/HTML/CSS/JS/浏览器)/中级(研发链路/工程化/库/框架/性能优化/工作原理)/高级(搭建/中后台/体验管理等)之详细攻略

    IT:前端进阶技术路线图(初级→中级→高级)之初级(研发工具/HTML/CSS/JS/浏览器)/中级(研发链路/工程化/库/框架/性能优化/工作原理)/高级(搭建/Node/IDE/中后台/体验管理/ ...

  3. fiq中断的入口地址_uboot中添加FIQ中断及相关问题

    本文主要说明了在uboot中添加FIQ中断时遇到的问题以及对应的解决办法. 首先交代一下项目的软硬件环境.硬件方面,使用s3c2440作为主控芯片,外接串口.网卡等设备.软件方面,主控芯片上电后运行u ...

  4. html的段落标志中 标注行中断,?HTML的段落标志中,标注行中断的是?

    A:,B:,C: ,D: 答案 查看答案 ?HTML的段落标志中,标注行中断的是? 解析 [单选题]下列关于元素在网页中的叠放顺序描述,不正确的是? [单选题]HTML代码表示? [单选题]创建选项菜 ...

  5. 网络变压器的工作原理:网络变压器中的直流电阻对POE供电有怎样的影响呢?

    盈盛电子导读:上节给大家分享了网络变压器中的直流电阻对阻断EMI的影响,至此我们已经完整了解了网络变压器直流电阻对传输数据脉冲电压信号的影响关系:但是网络变压器中的直流电阻还有对POE供电的影响,那么 ...

  6. 网络变压器的工作原理:网络变压器中的直流电阻对阻断EMI有怎样的影响?

    盈盛电子导读:上节给大家分享了网络变压器中的直流电阻带来的回波损耗对传送数据脉冲电压信号的影响,由此也让我们知道了网络变压器直流电阻带来的回波损耗对传输数据脉冲电压信号的影响关系:但是网络变压器中的直 ...

  7. 全面解读Java线程池的工作原理

    目录 一.为什么引入线程池技术? 二.Executor框架 2.1 Runnable.Callable与Future接口 2.2 Executor接口 2.2.1 Executor 2.2.2 Exe ...

  8. DHCP的工作原理 公网IP与私网IP 网络通信的流程与数据包发送 网卡的工作原理 网卡丢包问题

    网络通信的四个要素 本机的IP地址 子网掩码 网关的IP地址 DNS服务器的IP地址 获取以上配置,有两种方式 : 静态获取==>手动配置 动态获取==>dhcp自动获取 DHCP的作用 ...

  9. Java 线程池的工作原理

    文章目录 概念 线程中的基本方法 线程复用 线程池的核心组件和核心类 线程池的工作原理 线程池中的workQueue任务队列 直接提交队列(SynchronousQueue) 有界任务队列(Array ...

最新文章

  1. 《数据结构》第01章在线测试
  2. tcp3次握手,https加密,ca认证
  3. python能开发什么产品_三周学 Python ?不,三周做个产品
  4. 三星Galaxy S20 5G版跑分曝光 骁龙865配12GB内存
  5. CSDN-markdown编辑器语法说明
  6. Win10+VS2015下配置OpenCV3.2教程
  7. centos php solr 安装,centos下安装配置solr全纪录
  8. iso 绝对pe_深度 WinPE 4.2 维护光盘ISO(含U盘PE制作工具) 下载地址
  9. Windows 更新阻止程序 v1.6
  10. android pdf转word开发,如何在Android手机上将PDF转换为Word文档
  11. 【计算机网络】光纤传输的全反射
  12. 天下第一铭:汤晓鸥教授自叙的故事
  13. 可以使用python开发财务软件吗_给还准备继续做审计的人提个醒!
  14. UVa 10813 - Traditional BINGO
  15. iOS企业APP部署到自己服务器步骤
  16. 00 后程序员就要为“你”加班?呵呵
  17. 学做安卓一键锁屏应用
  18. l计算机中级zm,蘑菇爱搞机 篇一百四十:老将的最后一次升级了、770ZM更换海盗船2133mHz DDR3L内存...
  19. 解决xbox无法登录、没有反应
  20. “会员制营销”和“EMAIL营销”(山姆公司的)

热门文章

  1. python文件操作和模块
  2. CATIA CAA二次开发专题(十)---迷宫中穿行(终结篇)
  3. 通过proj4js实现不同椭球之间的坐标点的七参数转换
  4. RocketMq 消费者
  5. 注册 阿里云邮箱 的步骤
  6. 吕 思 伟 ---- 潘 爱 民 :: ATL 介 绍( 三)
  7. 国产手机荣获国际大奖,在美国被排队购买,不是华为你可能没用过
  8. ThinkBook 14P 15P 笔记本结束休眠后触控板手势失效问题解决 亲测可行
  9. 从315晚会曝光网秦谈企业社会责任
  10. 【小技巧】2345——劫持浏览器主页(Chrome、Edge)