版权归原作者所有,如有侵权,请联系我们

[科普中国]-中央处理器空闲时间

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

基本概念

在计算机中,CPU的运行速度远远快于I/O设备的速度,当内存中仅有一道程序时,每逢该程序在运行中发出I/O请求后,CPU空闲,CPU等待I/O设备完成I/O请求的时间,称为CPU空闲时间。操作系统采用了多种措施来利用和缩短CPU的空闲时间。除了CPU的空闲时间,计算机网络中也有空闲时间这个术语,主要应用在信道信息传输中。

空闲时间这个术语在计算机科学中是指等待时间,这里并没有指出哪个部分的等待时间。因为在计算机中不同对象的空闲时间的含义是不相同的。例如CPU空闲时间是指PU等待I/O设备完成I/O请求的时间。进程的空闲时间是指进程等待服务的时间,为了减少进程的空闲时间,会采用不同的调度算法。在异步串行通信中,空闲时间是指一个字符结束和下一个字符开始的时间间隔,这个时间可以持续任意长,但要求传送方必须使线路空闲状态至少达到某一最小时间,通常所选定的最小时间就是传输一位所需的时间1。

CPU空闲时间百分比空闲时间百分比就是系统空闲进程所占的总的进程的百分比。

System idle Process 是WIN2000/xp以上系统所有的。System idle Process”进程其实是“系统空闲进程”,是在cpu空闲的时候,发出一个idle命令,使cpu挂起(暂时停止工作),可有效的降低CPU内核的温度。在操作系统服务里面,都没有禁止它的选项,默认它是占用除了当前应用程序所分配的处理器(CPU)百分比之外的所有占用率,一旦应用程序发出请求,处理器会立刻响应的。在这个进程里出现的CPU占用数值并不是真正的占用而是体现的CPU的空闲率,也就说这个数值越大CPU的空闲率就越高,反之就是CPU的占用率越高。

原因及解决方案CPU的空闲时间主要是因为CPU与于I/O设备运行速度不匹配造成的,在计算机中,CPU资源是十分宝贵的,要充分利用。一般是从利用CPU空闲时间和减少CPU空闲时间两个方面来提出解决方案,常见的方法有多道程序、DMA和I/O通道。

多道程序多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插运行,两个或两个以上程序在计算机系统中同处于开始到结束之间的状态,,这些程序共享计算机系统资源。与之相对应的是单道程序,即在计算机内存中只允许一个的程序运行。特征1)多道:即计算机内存中同时存放几道相互独立的程序。2)宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。3)微观上串行:从微观上看,内存中的多道程序轮流地或分时地占有CPU。优点:1、提高CPU的利用率。在多道程序环境下,多个程序共享计算机资源当某个程序等待I/O操作时,CPU可以执行其他程序,大大提高CPU的利用率。2、提高设备的利用率。在多道程序环境下,多个程序共享系统的设备,大大提高系统设备的利用率。3、提高系统的吞吐量。在多道程序环境下,减少了程序的等待时间,提高了系统的吞吐量。

DMADMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。

DMA 传输将数据从一个地址空间复制到另外一个地址空间。当CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能 嵌入式系统算法和网络是很重要的。

在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。一个完整的DMA传输过程必须经过DMA请求、DMA响应、DMA传输、DMA结束4个步骤。

DMA技术的出现,使得外围设备可以通过DMA控制器直接访问内存,与此同时,CPU可以继续执行程序.那么DMA控制器与CPU怎样分时使用内存呢?通常采用以下三种方法:(1)停止CPU访内存;(2)周期挪用;(3)DMA与CPU交替访问内存。

I/O通道I/O 通道方式是 DMA 方式的发展, 它可进一步减少 CPU 的干预, 即把对一个数据块的读(或写)为单位的干预减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。同时,又可实现 CPU、通道和 I/O 设备三者的并行操作,从而更有效地提高整个系统的资源利用率。例如,当 CPU 要完成一组相关的读(或写)操作及有关控制时,只需向 I/O 通道发送一条 I/O 指令,以给出其所要执行的通道程序的首址和要访问的 I/O 设备,通道接到该指令后,通过执行通道程序便可完成 CPU 指定的 I/O 任务2。