1
29EtwXn6t5wgM3fD 2019-01-16 22:01:53 +08:00 via iPhone
不是有快表么
|
2
yinanc 2019-01-16 22:15:44 +08:00 via iPhone
地址位数是一样的。Cache 地址由标记、块号、块内三部分组成,其中块号和块内地址位数就是 cache 容量。标记位长度就是剩下的位数,标记位内容在 cache 块中也保存(不作为数据),判断是否 hit 就是通过比对标记位实现。
|
3
Newyorkcity OP @yinanc 地址位数是一样的,那不就意味着主存和高速缓存的容量是一样大的?比如说大家的地址都有 14 位,那大家不久都可以容纳 2^14 个字么?
|
4
yinanc 2019-01-16 22:34:43 +08:00 via iPhone
@Newyorkcity 标记位严格来说确实不算“地址”了,
|
5
OscarUsingChen 2019-01-16 22:34:46 +08:00 via iPhone
其实不然,因为现在都是用虚拟内存了,CPU 想要的地址一般是 64 位的,而 cache 的地址长度是和物理内存地大小挂钩的。
见 virtually indexed physically tagged cache |
6
x86vk 2019-01-16 22:43:29 +08:00 via Android
没太懂你的意思,但它 cache 的地址实际上是标记,是给你确定这个 cache 里面的东西是不是你想要的内存里的东西用的,而不是给你寻址用的。比如一组内的 cache line 可能对应好多个可能的地址,而如何确定每个 cacheline 到底是哪个地址内的数据,就是所谓 cache 地址的作用了。
|
7
feather12315 2019-01-16 22:48:35 +08:00 via Android 1
|
8
feather12315 2019-01-16 22:50:40 +08:00 via Android 1
#7 这个
https://www.google.com/url?sa=t&source=web&rct=j&url=http://ir.sdu.edu.cn/~gantian/course/ca/1%2520-%25204.3.pdf&ved=2ahUKEwi40eaPxfLfAhUTNn0KHeD7ClQ4ChAWMAZ6BAgAEAE&usg=AOvVaw0aNlT6T6og77qATROYw1S_ 手机复制地址不方便,关键词:cache,组相连、全相连、直接映射,看看课件中的图就明白了 |