cache的58问,您能回答上几个

快速链接:
.
👉👉👉 个人博客笔记导读目录(全部) 👈👈👈

  • 付费专栏-付费课程 【购买须知】:
  • 【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈
  • 联系方式-加入交流群 ----联系方式-加入交流群

引流关键词:缓存,高速缓存,cache, CCI,CMN,CCI-550,CCI-500,DSU,SCU,L1,L2,L3,system cache, Non-cacheable,Cacheable, non-shareable,inner-shareable,outer-shareable, optee、ATF、TF-A、Trustzone、optee3.14、MMU、VMSA、cache、TLB、arm、armv8、armv9、TEE、安全、内存管理、页表…


本文转自 周贺贺,baron,代码改变世界ctw,Arm精选, armv8/armv9,trustzone/tee,secureboot.

1、MMU关闭时cache的缓存策略是怎样的?
2、阐述一下mmu和cache有哪些关系,有哪些依赖
3、以下术语分别是什么含义:read allocation、write allocation、no-allocation、write-back、write-through、transient和Transient、outer shareable、inner shareable、shareablilty
4、Non-cacheable、device memory之间的区别是什么?
5、Non-cacheable、device GRE之间的区别是什么?
6、什么是伪共享?如何避免?
7、VIVT VIPT PIPT的区别? 这是cache的硬件机制? 还是软件的策略?
8、哪些cache是VIPT,哪些是PIPT,有没有VIVT?
9、VIPT是否也有同名、重名的问题?分别如何解决的?
10、L1、L2、L3分别都是多大?这是谁来配置的?配大了的优劣情况
11、全相联、直接相连、多路组相连的区别?优劣分别是什么?一般情况下,都是怎样用和设计的?
12、set、way、index、cache line、entry、cache tag、cache data的概念分别是什么?
13、cache tag里都包括什么?
14、cache hit和cache hint的概念分别是什么?
15、inner、outer 的概念? POC POU IS的概念?
16、轮询替换、随机替换、LRU的概念? 真实情况下是怎样的?L1/L2/L3分别采用的那种方式?
17、strongly、weakly、inclusive、exclusive的概念,真实情况下是怎样的?
18、PTW CACHE、PTE CACHE、TLB 之间的关系?
19、L1、L2、L3 cache的替换策略是怎样的?
20、什么类型的内存永远不会进L3 cache?
21、L3 cache一般都是多大?
22、L3 cache的组织形式一般是怎样的?
23、什么是cache partitioning?
24、DSU、DSU-110、DSU-120有什么区别?
25、什么MPAM? 有什么作用?
26、什么是Cache stashing?
27、什么是Cache slices? 有什么好处?
28、L1 System memory和L1 Cache是什么关系?
29、L1指令cache禁用时,指令cache就真的不会缓存了吗?此时还会出现缓存不一致的情况吗?
30、L1 data cache禁用时,L1 data cache就真的不会缓存了吗?此时还会出现缓存不一致的情况吗?
31、在下电的时候,cache有什么自动的行为?
32、有没有invalidate the entire data cache的操作?那操作系统中的invalidate_all_cache是如何实现的?
33、什么是Branch Target Buffer (BTB)?
34、什么是Write streaming mode? 软件怎样可以影响到Write streaming mode的行为?
35、有关cache的refill,如果L1 MISS,那么L1会发生refill吗
36、Armv9中的原子指令,和cache有啥关系?
37、Exclusive机制和cache有啥关系?
38、数据预取的作用是什么? 数据预取有哪些指令?
39、执行memset()函数清空一大块内存的时候,这些地址数据都会进cache吗?
40、L1/L2/L3 cache到底在哪里?L1/L2/L3 cache分别都是多大?
41、L1/L2/L3 cache的组织形式都是怎样的?n路组相连?
42、你见过VIVT的cache吗?你为什么要学习VIVT的cache? 非常干扰你对cache的理解,还不如不学呢.
43、那么cache是VIPT还是PIPT? 还是在一个core中既有VIPT,也有PIPT?
44、你要学习MESI的原理吗?你能记得住吗?你是不懂MESI,还是不懂cache架构?
45、MOESI又是啥玩意?现在主流的core是MESI,还是MOESI?
46、MESI仅仅是一个协议,总得有硬件来执行这个协议,硬件是谁?
47、MESI这个协议有4个状态,这4个状态记录在哪里?
48、L1/L2/L3 cache中,或者说core cache/cluster cache中,哪些cache的维护遵守了MESI协议,哪些没有遵守?为什么这样设计?
49、cache line中的data是多少个字节? 在分析问题时,你为什么总是按照条件分析,16bytes的cache line是怎样的,64bytes的cacheline是怎样的?难道你不知道,现在主流的arm core的cache line全部都是64bytes?
50、cache的TAG是什么玩意,里面都有什么?别说cache TAG是物理地址?
51、cache line中又都有什么? 为什么没有index?
52、L2 cache到底是在core中,还是在cluster中?
53、假设一块内存配置成了non-cacheable,为什么就不缓存到cache了?
54、页表entry的属性中定义了cache的缓存策略,那如果disable mmu后,那么cpu读写内存时候的缓存策略是什么?
55、做为一名软件工程师,对于L1/L2/L3 cache的缓存策略,哪些可以修改?哪些是硬件定死的不可以修改?而这些的替换策略又都是怎样的?
56、什么是inclusive cache? 什么是exclusive cache? Strictly和Weakly呢?
57、一些概念的理解,如CCI、SCU、DSU、ACE、CHI ?
58、如何配置一个页面的cacheable属性? 如何配置页表的cacheable属性?


