计算机硬件课程设计报告
- 格式:doc
- 大小:762.50 KB
- 文档页数:7
计算机硬件综合课程设计报告
专业:计算机科学与技术
学号:
姓名:
指导教师:
完成时间:
一、课程设计的目的
通过对一个简单计算机的设计,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。
二、实验原理
按照要求设计指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。
指令系统是设计计算机的依据,拟订指令系统将涉及基本字长、指令格式、指令种类、寻址方式等内容。
基本字长:
程序设计平台中配置的存储器容量为256*8,可知道基本字长定为8位。
指令格式:
指令格式可有单字长和双字长指令两种,在双字长格式中,第二字节一般定义为操作数或操作数地址。
指令格式为:
模型机有单操作数指令、双操作数指令和无操作数指令。
操作码OP共四位,最多可定义16条指令。
数据的传送单位为8位
数据的传送范围R—>R R—>RAM RAM—>R
寻址方式:
由于指令较短,操作数字段仅两位,为了简化硬件设计,将操作数字段和目的操作数字段的寻址定义为不同的含义。
源操作数字段寻址方式目的操作数寻址方式
00 R0 00 R1
01 (R0) 01 (R1)
10 I 10 I
11 D 11 D
三、实验装置
TDN-CM++计算机组成原理教学实验系统一台,个人微机一台,排线若干。
四、实验题目
图1 数据通路结构框图
题目一:
设计一台模型计算机,实现下列指令系统,并通过给定的工作程序验证上述指令系统。
本设计实现的模型机共包含五条机器指令:IN(输入)、ADD(加法)、STA(存数)、OUT(输出
助记符机器指令码(二进制)说明微程序的入口地址
(八进制)
IN 00000000 “INPUT DEVICE”中
的开关状态—>R0
10
(取指令后续微指令默认地址为10)
ADD addr 00010000 XXXXXXXX RO+[addr]——>R0 11 STA addr 00100000 XXXXXXXX RO——>[addr] 12 OUT addr 00110000 XXXXXXXX [addr]——>LED 13 JMP addr 01000000 XXXXXXXX addr——>PC 14
控制台命令的微程序流程如下(01为取指微指令的地址):
图2-3 控制台流程图
3.1连接线路
按照图用排线连接好电路
3.2写程序
方法一:手动写入
先将机器指令对应的微代码正确的写入2816中。
使用控制台KWE和KRD 微程序进行机器指令程序的装入和检查。
A.使编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。
B.拨动总清开关CLR(0→1),微地址寄存器清零,程序计数器清零。
然后使控制台SW B、SWA开关置为“01”,按动一次启动开关START,微地址显示指示灯显示“010001”,再按动一次START,微地址灯显示“010100”,此时数据开关的内容置为要写入的机器指令,按动两次START键后,完成该条指令的写入。
C.写完程序后须进行校验。
拨动总清开关CLR(0→1)后,微地址清零。
PC程序计数器清零,然后使控制台开关SWB、SWA为“00”,按动启动START,微地址灯将显示“010000”,再按START,微地址灯显示为“010010”,第三次按START,微地址灯显示为“010111”,再按START后,此时输出单元的数码管显示为该首地址中的内容。
不断按动START,以后每个循环PC会自动加1,可检查后续单元内容。
每次在微地址灯显示为“010000”时,是将当前地址中的机器指令写入到输出设备中显示。
方法二:联机读/写程序
按照规定格式,将机器指令及微指令二进制表编辑成十六进制的如下格式文件。
微指令中的微代码为24位微代码按从左到右分成3个8位,将此3个8位二进制代码化为相应的十六进制数即可。
并将该格式文件用联机软件的传输文件功能传入实验系统。
机器指令格式说明:$PXX YY XX 十六进制地址YY 机器指令代码
程序:
$P4000
$P4110
$P420A
$P4320
$P440B
$P4530
$P460B
$P4740
$P4800
$P4A01
微指令格式说明:$M XX YYYYYY
XX 十六进制地址YYYYYY 微指令代码微程序:
$M00018110
$M0101ED82
$M0200C048
$M0300E004 $M0400B005 $M0501A206 $M06959A01 $M0700E00D $M08001001 $M0901ED83 $M0A01ED87 $M0B01ED8E $M0C01Ed96 $M0D028201 $M0E00E00F $M0F00A015 $M1001ED92 $M1101Ed94 $M1200A017 $M13018001 $M14002018 $M15070A01 $M1600D181 $M17070A10 $M18068A11
3.3运行程序
单步运行程序:
A.使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”
状态。
B.拨动总清开关CLR(0->1),微地址清零,程序计数器清零。
程序首址为00H。
C.单步运行一条微指令,每按动一次START键,即单步运行一条微指令。
对照微指令流程图,观察微地址显示灯是否和流程一致。
D.单步运行结束后,检查存数单元(0BH)中的结果是否和理论值一致。
连续运行程序:
A.使“STATE UNIT”中的STEP开关置为“ECEX”状态。
STOP开关置为“RUN”状态
B.拨动CLR开关,清微地址及程序计数器,然后拨动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。
C.停机后,检查存数单元(0BH)结果是否正确。
3.4 测试验证
此次测试验证的内容为FEH
验证程序的内存映象(装入起始地址00H)如下:
INPUT DEVICE中输入为00000001时,在地址00001011单元上显示内容00000002,并显示02。
单步运行是满足微程序流程图的运行顺序。
题目二:
设计一台模型计算机,实现下列指令系统,并通过下列工作程序验证上述指令系统。
本模型机共包含五条机器指令:IN(输入)、ADD(加法)、STA(存数)、OUT(输出)、JMP(无
或Imm所对应的二进制数据(补码形式)。
控制台命令的微程序流程同1题。
工作程序如下:
测试数据为:FEH 程序:
$P0000
$P0110
$P0201
$P0320
$P040A
$p0530
$P060A
$p0740
$P0801
$p0A01
微程序:$M00018110 $M0101ED82 $M0200C048 $M0300B005 $M0501A206 $M06919A01 $M0700E00D $M08001001 $M0901ED83 $M0A01ED87 $M0B01ED8E $M0C01ED96 $M0D028201 $M0E00E00F $M0F00A015 $M15070A01 $M1600D181
五、总结体会
本次课程设计我们要设计一台微程序控制的模型机,以对计算机能有一个整机的概念,完成对计算机组成原理这门课程的综合应用,达到学习本书的作用.作为一个计算机系学生这是必需掌握的。
使我们对数据选择器、移位器、加法器、运算器、存储器和微程序控制器,有了非常透彻的认识。
通过紧张有序的课程设计实践,不仅让我对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与模型机的硬件结构和怎么去设计微程序等过程有了进一步的了解, 也让我觉得自己的动手能力有了很大的提高;自信心也增强了,在课程设计中自己动脑子解决遇到的问题,书本上的知识有了用武之地,这巩固和深化了自己的知识结构。
课程设计结束了,从中我们也学到了不少知识.虽然计算机组成原理的课程设计与学习已经结束,可我们学习之路并没有结束,我们会继续努力学习其相关的知识,以适应社会的发展与需要.这样才能真正成为一名合格的大学生。