计算机组成原理指令扩展实验Word文件下载.docx

上传人:b****3 文档编号:6287231 上传时间:2023-05-06 格式:DOCX 页数:14 大小:208.58KB
下载 相关 举报
计算机组成原理指令扩展实验Word文件下载.docx_第1页
第1页 / 共14页
计算机组成原理指令扩展实验Word文件下载.docx_第2页
第2页 / 共14页
计算机组成原理指令扩展实验Word文件下载.docx_第3页
第3页 / 共14页
计算机组成原理指令扩展实验Word文件下载.docx_第4页
第4页 / 共14页
计算机组成原理指令扩展实验Word文件下载.docx_第5页
第5页 / 共14页
计算机组成原理指令扩展实验Word文件下载.docx_第6页
第6页 / 共14页
计算机组成原理指令扩展实验Word文件下载.docx_第7页
第7页 / 共14页
计算机组成原理指令扩展实验Word文件下载.docx_第8页
第8页 / 共14页
计算机组成原理指令扩展实验Word文件下载.docx_第9页
第9页 / 共14页
计算机组成原理指令扩展实验Word文件下载.docx_第10页
第10页 / 共14页
计算机组成原理指令扩展实验Word文件下载.docx_第11页
第11页 / 共14页
计算机组成原理指令扩展实验Word文件下载.docx_第12页
第12页 / 共14页
计算机组成原理指令扩展实验Word文件下载.docx_第13页
第13页 / 共14页
计算机组成原理指令扩展实验Word文件下载.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机组成原理指令扩展实验Word文件下载.docx

《计算机组成原理指令扩展实验Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机组成原理指令扩展实验Word文件下载.docx(14页珍藏版)》请在冰点文库上搜索。

计算机组成原理指令扩展实验Word文件下载.docx

1、两条指令的格式及功能

写明2条指令的格式、功能、寻址方式、操作码编码、微程序步数、微程序入口地址。

(1)指令格式:

ADTWDR

功能:

DR+2->

DR(DR内的值自加2)

寻址方式:

寄存器寻址

操作码编码:

10100001(A1)

微程序步数:

2

微程序入口地址:

81

(2)指令格式:

ADRMDR,[SR]

DR+[SR]->

DR

DR为寄存器寻址、[SR]为寄存器间接寻址

11100011(E3)

3

83

2、指令所对应的微程序

每条指令对应的微程序、每步功能及各自段值得意义

(1)指令ADTWDR对应的微程序为:

入口

地址

下址

CI-0

SCC3-0

MAR

I2-0

I8-6

I5-3

B口

A口

SST

SSHSCI

DC2

DC1

00

E0

4,3

3,0

8,0

1,1

0,0

82

30

(2)指令ADTWDR,[SR]对应的微程序为:

4,4

1,0

0,8

3,0

84

4,3

8,0

85

1,6

微程序各字段的含义如下:

入口地址:

指令的微程序入口地址;

下址:

微程序执行完后下一条微程序的地址;

00表示需要进行地址转移逻辑,30表示微程序结束。

CI3-0:

判别测试字段,其主要编码及功能如表1。

SCC3-0:

地址转移逻辑字符,仅当CI3-0为0011时有效。

MRW:

控制对内存和I/O接口的读写,其主要功能如下:

000,写内存;

001读内存;

010写串口;

011读串口;

1XX无内存和串口的读写操作。

I2-0:

控制数据来源,其编码及功能见表3。

I8-6:

控制对运算结果的处理,其编码及功能见表3。

I5-3:

运算功能的选择,其编码及功能见表3。

表3Am2901的9位控制码编码及功能

SST:

对CZVS的控制。

SSHSCI:

设置进位输入。

B口:

1000表示IR的DR字段,0000表示不用B口。

A口:

1000表示IR的SR字段,0000表示不用A口。

DC2:

专用寄存器接收控制,其主要编码及功能见表4-1。

DC1:

送内部总线的数据,其主要编码及功能见表4-2。

表4-1

专用寄存器接受控制

表4-2

内部总线数据来源选择控制

DC2编码

译码操作

操作说明

000

NC

不操作

