计算机组成原理指令扩展实验解析.docx

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

计算机组成原理指令扩展实验解析.docx

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

计算机组成原理指令扩展实验解析.docx

计算机组成原理指令扩展实验解析

《计算机组成原理A》课程设计性实验报告

开课实验室:

计算机组成原理实验室年月日

实验题目

指令扩展实验

一、实验目的

深入了解教学计算机微程序控制器的组成和设计技术,包括Am2910器件的功能与具体用法,教学计算机的总体组成和部件之间的连接方法,总之应该深入理解控制器部件的组成、设计、控制与使用等诸项知识。

二、设备与环境

TEC-XP+教学机,微机(装有WindowsXP、ISPLEVER、ispVMSystem等软件)。

三、实验内容

在现有的基本指令系统上,扩展2条指令,分别是:

指令一:

NXORDR,SR,其功能是(DR⊕SR)DR。

指令二:

SWRMDR,[SR],其功能是DR与[SR]的值互换,实现寄存器与内存单元(通过间接寻址方式)之间的数据传送。

四、实验步骤

1、CPU模型

2、微程序控制器组成原理框图

3、机器指令与微指令关系

①PC:

存放下一条机器指令的地址(向指令存储器提供指令地址)。

②指令存储器:

(存放所有机器指令),经地址译码,选中相应存储单元,取出相应机器指令,送入指令寄存器IR。

③指令寄存器IR:

存放正在执行的机器指令。

机器指令包含两个字段:

操作码(OP)、地址码。

④由操作码(OP)映射得到微地址(译码过程),即机器指令所对应的微程序入口地址,存入微地址寄存器。

⑤控制存储器存放所有的微程序,经地址译码读出一条微指令。

⑥由控制存储器读出的一条微指令存入微指令寄存器。

4、教学机TEC-XP的控制器提供的控制信号(微指令格式)

①B0-B5字段:

DC1:

CPU内部总线数据来源选择控制,详见表1-1;DC2:

专用寄存器接收控制,详见表1-2。

②B6-B11字段:

SSHSCI:

最低进位输入、移位输入控制信号,详见表2-1;SST:

状态寄存器控制信号,详见表2-2。

③B12-B19字段:

A口:

0000表示不使用寄存器,1000表示取IR中的SR,0100表示R4(SP),0101表示R5(PC);

B口:

0000表示不使用寄存器,1000表示取IR中的DR,0100表示R4(SP),0101表示R5(PC)。

表1-1DC1-CPU内部总线数据来源选择表1-2DC2-专用寄存器接收控制

DC1

编码

译码

信号

操作说明

000

/SWTOIB

送开关内容到内部总线

001

/RTOIB

送ALU输出到内部总线

010

/ETOIB

送IR低位字内容到内部总线

011

/FTOIB

送程序状态字到内部总线

100

/

16位机不用

101

/

16位机不用

110

/INTV

送中断向量到内部总线

111

NC

无操作

DC1

编码

译码

信号

操作说明

000

NC

无操作

001

/GIR

指令寄存器接收

010

/

16位机不用

011

/GAR

地址寄存器接收

100

/INTR

恢复中断优先级

101

/INTN

接收中断优先级

110

/EI

用于开中断指令

111

/DI

用于关中断指令

表2-1状态寄存器表2-2最低进位输入、移位输入控制信号

SSHSCI

Cin/Shift

000

Cin=0

001

Cin=1

010

Cin=C

100

逻辑移位

101

循环移位

SST

C

Z

V

S

000

C

Z

V

S

001

Cy

ZR

OV

F15

010

内部总线

011

0

Z

V

S

100

1

Z

V

S

101

RAM0

Z

V

S

110

RAM15

Z

V

S

111

Q0

Z

V

S

 

④B20-B28字段:

I5-I3,I8-I6,I2-I0,为Am2901的9位控制码,详见下表3-1。

I8-I6:

运算结果处理

I5-I3:

运算功能

I2-I0:

数据来源

编码

通用寄存器

Q寄存器

