组成原理基本模型机设计.docx

上传人:b****8 文档编号:10951729 上传时间:2023-02-23 格式:DOCX 页数:23 大小:84.32KB
下载 相关 举报
组成原理基本模型机设计.docx_第1页
第1页 / 共23页
组成原理基本模型机设计.docx_第2页
第2页 / 共23页
组成原理基本模型机设计.docx_第3页
第3页 / 共23页
组成原理基本模型机设计.docx_第4页
第4页 / 共23页
组成原理基本模型机设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

组成原理基本模型机设计.docx

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

组成原理基本模型机设计.docx

组成原理基本模型机设计

安就琨工大爭

课程设计说明书

组成原理课程设计

题目:

基本模型机

院系:

专业班级:

学号:

学生姓名:

指导教师:

2013

安徽理工大学课程设计(论文)任务书

计算机科学与工程院系计算机系

学号

学生姓名专业(班级)

设计题目

基本模型机

设计技术参数

1.本系统采用DJ-CPTHS强型计算机组成原理教学实验系统搭建电路图,在实验

上实现指令系统。

2•利用软件工程中的可行性研究以及分析方法,进行系统分析。

设计要求

1在基本模型机的基础上构建一组能实现输入、输出、加、减、逻辑与、逻辑或、逻辑非、转移指令等8个功能的指令,这些指令的助记符不得与指导书上相同。

2.指令包括立即数寻址、寄存器直接寻址、存储器直接寻址二种寻址方式。

3•利用新构建的指令系统编程,分别实现带进位的循环右移功能。

作量

1.课程设计说明书2000字以上;

2.画出流程图,编写微指令代码和程序。

(1)设计的目的及设计原理。

(2)根据设计要求给出模型机的逻辑框图。

(3)设计指令系统,并分析指令格式。