/SWTOIB

送开关内容到内部总线

001

/GIR

指令寄存器接受

/RTOIB

送ALU输出到内部总线

010

/

16位机不用

/ETOIB

送IR地位字节内容到内部总线

011

/GAR

地址寄存器接受

/FTOIB

送程序状态字到内部总线

100

/INTR

恢复原中断优先级

101

/INTN

接受新中断优先级

110

/E1

用于开中断指令

/INTV

送中断向量到内部总线

111

/D1

用于关中断指令

3、ABEL语言源程序编辑以及JED文件生成

m256c.abl源程序修改过程(10步)以及生成JED文件的整个操作过程。

ADTW=(IR==[1,0,1,0,0,0,0,1]);

//

(1)指令OP定义:

A1

ADRM=(IR==[1,1,1,0,0,0,1,1]);

E3

MA81=(Y==[1,0,0,0,0,0,0,1]);

//

(2)微指令地址定义:

81,82

MA82=(Y==[1,0,0,0,0,0,1,0]);

MA83=(Y==[1,0,0,0,0,0,1,1]);

83,84,85

MA84=(Y==[1,0,0,0,0,1,0,0]);

MA85=(Y==[1,0,0,0,0,1,0,1]);

//(3)入口地址定义:

81(10000001)

83(10000011)

D0=!

C_M&

