CPU架构--问答

CPU架构

  • 1.请简述精简指令集RISC和复杂指令集CISC的区别。
  • 2.请简述数值0x1234 5678在大小端字节序处理器的存储器中的存储方式。
  • 3.请简述在你所熟悉的处理器(如双核Cortex-A9)中一条存储读写指令的执行全过程。
  • 4.请简述内存屏障(memory barrier)产生的原因。
  • 5.ARM有几条内存屏障指令?它们之间有什么区别?
  • 6.请简述高速缓存(cache)的工作方式。
  • 7.高速缓存的映射方式有全关联(full-associative)、直接映射(direct-mapping)和组相联(set-associative)3种方式,请简述它们之间的区别。为什么现代的处理器都使用组相联的高速缓存映射方式?
  • 8.在一个32KB的4路组相联的高速缓存中,其中高速缓存行为32字节,请画出这个高速缓存的高速缓存行(line)、路(way)和组(set)的示意图。
  • 9.高速缓存重名问题和同名问题是什么?
  • 10.ARM9处理器的数据高速缓存组织方式使用虚拟索引虚拟标签(Virtual Index Virtual Tag,VIVT)方式,而在Cortex-A7处理器中使用物理索引物理标签(Physical Index Physical Tag,PIPT),请简述PIPT与VIVT相比的优势。
  • 11.VIVT类型的高速缓存有什么缺点?请简述操作系统需要做什么事情来克服这些缺点。
  • 12.虚拟索引物理标签(Virtual Index Physical Tag,VIPT)类型的高速缓存在什么情况下会出现高速缓存重名问题?
  • 13.请画出在二级页表架构中虚拟地址到物理地址查询页表的过程。
  • 14.在多核处理器中,高速缓存的一致性是如何实现的?请简述MESI协议的含义。
  • 15.高速缓存在Linux内核中有哪些应用?
  • 16.请简述ARM big.LITTLE架构,包括总线连接和高速缓存管
  • 17.高速缓存一致性(cache coherency)和一致性内存模型(memory consistency)有什么区别?
  • 18.请简述高速缓存的回写策略。
  • 19.请简述高速缓存行的替换策略。
  • 20.多进程间频繁切换对转换旁视缓冲(Translation Look-aside Buffer,TLB)有什么影响?现代的处理器是如何解决这个问题的?
  • 21.请简述NUMA架构的特点。
  • 22.ARM从Cortex系列开始性能有了质的飞跃,如Cortex-A8/A15/A53/A72,请指出Cortex系列在芯片设计方面的重大改进
  • 23.若对非对齐的内存进行读写,处理器会如何操作?
  • 24.若两个不同进程都能让处理器的使用率达到100%,它们对处理器的功耗影响是否一样?
  • 25.为什么页表存放在主内存中而不是存放在芯片内部的寄存器中?
  • 26.为什么页表要设计成多级页表?直接使用一级页表是否可行?多级页表又引入了什么问题?
  • 27.内存管理单元(Memory Management Unit,MMU)查询页表的目的是找到虚拟地址对应的物理地址,页表项中有指向下一级页表基地址的指针,那它指向的是下一级页表基地址的物理地址还是虚拟地址?
  • 28.假设系统中有4个CPU,每个CPU都有各自的一级高速缓存,处理器内部实现的是MESI协议,它们都想访问相同地址的数据A,大小为64字节,这4个CPU的高速缓存在初始状态下都没有缓存数据A。在T0时刻,CPU0访问数据A。在T1时刻,CPU1访问数据A。在T2时刻,CPU2访问数据A。在T3时刻,CPU3想更新数据A的内容。请依次说明,T0~T3时刻,4个CPU中高速缓存行的变化情况。
  • 29.什么是高速缓存伪共享?请阐述高速缓存伪共享发生时高速缓存行状态变化情况,以及软件应该如何避免高速缓存伪共享。30.CPU和高速缓存之间,高速缓存和主存之间,主存和辅存之间数据交换的单位分别是什么?
  • 31.操作系统选择大粒度的页面有什么好处?选择小粒度页面有什么好处?
  • 32.引入分页机制的虚拟内存是为了解决什么问题?
  • 33.缺页异常相比一般的中断存在哪些区别?
  • 34.高速缓存设计中,如何实现更高的性能?

1.请简述精简指令集RISC和复杂指令集CISC的区别。

答:
   

