计算机组成原理课设报告微程序控制器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
第一章设计任务与要求 3 1.1 设计内容 3 1.2 具体要求 3 1.3 设计环境 4 第二章设计方案 5 2.1 设计思路 5 2.2 微指令格式 6 2.3 指令流程图及其微程序清单 6 第三章调试过程 9 3.1 实验步骤 6 3.2 出现的问题与解决办法 15 小结 15 参考资料 16
1.1 设计内容
按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。
1.2 具体要求
1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现
该模型机指令系统的特点:COP2000模型机指令的最低两位(IR0和IR1)用来寻址R0~R3四个寄存器;IR2和IR3与ELP微控制信号,Cy和Z两个程序状态信号配合,控制PC的置数即程序的转移。各种转移的条件判断逻辑如下所示:PC 置数逻辑
当ELP=1时,不允许PC被预置
当ELP=0时
当IR3=1时,无论Cy和Z什么状态,PC被预置
当IR3=0时
若IR2=0,则当Cy=1时PC被预置
若IR2=1,则当Z=1时PC被预置
(1)模型机的寻址方式分五种:累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址;
(2)模型机有一些缺省的指令集,分几大类:算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入/输出指令。
(3)模型机的指令集有:
算术运算指令:ADD A, R? ADD A@R? ADD A, MM ADD A, #II
SUB A, R? SUB A, @R? SUB A, MM SUB A, #II
数据传输指令:MOV A, R? MOV A, @R? MOV A, MM MOV A, #II MOV R?, A MOV @R?, A MOV MM, A MOV R?, #II
输入/输出指令: IN OUT
跳转指令:JMP MM
移位指令:RR A RL A RRC A RLC A NOP
中断返回指令:RETI
该模型机微指令系统的特点(包括其微指令格式的说明等):
COP2000 模型机的微指令字长为24 位,全部为操作控制部分,不含顺序控制字段。微指令编码采用直接表示法,微地址形成采用计数器方式。微指令格式为水平型微指令。模型机有24位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。24位控制位作用分别如下:
表-2 S 2S 1S 0功能表 表-3 X 2X 1X 0功能表
1.3设计环境
伟福COP2000型计算机组成原理实验仪,微机,相关虚拟软件。
第二章设计方案
2.1 设计思路
根据所编写的指令系统的内容要求,首先用MOV指令给寄存器和累加器传送立即数,实现立即数寻址。再用寄存器寻址方式,把寄存器的数据传送到另一个累加器,用ADD指令对两者进行相加运算。用寄存器间接寻址方式,把寄存器里的数据作为地址,将这个地址对应的存储器里的数据传送到累加器,利用mov r,a 和text,jmp,jz等指令实现在存储器中存储一系列的数据。
微指令的的基本格式由操作控制字段和顺序控制字段组成,而此模型机只由操作控制字段组成,24位操作控制信号排列
2.2设计的指令系统
MOV A,#01H 立即数寻址,传送指令,将01h传送给累加器a
LOOP:
MOV R0,#01H 立即数寻址,将01h传送给r0
ADD A,R0 寄存器寻址,加法操作,将r0的值与a相加,结果存入a中
SUB A,@R0 寄存器间接寻址,减法将R0的值当作是内存地址,再将此地址的值与A相减,最后放入A。
ADD A,01H 存储器直接寻址,寻找出01地址中的值,
用A和此地址的值相加,最后放入A
CPL A 累加器寻址,将a的值取反
OUT
JMP LOOP //无条件跳转,跳转到LOOP
2.3 指令流程图及其微程序清单
MOV A,#01H
PC—>MAR
(PC+1—>PC)
MAR—>EM
EM—>IR 、uPC
EM—>A
(PC+1—>PC)
MOV R0,#01H
ADD A,R0
SUB A,@R0
ADD,02H
Col a OUT
JMP LOOP
PC—>MAR
(PC+1—>PC)
MAR—>EM
EM—>IR 、MOV
IR—>PC
(PC+1—>PC)
第三章调试过程
3.1 实验步骤
(1)本指令系统涉及8条指令,分别完成数据传送,进行加、减和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。
具体指令设计如下:
(2)微程序设计
将窗口切换到“uM微程序”窗口,设计每条指令的微程序。
每个程序开始要执行的第一条微指令应是取指操作,因为程序复位后,PC和uPC的值都为0,所以微程序的0地址处就是程序执行的第一条取指的微指令。取指操作要做的工作
是从程序存储器EM中读出下条将要执行的指令,并将指令的机器码存入指令寄存器IR和微程序计数器uPC中,读出下条操作的微指令。取指设计如下(CBFFFF):
1) MOV A,#01H 这条指令是把立即数1从存储器EM中取出,放入累加器A中。微程序设计如下(C7FFF7):
2) MOV R0,#01H这条指令是把立即数1从存储器EM中取出,放入寄存器R0中。微程序设计如下(C7FBFF);