




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2007 7 2 计算机组成原理 1 第9章微程序控制计算机的设计 计算机组成原理 2007 7 2 计算机组成原理 2 第9章微程序控制计算机的设计 本章主要是为配合前面各章节理论教学而设计的 是理论与应用相结合教学内容的一部分 通过讲述微程序控制计算机的设计方法和过程 加深读者对计算机存储器 微程序控制器 指令系统等内容的理解 2007 7 2 计算机组成原理 3 本章要点 计算机整机框图设计 指令系统设计 微操作信号设计 指令微程序设计 编写应用程序 2007 7 2 计算机组成原理 4 第9章微程序控制计算机的设计 9 1微程序控制计算机概述 9 2指令系统设计 9 3微程序设计 9 4编写源程序 2007 7 2 计算机组成原理 5 9 1微程序控制计算机概述 控制计算机工作的微命令信号主要通过两种方法实现 一种是由设计的微程序产生 另外一种是通过组合逻辑电路产生 计算机控制器构成电路主要是围绕这两种方法进行设计的 二者各有优缺点 详细知识第6章已经讲述 在此通过设计实例主要介绍微程序控制计算机的应用情况 2007 7 2 计算机组成原理 6 9 1微程序控制计算机概述 9 1 1设计要求与目标 9 1 2计算机硬件设计 2007 7 2 计算机组成原理 7 设计一个完整的计算机系统不仅要考虑计算机硬件设计 还要考虑机器字长 指令系统规模 外部设备规模等 详细分析主要包括如下几个方面 1 机器字长采用8位还是16位 即运算器 数据总线是采用8位还是16位 2 地址总线的位数 确定计算机寻址空间的大小 3 计算机运算器采用什么结构 如多通用寄存器结构 多累加器结构等 1 设计要求 2007 7 2 计算机组成原理 8 4 计算机指令系统规模 共有多少条指令 多少种寻址方式 指令功能等 5 计算机是否使用外设 键盘和打印机 以什么方式使用外设 程序查询I O方式还是中断I O方式 2007 7 2 计算机组成原理 9 计算机系统采用8位字长 计算机系统的硬件组成应该完备 运算器 控制器 主存 I O接口及总线等应有一定的典型性 并能驱动简单的I O设备 此外该计算机系统应具备一定规模的指令系统 能够完成基本的算术逻辑运算以及数据的输入输出控制 2 设计目标 2007 7 2 计算机组成原理 10 计算机的工作过程 实质上是不同的数据流在控制信号作用下在限定的数据通路中进行传送 数据通路不同 指令所经过的操作过程也不同 机器的结构也就不 样 因此数据通路的设计是至关重要的 所谓数据通路的设计 也就是确定机器各逻辑部件相对位置的总框图 9 1 2计算机硬件设计1 设计整机逻辑框图 2007 7 2 计算机组成原理 11 数据通路的设计 目前还没有非常标准的方法 主要是依据设计者的经验 并参考现有机器的几种典型形式 比如单总线 双总线或三总线结构 根据指令系统的要求 可采用试探方法来完成 其主要步骤如下 1 对指令系统中的各条指令进行分析 得出所需要的指令周期与操作序列 以便决定各器件的类型和数量 2007 7 2 计算机组成原理 12 2 构成一个总框图草图 进行各逻辑部件之间的互相连接 即初步确定数据通路 使得由指令系统所包涵的数据通路都能实现 并满足技术指标的要求 3 检验全部指令周期的操作序列 确定所需要的控制点和控制信号 4 检查所设计的数据通路 尽可能降低成本 简化线路 注 以上过程可以反复进行 以便得到一个较好的方案 2007 7 2 计算机组成原理 13 根据设计要求 对计算机模块的硬件资源进行逻辑剪辑组合 便可设计出该计算机的整机数据通路逻辑框图 如图9 1所示 为利于调试 在通路框图上标明了各器件的控制信号及必要的输出信号 图9 1中设计了运算器ALU 移位发生器 74299 数据寄存器 DR1 DR2等 寄存器组 R0 R1 R2 内存RAM 微程序控制器单元CU 地址加法器 指令寄存器IR 程序计数器PC以及输入 输出设备等单元模块 2007 7 2 计算机组成原理 14 图9 1计算机整机逻辑框图 2007 7 2 计算机组成原理 15 1 移位发生器单元如图9 2所示 该电路使用了一片74LS299作为移位发生器 其中8位输入 输出和8位数据总线连接 299 B信号控制其使能端 0有效 T4为时序节拍脉冲 由S0 S1 M控制信号设置其运行状态 其控制特性见表9 1所示 2 单元模块详细设计 2007 7 2 计算机组成原理 16 表9 1移位发生器控制状态表 2007 7 2 计算机组成原理 17 图9 2移位发生器电路图 2007 7 2 计算机组成原理 18 受设计复杂度的限制 在计算机整机框图中时序启停模块并没有画出 但对于计算机系统来说 控制计算机工作的时序信号是极为重要的 如图9 3时序启停电路原理所 其中时序电路由1 2片74LS74 1片74LS175及6个二输入与门 2个二输入与非门和3个反向器构成 可产生4个等间隔的时序信号T1 T4 其中 时钟 信号由 脉冲源 提供 为了便于控制程序的运行 时序电路发生器也设置了一个启停控制触发器CR 使T1 T4信号输出可控 2 时序启停电路单元 2007 7 2 计算机组成原理 19 图中给出了 运行方式 停机 和启动控制位 用来分别管理时序信号T1 T4将周而复始地发送或单步发送 时序信号T1 T4连续发送 机器就可以连续执行微程序 机器仅发送单周期4拍制时序信号 便单步运行状态 机器每次只执行一条微指令 这样 可以观察微控制状态与当前微指令的执行结果 2007 7 2 计算机组成原理 20 图9 3时序启停电路图 2007 7 2 计算机组成原理 21 用示波器观察时序波形 可看到时序信号T1 T4的波形 如图9 4所示 图9 4时序信号T1 T4的波形图 2007 7 2 计算机组成原理 22 在计算机进行算术运算 逻辑运算或移位运算时 运算结果的状态主要依靠标志寄存器来显示 因此设计计算机系统时 设计合理的标志位锁存电路十分必要 如电路图9 5所示 其中181的8位输出端逻辑或非后进入74LS74锁存器D端 该端的状态由AR和T4信号控制 当AR 1时 在时序T1 T4处于单步执行状态下 在T4节拍把当前零 ZQ 状态锁存到零标志锁存器中 3 标志位锁存单元 2007 7 2 计算机组成原理 23 图9 5标志位锁存电路图 2007 7 2 计算机组成原理 24 如电路图9 6所示 使用2片74LS163组成8位程序计数器PC 其8位输入 输出公用端与总线 BUS 接口相连接 通过LDPC LOAD信号和脉冲T3来控制对程序计数器PC装载数据和加1操作 当LOAD 1 LDPC 1时 在时序T3上升沿把数据开关的内容装入PC 当LOAD 0 LDPC 1时 在单周期四节拍时序的T2时刻打开PC B三态门 在T3时刻PC值通过总线打入地址寄存器 同时PC值加1 4 程序计数器单元 2007 7 2 计算机组成原理 25 图9 6程序计数器电路图 2007 7 2 计算机组成原理 26 5 指令寄存器单元如图9 7所示 1片74LS273作为指令寄存器单元 其8位输入端与BUS总线已作连接 其输出端与微程序存储器地址 SE5 SE0 接口连接 指令数据寄存器IR 74LS273 的LDIR为电平正跳变时 把来自数据总线的数据打入寄存器IR IR的输出就作为本系统内的8位指令I7 I0 在本系统内由这8位指令 可最多译码256条不同的指令 通过编码可对应这些指令在微程序存储器中的入口地址 并且输出相应的微控制指令 2007 7 2 计算机组成原理 27 图9 7指令寄存器电路图 2007 7 2 计算机组成原理 28 6 输入 输出单元计算机系统中所用的输入 输出设备如电路图9 8 9 9所示 其中输入设备有8位带显示数据开关经一个三态门 74LS245 8位数据总线相连 输出设备经一锁存器 74LS273 实现 该锁存器的8位输入端和8位数据总线相连 其锁存输出端与8个发光二极管的显示接口相连 该显示接口以二进制方式显示输出结果 灯亮表示该输出位为1 灯灭表示该输出位为0 2007 7 2 计算机组成原理 29 说明 在本设计中8位数据开关就是简单的输入设备 一次只能向计算机输入8位二进制 8个发光二极管是简单的输出设备 一次能显示一个字节的结果 图9 8输入设备电路图 2007 7 2 计算机组成原理 30 图9 9输出设备电路图 2007 7 2 计算机组成原理 31 说明 运算器 存储器及微程序控制器工作原理分别在前面第2章 第4章和第6章已讲述 它们设计及应用内容在第10章实训部分还会详细介绍 此处不再重点讲述 思考 结合数字电路知识 请查阅资料分析74LS245 74LS74 74LS175 74LS299 74LS273芯片的作用及特性 2007 7 2 计算机组成原理 32 9 2指令系统设计 设计一个计算机系统需确定计算机的指令系统具体由哪些指令组成 包括哪几种类型指令 指令操作数有哪几种寻址方式 以及指令编码等 要兼顾必要性 编程方便 和可行性 硬件条件 两个条件 2007 7 2 计算机组成原理 33 9 2指令系统设计 9 2 1指令类型 9 2 2设计指令执行流程 2007 7 2 计算机组成原理 34 1 算术逻辑指令系统共设计9条算术逻辑指令 分别是 寄存器清零指令 CLR 数据传送指令 MOV 带进位加法指令 ADC 借位减法指令 SUC 自增运算指令INC 与运算指令 AND 取反运算指令 COM 带进位循环右移指令 RRC 和带进位循环左移指令RLC 这些指令全部用单字节表示 寻址方式采用寄存器直接寻址 其格式如下 微程序控制计算机设计四大类指令共十六条 其中包括算术逻辑指令 I O指令 访问及转移指令和停机指令 2007 7 2 计算机组成原理 35 其中 OP CODE为操作码占用4位二进制 D7 D4 rs为源寄存器占用2位二进制 D3 D2 rd为目的寄存器占用2位二进制 D1 D0 并规定 9条算术逻辑指令的名称 功能和具体格式见表9 1所示 2007 7 2 计算机组成原理 36 2 访存指令及转移指令系统共设计2条访存指令 存数 STA 和取数 LAD 2条转移指令 无条件转移 JMP 和结果为零或有进位转移指令 JZC 这4条指令长度为2个字节 其指令格式为 2007 7 2 计算机组成原理 37 其中 OP CODE为操作码 rd为目的寄存器地址 LDA STA指令使用 D为偏移量 正负均可 M为寻址模式 其定义如下 本计算机规定变址寄存器RI指定为寄存器R2 2007 7 2 计算机组成原理 38 3 I O指令I O指令共两个 分别是输入 IN 和输出 OUT 指令采用单字节指令 其格式如下 其中 addr 01时 选中 输入设备 中的开关组作为输入设备 addr 10时 选中 输出设备 中的数码显示单元作为输出设备 2007 7 2 计算机组成原理 39 4 停机指令设计一个停机指令HLT 该指令用于实现停机操作 指令格式如下 根据上面介绍 表9 1列出了本计算机系统16条基本指令的格式 汇编符号和指令功能 其中算术逻辑指令9条 访存指令和程序控制指令4条 输入输出指令2条 停机指令1条 2007 7 2 计算机组成原理 40 表9 1指令详细信息表 2007 7 2 计算机组成原理 41 9 2 2设计指令执行流程 指令类型和数量确定后 还需结合计算机整机通路逻辑图 见图9 1 设计出每条指令的执行流程 我们知道 一条指令从内存取出到执行完毕 需要若干个机器周期 节拍 任何指令的第一个机器周期都是 取指令周期 或称为公共操作周期 而 条指令共需几个机器周期取决于指令在计算机系统中实现的复杂程度 对于微程序控制的计算机设计指令执行流程时 要保证每条微指令所含微操作的必要性和合理性 防止微操作之间有时序冲突 为此要分析 2007 7 2 计算机组成原理 42 1 哪些微操作信息可以安排在同一条微指令中 2 哪些微操作信息必须安排在同一条微指令中 3 哪些微操作信息不能安排在同 条微指令中 另外 还应记住 总线 数据总线DB 地址总线AB 控制总线CB 仅是传输信息的通路而已 无寄存信息的功能 利用总线传输信息时要保证信息的唯一性 即不能有 个以上器件向总线发送信息 ALU的输出缓冲器仅是三态传输门电路 无寄存功能 2007 7 2 计算机组成原理 43 下面我们举几个例子说明如何设计指令流程 说明 箭头表示数据信息流向 括号中的T1 T2 T3为工作脉冲 例9 1 单字节指令ADCrs rd rd是目的寄存器 rs是源寄存器 硬件见图 9 1 该指令功能为rs rd cy rd cy是进位值 需执行的微操作和所需的微操作信号如下 1 PC AR RAM 根据PC访问内存所需的微操作信号 LDPC LDAR T3 2 RAM DB IR DB为数据总线 读出指令字节送IR所需的微操作信号 WE CE LDIR T3 3 PC 1 PC PC加l计数 为取下条指令字节准备所需的微操作信号 PC 1 T3 4 R0 DR1 R1 DR2 取两个操作数送数据寄存器为ALU准备好被加数所需的微操作信号 R0 B R1 B RS BUS LDDR1 LDDR2 5 DR1 DR2 cy R1 ALU执行加法 结果暂存目的寄存器所需的微操作信号 M CN S0 S1 S2 S3 ALU BUS LDRi T2 2007 7 2 计算机组成原理 44 例9 2 单字节指令MOVrs rd该指令功能为rs rd 需执行的微操作和所需的微操作信号如下 1 PC AR RAM 根据PC访问内存所需的微操作信号 LDPC LDAR T3 2 RAM DB IR DB为数据总线 读出指令字节送IR所需的微操作信号 WE CE LDIR T3 3 R0 DB 读出数据到数据总线所需的微操作信号 R0 B RS BUS 4 DB R1 数据总线上的数据送R1所需的微操作信号 LDRi T2 根据计算机整机数据通路逻辑框图 9 1 参照例9 1和9 2的设计方法 可以完成对INC AND RRC等其余14条指令的微操作流程和所需的微操作信号的设计 详细设计留给读者完成 思考 指令执行过程中微操作信号的作用是什么 2007 7 2 计算机组成原理 45 9 3微程序设计 在微程序控制计算机中 源程序指令的执行是建立在微程序的基础之上的 计算机要完成程序执行 必须先设计每条指令的微程序 并且放在微程序控制器的存储器中 这样 计算机就把执行源程序指令的工作通过执行一个微程序来实现 在计算机中指令执行的效率如何和微程序控制 微指令字长以及微程序设计情况密切相关 2007 7 2 计算机组成原理 46 9 3 1微程序控制器 微程序控制计算机的数据通路确定后 下一个设计重点就集中在控制器的设计上 控制器逻辑框图 如图9 10所示 图中IR存放的是源程序指令 控制器对源程序指令的操作码译码可以找到该指令的微程序的入口地址 然后送入微程序计数器Upc中 根据微程序的入口地址访问控制存储器就可以读取微程序的第一条微指令 从而开始执行一个微程序完成指令的工作 图中微程序每一条微指令的执行都是在微指令寄存器中完成的 2007 7 2 计算机组成原理 47 图9 10微程序控制逻辑框图 2007 7 2 计算机组成原理 48 9 3 2微程序设计 将机器的全部指令系统采用微指令序列实现的过程 叫做微程序设计 一条机器指令对应一个微程序 本系统共有16条机器指令就应当对应有16个微程序 计算机中微程序控制器的强大与否 机器性能如何 取决于如何设计控制流程 并转化为微程序 微程序设计是以微指令设计为基础的 2007 7 2 计算机组成原理 49 1 微指令格式 本部分设计任务是综合微程序控制计算机指令系统各指令执行流程中涉及到的微操作控制信号 统计总共需多少个微操作控制信号 决定这些信号中在微指令中产生的方式及格式 微指令设计分为水平型微指令和垂直微指令两种 如果计算机系统复杂不高 微指令格式建议采用水平型微指令 微命令编码采用直接表示法和分段直接译码法相结合的混合表示法 以缩短微指令长度 后继地址采用下址字段给出的方式 微指令格式如下 2007 7 2 计算机组成原理 50 结合计算机指令系统和数据通路逻辑框图 可以分析系统所需的微命令信号的数目 从而确定微指令中控制字段的长度 比如微指令长24位 若微指令采用全水平不编码直接控制的格式 那么至多可有24个微命令控制信号直接产生 如果采用分组编码译码 那么n位微指令编码通过译码器译码可实现2n个互斥的微命令控制信号 即它们不可能在同一节拍内激活 系统中微指令格式及微命令信号设计实例如下 2007 7 2 计算机组成原理 51 微指令字长共24位 其控制位顺序如下 24 16为直接控制字段 共给出9个微命令信号 A B C为译码字段 可以分别送3 8译码器 共可以设计出互斥的24个微命令信号 A5 A0为下址字段 微指令后继微地址 6位地址可以访问的控制存储器的空间为26 即系统设计的微指令最多不超过64条 2007 7 2 计算机组成原理 52 2 指令流水执行时空表设计指令执行流程时空表应在设计数据通路之前确定 因为具体的流水线是跟时空表紧密相联的 本设计是在已有的数据通路的基础上 该数据通路支持流水 通过改进控制来提升系统性能 因此将时空表放在控制器部分进行设计 表9 2给出的是指令执行过程时空表 表9 3给出的是指令两级流水执行时空表 表9 4给出的是指令四级流水执行时空表 2007 7 2 计算机组成原理 53 表9 2指令执行过程时空表 表9 3指令两级流水执行时空表 2007 7 2 计算机组成原理 54 表9 2指令执行过程时空表 注意 设计选用的时空表只要设计可以实现即可 不同的时空表直接影响系统的性能 思考 设计微指令格式时 判别字段的主要作用是什么 2007 7 2 计算机组成原理 55 3 编写各指令的微程序根据指令流程和微指令格式仔细地逐条编写每一个指令的微程序 源程序指令对应的微程序流程图及确定微地址 如图9 11所示 2007 7 2 计算机组成原理 56 图9 11微程序流程图 2007 7 2 计算机组成原理 57 根据流程图 可以写成二进制表示的微程序 为了书写方便 在此用十六进制书写 十六进制微地址 表示地址M 表示微指令十六进制表示微程序格式说明微指令代码 2007 7 2 计算机组成原理 58 M2205DB81 M230180E4 M24018001 M2595AAA0 M2600A027 M2701BC28 M2895EA29 M2995AA0 M2A01B42B M2B959B41 M2C01A42D M2D65AB6E M2E0D9A01 M2F01AA30 M300D8171 M31959B41 M32019A01 M3301B435 M3405DB81 M35B99B41 M360D9A01 M37298838 M38019801 M3919883A M3A019801 M3B070A08 M3C068A09 M00018108 M0101ED82 M0200C050 M0300A004 M230180E4 M24018001 M2595AAA0 M2600A027 M2701BC28 M2895EA29 M2995AA0 M2A01B42B M2B959B41 M2C01A42D M2D65AB6E M2E0D9A01 M2F01AA30 M300D8171 M31959B41 M32019A01 M3301B435 M3405DB81 M35B99B41 M360D9A01 M37298838 M38019801 M3919883A M3A019801 M3B070A08 M3C068A09 M0400E0A0 M0500E006 M0600A007 M0700E0A0 M0801ED8A M0901ED8C M0A00A03B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论