计算机组成原理课程设计1111.docx
- 文档编号:7971175
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:15
- 大小:187.63KB
计算机组成原理课程设计1111.docx
《计算机组成原理课程设计1111.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计1111.docx(15页珍藏版)》请在冰豆网上搜索。
计算机组成原理课程设计1111
第1章设计分析
1.1设计题目
基本模型机的存储器逻辑框图设计
1.2设计目的
1.巩固和加深所学的硬件系统知识,学习和掌握硬件系统的设计方法。
2.掌握计算机各模块的原理和相互关系,建立计算机整机概念。
3.利用基本模型机的构建与调试,完整地建立计算机硬件的整机模型,掌握CPU的基本结构和控制流程,掌握指令执行的基本过程。
4.掌握计算机功能模块的原理和关系,建立计算机整机概念。
在掌握部件单元电路实验的基础上,进一步将其组成系统,构造一台基本模型计算机。
为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念
1.3设计环境和工具
TDN-CM组成原理实验系统,排线若干和PC微机一台
1.4设计任务
1.掌握CISC微控制器功能与微指令格式
2.设计五条机器指令,并编写对应的微程序
3.在TDN-CM+教学实验系统中调试机器指令程序,确认运行结果
1.5设计要求
1.掌握实验系统的熟练操作
2.完成模型机的实验线路连接
3.调试模型机,并记录下实验结果
第2章概要设计
部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次课程设计将在微程序控制下自动产生各个部件单元控制信号,实现特定指令的功能。
这本次课程设计里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。
而微程序由设计者自己写入微控制存储器中或者联机读入程序。
2.1机器指令定义
本次采用五条机器指令:
IN(输入),ADD(二进制加法),STA(存数),OUT(输出),JMP(无条件转移)。
其指令格式如下(前4位为操作码):
助记符机器指令码说明
IN00000000“INPUTDEVICE”中的开关状态→R0
ADDaddr00010000××××××××R0+[addr]→R0
STAaddr00100000××××××××R0→[addr]
OUTaddr00110000××××××××[addr]→LED
JMPaddr01000000××××××××addr→PC
其中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的状态来设置,其定义如下:
表2.1控制台命令
SWB
SWA
控制台指令
0
0
1
0
1
1
读内存(KRD)
写内存(KWE)
启动程序(RP)
2.2数据通路框图
图2.1数据通路框图
2.3微代码定义
表2.2微代码格式
其中A、B、C字段的代码格式如下:
表2.3A、B、C字段代码格式
2.4微程序流程
系统涉及到的微程序流程如图:
图2.2微程序流程图1
图2.3微程序流程图2
当拟定“取指”微指令时,该微指令的判别测试字段为P
(1)测试。
由于“取指”微指令是所有微程序都使用的公用微指令,因此P
(1)的测试结果出现多路分支。
本机用指令寄存器的前4位(IR7一IR4)作为测试条件,出现5路分支,占用5个固定微地址单元。
对于每一指令分别予以微程序解释。
控制台操作为P(4)测试,它以控制台开关SWB,SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。
当分支微地址单元固定后,剩下的其他地方就可以一条微指令占用控存一个微地址单元随意填写。
注意:
微程序流程图上的单元地址为8进制。
指令寄存器(IR):
指令寄存器用来保存当前正在执行的一条指令。
当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。
指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试[P
(1)],通过节拍脉冲T4的控制以便识别所要求的操作。
“指令译码器”(实验板上标有“INSDECODE”的芯片)根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。
2.5二进制微代码表
表2.4二进制微代码表
八进制
二进制格式
十六进制格式
微地址
S3S2S1S0MCnWEA9A8
A
B
C~
μA5~μA0
微地址
微指令内容
00Q
000000011
000
000
100
010000
00H
018110H
01Q
000000011
110
110
110
000010
01H
01ED82H
02Q
000000001
100
000
001
001000
02H
00C048H
03Q
000000001
110
000
000
000100
03H
00E004H
04Q
000000001
011
000
000
000101
04H
00B005H
05Q
000000011
010
001
000
000110
05H
01A206H
06Q
100101011
001
101
000
000001
06H
959A01H
07Q
000000001
110
000
000
001101
07H
00E00DH
10Q
000000000
001
000
000
000001
08H
001001H
11Q
000000011
110
110
110
000011
09H
01ED83H
12Q
000000011
110
110
110
000111
0AH
01ED87H
13Q
000000011
110
110
110
001110
0BH
01ED8EH
14Q
000000011
110
110
110
010110
0CH
01ED96H
15Q
000000101
000
001
000
000001
0DH
028201H
16Q
000000001
110
000
000
001111
0EH
00E00FH
17Q
000000001
010
000
000
010101
0FH
00A015H
20Q
000000011
110
110
110
010010
10H
01ED92H
21Q
000000011
110
110
110
010100
11H
01ED94H
22Q
000000001
010
000
100
010111
12H
00A117H
23Q
000000011
000
000
000
000001
13H
018001H
24Q
000000000
010
000
000
011000
14H
002018H
25Q
000001110
000
101
000
000001
15H
070A10H
26Q
000000001
101
000
110
000001
16H
00D181H
27Q
000001110
000
101
000
010000
17H
070A10H
30Q
000001101
000
101
000
010001
18H
068B11H
2.6设计说明
本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUTDEVICE):
另一种是数码块,它作为输出设备(OUTPUTDEVICE)。
例如:
输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。
输出时,将输出数据送到数据总线上,当写信号(W/R)有效时,将数据打入输出锁存器,驱动数码块显示。
本实验设计机器指令程序如下:
地址(二进制)机器指令码助记符说明
0000000000000000INR0“INPUTDEVICE(班号)”→R0
0000000100010000ADD[0AH],R0R0+[0AH]→R0
0000001000001010
0000001100100000STAR0,[0BH]R0→[0BH]
0000010000001011
0000010100110000OUT[0BH][0BH]→LED
0000011000001011
0000011101000000JMP00H00H→PC
0000100000000000
00001001
0000101000001001学号(20号同学)
00001011求和结果(班号加学号)
第3章设计步骤
3.1实验线路连接图
试验时按照如下所示电路图连接:
图3.1设计接线图
3.2写程序
3.2.1手动写入
1、先将机器指令对应的微代码正确地写入2816中,由于在微程序控制实验中已将微代码写入E2PROM芯片中,对照表5校验正确后就可使用。
2、使用控制台KWE和KRD微程序进行机器指令程序的装入和检查。
A.使编程开关处于“RUN",STEP为“STEP”状态,STOP为“RUN”状态。
B.拨动总清开关CLR(0→1),微地址寄存器清零,程序计数器清零。
然后使控制台SWB,SWA开关置为“01”,按动一次启动开关START,微地址显示灯显示“010001”,再按动一次START,微地址灯显示“010100"。
此时,数据开关的内容置为要写入的机器指令,按动两次START键后,即完成该条指令的写入。
若仔细阅读KE的流程,就不难发现,机器指令的首地址总清后为零,以后每个循环PC会自动加1,所以,每次按动START,只有在微地址灯显示“010100”时,才设置内容,直到所有机器指令写完。
C.写完程序后须进行校验。
拨动总清开关CLR(0→1)后,微地址清零。
PC程序计数器清零,然后使控制台开关SWB,SWA为“00”,按动启动START,微地址灯将显示“010000”;再按START,微地址灯显示为“010010";第3次按START,微地址灯显示为“010111”,再按START后,此时输出单元的数码管显示为该首地址中的内容。
不断按动START,以后每个循环PC会自动加1,可检查后续单元内容。
每次在微地址灯显示为“010000”时,是将当前地址中的机器指令写入到输出设备中显示。
3.2.2联机读/写程序
按照规定格式,将机器指令及表5微指令二进制表编辑成十六进制的如下格式文件。
微指令格式中的微指令代码为将表5中的24位微代码按从左到右分成3个8位,将此3个8位二进制代码化为相应的十六进制数即可。
程序
$P4000
$P4110
$P420A
机器指令格式说明:
$P××××
机器指令代码
十六进制地址
$P4320
$P440B
$P4530
微指令格式说明:
$M××××××
微指令代码
十六进制地址
$P460B
$P4740
$P4800
$P4A01
微程序
$M00018110$M0901ED83$M1200A017
$M0101ED82$M0A0IED87$M13018001
$M0200C048$M0B01ED8E$M14002018
$M0300E004$M0C01ED96$M15070A01
$M0400B005$N0D028201$M1600D181
$M0501A206$M0E00E00F$M17070A10
$M06959A01$M0F00A015$M18068A11
$M0700E00D$M1001ED92$M18068A11
$M08001001$M1101ED94
用联机软件的传送文件功能(F4)将该格式文件传入实验系统即可。
3.3运行程序
3.3.1单步运行程序
A使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。
B拨动总清开关CLR(0→1),微地址清零,程序计数器清零。
程序首址为00H。
C单步运行一条微指令,每按动一次START键,即单步运行一条微指令。
对照微程序流程图,观察微地址显示灯是否和流程一致。
D当运行结束后,可检查存数单元(0BH)中的结果是否和理论值一致。
3.3.2连续运行程序
A使“STATEUNIT”中的STEP开关置为“EXEC”状态。
STOP开关置为“RUN”状态。
B拨动CLR开关,清微地址及程序计数器,然后按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。
C停机后,可检查存数单元(0BH)结果是否正确。
3.4联机运行
联机运行程序时,进入软件界面,装在机器指令及微指令后,选择【运行】-【通路图】-【复杂模型机】功能菜单打开相应动态数据通路图,按相应功能键即可联机运行,监控,调试程序。
总清开关CLR清零(1->0->1)后,将使程序首址及微程序地址为00H,程序可从头开始运行。
3.4.1启动微机步骤
⑴微控器编程开关拨至RUN,“STEP”→STEP,“STOP”→RUN
⑵实验箱利用COM1口与微机连接,实验箱加电,启动微机:
①进入安装实验系统的目录,例如D:
\CMP;
②对实验箱复位;
③运行CMP.EXE,进入实验运行环境;
④选F4:
加载\CMP\EX1,完成后ESC键退出;
EX1文本文件内容如下:
机器指令程序
$P0000
$P0110
$P020A
$P0320
$P040B
$P0530
$P060B
$P0740
$P0800
$P0A09
机器指令对应的微程序:
$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
⑤选F2:
键入地址0AH,将0AH内容改为学号,并用ESC键退出;
⑥选F6:
进入调试状态,此时开关置入班号,将实验箱启动地址清零(CLR:
1→0→1):
1)选择F2进入单步运行状态;
2)选择F3进入连续运行状态;
⑦若运行不正确,首先检查连线有无错误;
⑧若运行正确,将在数据通路的“OUTPUT”
模块看到十六进制的结果:
“班号+学号”
⑨采用单步或连续运行方式执行机器指令程序,请参照机器指令程序及微程序流程图,将实验结果与程序的理论分析结果进行比较,验证实验系统执行机器指令程序的正确性。
第4章运行结果与分析
4.1运行结果
图4.1运行结果图
键入地址0AH,将0A内容改为学号14H,用开关置入班号,结果OUTPUT为16H。
4.2运行结果分析
4.2.1机器指令ADD的理论计算过程
计算机1082班,第20号同学,班号=02H,学号=14H,F=X加Y(算术加)
X=R0=班号=00000010B=02H
Y=M[0A]=学号=00010100B=14H
ADD[0AH],R0功能:
R0加M[0AH]→R0
00000010B
加00010100B
00010110B=16H
第5章课程设计总结
5.1机器指令的微程序
IN:
01H:
01ED82H
02H:
00C048H
10H:
01ED92H
ADD:
01H→02H→11H→03H→04H→05H→06H
STA:
01H→02H→12H→07H→15H
OUT:
01H→02H→13H→16H→17H→25H
JMP:
01H→02H→14H→26H
5.2课程设计心得体会
通过本次课程设计,我更进一步了解了计算机的组成,线路的连接与模型机的各个硬件的结构,同时初步掌握了微程序微指令的一些编制与设计。
从一种微观的角度更加了解计算机模型机,也逐渐建立起整机概念。
这次课程设计使我从中获益匪浅。
对计算机组成原理的理论知识有了更深刻的理解,对于以前一知半解的东西也有了充分的理解。
因为课程设计是要求将以前在课堂上学的理论知识运用到实际的设计当中去,但是在设计过程中,我们一定会碰到各种各样的问题。
但是为了解决这些问题,我们一定会更加仔细认真的去翻阅自己以前学过但是以为已经了解熟悉的东西。
这在无形中帮助我们加深对所学知识的了解及运用能力,并且让我们明白什么地方是我们真正需要去关注的。
而且这样我们对课本以及以前学过的知识有了一个更好的总结与理解。
而课程设计需要我们不但通过翻阅复习以前学过的知识而且需要查阅更多的相关信息,如去图书馆查阅相关的书籍,去网上搜索相关的材料,最终确立了设计方案。
在模型机设计过程中我碰到了许多问题,而这些问题都是需要我认真仔细才能检查出来,而且,这些设计是要通过系统的设计才能完成的,不能想到哪里就做到哪里,必须在设计之前有个系统的分析,在详细设计时更加要仔细对待,因为对于各个代码都不能出错,一些细微的错误就会导致所有的错误。
通过这次的设计我对于CPU指令系统和模型机的认识很大的提高,而且通过此次课程设计,对我们以后的工作和学习的帮助都很有用处。
这是我们踏入社会前的一次模拟工作。
给了我们很好的一次实践的机会。
通过这次课设让我明白了理论和实际操作之间差距,而且也让我明确得意识到自己在学习上有很多的知识漏洞,应努力弥补,并且给了我努力的明确方向,知识只有会运用了才是真正的了解掌握了这些知识。
而这些不了解的差距在以后的工作中将是致命的。
所有又一次给我的提点。
给我不断完善自己的机会。
给了我实际工作的一点有用的经验,这是所有的理论都比不过实践的地方,而我在今后的学习中,也将向着这些方面去完善。
参考文献:
[1]石磊《计算机组成原理简明教程》北京:
清华大学出版社2009年3月
[2]唐朔飞《计算机组成原理》北京:
高等教育出版社2008年1月
[3]薛胜军《计算机组成原理》武汉:
武汉理工大学出版社2008年5月
设计过程中质疑(或答辩)记载:
1.在微程序运行过程中如何验证微程序流程是否正确?
答:
在运行程序时可使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”,进行单步运行,每次单步运行一条微指令,每按动一次START键,即单步运行一条微指令,可对照微程序流程图,观察微地址显示灯是否和流程一致。
,如果一致则微程序流程正确,反之错误。
2.在完成接线后,如何对RO和[0AH]输入数据并完成运算?
答:
在完成接线后,对开关置入R0的值,然后总清开关CLR清零,然后再联机实验软件中找到0AH地址,然后键入0AH中的值,即完成了R0和[0AH]中数的置入,按F3连续运行程序,运行完成后在OUTPUT中即可看到运算结果。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计 1111