logo资料库

计算机组成原理:基本模型机课程设计报告.doc

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
《计算机组成原理》 课程设计报告 ------基本模型机实验 专 业 计算机科学与技术 班 级 04 姓 名 学 号 8
实验报告 专业:计算机科学与技术 班别:04 学号:08 姓名: 学年 2005-2006 课程名称:计算机组成原理 课程类别 专业必修■限选□任选□实践□ 实验时间 20006 年 06 月 18 日 学期 1□/2■ 实验名称 基本模型机实验(课程设计) 实验目的和要求 (1) 在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基 本模型计算机。 (2) 为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概 念。 实验软硬件要求 唐都仪器(TDN-CM++教学实验系统)一套, 导线数根 PC 机一台 实验内容、方法和步骤(可附页) 附页 实验结果(可附页) 附页 小结 附页
评定成绩: 批阅教师: 年 月 日
一. 实验原理 在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将在微 程序控制下自动产生各部件单元控制信号,实现特定指令的功能,这里,计算机数据通 路的控制将由微程序控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束 的一个指令周期全部由微程序。 本实验采用五条机器指令:IN(输入),ADD(二进制加法),STA(存数),OUT(输出),JMP(无 机器指令码 0000 0000 “INPUT DEVICE ”中的开关状态-RO 说明 条件转移),其指令格式如下(前四位为操作码): 助记符 IN ADD addr STA addr OUT addr JMP addr 0001 0000 X X X X X X X X R0+[addr]-RO 0010 0000 X X X X X X X X RO-[addr] 0011 0000 X X X X X X X X [addr]-LED 0100 0000 X X X X X X X X addr-PC 其中,IN 为单字长(8 位),其余为双字长指令,X X X X X X X X 为 addr 对应的二进制 的地址码。 为了向 RAM 中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三 个控制台操作微程序。 存储器读操作(KRD):拨动总清开关 CLR 后,当控制台开关 SWB,SWA 置为“00” 时,按 START 微动开关,可对 RAM 进行连续手动读出。 存储器写操作(KWE):拨动总清开关 CLR 后,当控制台开关 SWB,SWA 置为“01” 时,按 START 微动开关,可对 RAM 进行连续手动写入。 启动程序:拨动总清开关 CLR 后,当控制台开关 SWB,SWA 置为“11”时,按 START 微动开关,即可转入到第 01 号“取指”微指令,启动程序运行。 上述三条控制台指令两个开关 SWB,SWA 的状态来设置,其定义如下: SWB SWA 控制台指令 0 0 1 0 1 1 读内存(KRD) 写内存(KWD) 启动程序(RP) 根据以上要求设计数据通路框图,如图 6.5-1 所示。微代码定义如表 6.5-1 所示。 系统涉及到的微程序流程图见图 6.5-2,这里“取指”是公用微指令,为了能确定不 同机器指令有各自不同的微程序转向,我们在这里以指令寄存器的前四位(IR7~IR4)作为 测试条件,引入了 P(1)指令测试字段,如此,对于五条机器指令,就可以有五路 P(1)测 试分支,对于每一指令分别给予以微程序解释。 控制台操作为 P(4)测试,它以控制台开关 SWB,SWA 作为测试条件,出现了三路 分支,占用了三个固定微地址单元。当分支微地址单元固定后,剩下的其他单元就可以一条 微指令占用控制存储器一个微地址单元,其单元地址随意填写。注意:微程序流程图上的单 元地址为八进制。 当全部微程序设计完毕后,应将每条微指令代码化,表 6.2-2 即为将图 6.5-2 的微程序 流程图按微指令格式转化而成的二进制微代码表。
指令寄存器(IR)用来保存当前正在执行的一条指令。当执行一条指令时,先把它从 内存取到指令寄存器中,然后再对其进行译码、执行。指令划分为操作码喝地址码字段,由 二进制数构成,为了执行任何给定的指令,必须对操作码进行测试[P(1)],通过节拍脉冲 T4 的控制以便识别所要求的操作。“指令译码器”(实验板上标有“INS DECODE”的芯 片)根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序 首地址。 上诉系统有两种外部 I/O 设备,一种是二进制代码开关,它作为输入设备(INPUT DEVICE);另一种是数码块,它作为输出设备(OUTPUT DEVICE)。例如:输入时,二 进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息就不变。输出时, 将输出数据送到数据总线上,当写信息(W/R)有效时,将数据打入输出锁存器,驱动数码 块显示。 本实验设计机器指令程序如下: 说明 “INPUT DEVICE” R0 IN R0 ADD[0AH],R0 R0+[0AH] R0 地址(二进制) 内容(二进制) 助记符 0000 0000 0000 0001 0000 0010 0000 0011 0000 0100 0000 0101 0000 0110 0000 0111 0000 1000 0000 1001 0000 0000 0001 0000 0000 1010 0010 0000 0000 1011 0011 0000 0000 1011 0100 0000 0000 0000 OUT [OBH] JMP 00H STA R0,[OBH] R0 [OBH] [OBH] LED 00H PC 二.实验步骤 1.按下图连接 (2)写程序 方法一:手动写入。 ① 将机器指令对应的微代码写入 2816 中,在微程序控制实验中已将微代码写入 E2PROM 芯片中,对照表 6.5-2 校验正确后就可使用。 ② 使用控制台 KWE 和 KRD 微程序进行机器指令程序的装入和检查。 使编程开关处于“RUN”,STEP 为“STEP”状态,STOP 为“RUN”状态。 拨动清零开关 CLR(1 0 1),微地址寄存器清零,程序计 数器清零。然后 使控制台 SWB、SWA 开关置为“01”,按动一次启动 START,微地址显示灯显示“010001”, 再按动一次 START,微地址灯显示“010100”,此时数据形状的内容置为要写入的机器 指令,按动两个 START 后,即完成该条指令的写入。若仔细 KWE 的流程,就不难发现,
机器指令的首地址总清后为零,以后每个循环 PC 会自动加 1,所以,每次按动 START, 只有在微地址灯显示“010100”时,才设置内容,直到所有机器指令写完。 写完程序后须进行校验。拨动总清开关 CLR(1 0 1 )后,微 地址清零。PC 程序计数器清零,然后使控制台开关 SWB、SWA 为“0”,按动启动开关 START, 微地址灯将显示“010000”,再按动启动开关 START,微地址灯显示为 START 后,此时 输出单元的数码管显示为该首地址中的内容。不断按动开关 START,以后每个人循环 PC 会自动加 1,这样可检查后续单元。每次微地址灯显示为“010000”是将当前地址中的 机器指令写入到输出设备中的显示。 方法一:联机读/写程序。 按照规定格式:将机器指令及表 6.5-2 微指令二进制编辑成十六进制的如下格式文 件:(微指令格式中的微指令代码为将表 6.5-2 中的 24 位微代码按从左到右分成三个 8 位,将些三个 8 位二进制代码化为相应的十六进制即可。) 机器指令格式说明 $P×××× 微指令格式说明 $M×××××××× 程序 $P0000 $P0110 $P020A $P0320 机器指令代码 $P040B $P0530 $P060B $P0740 $P0800 $P0A01 微程 十六进制地址 微指令代码 序 十六进制地址 $PM00018110 $PM0101ED82 $PM0200C048 $M0300E004 $M0400B005 $M0501A206 $M06959A01 $M0700E00D $M08001001 $M0901ED83 $M0A01ED87 $M0B01ED8E $M0B01ED96
$M0D028201 $M0E00E00F $M0F00A015 $M1001ED92 $M1101ED94 $M1200A017 $M13018001 $M14002018 $M15070A01 $M1600D181 $M17070A10 $M18068A11 选择联机软件的【转储】—>【装载】功能菜单将该格式文件装载到实验系统即可。 (3)运行程序 方法一:本机运行。 ① 单步运行程序。 ·使变成开关处于“RUN”状态,STEP 为“STEP”状态, STOP 为“RUN”状态。 ·拨动总清开关 CLR(1—>0—>1),微地址清零,程序计数器清零。程序首地址为 00H。 ·单步运行一条微指令,每按动一次启动开关 START,即可单步运行一条微指令。对照微 程序流程图,观察存数单元(0BH)中的结果是否和理论值一致。 ·当运行结束后,可检查存数单元(0BH)结果是否正确。 ② 连续运行程序。 ·“STATE UNIT”中的 STEP 开关置于“EXEX”状态,STOP 开关置于“RUN”状态。 ·拨动总清开关 CLR,微地址及程序计数器清零,然后按动启动开关 START,系统连续运 行程序,稍后将 STOP 拨至“STOP”时,系统停机。 ·停机后,可检查存数单元(0BH)结果是否正确。 三.实验结果 我们单步运行一条微指令,通过对照微程序流程图和观察存数单元(0BH)中的结果, 可知实验结果与理论值一致。 四.设计总结 由于这个实验连接的导线比较多,接线的的良好直接影响系统测试的成功性。我们可 以采取联机测试系统,出现错误时 PC 机会提示你哪个单元出现错误,哪里的接线出现错误。 然后对实验接线图检查接线是否接反或者接触不良。然后接好线后再次进行测试,直到测试 全部单元成功通过。 其实接线时也要讲究技巧,我们是一个单元接一个单元接线的。这样确保接线不会漏 接。还有插线要插到位,保证接线与接口接触良好。 通过这次实验我们了解了基本模型机的工作原理,成功组装了一台基本模型机。
分享到:
收藏