计算机组成原理课程设计汇本基本模型机设计分析实现.docx

上传人:b****5 文档编号:7892239 上传时间:2023-01-27 格式:DOCX 页数:15 大小:3.55MB
下载 相关 举报
计算机组成原理课程设计汇本基本模型机设计分析实现.docx_第1页
第1页 / 共15页
计算机组成原理课程设计汇本基本模型机设计分析实现.docx_第2页
第2页 / 共15页
计算机组成原理课程设计汇本基本模型机设计分析实现.docx_第3页
第3页 / 共15页
计算机组成原理课程设计汇本基本模型机设计分析实现.docx_第4页
第4页 / 共15页
计算机组成原理课程设计汇本基本模型机设计分析实现.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

计算机组成原理课程设计汇本基本模型机设计分析实现.docx

《计算机组成原理课程设计汇本基本模型机设计分析实现.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计汇本基本模型机设计分析实现.docx(15页珍藏版)》请在冰豆网上搜索。

计算机组成原理课程设计汇本基本模型机设计分析实现.docx

计算机组成原理课程设计汇本基本模型机设计分析实现

课程设计(大作业)报告

 

课程名称:

计算机组成原理

设计题目:

基本模型机设计与实现

院系:

信息技术学院

班级:

计算机科学与技术3班

设计者:

学号:

指导教师:

设计时间:

2017.6.19~2017.6.23

 

学院

信息技术学院

 

课程设计(大作业)任务书

院(系):

信息技术学院

专业:

计算机科学与技术学号:

任务起止日期:

2017.6.19~2017.6.23

课程设计题目:

基本模型机设计与设计

课程设计要求:

本课程设计以ZYE1603B计算机组成原理及系统结构教学实验系统为平台,设计完成。

1.按给定的数据格式和指令系统,设计一个微程序控制器。

2.设计给定机器指令系统以及微程序流程图,按微指令格式写出微程序的为指令代码。

3.连接逻辑电路完成启动、测试、编程、测试、效验和运行,并观测运行过程及结果。

4.将微程序控制器模块与运算器模块,存储器模块联机,组成一台模型计算机。

5.用微程序控制器控制模型机的数据通路。

6.通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机整机的概念,掌握计算机的控制机制。

7.按指定的应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序。

在PC机上编辑机器指令和微程序,装载代码到ZYE1603B实验系统并运行,实现应用要求。

 

工作计划及安排:

2017年6月19日上午:

集中进行课程设计题目的讲解和分解,提出学生需要掌握的硬件和软件方面的知识和要求;以及在课程设计期间的安全和纪律要求,熟悉开发环境(ZYE1603B)(4401机房)。

2017年6月19日下午:

查阅资料、确定题目,了解各人(小组)设计安排,就设计过程进行集中讲解,解决设计过程存在的问题。

2017年6月20日~6月22日:

在机房进行系统的设计。

2017年6月23日上午:

分组讨论,进行交流,了解学生的掌握情况,对本周的学习情况进行总结,对后续的设计提出要求;对存在的问题进行分析和解决。

(机房)。

2017年6月23日下午:

答辩,成绩评定。

 

指导教师签字

 

2017年6月19日

课程设计(大作业)成绩

学号:

指导教师:

课程设计题目:

基本模型机设计与实现

总结:

 

指导教师评语:

 

成绩:

 

填表时间:

指导教师签名:

 

课程设计(大作业)报告

一、课程设计的教学目的

1.在“微程序控制器的组成与微程序设计实验”的基础上,进一步将其中各单元组成系统构造一台模型计算机。

2.本实验定义五条机器指令,编写相应的微程序,并上机调试运行,形成整机概念。

课程设计容设计一台基本模型机,并实现相关的指令。

二、课程设计任务和基本要求

本课程设计以TDN-CM++计算机组成原理教学实验系统为平台设计完成。

1.按给定的数据格式和指令系统,设计一个微程序控制器。