Y的输出

R

S

000

F→Q

F

R+S

A

Q

001

F

S-R

A

B

010

F→B

A

R-S

0

Q

011

F→B

F

R∨S

0

B

100

F/2→B

Q/2→Q

F

R∧S

0

A

101

F/2→B

F

/R∧S

D

A

110

F*2→B

Q*2→Q

F

R∀S

D

Q

111

F*2→B

F

/(R∀S)

D

0

 

⑤B29-B31字段:

/MIOREQ/WE对内存和I/O接口读写控制:

MRW编码

功能

000

写内存

001

读内存

010

写串口

011

读串口

1XX

无内存和串口的读写操作

/MIO(0:

有内存或串口的读写,1:

无)

REQ(0:

读写内存,1:

读写串行口)

/WE(0:

写操作,1:

读操作)

 

⑥B32-B39字段:

顺序控制字段,CI3-CI0,SCC3-0=00100000(20H)时,表示MAPROM映射入口地址;CI3-CI0,SCC3-0=11100000(E0H)时,表示顺序执行;当CI3-CI0=0011(3H)时SCC3-0字段有效,此时SCC编码及功能详见下表4-1。

SCC编码

(CI3-CI0=0011时有效)

功能

(下面条件满足时,使/CC=0)

0000

必转移

0010

有中断,INT=0时转移

0100

C、Z测试,JRC、JRNC、JRZ、JRNZ指令

微指令转移条件不成立时,转移

0101

S测试,JRS、JRNS指令

微指令转移条件不成立时,转移

0110

IR10=0时(IN),转移

0111

IR8=1时(PUSH、POP),转移

 

⑦B40-B47字段:

微下地址字段

5、扩展的2条机器指令的格式及功能

扩展的2条机器指令的格式、功能、寻址方式、操作码编码、微程序步数、微程序入口地址如下表所示:

序号

格式

功能

寻址方式

编码

微程序步数

微程序

入口地址

1

NXORDR,SR

DR与SR的值异或送DR

寄存器直接寻址

22H

1

80

2

SWRMDR,[SR]

DR与[SR]的值互换

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

E9H

4

8A

6、指令所对应的微程序

每条机器指令对应的微程序、以及每步(微指令)的功能及各字段值的意义:

(1)如下表所示,为两条指令所对应的微程序:

序号

指令

入口

地址

下址

CI3-0

SCC3-0

MRW

I2-0

I8-6

I5-3

B口

A口

SST

SSHSCI

DC2

DC1

1

NXORDR,SR

80

30

30

4,1

3,7

8,8

1,0

0,0

2

SWRMDR,[SR]

8A

00

E0

4,3

0,0

8,0

0,0

0,0

00

E0

4,4

1,0

0,8

0,0

3,0

00

E0

1,7

3,0

8,0

0,0

0,0

30

30

0,2

1,0

0,0

0,0

0,1

(2)扩展的两条机器指令的功能及各字段的意义如下:

指令一:

NXORDR,SR

机器指令NXOR共包括一条微指令,该微指令的功能及各字段值的意义如下:

①入口地址:

表示该机器指令对应的微程序入口地址为80H;

②下址:

表示下一条机器指令的微程序入口地址为30H,并且为结束程序指令;

③CI3-0/SCC3-0:

CI3-0=0011,表示进行条件微转移;SCC3-0=0000,表示必转移,即执行完该条微指令后必须转移到下一条机器指令所对应的地址;

④MRW/I2-0:

MRW=100,表示无内存和串口的读写操作;I2-0=001,表示数据来源于A,B两个寄存器;

⑤I8-I6/I5-I3:

I8-I6=011,I5-I3=111,I8-I6表示将运算结果存入B寄存器;I5-I3表示进行异或运算;

⑥B口/A口:

B=A=1000,表示A口和B口的地址均为1000,该指令使用了A和B两个寄存器;

⑦SST/SSHSCI:

