1.1 计算机系统的组成与工作过程

冯·诺依曼结构的特点,计算机硬件的五大部件与软件分类,计算机系统的层次结构,以及一条指令在模型机中的执行过程。

考查要求 ★★☆ 理解 存储程序五大部件层次结构编译与解释指令执行过程

计算机发展简史

代时间逻辑元件特点
第一代1946—1957电子管机器语言编程,ENIAC 是第一台电子数字计算机
第二代1958—1964晶体管出现高级语言(FORTRAN)和操作系统雏形
第三代1964—1971中小规模集成电路操作系统开始成熟,出现分时系统
第四代1972 至今大规模、超大规模集成电路微处理器、微型计算机,摩尔定律

摩尔定律:集成电路上可容纳的晶体管数目,约每隔 18 个月便会增加一倍,性能也提升一倍。

冯·诺依曼计算机

1945 年,冯·诺依曼首次提出了”存储程序”的概念:将指令以代码的形式事先输入计算机的主存储器中,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。

现代计算机已转化为以存储器为中心的结构:输入/输出设备可以直接与存储器交换数据,CPU 也越来越专注于运算和控制。

输入设备主存储器输出设备运算器控制器实线:数据流 虚线:控制流主机(CPU + 主存)
现代计算机以存储器为中心;CPU = 运算器 + 控制器,主机 = CPU + 主存

各部件的组成

  • 存储器:分为主存储器(内存)和辅助存储器(外存)。CPU 能够直接访问的存储器是主存储器,辅存中的信息必须调入主存后才能为 CPU 所访问。主存由存储体、MAR(存储器地址寄存器)和 MDR(存储器数据寄存器)组成;MAR 用于寻址,其位数对应存储单元的个数(MAR 为 10 位则有 2102^{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]。单步播放,观察每一步数据在哪些部件之间流动:

动画演示模型机执行程序:取指 → 分析 → 执行
CPU运算器控制器ACC0XALUPC0IRCUMARMDR主存储器0LOAD 51ADD 62STORE 73HALT4526370初始
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)→ 链接(→ 可执行文件)。

计算机系统的层次结构

M4高级语言机器用编译程序翻译成汇编语言M3汇编语言机器用汇编程序翻译成机器语言M2操作系统机器向用户提供操作系统界面M1传统机器(机器语言)用微程序解释机器指令M0微程序机器(微指令)由硬件直接执行微指令
下层(蓝色)为硬件,M2 为软硬件交界,上层为软件;指令系统是软硬件的交界面
  • 下层是上层的基础,上层是下层的扩展。软件和硬件在逻辑功能上是等价的——同一功能,既可以用软件实现,也可以用硬件实现。
  • **指令集体系结构(ISA)**是软件和硬件之间的接口,规定了机器语言程序员看得见的一切:指令格式、寻址方式、寄存器、数据类型等。
  • 计算机体系结构指机器语言程序员(或编译程序设计者)所看见的计算机系统的属性;计算机组成指如何实现计算机体系结构所体现的属性。例如”是否有乘法指令”属于体系结构,“乘法指令是用专门的乘法器还是用加法器多次运算实现”属于组成。

即时练习

即时练习5 题
点击选项即可作答
  1. 1
    冯·诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU 区分它们的依据是( )。
  2. 2
    下列关于冯·诺依曼结构计算机基本思想的叙述中,错误的是( )。
  3. 3
    若 MAR 为 32 位,MDR 为 16 位,则主存的最大寻址空间和存储字长分别为( )。
  4. 4
    下列选项中,描述浮点数操作速度指标的是( )。
  5. 5
    将高级语言源程序转换为机器级目标代码文件的程序是( )。
学完了吗?

标记完成后,侧栏会显示进度。进度仅保存在本浏览器中。