计算机组成及结构.6
计算机组成与结构 自动化专业 学时:32 上课时间:每周两次 周一:8:00 – 9:35 周四:9:45 – 11:25 6.4.4 微程序控制存储器和动态微程序设计 图6.29 毫微程序控制存储器 用来编制微程序的语言叫做微程序设计语言,用微程序设计语言编制的程序叫做源微程序。源微程序不能直接装入控制存储器,要将它转换成二进制代码后才能装入控制存储器。将源微程序翻译成二进制码的程序叫做微编译程序。 微程序设计基本上沿用了程序设计的方法 6.4.5 微程序设计语言 硬布线控制的计算机? 由指令的操作码直接控制并产生实现取指、计算地址、取数及执行等各步骤所需的控制信号。 6.5 硬布线控制的计算机 问题:取指、计算地址、取数及执行,每一步由一个机器周期实现,如何区分一条指令的四个机器周期呢? 图6.31 用计数器译码器形成机器周期信号 6.5.1 时序与节拍 表6.3 计数器状态变化 0 0 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 cyB′ cyA′ cyB cyA cyB′ cyA′ cyB cyA B指令 A指令 6.5.1 时序与节拍 根据真值表列出表达式,对于A指令,其表达式为 cyA′=cyAcyB+cyAcyB;(6.2) cyB′=cyA cyB+cyAcyB=cyB。(6.3) 对于B指令,其表达式为 cyA′=cyA cyB+cyAcyB=cyB;(6.4) cyB′=cyAcyB。(6.5) 6.5.1 时序与节拍 图6.32 时序计数器逻辑图 6.5.1 时序与节拍 6.5.2 操作控制信号的产生 图6.33 形成操作控制信号的逻辑框图 如何组成? 输入:来自指令译码器的输出、时序发生器的时序信号 输出:一组带有时间标志的微操作控制信号 每个微操作控制信号是指令、时序等的逻辑函数,可表示为: 微操作=周期·节拍·脉冲·指令码·其他条件 6.5.2 操作控制信号的产生 表6.1 控制信号一览表 数据寄存器内容送ALU DR→ALU 12 写或读 W/R 23 寄存器内容送ALU (rs)→ALU 11 访问存储器或I/O M/IO 22 寄存器内容送ALU (rs1)→ALU 10 地址总线上地址有效 ADS 21 寄存器地址送通用寄存器 rs,rd→GR 9 地址寄存器内容送地址总线 AR→AB 20 寄存器地址送通用寄存器 rs1→GR 8 ALU计算得的有效地址送地址寄存器 ALU→AR 19 数据寄存器中的数据送数据总线 DR→DB 7 ALU运算结果送数据寄存器 ALU→DR 18 数据总线上的数据送数据寄存器 DB→DR 6 ALU运算结果送通用寄存器 ALU→GR 17 取指到指令寄存器 DB→IR 5 ALU进行逻辑加运算 ∨ 16 立即数或位移量送ALU imm(disp)→ALU 4 ALU进行逻辑乘运算 ∧ 15 程序计数器加1 PC+1 3 ALU进行减法运算 - 14 转移地址送PC ALU→PC 2 ALU进行加法运算 + 13 指令地址送地址总线 PC→AB 1 功能 控制信号 序号 功能 控制信号 序号 指令周期是指从取指令、分析取数到执行完该指令所需的全部时间。由于各种指令的操作功能不同,有的简单,有的复杂,因此各种指令的指令周期不尽相同。 机器周期又称CPU周期。通常把一个指令周期划分为若干个机器周期,每个机器周期完成一个基本操作。一般机器的CPU周期有取指周期、取数周期、执行周期、中断周期等。所以有: 指令周期=i×机器周期 指令周期和机器周期 6.2.3 指令执行过程 6.3 微程序控制计算机 基本原理 —— 微程序设计技术的实质是将程序设计技术和存储技术相结合,即用程序设计的思想方法来组织操作控制逻辑,将微操作控制信号按一定规则进行信息编码(代码化),形成控制字(微指令),再把这些微指令按时间先后排列起来构成微程序,存放在一个只读的控制存储器中。 6.3.1 微程序控制的基本概念 微操作 —— 一条指令可以分解成很多最基本的操作,这种最基本的不可再分割的操作称为微操作。不同的机器指令具有不同的微操作序列。 微命令 —— 在微程序控制的计算机中,将控制部件向执行部件发出的各种控制命令叫做微命令,它是构成控制序列的最小单位。例如:打开或关闭某个控制门的电位信号、某个寄存器的打入脉冲等。因此,微命令是控制计算机各部件完成某个基本微操作的