不知不觉已经大三了,身为一名计算机专业的学生却没有好好地阅读过本专业的经典书籍(每次都半途而废:- ( ),实在是不应该。
借着今年寒假假期较长(近两个月),打算认认真真、完完整整地将这些经典书籍阅读一遍!
我选择的第一本书是《计算机组成与设计-软件/硬件接口》,为什么要读它呢?
在该书前言中作者给出了理由:
我们认为,在学习计算机科学与工程时,除了掌握计算的基本原理外,还应该了解该领域的最新进展。同时,我们还认为,各种计算领域中的读者都应学习计算机系统的组成理论,因为这是决定计算机系统的功能、性能、能耗甚至最终成功与否的关键。
现代计算机技术需要各个计算领域的专业人员对计算机软件和硬件都有所了解。软硬件在不同层次上相互影响,恰好也提供了一个理解计算基础的框架。不管你的关注点是硬件还是软件,专业是计算机科学还是电子功能,计算机组成和设计的核心思想都是相同的。
我读的是RISC-V版本,因此其所介绍的指令系统不再是MIPS,而换成了RISC-V 64位版本的指令系统。
从这本书中能学到什么?
- 使用C或JAVA等高级语言编写的程序如何被翻译为机器语言,以及硬件如何执行最终的程序?
- 软件和硬件之间的接口是什么?软件如何指导硬件执行所需的功能?
- 什么因素决定了程序的性能,以及程序员如何改进程序性能?
- 硬件设计人员可以使用哪些技术来提高性能?
- 硬件设计人员可以使用哪些技术来改善能效?程序员可以做些什么来改善能效?
- 串行处理发展到并行处理的原因和结果是什么?
- 自1951年第一台商用计算机以来,计算机架构师提出的哪些伟大思想奠定了现代计算技术的基础?
这本书共有6个章节,包括:
- 计算机抽象及相关技术
- 指令:计算机的语言
- 计算机的算术运算
- 处理器
- 大而快:层次化存储
- 并行处理器:从客户端到云
其中前五个章节是我阅读的重点,第六个章节粗略地了解即可。
我打算花一个月(1月9号 ~ 2月9号)的时间来完成这本书的阅读,那么阅读计划如下:
章节 | 时间 |
---|---|
计算机抽象及相关技术 | 1.9 ~ 1.10 |
指令:计算机的语言 | 1.11 ~ 1.15 |
计算机的算数运算 | 1.16 ~ 1.20 |
处理器 | 1.20 ~ 1.27 |
大而快:层次化存储 | 1.28 ~ 2.8 |
并行处理器:从客户端到云 | 2.9 |