基本模型机设计及实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计任务书
课程名称:计算机组成原理
设计题目:(共3个课题,最多3人一组,每组任选一题)
1.基本模型机设计与实现;
2.带移位运算的模型机的设计与实现;
3.复杂模型机的设计与实现。

已知技术参数和设计要求:
内容和技术参数:
利用所学过的理论知识,特别是微程序设计的思想,写出要设计的指令系统的微程序。

设计环境为TDN-CM +计算机组成原理教学实验系统,微机,虚拟软件。

将所设计的微程序在此环境中进行调试,并给出测试思路和具体程序段。

最后撰写出符合要求的课程设计说明书、完成答辩。

1.基本模型机设计与实现
指令系统至少要包括六条不同类型指令:如一条输入指令,一条减法指令,一条加法指令, 一条存数指令,一条输出指令和一条无条件转移指令。

2.带移位运算的模型机的设计与实现
在基本模型机的基础上增加左、右循环和左、右带进位循环四条指令
3.设计不少于10条指令的指令系统。

其中,包含算术逻辑指令,访问内存指令,程序控制指令,输入输出指令,停机指令。

重点是要包括直接、间接、变址和相对寻址等多种寻址方式。

以上数据字长为8位,采用定点补码表示。

指令字长为8的整数倍。

微指令字长为24位具体要求:
1、确定设计目标
确定所设计计算机的功能和用途。

2、确定指令系统
确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。

确定相对应指令所包含的微操作。

3、总体结构与数据通路
总体结构设计包括确定各部件设置以及它们之间的数据通路结构。

在此基础上,就可以拟出各种信
息传输路径,以及实现这些传输所需要的微命令。

综合考虑计算机的速率、性能价格比、可靠性等要求,设计合理的数据通路结构,确定采用何种方案的内总线及外总线。

数据通路不同,执行指令所需要的操作就不同,计算机的结构也就不一样。

4、设计指令执行流程
数据通路确定后,就可以设计指令系统中每条指令所需要的机器周期数。

对于微程序控制的计算机,根据总线结构,需考虑哪些微操作可以安排在同一条微指令中,哪些微操作不能安排在同一条
微指令中
5、确定微程序地址根据后续微地址的形成方法,确定每个微程序地址及分支转移地址。

6微指令代码化
根据微指令格式,将微程序流程中的所有微指令代码化,转化成相应的二进制代码写入到
控制存储器中的相应单兀中。

7、组装、调试
在总调试前,先按功能模块进行组装和分调,因为只有各功能模块工作正常后,才能保证整机的正常运行。

当所有功能模块都调试正常后,进入总调试。

连接所有模块,用单步微指令方式执行机器指令的微程序流程图,当全部微程序流程图检查完后,若运行结果正确,则在内存中装入一段机器指令,进行其他的运行方式等功能调试及执行指令的正确性验证。

课程设计说明书要求:
课程设计说明书按学校统一格式撰写和装订。

课程设计报告要求打印,其中的数据通路框图、微程序流程图、实验接线图用VISIO等工具软件绘制或用铅笔工工整整绘制。

(1)封面(包括:题目、所在系、班级、学号、指导教师及时间等项,可到教务处网页
上下载)
(2)任务书
(3)目录
目录要层次清晰,要给出标题及页次,目录的最后一项是无序号的“参考文献”。

(4)正文正文应按目录中编排的章节依次撰写,要求计算正确,论述清楚,文字简练通顺,插图清晰,书写整洁。

文中图、表及公式应规范地绘制和书写正文是实践设计报告的主体,具体由以下几部分组成:
1)课程设计题目;
2)课程设计使用的实验设备;
3)课程设计步骤(包括确定所设计计算机的功能和用途、指令系统、总体结构与数
据通路、设计指令执行流程、确定微程序地址、微指令代码化、组装、调试。

)4)课程设计总结(包括自己的收获与体会;遇到的问题和解决的方法等);
(5)附录
附录1:数据通路图
附录2:微程序流程图
附录3:实验接线图
附录4 :实验程序及微程序
附录5:参考文献(资料)(格式规范参照长沙学院毕业设计(论文)撰写规范)
设计工作量:
(1)作品:设计的最终作品包括硬件和软件两个部分,要求能够演示并达到设计指标的要求每个学生(或小组)在作品完成后,要经指导教师检查,同意拆除后方可拆卸。

