结构化的结构
--评《结构化计算机组成》
盼星星、盼月亮,总算盼到了荷兰著名的计算机科学家、教育家Tanenbaum关于计算机体系结构的名著--《结构化计算机组成》中文版的出版。那么,这样一本书究竟描述的是计算机科学的哪个方面呢?喜爱程序设计的读者在学习过高级语言和汇编语言之后,心里面是否会浮现出这样一些疑问:计算机究竟是如何工作的?用程序设计语言编写的程序又是怎样控制计算机运行的?计算机是否是真正按照程序指令在工作?如果答案是肯定的话,我们可以确信计算机运行的过程就是我们的本意吗?
或许,本书可以解决你的疑惑。《结构化计算机组成》正是一本立足于计算机体系结构,从计算机设计者的角度,讲述计算机系统设计和工作原理的经典著作。专业功底较为深厚的读者或许知道,计算机的内部工作机理是极其繁杂的。仅仅通过一本书将其讲述得清晰而透彻决非一件容易的事。Tanenbaum却做的很好,其关键就在于"结构化"的思想。这也是本文使用"结构化的结构"这一古怪标题的原因。
什么是结构化?我们这里所谈到的结构化与程序设计中的设计结构化、与计算机网络中的协议层次化有着本质上的一致性。结构化也并不仅仅出现在计算机领域,现实生活中俯首皆是。实质上,结构化本身即是人类对客观复杂系统的抽象过程。我们在观看电视节目时,大脑并没有将电视屏幕解释为一个一个的光点,而是将其与自身的主观印象结合从中提取出精彩纷呈的信息。这,就是人类的抽象能力。
我们在对某复杂事物进行理解与掌握时,自顶向下、逐层划分、抽象出层次内部各组成成分的关系与各层次之间的关系,每次仅仅只解决其中的一个复杂性可以接受的部分,直至最终掌握整个复杂系统。其实,这也是很自然的。如果不是这样的话,我们或许也就不用从小学一直学习到大学了,只需学习一门超级知识就能通晓一切。
正如刚才我所提到的,计算机的内部异常复杂,计算机需要达到我们的设计目标,结构化设计正是其灵丹妙药。
有意思是,本书亦是按照这样的结构层次来安排章节的。第一、第二章概述整个计算机的系统组成,并指明本书按自底向上的方向,逐层介绍计算机硬件与软件体系。第三至七章分别讲授计算机的数字逻辑层、微体系结构层、指令系统层、操作系统层和汇编语言层。同时,作者精心挑选的三个具体实例分别为:经典的CISC芯片Pentium
II、纯粹的RISC芯片UltraSPARC II和用于嵌入式处理的Java虚拟机。每一款实例均有其炯然不同的设计目标和设计理念,然而其基本结构却有某种共通之处。
微体系结构层与指令系统层是本书的精华部分,CPU的组织结构在这里将得到细致而深入的剖析,神秘的CPU将不再是秘密。本书的另一个特色是关于汇编语言层的介绍。在这里,学过汇编语言的读者将会知道汇编器是如何工作的?汇编代码是如何转换为机器指令的?关于汇编器工作原理的介绍,在其他的书籍中是不多见的。第八章,则是关于并行计算机体系结构的高级内容。这里,就不再是计算机体系中的一个层次,而是计算机的一个类别了。
学完本书之后,如果一位过去从未接触过这一领域的读者,将会第一次从工作原理的角度弄清:计算机究竟是如何工作的?一条汇编指令是如何一步步转变为计算机门电路的工作脉冲的?计算机的组织与结构是如何设计的?有哪些设计技术?为什么要这样设计?未来,我们将走向哪里?
为了深入学习这本书,我们应该以计算机设计者的眼光来看她,即使是我们并非一定要去设计计算机系统。更多的从设计者的角度考虑而不是仅仅掌握其工作原理,我们会从中感悟到更多的东西,亦会对作者在书中反复强调的设计权衡有着更为深刻的体会。
这本书或者说这门学科,对读者的背景知识要求并不高,学习了80386汇编语言(32位机),再读本书就不会有太大的困难。如果,已经学习过数字逻辑设计课程就更理想了。需要提醒大家的是,作为计算机科学的主干课程之一,本书还是有相当的难度。同时,这也是对自己智力与毅力的考验。
与本书相关的书籍首推《计算机组织与结构--性能设计》作者:(美)William Stallings(第4版--清华大学出版社,第5版--电子工业出版社),国内俸远祯先生的《计算机组成原理》亦为佳作,《奔腾Ⅱ/Ⅲ处理器系统结构》张昆藏(电子工业出版社)也同样值得一读。
进一步阅读建议:希望更多了解并行机的读者,《高级计算机体系结构》(美)Kai Hwang(清华大学出版社)、《可扩展并行计算-技术、结构与编程》Kai
Hwang Zhiwei Xu(机械工业出版社)是这方面的权威著作。Kai Hwang可是海外华人中计算机领域处于权威级的人物哟!
最后,再来看看著名的计算机教育家Tanenbaum有哪些著作:《结构化计算机组成(原书第四版)》(机械工业出版社)就是本书啦!《操作系统:设计与实现(第二版)上、下册》(电子工业出版社)、《计算机网络(第3版)》(清华大学出版社)、《分布式操作系统》(电子工业出版社)、《现代操作系统》(机械工业出版社)本本有名,本本经典喔!
|