惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
P
Proofpoint News Feed
D
DataBreaches.Net
C
Check Point Blog
L
LangChain Blog
量子位
美团技术团队
Vercel News
Vercel News
人人都是产品经理
人人都是产品经理
N
Netflix TechBlog - Medium
V
Visual Studio Blog
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
MongoDB | Blog
MongoDB | Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Last Week in AI
Last Week in AI
The GitHub Blog
The GitHub Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
U
Unit 42
腾讯CDC
M
MIT News - Artificial intelligence
Microsoft Azure Blog
Microsoft Azure Blog
Blog — PlanetScale
Blog — PlanetScale

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解
4.3、多体交叉存储器、Cache的基本原理、相联存储器、 Cache...
Carey_ccl · 2026-05-21 · via 博客园_首页

一、多体交叉存储器

  其基本思想是在不提高存储器速率、不扩展数据通路位数的前提下,通过存储芯片的交叉组织,提高CPU单位时间内访问的数据量,从而缓解快速的CPU与慢速的主存之间的速度差异。

1.1、高位多体交又存储器的组织方式

image

1.2、低位多体交叉存储器的组织方式

image
image

1.3、低位多体交叉存储器的性能分析

image

二、Cache的基本原理

2.1、存储系统中的Cache视图

image

2.2、Cache的读、写操作

image
image

2.3、Cache的地址映射机制

image

2.4、Cache的结构

image
image

三、相联存储器

3.1、相联存储器的作用

image

判断依据和查找方式
image

3.2、相联存储器的基本结构及工作原理

image

3.3、相联存储器的一种技术实现

  通过cpu给的主存地址(1111011010011...1111),剥离出标记部分,然后将标记部分送到相关电路,给出了有效位和标记的存储体,这些内容会送到硬件的并发比较电路当中去进行比较,从地址中剥离出来的标记与原来存放在相联存储器当中的标记进行多路并发比较,当比较命中(也就是说判断基于这个地址要访问的内容在Cache当中)时,命中的这个信号会通过多路选择器从Cache的数据存储当中将cpu基于这个地址要访问的数据取出来送给cpu,从而实现快速查找。
image

四、相联存储器

image

  在引入Cache之前,CPU是基于地址访问主存的,在引入Cache之后,CPU会基于相联存储器去判断访问的内容是否在Cache当中。那么主存数据映射到Cache的方式有以下3种:
①、全相联(fully-associated);
②、直接相联 (direct mapped);
③、组相联(set-associated);

4.1、全相联(fully-associated)映射
4.1.1、工作原理

image
image
image

cpu基于地址访问主存时,会将一个地址剥离出标记部分和块的偏移地址,此时,因为主存数据送到Cache中的数据可能存在Cache当中的任意一行,所以,Cache会将Cache所有行当中存放的标记全部送到多路硬件中进行并发比较。如果比对时命中了某个Cache行,那么cpu就从命中的这一块偏移地址上剥离出要访问的具体的块;反之,如果比对时没有命中任何一个Cache行,那么cpu会根据原始的地址再次访问主存。

4.1.2、全相联映射的特点

image

4.2、直接相联(direct mapped)映射
4.2.1、工作原理

image
image
image

与全相连类似Cache当中保存有有效位,标记位,以及从主存当中搬迁过来的数据,不同的是,cpu在Cache当中进行查找时会根据主存地址中的index指定特定的行进行查找(全相连映射时全部比较),因此直接相联(direct mapped)映射的比较器比全相连映射简单。如果比对时命中了index指定的Cache行,那么cpu就从命中的这一块偏移地址上剥离出要访问的具体的块,反之,如果比对时没有命中index指定的Cache行,那么cpu会根据原始的地址再次访问主存,并将主存中对应的数据块搬迁到Cache当中,并且填充标记部分。

4.2.2、直接相联映射的特点

image

4.3、组相联(set-associated)映射
4.3.1、工作原理

image
image
image

组相连是将cpu的地址分为标记、组、字这3个部分,如果映射组成的数据块在Cache当中时,只会在Cache当中特定组的任意行,因此,组相连的比较器要比较的对象是index字段指向的特定组的所有行,如果比对时命中了index指定的特定组,那么cpu就从命中的这一块偏移地址上剥离出要访问的具体的块,反之,如果比对时没有命中index指定的特定组,那么cpu会根据原始的地址再次访问主存,并将主存中对应的数据块搬迁到Cache中的特定组上,这与全相连映射中所有行的比较方式和直接相联映射中特定index行的比较方式都不同,因此组相连映射的比较器的复杂度是介于全相连映射和直接相联映射之间的。

4.3.2、组相联映射的特点

  Cache利用率、块冲突率、淘汰算法复杂度都介于全相连映射和直接映射之间,若Cache分8行,当K路组相连=8时,组相连映射=全相连映射;当K路组相连=1时,组相连映射=直接映射。
image