计算机组成原理与体系结构.docx
- 文档编号:26964465
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:12
- 大小:737.73KB
计算机组成原理与体系结构.docx
《计算机组成原理与体系结构.docx》由会员分享,可在线阅读,更多相关《计算机组成原理与体系结构.docx(12页珍藏版)》请在冰豆网上搜索。
计算机组成原理与体系结构
计算机组成原理与体系结构课程设计报告
课程题目:
基于TDNCM++的基本模型机构成研究
姓名:
班级:
专业:
计算机科学与技术
学号:
指导教师:
上机地点:
二零一四年一月五日
目录
一、设计目的-1-
二、使用设备-1-
三、设计方案-1-
总体设计-1-
详细设计-2-
四、实现步骤-5-
连接实验线路。
-5-
写入程序-6-
运行程序-7-
五、测试结果-8-
六、课程设计总结-9-
七、参考资料-9-
一、设计目的
1.在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。
2.为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念
二、使用设备
1.TDN-CM+或TDN-CM++教学实验系统一台。
2.PC微机一台。
三、设计方案
总体设计
部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。
这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。
详细设计
本次设计中将采用五条机器指令IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下图(前4位为操作码):
其中IN为单字长(8位),其余为双字长指令,××××××××为addr对应的二进制地址码。
为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。
存储器读操作(KRD):
拨动总清开关CLR后,控制台开关SWB、SWA为“00”时,按START微动开关,可对RAM连续手动读操作。
存储器写操作(KWE):
拨动总清开关CLR后,控制台开关SWB、SWA置为“01”时,按START微动开关可对RAM进行连续手动写入。
启动程序:
拨动总清开关CLR后,控制台开关SWB、SWA置为“11”时,按START微动开关,即可转入到第01号“取址”微指令,启动程序运行。
上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下表:
根据以上要求设计数据通路框图,如下图所示。
微代码定义如下图所示。
系统涉及到的微程序流程见上图,这里“取指”是公用微指令,为了能确定不同机器指令有各自不同的微程序转向,我们在这里以指令寄存器的前4位(IR7—IR4)作为测试条件,引入了P
(1)指令测试字段,如此,对于5条机器指令,就可以有5路P
(1)测试分支,对于每一指令分别予以微程序解释。
控制台操作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。
当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。
注意:
微程序流程图上的单元地址为8进制。
当全部微程序设计完毕后,应将每条微指令代码化,下表即为此图的微程序流程图按微指令格式转化而成的“二进制微代码表”。
下面介绍指令寄存器(IR):
指令寄存器用来保存当前正在执行的一条指令。
当执行一条指令时,先把它从内存取到指令寄存器中,然后再对其进行译码、执行。
指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试[P
(1)],通过节拍脉冲T4的控制以便识别所要求的操作。
“指令译码器”(实验板上标有“INSDECODE”的芯片)根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。
本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUTDEVICE);另一种是数码块,它作为输出设备(OUTPUTDEVICE)。
例如:
输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。
输出时,将输出数据送到数据总线上,当写信号(W/R)有效时,将数据打入输出锁存器,驱动数码块显示。
设计机器指令程序如下:
四、实现步骤
连接实验线路。
按照下图连接试验线路
写入程序
方法一:
手动写入
①先将机器指令对应的微代码正确地写入2816中,由于在实验三微程序控制实验中已将微代码写入E2PROM芯片中,对照表校验正确后就可使用。
②使用控制台KWE和KRD微程序进行机器指令程序的装入和检查。
A.使编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。
B.拨动总清开关CLR(1→0→1),微地址寄存器清零,程序计数器清零。
然后使控制台SWB、SWA开关置为“01”,按动一次启动开关START,微地址显示灯显示“010001”,再按动一次START,微地址灯显示“010100”,此时数据开关的内容置为要写入的机器指令,按动两次START键后,即完成该条指令的写入。
若仔细阅读KWE的流程,就不难发现,机器指令的首地址总清后为零,以后每个循环PC会自动加1,所以,每次按动START,只有在微地址灯显示“010100”时,才设置内容,直到所有机器指令写完。
C.写完程序后须进行校验。
拨动总清开关CLR(1→0→1)后,微地址清零。
PC程序计数器清零,然后使控制台开关SWB、SWA为“00”,按动启动START,微地址灯将显示“010000”,再按START,微地址灯显示为“010010”,第三次按START,微地址灯显示为“010111”,再按START后,此时输出单元的数码管显示为该首地址中的内容。
不断按动START,以后每个循环PC会自动加1,可检查后续单元内容。
每次在微地址灯显示为“010000”时,是将当前地址中的机器指令写入到输出设备中显示。
方法二:
联机读/写程序
按照规定格式,将机器指令及表微指令二进制表编辑成十六进制的如下格式文件。
微指令格式中的微指令代码为将表中的24位微代码按从左到右分成3个8位,将此三个8位二进制代码化为相应的十六进制数即可。
用联机软件的“【转储】—【装载】”功能将该格式文件装载入实验系统即可。
运行程序
方法一:
本机运行
①单步运行程序
A.使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。
B.拨动总清开关CLR(1→0→1),微地址清零,程序计数器清零。
程序首址为00H。
C.单步运行一条微指令,每按动一次START键,即单步运行一条微指令。
对照微程序流程图,观察微地址显示灯是否和流程一致。
D.当运行结束后,可检查存数单元(0BH)中的结果是否和理论值一致。
②连续运行程序
A.“STATEUNIT”中的STEP开关置为“EXEC”状态。
STOP开关置为“RUN”状态。
B.拨动CLR开关,清微地址及程序计数器,然后按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。
C.停机后,可检查存数单元(0BH)结果是否正确。
方法二:
联机运行
联机运行程序时,进入软件界面,装载机器指令及微指令后,选择“【运行】-【通路
图】-【复杂模型机】”功能菜单打开相应动态数据通路图,按相应功能键即可联机运行、
监控、调试程序。
(软件使用说明请看《用户手册》)
总清开关CLR清零(1→0→1)后,将使程序首址及微程序地址为00H,程序可从头开始运行。
五、测试结果
1.输入开关数据02H,与0AH存储的数据01H相加,输出设备LED上显示03H。
该求和结果是保存在0BH单元中
2.输入开关数据11H,在内存08H单元存储该数据,并在输出设备LED上显示11H。
六、课程设计总结
通过这次的计算机组成原理的课程设计,我对计算机内部元件的工作原理有了进一步的了解与认识。
许多在课堂上没有听懂,没有学会的知识在课程设计的过程中暴露无遗,不过积极的方面是通过课程设计,在设计的过程中难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,我把这些知识上的明显漏洞给补上了。
在此次课程设计过程中,我们通过查阅资料,自学和与同学交流经验,并向老师请教等方式,综合运用所学知识,发现、提出、分析和解决实际问题,锻炼了实践能力,对我们的实际工作能力有了具体的训练和考察。
在给同学讲解的过程中,深刻理解了所学知识,相信会对今后的学习工作生活有非常重要的影响。
而且大大提高了动手的能力,使我们充分体会到了创造过程中探索的艰难和成功时的喜悦。
七、参考资料
1、少部分网上XX资料
2、计算机组成原理与体系结构实验指导书
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 体系结构