这是龙芯团队胡伟武老师等人编写的《计算机体系结构基础》(第三版)的开源版本。本书纸质版本由机械工业出版社发行,可以通过各种常规渠道购买。
本书由从事微处理器设计的一线科研人员编写而成。作者从微处理器设计的角度出发,充分考虑计算机体系结构的学科完整性,强调体系结构、基础软件、电路和器件的融会贯通。全书共分12章,包括指令系统结构、计算机硬件结构、CPU微结构、并行处理结构、计算机性能分析等主要内容,重点放在作为软硬件界面的指令系统结构,以及包含CPU、GPU、南北桥协同的计算机硬件结构。本书可作为高等学校“计算机体系结构”课程的本科生教材,同时也适合相关专业研究生或计算机技术人员参考阅读。
关于本书内容更多的介绍可以参考推荐序、自序、第三版序和前言等相关章节。
在第三版的改版过程中,作者们引入了一个创新尝试,试图将本书打造为一本活的教科书。具体来说,我们采用以文本为基础的rmarkdown格式编辑书本内容(采用bookdown工具包),用git对其进行版本管理,并在互联网进行开源维护。在相应的网站上,还会提供出版社提供的与纸质版本一致的电子版本,以及相关的参考课件PPT和其他补充资源。我们认为这么做有几个好处:
由于工具的限制,在线版本和纸质版本的版面效果并非完全一致。目前图表的编号也不一定一一对应,部分纸质书的表可能用图来代替。后续随着一些修订内容的添加,在线版本的文字和纸质版本也会有所差别。
本书内容的开源离不开出版社、龙芯中科技术股份有限公司和作者们的支持,在此表示感谢。出版社提供了精心排版后的电子版本和相应资源文件,并同意开放这些资源。龙芯中科技术股份有限公司提供了在线版本的一份web服务器资源以及部分经费支持。作者们接受了可能的出版收益损失。
本书开源版本也得到了中国科学院大学研究生程轶涵、穆热迪力、王铭剑、徐淮、叶锦鹏(按姓氏拼音顺序)等同学的大力支持,他们协助完成了bookdown格式部分源代码的编辑和校对,在此表示感谢!
本书的官方信息网页参见本书信息。
本项目的github actions已经配置为自动生成HTML/PDF/DOCX三种输出格式并部署到github pages。三种格式的链接分别如下:
机械工业出版社提供的纸质书精排电子版可以从这里获得: 纸质书电子版。
虽然github actions已经能够全自动地完成代码编译和部署,不过似乎它的环境不太容易在本地复现。为了方便大家复现我们的工作环境,写了一个简单的Dockerfile(参见docker/Dockerfile),它安装了能够完整编译本项目代码的相关软件工具。
使用方法:
有兴趣的读者可以参考这个环境来编写自己的书籍或者其他文档,然后大家可以切磋具体的使用方法和技巧。 我们也都是bookdown新手,估计有很多用法有改进的空间,期待得到大家的反馈。
本书的实例和原理介绍以龙芯体系结构为主。关于龙芯体系结构的信息,可以参考这里。那里的内容包括:
暂时没有龙芯机器的同学,可以在X86上用交叉编译工具链编译loongarch应用,用qemu模拟运行loongarch程序。后续争取提供一些龙芯云端的开发者账号让大家能在真机上做实验。
提供开源版本的一个主要目的是为了更好地收集反馈意见。如果您对本书有任何意见或者建议,欢迎与我们联系。您可以利用github的各种交互功能与我们联系:提交issue、pull request或者私信作者等。
后续还有很多需要完善的工作,包括:
本书采用Creative Commons Attribution-NonCommercial 4.0 International Public License开源,具体条款可参考LICENSE文件。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。