1.1 计算机系统的组成与工作过程
冯·诺依曼结构的特点,计算机硬件的五大部件与软件分类,计算机系统的层次结构,以及一条指令在模型机中的执行过程。
计算机发展简史
| 代 | 时间 | 逻辑元件 | 特点 |
|---|---|---|---|
| 第一代 | 1946—1957 | 电子管 | 机器语言编程,ENIAC 是第一台电子数字计算机 |
| 第二代 | 1958—1964 | 晶体管 | 出现高级语言(FORTRAN)和操作系统雏形 |
| 第三代 | 1964—1971 | 中小规模集成电路 | 操作系统开始成熟,出现分时系统 |
| 第四代 | 1972 至今 | 大规模、超大规模集成电路 | 微处理器、微型计算机,摩尔定律 |
摩尔定律:集成电路上可容纳的晶体管数目,约每隔 18 个月便会增加一倍,性能也提升一倍。
冯·诺依曼计算机
1945 年,冯·诺依曼首次提出了”存储程序”的概念:将指令以代码的形式事先输入计算机的主存储器中,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。
现代计算机已转化为以存储器为中心的结构:输入/输出设备可以直接与存储器交换数据,CPU 也越来越专注于运算和控制。
各部件的组成
- 存储器:分为主存储器(内存)和辅助存储器(外存)。CPU 能够直接访问的存储器是主存储器,辅存中的信息必须调入主存后才能为 CPU 所访问。主存由存储体、MAR(存储器地址寄存器)和 MDR(存储器数据寄存器)组成;MAR 用于寻址,其位数对应存储单元的个数(MAR 为 10 位则有 个存储单元);MDR 的位数与存储字长相等。
- 运算器:计算机的执行部件,用于进行算术运算和逻辑运算。核心是算术逻辑单元 ALU,包含若干通用寄存器,如累加器 ACC、乘商寄存器 MQ、操作数寄存器 X、变址寄存器 IX、基址寄存器 BR 等,前三个是必须具备的;还有程序状态寄存器 PSW(标志寄存器)。
- 控制器:计算机的指挥中心,由程序计数器 PC、指令寄存器 IR 和控制单元 CU 组成。PC 用来存放当前欲执行指令的地址,具有自动加 1 的功能,可与主存的 MAR 之间有一条直接通路;IR 用来存放当前的指令,其内容来自主存的 MDR。
- 输入/输出设备:完成人与计算机、计算机与其他设备的信息交换。
计算机的工作过程
一条指令的执行分为取指令、分析指令和执行指令三个阶段。下面的模型机依次执行 LOAD 5、ADD 6、STORE 7、HALT,完成 M[7] = M[5] + M[6]。单步播放,观察每一步数据在哪些部件之间流动:
动画演示模型机执行程序:取指 → 分析 → 执行
1/28程序和数据都以二进制形式存放在主存中(存储程序)。PC = 0 指向第一条指令。程序功能:M[7] = M[5] + M[6]
以取指令为例,各步可以用寄存器传送语言描述:
| 步骤 | 微操作 | 说明 |
|---|---|---|
| ① | (PC) → MAR | 指令地址送 MAR |
| ② | M(MAR) → MDR | 在 CU 的控制下读主存 |
| ③ | (MDR) → IR | 指令送入 IR |
| ④ | OP(IR) → CU,(PC) + 1 → PC | 分析操作码,PC 指向下一条指令 |
计算机软件
- 系统软件:保证计算机系统高效、正确运行的基础软件,如操作系统、数据库管理系统、语言处理程序(编译器)、分布式软件系统、网络软件系统、标准库程序、服务性程序等。
- 应用软件:用户为解决某个应用领域中的各类问题而编制的程序。
三个级别的语言:机器语言(二进制代码,计算机唯一可以直接识别和执行的语言)、汇编语言(用助记符代替二进制代码,需经汇编程序翻译)、高级语言(需经编译程序或解释程序翻译)。
| 翻译程序 | 工作方式 |
|---|---|
| 汇编程序(汇编器) | 把汇编语言程序翻译成机器语言程序 |
| 编译程序(编译器) | 把高级语言源程序一次全部翻译成目标程序,以后每次执行时只需执行目标程序 |
| 解释程序(解释器) | 将源程序中的语句按执行顺序逐条翻译成机器指令并立即执行,不生成目标程序 |
一个 C 程序从源代码到可执行文件要经过:预处理(.c → .i)→ 编译(→ 汇编语言 .s)→ 汇编(→ 可重定位目标文件 .o)→ 链接(→ 可执行文件)。
计算机系统的层次结构
- 下层是上层的基础,上层是下层的扩展。软件和硬件在逻辑功能上是等价的——同一功能,既可以用软件实现,也可以用硬件实现。
- **指令集体系结构(ISA)**是软件和硬件之间的接口,规定了机器语言程序员看得见的一切:指令格式、寻址方式、寄存器、数据类型等。
- 计算机体系结构指机器语言程序员(或编译程序设计者)所看见的计算机系统的属性;计算机组成指如何实现计算机体系结构所体现的属性。例如”是否有乘法指令”属于体系结构,“乘法指令是用专门的乘法器还是用加法器多次运算实现”属于组成。
即时练习
即时练习5 题
点击选项即可作答
- 1冯·诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU 区分它们的依据是( )。
- 2下列关于冯·诺依曼结构计算机基本思想的叙述中,错误的是( )。
- 3若 MAR 为 32 位,MDR 为 16 位,则主存的最大寻址空间和存储字长分别为( )。
- 4下列选项中,描述浮点数操作速度指标的是( )。
- 5将高级语言源程序转换为机器级目标代码文件的程序是( )。
学完了吗?
标记完成后,侧栏会显示进度。进度仅保存在本浏览器中。