(4)设计微程序及其实现的方法(包括微

指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。

(5)

模型机当中时序的设计安排。

(6)设计指令执行流程。

工作计划

1.首先认真研究老师所给的题目,了解题目要求做什么。

2.查阅资料,解决难题。

3.编写源程序并调试之。

4.写课程设计说明书

参考资料

[1]张昆藏•计算机系统结构•北京:

科学出版社,1994

[2]著平玲娣,潘雪增《计算机组成与设计》浙江大学出版社,出版日期:

2004-1-1

[3]白中英•计算机组成原理(第四版)•北京:

科学出版社,1998

[4]DJ-CPTH超强型计算机组成原理与系统结构实验指导书

指导教师签字教研室主任签字

2013年11月28日

安徽理工大学课程设计(论文)成绩评定表

指导教师评语:

成绩:

指导教师:

年月

摘要

本CPTH计算机组成原理实验仪,可以由用户自己设计指令/微指令系统,“指令流水实验”就是利用另一套指令/微指令系统来实现指令的流水工作。

这样可以在现有的指令系统上进行扩充,加上一些较常用的指令,也可重新设计一套完全不同的指令/微指令系统。

CPTH内已经内嵌了一个智能化汇编语言编译器,可以对设定的汇编助记符进行汇编。

本次实验需要利用自己编写的计算机指令系统实现计算机基本模型机的功能

关键词:

计算机组成原理微指令基本模型机

1实验系统分析1

1.1DJ-CPTK简介1

1.2实验目的2

1.3实验要求2

1.4实验流程3

1.5实验原理4

2系统设计6

2.1指令系统助记符设计6

3系统实现13

3.1功能实现13

4总结16

4.1设计体会16

4.2系统改进16

参考文献18

1实验系统分析

1.1DJ-CPTH简介

DJ-CPTH型计算机组成原理实验系统<以下简称系统>,是由江苏启东市东疆计算机有限公司结合国内同类产品的优点,最新研制开发的超强型实验计算机装置<以下简称模型机>。

该系统采用

单片机管理和EDA控制技术,自带键盘和液晶显示器,支持脱机和联PC机两种工作模式,运用系

统监控和数码管等实时监视,全面动态管理模型机的运行和内部资源。

模型机软硬件配置完整,支持8位字长的多种寻址方式,指令丰富,系统支持RS-232C串行通讯,并配有以win98/2000/XP

为操作平台的动态跟踪集成调试软件,示教效果极佳,特别适用于计算机组成原理课程的教学与实验。

CPTH计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成。

实验平台上有寄存器组R0-R3、运算单元、累加器A、暂存器W直通/左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展单元、总线接口区、微动开关/指示灯、逻辑笔、脉冲源、管理单片机、24个按

键、字符式LCDRS232如图:

1.2实验目的

1•在掌握部件单元电路实验的基础上,将微程序控制器模块与运算器模块、存储器模块组合成一起,组成一台基本模型计算机。

2•用微程序控制器来控制模型机的数据通道。

3•通过CPU运行五条机器指令组成的简单程序,掌握机器指令与微指令的关系,建立利用指令控制整机(输入、输出、运算、存储系统)的概念。

1.3实验要求

实验前,做好实验预习,学会用基本机器指令编写程序。

实验过程中,要认真进行实验操作和思考实验有关的内容,把自己不太明白的问题通过实验去理解清楚,争取得到最好的实验结果,达到预期的实验教学目的。

1在基本模型机的基础上构建一组能实现输入、输出、加、减、逻辑与、逻辑或、逻辑非、转移指令等8个功能的指令,这些指令的助记符不得与指导书上相同。

2.指令包括立即数寻址、寄存器直接寻址、存储器直接寻址三种寻址方式。

3•利用新构建的指令系统编程,分别实现带进位的循环右移功能。

 

1.4实验流程

模型机报

<告

 

1.5实验原理

系统实现基本功能外,还要实现循环进位右移功能。

1其进位循环右移原理如下:

 

右移一次后,默认前端补零

 

右移二次后,判断进位标志为一,则将此数加80H,实现进位右移

 

 

 

2不带进位循环右移原理:

将33H右移

 

2系统设计

2.1指令系统助记符设计

1.打开CPTH组成原理实验软件,选择[文件|新建指令系统/微程序],清除原来的指令/微程序系统,观察软件下方的“指令系统”窗口,所有指令码都“未使用”。

指竽集1崩徵程序1跟踪

助记符

机器码1

机器码2

机器码3

注释

l_FATCH_

OOOOOOxx00-03

宜若竝占用不可修苛

OOODOIxx04-D4

未食用

00001OkkD841B

未蟻用

OOODIIkxDCOF

000100xk10-13

未楼用v

>

1

选择第三行,即“机器码1”为000010XX行,在下方的“助记符”栏填入加法功能的指令助记符“ADDD,在“操作码1”栏选择“A”,表示第一操作数为累加器A,在“操作数2”栏选择“#*”,表示第二操作数为立即数。

按“修改”按钮确认。

同理将其他指令写入。

2.模型机的寻址方式分五种:

累加器寻址:

操作数为累加器A,例如“CPLA”是将累加器A值取反,还有些指令是隐含寻

址累加器A,例如“OUT是将累加器A的值输出到输出端口寄存器OUT

寄存器寻址:

参与运算的数据在R0-R3的寄存器中,例如“ADDA,R0”指令是将寄存器R0

的值加上累加器A的值,再存入累加器A中。

寄存器间接寻址:

参与运算的数据在存储器EM中,数据的地址在寄存器R0-R3中,如“MOV

A,@R1指令是将寄存器R1的值做为地址,把存储器EM中该地址的内容送入累加器A中。

存储器直接寻址:

参与运算的数据在存储器EM中,数据的地址为指令的操作数。

例如“ANDA

40H”指令是将存储器EM中40H单元的数据与累加器A的值做逻辑与运算,结果存入累加器A。

立即数寻址:

参与运算的数据为指令的操作数。

例如“SUBA#10H'是从累加器A中减去

立即数10H,结果存入累加器Ao

模型机的缺省的指令集分几大类:

算术运算指令、逻辑运算指令、移位指令、数据传输指令、

跳转指令、中断返回指令、输入/输出指令。

本系统共设计了

四种寻址方式:

力口ADDD减SUBB进位加ADDCC进位减SUBCC与ANDD或ORR操作(寄

存器间接寻址未使用)

八种转移操作MOW

一种寻址方式:

读READD写WEITE进位标志跳转JCC零标志跳转JZZ、无条件跳转JMPR中断」NT__、调用子程序CALLL输入INN、输出OUTT子程序返回RETT右移RRR左移RLL、进位右移RRCC进位左移RLCC空指令NOPP取反CPLL中断返回RETII

共24条指令

指令如图:

Id「;’「」「—一「

行^列脱机

ADDDA.R?

0001OOkx1013

ADD'DA,@R?

000101KX14-17

ADD'DA/

000110xx18-1B

ADDDA.tt-

OOGIIIrx1C-1F

X

ADDCCA,R?

OOIOOOkx2023

ADD'CC

001001XX2427

ADD'CCA/

00101Oxx282B

ADDCCA,#*

00101Ixx2C-2F

X

SUBBA,R?

OQIIOOxk30-33

SUBB2R?

001101xx3437

SUBBA/

001110xx38-3B

3.

SUBB

OOlHIxx3C-3F

S.

SUBCCAfR?

01000Oxx40-43

SIIBCCA,@B?

0100014447

SUBCCA?

01001Oxx484B

X

X

SUBCCAJI*

QIOOIIkx4C-4F

ANDD扎R?

OlOIODxx50-53

|ANDDA.@R?

010101xk54-57

L—一”

1_

助记符操作数1操作教

机器码1

Iandd|A31

|@R?

010101XK54-5

调过窗口libengongnengasm|EPRom|

MOW&E2

AIWUA,#01H

JZZAA

<

行:

1列:

1

脱机

ANDDA,@R?

0101DIXX54-57

ANDDA,'

0101IOix58-5B

ANDDA,#T

010111xx5C-5F

s.

ORRA,R?

OHDOOxxG0-G3

ORRA,®R?

011001kk64-67

ORR:

A/

011D1Oxx68GB

X

ORRAJ'

OIIOIlixGC-6F

MOWA,R?

011100IX70-73

MOWA,@R?

011101xx7477

MOWA7

OIIIIOxm78-7B

MOWA,B'

011111km7C-7F

HOWR?

10OOOOxx80-83

MOW@R?

A

100001XX84-87

MOW=4

10001On88-8B

V

MOWRZtt'

100011km8C-8F

X

READDA/

1001OOix90-93

WRITEE~A

100101ix94-97

2

100110km999B

100111xx9O9F

JCC-

IOIDOOkkA0-A3

■.

 

助记符

攧作数1

操作對

机器码1

Iandd

BJ

・|R?

-

OlOIOOxx5(

行:

1列:

1脱机

JCC-

lOIOOOxxA0-A3

S

JZZ=

101001NXA4A7

■:

101010kmA8AB

JMPP1

IOIOIIxxACAF

a.

10110OxxB0-B3

101101xxB4-B7

」NT_

101110xxB8BB

CALLL1

101111nBOBF

K

INN

110OOOxxCOC3

OUTT

110001ixC4-C7

11001OkhC8CB

RETT

110011kmcc-cf

RRRA

110100xxD0-D3

RLLA

110101IXD4-D7

RRCCA

110110xxD8-DB

RLCCA

IIOIIIkhDCDF

NOPP

1110OOxxE0E3

CPLLA

111001ixE4-E7

11101OxxE8-EB

RETII

111011kkECEF

*■■■nnw-«r-

 

斷记符

换作数1

犧作麹

机器码1

ri

100111KX9C9F

22指令微程序设计

将窗口切换到“uM微程序”窗口,现在此窗口中所有微指令值都是OFFFFFFH也就是无任何

操作,我们需要在此窗口输入每条指令的微程序来实现该指令的功能。

指令集uM徴程序

跟踪

状畜

徽地址

徽糧序

数据输网數据旗]地址输出

移位揑制]

