这本书,读了好多遍。
其实这本书并不如书名所说深入。
只能说是深入浅出。浅出是很恰当的。因为本书最后都用概括的语言和图表来表述计算机中的概念和思想。
请注意上一句话中的图表。
确实本书的神在于图表。可以说如果能理解并记住这本书的图表,那么概念理解和记忆也就完成60%。
好吧。
以下就是我学习这本书的体会:
1,阅读本书中文版,需要英语翻译的认知,这个困难是在我一开始遇到的最大困难。英语表达和中文表达是不一样的。如果按照英文字面翻译出来的中文,由于不符合中文的习惯性表述,会造成理解上的障碍。
2,前面的概念。往往是为后面做铺垫。比如对齐这个概念在第二章就讲了,只到第九章虚拟存储器才会真正应用到内存管理上。
3,几个非常重要的计算机原理背后的思想:
3.1编码和解码:注意这是一对出现的。这后面的数学思想是函数的一一映射。
3.2规约:用一种底层的结构实现多种上次结果。c语言中的do-while,while,for语句均可以用相似的汇编语言结构实现。
这也是一种实现吧。
3.3循环:指令执行中译码和写回是两个很对称的阶段。对称。
3.4优化:存储器结构是二维平面的。能降低地址引脚的数量。(P384)
3.5整体:进程提供给应用程序的关键抽象。
一个独立的逻辑控制流,它提供一个假象,好像我们的程序独立地使用处理器。
一个私有的地址空间,它提供一个假象,好像我们的程序独占地使用存储器系统。
所以,对进程的两个主要的方面应该很了解。这两个特性应该说是密不可分的。
为了介绍这两个特性实现,也就分别组成了该书的第八章和第九章内容。
所以这本书的特点就结构严谨。结构的严谨反映知识的整体性。
3.6时序:
虚拟存储器(第九章)和第六章(存储器层次结构)关系密切。
9.6.4的综合实例展示了虚拟地址--〉物理地址的过程。
故而有先查询TLB(为了获得物理地址)和页表,后查询高速缓存(获得内存地址)的过程。
这个过程的时序关系不能颠倒。