指令执行步骤示例.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CPU设计 和 VHDL语言程序 1、按照指令系统的功能要求,设计计算机各部件的组成及其连接关系, 2、划分指令执行步骤,设计各步骤完成的功能,分配功能到各个部件, 3、确定要为每个执行步骤中各个部件提供哪些控制信号,设计这些控制信号的当前值。 * 取指 周期 000 执行 周期 001 存储 周期 011 指令用 2 – 3 步完成,都必经取指和执行周期,仅读写内存用到存储周期。 复位状态 100 strr, ldrr, push, pop, ret, cala, calr 取指周期占用控制器和存储器, 实现读取指令与计算下条相邻指令地址。 执行周期占用运算器完成数据或内存地址计算,用控制器计算指令地址。 存储周期占用运算器、控制器和存储器完成数据读写或指令地址的读写。 需要向各部件提供的控制信号取决于部件本身的运行控制需求,由控制器的控制单元CU提供,其VHDL程序由两层嵌套的 CASE语句组成,外层区分指令执行周期,内层区分每条指令,CU将依据不同指令及其所处的周期,向计算机各个部件提供它们运行所需要的控制信号。设计实现控制单元 CU 的逻辑实现是控制器教学中的难点之一。 操 作 码 目的寄存器 源寄存器 I/O 端 口 地 址 相对转移指令的偏移量 立即数 / 直接地址 / 变址偏移量 8位 4位 4位 指令格式 取指 周期 000 执行 周期 001 存储 周期 011 指令执行步骤 所有指令都经过取指和执行周期, 仅有读写内存操作的7条指令要增加存储周期 复位状态 100 strr, ldrr, push, pop, ret, cala, calr 1 取指 周期 000 执行 周期 001 存储 周期 011 指令执行步骤 复位状态 100 全部指令都经取指和执行周期,仅读写内存指令经存储周期 计算机硬件系统组成 取指 周期 000 执行 周期 001 存储 周期 011 指令执行步骤 复位状态 100 全部指令都经取指和执行周期,仅读写内存指令经存储周期 1 这个系统由控制器、运算器、存储器和接口电路3个部分组成。 控制器由PC、IR、Timing、CU四个子部件组成,还有一个专用于计算指令地址的加法器 Adder,使计算指令地址不再通过运算器中的ALU完成。 暂存器NPC 用于为 CALA 指令暂存主调用程序的返回地址。 PC 可以接受PC+1,PC+offset,从存储器中读出来的指令地址。 1 取指 周期 000 执行 周期 001 存储 周期 011 指令执行步骤 复位状态 100 全部指令都经取指和执行周期,仅读写内存指令经存储周期 运算器部件由寄存器组REGs和ALU两个主要部分组成,向REGs提供的寄存器编号可以是来自IR的 dr、sr的寄存器编号,SP(R4)、R0(用于IN、OUT指令)的编号4和0,向ALU提供两路输入数据的选择门用于选择从寄存器组读出的两路数据,常数0或者1,还有内部总线IB送来的输入数据 (是从存储器或接口电路读出的) ,运算器输出可以是ALU的运算结果或从A口读出的数据,用于传送到存储器的地址寄器AR,或内部总线IB (作为写存储器和接口电路的数据)。 1 取指 周期 000 执行 周期 001 存储 周期 011 指令执行步骤 复位状态 100 全部指令都经取指和执行周期,仅读写内存指令经存储周期 存储器和接口电路从地址总线AB接收地址信息(可以是指令、数据在存储器中的地址,或 IO端口地址),通过数据总DB线与CPU进行连接和数据交换。DB和IB都是双向传送的总线,二者通过一个双向传送的控制门实现连接,控制双向不连通还是连通,连同时数据传送方向是 IB→DB 还是 DB→IB,在执行读内存或接口时,需要 DB→IB,出现在IB上的内容可以写到 IR 、PC 或累加器,在执行写内存或接口时,需要 IB→DB,把NPC或者运算器输出的内容写到内存或接口中。 以动画形式看几条指令的执行过程: 2200: ADD R3, R2 ;3 条指令的地址为2200、2201、2202 2201: JRNC 2200 ;若C=0 转去执行第1条,否则顺序执行 2202: STRR [R2], R3 ; 把 R3的内容写入内存地址为 [R2] 的单元 程序运行的初始状态:程序已读入

文档评论(0)

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

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

1亿VIP精品文档

相关文档