西电计组课程设计报告.docx

上传人:b****4 文档编号:12354381 上传时间:2023-04-18 格式:DOCX 页数:18 大小:356.07KB
下载 相关 举报
西电计组课程设计报告.docx_第1页
第1页 / 共18页
西电计组课程设计报告.docx_第2页
第2页 / 共18页
西电计组课程设计报告.docx_第3页
第3页 / 共18页
西电计组课程设计报告.docx_第4页
第4页 / 共18页
西电计组课程设计报告.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

西电计组课程设计报告.docx

《西电计组课程设计报告.docx》由会员分享,可在线阅读,更多相关《西电计组课程设计报告.docx(18页珍藏版)》请在冰豆网上搜索。

西电计组课程设计报告.docx

西电计组课程设计报告

计算机组成原理课程设计

实验报告

评语:

成绩

 

 

教师:

年月日

班级:

学号:

姓名:

地点:

时间:

一.实验目的

1.深入理解基本模型计算机的功能、组成知识;

2.深入学习计算机各类典型指令的执行流程;

3.学习微程序控制器的设计过程和相关技术,掌握LPM_ROM的配置方法。

4.在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机。

5.定义五条机器指令,并编写相应的微程序,上机调试,掌握计算机整机概念。

掌握微程序的设计方法,学会编写二进制微指令代码表。

6.通过熟悉较完整的计算机的设计,全面了解并掌握微程序控制方式计算机的设计方法。

二.实验原理

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

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

1.在部件实验过程中,各部件单元的控制信号是人为模拟产生的而本实验将能在微过程控制下自动产生各部件单元控制信号,实现特定的功能。

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

2.指令格式

(1)指令格式

采用寄存器直接寻址方式,其格式如下:

7654

32

10

功能

OP-CODE

rs

rd

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

Rs或rd

选定的寄存器

00

01

10

R0

R1

R2

机器指令码

Addr地址码

功能说明

IN

ADDaddr

STAaddr

OUTaddr

JMPaddr

00H

10HXXH

20HXXH

30HXXH

40HXXH

“INPUT”中的数据→R0

R0+[addr]->R0

R0->[addr]

[addr]->BUS

addr→PC

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

为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。

图6-1数据通路框图

 

1,存储器读操作(KRD):

下载实验程序后按总清除按键(CLR)后,控制台SWA、SWB为“00”时,可对RAM连续手动读入操作。

2,存储器写操作(KWE):

下载实验程序后按总清除按键(CLR)后,控制台SWA、SWB为“01”时,可对RAM连续手动写操作。

3、启动程序(RP):

下载实验程序后按总清除按键(CLR)后,控制台SWA、SWB为“11”时,即可转入到微地址“01”号“取指令”微指令,启动程序运行。

SWB

SWA

控制台指令

0

0

1

0

1

1

读内存(KRD)

写内存(KWE)

启动程序(RP)

根据以上要求设计数据通路框图,如图5-1所示。

表6-124位微代码定义:

24

23

22

21

20

19

18

17

16

151413

121110

987

6

5

4

3

2

1

S3

S2

S1

S0

M

Cn

WE

A9

A8

A

B

C

uA5

uA4

uA3

uA2

uA1

uA0

表6-2A、B、C各字段功能说明:

A字段

B字段

C字段

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-B

0

0

1

P

(1)

0

1

0

LDDR1

0

1

0

0

1

0

0

1

1

LDDR2

0

1

1

0

1

1

1

0

0

LDIR

1

0

0

1

0

0

P(4)

1

0

1

LOAD

1

0

1

ALU-B

1

0

1

LDAR

1

1

0

LDAR

1

1

0

PC-B

1

1

0

LDPC

24位微代码中各信号的功能

(1)uA5—uA0:

微程序控制器的微地址输出信号,是下一条要执行的微指令的微地址。

(2)S3、S2、Sl、S0:

由微程序控制器输出的ALU操作选择信号,以控制执行16种算术操作或16种逻辑操作中的某一种操作。

(3)M:

微程序控制输出的ALU操作方式选择信号端。

M=0执行算术操作;M=l执行逻辑操作。

(4)Cn:

微程序控制器输出的进位标志信号,Cn=0表示ALU运算时最低位有进位,Cn=1则表示无进位。

