指令系统第一节

指令系统

1、CPU的工作主要体现为执行指令。指令系统就是计算机能执行的全部指令的集合,可以看成是计算机硬件的语言系统。

2、指令是二进制序列的,高级语言编译过后会产生二进制文件。

3、计算机的两种设计模式:复杂指令集计算机 CISC和精简指令集计算机 RISC

CISC :为了提高运算速度和扩展功能而产生的指令集。

特点:指令系统庞大,指令格式多变,寻址方式也很多。绝大多数指令需要多个时钟周期才能完成,各种指令几乎都可以访问存储器,主要采用微程序控制方式。设置有少量寄存器,难以用优化编译技术产生高效的目标代码。

二-八规律:约有20%的指令高频使用,其余则较少使用。

缺点:为了实现大量的复杂指令,CPU的控制逻辑十分复杂且极不规整,从而限制了超大规模集成电路VLSI技术在处理器设计和生产中的应用。

与此同时 半导体存储技术使很多之前需要复杂指令才能完成的功能可以改用子程序来实现,也能获得差不多的运算速度。

从而有了

RISC : 执行较少类型计算机指令的微处理器。

特点:指令格式统一、指令种类更少,寻址方式更简单,而且采用了“超标量和超流水线”结构,大大增加了CPU的并行处理能力,处理速率提高很多,是高性能CPU的发展方向。

除这两种之外,还有一种独特的显式并行指令集计算机EPIC,只是暂时没有确定是否作为一种全新的指令集类型。

EPIC :有3位是专门用来指示前后指令相关性的,如果无相关性,则这两条指令可以被分配到两个不同的CPU运算节点上同时处理,EPIC还允许处理器根据编译器的调度来并行地执行命令。

4、指令格式:

指令中的基本信息:(1)操作码(2)操作数或操作数的地址(3)存放运算结果的地址(4)后继指令的地址

指令中的地址结构:

显地址:在指令代码中明显地给出地址。隐地址:以隐含的方式约定,指令中并不给出该地址码。

以常规的双操作数为例,四地址指令显然不符合常规的要求,因为位数太多,直接给出后继地址也不能让程序根据运算结果灵活转移,所以要采用一些隐地址。

三地址指令:OP A1 A2 A3

(A1)OP(A2)->A3

  (PC) + n -> PC

PC指的是程序计数器,是一个兼有寄存器和计数器两种功能的部件,其中存放着读取指令的地址。每读1字节,PC+1。

二地址指令:

可以把运算结果放到不需要保留的操作数地址里,那个操作数被称为目的操作数。

一地址指令:

(1)针对自增、自减、求反,得出的结果直接赋给自己。

(2)隐含约定目的地的双操作数指令,已知一个操作数地址,在CPU中一般设置一个被称为累加器AC的存储器,指令可以隐含约定另一个操作数由AC提供,运算结果也放在AC中。

零地址指令:

(1)不需要操作数。目的只有消耗时间以达到延时。

(2)单操作数指令。隐含约定操作数在累加器AC中。

(3)对堆栈栈顶单元的数据进行操作。由一个被称为堆栈指针的寄存器SP给出栈顶单元地址。

5、操作码结构

(1)固定长度操作码

(2)可变长度操作码(扩展操作码)

对于三地址指令:三个地址一共十二位,操作码4位,可以表示16种指令,操作码只取0000~1110.1111作为扩展操作码标志。

对于二地址指令:两个地址共占8位,在高4位为1111的扩展标志指示下,将第11~8位扩展为操作码;只取11110000~11111101,留下来的11111110、11111111可作为扩展操作码标志。一共有14种指令

对于一地址指令:地址段只占4位,可将7~4位扩展为操作码。一共有2*16=32种。只取31种,111111111111作为扩展标志

对于零地址指令:有16种。

(3)单功能型或复合型操作码

操作码只表示一种操作含义:为了快速识别并执行操作码

将操作码字段进一步细分成若干子段,每个编码字段都能表示特定的操作含义:操作码的含义更丰富

6、指令字长

(1)固定字长指令

(2)可变字长指令

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值