计算机组成原理CPU设计.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  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文档。上传文档
查看更多
. PAGE . 1 CPU的用途 字长:8位 D[7…0] 寻址范围:64byte,2的6次方=64,A[5…0] 2 确定ISA(包括程序员可访问的寄存器) 1)程序员可访问的寄存器 AC—8位累加器 CPU的指令集(共4条) 指令 操作码 操作 COM 00XXXXXX AC←AC’(取反) JREL 01XXXXXX PC←PC+00AAAAAA OR 10XXXXXX AC←AC∨M[00AAAAAA] SUB1 11AAAAAA AC←AC-M[00AAAAAA]-1 2)其他寄存器 AR 地址寄存器 6位 由A[5…0]向存贮提供地址 PC 程序计数器 6位 指向下一条指令的地址 DR 数据寄存器 8位 通过D[7…0]从存贮器接收指令和数据 IR 指令寄存器 2位 存放从存贮器中取回的指令的操作码部分 3 CPU设计状态图 为了确定CPU的状态图,对每条指令作以下分析 从存贮器中取指令(所有指令均相同) 原理:在CPU能执行指令之前,它必须从存贮器中取出,CPU通过执行如下的操作序列完成这个任务 选择存贮单元由A[5…0]确定 对工A[5…0]译码,延迟,并向存贮器发一个信号使存贮器将此指令输出到它的输出引脚。这些引脚与CPU的D[7…0]相连。CPU从这些引脚读入数据。 具体操作:(分为三个状态) A)要取的指令的地址存放在程序计数器(PC)中。第一步就是把PC的内容拷贝到AR中。 FETCH1:AR←PC B)CPU必须从存贮器中读取指令,为此CPU必须发一个READ信号到器的RD(RD-RAM,相对于OE-ROM)端上使存贮器将数据发送到D[7…0]上,存入CPU的DR寄存器中。同时实现PC←PC+1,为取下一条指令作准备。 FETCH2:DR←M,PC←PC+1 作为取指令的一部分,CPU还必须完成两件事。 DR的高2位拷贝到IR,目的是确定指令的功能 DR的低6位拷贝到AR,目的: a. 对于ORT和SUB1指令这6 位包含了指令的一个操作数的存贮器地址(一个数已经在AC) b. 对于COM和JREL,它们不需要再次访问存贮器,一旦它们返回到FETCH1周期,FETCH1将把PC的值装到AR,覆盖无用的值。 FETCH3:IR←DR[7,6], AR←DR[5…0] 取指令周期的状态图 FETCH3FETCH2FETCH1 FETCH3 FETCH2 FETCH1 指令译码(每条指令的操作码都是唯一的) 本CPU有四条指令,因此有四个不同的执行同期,为此用IR中的值来确定即可。 FETCH1 FETCH1 FETCH2 FETCH3 COM执行周期 OR执行周期 SUB1执行周期 IR=00 IR=01 IR=10 IR=11 JREL执行周期 指令执行(每条指令的执行周期都是一样的) 每条指令的执行周期的状态分析: 1.COM指令 功能是对AC的内容取反,执行周期的状态是 COM1:AC←AC’ 2. JREL指令 代码为01AAAAAA,即转移的相对地址由AAAAAA确定,而AAAAAA在DR[5…0]中,所以有 JREL1:PC←PC+ DR[5…0] 3.OR指令 为了执行指令,必须完成两件事情 OR1:DR←M;从存贮器取出一个操作数送到数据寄存器 OR2:AC←AC∨DR;与AC相或,并把结果存回AC中 4. SUB1指令 为了执行指令,必须完成两件事情 SUB11:DR←M;从存贮器取出一个操作数送到数据寄存器 SUB12:AC - AC + DR;对DR取反,等于-DR-1 综上所述可知CPU的完全状态图如下 FETCH1 FETCH1 FETCH2 FETCH3 COM1 OR1 JREL1 SUB11 IR=00 IR=01 IR=10 IR=11 OR2 SUB12 4 设计必要的数据通路和控制逻辑,以便实现这个有限状态机,最终实现这个CPU。 状态图以及寄存器的传输说明了实现本CPU所须完成工作(方法和步骤如下) 与CPU的每个状态相关联的操作(共九个状态) FETCH1:AR←PC FETCH2:DR←M,PC←PC+1 FETCH3:IR←DR[7,6], AR←DR[5…0] COM1: AC←AC’ JREL1: PC←PC+ DR[5…0] OR1: DR←M; OR2: AC←AC∨DR; SUB11: DR←M; SUB12: AC - AC + DR 建立数据通路的原理和方法 存贮器是通过引脚D[7…0]将数据送给CPU。 存贮器的地址是通过地址引脚A[5…0]从AR中获得的。于是CPU与存贮器之间要A[5…0](地址)和D[7…0](数据)通路,如下图 88

文档评论(0)

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

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

1亿VIP精品文档

相关文档