uPC|PC

_FETCH_

00

浮空

嚇出

+1

01

FFFFFF

浮空

浮空

隔出

+1

02

FFFFFF

+1

03

FFFFFF

浮空

浮空

端出

+1

LD5

04

FFFFFF

浮空

浮空

隔出

+1

05

FFFFFF

浮空

+1

⑴每个程序开始要执行的第一条微指令应是取指操作,因为程序复位后,PC和uPC的值都为

0,所以微程序的0地址处就是程序执行的第一条取指的微指令。

取指操作要做的工作是从程序存

储器EM中读出下条将要执行的指令,并将指令的机器码存入指令寄存器IR和微程序计数器uPC

中,读出下条操作的微指令。

根据此功能,观察窗口下方的各控制信号,有“勾”表示信号为高,处于无效状态,去掉“勾”信号为低,为有效状态。

要从EM中读数,EMRD必需有效,去掉信号

下面的“勾”使其有效;读EM的地址要从PC输出,所以PCOE要有效,允许PC输出,去掉PCOE下面的“勾”,PCOE有效同时还会使PC加1,准备读EM的下一地址;IREN是将EM读出的指令码存入uPC和IR,所以要去掉IREN的“勾”使其有效。

这样,取指操作的微指令就设计好了,取指操作的微指令的值为CBFFFFH然后把助记符"_FATCH_,状态"TO",微地址"00",微程序"CBFFFFH..(其余为注释可略),按照上表格式填入,其余类同.