2.设计给定机器指令系统以及微程序流程图,按微指令格式写出微程序的为指令代码。

3.连接逻辑电路完成启动,测试,编程,测试,效验和运行,并观测运行过程及结果。

4.将微程序控制器模块与运算器模块,存储器模块联机,组成一台模型计算机。

5.用微程序控制器控制模型机的数据通路。

6.通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机整机的概念,掌握计算机的控制机制。

7.按指定的应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序.在PC机上编辑机器指令和微程序,装载代码到TDN-CM++实验系统并运行,实现应用要求。

三、设计任务及分析

(1)设计任务:

从输入设备读取数据X并将其存入以A为间接地址的存单元,将X与R0.寄存器中的容Y执行X⊕

,结果送到以B为直接地址的存单元保存。

(2)分析:

A:

给R0寄存器直接置入01H.

B:

从数据开关给间接地址为0CH的存单元置数,(03H).

C:

给R0中的容取反,结果存在R0中.

D:

将间接地址0CH中直接地址0EH中的容(03H)放入DR1中,R0中的容放入DR2中,将DR1和DR2种的数进行异或运算,结果放在R0中.

E:

将R0中的容存在直接地址为0DH的存单元中.

四、设计原理

模型机在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。

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

本实验采用五条机器指令:

IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码):

助记符

机器指令码

说明

IN

 00000000

“INPUTDEVICE”中的开关状态  RO

ADDaddr

00010000××××××××

进制加法,R0+[addr]  R0

STAaddr

00100000××××××××

存数,RO [addr]

OUTaddr

00110000××××××××

输出,[addr]

BUS

JMPaddr

01000000××××××××

无条件转移,addr

PC

其中IN为单字长(8位)指令,其余为双字长指令,××××××××为addr对应的二进制地址码。

根据模型机的数据通路图(如图1所示)和指令的要求定义微代码如下:

微程序

24~21

20

19

18

17

16

15~13

12~10

9~7

6~1

控制信号

S3~S0

M

CN

RD

M17

M16

A

B

P

uA5~uA0

表1微代码定义

A字段

B字段

P字段

15

14

13

控制信号

12

11

10

控制信号

9

8

7

控制信号

0

0

0

0

0

0

0

0

0

0

0

1

LDRI

0

0

1

RS_G

0

0

1

P1

0

1

0

LDDR1

0

1

0

RD_G

0

1

0

P2

0

1

1

LDDR2

0

1

1

RI_G

0

1

1

P3

1

0

0

LDIR

1

0

0

299_G

1

0

0

P4

1

0

1

LOAD

1

0

1

ALU_G

1

0

1

AR

1

1

0

LDAR

1

1

0

PC_G

1

1

0

LDPC

表2A、B、P字段

表中μA5~μA0为6位后续微地址,A、B、C为三个译码字段,分别由三个控制位译码出多位。

P字段中的P

(1)~P(4)是四个测试字位。

其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行。

B字段中的RS-B、RD-B、RI-B分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码。

A字段中的LDRI为从输入设备组件中读入数据使能控制信号。

指令寄存器(IR)用来保存当前正在执行的一条指令。

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

指令划分为操作码和地址码字段,由二进制数构成。

为了执行任何给定的指令,必须对操作码进行测试[P

(1)],通过节拍脉冲T4的控制以便识别所要求的操作。

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

本系统使用两种外部设备,一种是二进制代码开关,它作为输入设备(INPUTDEVICE);另一种是数码管,它作为输出设备(OUPUTDEVICE)。

例如:

输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。

输出时,将输出的数据送到数据总线BUS上,当写信号(W/R)有效时,将数据打入输出锁存器,在数码管显示。

图1基本模型机数据通路图

(1)运算器。

运算器又由运算逻辑单元、数据暂存器、通用寄存器组成。

