老莫

推荐一本书——兼论计算机系统结构和处理器设计领域研究需要掌握的基础知识

1
阅读(21558)

我从事计算机芯片或者叫系统级芯片的研究已经很多很多年了。如果从2012年我们正式开始涉足片上网络和片上多核系统算起,有5年了,如果从2011年我们拿到PowerPC的软核开始做处理器方面的研究算起已经快7年了,如果从2007年9月,我硕士阶段开始做可重构计算的算起已经快10年了。

在这10年的研究生涯中,有一个问题始终困扰着我:一个非“科班”出身的研究者,需要掌握哪些知识才能从事处理器、计算机系统结构以及片上系统方面的研究?每当看到研究所里面做模拟的同学们入门的时候就抱着拉扎维的书死磕,我们这边的同学希望我指一本书出来我却一直给不出来的时候,我真的还是很迫切的希望能找到一本至少覆盖了我们所需要的相关知识点的教材。哪怕这个教材只是蜻蜓点水般的把这些知识点都点到了一下,那也足够好了。做研究,最怕的不是不知道,最怕的是不知道自己不知道。尤其是做计算机系统结构这一领域的研究,由于涉及到软硬件太多的相关知识点,如果没有对知识脉络的总体把握就会把自己困死在一个细枝末节上而不得伸展。

这么多年来我一直在关注有没有很适合的书用来做入门教材,也曾经发现过几本还不错的书。但是这些书更多的像是“专著”而非教材,大多数都是对既有论文的一些汇编和总结。这样的书默认读者已经有了一定的基础,因而往往只是“掐头去尾”的介绍一些核心和重点知识,对于初学者来说是非常的不友好的。

不过昨天我去逛了一下我们学校旁边还在坚持卖专业书籍的小书店,学无涯书店。在电商的挤压下,实体书店其实生存境况非常的不好。目前这个书店虽然还在勉强支撑,但是主要业务已经变成了代收快递。去那里去看看书实际上成了我晚饭后散步的一个动机了。于是在昨天我看到了这本书:

并行计算机组成与设计。这本书以并行计算机的组成原理和设计方法为主线,介绍了与并行计算机相关的基础知识和主流的设计方法。最难能可贵的是,这本书并没有因为要讲并行计算机如何组成就放弃了基础的计算机组成原理和处理器微架构的知识。也没有像现在主流的计算机组成的书那样,讲传统的计算机组成为主,后面就象征性的讲讲并行计算机相关的知识点。而是从并行计算的基本概念出发,覆盖电路、处理器微架构、计算机系统结构以及仿真软件多个层面,完全符合从事并行计算机和多核处理器研究者需要的知识储备。而且计算机系统的改进基本上是以如何并行化为主线,通过讨论并行计算机的设计方法实际上也可以把计算机系统的核心技术都过一遍。

此外,我觉得这本书让我感动的一个地方是,作者之一的瑞典查尔姆斯理工大学Per Stensrom教授在致谢了自己的导师之后。还专门感谢了自己所有的博士生。他这样写到:我的博士研究生给了我灵感,他们教会了我很多东西。我多年的研究成果都浓缩在这本书里,我从我的博士生身上学到了很多,感谢他们:……(此处省略博士们的名字)。一个好的导师和学生的关系,一定是教学相长的。在更多的时候,导师不但是指导学生,更重要的是从学生身上学到很多新的知识、观点和方法。在我这几年带学生的生涯中,确实有很多同学教会了我很多。因此我在去年博士论文中也对他们都表示了感谢。

希望各位对并行计算有兴趣的同学和朋友都去阅读一下这本书,大家应该可以从中获得很多有益的知识。