本文是一篇课程设计论文范文,课程设计方面有关毕业论文,关于动物科学课程设置与学分相关研究生毕业论文开题报告范文。适合课程设计及计算机及指令方面的的大学硕士和本科毕业论文以及课程设计相关开题报告范文和职称论文写作参考文献资料下载。
计算机组成原理课程设计
课程设计名称:计算机组成原理
设计项目名称:基本模型机设计与实现
专业:计算机科学与技术
班级:24020504
学号:24020500406
姓名:刘盼
指导教师:周立
2016年1月4日
一、课程设计的教学目的
本课程设计的教学目是在掌握计算机系统的组成及内部工作机制,理解计算机各功能部件工作原理的基础上,深入掌握数据信息流和控制信息流的流动过程,进一步加深计算机系统各模块间相互关系的认识和整机的概念,培养开发和调试计算机的技能,在设计实践中提高应用所学专业知识分析问题和解决问题的能力.
二、课程设计任务和基本要求
三、设计任务及分析:
0,01H
0000000100000001
0000001000010000INR0,[[0CH]],
0000001100001100
0000010000100000NOTR0,
0000010100110000XORR0,[[0CH]],
0000011000001100
0000011101000000MOV[0DH],R0,
0000100000001101
0000100101010000OUT[0DH],
0000101000001101
0000101101100000HLT,
数据区:
0000110000001110
0000111000000000
0000110100000000
本设计的汇编指令如下:
指令注释
STAR0,01H,将01H存在寄存器R0中
IN[[0CH]],给间接地址为0CH的内存单元单元中置数
NOTR0,给R0中的内容取反
XORR0,[[0CH]],将间接地址为0CH的内存单元的内容和寄存器R0中的内容执行
异或运算,结果存入寄存器R0
MOV[0DH],R0,将寄存器R0中的内容存入直接地址为0DH的内存单元中
OUT[0DH],输出0DH中的内容
HLT,停机
为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还设计了三个控制台操作微程序.
存储器读操作(KRD):拨动总清开关CLR后,当控制台开关SWB,SWA置为"00"时,按START微动开关,可对RAM进行连续手动读操作.
存储器写操作(KWE):拨动总清开关CLR后,当控制台开关SWB,SWA置为"01"时,按START微动开关,可对RAM进行连续手动写入.
启动程序:拨动总清开关CLR后,当控制台开关SWB,SWA置为"11"时,按START微动开关,即可转入到第01号"取指"微指令,启动程序运行.
上述三条控制台指令用两个开关SWB,SWA的状态来设置,其定义如表1:
表1
SWBSWA控制台指令00读内存(KRD)01写内存(KRD)01启动程序(RP)根据以上要求设计数据通路框图如图1所示.
图1数据通路框图微指令格式如表2所示.当微指令格式确定以后,下一步就是确定后续微指令地址.通常的方法是先确定微程序分支处的微地址,因为微程序分支处需要进行判断测试.这些微地址确定以后,就可以在一个"微地址表"中将分支微指令填入相应得分支地址单元,避免以后的设计中因重复使用而造成错误.对于其它位置就可以按一条微指令对应一个微地址随意填写.
表2微指令格式
242322212019181716151413121110987654321S3S2S1S0MCnWEA9A8ABCμA5μA4μA3μA2μA1μA0
A字段B字段C字段151413选择121110选择987选择000000000001LDRi001RS-B001P(1)010LDDR1010RD-B010P(2)011LDDR2011RI-B011P(3)100LDIR100299-B100P(4)101LOAD101ALU-B101AR110LDAR110PC-B110LDPC按照数据通路可画出机器指令的微程序流程图如图2所示.当拟定"取指"微指令时,该微指令的判别测试字段为P(1)测试.由于"取指"微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支.本机用指令寄存器的前4位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定的微地址单元.
当全部微指令设计完毕后,应将每条微指令代码化,表3即为将图2微程序流程图按微指令格式转化而得到的"二进制代码表".
表3二进制微代码表微地址S3S2S1S0MCNWEA9A8ABCμA5等μA0000000000110000001000100000100000001111011011000001002000000001100000001001000030000000010010000000000010400000000111000000000010105000000001110000000000110060000000000100000000001110700000110100010100000000110000000011110110110000011110000000111101101100001001200000001101100100000111113000000011110110110010101140000000111101101100111001500000001111011011001111016000000011000000000001110170101100110011010000000012000000001111011011001001021000000011110110110010100220000000010100000000101112300000001100000000000000124000000000010000000011000250000000011100000000101102600000000111000000001100127000001110000101000010000300000011010001010000100013100000000101000000001101032000000011011001000011011330110100110011010000000013400000000111000000001110135000000101000001000000001360000000011100000000111113700000000101000000010000040000001110000101000000001指令寄存器(IR)用来保存当前正在执行的一条指令.当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器.指令划分为操作码和地址码字段,由二进制数构成.为了执行任何给定的指令,必须对操作码进行测试[P(1)],通过节拍脉冲T4的控制以便识别所要求的操作."指令寄存器"(实验板上标有"INSDECODE"的芯片)根据指令中的操作码译码结果强置微控器单元的微地址,使下一条微指令指向相应得微程序首地址.
本系统使用两种外部设备,一种是二进制代码开关,它作为输入设备(INPUTDEVICE),另一种是数码管,它作为输出设备(OUPUTDEVICE).例如:输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变.输出时,将输出的数据送到数据总线BUS上,当写信号(W/R)有效时,将数据打入输出锁存器,在数码管显示.
五、操作步骤
1.按图3连接实验电路
2.联机写程序
按照规定格式,将机器指令及微指令二进制代码表(如表4)编辑成十六进制的文件.
机器代码:
$P0000
$P0101
$P0210
$P030C
$P0420
$P0530
$P060C
$P0740
$P080D
$P0950
$P0A0D
$P0B60
$P0C0E
$P0D00
$P0E00
微指令格式:
$M00018110
$M0101ED82
$M0200C048
$M03009001
$M0400E005
$M0500E006
$M06002007
$M07068A01
$M0801ED83
$M0901ED84
$M0A01B20F
$M0B01ED95
$M0C01ED9C
$M0D01ED9E
$M0E01800E
$M0F599A01
$M1001ED92
$M1101ED94
$M1200A017
$M13018001
$M14002018
$M1500E016
$M1600E019
$M17070A10
$M18068A11
$M1900A01A
$M1A01B21B
$M1B699A01
$M1C00E01D
$M1D028201
$M1E00E01F
$M1F00A020
$M20070A013联机运行
联机运行程序时,进入软件界面,转储→装载,再弹出窗口选择要装载的文件(*.txt格式),在装载完机器指令及微指令后,选择(运行)→(通路图)→(复杂模型机)功能菜单打开相应的动态数据通路图,按相应功能键即可联机运行,监控,调试程序.本试验采用微指令单
步运行
运行微程序
01
01
02
02
10
STAINNOTXORMOVOUTHLT
10111213141516
10111214
030417253436
030617
05263537
010401
063140
0501
0732
01
33
01
01
01
图2微程序流程图
图3接线图
六、实验结果.
本实验的操作数为X等于03H,Y等于01H,其中X的直接地址为0EH,间接地址为0CH,Y取反后和X进行逻辑异或运算的结果为FDH,将此结果保存在FDH中,最后输出单元输出的结果为FDH
第一条机器指令STA01H(Y)移入寄存器R0,该指令执行之后,R0中的内容为01H.
第二条机器指令IN,从数据开关将03H(X)输入到内存,将其存入直接地址为0EH,间接地址为0CH的内存单元.
第三条机器指令NOT将寄存器R0中的内容取反,结果仍存入R0.该指令执行之后,R0中的内容为FEH.
第四条机器指令XOR将X放入DR1中,将R0中的内容放入DR2中,将DR1和DR2种的数进行异或运算,结果放在R0中.此时R0中的内容为FDH.
第五条机器指令MOV将结果存入直接地址位0DH的内存单元中.
第六条机器指令OUT将0DH中的内容送到DR1,从DR1输出.此时数码管显示为FDH.
第七条机器指令HLT为暂停.
七、实验总结
通过这次的课程设计,我明白了机器指令和微指令之间的关系,机器指令为微指令提供入口以及操作数或操作数的地址,微指令具体实现机器指令所指定的功能.此外,通过这次实验,我对微程序控制器的工作方式有了更进一步的理解,将知识运用于实践中,根深的理解和掌握知识,同时也是对自己分析问题,解决问题的能力的考验,通过这次实践为我以后的学习打下基础.
八,参考文献
《计算机组成原理》科学出版社白中英着
《计算机组成原理与应用》工业出版社王子齐着
九,教师点评
教师姓名:
日期:
DR1→LED
RAM→BUS
BUS→DR1
R0→BUS
BUS→RAM
DR1⊕DR2
→R0
DR1→RAM
R0→DR2
RAM→BUS
BUS→AR
RAM→BUS
BUS→AR
R0→DR2
SW→BUS
BUS→DR1R0
RAM→BUS
BUS→DR1
BUS→AR
DR1
RAM→BUS
BUS→AR
BUS→AR
RAM→BUS
BUS→AR
BUS→DR2
RAM→BUS
BUS→R0
R0
RAM→BUS
BUS→AR
RAM→BUS
BUS→AR
→R0
PC→AR
PC+1
PC→AR
PC+1
PC→AR
PC+1
PC→AR
PC+1
HLT
P(1)
RAM→BUS
BUS→IR
PC→AR
PC+1
PC→AR
PC+1