复杂模型机方案合肥工业大学计算机组成课程方案报告.docx

上传人:b****6 文档编号:8193440 上传时间:2023-01-29 格式:DOCX 页数:14 大小:31.89KB
下载 相关 举报
复杂模型机方案合肥工业大学计算机组成课程方案报告.docx_第1页
第1页 / 共14页
复杂模型机方案合肥工业大学计算机组成课程方案报告.docx_第2页
第2页 / 共14页
复杂模型机方案合肥工业大学计算机组成课程方案报告.docx_第3页
第3页 / 共14页
复杂模型机方案合肥工业大学计算机组成课程方案报告.docx_第4页
第4页 / 共14页
复杂模型机方案合肥工业大学计算机组成课程方案报告.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

复杂模型机方案合肥工业大学计算机组成课程方案报告.docx

《复杂模型机方案合肥工业大学计算机组成课程方案报告.docx》由会员分享,可在线阅读,更多相关《复杂模型机方案合肥工业大学计算机组成课程方案报告.docx(14页珍藏版)》请在冰豆网上搜索。

复杂模型机方案合肥工业大学计算机组成课程方案报告.docx

复杂模型机方案合肥工业大学计算机组成课程方案报告

课程设计报告

一.设计目的

本课程设计是《计算机组成原理》课程之后开设的实践环节课程。

通过本课程设计,使学生进一步加深对计算机原理系列课程相关内容的理解,掌握CPU设计的基本方法和计算机系统的组成原理,进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力;锻炼计算机硬件的设计能力、调试能力;培养严谨的科学实验作风、良好的工程素质及团队协作精神,为今后的工作打下基础。

二.设计题目

复杂模型机设计

三.设计要求

基于计算机组成原理教案实验系统设计并实现一个具有16条机器指令、采用微程序控制器的8位计算机。

具体要求做到:

1.根据设计课题要求,给出模型机的设计方案<包括指令系统和硬件结构)。

2.画出所设计计算机的硬件连接图,针对所设计的指令系统编写出相应的微程序。

3.对所设计的计算机进行安装与调试。

4.编写测试程序,对系统进行验证。

5.编写课程设计报告。

四.实验设备

Dais-CMX16+计算机组成原理教案实验系统一台,PC机一台

五.指令格式与指令系统

模型机设计四大类之类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。

⑴算术逻辑指令

设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:

7654

32

10

OP-CODE

Rd

Rs

其中,OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器,并规定:

Rs或Rd

选定的寄存器

00

01

10

11

R0

R1

R2

R3

9条算术逻辑指令的名称、功能和具体格式见表7-12-1。

⑵访问指令及转移指令

模型机设计2条访问指令,即存数

位转移指令

7

6

54

32

10

0

0

M

2OP-CODE

Rd

D<低八)

D<高八)

其中“00M”为源码段,2OP-CODE为目的码段

D为十六位地址段<低八在前,高八随后),M为源寻址模式,其定义如下:

寻址模式M

有效地址E

说明

00

01

10

11

E=D

