1 / 33

William Stallings 计算机组成原理与体系结构 第八版

William Stallings 计算机组成原理与体系结构 第八版. 第 15 章 控制器操作. 微操作. 计算机执行程序 取指 / 执行周期 每个指令周期都有一系列子步骤 参考流水线 称之为微操作 每一个步骤微小简单 CPU 的原子操作. 程序执行的组成元素. 取指周期 - 4 个寄存器. 内存地址寄存器 ( Memory Address Register ,MAR) 连接到地址总线 指定读、写操作的内存地址 内存缓冲寄存器 ( Memory Buffer Register ,MBR) 连接到数据总线 存放被写入内存或从内存最后读出的数据

paul-tyler
Download Presentation

William Stallings 计算机组成原理与体系结构 第八版

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. William Stallings计算机组成原理与体系结构第八版 第15章 控制器操作

  2. 微操作 • 计算机执行程序 • 取指/执行周期 • 每个指令周期都有一系列子步骤 • 参考流水线 • 称之为微操作 • 每一个步骤微小简单 • CPU的原子操作

  3. 程序执行的组成元素

  4. 取指周期- 4 个寄存器 • 内存地址寄存器(Memory Address Register ,MAR) • 连接到地址总线 • 指定读、写操作的内存地址 • 内存缓冲寄存器(Memory Buffer Register ,MBR) • 连接到数据总线 • 存放被写入内存或从内存最后读出的数据 • 程序计数器(Program Counter ,PC) • 存放下一条指令的地址 • 指令寄存器(Instruction Register ,IR) • 保存最近取出的指令

  5. 取指周期 • 下一条将被执行的指令的地址存放在程序计数器PC中 • 地址(在MAR中)放到地址总线 • 控制器发出一个读(READ)命令 • 结果(从内存中读出)出现在数据总线上 • 数据总线上的值被复制到内存缓冲寄存器MBR • PC自加一(与内存读取数据并行处理) • 数据(指令)从MBR传送到指令寄存器IR • MBR被释放了,以便进一步的数据获取

  6. 取指周期(符号描述) • t1: MAR <- (PC) • t2: MBR <- (memory) • PC <- (PC) +1 • t3: IR <- (MBR) • (tx表示单位时间/时钟脉冲) • 或者 • t1: MAR <- (PC) • t2: MBR <- (memory) • t3: PC <- (PC) +1 • IR <- (MBR)

  7. 微操作分组原则 • 必须遵循正确合理的顺序 • MAR <- (PC) 必须先于MBR <- (memory) • 必须避免冲突 • 一个寄存器不能同时进行读写操作 • MBR <- (memory) 和 IR <- (MBR) 不应出现在同一个周期中 • 另外: PC <- (PC) +1 涉及到加法 • 运用ALU • 可能需要增加微操作

  8. 间接周期 • MAR <- (IR(地址)) • MBR <- (memory) • IR(地址)<- (MBR(地址)) • MBR存放地址 • IR现处在类似直接寻址被使用过的同一状态 • (这说明IR大小的什么问题?)

  9. 中断周期 • t1: MBR <-(PC) • t2: MAR <- save-address • PC <- routine-address • t3: memory <- (MBR) • 给出的是一个简单的事件序列 • 可能需要额外的微操作以获取地址 • 注意.保存当前状态是通过中断处理程序,而不是微操作

  10. 执行周期(ADD) • 每条指令是不一样的 • e.g. ADD R1,X – 将存储器位置X的内容加到寄存器R1,结果保存至R1 • t1: MAR <- (IR(地址)) • t2: MBR <- (memory) • t3: R1 <- R1 + (MBR) • 注意没有微操作的重叠

  11. 执行周期(ISZ) • ISZ X -递增,若为0则跳步 • t1: MAR <- (IR(地址)) • t2: MBR <- (memory) • t3: MBR <- (MBR) + 1 • t4: memory <- (MBR) • 若 (MBR) == 0 , 则 PC <- (PC) + 1 • 注意: • 如果是一个单一的微操作 • 所有微操作在T4完成

  12. 执行周期(BSA) • BSA X – 转移并保存地址 • BSA指令之后的指令地址被保存于 X中 • 由 X+1位置继续执行 • t1: MAR <- (IR(地址)) • MBR <- (PC) • t2: PC <- (IR(地址)) • memory <- (MBR) • t3: PC <- (PC) + 1

  13. 指令周期 • 每个阶段都可分解为一系列的微操作 • E.g. 取指,间接和中断周期 • 执行周期 • 每一个操作码有一个序列 • 需要将微操作序列连接起来 • 假设一个新的2位寄存器 • 指令周期代码(Instruction cycle code ,ICC) 定义了CPU处于周期某一部分的状态 • 00: 取指 • 01: 间接 • 10: 执行 • 11: 中断

  14. 指令周期流程图

  15. 功能需求 • 定义CPU的基本元素 • 描述CPU完成的操作 • 确定为了使微操作完成,控制器必须具备的功能

  16. CPU的基本功能元素 • ALU • 寄存器组 • 内部数据通路 • 外部数据通路 • 控制器

  17. 微操作分类 • 在寄存器之间传送数据 • 将数据由寄存器传送到外部接口 • 将数据由外部接口传送到寄存器 • 完成算术逻辑运算

  18. 控制器基本任务 • 排序(sequencing) • 使CPU一步步通过一系列微操作 • 执行(execution) • 使每个微操作得以完成 • 控制信号实现上述任务

  19. 控制信号 • 时钟 • 每个时钟脉冲完成一个(或一组同时的)微操作指令 • 指令寄存器 • 当前指令的操作码 • 确定执行何种微操作 • 标志 • COU的状态 • 先前操作的结果 • 来自控制总线的控制信号 • 中断信号 • 应答信号

  20. 控制器模型

  21. 控制信号- 输出 • CPU内的控制信号 • 用于数据传送 • 启动特定功能 • 到控制总线的控制信号 • 对存储器的控制信号 • 到I/O模块的控制信号

  22. 控制信号举例- 取指周期 • MAR <- (PC) • 控制单元发出信号,打开PC与MAR的门 • MBR <- (memory) • 打开MAR与地址总线的门 • 存储器读取控制信号 • 打开数据总线和MAR的门

  23. 数据通路和控制信号

  24. 内部组织 • 通常使用一个内部总线 • 门控制数据与总线的交换Gates control movement of data onto and off the bus • 控制信号控制数据与外部系统总线的交换 • ALU的一些相应操作需要临时寄存器

  25. 有内部总线的CPU

  26. Intel 8085 处理器结构图

  27. Intel 8085 引脚分布

  28. Intel 8085 OUT 指令时序图

  29. 硬布线实现(1) • 控制器输入 • 标志和控制总线 • 每个位都有某种意义 • 指令寄存器 • 指令操作码为不同指令产生不同的控制信号 • 每一操作码有唯一的逻辑输入 • 译码器接收一个编码输入并产生输出信号 • n个输入和 2n个输出

  30. 硬布线实现(2) • 时钟 • 重复的脉冲序列 • 对于过量微操作的持续时间是有用的 • 时钟脉冲周期要足够的长 • 在一个指令周期内,不同时间单位发送不同的控制信号 • 需要一个计数器,在不同时钟脉冲t1,t2等发出不同的控制信号

  31. 带有译码输入的控制器

  32. 硬布线设计存在的问题 • 复杂的序列和微操作逻辑 • 难以设计和测试 • 僵化的设计 • 很难添加新指令

  33. 选读 • Stallings 第15章

More Related