计算机组成原理个人笔记(三)



CISC(Complex Instruction Set Computer):CISC早期的计算机部件比较昂贵,主频低,运算速度慢。为了提高运算速度,人们不得不将越来越多的复杂指令加入到指令系统中,以提高计算机的处理效率,这就逐步形成复杂指令集计算机体系。为了在有限的指令长度内实现更多的指令,人们又设计了操作码扩展。然后,为了达到操作码扩展的先决条件——减少地址码,设计师又发现了各种寻址方式,如基址寻址、相对寻址等,以最大限度地压缩地址长度,为操作码留出空间。


RISC(Reduced Instruction Set Computer):这种设计思路对指令数目和寻址方式都做了精简,使其实现更容易,指令并行执行程度更好,编译器的效率更高。常用的精简指令集微处理器包括DECAlpha、ARC、ARM、AVR、MIPS、PA-RISC、PowerArchitecture(包括PowerPC)和SPARC等。


地址指令如下所示:

计算机组成原理个人笔记(三)_第1张图片


计算机组成原理个人笔记(三)_第2张图片


计算机组成原理个人笔记(三)_第3张图片

计算机组成原理个人笔记(三)_第4张图片

计算机组成原理个人笔记(三)_第5张图片

计算机组成原理个人笔记(三)_第6张图片


下面讲解下目标操作数的寻址方式源操作数的寻址方式和CPU所寻址的逻辑段

1.立即寻址:操作数是一个立即数(就是常数) 

例如:MOV AX,3100H 中的3100H

2.直接寻址:指令中给出的不是数值,而是操作数存放的物理地址(偏移地址)

例如:MOV AX,[5400H] 中的[5400H]

3.寄存器寻址:指令的操作数是CPU的内部寄存器

例如:MOV SI,AX 中的AX

4.寄存器间接寻址:用寄存器的内容表示操作数的偏移地址,同样,寄存器不再表示数值本身,而是操作数存放的物理地址(偏移地址),此方式只允许使用SI、DI、BX、BP

例如:MOV AX,[SI] 中的 [SI]

5.寄存器相对寻址(带位移的基址/变址寻址):与寄存器间接寻址相类似,只是偏移地址中多了一个给定的8位或16位位移量

例如:MOV AX,[BX+5] 中的[BX+5]

6.基址-变址寻址:由基址寄存器BX和BP中的任意一个和变址寄存器SI和DI中的任意一个相加而形成操作数的偏移地址

例如:MOV AX,[BX][DI] 中的[BX][DI]

7.基址-变址相对寻址(带位移的基址-变址寻址):与基址-变址寻址相类似,只是偏移地址中多了一个给定的8位或16位位移量

例如:MOV AX,[BX+DI+8] 中的[BX+DI+8]

记住一点,带有“[ ]”的,都是代表地址,而并非真正的数值.

至于逻辑段,主要针对的是源操作数的寻址.默认情况下,指令中只要没有出现BP,逻辑段是DS;出现了BP,逻辑段为SS

另外:

SP:基址寄存器(stack pointer),一般在函数中用来保存进入函数时的sp的栈顶基址

BP:  基数指针寄存器BP(base pointer)是一个寄存器,它的用途有点特殊,是和堆栈指针SP联合使用的,作为SP校准使用的,只有在寻找堆栈里的数据和使用个别的寻址方式时候才能用到



你可能感兴趣的:(计算机组成原理个人笔记)