推荐
  • ARMv8/ARMv9架构从入门到精通 --博客专栏
  • 《Armv8/Armv9架构从入门到精通 第二期》 --大课程
  • 8天入门ARM架构 --入门课程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/752173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

东京旅行攻略:机票、交通、消费和看富士山

欢迎关注「苏南下」 在这里分享我的旅行和影像创作心得 分享一些最近从香港去日本东京的短期周末旅行体验。 1:香港飞东京需要4小时,非旺季往返的价格在2000元左右。去年五一假期,我提前了两个多月买的香港快运就是这个价,不算贵。…

微信小程序的页面制作---常用组件及其属性

微信小程序里的组件就是html里的标签,但其组件都自带UI风格和特定的功能效果 一、常用组件 view(视图容器)、text(文本)、button(按钮)、image(图片)、form&#xff08…

Sentinel篇:线程隔离和熔断降级

书接上回:微服务:Sentinel篇 3. 隔离和降级 限流是一种预防措施,虽然限流可以尽量避免因高并发而引起的服务故障,但服务还会因为其它原因而故障。 而要将这些故障控制在一定范围,避免雪崩,就要靠线程隔离…

【Visual Studio】VS转换文件为UTF8格式

使用高级保存选项 更改VS的编码方案 首先需要打开高级保存选项 然后打开 文件 —> 高级保存选项 即可进行设置

OSPF协议全面学习笔记

作者:BSXY_19计科_陈永跃 BSXY_信息学院 注:未经允许禁止转发任何内容 OSPF协议全面学习笔记 1、OSPF基础2、DR与BDR3、OSPF多区域4、虚链路Vlink5、OSPF报文6、LSA结构1、一类/二类LSA(Router-LSA/Network-LSA) 更新完善中... 1、…

ChatGPT :确定性AI源自于确定性数据

