《计算机体系结构:量化研究方法》阅读笔记
计算机学科综合了数学,逻辑学,物理学多门基础学科,并在此基础上衍生了各种各样的算法,如果我们只以简单的一门学科的角度去看待他,有时候会陷入困惑,从一个系统的角度去看待,才符合计算机的发展历史。
以系统工程的角度看,就会涉及到两个问题:体系结构和优化。可以说计算机的演化的方向就是:设计更好的计算机层次体系得到一个具有更好性能的计算机。
谈到体系结构,最重要的是完成三个过度:
- 电路语言向功能简单的语言的过度,体现为指令集与汇编语言
- 简单语言向抽象程度更高的语言过度,体现为高级编程语言
- 高级语言向用户友好的界面过度,体现为图形化界面
处理器、分层次的存储器、汇编器实现了第一个过度,编译器和操作系统的部分内核实现了第二个过度,不同的人机交互设备和操作系统实现了第三个过度。半个世纪以来,人们针对不同层次的优化,形成了各种各样的学问,并由此诞生了计算机这门学科,并形成了以智能化为核心的人类生存方式的革命。
对于优化来讲,可以有不同层次的优化,每一层优化都要考虑到不妨碍底层的优化,同时不妨碍上层的使用。优化的基本思想基于两点:时序上的并发处理和空间上的层次存储。在现行的计算机体系结构下,主要的优化方式是流水处理,指令级并行,数据级并行,线程级并行,多级cache,虚存以及配套的编译器设计。由此也带来了保护和任务协调的问题。
无论体系结构的设计或者各式各样的优化,我们可以看到操作系统无疑占有重要地位,它统一管理分配硬件资源,为高级语言提供操作硬件的接口,为用户提供了良好的服务环境。可以说操作系统是最为复杂的软件,它使计算机从实验室走向普罗大众。