计算机组成原理八股

计算机组成原理八股

面经

Cache的基本原理 - 知乎 (zhihu.com)

  • 什么是缓存(Cache)?为什么需要缓存?如何提高缓存的命中率?缓存是不是最快的?(⭐⭐)

(1)Cache即CPU的高速缓冲存储器,是一种是用于减少处理器访问内存所需平均时间的部件;

(2)由于CPU的计算速度远远大于从CPU向内存取数据的速度,如果每次都让CPU去内存取数据,会导致CPU计算能力的浪费,所以人们设计了缓存,CPU通过读写缓存来获取操作数,结果也通过缓存写入内存;

(3)注意程序的局部性原理,在遍历数组时按照内存顺序访问;充分利用CPU分支预测功能,将预测的指令放到缓存中执行;此外缓存的容量和块长是影响缓存效率的重要因素。如何提升CPU的缓存命中率? - 知乎 (zhihu.com)

(4)缓存不是最快的,寄存器更快。

  • 什么是缓存一致性,如何保证缓存一致性

(1)在多核CPU中,每个核有自己的缓存,在两个核进行独自修改缓存中的数据的时候,就可能会造成数据不一致的问题,就是缓存的一致性问题;

(2)一个是在总线中加锁,一个是采用缓存一致性协议。

  • 一个缓存块的大小是多少,读取内存中的字段是读多少数据取多少内存吗?

如果缓存没有命中(即读取一个数据没有在缓存中),不仅需要把该字(数据)从主存中取出,还需要从主存中将它所在的整个字块一次调入缓存中。缓存线(块)的长度是64B。

八股

相关推荐

  1. 计算机组成原理

    2024-06-08 17:32:01       33 阅读
  2. 计算机组成原理

    2024-06-08 17:32:01       40 阅读
  3. 计算机组成原理讲解

    2024-06-08 17:32:01       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-08 17:32:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-08 17:32:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-08 17:32:01       87 阅读
  4. Python语言-面向对象

    2024-06-08 17:32:01       96 阅读

热门阅读

  1. HTTP/HTTPS Testing Magic Tool GO-VCR

    2024-06-08 17:32:01       31 阅读
  2. web前端 孙俏:深度探索与实战之路

    2024-06-08 17:32:01       31 阅读
  3. 【数据采集】实验07-Kafka的常用命令及使用

    2024-06-08 17:32:01       25 阅读
  4. Tomcat 配置:一文掌握所有要点

    2024-06-08 17:32:01       32 阅读
  5. calico node一直not ready

    2024-06-08 17:32:01       32 阅读
  6. Linux(centos)安装docker

    2024-06-08 17:32:01       28 阅读
  7. 模式识别判断题

    2024-06-08 17:32:01       28 阅读
  8. Element-Ul快速入门

    2024-06-08 17:32:01       26 阅读
  9. 大模型备案语料来源安全要求

    2024-06-08 17:32:01       34 阅读
  10. 标题:深入探索Linux中的`ausyscall`

    2024-06-08 17:32:01       31 阅读
  11. HTML基础知识点

    2024-06-08 17:32:01       25 阅读
  12. Linux常用命令

    2024-06-08 17:32:01       24 阅读
  13. 音视频视频点播

    2024-06-08 17:32:01       19 阅读
  14. LeetCode 550, 380, 234

    2024-06-08 17:32:01       25 阅读