ChatGPT 幻觉 大模型实际应用落地过程中,会遇到幻觉(Hallucination)问题。对于语言模型而言,当生成的文本语法正确流畅,但不遵循原文(Faithfulness),或不符合事实(Factua…

解决被反射的类无法被spring管理,空指针异常问题

目录 问题 原因 解决方案 问题 这是我在开发语音指令识别功能时遇到的问题,在将语音转成文字后需要进行指令匹配,指令匹配成功,就会获得对应的处理方法名称以及所属类,然后通过反射机制去执行该方法完成指令对应的操作 部分代…

C++——string

一学习string的原因 1.从个人理解角度上: 在刚开始学习之前,我只知道学习完string在以后的刷题中能提高做题效率,在对字符串的处理string库中也许有对应的接口去实现需求,不用自己去写函数的实现。 但在学string中改变了之前的…

谈谈IC、ASIC、SoC、MPU、MCU、CPU、GPU、DSP、FPGA、CPLD的简介

谈谈IC、ASIC、SoC、MPU、MCU、CPU、GPU、DSP、FPGA、CPLD的简介 IC (Integrated Circuit) 集成电路 (Integrated Circuit, IC) 是一种把电路中的元器件如电阻、电容、晶体管等集成在一块半导体材料上的微型电子器件。它是现代电子系统的基础组件,按照功能可分为模…

【PyTorch】基础学习:一文详细介绍 torch.save() 的用法和应用

【PyTorch】基础学习:一文详细介绍 torch.save() 的用法和应用 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f44…

Flask中的Blueprints:模块化和组织大型Web应用【第142篇—Web应用】

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Flask中的Blueprints:模块化和组织大型Web应用 在构建大型Web应用时&#xff0…

最后的挣扎 - Qt For Android on HuaWei Mate 60Pro (v4.0.0)

简介 为什么叫最后的挣扎, 其实都知道即将到来的 HarmonyOS NEXT 将抛弃Android支持,纯血HarmonyOS 将上线, 此时再说Qt for android支持Huawei HarmonyOS的设备其实并没有多少意思, 但恐怕在大多数基础软件完成兼容前, 很多人还是…

Linux系统中的网络协议和协议栈

在当今数字化世界中,网络已经成为了连接人与人、人与机器、机器与机器的重要桥梁。Linux操作系统在网络领域扮演着重要角色,其网络协议和协议栈是支撑其网络功能的基础。本文将深入探讨Linux系统中的网络协议和协议栈,包括其组成、功能以及如…

k8s的master节点主要模块说明

背景 k8s是一个master-worker模式的集群,master节点的作用主要是用于管理,worker节点的作用是用于运行docker 容器,master节点中有三个重要的模块组件,本文就来简单看下master的这三个模块组件的功能 master节点主要模块 1 API…

机器视觉学习(五)—— 图像的几何

一、图像的几何变化 图像的几何变化指的是通过改变图像的位置、尺寸和方向等参数来实现的图像变换。常见的图像几何变化包括平移、旋转、缩放和翻转等。 平移:将图像在平面上按照指定的平移距离水平或垂直移动。 旋转:按照指定的角度将图像绕中心或其他…

【PyTorch】基础学习:一文详细介绍 torch.load() 的用法和应用

【PyTorch】基础学习:一文详细介绍 torch.load() 的用法和应用 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f44…

UCORE 清华大学os实验 lab0 环境配置

打卡 lab 0 : 环境配置 : 首先在ubt 上的环境,可以用虚拟机或者直接在windows 上面配置 然后需要很多工具 如 qemu gdb cmake git 就是中间犯了错误,误以为下载的安装包,一直解压不掉,结果用gpt 检查 结…

LeetCode 189.轮转数组

题目:给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 思路: 代码: class Solution {public void rotate(int[] nums, int k) {int n nums.length;k k % n;reverse(nums, 0, n);revers…

sqlite 常见命令 表结构

在 SQLite 中,将表结构保存为 SQL 具有一定的便捷性和重要性,原因如下 便捷性: 备份和恢复:将表结构保存为 SQL 可以方便地进行备份。如果需要还原或迁移数据库,只需执行保存的 SQL 脚本,就可以重新创建表…

vulhub中GitLab 任意文件读取漏洞复现(CVE-2016-9086)

GitLab是一款Ruby开发的Git项目管理平台。在8.9版本后添加的“导出、导入项目”功能,因为没有处理好压缩包中的软连接,已登录用户可以利用这个功能读取服务器上的任意文件。 环境运行后,访问http://your-ip:8080即可查看GitLab主页&#xff0…