@mShuaiZhao
2018-01-06T08:32:25.000000Z
字数 939
阅读 419
2018.01
ComputerArchitecture
一个简单的计算机指令系统
指令类别
运算类指令
传送类指令
转移类指令
指令的格式
每条指令等长
操作码 + 寄存器号 + 存储单元地址
运算任务示例
当一个系统开始运行时,PC寄存器装入的第一个地址是什么?
一般情况下约定为最小的寄存器地址,或者接近最高地址的地方
Intel 8086(1978年)
通用寄存器(多功能寄存器)
AX、BX、CX、DX
标志寄存器
控制标志
状态标志
IP寄存器(指令指针寄存器)
2^16=65536(64K)字节单元
对外有20位地址线
段寄存器
逻辑地址 = 段基址 + 偏移量
物理地址 = 段基址x16 + 偏移量
Intel 80386(1985年)
80x86系列中第一款32位处理器
支持32位的算逻运算,提供32位的通用寄存器
地址总线扩展到32位,可寻址4GB的内存空间
IA-32的寄存器模式
增加了两个段寄存器
x86-64的寄存器模型
新增了8个64位的通用寄存器
指令的主要类别
指令的运行结果
传送指令
MOV DST, SRC
DST <-- SRC
MOV指令的编码
变长的指令设计
运算指令
ADD DST, SRC
ADC DST, SRC
INC OPR
INC不会改变FLAGS的值
转移类指令
控制类指定
控制CPU的功能
对标志位进行操作
串操作指令
串操作指令的特性
MOVSB 指令示意
方向标志的作用(FLAGS存储器的DF位)
应对源串和目的串的存储区域部分重叠的问题
历史
设计思想
没有流水线互锁的微处理器
MIPS指令的主要特点
MIPS指令示例
加法指令
add a, b, c
操作:将b和c求和,结果存入a中
都不可以使存储器操作数
访存指令
MIPS通用寄存器
都是32位
MIPS指令的基本格式
R型指令的格式
I型指令的格式
分支指令
当前(PC+4)之后取前四位再组合address