计算机组成原理——指令系统

目录

指令关系

指令格式

寻址方式

 

 

  • 指令关系

高级语言:python、C语言、java等

汇编语言:如:mov ds, ax;jmp halt_step等

机器指令:操作码(OP)+地址码(A)

微指令:由CPU中操作控制器发出的控制信号,作用与逻辑元件,使逻辑元件是开还是关,如为1则PC(程序计数器)+1等。如下图:

  • 指令格式

三地址指令

OP(操作码)

A(地址码)

A

A

双地址指令

OP

A

A

单地址指令

OP

A

零地址指令

OP

三地址指令:如加法指令。

双地址指令:如读写数据指令。

单地址指令:如“++(+1)”,“--(-1)”指令。

零地址指令:用于指令冲突的延时。

操作码变长可以减少指令编译的分析时间。

  • 寻址方式

寻找下一条要执行的指令的地址

  1. 指令寻址方式

顺序寻址:程序中的机械指令序列在主存中往往按顺序存放。

跳跃寻址:程序出现分支或转移,改变指令执行的顺序。

  1. 操作数寻址方式

操作码:计算机程序中所规定的要执行操作的那一部分指令或字段(通常用代码表示),其实就是指令序列号,用来告诉CPU需要执行哪一条指令

指令系统的每一条指令都有一个操作码,它表示该指令应进行什么性质的操作。不同的指令用操作码这个字段的不同编码来表示,每一种编码代表一种指令。组成操作码字段的位数一般取决于计算机指令系统的规模。

操作数:运算符作用于的实体,是表达式中的一个组成部分,它规定了指令中进行数字运算的量

通常一条指令均包含操作符和操作数。例如:在比较指令中操作符指定计算机做比较操作,操作数则指定进行比较的两个数值。

操作数是指令执行的参与者,也就是各种操作的对象.与之有关的是操作码,所谓操作码是说明计算机要执行哪种,如传送,运算,移位,跳转等操作,它是指令中不可缺少的组成部分。

操作码OP

寻址方式 I

形式地址D

I字段为识别那种寻址方式。

立即寻址:操作数直接在D中,此时D为有效地址。

直接寻址:操作数在主存储器中,操作数由形式地址字段D直接给出。

寄存器寻址:操作数在CPU的某个通用寄存器中,形式地址D表示通用寄存器的编号,寄存器中的内容即所要的操作数。

间接寻址:形式地址D给出的不是操作数的有效地址,而是操作数的间接地址。D中的首位如果为1则还不是有效地址,如果为0则为下一个为有效地址。

相对寻址:把程序计数器PC中的内容加上指令中的形式地址D,形成操作数的有效地址。PC = PC + “D”。用于转移指令。

变址寻址:指定一个寄存器用来存放变化的地址,这个寄存器叫变址寄存器,此时形式地址字段D应该增加一个变址寄存器编号字段X。变址寄存器X与形式地址D之和及为操作数有效地址。多用于循环语句。

基址寻址:与变址寻址类似,利用于多道程序设计。

堆栈寻址:堆栈以先进后出的方式存储数据。进栈是将指定数据传送到堆栈中,出栈是将栈顶的数据传送给指定的寄存器。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值