该指令中SST为1,转换为二进制位001,SST的功能为设置状态寄存器的值,表示为CZVS为C(Cy)Z(ZR)V(OV)S(F15);SSHSCI为0,其功能是设置进位输入,转换为二进制为000,表示Cin=0;

⑧DC2/DC1:

该指令中DC1和DC2分别为0,0,转换为二进制为000,000,其功能为DC1送开关内容到内部总线,DC2不进行操作。

指令二:

SWRMDR,[SR]

机器指令SWRM包括四条微指令,以下是四条微指令执行过程概述:

①机器指令入口地址为8A,下址为00,微指令顺序执行,无内存操作,数据来源为011,运算结果送入Q寄存器,由Y口输出,进行R与S的加法操作,B口为IR的DR,不使用A口数据,状态寄存器的值不变,进位输入为0,专用寄存器无操作,送开关内容到内部总线;

②微指令的入口地址为8B,下址为00,微指令顺序执行,无内存操作,数据来源为100,运算结果送入Y输出,进行R与S的加法运算,不使用B口数据,A口为IR的SR,状态寄存器的值不变,进位输入为0,地址寄存器接收数据,送开关内容到内部总线;

③微指令的入口地址为8C,下址为00,微指令顺序执行,对内存进行读操作,运算器获得数据,运算结果送入B口,并由Y输出,进行R与S的或运算,B口为IR的DR,不使用A口数据,状态寄存器的值不变,进位输入为0,专用寄存器无操作,送开关内容到内部总线;

④微指令的入口地址为8D,下址为30,执行完后必转,对内存进行写操作,数据来源为010,运算结果送入Y输出,进行R与S的加法运算,不使用A口与B口数据,状态寄存器的值不变,进位输入为0,专用寄存器无操作,送ALU输出到内部总线。

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

(1)添加指令操作码

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

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

(2)添加入口地址

添加NXOR指令的入口地址:

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

添加SWRM指令的入口地址:

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

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

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

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

(3)入口地址定义

对NXOR指令做如下修改:

D7=!

