方法1: 她先给孩子甲一块糖,盯着甲吃完,然后再给第二块,等吃完第二块又给第 三 块,吃完第三块又给第四块。接着给孩子乙,其过程与孩子甲完全一样。依次类推 ,直至到 第10个孩子发完四块糖。看来这种方法效率太低,重要之点还在于孩子们吃 糖时她一直在守 候,什么事也不能干。
方法2: 每人发一块糖各自去吃,并约定谁吃完后就 向她举手报告,再发第二块。看 来这种新方法提高了工作效率,而且在未接到孩子们吃完糖 的 报告以前,她还可以 腾出时间给孩子们改作业。但是这种方法还可以改进。
方法3: 进行批处理:每人拿4块糖各自去吃,吃完4块糖后再向她报告。显然这种方 法工作 效率大大提高,她可以腾出更多的时间改作业。
方法4: 权力下放,把发糖的事交给另一个人分管,只是必要时她才过问一下。
在计算机系统中,CPU管理外围设备也有几种类似的方式:
1 程序查询方式 程序查询方式是早期计算机中使用的一种方式。数据在CPU和外围设备之间的传送 完全靠计算机程序控制,查询方式的优点是CPU的操作和外围设备的操作能够同步,而 且硬件结构比较简单。但问题是,外围设备动作很慢,程序进入查询循环时将白白浪 费掉CPU很多时间。这种情况同上述例子中第一种方法相仿,CPU此时只能等待,不能 处理其他业务。即使CPU采用定期地由主程序转向查询设备状态的子程序进行扫描轮询 的办法,CPU宝贵资源的浪费也是可观的。因此当前除单片机外,很少使用程序查询方 式。
2 程序中断方式 中断是外围设备用来“主动”通知CPU,准备送出输入数据或接收输出数据的一种 方法。通常,当一个中断发生时,CPU暂停它的现行程序,而转向中断处理程序,从而 可以输入或输出一个数据。当中断处理完毕后,CPU又返回到它原来的任务,并从它停 止的地方开始执行程序。这种方式和我们前述例子的第二种方法相类似。可以看出, 它节省了CPU宝贵的时间,是管理I/O操作的一个比较有效的方法。中断方式一般适用 于随机出现的服务,并且一旦提出要求,应立即进行。同程序查询方式相比,硬件结 构相对复杂一些,服务开销时间较大。
3 直接内存访问(DMA)方式 用中断方式交换数据时,每处理一次I/O交换,约需几十微秒到几百微秒。对于一 些高速的外围设备,以及成组交换数据的情况,仍然显得速度太慢。直接内存访问 (DMA)方式是一种完全由硬件执行I/O交换的工作方式。这种方式既考虑到中断响应, 同时又要节约中断开销。此时,DMA控制器从CPU完全接管对总线的控制,数据交换不 经过CPU,而直接在内存和外围设备之间进行,以高速传送数据。这种方式和前述例子 的第三种方法相仿,主要优点是数据传送速度很高,传送速率仅受到内存访问时间的 限制。与中断方式相比,需要更多的硬件。DMA方式适用于内存和高速外围设备之间大 批数据交换的场合。
4 通道方式 DMA方式的出现已经减轻了CPU对I/O操作的控制,使得CPU的效率有显著的提高, 而通道的出现则进一步提高了CPU的效率。这是因为,CPU将部分权力下放给通道。通 道是一个具有特殊功能的处理器,某些应用中称为输入输出处理器(IOP),它可以实现 对外围设备的统一管理和外围设备与内存之间的数据传送。这种方式与前述例子的第 四种方法相仿,大大提高了CPU的工作效率。然而这种提高CPU效率的办法是以花费更 多硬件为代价的。
5 外围处理机(PPU)方式 外围处理机(PPU)方式是通道方式的进一步发展。由于PPU基本上独立于主机工作 ,它的结构更接近一般处理机,甚至就是微小型计算机。在一些系统中,设置了多台 PPU,分别承担I/O控制、通信、维护诊断等任务。从某种意义上说,这种系统已变成 分布式的多机系统。
综上所述,程序查询方式和程序中断方式适用于数据传输率比较低的外围设备,而DMA方式、 通道方式 和PPU方式适用于数据传输率比较高的设备。目前,单片机和微型机中多采 用程序查询方式、程序中断方式和DMA方式。通道方式和PPU方式大都用在中、大型计 算机中。 总结:单片机多数用程序查询方式;微机则用中断和DMA方式;大中型计算机采用通道 方式和PPU方式。
温馨提示:内容为网友见解,仅供参考