计算机体系结构

1. 概述

  • 计算机体系结构、计算机组织和计算机实现三者的关系:

    从上到下实现
    (1)计算机体系结构(Computer Architecture) 计算机的概念性结构和功能属性
    (2)计算机组织(Computer Organization) 计算机体系结构的逻辑实现 包括机器内的数据流和控制流的组成以及逻辑设计等(常称为计算机组成原理)
    (3)计算机实现(Computer Implementation) 计算机组织的物理实现

2. 计算机体系结构分类

(1)宏观

  • 按处理机数量分类
物理实现 目的
单处理系统 利用一个处理单元与其他外部设备结合起来 实现存储、计算、通信、输入与输出等功能的系统
并行处理与多处理系统 将两个以上的处理机互连起来,彼此进行通信协调 充分发挥问题求解过程中处理的并行性。共同求解一个大问题
分布式处理系统 物理上远距离而松耦合的多计算机系统 远距离:通信时间与处理时间相比已不可忽略
松耦合:在通信线路上的数据传输速率要比在处理机内部总线上传输慢得多

(2)微观

  • 按并行程度分类
定义 解释 计算机系统的结构分类
Flynn分类法 1966 年,MJ.Flynn 提出 按指令流和数据流 的多少进行分类 指令流:机器执行的指令序列
数据流:由指令调用的数据序列
(1)单指令流、单数据流
(2)单指令流、多数据流
(3)多指令流、单数据流
(4)多指令流、多数据流
冯泽云分类法 1972 年,美籍华人冯泽云(Tse-yun Feng)提出按 并行度 对各种计算机系统进行结构分类 最大并行度Pm是指计算机系统在单位时间内能够处理的最大二进制位数 (1)字串行位串行(WSBS)计算机
(2)字并行位串行(WPBS)计算机
(3)字串行位并行(WSBP)计算机
(4)字并行位并行(WPBP)计算机
Handler分类法 1977 年,德国的汉德勒(Wolfgang Handler)提一个基于硬件并行程度计算并行度的方法 分别计算这三级中可以并行或流水处理的程序,即可算出某系统的并行度 (1)处理机级
(2)每个处理机中的算逻单元级
(3)每个算逻单元中的逻辑门电路级
Kuck分类法 1978 年,美国的库克(David J.Kuck)提出与Flynn分类法类似的方法,用指令流和执行流(Execution Stream)及其多重性来描述计算机系统控制结构的特征 (1)单指令流单执行流(SISE)
(2)单指令流多执行流(SIME)
(3)多指令流单执行流(MISE)
(4)多指令流多执行流(MIME)
  • Flynn 把计算机系统的结构分为:

    体系结构类型 结构 关键特性 代表
    单指令流、单数据流( Single Instruction stream Single Data stream,SISD) 控制部分:一个
    处理器:一个
    主存模块:一个
    单处理器系统
    单指令流、多数据流(Single Instruction stream Multiple Data stream, SIMD) 控制部分:一个
    处理器:多个
    主存模块:多个
    各处理器以异步的形式执行同一条指令 并行处理机
    阵列处理机
    超级向量处理机
    多指令流、单数据流(Multiple Instruction stream Single Data stream, MISD) 控制部分:多个
    处理器:一个
    主存模块:多个
    被证明不可能,至少是不实际 目前没有,有文献称流水线计算机为此类
    多指令流、多数据流(Multiple Instruction stream Multiple Data stream, MIMD) 控制部分:多个
    处理器:多个
    主存模块:多个
    能够实现作业、任务、指令等各级全面并行 多处理机系统
    多计算机

3. 指令系统

  • 指令集体系结构:一个处理器支持的指令和指令的字节级编码
  • 不同的处理器族支持不同的指令集体系结构

(1)指令的基本概念

  • 一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如下:操作码字段操作码字段
  • 操作码部分指出了计算机要执行什么性质的操作,如加法、减法、取数、存数等。地址码字段需要包含各操作数的地址及操作结果的存放地址等,从地址结构的角度可以分为三地址指令、二地址指令、一地址指令和零地址指令。

(2)寻址方式

特点
➢立即寻址方式 操作数接在指令中,速度快,灵活性差
➢直接寻址方式 指令中存故的是操作数的地址
➢间接导址方式 指令中存故了一个地址,这个地址对应的内容是操作数的地址
➢寄存器寻址方式 寄存器存故操作数
➢寄存器间接寻址方式 寄存器内存放的是操作数的地址

(2)指令集体系结构的分类

  • 从体系结构的观点对指令集进行分类

    含义
    (1)操作数在CPU中的存储方式 操作数从主存中取出后保存在什么地方
    (2)显式操作数的数量 在典型的指令中有多少个显式命名的操作数
    (3)操作数的位置 即任一一个ALU指令的操作数能否放在主存中,如何定位
    (4)指令的操作 在指令集中提供哪些操作
    (5)操作数的类型与大小
  • 按暂存机制分类,根据在CPU内部存储操作数的区别:

    分类
    堆栈(Stack)
    累加器(Accumulator)
    寄存器组(a set of Registers)

(3)CISC和RISC

指令系统类型 指令 寻址方式 实现方式 其它
CISC(复杂) 数量多,使用频率差别大,可变长格式 支持多种 微程序控制技术(微码) 研制周期长
RISC (精简) 数量少,使用频率接近,定长格式,大部分为单周期指令, 操作寄存器,只有Load/Store操作内存 支持方式少 增加了通用寄存器;硬布线逻辑控制为主,适合采用流水线 优化编译,有效支持高级语言
  • CISC与RISC比较,分哪些维度?
    指令数量、指令使用频率,寻址方式,寄存器,流水线支持,高级语言支持

  • 指令 指令使用频率 寻址方式 寄存器 流水线支持 高级语言支持
    CISC 复杂 数量多 频率差别大 多寻址
    RISC 精简 数量少 操作寄存器 单周期,少寻址 多通用寄存器

(4)指令的流水处理

  • 相关参数计算: 流水线执行时间计算、流水线吞吐率、流水线加速比、流水线效率

流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度

流水线计算
  • 计算

    • 流水线周期为执行时间最长的段

    • 流水线计算公式:
      1条指令执行时间+ (指令条数 - 1) \times 流水线周期

      ①理论公式: (t1+t2+..+tk)+(n-1) \times \Delta t

      ②实践公式: k \times \Delta t +(n-1)\times \Delta t

    • 小题:一条指令的执行过程可以分解为取指、分析和执行三步,在取指时间t取指=3ot.分析时间分析=2ot、执行时间执行=4ot的情况下,若按串行方式执行,则10条指令全部执行完需要( 90 )ot;若按流水线的方式执行,流水线周期为( 4 ) ot ,则10条指令全部执行完需要( 9ot + 9*4ot ) ot

超标量流水线
流水线吞吐率计算
  • 流水线的吞吐率( Though Put rate,TP )是指在单位时间内流水
    线所完成的任务数量或输出的结果数量

  • 计算流水线吞吐率的最基本的公式如下:
    TP = \frac{指令条数}{流水线执行时间}

  • 流水线最大吞吐率:
    TP_{max}=\lim_{n \to \infty}\frac{n}{(k+n-1)\Delta t}=\frac{1}{\Delta t}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 夜莺2517阅读 127,749评论 1 9
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,587评论 28 53
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 2,627评论 2 9
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 6,216评论 4 8