计算机组成原理课程设计:基本模型机设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
一、课程设计题目 (2)
二、课程设计任务和要求 (2)
1、设计任务 (2)
2、功能指标和设计要求 (2)
2.1、基本模型机设计与实现 (2)
2.2、字长要求 (2)
三、实验设备 (3)
四、设计步骤 (3)
1、确定设计目标 (3)
2、总体结构与数据通路与硬件实现 (3)
3、确定指令系统 (3)
3.1、数据的表示格式 (3)
3.2、指令的编码 (3)
3.3、周期设计 (4)
3.4、微指令设计 (5)
3.5、微程序流程图 (5)
3.6、测试 (6)
五、课程设计总结 (6)
1、遇到的问题及解决方法 (6)
2、体会 (6)
六、附录 (6)
附录1:数据通路图 (7)
附录2:微程序流程图 (8)
附录3:二进制微代码表 (9)
附录4:实验程序及微程序 (11)
附录5:实验接线图 (12)
附录6:参考文献(资料) (12)
一、课程设计题目
模型机设计与实现
二、课程设计任务和要求
1、设计任务
基本模型机设计与实现。
2、功能指标和设计要求
利用所学过的理论知识,特别是微程序设计的思想,写出要设计的指令系统的微程序。设计环境为TDN-CM+计算机组成原理教学实验箱、微机,联机软件等。将所设计的微程序在此环境中进行调试,并给出测试思路和具体程序段。最后撰写出符合要求的课程设计说明书、完成答辩。
2.1、基本模型机设计与实现
设计一台基本模型机,要求模型机指令系统至少要包括五条不同类型指令:如一条输入指令(假设助记符为IN),一条加法指令(假设助记符为ADD),一条存数指令(假设助记符为STA),一条输出指令(假设助记符为OUT)和一条无条件转移指令(假设助记符为JMP);利用设计的模型机,通过设计一个进行两个数求和运算的测试验证程序,验证模型机的功能。
2.2、字长要求
基本模型机的CPU数据字长为8位,采用定点补码表示。指令字长为8的整数倍。微指令字长为24位。
三、实验设备
TDN-CM++计算机组成原理实验系统一台,微机,虚拟软件,排线若干。
四、设计步骤
1、确定设计目标
根据本小组成员讨论,认为要让一台模型机完成基本功能,最起码应该要具有输入指令、加法指令、存数指令、输出指令和转移指令,故我们从这五条指令出发,设计我们的模型机。
2、总体结构与数据通路与硬件实现
总体结构设计包括确定各部件设置以及它们之间的数据通路结构。在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微命令。
本小组综合考虑计算机的速率、性能价格比、可靠性等要求,设计了合理的数据通路结构,确定了内总线及外总线方案。
硬件实现基于现有的基本实验箱平台,根据所设计模型机选择必要的元器件,并通过接插件(各种连线等)进行器件连接,组成所设计的模型机硬件系统(物理机)。实验接线图见附录5。
3、确定指令系统
3.1、数据的表示格式
模型机采用定点补码表示法表示数据,且字长为8位,其格式如下:
7 6 5 4 3 2 1
符号尾数
3.2、指令的编码
根据实验箱的内部硬件结构,本小组相应设计出了5 条机器指令(IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移)),其指令格式如表1所示(前4 位是操作码,后4 为用于寄存器编码):
表 1:指令格式表
指令助记符操作码地址码功能说明 IN 0000 0000 数据开关的状态→R0 ADD A 0001 0000 xxxxxxxx R0+[A] →R0
STA A 0010 0000 xxxxxxxx R0→[A]
OUT A 0011 0000 xxxxxxxx [A] →LED
JMP A 0100 0000 xxxxxxxx A→PC
通过内部译码电路即可得到微程序相应入口地址(译码电路如图1):
图 1 指令译码电路
3.3、周期设计
根据本小组讨论,认为取指令周期可能会造成RAM及总线冲突,故取指令周期有两个CPU周期组成。其他指令周期根据其各自的运算特点设计(IN指令为1个CPU周期,ADD指令为5个CPU周期,STA指令为4个CPU周期,OUT指令为3个CPU周期,JMP指令为2个CPU周期)。入口地址由图1所示的译码电路译码得到(IN指令为10,ADD指令为11,STA指令为12,OUT指令为13,JMP指令为14)。
3.4、微指令设计
根据本设计的数据通路图(见附录1),设计微指令的格式(表2所示)。
表 2 微指令格式
3.5、微程序流程图
根据数据通路图及本小组的周期设计,可以设计出机器指令的微程序流程图(见附录2)。当执行“取指”微指令时,该微指令的判别测试字段为P(1)测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P(1)测试结果出现多路分支。笨设计用指令寄存器的高4位(IR7-IR4)作为测试条件,出现5
路分支,占用5个固定的微地址单元。
指令划分为操作码和地址码字段,当执行一条指令时,先把它从内存取到指令寄存器中,必须对操作码进行P1测试,通过节拍脉冲T4的控制以便识别所要求的操作。“指令译码器”根据指令中的操作码译码结果强置微控制器单元的微地址,使下一条微指令指向相应的微程序首地址。
附录3为将附录2中的微程序流程图按照微指令格式转化二得到的“二进制微代码表”。