文档介绍:寻址方式
常用的寻址技术
A=指令中地址字段内容; EA=有效地址
方式算法优点缺点
立即操作数=A 无存储器访问操作数大小受限
直接 EA=A 简单地址范围有限
间接 EA=(A) 大的地址范围多重存储器访问
寄存器 EA=R 无存储器访问地址范围有限
寄存器间接 EA=(R) 大的地址范围额外地址访问
偏移 EA=A+(R) 灵活复杂
堆栈 EA=栈顶无存储器访问应用有限
寻址方式举例(以Intel 80x86指令系统为例)
立即(数)寻址: MOV AX,1234H
直接寻址: MOV AX,[1000H]
间接寻址: INT 21H; MOV AX,[BX]
寄存器寻址: MOV AX,BX
寄存器间接寻址: MOV AX,[BX]
偏移寻址:有3种,见下页
(相对寻址) JE AAA;JZ AAA;JC AAA
(寄存器相对寻址) MOV AX,[SI+06H]
(基址变址寻址) MOV AX,[BX+SI]
堆栈寻址: PUSH AX;POP AX
偏移寻址
Displacement addressing:
相对寻址(relative addressing)
PC +偏移量;相对转移类指令
基址寄存器寻址(base-register addressing)
基址寄存器值+偏移量
变址(indexing)
EA=A+(R)
R<=(R)+1
返回
RISC和CISC计算机
1、CISC计算机
CISC:复杂指令系统(集)计算机(complex instruction puter)的缩写。
DEC公司的VAX11/780计算机、Intel公司的80x86微处理器、IBM公司的大、中型计算机都是CISC。
2、RISC计算机
RISC:精简指令系统(集)计算机(reduced instruction puter)的缩写。
公司
IBM
DEC
HP
MIPS
SUN
产品
Power PC
Alpha
HPPA
R10000
SPARC
RISC计算机:
RISC的特点
计算机执行程序所需要的时间P:
P=I*CPI*T
其中:I为指令的数目(机器指令);CPI为每条指令执行所需要的平均周期数,T为每个机器周期时间。
特点:
优先使用频度高的指令作为简单指令;
指令长度固定,指令种类少,寻址方式少;
对访存指令进行控制(只允许LOAD/STROE指令);
CPU中的通用寄存器增加;
大部分指令在一个机器周期中执行完成;
CPU采用硬布线实现;
采用优化编译技术。
返回
Pentium的寻址方式
LA=线性地址(X)=X的内容 SR=段寄存器
A=指令中地址字段的内容 R=寄存器 B=基址寄存器
I=变址寄存器 S=比例因子 PC=程序计数器
方式算法
立即操作数=A
寄存器 LA=R
偏移 LA=(SR)+A
基址 LA=(SR)+(B)
基址带偏移量 LA=(SR)+(B)+A
比例变址带偏移 LA=(SR)+(I)*S+A
基址带变址和偏移量 LA=(SR)+(B)+(I)+A
基址带比例变址和偏移量 LA=(SR)+(B)+(I)*S+A
相对 LA=(PC)+A
Pentium中的寻址方式分析
PowerPC的寻址方式
方式算法
装入/存储寻址
间接 EA=(BR)+D
间接变址 EA=(BR)+(IR)
转移寻址
绝对 EA=I
相对 EA=(PC)+I
间接 EA=(L/CR)
定点计算
寄存器 EA=GPR
立即操作数=I
浮点计算
寄存器 EA=FPR
BR=基址寄存器
IR=变址寄存器
L/CR=链接或
计数寄存器
GPR=通用寄存器
FPR=浮点寄存器
D=偏移量
I=立即数
指令格式
指令长度: (通常)以字节为单位。
位的分配:
寻址方式数目
操作数数目
寄存器组的数目
地址范围
地址粒度
SPARC指令格式
SPARC指令字长32位,有3种指令格式,6种指令类型。
3种指令格式:
1、CALL指令
OP
Disp(30bits)
31
30 29
0
OP
Disp(22bits)
31
30 29
0
OP
imm(22bits)
rd
OP2
a
Cond.
OP2
28
25 24
22 21
2、SETHI 和Branch 指令