采用微程序控制器的CPU设计文档格式.docx
- 文档编号:15329949
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:22
- 大小:272.69KB
采用微程序控制器的CPU设计文档格式.docx
《采用微程序控制器的CPU设计文档格式.docx》由会员分享,可在线阅读,更多相关《采用微程序控制器的CPU设计文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
①融会贯通计算机组成原理课程各章教学内容,通过知识的综合运用,加深对CPU各模块工作原理及相互联系的认识,建立计算机整机的概念。
2通过对一个简单模型机的设计,达到对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的理解,加深对理论课程的理解。
3学习运用大容量可编程器件开发技术,掌握设计和调试的基本步骤和方法。
4培养独立工作和创新思维的能力,取得设计与调试的实践经验。
2)课程设计要求:
设计一台微程序控制的模型计算机
①拟定指令系统(含机器指令的字长、格式、寻址方式及指令的种类等)
②设计数据通路,给出模型机中所含的部件及其间的连接,以及信息在数据通路中传送时所需的微命令。
3设计微程序的流程图
4设计微指令
5编写微程序
6使用VHDL编码,仿真检测实验的功能是否达到设计要求
撰写课程设计报告,要求报告中所规定的图文齐全、符合要求、结构合理,能对实验中出现的问题进行分析及给出解决的方法。
2.开发工具选择
以TEC-CA教学实验系统为平台,采用硬件描述语言VHDL为设计工具,应用QUARTUSⅡ5.1环境进行大规模集成电路的功能设计仿真。
3.设计方案选择
1)总线宽度:
该模拟机仅有一条总线,且总线宽度为8位。
2)寄存器:
所有的寄存器的位数均为8位:
1 通用寄存器R:
该模拟机有1个通用寄存器,用于寄存器寻址时存放结果,提供操作数。
2 指令寄存器IR:
为了提高取指令的速度,将指令从内存中读出,经数据总线直接置入IR。
3 数据寄存器MDR、地址寄存器MAR:
地址寄存器MAR提供访问主存的地址;
数据寄存器MDR,把从内存取出的数据暂存于MDR中,在用到该数据进行运算时,再从MDR中取出数据进行运算。
4 程序计数器PC:
用于存放下一条指令的内存地址。
3)ALU可以实现8位操作数的运算,即ALU的位数为8位,ALU运算功能为:
加、减、逻辑与、逻辑或、条件转移
4)数据通路
4.指令系统设计
1)字长:
固定字长8位
2)指令格式:
操作码(3位)
标志位(1位)
地址码(4位)
3)操作码的位数:
3位,最多有8条指令
000
load
001
store
010
add
011
sub
100
and
101
or
110
bne
4)寻址方式:
直接寻址和寄存器间接寻址
load7:
:
将7单元的数据装入ACC寄存器中。
机器指令为00000111
store8:
将ACC寄存器中的数据存入8单元中。
机器指令为00101000
add9:
将ACC寄存器中的数据与9单元中的数据相加,结果存入ACC寄存器中。
机器指令为01001001
sub[R]:
将ACC寄存器中的数据与R寄存器中数据相减,结果存入ACC寄存器中。
and10:
将ACC寄存器中的数据与10单元中的数据相与,结果存入ACC寄存器中。
机器指令为10001010
or11:
将ACC寄存器中的数据与11单元中的数据相或,结果存入ACC寄存器中。
机器指令为10101011
ben12:
条件转移指令,如果Z_FLAG标志为0,则程序执行顺序发生转移,转向地址为12单元中的内容。
机器指令为11001100
对于双操作数指令,其中一个操作数为指令中指定的存储单元中的数据,另一操作数隐含为ACC。
5.模型机总体结构设计
6.指令流程设计
loadstoreadd
PC—>
MARPC—>
MAR
PC+1—>
PCPC+1—>
PC
M(MAR)—>
MDRM(MAR)—>
MDR
MDR—>
IRMDR—>
IR
IR中的地址码—>
MARIR中的地址码—>
MAR
M(MAR)—>
MDRACC—>
MDRM(MAR)—>
MDR
MDR—>
ACCMDR—>
M(MAR)MDR+ACC—>
ACC
subandor
PC—>
PC+1—>
Ir_out(4)='
1'
R→MARM(MAR)—>
MDRM(MAR)—>
M(MAR)—>
MDRMDRandACC—>
ACCMDRORACC—>
ACC
ACC-MDR—>
ACC
Z_FLAG=0?
YES
PC
7.微指令格式设计
微指令的格式:
操作控制字段
顺序控制字段
操作控制字段:
采用直接控制法,操作控制字段的位数与设计的微命令的个数一致。
15位
顺序控制字段:
决定如何产生下一条微指令的地址。
5位
如果微指令的执行是顺序执行,则顺序控制字段提供下一条微指令的地址;
如果产生了分支,则顺序控制字段为标志,注意此标志所对应得微地址中不要存入微指令。
8.微程序流程设计
20
9.微程序的编写
微地址
22
21
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
0~4
r_bus
load_PC
ACC_bus
load_ACC
PC_bus
load_IR
load_MAR
MDR_bus
load_MDR
ALU_ACC
INC_PC
Addr_bus
cs
R_NW
ALU_and
ALU_or
ALU_add
ALU_sub
下地址
00
1
00001
01
00010
02
00011
03
11111
04
00000
05
06
07
10011
08
00100
09
00101
00110
11011
01111
10000
11110
00111
各个控制信号:
控制信号
描述
用ACC的内容驱动总线
将总线上的数据载入ACC
用PC的内容驱动总线
将总线上的数据载入PC
将总线上的数据装载至IR
将总线上的数据装载至MAR
用MDR的内容驱动总线
将总线上的数据装载至MDR
用ALU的结果装载ACC
PC+1并将结果存至PC中
用IR中指令的地址码部分驱动总线
CS
片选。
用MAR的内容设置存储器地址
读取,不可写。
当R_NW无效且CS有效时,MDR的内容存储于存储器中
在ALU中执行加法操作
在ALU中执行减法操作
在ALU中执行与操作
在ALU中执行或操作
R_bus
用R的内容驱动总线
9.VHDL实现
cpu_defs.vhd
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
PACKAGEcpu_defsIS
TYPEopcodeIS(load,store,add,sub,and0,or0,bne);
CONSTANTword
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 采用 微程序 控制器 CPU 设计