4-指令系统

指令系统

1.指令格式

指令:又称机器指令,是指示计算机执行某种操作的命令,是计算机运行的最小功能单位
指令集:一台计算机所有的指令的集合
一条指令通常包括:操作码、地址码
1.零地址指令:不需要操作数的操作,空操作、停机、关中断;堆栈计算机(操作数隐含在栈顶或次栈顶)
2.一地址指令:只需单操作数;需要两个操作数,但其中一个隐含在某个寄存器中
3.二地址指令:需要两个操作数的算术运算、逻辑运算
4.三地址指令:需要两个操作数的算术运算、逻辑运算,运算结果存回A3地址
5.四地址指令:需要两个操作数的算术运算、逻辑运算,运算结果存回A3地址,A4=下一条将要执行指令的地址
6.指令字长:一条指令的总长度(可能会变)–半字长指令、单字长指令、双字长指令–指令长度是机器字长的多少倍
7.定长指令字结构:指令系统中所有指令长度都相等
8.变长指令字结构:指令系统中所有指令长度不相等
9.定长操作码:指令系统中所有指令的操作码长度都相等
10.可变长操作码:指令系统中各指令的操作码长度不相等
指令按照操作类型分类:1.数据传送类2.运算类(算术逻辑操作、移位操作)3.程序控制类(转移操作).输入输出类(CPU\IO设备之间的数据传送)

1.2 扩展操作码

定长指令字结构+可变长操作码
例:指令字长为16位,每个地址码占4位。3地址指令,则操作码15条(至少保留1111作为扩展操作码)
注意:
(1)不允许短码是长码的前缀。即短操作码不能与长操作码前面部分相同
(2)各指令操作码不能重复
例:指令字长固定为16位,设计一套指令系统,并满足以下条件
(1)有15条三地址指令(2)有12条二地址指令(3)有62条一地址指令(4)有32条零地址指令
解答:三地址 0000~1110 A1 A2 A3
二地址 1111 0000~1011 A3 A2
一地址 1111 1100~1110/1111 00001111/00001101 A1
零地址 1111 1111 1110~1111 0000~1111

设地址长度为n,上一层流出m种状态,下一层可扩展m×2^n中状态

2.指令寻址

指令寻址:下一条欲执行指令的地址
顺序寻址:(PC)+“1”->PC;“1”表示1个指令字长每次取指令之后PC都会增加
跳跃寻址:由转移指令指出(JMP:无条件转移指令;CALL:函数调用指令;JE 相等跳转;JG:比较结果大于时跳转)

3.数据寻址

数据寻址:确定本条指令的地址码指明的真实地址
地址码前面加上寻址方式位用来表示寻址特征
1.直接寻址:指令字中形式地址A就是真实地址EA
2.间接寻址:指令字中形式地址A是操作数有效地址所在存储单元的地址
3.寄存器寻址:指令字中形式地址A指向寄存器编号。“支持向量/矩阵运算”
4.寄存器间接寻址:指令字中形式地址A指向寄存器编号,寄存器给出EA的地址
5.隐含寻址:在指令中隐含着操作数的地址
6.立即寻址:形式地址A是操作数本身,又称立即数,一般采用补码形式,寻址特征用#表示
7.相对寻址:以程序计数器PC所指地址作为“起点”,针对下一条指令的偏移,而不是当前执行的指令—循环程序
形式地址A作为PC偏移量,用补码表示
8.基址寻址:以程序起始存放地址作为“起点”–多道程序
基址寄存器(BR):EA=(BR)+A;或通过通用寄存器。优点:便于程序“浮动”,实现多道程序并发运行
9.变址寻址:程序员自己指定的位置作为“起点”–转移指令
变址寄存器IX:EA=(IX)+A,其中IX为变址寄存器,也可用通用寄存器作为变址寄存器。变址寄存器面向用户,形式地址A为基地址,IX为偏移量
基址&变址复合地址:先基址后变址
10.堆栈寻址:操作数存放在堆栈中,隐含使用堆栈指针SP作为操作数地址
硬堆栈:存放在寄存器,不访存
软堆栈:存放在主存中,访存一次
程序状态字寄存器PSW:
进位/错位标志CF:最高位有进位/错位=1
零标志位ZF:运算结果为0,ZF=1
符号标志SF:运算结果为负,SF=1负责为0
溢出标志OF:有溢出OF=1否则0

4.CISC&RISC

指令系统两种设计方向。
80-20规律:典型程序中80%的语句仅仅使用处理机中20%的指令
CISC:复杂指令系统,一条指令完成一个复杂的功能。代表:x86架构,主要用于笔记本、台式机
RISC:精简指令集,一条指令完成一个基本“动作”;多条指令组合完成一个复杂的基本功能。代表:ARM架构,主要用于手机、平板

CISC&RISC

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值