C_M&(!

_MAP&(NXOR#......)#NXTADDR7&!

_PL)&!

Bit8;

对SWRM指令做如下修改:

D1=!

C_M&(!

_MAP&(SWRM#······)#NXTADDR1&!

_PL)&!

Bit8;

D3=!

C_M&(!

_MAP&(SWRM#······)#NXTADDR3&!

_PL)&!

Bit8;

D7=!

C_M&(!

_MAP&(NXOR#SWRM#······)#NXTADDR7&!

_PL)&!

Bit8;

(4)下址定义

对NXOR指令做如下修改:

NXTADDR5:

=!

C_M&(MA80#......)&!

Bit8;

NXTADDR4:

=!

C_M&(MA80#......)&!

Bit8;

对SWRM指令做如下修改:

NXTADDR5:

=!

C_M&(MA8D#......)&!

Bit8;

NXTADDR4:

=!

C_M&(MA8D#......)&!

Bit8;

(5)条件转移字段定义

对NXOR指令做如下修改:

CI0:

=!

C_M&(MA80#......)&NRST&!

Bit8;

对SWRM指令做如下修改:

CI3:

=!

C_M&(MA8A#MA8B#MA8C#......)&NRST&!

Bit8;

CI2:

=!

C_M&(MA8A#MA8B#MA8C#......)&NRST&!

Bit8;

CI1:

=!

C_M&(MA8A#MA8B#MA8C#......)&NRST&!

Bit8;

CI0:

=!

C_M&(MA8D#......)&NRST&!

Bit8;

(6)MRW定义

对NXOR指令做如下修改:

!

_MIO00:

=!

(MA80#......);

对SWRM指令做如下修改:

!

_MIO00:

=!

(MA8A#MA8B#......);

_WE00:

=(MA8C#......);

(7)I2-I0,I8-I6,I5-I3定义

I200:

=(MA8B#MA8C#......);

I100:

=(MA8A#MA8C#MA8D#......);

!

I000:

=!

(MA8A#MA8C#......);

I700:

=(MA8C#......);

!

I600:

=!

(MA8B#MA8C#MA8D#MA80#......);

I500:

=(MA80#......);

I400:

=(MA80#......);

I300:

=(MA80#......);

(8)B口、A口定义

B30=(MA80#MA8A#MA8C#......);

A30=(MA8B#MA80#......);

(9)SST/SSHSCI定义

SST000:

=(MA80#......);

(10)DC2DC1定义

DC2_100:

=(MA8B#......);

DC2_000:

=(MA8B#......);

将源程序按如上所述修改完毕后,双击lc4256.syn,启动ispLEVER软件,之后双击m256c.abl文件,再双击CompileLogic进行编译,最后双击JEDECFile,生成.jed文件。

8、MACH编程

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

(1)接好教学机上的在线MACH编程电缆,将教学机电源打开;

(2)启动ispVMSystem软件,通过主界面的SCAN按钮找到在线编程器件;

(3)双击找到的编程器件,双击Browse按钮选择已经编译好的jed文件,选择OK按钮;

(4)重新回到主界面,点击GO命令进行编程。

5、编程验证及结果分析

1、NXORDR,SR机器指令验证结果:

送R1寄存器0001,送R2寄存器0001,R1与R2异或结果送R1,机器指令NXOR对应的机器码为2212,其中22为操作码,1-表示目的寄存器为R1,2-表示源寄存器为R2,由于没有修改监控程序,所以通过直接修改内存单元值,完成输入机器指令,验证结果R1=FFFF。

2、SWRMDR,[SR]机器指令验证结果:

送R1寄存器0001,R2寄存器2040,表示内存单元地址,2040的内存单元值为0007,机器指令SWRM对应的操作码为E9,地址码分别为1、2,表示目的寄存器使用R1,源寄存器使用R2,源操作数为寄存器间接寻址,实现内存单元与寄存器之间的数据交换,在没有修改监控程序的情况下,为了执行扩展的机器指令,通过E命令在内存单元2004处输入机器指令SWRM对应的机器码E912,最后结果R1=0007,内存单元2040的值为0001。

六、实验体会

通过本次指令扩展实验,认识到了,CPU不是直接执行由汇编语言汇编成的机器指令,而是执行微指令。

即一条机器指令的功能是由许多条微指令组成的序列来实现的,这个微指令序列就是微程序,也就是说往往一条机器指令对应一个微程序。

对于CPU来说,其主要完成4个基本功能:

①指令控制②操作控制③时间控制④数据加工;而CPU的基本组成有:

①控制器②运算器③cache,也就是说控制器在CPU中起着发布命令的“决策机构”作用,它完成协调和指挥整个计算机系统的操作。

对于实现控制器有两种方式:

①硬连线控制器,这种方法把控制器看作产生专门固定时序控制信号的逻辑电路,以用最少元件取得最高操作速度为设计目标;②微程序控制器,采用软件方法来设计硬件的一门技术,其主要思想是,仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里,当机器运行时,一条又一条地读出这些微指令,从而产生全机所需的各种操作控制信号,使相应部件执行所规定的操作。

微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成,其中微指令寄存器分为微地址寄存器和微命令寄存器两部分。

①控制存储器用来存放实现全部指令系统的微程序;②微指令寄存器用来存放由控制存储器读出的一条微指令信息,其中为微地址寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息;③地址转移逻辑:

当微程序出现分支时,通过判别测试字段P和执行部件的“状态条件”反馈信息去修改微地址寄存器内容。

最后,在实验中也对于TEC-XP教学机的组成有了一定的了解,通过在指令扩展实验中对机器指令、微指令以及CPU的组成和微指令的执行过程有了更深刻的认识。

 

教师评价

评定项目

A

B

C

D

评定项目

A

B

C

D

基本部件原理清楚

操作熟练

微指令设计合理

解析完整

微程序功能正确

文字流畅

验证程序运行正确

报告规范

其他:

 

评价教师签名:

年月日

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

当前位置:首页 > 自然科学 > 物理

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

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