⑵现在我们来看把立即数装入累加器A要做哪些工作,首先要从EM中读出立即数,并送到数

据总线DBUS再从DBUS上将数据打入累加器A中,按照这个要求,从EM中读数据,EMR啦该有效,EM的地址由PC输出,PCOE必需有效,读出的数据送到DBUSEMENk应有效,要求将数据存入A中,AEN也要有效,根据前面描述“LDA,#*”指令有两个状态周期,T1状态将所有有效位下

面的“勾”去掉,使其有效,这条微指令的值为C7FFF7H为了保证程序的连续执行,每条指令的

最后必需是取指令,取出下条将要执行的指令。

T0状态取指微指令的值为CBFFFFH(取操作描

述可见第⑴步)。

⑶本指令为立即数加法指令,立即数加可分两步,首先从EM中读出立即数,送到DBUS并存

入工作寄存器W中,从EM中读数,EMRD应有效,读EM的地址由PC输出,PCOE要有效,读出的数据要送到DBUSEMEf应有效,数据存入W中,WEt应有效,根据描述,“ADDA,#*”指令的T1状态微指令的值为C7FFEFH第二步,执行加法操作,并将结果存入A中。

执行加法操作,S2S1S0

的值应为000(二进制),结果无需移位直接输出到DBUSX2X1X0的值就要为100(二进制),

从DBUS将数据再存入A中,AEN应有效。

与此同时,ABUS和IBUS空闲,取指操作可以并行执行,也就是以PC为地址,从EM中读出下条将要执行指令的机器码,并打入IR和uPC中,根据取指

操作的说明,EMRDPCOEIREN要有效,根据上面描述,T0状态时将EMRDPCOEIREN、X2X1X0AENS2S1S0都置成有效和相应的工作方式,此微指令的值为CBFF90H

同理将其他指令对应上微指令

部分微指令如下:

IIiJ

指令隼mH徴程序

跟踪1

助记符

状态

徽地址

徽程序

数拥输出

数据打入

地址输出|

BB

FFFFFF

綁出

CALLL

T3

BC

EF7F7F

P匚值

地址寄存器IPCffi出

端出

T2

BD

FFEF7F

pci

堆栈寄存器!

綁出

T1

BE

D6BFFF

存贮器值E”寄存器PC

MAR输出

嚇出

TO

BF

CBFFFF

指令寄存器IPCffi出

嚇出

INN

T1

CO

FFFF17

用户IN

寄存器A

嚇出

TO

Cl

CBFFFF

指令寄存器1

P滋出

綁出

C2

FFFFFF

嚇出

C3

FFFFFF

綁出

OUTT

T1

C4

FFDF9F

也LU直通

用户OUT

嚇出

TO

C5

CBFFFF

指令寄存器IP®it

嚇出

C6

FFFFFF

C7

FFFFFF

嚇出

UNDEF

TO

CB

CBFFFF

指令寄存器l

FW出

嚇出

C9

FFFFFF

端出

CA

FFFFFF

嚇出

CB

FFFFFF

RETT

T1

cc

FEFF5F

堆栈寄存器:

寄存器PC

端出

TO

CD

CBFFFF

指令寄存需1

5出

嚇出

CE