在图1模型机的结构图中,ALU、ALU_G和74299组成运算逻辑单元,其中ALU是由2个4位的74LS181串联成8位的运算器,ALU_G是ALU-G实现用于控制ALU的运算结果的输出,74299用74LS299实现用于对ALU的运算结果进行移位运算;数据暂存器在图1中由DR1和DR2组成,DR1和DR2都是用74LS273实现,它们用于存储运算器进行运算的两个操作数;通用寄存器在图1中由R0、R1和R2组成,R0、R1和R2都是用74LS374实现,它们用作目的寄存器和源寄存器。

(2)控制器。

控制器由微程序控制器、指令寄存器、地址寄存器和程序计数器组成。

在图1中微程序控制器表示为MControl,它里面存放了指令系统对应的全部微程序,微程序控制器是由微控制存储器和3个138译码器实现(A138、B138和P138),用于产生控制信号来控制各个组件的工作状态;在图1中指令寄存器表示为IR,指令寄存器由一个74LS273实现,用于存放当前正在执行的指令;在图1中地址寄存器表示为AR,地址寄存器由一个74LS273实现,在读取或者写入存储器时用于指明要读取或写入的地址;程序计数器在图1中由PC_G和PC组成,其中PC是由八位二进制同步计数器实现,用于产生程序指针pc的下一个值,PC_G由PC-G实现,用于存储程序的程序指针pc的值。

(3)存储器。

存储器在图1中表示为MEN,存储器用静态随机存储器6116实现,用来存储用户程序和数据。

(4)数据总线。

数据总线用于连接运算器、存储器、输入输出等模块,数据总线由ccp_DataBus实现。

(5)输入输出。

输入输出类似于键盘和显示器。

(6)时序产生器。

在图1中T1、T2、T3和T4等控制信号都是由时序产生器生产,时序产生器由时序电路实现如图2所示,时序产生器一个周期中产生四个脉冲信号T1~T4,这四个脉冲信号用于控制组件的执行顺序,组件在这些信号的控制下有序的执行,一个周期中完成一条微指令的执行。

系统涉及到的微程序流程如图1所示,当拟定“取指令”微指令时,该微指令的判别测试字段为P1测试。

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

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

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

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

当全部微程序设计完毕之后,应将每条微指令代码化:

当全部微程序设计完毕后,应将每条微指令代码化,表3即为将图2的微程序流程图按微指令格式转化而成的二进制微代码表。

              

微地址

S3S2S1S0MCNWEM17M16

A

B

P

μA5…μA0

00

0000  00011

000

000

100

010000

01

0000  00011

110

110

110

000010

02

0000  00001

100

000

001

001000

03

0000  00001

110

000

000

000100

04

0000  00001

011

000

000

000101

05

0000  00011

010

001

000

000110

06

1001  01011

001

101

000

000001

07

000000001

110

000

000

001101

10

000000000

001

000

000

000001

11

000000011

110

110

110

000011

12

000000011

110

110

110

000111

13

000000011

110

110

110

001110

14

000000011

110

110

110

010110

15

000000101

000

001

000

000001

16

000000001

110

000

000

001111

17

000000001

010

000

000

010101

20

000000011

110

110

110

010010

21

000000011

110

110

110

010100

22

000000001

010

000

000

010111

23

000000011

000

000

000

000001

24

000000000

010

000

000

011000

25

000001110

000

101

000

000001

26

000000001

101

000

110

000001

27

000001110

000

101

000

010000

30

000001101

000

101

000

010000

表3二进制代码表

 

00

WRITE(01)READ(00)RUN(11)

212023

2422

01

3027

运行:

01

02

10

INADDSTAOUTJMP

1011121314

 

0103071626

041517

01

 

050125

 

06

01

 

01

               图2微程序流程图

 

五、操作步骤

1.本实验设计机器指令程序如下表所示。

地址(二进制)

容(二进制)

助记符

说明

00000000

00000000

IN

将输入数据送R0寄存器

00000001

00100000

STA[08H]

R0—>[08H]

00000010

00001000

地址

00000011

00110000

OUT[08H]