(2)论文:严格按上述课程设计说明书的要求撰写和装订。

每个学生一份。

成绩评定标准:
课程设计的成绩分为:优秀:、良好、中等、及格、不及格五个等级。

优秀:完成复杂模型机的设计与实现,指令系统完备有更新扩充。

调试成功。

文档规范齐
良好:完成模型机的设计与实现,指令系统指令种类丰富有一定的更新。

调试成功。

文档规范齐全。

中等:完成基本模型机的设计与实现,在老师指导下对指令系统有更新。

调试成功。

文档规范齐全。

及格:完成基本模型机的设计与实现。

调试成功。

文档规范齐全。

不及格:没有课程设计报告,无故缺勤,不能完成调试者不及格。

工作计划:
时间:15、16周
讲授:2课时
答疑及设计:22课时
上机调试:12课时
答辩:4课时
教研室主任签名:________________ 日期: __________________
系主任签名:_____________________ 日期: ___________________
设计背景
通过计算机组成原理理论课和几次实验的学习,尝试设计六条机器指令,并编写相应的微程序,完成由基本单元电路构成一台基本模型机,再经过调试指令和模型机使其在微程序的控制下自动产生各部件单元的正常工作控制信号。

在设计基本模型机4的实验过程中,个别部件单元的控制信号是人为模拟产生的,而本课程设计将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。

这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到
指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序。

本课程设计要求实现六条机器指令:IN (输入),与AND (逻辑乘),STA(存数),OUT (输出),或OR (逻辑加),异或XOR(逻辑异)的输入,输出。

重点主要在逻辑运算的设计中
设计目标
在“微程序控制器的组成与微程序设计实验”的基础上,将第一部分中的各单元组成系统,构造一台基本模型计算机。

本次课程设计主要是为其定义六条机器指令,编写相应的微程序,并上机调试运行,
形成整机概念。

用微程序控制器实现以下指令功能,设计各指令格式以及编码,并实现各机器指令微
代码,根据定义的机器指令,自拟编写加ADD,减SUB循环左移RLC的应用程序。

全部微指令设计完毕后,编写二进制代码,即使每条指令代码化。

连接线路在ZY15CompSys12BB
计算机组成原理教学实验箱上运行,并显示输出实验结果。

概要设计
1.在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台稍微复杂的模型计算机;
2.为其定义六条机器指令,并编写相应的微程序,具体上机调试掌握整机概念
设计仪器
TDX—CM+计算机组成原理教学实验系统一台,排线若干;
PC机一台。

设计内容
部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能,这里,计算机数据通路的
控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。

本实验采用六条机器指令:IN,OUT,STA加ADD,减SUB循环左移RLC其指格式如下:
地址内容助记符说明
0000IN
;输入开关数据—R0,采集数据
0110ADD[0AH]
;RO+[OAH] —RO
020A
;地址
0320STA[0BH]
R0—[0BH]
040B
;地址
0530OUT[0BH]
[0BH] —BUS输出显示
060B
;地址
0740SUB[0AH]7
R0-[0AH] —R0
080A
0A OB
为了向RAM 中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个 控制台操作微程序•
存储器读操作:拨动总清开关CLR 后,控制台开关SWB,SWA 为” 0 0”时,按START 微动 开关,可对RAM 连续手动读操作.
存储器写操作:拨动总清开关CLR 后,控制台开关SWB SWA 置为” 0 1”时按START 微 动开关可对RAM 进行连续手动写入.
启动程序:拨动总清开关CLR 后,控制台开关SWB SWA 置为1 1 ”时,按START 微动
开关,既可转入到第01号“取址 微指令,启动程序运行.
上述三条控制台指令用两个开关 SWB SWA 的状态来设置,其定义如下
表3-1
表3-3 A ,B ,P 字段内容
09
;地址
50 RLC
01
当拟定“取指令”微指令时,该微指令的判别测试字段为P1测试。

由于“取指”微指令是所有微程序都使用的公用微指令,因此P1测试结果出现多路分支。

