- 1、本文档共101页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CPU的设计规范
1. 使用内部总线将部件连接起来 2.根据目的地将数据传送进行分类 AR: AR←PC;AR←AR+1;AR←DR,TR PC: PC←PC+1;PC←DR,TR DR: DR←M,DR←AC IR: IR←DR R: R←AC TR: TR←DR 6.3.4 创建数据通路 AC: AC←DR;AC←R;AC←AC+R ; AC←AC-R; AC←AC+1;AC←0; AC←AC∧R;AC←AC∨R;AC←AC⊕R; AC←AC Z: Z←1;Z←0(二者是有条件的) 3.选择每个部件的功能 ◆ AR和PC必须能够执行并行的装载和递增的操作。 两个寄存器都从内部总线上接受数据。 ◆ DR,IR,R,TR必须能够并行装载数据。 ◆ CPU用一个ALU来完成所有这些功能。 ALU能够接受AC的数据作为一个输入,接受内 部总线上的数据作为另外一个输入。 AC总是从ALU得到它的输入。 CPU同时也根据ALU的输出来决定结果是否0, 从而设置Z。 4.对设计进行改进 ? ◆ AR和IR不向其他的部件提供数据。可以删除它们到 内部总线的连接。 ◆ 引脚D[7..0]是双向的。 实现双向引脚的标准方法: 使用一对缓冲器,每个方向一个。 (一个用来从引脚输入数据,另外一个用来将数据输出到引脚。) ◆ 16位宽的总线并没有被所有的寄存器充分的利用。必 须确定寄存器的哪些位连接到总线的哪些位上。 ◆ 寄存器Z没有跟任何部件相连。 连接寄存器Z 将ALU的输出进行NOR操作。 NOR门的输出作为Z的输入。 5.引起下面的问题 ◆ 在FETCH3,CPU必须同时完成IR←DR和AR←PC两 个操作。 (FETCH3: IR←DR,AR←PC ) 建立一条从DR输出端到IR输入端的直接通路,使得 IR←DR不使用内部总线。 断开IR从内部总线输入的连接,因为它不再从总线 上接收数据。 ◆ 在LDAC2和其他一些状态中,TR←DR和DR←M需要 同时用到总线。 (LDAC2: TR←DR,DR←M,PC←PC+1) TR只从DR接受数据,所以CPU可以包含一条从 DR的输出到TR的输入的直接通路, TR的输入可以从内部总线上断开。 ◆ 在LDAC3和其他一些状态中,DR和TR必须被同 时送到总线上,DR在位15..8,TR在位7..0。 (LDAC3: AR←DR,TR) 将DR的输出同时连接到总线15..8和7..0上, 并使用两个具有不同选择信号的缓冲器。 6.经过改进之后的内部组织图 3. 根据指令操作码和执行周期的最大状态数量来指派 执行周期的第一个状态。用操作码产生计数器的数 据输入,并用计数器的LD输入使之达到合适的执 行周期。 实质:实现从操作码到执行周期的一种映射。 ◆ 为了装入正确执行周期的地址,控制单元必须完 成两件事情。 ▲ 必须能够将正确的执行周期的第一个状态 的地址放到计数器的输入上。 ▲ 必须发出计数器的LD信号。 ◆ 如何构造映射函数? 计数器的输入是IR值的一个函数。 目标:使这个函数越简单越好。 一个可能的映射:10IR[1..0] ▲ 如果IR=00,那么计数器的输入就是1000; ▲ 当IR=01,则输入为1
文档评论(0)