[08H]—>BUS

00000100

00001000

地址

00000101

01000000

JMP[00H]

00H—>PC

00000110

00000000

跳转地址

实验一:

 实验中机器指令解释表

地址(二进制)

容(二进制)

助记符

说明

00000000

00000000

IN

将输入数据送R0寄存器

00000001

00010000

ADD[0AH]

RO+[0AH]—>R0

00000010

00001010

地址

00000011

00100000

STA[0BH]

R0—>[0BH]

00000100

00001010

地址

00000101

00110000

OUT[0BH]

[0BH]—>LED

00000110

00001011

地址

00000111

01000000

JMP[00H]

00H—>PC

00001000

00000000

跳转地址

00001010

00000001

加数,可自定

00001011

求和结果保存在0B单元中

实验二:

实验中机器指令解释表

2.根据下图连接线路

基本模型机实验接线图

3.联机写程序

按照规定格式,将机器指令及表3微指令二进制表编辑成十六进制的规定格式文件。

微指令格式中的微指令代码为将表3中的24位微代码按从左到右分成3个8位,将此三个8位二进制代码化为相应的十六进制数即可。

使用联机软件的文件装载将实验程序和微程序下载到实验箱中,并用软件的读出功能进行检查。

其中参考程序一对应的文件名为“基本模型机1.TXT”,参考程序二对应的文件名为“基本模型机2.TXT”。

实验一的机器指令:

$P0000$P0120$P0208

$P0330$P0408$P0540

$P0600

实验二的机器指令:

$P0000$P0110$P020A

$P0320$P040B$P0530

$P060B$P0740$P0800

$P0A01

微程序(以上两程序公用):

$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

4.联机运行

首先使各个开关的状态为:

SIGNALUNIT中的SP03开关设置为“STEP”状态,SP04开关设置为“RUN”状态;CONTROLUNIT的开关SP05处于“NORM”状态,SP06处于“RUN”状态;开关单元的开关SWB、SWA为“11”。

使开关单元的总清开关CLR(1à0à1)清零后,程序首址为00H。

通过联机软件进入调试界面,联机运行程序时,进入软件界面,转储→装载,再弹出窗口选择要装载的文件(*.txt格式),在装载完机器指令及微指令后,选择(运行)→(通路图)→(复杂模型机)功能菜单打开相应的动态数据通路图,按相应功能键即可联机运行、监控、调试程序。

本试验采用微指令单步运行。

可以通过调试程序的操作界面控制程序的运行,同时观察运行过程和结果。

六、实验结果

实验一:

实验二:

七、实验总结

通过本次实验,我对基本模型机设计与实现有了进一步的了解,理解它的功能特性和使用方法,对整个模型计算机的程序运行有了更全面的了解。

让我能够在掌握部件单元电路实验的基础上,将微程序控制器模块与运算器模块、存储器模块组合成一起,组成一台基本模型计算机;能够用微程序控制器来控制模型机的数据通道;并且通过CPU运行五条机器指令组成的简单程序,掌握了机器指令与微指令的关系,建立了利用指令控制整机(输入、输出、运算、存储系统)的概念。

而对运算如何运算,如何无条件跳转都知道,特别是在屏幕动态流线显示流程的帮助下,更容易理解程序的整个流程。

这次实验是个综合性的实验,难度比较大,,因为本实验的接线比较多,某一或两条线坏了,导致无法进行实验。

几经波折,接线才算成功。

但是接着那仪器总是一开始没有输入数据的时候就是09而不是00,我们弄了好多次都不成功,花了好多时间,好不容易才把实验做正确。

这次试验很需要耐心,但是理解了整个流程以及接线正确之后其实也不算太难的,只要认真细心就可以做好的。

这次实验加强了我的理解能力和实验能力,也更加巩固、完善和深化了我的知识体系。

八、参考书籍

《计算机组成原理》科学白中英著

《计算机组成原理与应用》工业王子齐著

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1