没有合适的资源?快使用搜索试试~ 我知道了~
简单CPU设计(硬布线)
5星 · 超过95%的资源 需积分: 49 110 下载量 25 浏览量
2008-08-28
19:55:14
上传
评论 14
收藏 772KB DOC 举报
温馨提示
试读
15页
简单CPU设计(硬布线)自己做,应该计算机科学系的学生都要做的,上传给大家参考一下
资源推荐
资源详情
资源评论
一、 CPU 的设计规范
1. 确定 CPU 的用途
字长:8 位 D[7……0]
寻址范围:64Byte,2 的 6 次方=64,A[5……0]
2. 确定 ISA(包括程序可访问的寄存器,又称通用寄存器)
1) 程序员可访问的寄存器 AC--8 位累加器
表1非常简单CPU指令集:共4条指令,如下所示
指令 操作码 操作
COM 00XX XXXX
AC←AC’(取反)
JREL 01AA AAAA
PC←PC+00AAAAAA
OR 10AA AAAA
AC←AC∨M[00AAAAAA]
SUB1 11AA AAAA
AC←AC-M[00AAAAAA]-1
2) CPU还需一些其他寄存器(又称专用寄存器)以便完成取数据、译码
和执行指令所必须的内部操作,基本的寄存器有:
AR(地址寄存器)―――6位,由 A[5……0]向存贮提供地址
PC(程序计数器)―――6位,指出下一条指令的地址
DR(数据寄存器)―――8位,通过 D[7……0]从存贮器接收指令和数据
IR(指令寄存器)―――2 位,存放从存贮器中取回的指令的操作码部分。
3. 为CPU设计状态图
为了确定CPU的状态图,需对每条指令作如下分析:
1) 从存贮器中取指令(所有指令均相同)
2) 指令译码:
每条指令的操作码部分均是唯一的
3) 指令执行:
每条指令的执行周期也是唯一的
4. 还要设计必要的数据通路和控制逻辑,以便实现这个有限状态机,最终实
现这个 CPU。接下来,可以对 CPU 设计验证。
二、 从存贮器中取指令
1. 原理:根据冯·诺依曼型机的原理(指令在存贮器中按顺序存放),在 CPU
能执行指令之前,它必须将这条指令从存贮器中取出, CPU 通过执行如下
的操作序列完成这个任务:
1) 选择存贮单元 A[5……0]确定
2) 对 A[5……0]译码、延迟、并向存贮器发一个信号(如 READ 或 R/W’=
1),使存贮器将此指令输出到它的输出引脚。这些引脚与 CPU 的
D[7……0]相连接。CPU 从这些引脚读入数据。
1 / 15
2. 具体的操作(以下取指令分为三个状态)
1) 要取的指令的地址放在程序计数吕(PC)中。由于 A[5……0]从地址寄
存器中接收值,因此第一眇就把 PC 的内容拷贝到 AR 中。这样取指令周
期的第一个状态就是(意思是 FETCH1 为真,把 PC 的值送到 AR,以下
同理)
FETCH1:AR←PC(说明:这一描述的方法是基于 RTL)
2) CPU 必须从存贮器中读取指令,为此 CPU 必须发一个 READ 信号到存贮
器的 RD 端(对于 ROM 为 OE 端)使存贮器将数据发送到 D[7……0]上。
同时,CPU 读进来,并放到 DR 中,因为 DR 是用来访问存贮器的唯一寄
存器。同时实现 PC←PC+1,为取下一条指令作准备。
FETCH2:DR←M,PC←PC+1
3) 作为取指令的一部分,CPU 还必须完成两个事。
a) DR 的高 2 位拷贝到 IR,目的是确定指令的功能。
b) DR 的低 6 位拷贝到 AR,目的如下:
i. 对于 OR 和 SUB1 指令这 6 位包含了该指令的一个操作数的存贮
器地址(因为一个数已经在 AC 中),将地址拷贝到 AR 可减少
这些指令在执行周期的状态。
ii. 对于 COM 和 JERL 指令,也不支引起新的问题。它们不需要再
次访存,因为它们恰好不会用到在 AR 中的值。一旦它们返回到
FETCH1 周期,FECTH1 将把 PC 的值装载到 AR,从而覆盖无用到
的值。
FETCH3:IR←DR[7,6],AR←DR[5……0]
3. 取指令周期的状态图
2 / 15
FETCH1
FETCH2
FETCH3
图一
三、 指令译码
本 CPU 有四条指令,因此有四个不同的执行周期,为此用 IR 中的值来确定
即可。
四、 指令执行
方法:分别对每条指令的执行周期作出详细的状态分析。
1. COM 指令(执行周期)
功能是将 AC 的内容取反,执行周期状态是
COM1: AC←AC’
2. JREL 指令(执行周期)
指令码是 01AAAAAA,操作为将 PC 的地址和地址 AAAAAA 相加
后,再 将相加的地址(目标 地 址 ) 送回 PC ,而 AAAAAA 在
DR[5……0]中。
JREL1: PC←PC+DR[5……0]
3. OR 指令(执行周期)
M 的地址由 A[5……0]确定,放在 AR 中,有两个状态。
OR1:DR←M
OR2:AC←AC∨DR
4. SUB1 指令(执行周期)
功能为将 AC 中的数减去 M 的数再减一送到 AC,可等价为 AC 中
3 / 15
FETCH1
FETCH2
FETCH3
COM
执行
周期
JREL
执行
周期
OR
执行
周期
SUB1
执行
周期
IR =
00
IR =
01
IR =
10
IR =
11
图二
剩余14页未读,继续阅读
资源评论
- JoeQin_king2013-03-31很好,让我学到了很多东西
- 无知的奋斗中2014-03-03这终于找到一个我可以看到的了
- ColyYang2019-07-03资料还可以
- chaochuilishizi2013-01-12比较详细~但是和我们现在做的实验还是有差距的
cannonlyn
- 粉丝: 7
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功