017–第7章控制器–4.pptVIP

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
017–第7章控制器–4

第七章 控制器 7.1 控制器的组成及指令的执行 7.2 控制方式和时序的产生 7.3 微程序控制器 7.4 微程序控制器及其微程序设计举例 7.5 硬布线控制器 7.6 流水线的基本原理 7.7 Pentium Ⅱ CPU 本章小结 作业 7.4 微程序控制器及其微程序设计举例 一、模型机系统组成 二、模型机微程序控制器组成 三、模型机微程序设计 三、模型机微程序设计 (一)模型机微程序设计的步骤 (二)微程序流程图的编写 (三)微地址及下址字段的分配 (四)微指令代码的编写 (一)模型机微程序设计的步骤 模型机微程序设计的步骤: 设计实验模型机的结构和数据通路; 设计指令的功能、格式(包括指令码)及寻址方式 在以上的基础上,编写微程序流程图 根据指令码和转移方式J1#~J4#,分配微地址及下址字段 根据微指令格式,编写微指令代码; (二) 微程序流程图的编写 1. 机器指令的功能由微程序完成,一条机器指令对应着一段微程序。每条指令的微程序都包含三部分: 取指令微程序段 根据操作码散转至微程序入口的微指令 该机器指令的独立微程序段 每一条指令的前两部分都相同,称作公操作,不同的是第三部分的独立微程序段,取决于该机器指令的寻址方式和功能,用于实现的指令规定的特殊功能。 例如:取指令及散转的公共微程序段为: PC→AR,PC+1 RAM→IR J1#散转至微程序入口。 (二) 微程序流程图的编写(续1) 2. 每条微指令可以实现: 总线上的一个数据传送:例如PC→AR 进行运算器的一个运算:例如DA1+DA2→DR 启动存储器的一个读/写:例如RAM→DR。 按照每条微指令的功能,可以将各种操作归纳为三种: 通用寄存器之间的传送操作 存储器访问操作 运算器的运算操作 (二) 微程序流程图的编写(续2) 3. 对于带寻址方式码MOD的指令(格式二),微程序段至少经过两个散转:第1次为J1#散转,分辨出寻址方式并计算出有效地址,第2次为J2#散转,分辨出指令并实现其功能。 4. 编写指令的微程序流程图,不仅数据通路要可行,还要考虑微码编写是否可行。 例如,OUT [PORT],[ADDR]指令,功能为将存储器单元ADDR中的数据输出至输出部件LED显示。 其微程序中,要进行存储器的读操作,从模型机框图上看,读出的数据在总线上,可以直接送数码管显示,即一条微指令RAM→LED即可;但其微码的编写却不可行,因为存储器的读操作要求微码FUNC FS=0100,但LED显示要求微码FUNC FS=0110,冲突;因此,必须用两条微指令实现:RAM→DA1;DA1→LED。 (二) 微程序流程图的编写(续3) 又例如,取指令及散转的公共微程序段为: PC→AR,PC+1 RAM→IR J1#散转至微程序入口 在电路原理上,J1#信号可以在b)微指令一起发送,但由于J1#信号与M-R#信号被编码在同一字段,因此必须分为两条微指令完成。 5. 对于同一条指令,可能存在不同的微程序流程图,但均能实现指令的功能。 1)通用寄存器之间的传送操作 通过源寄存器内容送总线,而目的寄存器将总线上数据打入来实现。 例如: 指令MOV DR,SR :功能为将源寄存器SR的内容送目的寄存器DR。 其微程序段为一条微指令: SR→DR。 2)存储器访问操作 读访问操作:通过以下两条微指令实现: 送地址到总线,并打入地址寄存器AR; 启动存储器读操作,并将读出的数据从总线上接收至目的部件。 例如,指令MOV DR , @SR :功能为将源寄存器SR所指示的存储器地址单元的内容送目的寄存器DR,即源操作数是寄存器间接寻址。其微程序段为以下两条: SR→AR RAM→DR 取指令也是一种典型的存储器读访问操作。 2)存储器访问操作 写访问操作:通过以下两条微指令实现: 送地址到总线,并打入地址寄存器AR; 送数据到总线,启动存储器写操作。 例如,指令MOV @DR,SR:功能为将源寄存器SR的内容写至目的寄存器DR所指示的存储器地址单元,即目的操作数是寄存器间接寻址。其微程序段为以下两条: SR→AR DR→RAM 3)运算器的运算操作 运算器的运算操作:通过三条微指令实现 送第一个数据到暂存器DA1(或者DA2); 送第二个数据到暂存器DA2(或者DA1); 选择ALU运算功能并进行运算,结果送目的部件; 例如,指令ADD SR,DR,功能为将源寄存器SR的内容与目的寄存器DR的内容相加,并送DR。其微程序段为三条微指令: SR→DA1 DR→DA2。 DA1+DA2→DR。 (三)微地址及下址字段的分配 1、首先要分配每条机器指令的微程序入口地址。步骤如下: 确定发送J1#信号的那条微指令的下址字段。 确定指

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档