/一下均摘自书/
一 理解程序性能
-
一个程序的性能取决于以下各个因素的组合:程序所用算法的有效性,用来建立程序并将其翻译成机器指令的软件系统,计算机执行机器指令(可能包括I/O操作)的有效性。下表总结了硬件和软件是如何影响性能的。
-
1.算法:决定了源码级语句的数量和I/O操作的数量。
-
2.编程语言,编译器和体系结构:决定了每条源码级语句对应的计算机指令数量
-
3.处理器和存储系统:决定了指令的执行速度
-
4.I/O系统(硬件和操作系统):决定了I/O操作可能的执行速度
二 计算机系统结构中的8个伟大思想
-
1.面向摩尔定律的设计
-
2.使用抽象简化设计
-
3.加速大概率事件
-
4.通过并行提高性能
-
5.通过流水线提高性能
-
6.通过预测提高性能
-
7.存储器层次
-
8.通过冗余提高可靠性
计算机不仅需要速度快,还需要工作可靠。由于任何一个物理器件都可能失效,因此可以通过使用冗余部件的方式提高系统的可靠性,冗余部件可以替代失效部件并可以帮助检测错误。可以通过牵引式挂车来理解可靠性:牵引式挂车后轴两边具有双轮胎,在一个轮胎出问题时卡车仍然可以继续工作。(在一个轮胎出问题时,卡车司机立即直接开往修理厂进行修理,从而恢复冗余性)//这个我第一次听说 因此写写
操作系统
软件层次:外层应用软件,中心是硬件,系统软件位于两者直接。
系统软件:提供常用服务的软件包括操作系统,编译程序,加载程序和汇编程序等。
操作系统是用户程序和硬件之间的接口,为用户提供各种服务和监控功能。-
操作系统作用
- 1.处理基本的输入输出操作
- 2.分配外存和内存。
- 3.为多个应用程序提供共享计算机资源的服务。
DRAM: dynamic random access memory(动态随机访问存储器)
SRAM静态随机访问存储器
体系结构(指令集体系结构):是低层次软件和硬件之间的抽象接口,包含了需要编写正确运行的机器语言程序所需要的全部信息,包括指令,寄存器,存储访问和I/O等。
应用二进制接口:用户部分的指令加上应用程序员调用的操作系统接口,定义了二进制层次可移植的计算机的标准。
无论硬件还是软件都可以使用抽象分成多个层次,每个较低的层次把细节对上层隐藏起来。抽象层次中的一个关键接口是指令集体系结构——硬件和底层软件之间的接口。这一抽象接口使得同一软件可以由成本不同,性能也不同的实现方法来完成。
为什么这个书那个时候就有Intel Core i7芯片,,,