Skip to content

一、导论

1. 冯诺依曼机

1.1. 计算机系统的组成

  • 硬件:计算机实体,如主机,外设等;

  • 软件:具有各类特殊功能的信息(程序)组成;

ℹ️1.2. 冯诺依曼计算机特点(记忆)

  • 计算机由五大部件组成;

  • 指令和数据地位同等,都存储在存储器中;

  • 指令和数据用二进制表示;

  • 指令由操作码和地址码组成;

  • **(核心思想)**存储程序、控制指令;

  • (早期)以运算器为中心;

    • 现代冯诺依曼机是以存储器为中心;
  • 控制流驱动的工作方式;

  • 按地址寻访,寻址有数据寻址和指令寻址两种;

1.3. 冯诺依曼机硬件框图

img_c97PPH7CX3

  • 运算器:完成算术运算和逻辑运算并将的中间结果暂存在运算器内;

  • 存储器:用来存放数据和程序;

  • 控制器:用来控制,指挥程序和数据的输入,运行以及处理运行结果;

  • 输入设备:用来将人们熟悉的信息转换为机器识别的信息;

  • 输出设备:将机器运算结果转为人熟悉的信息形式

2. 计算机性能指标

2.1. 性能指标

  • 主频 Rc:CPU 工作主时钟震动的频率。是计算机硬件的固有属性

  • 时钟周期 TcTc=1/Rc,表示 CPU 主时钟震荡一次经过的时间;

  • CPI:CPU 执行一条指令所需的时钟周期数

  • CPU 执行时间 TCPU:CPU 执行一个程序所需的总时间。TCPU=ln×CPI×Tc

    • ln:程序包含的指令数;

    • CPI:一条指令平均时钟周期数;

  • MIPS (millions instructions per second) :CPU 每秒能执行多少百万条指令;

    • MIPS=1/(CPI×Tc×106)。CPI 为平均值

    • 衡量定点运算速度;

    • 适用于标量机(运算结果为单个数而不是多维数组);

  • MFLOPS (million floating point operations) :CPU 每秒能执行多少百万条浮点运算指令;

    • 衡量浮点运算速度;

    • 适用于科学计算,向量机

  • 吉普森法:指令执行时间的加权平均

    • Tm=fitifi 为第 i 种指令占比,ti 为其执行时间;

2.2. 技术指标

  • 指令字长:一条指令的长度;

  • 机器字长:CPU 一次能处理数据的位数(和寄存器相关);

  • 存储字长:存储单元的二进制位数;

    • MAR:存储器地址寄存器,对应存储单元数量;

    • MDR:存储器数据寄存器,对应存储字长;

  • 访存速度:存取时间,存取周期,主存带宽;

    • 存取时间 Ta:存储器从启动一次操作(读 or 写)到完成操作所需时间;

    • 存取周期 Tm:连续两次访问存储器所需的最小间隔时间;

      • 存取周期 = 存取时间 + 存储器复位操作等所需时间;

      • 一般情况下,Tm>Tw>Tr,即周期 > 写时间 > 读时间;

    • 主存带宽 Bm:每秒钟从存储器传输的数据量,Bm = 传输的数据量 / 传输时间,单位 B/s,KB/s 等;

3. 多核处理器和 SMP 体系结构

3.1. Flynn 分类法

  • 根据指令和数据流的关系将计算机划分为四种基本类型:SISD,MIMD,SIMD,MISD

  • SISD:单指令流,单数据流,早期计算机居多;

  • SIMD:单指令流,多数据流,现代单核计算机;

  • MISD:多指令流,单数据流,仅存在于理论中;

  • MIMD:多指令流,多数据流,现代多核计算机;

3.2. SMP 体系结构

  • SMP(Symmetry Multi-Processor,对称多处理器):指的是现代多核处理器通常是对称的结构,且共享相同的内存;

  • 单核 + 多线程:只能并发,不能并行;

  • 多核 + 多线程:可以并发和并行;

  • SMP 也称为一致存储器访问结构(UMA,Uniform Memory Access);

  • SMP 的主要瓶颈在于内存,导致 SMP 扩展性较差

  • 实验证明,SMP 服务器的最佳配置是 2 至 4 个 CPU(CPU 过多会导致访存冲突增加,降低 CPU 工作效率);

4. 多处理技术

4.1. 松耦合技术

  • 概念:不同的系统通过网络通信技术进行互联;

  • 不同的系统被称为节点,可以互相共享文件存储;

  • 不同系统不共享 CPU 和内存,通过专用高速网络进行节点间通信;利用软件控制任务分发和并行处理。

  • 例:IBM 的 SP 系统;

4.2. 紧耦合技术

  • 概念:多个 CPU 之间共享部分内存,但每个 CPU都有自己的独立内存和总线结构

  • 通过一个操作系统控制不同处理器之间协同工作;

  • 一般有一个主处理器,管理其他从处理器,如果此主处理器不能工作,则由第二候选处理器升级为主处理器;

4.3. 对称多处理技术

  • 概念:多个CPU之间没有区别,平等地访问内存、外设、使用一个操作系统;

  • 操作系统管理着一个队列,每个处理器依次处理队列中的进程;

  • 如果两个处理器同时请求访问一个资源(例如同一段内存地址),由硬件、软件的锁机制去解决资源争用问题;

习题

    1. 某计算机主频 1.2GHz,其指令分为 4 类,在基准程序中,各个指令占比及 CPI 如下表所示,则该计算机 MIPS 指标为()

    img_2dWBsXrCrx

    • 答案:400

    • 解析:MIPS=FrequencyCPI×106,该题 CPI 直接加权平均即可

    • 注:CPI(Cycle Per Instruction):平均指令周期数

    1. 某机器的主频 8MHz,平均指令执行速度 0.8 MIPS,平均每个机器周期包含 4 个时钟周期,求:该机器的平均指令周期,平均每个指令周期包含多少个机器周期?
    • 答案:1/0.8M s,2.5 个

    • 注意区分 CPI 和平均指令周期,前者是周期的个数,后者是时间量,CPI 和 MIPS 关系见第 1 题,平均指令周期 T = 1/平均指令执行速度;

    1. 下面叙述中,错误的是()
    • A. 操作系统既能进行多任务处理,又能进行多重处理;

    • B. 多重处理是多任务处理的子集;

    • C. 多任务是指同一时间内在同一系统中同时运行多个进程;

    • D. 一个CPU的计算机上也可以进行多重处理;

    • 答案:D

    • 解析:区分多任务和多重处理

      • 多任务:指系统中同一时间允许多个任务(进程)处于运行状态

      • 多重处理:指有多个 CPU 的计算机同时在每一个 CPU 上运行任务(进程)

  • ℹ️4. 冯诺依曼结构计算机中数据采用二进制编码表示,其主要原因是()

    • (1)二进制的运算规则简单,(2)制造两个稳态的物理器件比较容易,(3)便于用逻辑门电路实现算术运算;

    • A. (1), (2);

    • B. (1), (3);

    • C. (2), (3);

    • D. 全部;

    • 答案:D