E=(D>

E=(SP>+D

E=(PC>+D

直接寻址

间接寻址

SP变址寻址

相对寻址

⑶I/O指令

输入

7654

32

10

OP-CODE

00

Rd

⑷停机指令

指令格式如下:

7654

32

10

OP-CODE

00

00

HALT指令,用于实现停机操作。

1>指令系统

本模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。

下表列出了各条指令的格式、汇编符号、指令功能。

助记符

指令格式

功 能

LDAM,D,Rd

0

0

M

00

Rd

E→Rd

STAM,D,Rd

0

0

M

01

Rd

Rd→E

JMPM,D

0

0

M

10

00

E→PC

BZCM,D

0

0

M

11

00

当CY=0或Z=0时,E→PC

MOVRd,Rs

0

1

0

0

Rs

Rd

Rs→Rd

ADCRd,Rs

0

1

0

1

Rs

Rd

Rs+Rd+CY→Rd

SBCRd,Rs

0

1

1

0

Rs

Rd

Rs-Rd-CY→Rd

ANDRd,Rs

0

1

1

1

Rs

Rd

Rs∧Rd→Rd

CLRRd

1

0

0

0

00

Rd

0→Rd

INCRd,Rs

1

0

0

1

00

Rd

Rs+1→Rd

CPLRd

1

0

1

0

00

Rd

Rd→Rd

RHRRd

1

0

1

1

00

Rd

Rd→Rd

RHLRd

1

1

0

0

00

Rd

Rd→Rd

INRd,I/O

1

1

0

1

00

Rd

I/O→Rd

OUTRd,I/O

1

1

1

0

00

Rd

Rd→I/O

HALT

1

1

1

1

00

00

停机

2>复杂模型机指令系统

助记符操作数指令码长度

-----------------------------------------------------

LDADR0,*003。

直接字节送寄存器R0

LDADR1,*013。

直接字节送寄存器R1

LDADR2,*023。

直接字节送寄存器R2

LDADR3,*033。

直接字节送寄存器R3

LDAIR0,*103。

间接字节送寄存器R0

LDAIR1,*113。

间接字节送寄存器R1

LDAIR2,*123。

间接字节送寄存器R2

LDAIR3,*133。

间接字节送寄存器R3

LDAXR0,*203。

变址字节送寄存器R0

LDAXR1,*213。

变址字节送寄存器R1

LDAXR2,*223。

变址字节送寄存器R2

LDAXR3,*233。

变址字节送寄存器R3

LDARR0,*303。

相对字节送寄存器R0

LDARR1,*313。

相对字节送寄存器R1

LDARR2,*323。

相对字节送寄存器R2

LDARR3,*333。

相对字节送寄存器R3

STAD*,R0043。

寄存器R0送直接字节

STAD*,R1053。

寄存器R1送直接字节

STAD*,R2063。

寄存器R2送直接字节

STAD*,R3073。

寄存器R3送直接字节

STAI*,R0143。

寄存器R0送间接字节

STAI*,R1153。

寄存器R1送间接字节

STAI*,R2163。

寄存器R2送间接字节

STAI*,R3173。

寄存器R3送间接字节

STAX*,R0243。

寄存器R0送变址字节

STAX*,R1253。

寄存器R1送变址字节

STAX*,R2263。

寄存器R2送变址字节

STAX*,R3273。

寄存器R3送变址字节

STAR*,R0343。

寄存器R0送相对字节

STAR*,R1353。

寄存器R1送相对字节

STAR*,R2363。

寄存器R2送相对字节

STAR*,R3373。

寄存器R3送相对字节

JMPD*083。

直接转移

JMPI*183。

间接转移

JMPX*283。

变址转移

JMPR*383。

相对转移

BNZCD*0C3。

CY=0或Z=0时直接转移

BNZCI*1C3。

CY=0或Z=0时间接转移

BNZCX*2C3。

CY=0或Z=0时变址转移

BNZCR*3C3。

CY=0或Z=0时相对转移

MOVR0,R0401。

寄存器R0送寄存器R0

MOVR1,R0411。

寄存器R0送寄存器R1

MOVR2,R0421。

寄存器R0送寄存器R2

MOVR3,R0431。

寄存器R0送寄存器R3

MOVR0,R1441。

寄存器R1送寄存器R0

MOVR1,R1451。

寄存器R1送寄存器R1

MOVR2,R1461。

寄存器R1送寄存器R2

MOVR3,R1471。

寄存器R1送寄存器R3

MOVR0,R2481。

寄存器R2送寄存器R0

MOVR1,R2491。

寄存器R2送寄存器R1

MOVR2,R24A1。

寄存器R2送寄存器R2

MOVR3,R24B1。

寄存器R2送寄存器R3

MOVR0,R34C1。

寄存器R3送寄存器R0

MOVR1,R34D1。

寄存器R3送寄存器R1

MOVR2,R34E1。

寄存器R3送寄存器R2

MOVR3,R34F1。

寄存器R3送寄存器R3

ADCR0,R0501。

寄存器R0带进位加到寄存器R0

ADCR1,R0511。

寄存器R0带进位加到寄存器R1

ADCR2,R0521。

寄存器R0带进位加到寄存器R2

ADCR3,R0531。

寄存器R0带进位加到寄存器R3

ADCR0,R1541。

寄存器R1带进位加到寄存器R0

ADCR1,R1551。

寄存器R1带进位加到寄存器R1

ADCR2,R1561。

寄存器R1带进位加到寄存器R2

ADCR3,R1571。

寄存器R1带进位加到寄存器R3

ADCR0,R2581。

寄存器R2带进位加到寄存器R0

ADCR1,R2591。

寄存器R2带进位加到寄存器R1

ADCR2,R25A1。

寄存器R2带进位加到寄存器R2

ADCR3,R25B1。

寄存器R2带进位加到寄存器R3

ADCR0,R35C1。

寄存器R3带进位加到寄存器R0

ADCR1,R35D1。

寄存器R3带进位加到寄存器R1

ADCR2,R35E1。

寄存器R3带进位加到寄存器R2

ADCR3,R35F1。

寄存器R3带进位加到寄存器R3

SBCR0,R0601。

寄存器R0带进位减到寄存器R0

SBCR1,R0611。

寄存器R0带进位减到寄存器R1

SBCR2,R0621。

寄存器R0带进位减到寄存器R2

SBCR3,R0631。

寄存器R0带进位减到寄存器R3

SBCR0,R1641。

寄存器R1带进位减到寄存器R0

SBCR1,R1651。

寄存器R1带进位减到寄存器R1

SBCR2,R1661。

寄存器R1带进位减到寄存器R2

SBCR3,R1671。

寄存器R1带进位减到寄存器R3

SBCR0,R2681。

寄存器R2带进位减到寄存器R0

SBCR1,R2691。

寄存器R2带进位减到寄存器R1

SBCR2,R26A1。

寄存器R2带进位减到寄存器R2

SBCR3,R26B1。

寄存器R2带进位减到寄存器R3

SBCR0,R36C1。

寄存器R3带进位减到寄存器R0

SBCR1,R36D1。

寄存器R3带进位减到寄存器R1

SBCR2,R36E1。

寄存器R3带进位减到寄存器R2

SBCR3,R36F1。

寄存器R3带进位减到寄存器R3

ANDR0,R0701。

寄存器R0"与"到寄存器R0

ANDR1,R0711。

寄存器R0"与"到寄存器R1

ANDR2,R0721。

寄存器R0"与"到寄存器R2

ANDR3,R0731。

寄存器R0"与"到寄存器R3

ANDR0,R1741。

寄存器R1"与"到寄存器R0

ANDR1,R1751。

寄存器R1"与"到寄存器R1

ANDR2,R1761。

寄存器R1"与"到寄存器R2

ANDR3,R1771。

寄存器R1"与"到寄存器R3

ANDR0,R2781。

寄存器R2"与"到寄存器R0

ANDR1,R2791。

寄存器R2"与"到寄存器R1

ANDR2,R27A1。

寄存器R2"与"到寄存器R2

ANDR3,R27B1。

寄存器R2"与"到寄存器R3

ANDR0,R37C1。

寄存器R3"与"到寄存器R0

ANDR1,R37D1。

寄存器R3"与"到寄存器R1

ANDR2,R37E1。

寄存器R3"与"到寄存器R2

ANDR3,R37F1。

寄存器R3"与"到寄存器R3

CLRR0801。

清零寄存器R0

CLRR1811。

清零寄存器R1

CLRR2821。

清零寄存器R2

CLRR3831。

清零寄存器R3

INCR0,R0901。

寄存器R0加1到R0

INCR0,R1911。

寄存器R1加1到R0

INCR0,R2921。

寄存器R2加1到R0

INCR0,R3931。

寄存器R3加1到R0

 

CPLR0A01。

寄存器R0取反

CPLR1A11。

寄存器R1取反

CPLR2A21。

寄存器R2取反

CPLR3A31。

寄存器R3取反

RHRR0,R0B01。

寄存器R0带进位循环右移

RHRR0,R1B11。

寄存器R1带进位循环右移

RHRR0,R2B21。

寄存器R2带进位循环右移

RHRR0,R3B31。

寄存器R3带进位循环右移

RLR0,R0C01。

寄存器R0带进位循环左移

RLR0,R1C11。

寄存器R1带进位循环左移

RLR0,R2C21。

寄存器R2带进位循环左移

RLR0,R3C31。

寄存器R3带进位循环左移

INR0,IOLD01。

将IOL数据读出到寄存器R0

INR1,IOLD11。

将IOL数据读出到寄存器R1

INR2,IOLD21。

将IOL数据读出到寄存器R2

INR3,IOLD31。

将IOL数据读出到寄存器R3

OUTIOH,R0E01。

将寄存器R0数据写入到IOH

OUTIOH,R1E11。

将寄存器R1数据写入到IOH

OUTIOH,R2E21。

将寄存器R2数据写入到IOH

OUTIOH,R3E31。

将寄存器R3数据写入到IOH

HALT""F01。

停机(总线锁定>

六.复杂模型及数据通路图

七.微程序控制器原理

采用微程序设计方法设计控制单元的过程就是编写每一条机器指令的微程序,它是按执行每条机器指令所需的微操作命令的先后顺序而编写的,因此,一条机器指令对应一个微程序,由于任何一条机器指令的取指令操作是相同的,因此将取指令操作的命令统一编成一个微程序,这个微程序只负责将指令从主存单元中取出送至指令寄存器中。

如果指令是间接寻址,其操作也是可以预测的,也可以编出对应间址周期的微程序。

当出现中断时,中断隐指令所需完成的操作可由一个对应中断周期的微程序控制完成。

这样,控制存储器中的微程序个数应为机器指令数再加上对应取址、间接寻址和中断周期的微程序。

按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码,并将二进制代码表转换成十六进制格式文件。

M23

M22

M21

M20

M19

M18

M17

M16

M15

M14

M13

M12

M11

M10

M9

M8

M7

M6

M5

M4

M3

M2

M1

M0

E/M

IP

MWR

R/M

目的编码

OP

M

CN

S2

S1

S0

源编码

XP

W

ALU

Iu

IE

IR

Icz

Ids

 

源编码

目的编码

M10

M9

M8

功能

M19

M18

M17

功能

X2

X1

X0

O2

O1

O0

1

1

1

禁止

1

1

1

禁止

1

1

0

ALU

1

1

0

MAR

1

0

1

SP

1

0

1

BX

1

0

0

IOR

1

0

0

AX

0

1

1

MRD

0

1

1

SP

0

1

0

XRD

0

1

0

IOW

0

0

1

RRD

0

0

1

XWR

0

0

0

PC

0

0

0

RWR

八.测试源程序

复杂模型机程序

#LOAD"MXJ4.IS"。

预调入指令系统/微程序

org0

start:

CLRr0。

CLRr1。

CLRr2。

CLRr3。

寄存器清零

LDA_Xr0,0060h。

变址送寄存器R0

INCr0,r2。

r2自加送到R0

CLRr0。

r0清零

INr0,iol。

从IO输入到R0

INr2,iol。

从IO输入到R2

RLr3,r0。

R0左移送到R3

CLRR3

ANDr0,r2。

R2R0与运算

CPLr0。

R0取反

OUTioh,r0。

从R0输出数据到IO

MOVr1,r0。

R0送到R1

MOVR3,R2。

SBCr2,r0。

R2R0带借位减送到R2

ADCr0,r2。

R0R2带进位加送到R0

RRR0,R3。

RO右移一位送到R3

STA_R0030h,R2。

相对寻址送到

JMP_I0011H。

跳转指令到[0011]

bnzc_dstart。

halt

end

九.

复杂模型及微程序流程图

十.课程设计心得

这次的课程设计让我对计算机组成原理这门课程有了一个新的认识:

软件与硬件的统一、程序与电路的融合。

让我对“硬件是软件的身躯、软件是硬件的灵魂”有了更进一步的理解。

通过这次课程设计,我掌握了复杂模型机的特点。

掌握了复杂模型机的基本原理和方法。

运用微程序,微指令完成了复杂模型机的程序设计。

在课程设计的过程中,遇到了一些问题,都是粗心大意而造成,并非是对复杂模型机和编程的熟悉问题,说明了我再以后的实验中应该更细心的编写程序的每一步,对于本次课程设计所出现的马虎,应该牢记,以后不再犯同样的错误。

通过这次课程设计,也让自己更加的了解复杂模型机。

总之,通过这次课程设计使自己受益良多,我相信别的同学也得到的不少!

最后非常感谢各位老师为我们辛勤的付出以及给与我们计算机组成原理学习方面的帮助。

谢谢各位老师。

Whenyouareoldandgreyandfullofsleep,

Andnoddingbythefire,takedownthisbook,

Andslowlyread,anddreamofthesoftlook

Youreyeshadonce,andoftheirshadowsdeep;

Howmanylovedyourmomentsofgladgrace,

Andlovedyourbeautywithlovefalseortrue,

Butonemanlovedthepilgrimsoulinyou,

Andlovedthesorrowsofyourchangingface;

Andbendingdownbesidetheglowingbars,

Murmur,alittlesadly,howlovefled

Andpaceduponthemountainsoverhead

Andhidhisfaceamidacrowdofstars.

Thefurthestdistanceintheworld

Isnotbetweenlifeanddeath

ButwhenIstandinfrontofyou

Yetyoudon'tknowthat

Iloveyou.

Thefurthestdistanceintheworld

IsnotwhenIstandinfrontofyou

Yetyoucan'tseemylove

Butwhenundoubtedlyknowingthelovefromboth

Yetcannotbetogether.

Thefurthestdistanceintheworld

Isnotbeingapartwhilebeinginlove

ButwhenIplainlycannotresisttheyearning

Yetpretendingyouhaveneverbeeninmyheart.

Thefurthestdistanceintheworld

Isnotstrugglingagainstthetides

Butusingone'sindifferentheart

Todiganuncrossableriver

Fortheonewholovesyou.

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

当前位置:首页 > 高等教育 > 工学

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

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