西安电子科技大学计组实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子科技大学
计算机组织与体系结构 课程实验报告
实验名称 计算机组织与体系结构
计算机 学院 1503013 班
宁 学号 同作者 罗超
实验日期 2017 年 9 月 24 日
实验地点 E-II-311 实验批次 第二批
一.实验目的
1.深入理解基本模型计算机的功能、组成知识;
2.深入学习计算机各类典型指令的执行流程;
3.学习微程序控制器的设计过程和相关技术,掌握LPM_ROM的配置方法。
4.在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机。
5.定义五条机器指令,并编写相应的微程序,上机调试,掌握计算机整机概念。
掌握微程序的设计方法,学会编写二进制微指令代码表。
6.通过熟悉较完整的计算机的设计,全面了解并掌握微程序控制方式计算机的设计方法。
二.实验原理
1.在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本实验将能在微过程控制下自动产生各部件单元控制信号,实现特定的功能。
实验中,计算机数据通路的控制将由微过程控制器来完成,CPU从存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
2.指令格式 (1)指令格式
采用寄存器直接寻址方式,其格式如下:
其中,OP-CODE 为操作码,rs 为源寄存器,rd 为目的寄存器,并规定:
表6-1 24位微代码定义:
图6-1 数据通路框图
表6-2 A、B、C各字段功能说明:
24
(1) uA5—uA0:微程序控制器的微地址输出信号,是下一条要执行的微指令的微地址。
(2) S3、S2、Sl、S0:由微程序控制器输出的ALU操作选择信号,以控制执行16种算术操作或16种逻辑操作中的某一种操作。
(3) M:微程序控制输出的ALU操作方式选择信号端。
M=0执行算术操作;M=l执行逻辑操作。
(4) Cn:微程序控制器输出的进位标志信号,Cn=0表示ALU运算时最低位有进位,Cn=1则表示无进位。
(5)WE:微程序控制器输出的RAM控制信号。
当/CE=0时,如WE=0为存储器读;如WE=1为存储器写。
(6) A9、A8——译码后产生CS0、CS1、CS2信号,分别作为SW_B、RAM、LED的选通控制信号。
(7) A字段(15、14、13)——译码后产生与总线相连接的各单元的输入选通信号(见表6-1)。
(8) B字段(12、11、10)——译码后产生与总线相连接的各单元的输出选通信号。
(9) C字段(9、8、7)——译码后产生分支判断测试信号P(1)~P(4)和LDPC信号。
系统涉及到的微程序流程见图6-2。
当执行“取指令”微指令时,该微指令的判断测试字段为P(1)测试。
由于“取指令”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支(见图6-2左图)。
用指令寄存器的高4位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定地址单元。
控制台操作为P(4)测试(见图6-2右图),它以控制台信号SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。
当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控制存储器的一个微地址单元,随意填写。
注意:微程序流程图上的微地址为8进制!
当全部微程序设计完毕后,应将每条微指令代码化,表6-2即为图6-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。
表6-2 二进制微代码表
微地址微指令S3S2S1S0M C N W E A9A8 A B C UA5—UA0
00 018110 00000001 1 000 000 100 010000
0101E D8 2 00000000 1 110 110 110 000010 0200C048 00000000 1 100 000 00 1 001000 0300E00 4 00000000 1 110 000 000 000100 0400B00 5 00000000 1 01 1 000 000 00010 1 0501A20 6 00000001 1 010 00 1 000 000110 06619A0 1 0 1 1 0 0 0 0 1 1 00 1 10 1 000 00000 1 0700E00 D 00000000 1 110 000 000 00110 1 1001E D9 2 0 0 0 0 0 0 0 1 1 00 1 110 11 1 000010 1101E D8 3 00000001 1 110 110 110 00001 1 1201E D87 00000001 1 110 110 110 00011 1 1301A20 E 00000001 1 010 00 1 000 001110 1401A20 F 00000001 1 010 00 1 000 00111 1 1500E017 0 0 0 0 0 0 0 0 1 110 000 000 01011 1 16099A0 1 00001001 1 00 1 10 1 000 00000 1
17 399A 0 1 00111001 1 00 1 10 1 000 00000 1 20 01E D 9 2 00000001 1 110 110 110 010010 21 01E D 9 4 00000001 1 110 110 110 010100 22 00A 010 ******** 1 010 000 000 010000 23 01800 1 00000001 1 000 000 000 00000 1 24 06201 1 000001100 010 000 000 01000 1 25 059A 0 1 00000101 1 00 1 10 1 000 00000 1 26 01A 21 5 00000001 1 010 00 1 000 01010 1 27
00900 1 0
1
00 1 000 000 00000 1
器中,然后再传送至指令寄存器。
指令划分为操作码和地址码段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试“P(1)”,通过节拍脉冲T4的控制,以便识别所要求的操作。
指令译码器: 根据指令中的操作码强置微控制器单元的微地址,使下一条微指令指向相应的微程序首地址。
三.实验步骤
1.微程序的输入:根据表6-2所对应的二进制微代码,编辑LPM_ROM 配置文件ROM_11.mif(参考demoD_cpu5文件夹中的同名文件),并将其保存在与实验电路b100_c.bdf 工程所在的文件夹中,与实验电路b100_c.bdf 一同编译后,得到下载文件b100_c.sof 。
下载配置文件bus_c.sof 下载到实验系统。
实验板上的时钟clock0选择输入频率为1.5MHz 。
图6-3是示例原理图,详见b100_c.bdf 。
2.输入模型机的程序(示例工程文件是b100_c.bdf )
01 00ED82
02 00C048
10 001001
SUB CLR INC CPL OR DEC 10 00ED83 11 01A20F 12 001016 13 01A20E 14 01A201 15 001018 PC →AR PC+1
RAM →BUSB US →IR
P(1)
R0-DR0
PC →AR
PC+1
R0->DR1
R0→DR0
SW →R0
SW →R0
3.在0模式下,将3,4置1,任意输入一个数字,然后按7,依次完成减法,清零,自加1,取反。
或,自减1操作。
四.在实验中遇到的问题及解决方法
问题:1.在向Rom 存储微指令时输入错误使程序陷入死循环。
2.驱动程序出错,不能将程序下载到实验箱。
解决:1.多次检查比对Rom 中的微指令,找出错误并改正。
2.重新安装驱动。
五.个人心得
在这次课程设计作业的过程中由于在设计方面我们没有经验,理论基础知识掌握得不牢固,在设计中难免会出现这样那样的问题,经过认真剖析计算机组成原理实验教学系统的时序功能部件、指令译码电路、寄存器组控制、微指令格式、微指令流程、微地址形成部件的功能结构和工作机制,列出相应逻辑方程,找出指令操作码字段与微程序入口地址形成、寄存器组控制的对应关系,确定每个时钟节拍所对应的微操作;根据计算机组成原理实验教学系统的功能最大化引脚图和完整数据通路图,设计自己的微指令流程框架、控制台流程,完整的指令系统,微程序流程总图,微指令代码表。
在此次的课程设计过程中,我更进一步地熟悉了计算机的结构及掌握了各个部件的工作原理和其具体的使用方法。
也锻炼了自己独立思考问题的能力和通过查看相关资料来解决问题的习惯。
虽然这只是一次简单的课程设计,但通过这次课程设计我们了解了课程设计的一般步骤,和设计中应注意的问题。
设计本身并不是有很重要的意义,而是同学们对待问题时的态度和处理事情的能力。
至于设计的成绩无须看的太过于重要,而是设计的过程,设计的思想和设计过程中的每一个环节。
这次课程设计之后,使我明白了,做任何事情都要认真仔细,不然的话,你会花更多的时间才会做好。
课程设计有利于提高我们的动手能力,能把我们所学的书本知识运用到实际生活中去。
同时也丰富了我们的业余生活,提高我们对知识的理解能力。
这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。
同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感!。