(5)WE:

微程序控制器输出的RAM控制信号。

当/CE=0时,如WE=0为存储器读;如WE=1为存储器写。

(6)A9、A8——译码后产生CS0、CS1、CS2信号,分别作为SW_B、RAM、LED的选通控制信号。

(7)A字段(15、14、13)——译码后产生与总线相连接的各单元的输入选通信号(见表6-1)。

(8)B字段(12、11、10)——译码后产生与总线相连接的各单元的输出选通信号。

(9)C字段(9、8、7)——译码后产生分支判断测试信号P

(1)~P(4)和LDPC信号。

系统涉及到的微程序流程见图6-2。

当执行“取指令”微指令时,该微指令的判断测试字段为P

(1)测试。

由于“取指令”微指令是所有微程序都使用的公用微指令,因此P

(1)的测试结果出现多路分支(见图6-2左图)。

用指令寄存器的高4位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定地址单元。

控制台操作为P(4)测试(见图6-2右图),它以控制台信号SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。

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

注意:

微程序流程图上的微地址为8进制!

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

表6-2二进制微代码表

微地址

微指令

S3S2S1S0MCNWEA9A8

A

B

C

UA5—UA0

00

018110

000000011

000

000

100

010000

01

00ED82

000000001

110

110

110

000010

02

00C048

000000001

100

000

001

001000

03

00E004

000000001

110

000

000

000100

04

00B005

000000001

011

000

000

000101

05

01A206

000000011

010

001

000

000110

06

919A01

100100011

001

101

000

000001

07

00E00D

000000001

110

000

000

001101

10

001001

000000000

001

000

000

000001

11

00ED83

000000001

110

110

110

000011

12

00ED87

000000001

110

110

110

000111

13

00ED8E

000000001

110

110

110

001110

14

00ED96

000000011

110

110

110

010110

15

038201

00000011

000

001

000

000001

16

00E00F

000000001

110

000

000

001111

17

00A015

000000001

010

000

000

010101

20

01ED92

000000011

110

110

110

010010

21

01ED94

000000011

110

110

110

010100

22

00A010

000000001

010

000

000

010000

23

008001

000000001

000

000

000

000001

24

062011

000001100

010

000

000

010001

25

070A01

000001110

000

101

000

000001

26

00D181

000000001

101

000

110

000001

指令寄存器(IR):

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

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

指令划分为操作码和地址码段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试“P

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

指令译码器:

根据指令中的操作码强置微控制器单元的微地址,使下一条微指令指向相应的微程序首地址。

实验中LCD液晶显示屏可以用来显示模型机CPU中各组成单元的内容。

将B100_C.sof文件下载到实验台后,按系统复位键,LCD液晶显示屏即显示CPU中各组成单元的内容。

其功能说明如下:

LCD液晶显示屏功能说明

图6-4LCD液晶显示屏

名称

作用

名称

作用

IN

输入单元INPUT

DR1

暂存器DR1

OUT

输出单元OUTPUT

DR2

暂存器DR2

ALU

算术逻辑单元

PC

程序计数器

BUS

内部数据总线

AR

地址寄存器

R0

寄存器R0

RAM

程序/数据存储器

R1

寄存器R1

IR

指令寄存器

R2

寄存器R2

MC

微程序控制器

图6-3模型计算机电路原理图

实验程序1:

说明:

1、指令IN为单字节指令,指令码:

00,其功能是将输入口IN的数据送到寄存器R0;

2、指令SUB[0BH]为双字节指令,指令码:

200B,其功能是将R0中的数据减去RAM地址0BH中的数据;

3、指令INC为双字节指令,指令码:

3005,其功能是将R0中的数据加1后送到R0;

4、指令DEC为双字节指令,指令码:

4007,其功能是将R0中的数据减1后送到R0;

三.实验步骤

01

01

01

01

地址

内容

助记符

说明

00

00

INRO

"INPUTDEVICE"-->RO

01

10

ADD[0AH]

R0+[OAH]-->RO

02

0A

03

20

STA[0BH]

R0->[0BH]

04

0B

05

30

OUT[OBH]

[0BH]->LED

06

0B

07

40

JMP[08H]

[08]->PC

08

13

09