(!

_MAP&

(ADRM#ADTW#SUB#OR#CMP#MVRR#DEC#SHR#JR#PSHF#PUSH#POP#POPF

#STRR#LDRR#LDPC#MVRD#CALA#RET#IRET#DI#ASR#RCR#STC#LDRA#LDRX#STRA

#STRX#SBB#JRS#JRNS)#NXTADDR0&

!

_PL)&

Bit8;

D1=!

(ADRM#AND#OR#TEST#MVRR#SHL#SHR#IN_#OUT#POP#POPF#LDRR#LDPC

#JMPA#CALA#RET#IRET#NOT#ASR#CLC#STC#JMPR#LDRA#STRA)

#NXTADDR1&

D7=!

(ADTW#ADRM)#NXTADDR7&

(4)下址定义MA81:

00,MA82:

30(00110000)

NXTADDR5:

=!

(MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E

#MA0F#MA10#MA11#MA13#MA14#MA16#MA18#MA1A#MA1C#MA1E#MA22#MA24#MA30

#MA3F#MA50#MA51#MA52#MA53#MA54#MA55#MA56#MA57#MA58#MA59#MA5A#MA63

#MA66#MA68#MA69#MA6A#MA82#MA85)&

NXTADDR4:

#MA0F#MA10#MA11#MA12#MA13#MA14#MA15#MA16#MA17#MA18#MA1A#MA1C

#MA1D#MA22#MA24#MA30#MA3F#MA50#MA51#MA52#MA53#MA54#MA55

#MA56#MA57#MA58#MA59#MA5A#MA5C#MA5E#MA60#MA63#MA66

#MA69#MA6A#MA82#MA85)&

(5)差别测试字段定义MA81:

E0(11100000),MA82:

CI3:

(MA00#MA01#MA02#MA19#MA1B#MA89#MA1F#MA20#MA21#MA23#MA3A#MA3B#MA3C

#MA3D#MA3E#MA5B#MA5D#MA5F#MA61#MA62#MA64#MA65#MA67#MA89#MA81#MA83#MA84)

&

NRST&

CI2:

(MA00#MA01#MA02#MA19#MA1B#MA89#MA1F#MA20#MA21#MA23#MA3A

#MA3B#MA3C#MA3D#MA3E#MA5B#MA5D#MA5F#MA61#MA62#MA64

#MA65#MA67#MA81#MA83#MA84)&

CI1:

1&

CI0:

#MA0F#MA10#MA11#MA12#MA13#MA14#MA15#MA16#MA17#MA18#MA1A#MA1C#MA1D

#MA1E#MA22#MA24#MA30#MA31#MA3F#MA50#MA51#MA52#MA53#MA54#MA55#MA56

#MA57#MA58#MA59#MA5A#MA5C#MA5E#MA60#MA63#MA66#MA68#MA69

#MA6A#MA82#MA85)&

(6)MVR定义,MA81:

4,MA82:

4(100)

_MIO00:

=!

(MA00#MA01#MA03#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B

#MA0C#MA0D#MA0E#MA0F#MA10#MA11#MA12#MA15#MA17#MA19#MA1B#MA89#MA1D

#MA1E#MA1F#MA21#MA23#MA30#MA31#MA3A#MA3B#MA3D#MA3F#MA50#MA51#MA52

#MA53#MA54#MA55#MA56#MA57#MA58#MA59#MA5A#MA5B#MA5D#MA5F#MA61#MA64

#MA66#MA67#MA69#MA6A#MA81#MA82#MA83#MA84);

_WE00:

=(MA02#MA14#MA18#MA1C#MA20#MA24#MA5C#MA5E#MA60#MA62#MA68#MA85);

(7)I2-0定义,MA81:

3,MA82:

3(011)

I200:

=(MA0B#MA11#MA12#MA14#MA1A#MA1B#MA89#MA1C#MA20#MA24#MA30#MA3C#MA3F#MA5A

#MA5C#MA5E#MA60#MA62#MA65#MA66#MA6A#MA83#MA85);

I100:

=(MA01#MA0C#MA0D#MA0E#MA0F#MA12#MA13#MA14#MA15#MA17#MA19#MA1C#MA1D

#MA1E#MA1F#MA20#MA21#MA22#MA23#MA24#MA30#MA31#MA3B#MA3D#MA3E

#MA3F#MA52#MA53#MA54#MA55#MA5B#MA5C#MA5D#MA5F#MA60#MA61#MA63

#MA64#MA67#MA81#MA82#MA84#MA85);

I000:

(MA00#MA01#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0C#MA0D#MA0E#MA0F

#MA11#MA12#MA13#MA14#MA15#MA17#MA19#MA1C#MA1D#MA1E#MA1F#MA20

#MA21#MA23#MA24#MA30#MA31#MA3B#MA3D#MA3F#MA50#MA51#MA52#MA53

#MA54#MA55#MA5B#MA5C#MA5D#MA5E#MA5F#MA60#MA61#MA62#MA63#MA64

#MA67#MA6A#MA81#MA82#MA84);

(7)I8-6定义,MA81:

I700:

=(MA00#MA01#MA04#MA05#MA06#MA07#MA08#MA0B#MA0C#MA0D#MA0E#MA11#MA14#MA15

#MA17#MA1C#MA1D#MA1E#MA1F#MA21#MA22#MA23#MA24#MA31#MA3B#MA3D#MA3F

#MA50#MA51#MA52#MA54#MA5A#MA5B#MA5D#MA5F#MA61#MA64

#MA66#MA67#MA6A#MA81#MA82#MA85);

I600:

(MA00#MA02#MA03#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C

#MA0D#MA0E#MA0F#MA10#MA11#MA12#MA13#MA14#MA15#MA16#MA18#MA19#MA1A#MA1B

#MA89#MA1C#MA21#MA24#MA3A#MA3B#MA3C#MA3D#MA3E#MA3F#MA50#MA51

#MA52#MA53#MA54#MA55#MA56#MA57#MA58#MA59#MA5A#MA5C#MA5E#MA60#MA62#MA63

#MA64#MA65#MA66#MA68#MA69#MA6A#MA81#MA82#MA83#MA85);

(7)I5-3定义,MA81:

0,MA82:

0无

(8)B口A口定义,MA81:

8,0;

MA82:

B30=(MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E

#MA0F#MA19#MA1C#MA50#MA51#MA52#MA53#MA54#MA55#MA63#MA81#MA82#MA84#MA85);

A30=(MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA1A#MA1B#MA89#MA50#MA51

#MA5A#MA5E#MA62#MA66#MA83);

(9)SSTSSHSCI定义,MA81:

1,1;

MA82:

1,1(001,001)

SST000:

=(MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0C#MA0D#MA0F#MA50#MA51#MA52

#MA53#MA55#MA56#MA81#MA82);

SCI000:

=(MA00#MA01#MA05#MA09#MA0C#MA17#MA1D#MA1E#MA1F#MA23#MA31#MA53#MA54

#MA55#MA5B#MA5D#MA5F#MA61#MA67#MA81#MA82);

(10)DC2DC1定义,MA81:

0,0;

DC2_100:

=(MA00#MA01#MA12#MA15#MA17#MA19#MA1B#MA89#MA1D#MA1E#MA1F#MA21#MA23

#MA31#MA3A#MA3B#MA3D#MA58#MA59#MA5B#MA5C#MA5D#MA5E#MA5F#MA60#MA61

#MA62#MA64#MA67#MA83);

DC2_000:

=(MA00#MA01#MA02#MA12#MA15#MA17#MA19#MA1B#MA89#MA1D#MA1E#MA1F#MA21

#MA23#MA31#MA3A#MA3B#MA3C#MA3D#MA59#MA5B#MA5C#MA5D#MA5E#MA5F#MA60

#MA61#MA62#MA64#MA67#MA83);

按照如上代码对源代码进行修改后,利用JED编译软件生成.jed文件

具体操作步骤

①双击lc4256.syn,启动ispLEVER

②双击.abl文件

③双击CompileLogic进行编译

④双击JEDECFile,生成.jed文件

4、MACH编程

将JED文件下载到MACH器件的过程.

启动LatticeSemiconductor公司IspVMSystem软件,弹出主界面:

(1)连接好教学计算机上在线MACH编程电缆,打开教学计算机的电源。

(2)通过主界面的SCAN按钮找到在线编程器件。

(3)双击软件找到的设备LC4256v,通过Browse按钮选择已经编译好的JED文件,单击OK.

(4)重新回到主界面,点击GO命令进行编程,编程成功后关闭编程窗口。

五、编程验证及结果分析

编写一个验证程序,运行结果说明

1.第二条指令(ADTW)验证程序截图如下所示

分析:

上图是输入如下代码的结果:

2000:

MVRDR0,0005

2002:

INCR0

2004:

RET

2006:

E2002A110

G2000由分析可知代码最终结果正确

2.第三条指令(ADRM)验证程序截图如下所示

R1的原始值为1,后将R2值变换为7之后,执行程序,实现了R1和R2相加,将结果8送入R1中。

经过u命令进行验证,结果正确。

六、实验体会

经过一个下午的实验,我们终于完成了指令的扩展实验,得出了实验结果。

在这个过程中我不仅学到了很多知识,而且最重要的是我对计算机有了更加深刻的了解。

通过本次实验,结合对以前课上对指令的理解,我更彻底的了解了指令的执行原理,在本次实验中,最重要的是对代码的修改部分,这就要建立在对每一条微指令的属性值的正确理解上,对应具体情况对每一条指令进行相应修改,从而才能正确编译,最后经过代码的验证已经编译好的文件,最终验证指令的扩展成功。

在这个过程中只要错了一步就不能完成最后的验证,经过了好几次我们才把文件修改正确完成验证。

在试验的过程中,我们充分的理解了计算机微程序控制器的组成和设计技术,包括Am2910期间的功能和具体用法,教学计算机的总体组成和各部件之间的连接方法。

让我们记忆最深刻的是实验的过程中,因为一小步的错误致使我们花了很长的时间才完成实验。

也因为这样,我们才意识到学习计算机的重要性,因为只有真正的认真者,真正能够耐下心来完成这个学习过程的人才是能够有大成就的,就想老师在试验中说的,其实这个实验很简单,只不过需要的是你们的耐心与认真。

关于计算机硬件和软件的学习还在继续,本次实验也是我们学习道路上的垫脚石。

我相信,即使再难的实验,只要态度好,认真做,也会轻松的完成。

而我们要做的就是总结经验,然后深入思考,最后再次验证,才能得到最后的结果。

计算机的学习路漫漫其修远兮,我将用我的亲身体验来证明。

教师评价

评定项目

A

B

C

D

基本部件原理清楚

操作熟练

微指令设计合理

解析完整

微程序功能正确

文字流畅

验证程序运行正确

报告规范

其他:

评价教师签名:

年月日

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2