Alterna · учебный материал
内存和现金
OSI 如何工作、地址、签名、内存阵列、 L1/L2/L3 缓存处理器: 流程图、 打击和丢失、 动画和交互式模拟 。
Что в этом материале
- OSI:地址和单元格
- 指数指数
- 记忆中的大规模
- 内存和处理器缓存的混乱
- 缓存模拟器( 直接显示)
- 小型微小测试
Содержание и основные понятия
返回目录
第30章 第30.3页
内存和现金
OSI是如何工作的,什么是像记忆中的阵列这样的指针, 为什么处理器的缓存使代码更快100倍。
处理器不直接与 OSI 合作,在他们之间。
3级缓存
理解这意味着理解为什么
for i for j
和
for j for i
速度可能相差五倍。
全球环境基金,全环基金
PIF 太平洋岛屿论坛
他有一点点深度
01
OSI:地址和单元格
运行内存(内存)
每个细胞仓库1字节(8位数) 都有一套独特的细胞。
地址地址地址
- 整个数字。
处理器按团队读取内存
LOAD адрес → регистр
并按团队记录
STORE регистр → адрес
计算机中的所有东西 -- -- 变量、数组、对象 -- -- 只是一系列的内存单元格。
🔬
内存单元格模拟器
按下单元格以更改其值( 0-255) 。
指数指数指数
大规模
数据数据数据 数据
盒子里藏着什么?
- 取决于变量的类型:
char c = 'A'
1字节 ASCII代码65
0100 0001
int n = 300
4字节 记录在1字节代码
double x = 3.14
8 字字节 IEE 754 杜白
int* p
4或8字节
地址地址地址
其它内存单元格
02
指数指数
指数(点数)
- 一个变量,它保持
地址地址地址
内存中的另一个变量。
int x = 42;
- 单元格中的变量,例如地址
0x1000
int* p = &x;
- 指数指数
p
保存价值
0x1000
*p
- 时装:读取收件中存储地址的价值
42
👉
索引链模拟器
按下"下一步" 穿过排便链
路标是怎么回事?
参照转让
函数在不复制整个大对象的情况下更改触发代码的变量。
动态内存
malloc
/
new
返回选定区块的索引。大小只在反弹时知道。
数据结构
联系人名单、树木、图表,
数组
C/C++数组名称是其第一个元素的索引。
03
记忆中的大规模
大规模是
连续内存
所有元素都排成一行,彼此相邻。
用于数组
int arr[5]
(每)
int
= 4 字节),有初始地址
0x2000
:
arr[0]
→ 0x2000,
arr[1]
→ 0x2004,
arr[2]
→ 0x2008, …
元素i的地址:
基数 + i x 大小( 类型)
📦
大规模内存: 地址可视化
元素类型类型
质量大小
基本地址(hex)
二维阵列:
以单维、一行一行的方式存储(行-主顺序在C中)。
a[i][j]
→
base + (i*cols + j) * sizeof(тип)
这就是为什么行比列更快—— 同一行的相邻元素接近内存( 并一起输入缓存 ) 。
04
内存和处理器缓存的混乱
处理器的战术频率为~3-5千兆赫。
60-100 毫秒
为了不等待,处理器和OZM之间有几级速度。
缓存内存( SRAM)
:
L1缓存
- 32 64 KB = 1-4个周期(~0.5 ns),每个内核
↕
L2 缓存
256 KB - 1 MB 10 - 20 周期(~ 5 ns)
↕
L3 缓存
8,32 MB 30 - 50 周期 (~ 15 ns) 内核常见
↕
OZU (DRAM)
4 64GB 200 - 300 周期(~ 80 ns) 缓慢!
类比:
处理器是厨师,L1是他在切割板上(即时接入)的前面,L2在厨房桌上,L3在隔壁冰箱里,OZU在门后的一个壁橱里。如果你没有合适的,你继续,你浪费时间。
工作原则:
1. 处理者向地址请求数据
A
.
2. 检查L1:发现?
cache hit
~0.5毫秒。
3 L1里没有?
cache miss
我们去OZU吧
4. 数据从OZN下载到L3~L2~L1
缓存行
(即时64 字节)
5. 下一个接近邻近地址的通道已经被暗礁击中!
05
缓存模拟器( 直接显示)
直接定位缓存 :
该行由公式定义 :
строка = адрес mod N
其中 N 是缓存行数 。
⚡
模拟器:直接锁定的缓存(8行)
处理器转向地址。 见: hit( 绿色) 或 made( 红色) 。
快取状态( 8 行) :
地址序列 :
按下开始模拟 。
回返回返回返
0
Hit
0
Miss
0
Hit rate
—
自检任务 :
更改序列到
0,8,0,8,0,8
开始。为什么点击率=0%?
cache thrashing
.
06
小型微小测试
🧠
小型试验:5个问题