00

实验步骤:

(1)按1次系统复位键8,并置键8为高电平,使CPU允许正常工作;

(2)控制开关(键4、键3)设置为SWB、SWA=1,1,处于程序执行方式,观察图6-1控制台:

RP(11);

(3)通过键2、键1输入运算数据,如56H,按4次单步键7,产生2个脉冲,执行2条微指令,进入到图6-1控制台的RP(11),此时的微指令地址是“23”,微指令码MC=008001;IN=56H

(4)再用键7产生1个脉冲,执行1条微指令,微程序流程进入图6-2左的“运行微程序”的最上块:

此时PC=00送地址寄存器AR=00,PC自动加1,PC=01,MC=00ED82,IN=56;

注意:

1、实验箱上数码管7、6显示的是下一节拍将要执行的微指令的微地址码;

2、数码管3显示的是进位情况,有进位,LED3显示1,无进位LED3显示0。

(5)键7产生1个脉冲,执行微指令MC=00C048(图6-2),RAM中的第一条指令码00进入BUS,再由BUS进入指令寄存器IR=00。

键7再进1个脉冲,进入MC=001001,执行指令IN,送数INR0=56;

(6)键7产生1个脉冲,执行完IN指令后,返回到初始端,执行微指令MC=00ED82;

(7)键7产生2个脉冲后,执行微指令MC=00ED83,即执行SUB指令的第1步:

PC送AR=02,PC+1=03,这时RAM中在02地址的0AH进入BUS=0A;

(8)键7产生1个脉冲,执行微指令MC=00E004,即执行SUB指令的第2步:

BUS数据送AR=0A,由实验程序1可知,0A是SUB指令的加数的间接地址,而在地址0A中放有03H,

(9)键7产生1个脉冲,MC=00B005,执行SUB的第3步:

将RAM中0A地址的数据送BUS,再送DR1=03H。

注意,此时指令寄存器IR中仍放有SUB的操作码10H,PC=03指向下一条指令SUB;

(10)键7产生1个脉冲,MC=01A206,执行SUB的第4步(微地址是05),R0送DR0=56;

(11)键7产生1个脉冲,MC=619A01,执行SUB的最后一步,DR1-DR2=53H,通过总线BUS(=53),送R0=53H。

键7再产生1个脉冲,返回到初始端;

(12)键7产生2个脉冲,MC=00ED87,执行STA指令;键7再两2个脉冲后,和8A被写入RAM,地址单元是0B。

键7一个脉冲后,返回到初始端;

(13)键7产生2个脉冲后,执行微指令,即执行OR指令的第1步:

PC送AR=02,PC+1=05,

(14)键7产生1个脉冲,执行微指令,即执行OR指令的第2步:

BUS数据送AR=0A,由实验程序1可知,0A是SUB指令的加数的间接地址,而在地址0A中放有03H,

(15)键7产生1个脉冲,执行OR的第3步:

将RAM中0A地址的数据送BUS,再送DR1=03H。

注意,此时指令寄存器IR中仍放有OR的操作码10H,PC=05指向下一条指令OR;

(16)键7产生1个脉冲,执行OR的第4步,R0送DR0;

(17)键7产生1个脉冲,执行OR的最后一步,DR1+DR2,通过总线BUS送R0。

键7再产生1个脉冲,返回到初始端;

(18)键7产生2个脉冲后,执行微指令,即执行AND指令的第1步:

PC+1=07;

(19)键7产生1个脉冲,执行微指令,即执行AND指令的第2步:

BUS数据送AR=0A,,

(20)键7产生1个脉冲,执行AND的第3步:

将RAM中0A地址的数据送BUS,再送DR1=03H。

注意,此时指令寄存器IR中仍放有AND的操作码10H,PC=07指向下一条指令AND;

(21)键7产生1个脉冲,执行AND的第4步,R0送DR0;

(22)键7产生1个脉冲,执行AND的最后一步,键7再产生1个脉冲,返回到初始端;

(四)EAB在系统读写

使用在系统EAB读写工具对模型CPU中的存放微程序的ROM和存放程序与数据的RAM进行观察和改写。

ROM:

RAM:

(五)实验要求

1.实验之前应认真准备,写出实验步骤和具体设计内容;2.实验前应掌握所有控制信号的作用;

