复杂模型机组成原理课程设计报告Word文档下载推荐.docx
《复杂模型机组成原理课程设计报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《复杂模型机组成原理课程设计报告Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
2.指令格式3
3.指令系统4
三、总体设计4
1.设计复杂模型机的监控软件4
2.设计微程序流程图5
3.转换格式5
4.实验接线6
5.写微程序和程序6
6.运行程序7
7.验证8
四、系统测试及实验截图8
五、总结14
1、课程设计目的和意义
经过一系列硬件课程如计算机原理的学习及相关实验后,综合应用所学理论知识解决实际设计和应用问题,进行一个综合的系统的实验。
培养实际动手能力,进一步提高硬件设计能力。
培养实事求是和严肃认真的工作态度。
通过设计过程,熟悉和掌握微机系统的硬件设计方法、设计步骤,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力。
综合运用所学计算机原理知识,设计并实现较为完整的计算机。
二、复杂模型机的设计与实现内容
1.数据格式
模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:
其中第7位为符号位,数值表示范围是:
-1≤X<1。
2.指令格式
模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、存数指令、取数指令、转移指令和停机指令。
⑴算术逻辑指令
设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
其中,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,并规定:
9条算术逻辑指令的名称、功能具体见表3-8。
⑵访问指令及转移指令
模型机设计2条访问指令:
即存数STA、取数LDA;
2条转移指令:
即无条件转移JMP、有进位转移指令BZC。
指令格式为:
其中,OP-CODE为操作码,RD为目的寄存器地址(LDA、STA指令使用)。
D为位移量(正负均可),M为寻址模式,其定义如下:
本模型机规定变址RI指定为寄存器R2。
⑶I/O指令输入IN和输出OUT指令采用单字节指令,其格式如下:
其中,addr=01时,选中输入数据开关组KD0~KD7作为输入设备,addr=10时,选中2位数码管作为输出设备。
⑷停机指令指令格式如下:
HALT指令,用于实现停机操作。
3.指令系统
本模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。
表3-8列出了各条指令的格式、汇编符号、指令功能。
三、总体设计
复杂模型机的数据通路框图如图3-16所示。
根据复杂模型机的硬件电路设计监控软件(机器指令),再根据机器指令要求,设计微程序流程图及微程序,最后形成16进制文件。
四、实验步骤
1.设计复杂模型机的监控软件
$P0044IN01,R0
$P0146IN01,R2
$P0298ADCR2,R0
$P0381MOVR0,R1
$P04F5RLCR1,R1
$P050CBZC00,00
$P0600
2.设计微程序流程图
按照实验机设计的微指令格式,参照微指令流程图,设计微指令,并形成二进制代码表。
3.转换格式
程序:
$P0044$P0146$P0298$P0381
$P04F5$P050C$P0600
微程序:
$M00088105$M0182ED0$M0250C004
$M0304A004$M04A0E004$M0506E004
$M0607A004$M07A0E004$M088AED05
$M098CED05$M0A3BA004$M0B018005
$M0C3C2004$M0D0EA004$M0E0FB605
$M0F25EA95$M1083ED05$M1185ED05
$M128DED05$M13A6ED05$M14011004
$M15010407$M16168005$M17019A3D
$M18019205$M192AA205$M1A2CB205
$M1B32A205$M1C33A205$M1D36A205
$M1E378235$M1F398235$M20019004
$M21018406$M2281DB05$M23E48005
$M24018005$M25A0AA95$M2627A004
$M2728BC05$M2829EA95$M29A0AA95
$M2A2BB405$M2B419B95$M2C2DA405
$M2D6EAB05$M2E2FAA0D$M2F30AA05
$M3071810D$M31419B95$M32019A05
$M3335B405$M3481DB05$M35419BBD
$M36019A0D$M3738882D$M38019805
$M393A881D$M3A019805$M3B080A07
$M3C098A06
4.实验接线
在实验八的基础上将跳线器J13和J14由右边相连改为左边相连,再将IJ1连IJ2。
详细如下:
a、跳线器J1~J12全部拨在右边(自动工作方式);
b、跳线器J16、J18、J23、J24全部拨在左边;
c、跳线器J15、J19、J25全部拨在右边,跳线器J13、J14拨在左边;
d、跳线器J20~J22、J26、J27连上短路片;
e、UJ1连UJ2,JSE1连JSE2,SJ1连SJ2;
f、MBUS连BUS2;
g、REGBUS连BUS5;
h、PCBUS连EXJ2;
i、ALUBUS连EXJ3;
j、ALUO1连BUS1;
k、EXJ1连BUS3;
l、ALUO2连BUS4;
n、IJ1连IJ2。
连接实验线路,仔细查线无误后接通电源。
5.写微程序和程序
①手动方法写微程序参看实验六。
手动方法写代码程序(机器指令)步骤如下:
通过上一步将机器指令对应的微代码正确地写入E2ROM2816芯片后,再进行机器指令程序的装入和检查。
A.将"
编程开关"
置"
运行"
位置,"
运行方式"
开关置"
单步"
位置。
B.拨动总清开关(0→1),微地址寄存器清零,程序计数器清零。
然后使控制开关SWC、SWA开关置为"
01"
,按动一次"
启动运行"
开关,微地址显示灯LUA0~LUA5显示"
001001"
,再按动一次"
001100"
,此时数据开关的内容置为要写入的机器指令,再按动一次"
开关,即完成该条指令的写入。
若仔细阅读微程序流程,就不难发现,机器指令的首地址只要第一次给入即可,PC会自动加1,所以,每次按动"
开关,只有在微地址灯显示"
时,才设置内容,直到所有机器指令写完。
C.写完程序后须进行检验。
拨动总清开关(0→1)后,微地址清零,PC程序计数器清零,然后使控制开关SWC、SWA为"
00"
按动"
开关,微地址灯将显示"
001000"
,再按"
开关,微地址灯显示为"
001010"
,第三次按"
111011"
,此时总线数据显示灯LZD0~LZD7显示为该首地址的内容,再次按动"
,此时,2位数码管显示的内容即为RAM中的数据,不断按动"
开关,可检查后续单元内容。
注意:
每次仅在微地址灯显示为"
时,2位数码管显示的内容才是相应地址中的机器指令内容。
②联机读/写微程序和程序
用联机软件的装载功能将16进制格式文件(文件名为C8JHE3)装入实验机即可(详细操作见联机软件的README)。
6.运行程序
①单步运行程序
A."
状态,"
开关置为"
状态,"
运行控制"
状态。
B.拨动总清开关(0→1),微地址清零,PC计数器清零,程序首地址为OOH。
C.按动"
开关,即单步运行一条微指令。
对照微程序流程图,观察微地址显示灯是否和流程一致。
②连续运行程序
连续"
运行控制开关置为"
B.拨动总清开关,清微地址及PC计数器,按动"
开关,系统连续运行程序。
如果要停止程序的运行,只需将"
停止"
状态,系统就停机。
7.验证
采用单步或连续运行方式执行机器指令,参照机器指令及微程序流程图,将实验现象与理论分析比较,验证系统执行指令的正确性。
四、系统测试及实验截图
图1PC清零,自动+1在RAM中取地址为00H的指令44H
图2从输入设备中读取数据1并送至R0
图3PC自动+1在RAM中取地址为01H的指令46H
图4指令46H送至IR进行译码并发出相应的控制信号
图5从输入设备中读取数据2并送R2
图6PC自动+1取地址为02H的指令98H
图7指令98H送至IR进行译码并发出相应的控制信号
图8寄存器R2中数据送至DR1
图9寄存器R2中数据送至DR1
图10ALU进行加法运算并将结果
图11R0中数据送至R1(转存)
图12PC+1,取地址为(04H)的指令(F5)
图13将指令F5H送至IR并译码发出相应的控制信号
图14将R0中数据(3)送至移位寄存器
图15移位寄存器进行移位操作(数据3变为数据6)
图16将移位寄存器中数据存入R1
图17PC+1,取内存地址为05H的指令0CH
图18将指令0CH送至IR并译码发出相应的控制信号
图19PC+1,取地址为05H的指令00H(JMP指令)
五、总结
这次实验总体来说还是比较容易的,就是在输入微程序和老师的测试程序时比较费力,弄不好又要重新输入(后来听说可以使用软件直接烧制)。
再一个就是找错的时候需要非常的细心,各个方面的问题都要考虑到。
比如说微程序本身有没有错,程序有没有写错,格式是否正确,最后还有考虑到插线或者导线的问题。
经过这次试验,我深深的感到团队合作的重要,以及在困难面前冷静思考的好处。
也进一步的加强我对计算机组成结构特别是控制器的设计的认识与掌握。