《See MIPS Run》–序言

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




序言

这本书是关于MIPS处理器的。MIPS处理器是八十年代中期RISC CPU设计的一大热点。MIPS是卖的最好的RISC CPU,可以从任何地方,如Sony, Nintendo的游戏机,Cisco的路由器和SGI超级计算机,看见MIPS产品在销售。目前随着RISC体系结构遭到x86芯片的竞争,MIPS有可能是起初RISC CPU设计中唯一的一个在本世纪盈利的。

RISC是一个很有用的简写,并不仅仅是一个市场广告用词。RISC概括了在80年代出现的,采用流水线结构设计的一系列计算机体系结构的许多共同的特徵。CISC这个术语就有点不清晰,它指的是所有非RISC的技术或芯片。在本书中,CISC指的是非RISC的68000,x86和其他一些1982年以前的通过微代码技术的体系结构。

这本书是写给程序员的。这也是我们考虑书中应该包括什么的准则–是否程序员会接触到一个问题,或是否会对一个问题感兴趣。这意味着我们不会在这里讨论已经折磨了两代硬件工程师的MIPS奇怪的系统接口。操作系统可能已经将我们在这里将要讨论的许多细节隐含了起来;许多优秀的程序员认为C语言在层次上已经足够低了,与具体的体系结构不相关性因此具有极好的可移植性。但是在有些时候你确实需要具体的细节,并且人对事物是如何工作的总是充满了好奇的。

当描述一些软件工程师可能不是很熟悉的部分的时候,特别是CPU的内部工作细节,我们将通过非正式的方式讲述。但当遇到程序员曾经遇到过的问题时,如寄存器,指令和数据如何在内存中保存,我们将会非常简洁地和技术性地解释。

我们假设读者对C语言有一定的熟悉和接触过。本书中的大多数例子使用C语言作为简单紧凑的例子,特别是在关于指令集与汇编语言的章节中。

本书的一些部分是面向那些曾经用过CISC处理器(比如,680×0或x86)的读者。这样MIPS处理器的灵巧性和独特性才能充分的体现出来。当然如果你不熟悉CISC的汇编语言,也没太大关系。

大多数情况下,需要了解一个CPU细节的或者是操作系统方面的高手,或者是在嵌入式系统方面工作人。”嵌入式“是一个很广的定义,其含义是一个不象通常计算机的计算机。这样一个系统的共同的特徵是一个操作系统(如果存在的话)并不将CPU的工作与程序员隔离。MIPS处理器被使用在从游戏到工业控制等非常广泛的领域中。本书并不是一本MIPS体系结构的参考手册:要掌握一个体系结构意味着要去实践。我希望本书会对那些希望了解现代CPU体系结构的学生有所帮助。

如果你计划从前往后的通读这本书,你可以从一般的阅读到精读来一步一步的取得进展。你不会失望的。你也可以通过历史的顺序来阅读。每次谈论一个新概念时,我们通常会着重于其第一个版本。Hennessy和Patterson称这种方法为“从演化中学习”。这种学习方法对他们是不错的,对於我,当然也是好的。

因此在第一章,我们将会介绍一些历史和背景知识,并通过讨论MIPS发明者当初所最关心的技术问题和想法来引入MIPS处理器。接着在第二章我们讨论按照他们想法所设计的MIPS机器语言的特徵。

MIPS体系结构很小心的将与浮点数处理的指令分开. 这种分开可以使得MIPS CPU与不同层次的浮点支持结合在一起, 比如,从可以没有浮点运算, 部分支持,到最新的浮点硬件技术. 因此在讲述中我们也将暂时浮点运算部分分离出去, 将其放在第七
章.

第八章里我们会讲解整个机器的指令系统. 我们的目的是要尽可能的精确, 但要比MIPS标准的参考归约要简单的多–相对其他文档或书籍用了一百多页,我们用了十页. 第九章描述了MIPS汇编语言编程,所以该章更象一个编程手册. 这与书中其他章节的风格有点不一样, 但迄今为止一直没有一个很好的关于MIPS的汇编语言手册. 在汇编语言层次编程的读者会发现书中其他部分也是相关的.

第十章是为那些已经熟悉C语言编程而准备的. 这一章着重与MIPS体系结构相关的C语言部分. 提供的例子中包括MIPS编译器实现的内存结构和参数传递. 第十一章提供了一个对在从事把一个软件从其他CPU移植到MIPS CPU 的人们非常有帮助的各种注意事项.

第十二章是一些加了注释的与本书内容相关的软件. 理解真正的软件代码有可能要费点事, 但是准备从事一个具有挑战性的MIPS项目的读者会发现这一章是很有用的, 提供了一个编风格指南和一些相关材料列表.

附录A(指令时序), 附录B(汇编语言语法),和附录C(目标代码)包含了一些我认为不应该被完全忽视的非常技术性的内容, 虽然不会有很多人需要去参考这些材料. 附录D中你可以得到一些MIPS体系结构的最新消息, 比如MIPS16, MDMX和MIPS V的指令集扩展.

在本书的最后, 是词汇表. 从中你可以查找那些特殊的或不熟悉的术语. 另外, 还列出了一些给读者进一步学习所用的书籍, 文章和在网上的一些参考文献.

风格与局限

每本书都反映了一些作者自己的看法. 所以我们要预先认识这一点.

虽然形式不同, 这本书其实已经存在七年了. 作者从1986年就一直从事MIPS体系结构的工作. 从1988年起, 我开始给一些客户作一些关于MIPS体系结构方面的培训. 讲座的部分材料成为该书的一些章节。1993年,我将所有的材料收集起来,并制作成一个软件手册作为IDT的MIPS文档的一部分。但是这个手册是专门为IDT的R3051系列的,因此有很多重要的细节没有在手册中讲述。在1995和1996年,这本书增加了64位CPU的部分和其他相关细节。

MIPS还在一直成长;否则我们写MIPS的书只能给历史学者看了。Morgan Kaufmann也不会有兴趣来出版该书。

因为该书的写作和评阅过程非常繁长,我们不得不选择一个合适的时间点。在其后的MIPS发布的新的功能就没有包括在本书中。但是我们在附录D中尽可能的反映了这些最新的发展。

约定

下面是关于本书的一些字体格式约定:

感谢

 

(1个打分, 平均:3.00 / 5)

雁过留声

Comments are closed.