2.请简述数值0x1234 5678在大小端字节序处理器的存储器中的存储方式。

答:
   

3.请简述在你所熟悉的处理器(如双核Cortex-A9)中一条存储读写指令的执行全过程。

答:
   

4.请简述内存屏障(memory barrier)产生的原因。

答:
   

5.ARM有几条内存屏障指令?它们之间有什么区别?

答:
   

6.请简述高速缓存(cache)的工作方式。

答:
   

7.高速缓存的映射方式有全关联(full-associative)、直接映射(direct-mapping)和组相联(set-associative)3种方式,请简述它们之间的区别。为什么现代的处理器都使用组相联的高速缓存映射方式?

答:
   

8.在一个32KB的4路组相联的高速缓存中,其中高速缓存行为32字节,请画出这个高速缓存的高速缓存行(line)、路(way)和组(set)的示意图。

答:
   

9.高速缓存重名问题和同名问题是什么?

答:
   

10.ARM9处理器的数据高速缓存组织方式使用虚拟索引虚拟标签(Virtual Index Virtual Tag,VIVT)方式,而在Cortex-A7处理器中使用物理索引物理标签(Physical Index Physical Tag,PIPT),请简述PIPT与VIVT相比的优势。

答:
   

11.VIVT类型的高速缓存有什么缺点?请简述操作系统需要做什么事情来克服这些缺点。

答:
   

12.虚拟索引物理标签(Virtual Index Physical Tag,VIPT)类型的高速缓存在什么情况下会出现高速缓存重名问题?

答:
   

13.请画出在二级页表架构中虚拟地址到物理地址查询页表的过程。

答:
   

14.在多核处理器中,高速缓存的一致性是如何实现的?请简述MESI协议的含义。

答:
   

15.高速缓存在Linux内核中有哪些应用?

答:
   

16.请简述ARM big.LITTLE架构,包括总线连接和高速缓存管

答:
   

17.高速缓存一致性(cache coherency)和一致性内存模型(memory consistency)有什么区别?

答:
   

18.请简述高速缓存的回写策略。

答:
   

19.请简述高速缓存行的替换策略。

答:
   

20.多进程间频繁切换对转换旁视缓冲(Translation Look-aside Buffer,TLB)有什么影响?现代的处理器是如何解决这个问题的?

答:
   

21.请简述NUMA架构的特点。

答:
   

22.ARM从Cortex系列开始性能有了质的飞跃,如Cortex-A8/A15/A53/A72,请指出Cortex系列在芯片设计方面的重大改进

答:
   

23.若对非对齐的内存进行读写,处理器会如何操作?

答:
   

24.若两个不同进程都能让处理器的使用率达到100%,它们对处理器的功耗影响是否一样?

答:
   

25.为什么页表存放在主内存中而不是存放在芯片内部的寄存器中?

答:
   

26.为什么页表要设计成多级页表?直接使用一级页表是否可行?多级页表又引入了什么问题?

答:
   

27.内存管理单元(Memory Management Unit,MMU)查询页表的目的是找到虚拟地址对应的物理地址,页表项中有指向下一级页表基地址的指针,那它指向的是下一级页表基地址的物理地址还是虚拟地址?

答:
   

28.假设系统中有4个CPU,每个CPU都有各自的一级高速缓存,处理器内部实现的是MESI协议,它们都想访问相同地址的数据A,大小为64字节,这4个CPU的高速缓存在初始状态下都没有缓存数据A。在T0时刻,CPU0访问数据A。在T1时刻,CPU1访问数据A。在T2时刻,CPU2访问数据A。在T3时刻,CPU3想更新数据A的内容。请依次说明,T0~T3时刻,4个CPU中高速缓存行的变化情况。

答:
   

29.什么是高速缓存伪共享?请阐述高速缓存伪共享发生时高速缓存行状态变化情况,以及软件应该如何避免高速缓存伪共享。30.CPU和高速缓存之间,高速缓存和主存之间,主存和辅存之间数据交换的单位分别是什么?

答:
   

31.操作系统选择大粒度的页面有什么好处?选择小粒度页面有什么好处?

答:
   

32.引入分页机制的虚拟内存是为了解决什么问题?

答:
   

33.缺页异常相比一般的中断存在哪些区别?

答:
   

34.高速缓存设计中,如何实现更高的性能?

答:
   

你可能感兴趣的:(Linux学习,linux)