冯·诺依曼计算机的特点

存储程序通用计算机

  1. 计算机由五大部件组成
  2. 指令和数据以同等地位保存于存储器,可按地址寻访
  3. 指令和数据用二进制表示
  4. 指令由操作码和地址码组成(操作码指明了该指令可执行的操作;地址码记录着操作数的内存地址)
  5. 存储程序(核心特点,是冯·诺依曼计算机的标志性特征)
  6. 以运算器为中心

    冯·诺依曼计算机的硬件框图

    image.png

    实线表示数据通路;虚线表示控制和状态反馈。

  7. 运算器:完成算术运算和逻辑运算

  8. 存储器:用于存储数据和程序
  9. 控制器:指挥控制程序的运行:完成指令的执行、完成指令间先后顺序的控制
  10. 输入设备:将信息转换成机器能识别的形式
  11. 输出设备:将结果转换成人们熟悉的形式

    冯·诺依曼计算机在硬件上的缺陷: 以运算器为中心,繁忙的运算任务将成为制约计算机性能的瓶颈; 不具有层次化的特征。

以存储器为中心计算机的硬件框图

把以运算器为中心的机器改进成以存储器为中心的机器,实现输入/输出设备与存储器间信息的直接交换。

image.png

条形线和实线表示数据通路;虚线表示控制和状态反馈。

现代计算机的硬件框图

计算机的基本组成 - 图3image.png :::tips 管理系统复杂性的方法 2——3 Y 法则

  1. 层次化(Hierachy):将被设计的系统划分为多个模块或子模块;
  2. 模块化(Modularity):提供明确定义 (well-defined) 的功能和接口;
  3. 规则性(Regularity):使模块更容易被重用。 ::: 可计算性:一个以 D 为定义域,R 为值域的函数,若存在一种算法,对 D 中的任意一个给定的 x 都能得出 f(x) 的值,则称这个函数是可计算的。用问题是否具有可计算性,评估该问题的是否可以用计算机解决。

    停机问题:判断任意一个程序是否会在有限的时间之内结束运行的问题。 等价于:给定一个程序 P 和输入 w,程序 P 在输入 w 下是否能够最终停止。

image.png

存储器

存储体是存储器的核心。
image.png

  • 存储体中的存储单元由大量的存储元件组成。每一个存储单元都存放着一串二进制代码,这些代码的组合就是存储字;用存储字长表示存储字的位数;用存储单元的地址寻访数据。
  • MAR 是存储器地址寄存器 (Memory Address Register

),记录了存储单元的个数、地址(编号),其位数和存储单元的个数有关。

  • MDR 是存储器数据寄存器 (Memory Data Register),其位数和存储字长有关。

    4 位的 MAR 可以表示从 0000 到 1111 的二进制数,可指向 24=16 个存储单元; 8 位的 MDR 可以表示从 00000000 到 11111111 的二进制数,可指向 28=256 种数据。即,对应的存储字长是 8。

运算器

ALU (算术逻辑单元, Arithmetic Logic Unit)是运算器的核心。
image.png

  • 算术逻辑单元 ALU 是一种可对二进制整数执行算术运算或位运算的组合逻辑数字电路。它通常是一个组合电路,其特点是若输入撤销,会相应撤销输出结果。为了顺利实现运算功能,需要在 ALU 的输入端配合寄存器实现对参与运算的数据进行存储。
  • X 为操作数寄存器。
  • ACC(Accumulator, 累加器 A)一个专门用于存放操作数或运算结果的二进制 8 位寄存器。
  • MQ 为乘商寄存器,能够进行乘、除运算,保存运算结果的低位(乘法运算结果的长度将增长一倍)。

三种寄存器在运算时的功能:
image.png

控制器

控制器用于解释指令,并保证指令的有序执行。控制单元 CU 是其核心。
image.png
一条指令的完成包括了指令的提取、分析和执行 3 个步骤。分别由控制器中的 PC(程序计数器)、IR(指令寄存器)和 CU(控制单元)完成。

  • PC(程序计数器)保存了当前指令的地址,为了可以找到下一个指令的存储地址,PC 还具有计数功能。
  • IR(指令寄存器)存储了当前即将执行的指令。

    运算器、控制器、存储器共同构成了计算器的主机。

指令在主机上的实现过程

取数指令的实现

步骤 1~4:指令的提取
步骤 5:指令的分析
步骤 6~9:指令的执行
image.png

存数指令的实现

步骤 1~4:指令的提取
步骤 5:指令的分析
步骤 6~9:指令的执行
image.png

计算机硬件的主要技术指标

机器字长

CPU 一次能处理数据的位数,一般与 CPU 中寄存器的位数一致。

机器字长与机器性能呈正相关。

运算速度

用吉普森法衡量计算机的运算速度:根据每条指令的频率,计算指令执行时间的加权平均值。 用 CPI 法,每条指令所需的时钟周期衡量计算机的运行速度。 其他方式:

  • MIPS:每秒执行指令的数目(指令/百万条)
  • FLOPS:每秒浮点运算次数

主频

CPU 的时钟频率。主频和实际的运算速度有关系,但并不是一个简单的线性关系。还与指令的时钟周期、指令中包含的逻辑操作的个数有关。

核数、核支持的线程数

CPU 上的 CPU 核心数;CPU 能同时并行处理的任务数。

存储容量

存放二进制信息的总位数。

主存容量

字节数,或存储单元个数 × 存储字长。

辅存容量

字节数。