Chinaunix首页 | 论坛 | 博客

分类:

2008-12-31 14:52:04

对386硬体的多工测试

事实上,托瓦兹对于个人电脑的CPU其实并不满意,因为他之前碰的电脑都是工作站型的电脑, 这类电脑的CPU特色就是可以进行‘多工处理’的能力。什么是多工呢?理论上, 一个CPU在一个时间内仅能进行一个程式, 那如果有两个以上的程式同时出现到系统中呢?举例来说, 你可以在现今的电脑中同时开启两个以上的办公软体,例如电子试算表与文书处理软体。 这个同时开启的动作代表著这两个程式同时要交给CPU来处理~

啊!CPU一个时间点内仅能处理一个程式,那怎么办?没关系,这个时候如果具有多工的CPU就会在不同的程式间切换~ 还记得前一章谈到的CPU时脉吧?假设CPU时脉为1GHz的话,那表示CPU一秒钟可以进行109次工作。 假设CPU对每个程式都只进行1000次运作周期,然后就得要切换到下个程式的话,那么CPU一秒钟就能够切换106次呢! (当然啦,切换工作这件事情也会花去一些CPU时间。不过这里暂不讨论)。这么快的处理速度下,你会发现, 两个程式感觉上几乎是同步在进行啦!
Tips:
为什么有的时候我同时开两个档案(假设为A, B档案)所花的时间, 要比开完A再去开B档案的时间还要多?现在是否稍微可以理解? 因为如果同时开启的话,CPU就必须要在两个工作之间不停的切换~ 而切换的动作还是会耗去一些CPU时间的!所以啰,同时启用两个以上的工作在一个CPU上, 要比一个一个的执行还要耗时一点。这也是为何现在CPU开发商要整合两个CPU于一个晶片中! 也是为何在运作情况比较复杂的伺服器上,需要比较多的CPU负责的原因!    

早期Intel x86架构电脑不是很受重视的原因,就是因为x86的晶片对于多工的处理不佳, CPU在不同的工作之间切换不是很顺畅。但是这个情况在386电脑推出后,有很大的改善。 托瓦兹在得知新的386晶片的相关资讯后,他认为,以性能价格比的观点来看, Intel的386相当的便宜,所以在性能上也就稍微可以将就将就 ^_^。最终他就贷款去买了一部Intel的386来玩。

早期的电脑效能没有现在这么好,所以压榨电脑效能就成了工程师的一项癖好! 托瓦兹本人早期是玩组合语言的,组合语言对于硬体有很密切的关系,托瓦兹自己也说:‘我始终是个性能癖’^_^。 为了彻底发挥386的效能,于是托瓦兹花了不少时间在测试386机器上! 他的重要测试就是在测试386的多功效能。首先,他写了三个小程式,一个程式会持续输出A、一个会持续输出B, 最后一个会将两个程式进行切换。他将三个程式同时执行,结果,他看到萤幕上很顺利的一直出现ABABABAB...... 他知道,他成功了! ^_^


图2.2.1、386电脑的多工测试

Tips:
要达到多工(multitasking)的环境,除了硬体(主要是CPU)需要能够具有多工的特性外, 作业系统也需要支援这个功能喔!一些不具有多工特性的作业系统, 想要同时执行两个程式是不可能的。除非先被执行的程式执行完毕,否则, 后面的程式不可能被主动执行。至于多工的作业系统中,每个程式被执行时, 都会有一个最大CPU使用时间,若该工作运作的时间超过这个CPU使用时间时, 该工作就会先被丢出CPU的运作中,而再度的进入核心工作排程中,等待下一次的CPU运作。

这有点像在开记者会啦,主持人(CPU)会问‘谁要发问’?一群记者(工作程式) 就会举手(看谁的工作重要!),先举手的自然就被允许发问,问完之后, 主持人又会问一次谁要发问,当然,所有人(包括刚刚那个记者)都可以举手! 如此一次一次的将工作给他完成啊! ^_^ 多工的环境对于复杂的工作情况,帮助很大喔!
阅读(45980) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~