3.掌握在QuartusII环境下,采用图形编辑方法的设计技术;4.掌握在微程序控制下机器指令的写入、读出、和程序执行方法;5.掌握LPM_RAM的配置方法,实现对机器指令输入;6.掌握微程序的设计方法,学会编写二进制微指令代码表。

7.掌握对LPM_ROM的配置方法,实现微指令代码表的输入。

7、通过液晶屏,观察各相关寄存器、ALU、DR1、PC、IR、AR、BUS等内容的变化情况,根据表6-2微程序控制流程,单步跟踪微程序的执行情况。

通过INPUT(键2、键1)输入运算数据,跟踪程序的执行情况,并详细记录每条微指令执行后,相关单元输出数据的变化情况,依次执行机器指令,从而验证所设计的正确性。

在完成基本验证实验后,根据这5条指令,自行设计程序、输入和调试,记录实验数据。

(六)各信号的功能说明

(1)uA5—uA0微程序控制器的微地址输出信号。

(2)IR7一IR5指令寄存器IR7、IR6、IR5输出信号,输入至微程序控制器作为修改微地址的控制信号。

(3)CLK1——时钟信号源,输入频率为6~12MHz。

(4)T1~T4——时序信号发生器提供的四个标准输出信号,可以采用单拍或连续两种方式输出。

(5)s3、s2、sl、s0、——由微程序控制器输出的ALU操作选择信号,以控制执行16种算术操作或16种逻辑操作中的某一种操作。

(6)M—微程序控制输出的ALU操作方式选择信号端。

M=0执行算术操作;M=l执行逻辑操作。

(7)

—微程序控制器的输出的进位标志信号,

=0表示ALU运算时最低位有进位

=1,则表示无进位。

(8)SWE—微程序控制器的微地址修改信号。

(9)SRD—微程序控制器的微地址修改信号。

(10)RST1—清“0”信号输入端。

(11)LDAR——微程序控制器的输入信号,将程序计数器的内容打入到存储器地址寄存器AR中,产生访问RAM的地址。

(12)/CE——微程序控制器输出的RAM选片信号,/CE=0时,LPM_RAM单元被选中。

(13)WE——微程序控制器输出的RAM控制信号。

当/CE=0时,如WE=0为存储器读;如WE=1为存储器写。

(14)BUS(7..0)——微程序控制器的内部数据总线。

(15)LDPC——微程序控制器输出的PC打入信号。

(16)LOAD——微程序控制器的输出信号。

LOAD=1时,PC(程序计数器)处于并行置数状态;LOAD=0时,PC处于计数状态。

(17)ALU_B—微程序控制器输出信号,控制运算器的运算结果是否送到总线BUS.低电平有效。

(18)PC_B—微程序控制器输出信号,控制程序计数器的内容是否送到总线BUS,低电平有效。

(19)R0_B—微程序控制器输出信号,控制寄存器R4的内容是否达到总线BUS,低电平有效。

(20)SW_B—微程序控制器输出信号,控制(键2、键1)的八位数据是否送到总线,低电平有效。

(21)LDR0—微程序控制器的输出信号。

控制把总线上的数据打入寄存器DR0。

(22)LDR1—微程序控制器输出信号,控制把总线上的数据打入寄存器DR1

(23)LDIR—微程序控制器输出信号,控制把总线上的数据(指令)输入到指令寄存器IR中。

(25)P

(1)—微程序控制器输出的修改微地址P

(1),标志信号。

用于机器指令的微程序分支测试。

(26)uA—微程序控制器的微地址寄存器输出控制信号,uA=0,微地址信号输出。

(27)STEP—时序发生器启动控制信号。

按2次STEP键,时序发生器可输出一组(单步)或连续的时序信号Tl、T2、T3、T4。

(七)实验的心得与体会:

这次的课程设计让我了解了更多关于计算机组成与系统结构的知识,加深了对计算机工作原理的认识。

也培养了我们的胆大、心细、谨慎的工作作风。

面对问题要自己去努力解决,多问问身边的同学,多动手查查,多上网找找,所以要想成功就得事事做到细心,耐心,恒心。

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

当前位置:首页 > PPT模板 > 商务科技

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

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