计算机系统原理
1 计算机系统概述
1.1 计算机基本工作原理
1.1.1 冯诺依曼结构基本思想
1.第一台电子计算机
第一台电子计算机的真正发明人是美国的约翰·文森特·阿塔那索夫(1903-1995)。在国际计算机界被称为“电子计算机之父”。
2.存储程序
1945年,冯·诺伊曼以“关于EDVAC的报告草案”为题,发表了全新的存储程序通用电子计算机方案,宣告了现代计算机结构思想的诞生。
存储程序方式的基本思想是:必须将事先编好的程序和原始数据送入主存后才能执行程序,一旦程序被启动执行,计算机能在不需操作人员干预下自动完成逐条指令取出和执行的任务。
3.冯·诺依曼结构基本思想
采用“存储程序”工作方式
计算机由运算器、控制器、存储器、输入设备和输出设备5个基本部件组成。
存储器不仅能存放数据,也能存放指令,形式上数据和指令没有区别,但计算机能区分它们;控制器能自动执行指令;运算器应能进行算数运算,也能进行逻辑运算;操作人员可以通过输入/输出设备使用计算机。
计算机内部以二进制形式表示指令和数据;每条指令由操作码和地址码两部分组成,操作码指出操作类型,地址码指出操作数的地址;由一串指令组成程序。
1.1.2 冯诺依曼机基本结构

主存储器:用来存放指令和数据,简称主存或内存
算术逻辑部件:用来进行算术逻辑运算的部件,简称ALU。ALU两个输入端A和B的数据来自通用寄存器。
控制部件:用于自动逐条取出指令并进行译码的部件,简称CU,也称控制器
输入输出设备:用来和用户交互
通用寄存器:临时存放主存取来的数据或运算的结果,简称GPR。若干个通用寄存器组成通用寄存器组(GPRs)。
标志寄存器:用来记录ALU运算结果产生的标志信息,例如结果是否为0(零标志ZF),是否为负数(符号标志SF)等。
指令寄存器:临时保存从主存取来的指令,简称IR。
程序计数器:为了让CPU按序读取主存中的指令,简称PC。
中央处理器:控制部件(CU)、运算部件和各类寄存器互连组成的电路,简称处理器
主存单元地址:对主存中每个单元的编号,简称主存地址。
总线:CPU为了从主存取指令和存取数据,通过传输介质和主存相连,通常把连接不同部件进行信息传输的介质称为总线。包含了用于传输地址信息、数据信息和控制信息的地址线、数据线和控制线。
主存地址寄存器:CPU送到地址线的主存地址先存在在此,简称MAR。
主存数据寄存器:发送到或从数据线取来的信息存放在此,简称MDR。
1.1.3 程序和指令的执行过程

一个程序的执行就是周而复始地执行一条一条指令的过程。
每条指令的执行过程包括:从主存取指令、对指令进行译码、PC增量、取操作数并执行、将结果送入主存或寄存器保存
1.2 程序的开发与运行
1.2.1 程序设计语言和翻译程序
机器语言:使用特定计算机规定的指令格式而形成的0/1序列。
机器代码或机器语言程序:计算机能理解和执行的程序。
机器指令:机器代码中的每条指令,每条指令都由0和1组成。
汇编语言:机器语言的符号表示语言,用简短的英文符号和机器指令建立对应关系,以方便程序员编写和阅读程序。
汇编指令:机器指令对应的符号表。
机器级语言:汇编语言和机器语言,都属于低级语言。
高级程序设计语言:面向算法设计,较接近于日常英语书面语言的程序设计语言。与具体的机器结构无关,可读性比机器级语言好,描述能力更强,一条语句可对应几条或几十条指令。
源语言:被翻译的语言。
源程序:被翻译的程序。
目标语言:翻译生成的语言。
目标程序:翻译生成的程序。
汇编程序:翻译生成的程序。
解释程序:翻译生成的程序。
编译程序:翻译生成的程序。
汇编程序:也称汇编器,实现汇编语言源程序翻译成机器语言目标程序。
解释程序:也称解释器,实现将源程序中的语句按其执行顺序逐条翻译成机器指令并立即执行。
编译程序:也称编译器,实现将高级语言源程序翻译成汇编语言或机器语言目标程序。

1.2.2 从源程序到可执行文件

1.2.3 可执行文件的启动和执行
