计算机组成原理指令译码,计算机组成原理实验报告指令译码器.docx

该实验报告详细介绍了河北大学计算机组成原理中的指令译码器实验。实验旨在理解指令译码器的功能,学习其设计方法。通过FPGA-CPU独立调试模式,观察不同指令在C和Z标志位变化时对控制信号的影响,特别是对有条件转移指令如JNCADR和JNZADR。实验结果表明,C和Z的取值变化仅影响与标志位相关的指令执行,对其他指令无影响。
摘要由CSDN通过智能技术生成

河北大学计算机组成原理实验报告

实验项目指令译码器成绩

—X实验目的:

理解指令译码器的作用和重要性。

学习设计指令译码器。

实验原理:

指令译码器是计算机控制器屮最重要的部分。所谓组合逻辑控制器就是指指令译码电路是 由组合逻辑实现的。

组合逻辑控制器乂称硬连线控制器,是设计计算机的一种方法。这种控制器中的控制信号 直接由各种类型的逻辑门和触发器等构成。这样,一旦控制部件构成后,除非重新设计和物理 上对它重新连线,否则要想增加新的功能是不可能的。结构上这种缺陷使得硬连线控制器的设 计和调试变得非常复杂而且代价很大。所以,硬连线控制器曾一度被微程序控制器所取代。但 是随着新一代及其及VLSI技术的发展,这种控制器又得到了广泛重视,如RISC机广泛使用这 种控制器。

图6-42是组合逻辑控制器的方框图。逻辑网络的输入信号来源有3个:①指令操作码译 码器的输出In;②来自时序发生器的节拍电位信号③来自执行部件的反馈信号Bj。逻辑网 络的输出信号就是微操作控制信号,用来对执行部件进行控制。

计数启停

计数启停

时钟

模k

计数器

l/k译码器

>乍码r地址码指令译码器lih

>乍码

r

地址码

指令译码器

li

h

…组合逻辑 ,n网络

Bi

L

执行

B2

部件

? ? ?

的反

L

馈信

Bj

图6-42组合逻辑控制器的结构方框图

组合逻辑控制器的基本原理可描述位:某一微操作控制信号C『是指令操作码译码器的输 出h、时序信号(节拍电位信号TQ和状态条件信号艮的逻辑函数。即

CB=f(In, Tk, BJ

用这种方法设计控制器,需要根据每条指令的要求,让节拍电位和时序脉冲有步骤地去控 制机器的各有关部分,一步一步地执行指令所规定的微操作,从而在一个指令周期内完成一条 指令所规定的全部操作。

三、实验步骤:

将试验台设置成FPGA-CPU独立调试模式,REGSEL二0、CLKSEL=k FDSEL二0。使用试验 台上的单脉冲,即STEP_CLK短路子短接,短路子RUN_CLK断开。

将设计在QuartusTT下输入,变异后下载到TEC-CA ±的FPGA中。

拨动试验台上的开关SD/SD。,改变IR115..12]、进位标志C和结果为0标志Z,观察 指示灯R/R。显示的控制信号,并填写表6-28o

四、实验现象及分析:

实验结果如表6-28所示:

表6-28指令译码器实验(C二0且Z二0)

指令

IR[15..12

1

OP

[2..0]

C_z_j_fl ag

ljjnstr uct

DRWr

Mem_

Write

DW_in

struct

Chang

e_z

chang

e_c

seLme mdata

ADD

DR,SR

0000

000

0

0

1

0

0

1

1

0

INC

DR

0001

001

0

0

1

0

0

1

1

0

SUB

DR,SR

0010

010

0

0

1

0

0

1

1

0

DEC

DR

0011

Oil

0

0

1

0

0

1

1

0

AND

DR,SR

0100

100

0

0

1

0

0

1

0

0

OR DR,SR

0101

101

0

0

1

0

0

1

0

0

NOT

DR

0110

110

0

0

1

0

0

1

0

0

MOV

DR,SR

0111

111

0

0

1

0

0

0

0

0

JMPADR

1000

111

0

1

0

0

1

0

0

0

JNCADR

1001

111

1

0

0

0

0

0

0

0

JNZADR

1010

111

1

0

0

0

0

0

0

0

MVRD

DR, DATA

1100

111

0

0

1

0

1

0

0

1

LDR

DR,SR

1101

111

0

0

1

0

0

0

0

1

STR

SR,DR

1110

111

0

0

0

1

0

0

0

0

C=0 且 Z=1

JNCADR

1001

111

1

0

0

0

0

0

0

0

JNZADR

1010

111

0

0

0

0

0

0

0

0

C=1 且 Z=0

JNCADR

1001

111

0

0

0

0

0

0

0

0

JNZADR

1010

111

1

0

0

0

0

0

0

0

C=0 且 Z=0

JNCADR

1001

111

0

0

0

0

0

0

0

0

JNZADR

1010

111

0

0

0

0

0

0

0

0

由上表可知,C和Z只影响与标志位有关的指令的结果。其中指令JNC ADR和JNZ ADR有 条件转移,所以当C和Z的取值变化时,会影响实验结果。对于其他指令,C和Z的取值发生 变化吋结果不变。对于JNC ADR指令,其功能是:如果00,则PC-ADR;如果O1,则PC- PC+1。当00时,c_z_j_flag=l,表示需要条件转移;当C二1时,转向下一条

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值