计算机组成原理常见面试题汇总
1、流水线基本原理:
流水线技术是一种显著提高指令执行速度与效率的技术。
方法是:指令取指完成后,不等该指令执行完毕即可取下一条指令。
如果把一条指令的解释过程进一步细分,例如分成取指,译码, 访存,执行,和写回五个子过程,并用五个子部件分别处理这五个子过程.
这样只需在上一指令的第一子过程处理完毕进入第二子过程处理时,在第一子部件中就开始对第二条指令的第一子过程进行处理.随着时间推移,这种重叠操作最后可达到五个子部件同时对五条指令的子过程进行操作。
2、指令的寻址方式有哪些
立即寻址:地址码直接填操作数的值
直接寻址:填操作数在内存中的地址
寄存器寻址:填操作数所在的寄存器编号
间接寻址:操作码在内存中,内存的另一个位置填写这个内存地址,操作码填写这个内存地址
寄存器间接寻址:操作码在内存中,一个寄存器存储该内存的地址。操作码填写这个寄存器的编号
隐含寻址:操作码隐藏在默认的一个寄存器中
3个偏移寻址方式
基址寻址、变址寻址、相对寻址
(1)立即寻址:立即给出操作数,不需要给出地址去其他地方找操作数。只需要在取指令时访问存储器,而在执行阶段不需要。但A的位数限制了立即寻址的范围。常用于对某寄存器或内存单元赋初值。
(2)直接寻址:通过指令中的地址码字段找到真实地址(取货码取快递),执行阶段需要访问一次存储器去取操作数。直接给出了操作数的有效地址,寻找操作数简单,但是寻址范围较小(操作数的有效地址仅由A决定,而A的位数一般都比较小,因此寻址范围比较小)。
(3)隐含寻址:指令字不明显的给出操作数的地址,其操作数地址隐含在操作码或者某个寄存器中。有利于缩短指令字长,但是需要增加存储操作数或隐含地址的硬件。
(4)间接寻址:解决了直接寻址的寻址范围小的问题。直接寻址直接给出了操作数的有效地址,而间接寻址给出的是操作数有效地址的地址。间接寻址又可以分为一次间接寻址和多次间接寻址。便于子程序返回和查表,但N次间接寻址需要在指令阶段还需要访问存储器N+1次(前N次找操作数的有效地址,最后一次找操作数)。
(5)寄存器寻址:和直接寻址类似,在直接寻址的指令字中,地址码字段给出的是主存地址,而在寄存器寻址的指令字中,地址码字段直接给出的是寄存器编号$R_i$,则操作数的有效地址为$EA=R_i$。
(6)寄存器间接寻址:和寄存器寻址不同之处在于,$R_i$中存放的不是操作数,而是操作数所在主存单元的地址号,有效地址$EA=(R_i)$。便于编制循环程序,但需要访问一次存储器去取操作数。
(7)基址寻址:设置一个基址寄存器(BR),则其操作数的有效地址等于指令字中的形式地址A与基址寄存器中的内容(基地址)相加,即:$EA=A+(BR)$。扩大了操作数的寻址范围(因为基址寄存器的位数可以大于形式地址Ade位数),便于解决多道程序问题。注意:基址寄存器的内容由操作系统确定,但用户有权知道使用了哪个寄存器作为基址寄存器。
(8)变址寻址:不同于基址寻址,在变址寻址中,变址寄存器中的内容由用户设定,在程序执行过程中其值可变,而指令字中的形式地址A是不可变的。也扩大了操作数的寻址范围,非常适合处理数组和循环问题。
(9)相对寻址:基于程序局部性原理,相对寻址的有效地址是将程序计数器(PC)的内容与指令字中的形式地址A相加而成,即:$EA=(PC)+A$。用于转移类指令,便与编制浮动程序。
3、指令的执行过程
(1)取指令(取指令及其周期)
指令地址(在PC中)送到地址寄存器
读主存,读出内容(指令代码)送入指令寄存器IR
形成下一条指令的地址并送到PC中
(2)执行指令
操作数寻址(间址机器周期)
操作通过运算器进行运算(执行及其周期)
(3)检查是否有中断请求(中断机器周期)
4、说说计算机的结构
5、常见的存储系统层次结构有哪两种?透明性如何?各自用来解决什么问题的?
(1)缓存-主存层次:用来缓解CPU和主存速度不匹配的问题,由硬件来完成,对所有的程序员完全透明。
(2)主存-辅存层次:用来解决主存容量不够的问题,由操作系统和硬件共同完成,对应用程序设计者透明,对系统程序设计者不透明。
(现在一般存储器都即能按字访问,也能按照字节访问,因此,存储器编址时,每个字节都有一个独立的地址。)
6、将主存地址映射到Cache地址称为地址映射,常见的Cache映射方式有哪几种?
直接映射、优点:地址变换速度快。缺点:cache利用率不高,块冲突率高;
全相联映射、优点:cache利用率高,块冲突率低。缺点:地址变换复杂,需要较多的硬件。
组相联映射。
7、Cache常用的替换算法有哪些?哪个命中率最高?
1)先进先出、近期最少使用算法和随机替换算法;
2)命中率最高的是近期最少使用算法;
柱面、磁头号和扇区号
附录:
知识点总结:
https://zhuanlan.zhihu.com/p/129031772
https://www.cnblogs.com/yuxiaoba/p/8646090.html
https://blog.csdn.net/sunxianghuang/article/details/52350423
https://blog.csdn.net/weixin_41798450/article/details/88831860