principle of computer composition

1. 计算机的主要性能指标

  1. 机器字长

    机器字长是指计算机进行一次整数运算(即定点整数运算)所能处理的二进制数据的位数,通常与 CPU 的寄存器位数、加法器有关。因此,机器字长一般等于内部寄存器的大小,字长越长,数的表示范围越大,计算精度越高。计算机字长通常选定为字节(8 位)的整数倍,通常是 2、4、8 倍。不同的计算机,字长可以不同。

    注意:机器字长、指令字长和存储字长的关系。

  2. 数据通路带宽

    数据通路带宽是指数据总线一次所能并行传送信息的位数。这里所说的数据通路宽度是指外部数据总线的宽度,它与 CPU 内部的数据总线宽度(内部寄存器的大小)有可能不同。

    注意:各个子系统通过数据总线连接形成的数据传送路径成为数据通路。

  3. 主存容量

    主存容量是指主存储器所能存储信息的最大容量,通常以字节来衡量,也可用字数 × 字长(如 512K × 16 位)来表示存储容量。其中,MAR 的位数反映存储单元的个数,MAR 的位数反映可寻址范围的最大值(而不一定是实际存储器的存储容量)。

    例如,MAR 为 16 位,表示 $2^{16}=65536$ ,即此存储体内有 65536 个存储单元(可称为 64K 内存,1K = 1024),若 MDR 为 32 位,表示存储容量位 64K × 32 位。

  4. 运算速度

    1. 吞吐量和响应时间

      吞吐量:指系统在单位时间内处理请求的数量。它取决于信息能多快地输入内存,CPU 能多快地取指令,数据能多块地从内存取出或存入,以及所得结果能多快地从内存送给一台外部设备。这些步骤中的每步都关系到主存,因此吞吐量主要取决于主存的存取周期。

      响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获得所需结果的等待时间。通常包括 CPU 时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/O 操作、操作系统开销等的时间)。

    2. 主频和 CPU 时钟周期

      CPU 时钟周期:通常为节拍脉冲或 T 周期,即主频的倒数,它是 CPU 中最小的时间单位,每个动作至少需要 1 个时钟周期。

      主频(CPU 时钟频率):机器内部主时钟的频率。是衡量机器速度的重要参数。主频的倒数是 CPU 时钟周期。对于同一个型号的计算机,其主频越高,完成指令的一个执行步骤所用的时间越短,执行指令的速度越快。

      注意:CPU 时钟周期 = 1/主频,主频通常以 MHz(兆赫兹)为单位,1 Hz 表示每秒 1 次。

    3. CPI (Clock cycle Per Instruction),即执行一条指令所需的时钟周期数。

    4. CPU 执行时间,指运行一个程序所花费的时间。

      CPU 执行时间 = CPU 时钟周期数/主频 = (指令条数 × CPI)/主频

      上式表明,CPU 的性能(CPU 执行时间)取决于三个要素:① 主频(时钟频率);② 每条指令执行所用的时钟周期数(CPI);③ 指令条数。

    5. MIPS、MFLOPS、GFLOPS 和 TFLOPS

      MIPS(Million Instructions Per Second),即每秒执行多少百万条指令。MIPS = 指令条数/(执行时间×$10^6$) = 主频/CPI

      MFLOPS(Mega Floating-point Operations Per Second),即每秒执行多少十亿次浮点运算。GFLOPS = 浮点操作次数/(执行时间×$10^9$) 。

      TFLOPS(Tera Floating-point Operations Per Second),即每秒执行多少万亿次浮点运算。TFLOPS = 浮点操作次数/(执行时间×$10^{12}$) 。

2. 几个专业术语

  1. 系列机

    具有基本相同的体系结构。使用相同基本指令系统的多个不同型号的计算机组成的一个产品系列。

  2. 兼容

    指计算机软件或硬件的通用性,即使用或运行在某个型号的计算机系统中的硬件/软件也能应用于另一个型号的计算机系统时,称这两台计算机在硬件或软件上存在兼容性。

  3. 软件可移植性

    指把使用在某个系列计算机中的软件直接或进行很少的修改就能运行在另一个系列计算机中的可能性。

  4. 固件

    将程序固定在 ROM 中组成的部件称为固件。固件时一种具有软件特性的硬件,固件的性能指标介于硬件与软件之间,吸收了软/硬件各自的优点,其执行速度快于软件,灵活性优于硬件,是软/硬件结合的产物。例如,目前操作系统已实现了部分固化(把软件永恒地存储于只读存储器中)。

3. 习题

  1. 简述机器字长、指令字长和存储字长的联系与区别。

  2. 32 位微机是指该计算机所用 CPU

    A:具有 32 位寄存器 B:能同时处理 32 位的二进制数

    C:具有 32 个寄存器 D:能处理 32 个字符

  3. 在 CPU 的寄存器中,下列哪个对用户透明

    程序计数器;指令寄存器;状态寄存器;通用寄存器

  4. 计算机操作的最小单位时间是

    时钟周期;指令周期;CPU 周期;中断周期

  5. CPU 的 CPI 与下列哪个因素无关

    时钟频率;系统结构;指令集;计算机组织

  6. 假定基准程序 A 在某计算机上的运行时间为 100 s。其中 90 s 为 CPU 时间,其余为 I/O 时间。若 CPU 速度提高 50%,I/O 速度不变,求此时运行基准程序 A 所耗费的时间

4. 习题答案

  1. 机器字长:计算机能直接处理的二进制数据的位数,机器字长一般等于内部寄存器的大小,它决定了计算机的运算精度。

    指令字长:一个指令字中包含的二进制代码的位数。

    存储字长:一个存储单元存储的二进制代码的长度。

    它们都必须是字节的整数倍。

    指令字长一般取存储字长的整数倍,若指令字长等于存储字长的 2 倍,则需要 2 次访存来取出一条指令,因此取指周期为机器周i的 2 倍;若指令字长等于存储字长,则取指周期等于机器周期。

    早期的计算机存储字长一般和机器的指令字长与数据字长相等,故访问一次主存便可取出一条指令或一个数据。随着计算机的发展,指令字长可变,数据字长也可变,但它们必须都是字节的整数倍。

    请注意 64 位操作系统是指特别为 64 位架构的计算机而设计的操作系统,它能够利用 64 位处理器的优势。但 64 位机器既可以使用 64 位操作系统,又可以使用 32 位操作系统。而 32 位处理器是无法使用 64 位操作系统的。

  2. 能同时处理 32 位的二进制数

  3. 指令寄存器,例如 IR,MAR,MDR 对程序均不可见。

  4. 时钟周期。这里注意 CPU 周期是机器周期,它由多个时钟周期组成。

  5. 时钟频率。CPI 称为运行一条指令平均需要的时钟周期数,是数量,和时间无关。

  6. 70 s