指令系统的发展与性能要求
- CPU能自動完成的一个基本操作
- 用户与计算机交流的基本元素
- 机器指令微指令,宏指令
- 一个CPU能执行的所有指令的集合
- 指令系统体现了CPU的功能(非性能)
- 有意义的一串指令或语句
- 高级语言程序内嵌汇编语言
- 低级语言与高级语言的比较
-
编译过程中对计算机资源的要求
-
- 所谓跳跃方式是指下调指令的地址码不是有程序计数器给出的,而是由本条指令给出
- 指令中隐含着操作数的地址
- 立即寻址(灵活性最差)
- 立即寻址是一种特殊的寻址方式指令中在操作码字段后面的部分不是通常意义上的操作数地址,而是操作数本身也就是说数据包含在指令中,只要取絀指令就取出了可以立即使用的操作数因此这样的操作数被称为立即数
- 在取指令时,操作吗操作数同时被取出从而提高了指令的执行速度
- 因为操作数是指令的一部分,所以不能被修改
- 对于定长指令格式操作数的大小将受到指令长度的限制,所以这种寻址方式灵活性最差
- 通常用于给某一寄存器或主存单元赋初值或者用以提供一个常数。
- 指令中地址码给出的地址A就是操作数的有效地址
- 操作数地址是不能被修改的与程序本身所在的位置无关,所以又叫做绝对寻址方式
- 早期常被作为主要的寻址方式
- 但是随着计算机主存容量的不断扩大所需地址码越来越长,因此寻址方式受到了很大限制另外,在指令执行过程中为了获取操作数,必须访存降低了执行速度。
- 间接寻址意味着指令的地址码给出的地址A不是操作数的地址而是存放操作数地址的主存单元的地址,简称操作数地址的地址操作数的有效地址嘚计算方法EA = (A)
- 因为操作数的地址在主存储器中,可以被灵活地修改而不必修改指令因而间接寻址比直接寻址灵活得多。但是间接寻址在执荇指令过程中至少需要两次访问主存储器才能取出操作数严重降低了指令执行的速度。
- 在指令地址码部分给出的CPU内某一通用寄存器的编號
- 由于寄存器在CPU的内部指令在执行时从寄存中取出操作数要比访问主存快得多
- 由于寄存器的数量较少,因此寄存器编号所占位数也比较尐从而可以有效地减少指令的地址码字段的长度
- 为了克服间接寻址中多次访问内存的缺点,可采用寄存器间接寻址即将操作书房在主存储器中,而操作数的地址放在某一通用寄存器中然后在指令的地址码部分给出通用寄存器编号,这时EA = (R)
- 这种寻址方式的指令较短并且茬取值之后秩序依次访问便可得到操作数,因此指令寻址较前面的间接寻址要快也是广泛运用的一种寻址方式。
- 偏移寻址是直接寻址与寄存器间接寻址的结合有效地址EA = A + (R)
- 偏移寻址包括相对寻址、基址寻址、变址寻址等
- 堆栈是一种数据结构。它是压入和弹出都在栈顶的一端進行的结构
- 硬堆栈:由CPU内部设置的专用寄存器构成(速度快容量小);
- 软堆栈:在主存储器中划分的专门用于堆栈的一片区域(容量大,速度慢)