FFFFFF

端出

CF

FFFFFF

端出

RRRA:

T1

DO:

FFFCB7

ALU右移

寄存器A标二

嚇出

TO

D1

CBFFFF

増今事存嬰1F5宙出

卫EDEX?

rPC:

P疋厂「

EEYE'S

"17

IRENEHIT厂P

ELPKARCE3-E7EXSTENRED或SECHFi

p|7ppp|7F

口unniiPrrn

A-nn11/nflrn~7-nInn.nr

o.nnnn.rnnmenin

.rwirt.nniA.t

m

(4)选择菜单[文件|保存指令系统/微程序]功能,将新建的指令系统/微程序保存下来,以便

以后调用。

为不与已有的指令系统冲突,将新的指令系统/微程序保存为"new.mac”

3系统实现

3.1功能实现

在程序窗口输入以下程序实现基本功能

代码

功能

结果

INN

输入

55H

ADDDA,#01H

56H

SUBBA,#01H

55H

ANDDA,#33H

逻辑与

11H

ORRA,#22H

逻辑或

33H

CPLLA

逻辑非

CCH

OUTT

输出

CCH

调试窗口iibsrgonQrieng.asmEPRom|

INN

ADDD

SUBBA,#01H

ANDI)A,#33H

ORKA,#22H

CPLLA

OUTT

机器执行后,结果为CCH功能实现

转移

1.在CPTH软件中的源程序窗口输入下列程序

LO:

MOVVA,#01

LOOP:

SUBBA,#01

JCCLOOP

JZZLOOP

JMPPLO

ENDD

凋试窗口ii"ngongrieng®E|EPRom|

LO-:

MOWA,#01

LOOP:

SUBBA,#01

JCCLOOP

JZZLOOP

JMFPLO

ENDD

在程序窗口输入以下程序实现功能:

带进位的无限循环右移功能:

程序思想:

将16进制27H无线循环带进位右移,先将数存到A中在存到R2中,将A右移得到数存到R1中,判断R2数尾数是否为1,是1将R1转到A加80H存到R1中在存到R2中,是0存到R2中,跳转循环。

MOVVA,#27H

LOOP1:

MOVVR2,A

RRCCA

MOVVR1,A

OUTT

MOVVA,R2

ANDDA,#01H

JZZLOOP2:

CALLLINCA

LOOP2:

MOVVA,R1

OUTT

JMPPLOOP1

INCA:

MOVVA,R1

ADDDA,#80H

|EPRom|

RETT

调试窗口jiberigongneng.asm

MOWA,#27iT

LOOP1:

MOWK23A

RRCCA

MOWRl,A

OUTT

MOW

ANDD

JZZL:

uF2:

CALLLINCA

LOOP2:

MOWA,El

OUTT

JMPPLOOP1

INCA:

MOWA,R1

ADDDA,#SOH

RETT

4总结

4.1设计体会

在做这次实验之前,通过深入的预习,理解了实验原理、明确了实验的目的,按部就班地连线,

逐步完成了实验的要求。

在实验过程中,我认真进行实验操作和思考实验有关的内容,把自己不

太明白的问题通过实验理解清楚,取得了较好的实验结果。

通过这次实验懂得了基本模型机设计

与实现的基本操作,加深了对书本知识的认识。

通过CPU运行机器指令组成的简单程序,掌握机

器指令与微指令的关系,建立了利用指令控制整机(输入、输出、运算、存储系统)的概念。

这次的实验难度比较大,但是我认真听老师的讲解,并根据预习的信息和通过和同学的相互讨论

和交流,还是较快的掌握了相关的操作,掌握了运用CPU运行机器指令组成的简单程序,掌握机

器指令与微指令的关系,建立利用指令控制整机的输入、输出、运算和存储。

4.2系统改进

在程序窗口输入以下程序实现扩展功能:

带流水灯带进位带限制循环右移功能

程序思想:

将循环次数存到R0中,将16进制27H无线循环带进位右移,先将数存到A中在存到R2中,将A右移得到数存到R1中,判断R2数尾数是否为1,是1将R1转到A加80H存到R1中在存到R2中

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

当前位置:首页 > 工程科技 > 城乡园林规划

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

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