本次课程设计用指令寄存器的前4位(17-14 )作为测试条件,出现6路分支,占用6个固定微地址单元。

控制台操作为P4测试,它以控制台开关SWB, SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。

当分支微地址单元固定后,剩下的其他地方就可以一条微指令占用控存一个微地址单元随意填写。

当全部微程序设计完毕之后,应将每条微指令代码化:
运行:
01
PC->AR
PC+1
02
RAM->BUS
IN
T 10 SW->RO ADD STA
BUS->IR
10
P
1
OUT JMP SUB
PC->AR
PC+1
01
12 13 14 15
PC->AR
PC+1
PC->AR
PC+1
PC->AR
PC+1
——一07
RAM->BUS
T 16
RAM->BUS
T 26
RAM->BUS
T 30
RAM->BUS
BUS->AR BUS->AR BUS->AR BUS->AR
R0->BUS
26 17 31
BUS->RAM
01
RAM->BUS
X~0T
R0->BUS
BUS->DR1
/BUS->DR0
1r
32
DR1->LED R0->DR1
33
01
DR1+DR2->
R0
01
控制台
+ 00
图3-1微程序流程图
下面介绍指令寄存器(IR):指令寄存器用来保存当前正在执行的一条指令。

当执行一条指令时,先把他从内存取到缓冲寄存器中,然后再传送至指令寄存器。

指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试[P ⑴],通过节拍脉冲T4的控制以便识别所要求的操作。

