计算机硬件课程设计报告
- 格式: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++计算机组成原理教学实验系统一台,个人微机一台,排线若干。
四、实验题目
操作码OP 源操作数 目的操作数
图1 数据通路结构框图
题目一:
设计一台模型计算机,实现下列指令系统,并通过给定的工作程序验证上述指令系统。
本设计实现的模型机共包含五条机器指令:IN(输入)、ADD(加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码):
助记符 机器指令码(二进制) 说明 微程序的入口地址
(八进制)
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
其中IN为单字长(8位),其余为双字长指令,XXXXXXXX为addr对应的二进制地址码。
控制台命令的微程序流程如下(01为取指微指令的地址):
图2-3 控制台流程图
3.1连接线路
按照图用排线连接好电路
3.2写程序
方法一:手动写入
先将机器指令对应的微代码正确的写入2816中。使用控制台KWE和KRD微程序进行机器指令程序的装入和检查。
A.使编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。
B.拨动总清开关CLR(0→1),微地址寄存器清零,程序计数器清零。然后使控制台SWB、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)如下:
地址(二进制) 内容(二进制) 助记符 说 明
0000 0000 0000 0000 IN 将输入数据送R0寄存器
0000 0001 0001 0000 ADD [OAH]
0000 0010 0000 1010 RO+[0AH]—>R0
0000 0011 0010 0000 STA [0BH]
0000 0100 0000 1011 R0—>[0BH]
0000 0101 0011 0000 OUT [0BH]
0000 0110 0000 1011 [0BH]—>LED
0000 0111 0100 0000 JMP 01
0000 1000 0000 0001 01H—>PC
0000 1001
0000 1010 0000 0001 输入自定的数据
0000 1011 求和结果的存储单元
表3-1 验证程序内存映象
INPUT DEVICE中输入为00000001时,在地址00001011单元上显示内容00000002,并显示02。单步运行是满足微程序流程图的运行顺序。
题目二:
设计一台模型计算机,实现下列指令系统,并通过下列工作程序验证上述指令系统。
本模型机共包含五条机器指令:IN(输入)、ADD(加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码):
助记符 机器指令码 说明 微程序的入口地址(八进制)
IN 00000000 “INPUT DEVICE”中的开关状态—>R0 10
(取指令后续微指令默认地址为10)
ADC Imm 00010000 XXXXXXXX RO+ Imm+cy——>R0 11
STA addr 00100000 XXXXXXXX RO——>[addr] 12
OUT addr 00110000 XXXXXXXX [addr]——>LED 13
JMP addr 01000000 XXXXXXXX addr——>PC 14
其中IN为单字长(8位),其余为双字长指令,XXXXXXXX为addr对应的二进制地址码或Imm所对应的二进制数据(补码形式)。
控制台命令的微程序流程同1题。
工作程序如下:
地址 指令
00 IN