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