“指令译码器:”(实验板上标有“INS DECODE'的芯片)根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。

本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUT DEVICE ;另一种是数码块,它作为输出设备(OUT DEVICE o例如:输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。

输出时,将输出数据送到数据总线上,当写信号(W/E)有效时,将数据打入输出锁存器,驱动数码块显示。

详细设计
4.1系统需求分析
一台计算机所能执行的各种指令集合称为指令系统或指令集。

一台特定的计算机只能
执行自己指令系统中的指令。

因此,指令系统就是计算机的机器语言。

指令系统表征着计算机的基本功能和使用属性,它是计算机系统设计中的核心问题。

指令系统的设计主要括指令功能、操作类型的设计,寻址方式和指令格式的设计。

计算机的性能与它所设置的指令系统有很大的关系,指令系统反映了计算机的主要属
性,而指令系统的设置又与机器的硬件结构密切相关。

指令是计算机执行某种操作的命令,
而指令系统是一台计算机中所有机器指令的集合。

通常性能较好的计算机都设置有功能齐全、通用性强、指令丰富的指令系统,而指令功能的实现需要复杂的硬件结构来支持。

4. 2系统目标
在基本模型机的基础上改进并实现IN,OUT,STA加ADD,减SUB循环左移RLC六条指令。

4. 3功能分析
该系统实现的功能是对输入的数据可以和内存中的数据进行连续的加、减及循环左移
运算,并对其结果进行存储,显示等功能,从而得到一个简易的复杂模型机所实现的功能。

4. 4详细步骤
(1)按图4-1连接实验线路。

B7BUS UNIT B0W/R UNIT T4
T3
T2
T1
WE r-
d
i
§
§
§
§
H-H-H-
H-
STATE UNIT
一H24
SIGNAL UNIT
B7S3
I IAUJ3
I I
I BO
I
CN
M24
| M18 '
| SE6 r
M19
SE1
SE6
SE1I7
SWI CH UNII
SWB
SWA
SWB
LDDR1
LDDR2 '
ALU-B I
ALU UNIT LDDR1
LDDR2
ALU-B
P(1)''
P(4)[
|
____ P(1) |
—□ P(4) |
LOG UNIT I2
LDIP . 一
I7
B7 LDR0 [
I _ I RO-B [
I
B0 REG UNIT LDR1
RS-B
D7
INPUT DEVICE
_ B7 LDAR
n I LOAD
I
I PC-B I—J BO
LDPC 口ADDRESS UNIT
LDPC M17
LDAR
LOAD
PC-B
M16
MICRO-CONTROLLER
|
|
|
D0 SW-B
I
I
I W/R AD7 D7
| |
| |
| | AD0 D0 W/R EXT BUS
D7 ■
I
I
I
D0 1—
MAIN MEM
CE
4-1实验线路图(2)写程序
联机读/写程序
按照规定格式, —A8
Y0 I _ EX UNIT
Yll I
D7
I I—T
I YS LJ
I
D0
D7 LED-B | I
I
| W/R _I D0 OUTPUT DEVICE
将机器指令及表5-2微指令二进制表成十六进制的如下格式文件。

微指令格式中的微指令代码微将表5-2中的24位微代码按从左到右分成3个8位,将此
三个8位二进制代码化为相应的十六进制数即可程序
$P0000
$P0110
$P0350
$P04FE
$P0520
$P06FD
$P0740
$P08A0
$PA030
$PA1FD
$PFD2C
$PFE2A
$PFF2B
$M00018001
$M0165ED82
$M0200C048
$M0300E004
$M0400A005
$M0501B206
$M06959A01
$M0700E017
$M08001001
$M0901ED83
$M0A01ED87
$M0B01ED8E
$M0C01ED96
$M0D01ED98
$MOEOOEOO
F
$M0F009015
$M15030201
$M1600D001
$M17028201
$M1800E019
$M1900B01A
$M1A01A21B
$M1B659A01
(3)运行程序
1)单步运行程序
A、将STEP置为STEP, STOP置为RUN。

B、拨动总清开关CLR (O f 1 ),微地址清零,微程序计数器清零。

程序首地址00H。

C、在实验程序软件载入数据后,选择DEBUG,进入界面后按照提示按F2键,即单步运行一条微指令。

可以观察机器的运行过程,以加深对计算机执行指令过程的了解。

D、运行结束后,可检查存数单元中的结果是否和理论值一致。

2)按指令运行
A、将STEP置为STEP, STOP置为RUN。

B、拨动总清开关CLR (0 f 1),微地址清零,微程序计数器清零。

程序首地址00H。

C、在实验系统载入数据后,选择DEBUG。

D、在运行界面下按动F1,即系统自动按照指令阶段运行,对照微程序流程图,观察微地址显示灯是否和流程一致,观察屏幕上显示的每一步的运行结果是否与计算的出的理论值相符。

3 )连续运行
A、将STEP置为STEP, STOP置为RUN。

B、拨动CLR开关,清微地址及程序记数器
C、然后在实验系统载入数据后•按下F3键,即可停机后,可检查存数单元(OAH )结果是否正确。

1总结
经过这次课程设计,我体会到自己所学的东西太少了,很多都不知道。

虽然这次设计的只是一个小程序,但是这其间我还是学到了不少东西。

在这次课程设计的过程,有些很基本的知识出现记混淆的现象,通过查书及询问同学,最终明白了。

本次课程设计我们要设计一台微程序控制的模型机,以对计算机能有一个整机的概念完成对计算机组成原理这门课程的综合应用,达到学习本书的作用。

作为一个计算机系学生这是必需掌握的,使我们对数据选择器,移位器,加法器,运算器,存储器和微程序控制器,有了比较透彻的认识。

由于计算机设计的部件较多,结构原理较复杂,对于我们这样的初设计者来说感到无从下手,所以我们在整个过程中采取由浅入深,由简单到复杂的放法,通过这次设计,使我们能清楚的了解计算机的基本组成,基本原理和设计步骤,设计思路和调试步骤,最终能清晰的建立起整机概念,为独立完成计算机设计奠定了基础。

课程设计结束了,从中我们也学到了不少知识。

虽然计算机组成原理的课程设计与学习已经结束,可我们学习之路并没有结束,我们会继续努力学习其相关的知识,以适应社会的发展与需要,这样才能真正成为一名合格的大学生。

在此次的设计中,感谢老师对我们的帮助和指导。

过程还不够完善,希望老师继续指导。

参考文献(资料)
[1] 《计算机组成原理》学习指导与训练•旷海兰等编著•中国水利水电出版社,2004.
[2] 计算机原理与设计.宋焕章张春元王保恒.长沙:国防科技大学出版社,2000.
[3] 白中英.计算机组成原理(第二版).北京:科学出版社,1998。

相关文档
最新文档