汇编语言的艺术之一:观念正误
第三节 效率定律
一、效率的定义
在宇宙中,大至物种的演进、变化,小至个人的工作、运动等,都严格地遵守效率法则。
效率的定义是:
┌─────────────────────────┐
│F=E/t,即特定的能量在特定的时、空中所作的「功」。│
└─────────────────────────┘
由上式 F = E/t 可知,特定的「能量」在特定的「时空」中所作的「功」,是一恒定值,既为恒定值,表示不可能有任何浪费。当能量不变时,时、空的延长往往会导致「功率」的不足,从另一个角度看,可以说是能量不够,效率低。
对电脑而言,如果写作程式的「功率」能接近此一「恒定值」,而又具有长远的使用价值,则我们可以假定,这种程式的效率最高。
由人类文明的演进,可以看出,因为技术日渐专业化,工作的难度不仅没有减低,反而更加复杂。这种藉着职业专家的投入,以节省一般应用者宝贵时间的方法,事实上可以说就是效率的追求。
因为人的生命仅存在于有限的时间,所以其价值极高。每一个电脑程式,其最终目的都是为了服务大多数的使用者,制作程式者仅仅是少数人,其制作时间的长短,永远无法与大多数的使用者,在操作中所耗费的时间相提并论。
此外,以写作程式为职业的人,一生中所需写作的程式,也一定有相当的数量。如果能重复应用写过的程式,将更缩短其写作时间。无论从哪一个角度,若要追求效率,组合语言应是唯一的选择。
作为电脑的从业者,在职业良知上,理应禀着服务人类、追求效率为最高准则。
二、电脑的效率性
电脑的发明,是人类追求效率最具代表性的成就。
目前电脑的机能尚局限在资料处理以及自动控制上,人们利用电脑,所期望得到的效率不外乎下述六点。
1,节省工作时间及工作成本。
2,取代繁琐、重覆性高或具有危险性的作业。
3,追求精密无误的资料、讯息。
4,贮存或运算大量的数据或资料。
5,远距离的通讯或遥控作业。
6,自动化工业生产或一般性服务。
然而,电脑发展方兴未艾,上述数点难以表达于万一。因此,我们有必要将人类所期望的效率整理归类,以作为分析判断的依据。
三、四大效率定律
兹以人类社会中,有关作业过程、生产成本及应用价值等三方面,分别假设定律如下:
定律一:
在作业过程上,能以最少步骤产生最大功率者,效率最高。
定律二:
在生产成本上,时、空间及原料最节省者,其效率最高。
定律三:
在应用价值上,功能及成果能一再累积者,其效率最高。
定律四:
最佳的效率,是最符合实际需求的最大边际效应。
电脑的应用,纯粹是为了追求工作效率,据此,硬体、软体的设计,都应严格遵守效率定律。可是事实却不然,由于电脑发展迄今,一直是「卖方市场」,美其名为「高科技」,内行人高利、高酬,外行人则唯恐后人,亦步亦趋。
电脑界为了谋取近利,在软件设计的过程上,常采用最缺乏工作效率的高阶语言。但是由于高阶语言易于制作,生产成本低,只是苦了「无知无觉」的买者,为了追求效率往往要花费更多的代价,购买更昂贵的、更新型的硬体,以满足其效率的需要。
有人说高阶语言制作的程式还有一个组合语言无法比拟的优点,就是很容易「转移」到其他的机种上。事实上,目前微电脑市场仅存两种机型:一为IBM PC系列及其兼容机,另一为MACINTACH ,而这两者所有的软件,不论采用哪一种语言,都无法轻易地「转移」!
一般说来,任何一种新的微电脑上市,其执行速度及记忆容量每增加一倍,其价格亦成正比上升。是不是有必要非改进硬体,才能达到效率的要求呢?如果我们能澈底瞭解程式语言的特性,当会明确地认知怎样才具最大边际效益。
这也是进化的基本法则之一,当电脑技术成熟之时,真正的效率才会受到重视。同理,在电脑应用效率达到最高点时,也就是电脑技术成熟的时机。我们如果能掌握这个原则,自不难看到长远的发展趋势,洞烛机先。
四、组合语言之效率
根据定律一,组合语言之效率是不容置疑的,因为组合语言相当于电脑运行的「机器命令」,能直接产生「功率」。
生产成本有多种意义,在此我们仅讨论其中两点:一是生产过程所需的时间,一是产品的直接成本。
组合语言能以最小的空间,发挥最大的功能。显然,在等效的功能下,其成品所占空间最小,成本最低。但是对生产过程所需时间而言,组合语言就处于相当不利的地位。除非能有一种方法,可以改进组合语言制作的效率。
这正是本书的主要目的:介绍一种方法,以提高组合语言之制作效率。
我们的目标不仅在提高数倍的制作效率,并且还要证明,用一种特殊的手段,能将组合语言设计的「模组」,如同砌砖一般,建造出资讯的金字塔来。这样不仅能满足定律三,而且完全符合定律四的要求。
最重要的,是这种效率的达成,在于利用人的「智力」。我认为在宇宙进化的过程中,到目前为止,「人智」就是最高效率的结晶。任何人若要追求效率,应自己先下手,与其坐待硬体的改进,不如充实程式写作的方法及技巧,至少,这些都操纵在自己的手里。
五、模组的效率
模组并不是一个新观念,在人类文明发展史上,人一直致力于瞭解自己身处的宇宙。这种瞭解,实际上就是模组应用的观念,将宇宙大环境,分解成为人所能认知的小环境,进而将小环境再分解成为个人的经验素材。
这样一层层地分解下去,便有了「概念、知识」。换句话说,概念及知识,就是一个个代表人类对客观认知的模组。
基于模组的特性,人才能灵活地加以应用,因而产生了「人类文明」。同理,当电脑的软件,也演化为模组方式,进一步大量推广运用时,电脑文明的时代,即将到来。
模组的效率是结构性效率的最高表现,在我们处身的宇宙中,无处没有结构,无一不受到结构的支配。有关模组规划、制作和应用,将在第四章第三节、模组观念中详加讨论。