第 2章 计算机结构
外存
储器
内存
储器
输出
设备
输入
设备
控制器 内存
储器 注,数据信号
控制信号 CPU
第 2章 计算机结构
? 2.1 中央处理器
? 2.2 指令系统
? 2.3 指令执行
? 2.4 流水线技术
? 2.5 存储系统
? 2.6 外围设备
? 2.7 输入输出方式
? 2.8 多处理器
2.1 中央处理器
? 主要功能,
? 顺序控制
? 操作控制
? 时间同步
? 数据处理
? 主要部件,
? 运算器
? 控制器
? 寄存器组
运算器
? 算术运算:如加, 减等算术操作
? 逻辑运算:如与, 或非等逻辑操作 。
控制器
? 功能,
? 根据当前程序计数器寄存器的值,从 RAM 中相应
的地址取出指令,并将它们放到指令寄存器中;
然后对指令进行译码,并根据译码的结果发送信
号给数据总线( Data Bus),从 RAM 中取出操作
数,并发出适当的控制信号,控制运算器进行数
据的处理。
? 按设计和实现的途径可分为三类,
? 硬连线控制器( Hardwired Controller)
? 微程序控制器( Microprogrammed Controller)
? 门阵列控制器
寄存器
? 用户可见的寄存器
? 数据寄存器( Data Register)
? 地址寄存器( Address Register)
? 控制和状态寄存器
? 程序计数器( Program Counter,PC)
? 指令寄存器( Instruction Register)
? 状态条件寄存器
指令系统 (1)
? 指令是指示计算机执行某种操作的命令。
从计算机组成的层次结构来说,计算机
的指令有三种,
? 微指令,
? 微程序级的命令,属于硬件部分
? 宏指令,
? 由若干条机器指令组成的软件指令,属于软件
? 机器指令,
? 介于微指令与宏指令之间,通常简称为指令
指令系统 (2)
? CISC
? Complex Instruction Set Computer,复杂
指令集计算机
? RISC
? Reduced Instruction Set Computer,精简
指令集计算机
指令系统 (3)
? CISC
? 采用微程序设计方法实现指令的控制器
? 减轻编程的工作量,缩短程序代码
? 由于大量的复杂指令、可变的指令长度、
多种的寻址方式,大大增加了解码的难度,
代码难以优化,执行效率低
指令系统 (4)
? RISC
? IBM370CISC系统占总指令数仅 20%的简单指令在
程序调用中占了 80%,而占指令数 80%的复杂指
令却只有 20%的机会用到
? RISC具有以下的特点,
? 指令系统简化,由一些基本的、必要的指令构成;
? 除 LOAD/STORE指令外,所有指令只与寄存器打交道,
都在一个时钟周期内执行完毕;
? 绝大部分采用硬联线控制,不用或少用微程序实现;
? 使用较多的通用寄存器,没有专用寄存器;
? 采用优化编译技术,生成高效的目标代码程序。
指令系统 (5)
? 指令格式
? 指令字就是表示一条指令的二进制代码,
通常简称指令;指令格式,则是指令字用
二进制代码表示的结构形式
? 一条指令通常由操作码、地址码字段构成
? 操作码字段指定指令的功能特性
? 地址码字段指定操作数的地址
指令系统 (6)
? 操作码
? 定长操作码,变长指令码
? 变长操作码,定长指令码
? 地址码
? 零地址指令
? 一地址指令
? 二地址指令
? 三地址指令
指令系统 (7)
? 寻址方式
? 指令寻址方式
? 顺序寻址方式
? 跳跃寻址方式
? 数据寻址方式(即操作数寻址)
操作数寻址 (1)
? 隐含寻址
? 立即寻址
操作数寻址 (2)
? 直接寻址
? 间接寻址
操作数寻址 (3)
? 寄存器寻址方式
? 相对寻址
? 变址和基值寻址方式
指令执行
? 指令周期
? 取出并执行一条指令的时间
? 机器周期
? 也称为 CPU周期,通常用内存中读取一个
指令字的最短时间来规定 CPU周期
? 时钟周期
非访存指令的指令周期 (1)
非访存指令的指令周期 (2)
非访存指令的指令周期 (3)
直接访存指令的指令周期 (1)
直接访存指令的指令周期 (2)
直接访存指令的指令周期 (3)
间接访存指令的指令周期 (1)
间接访存指令的指令周期 (2)
间接访存指令的指令周期 (3)
程序控制指令的指令周期 (1)
程序控制指令的指令周期 (2)
流水线技术 (1)
? 流水技术的特点,
? 一条流水线由流水段组成,流水段的数目称为流水线的深度;
? 每个流水段有专门的功能部件对指令进行某种加工;
? 各流水段所需时间是一样的,这样才能同步符合流水节拍;
? 流水线工作阶段可分为建立、满载和排空三个阶段;
? 在理想情况下,当流水线充满后,每隔 Δt时间即一个流水节拍
将会有一个结果流出流水线。
流水线技术 (2)
? 理想流水线性能分析
? 流水线的加速比=非流水线指令的平均执
行时间 /流水线指令的平均执行时间
? 指令的平均执行时间=时钟周期 × 指令的
平均 CPI
? CPI( Cycles per Instruction) 是执行每条指
令所需的时钟周期
流水线技术 (3)
? 流水操作中的主要障碍
? 资源竞争( Structural Hazard)
? 又叫结构竞争,是由资源缺乏引起
? 数据竞争( Data Hazard)
? 由指令间数据的相关而引起
? 控制竞争( Control Hazard)
? 主要是由转移指令引起的
存储系统 (1)
? 存储器的层次结构
? 局部性原理
( Principle of Locality)
? 时间局部性
( Spatial Locality)
? 空间局部性
( Temporal Locality)
存储系统 (2)
? 基本概念
? 命中率( Hit Rate)
? 失配率( Miss Rate)
? 命中时间( Hit Time)
? 失配损失( Miss Penalty)
? 存储器设计目标
? 降低平均访问时间,而不是单单提高命中率
? 平均访问时间=命中时间+失配时间×失配率
? 层次化存储体系必须解决的问题
? 定位问题
? 替换问题
? 更新问题
存储系统 (3)
? 高速缓冲存储器( Cache)
? 通常由两部分组成:块表和快速存储器
? 两级 Cache,内部 Cache和外部 Cache
? Cache中的地址映象和变换
? 直接映象
? 全关联映象
? 组关联映象
存储系统 (4)
? 直接映象
(Direct mapped)
j = i mod 2C
存储系统 (5)
? 全关联映象( Full Associative)
存储系统 (6)
? 组关联映象( Set Associative)
? 若每组中有 n行,则称之为 n路组关联映象
? 直接映象就是 1路组关联,全关联映象就是 M(= 2C)路组
关联
存储系统 (7)
? 替换策略
存储系统 (8)
? 替换算法比较
存储系统 (9)
? 更新策略
存储系统 (10)
? 主存储器的设计
? 提高带宽,减少平均访问时间,是主存储
器设计的主要问题
? 增加存储器的数据宽度,即增加数据位数;
? 采用存储器的多体交叉技术
?,高位交叉”编址
?,低位交叉”编址
存储系统 (11)
? 虚拟存储器( Virtual Memory)
? 虚拟存储器使存储系统既具有相当于辅存的容量
又有接近于主存的访问速度
? 设计虚拟存储系统需考虑的指标是主存空间利用
率和主存的命中率
? 虚拟存储器按存储映象算法有三种管理方式,
? 段式管理
? 页式管理
? 段页式管理
段式管理
页式管理
段页式管理
外围设备
? 外围设备是指计算机系统中除了 CPU和主存
之外的那些用来加强计算机功能的设备
? 交互设备,
? 用于计算机和用户的交互,例如触摸屏、打印机、视频
显示终端等。视频显示终端包括显示器和键盘,还有其
它的设备,如鼠标。
? 存储设备,
? 用于存储数据,如磁盘和磁带设备。
? 数据通信设备,
? 用于与远程设备通讯,如网卡、调制解调器等。
输入输出方式
? CPU和外部设备进行信息交换的方式
? 程序查询方式
? 中断方式
? 直接内存访问方式
? 通道方式
多处理器 (1)
? 并行系统结构的分类
多处理器 (2)
多处理器 (3)
外存
储器
内存
储器
输出
设备
输入
设备
控制器 内存
储器 注,数据信号
控制信号 CPU
第 2章 计算机结构
? 2.1 中央处理器
? 2.2 指令系统
? 2.3 指令执行
? 2.4 流水线技术
? 2.5 存储系统
? 2.6 外围设备
? 2.7 输入输出方式
? 2.8 多处理器
2.1 中央处理器
? 主要功能,
? 顺序控制
? 操作控制
? 时间同步
? 数据处理
? 主要部件,
? 运算器
? 控制器
? 寄存器组
运算器
? 算术运算:如加, 减等算术操作
? 逻辑运算:如与, 或非等逻辑操作 。
控制器
? 功能,
? 根据当前程序计数器寄存器的值,从 RAM 中相应
的地址取出指令,并将它们放到指令寄存器中;
然后对指令进行译码,并根据译码的结果发送信
号给数据总线( Data Bus),从 RAM 中取出操作
数,并发出适当的控制信号,控制运算器进行数
据的处理。
? 按设计和实现的途径可分为三类,
? 硬连线控制器( Hardwired Controller)
? 微程序控制器( Microprogrammed Controller)
? 门阵列控制器
寄存器
? 用户可见的寄存器
? 数据寄存器( Data Register)
? 地址寄存器( Address Register)
? 控制和状态寄存器
? 程序计数器( Program Counter,PC)
? 指令寄存器( Instruction Register)
? 状态条件寄存器
指令系统 (1)
? 指令是指示计算机执行某种操作的命令。
从计算机组成的层次结构来说,计算机
的指令有三种,
? 微指令,
? 微程序级的命令,属于硬件部分
? 宏指令,
? 由若干条机器指令组成的软件指令,属于软件
? 机器指令,
? 介于微指令与宏指令之间,通常简称为指令
指令系统 (2)
? CISC
? Complex Instruction Set Computer,复杂
指令集计算机
? RISC
? Reduced Instruction Set Computer,精简
指令集计算机
指令系统 (3)
? CISC
? 采用微程序设计方法实现指令的控制器
? 减轻编程的工作量,缩短程序代码
? 由于大量的复杂指令、可变的指令长度、
多种的寻址方式,大大增加了解码的难度,
代码难以优化,执行效率低
指令系统 (4)
? RISC
? IBM370CISC系统占总指令数仅 20%的简单指令在
程序调用中占了 80%,而占指令数 80%的复杂指
令却只有 20%的机会用到
? RISC具有以下的特点,
? 指令系统简化,由一些基本的、必要的指令构成;
? 除 LOAD/STORE指令外,所有指令只与寄存器打交道,
都在一个时钟周期内执行完毕;
? 绝大部分采用硬联线控制,不用或少用微程序实现;
? 使用较多的通用寄存器,没有专用寄存器;
? 采用优化编译技术,生成高效的目标代码程序。
指令系统 (5)
? 指令格式
? 指令字就是表示一条指令的二进制代码,
通常简称指令;指令格式,则是指令字用
二进制代码表示的结构形式
? 一条指令通常由操作码、地址码字段构成
? 操作码字段指定指令的功能特性
? 地址码字段指定操作数的地址
指令系统 (6)
? 操作码
? 定长操作码,变长指令码
? 变长操作码,定长指令码
? 地址码
? 零地址指令
? 一地址指令
? 二地址指令
? 三地址指令
指令系统 (7)
? 寻址方式
? 指令寻址方式
? 顺序寻址方式
? 跳跃寻址方式
? 数据寻址方式(即操作数寻址)
操作数寻址 (1)
? 隐含寻址
? 立即寻址
操作数寻址 (2)
? 直接寻址
? 间接寻址
操作数寻址 (3)
? 寄存器寻址方式
? 相对寻址
? 变址和基值寻址方式
指令执行
? 指令周期
? 取出并执行一条指令的时间
? 机器周期
? 也称为 CPU周期,通常用内存中读取一个
指令字的最短时间来规定 CPU周期
? 时钟周期
非访存指令的指令周期 (1)
非访存指令的指令周期 (2)
非访存指令的指令周期 (3)
直接访存指令的指令周期 (1)
直接访存指令的指令周期 (2)
直接访存指令的指令周期 (3)
间接访存指令的指令周期 (1)
间接访存指令的指令周期 (2)
间接访存指令的指令周期 (3)
程序控制指令的指令周期 (1)
程序控制指令的指令周期 (2)
流水线技术 (1)
? 流水技术的特点,
? 一条流水线由流水段组成,流水段的数目称为流水线的深度;
? 每个流水段有专门的功能部件对指令进行某种加工;
? 各流水段所需时间是一样的,这样才能同步符合流水节拍;
? 流水线工作阶段可分为建立、满载和排空三个阶段;
? 在理想情况下,当流水线充满后,每隔 Δt时间即一个流水节拍
将会有一个结果流出流水线。
流水线技术 (2)
? 理想流水线性能分析
? 流水线的加速比=非流水线指令的平均执
行时间 /流水线指令的平均执行时间
? 指令的平均执行时间=时钟周期 × 指令的
平均 CPI
? CPI( Cycles per Instruction) 是执行每条指
令所需的时钟周期
流水线技术 (3)
? 流水操作中的主要障碍
? 资源竞争( Structural Hazard)
? 又叫结构竞争,是由资源缺乏引起
? 数据竞争( Data Hazard)
? 由指令间数据的相关而引起
? 控制竞争( Control Hazard)
? 主要是由转移指令引起的
存储系统 (1)
? 存储器的层次结构
? 局部性原理
( Principle of Locality)
? 时间局部性
( Spatial Locality)
? 空间局部性
( Temporal Locality)
存储系统 (2)
? 基本概念
? 命中率( Hit Rate)
? 失配率( Miss Rate)
? 命中时间( Hit Time)
? 失配损失( Miss Penalty)
? 存储器设计目标
? 降低平均访问时间,而不是单单提高命中率
? 平均访问时间=命中时间+失配时间×失配率
? 层次化存储体系必须解决的问题
? 定位问题
? 替换问题
? 更新问题
存储系统 (3)
? 高速缓冲存储器( Cache)
? 通常由两部分组成:块表和快速存储器
? 两级 Cache,内部 Cache和外部 Cache
? Cache中的地址映象和变换
? 直接映象
? 全关联映象
? 组关联映象
存储系统 (4)
? 直接映象
(Direct mapped)
j = i mod 2C
存储系统 (5)
? 全关联映象( Full Associative)
存储系统 (6)
? 组关联映象( Set Associative)
? 若每组中有 n行,则称之为 n路组关联映象
? 直接映象就是 1路组关联,全关联映象就是 M(= 2C)路组
关联
存储系统 (7)
? 替换策略
存储系统 (8)
? 替换算法比较
存储系统 (9)
? 更新策略
存储系统 (10)
? 主存储器的设计
? 提高带宽,减少平均访问时间,是主存储
器设计的主要问题
? 增加存储器的数据宽度,即增加数据位数;
? 采用存储器的多体交叉技术
?,高位交叉”编址
?,低位交叉”编址
存储系统 (11)
? 虚拟存储器( Virtual Memory)
? 虚拟存储器使存储系统既具有相当于辅存的容量
又有接近于主存的访问速度
? 设计虚拟存储系统需考虑的指标是主存空间利用
率和主存的命中率
? 虚拟存储器按存储映象算法有三种管理方式,
? 段式管理
? 页式管理
? 段页式管理
段式管理
页式管理
段页式管理
外围设备
? 外围设备是指计算机系统中除了 CPU和主存
之外的那些用来加强计算机功能的设备
? 交互设备,
? 用于计算机和用户的交互,例如触摸屏、打印机、视频
显示终端等。视频显示终端包括显示器和键盘,还有其
它的设备,如鼠标。
? 存储设备,
? 用于存储数据,如磁盘和磁带设备。
? 数据通信设备,
? 用于与远程设备通讯,如网卡、调制解调器等。
输入输出方式
? CPU和外部设备进行信息交换的方式
? 程序查询方式
? 中断方式
? 直接内存访问方式
? 通道方式
多处理器 (1)
? 并行系统结构的分类
多处理器 (2)
多处理器 (3)