(1)指令的寻址方式有哪些?
指令的由操作码和地址码组成。
一定要做到看到名字就能知道其工作过程:
(1)立即寻址:地址码直接填操作数的值。
(2)直接寻址:填操作数在内存中的地址。
(3)寄存器寻址:填操作数所在的寄存器编号。
(4)寄存器间接寻址:操作码在内存中,一个寄存器存储该内存的地址。操作码填写这个寄存器的编号。
(5)隐含寻址:操作码隐藏在默认的一个寄存器中。
(2)3个偏移寻址方式:
基址寻址、变址寻址、相对寻址
操作码/寻址方式 | 基址寻址 | 变址寻址 | 相对寻址 |
---|---|---|---|
一个操作数在操作码中表示含义 | 偏移量 | 形式地址 | 偏移量 |
另一个操作数 | 固定的基址 | 一个变化的值 | 上一条指令地址 |
另一个操作可以是有两种表现形式:
(1)隐式:默认存在一个规定的寄存器中。
(2)显式:操作码指出寄存器地址。
这三个概念非常容易混淆。
我们根据名字进行记忆,比如基址寻址。基表明另一个寄存器的操作含义是基址,这样反推操作码里面操作数的含义是偏移量(因为两个操作数一定有一个是变化的)。
相对寻址,相对是相对上一条指令,即上一条指令的地址。
(3)说说程序的局部性原理
(1)时间局部性:如果一个存储项被访问,则相邻的时间内,该项会很快被再次访问。
(2)空间局部性:如果一个存储项被访问,则该项及其邻近的项,也可能很快被访问。
(4)说说计算机的结构
CD-ROW就是指光盘,并不是ROM,只是它也是只读的特性和ROM一样,所以有的这个名字。
(5)指令的执行过程
- (1)取指令(取指令及其周期)
- 指令地址(在PC中)送到地址寄存器。
- 读主存,读出内容(指令代码)送入指令寄存器IR
- 形成下一条指令的地址并送到PC中
- 执行指令
- 操作数寻址(间址机器周期)
- 操作通过运算器进行运算(执行及其周期)
- 检查是否有中断请求(中断机器周期)