随机访问:通过下标进行存取,对于不同的下标,读取的时间都是一样的,因此成为随机。
直接存储器 对应的数据结构是b树。
单位成本:一bit 多少钱。
易失性:断电后,信息丢失。
刷新周期:刷新一行 到 下次 在刷新该行的时间。
虽然 后面三个ROM 可以 进行写。
‘
MAR 是 地址总线的位数, MDR 是数据总线的位数。
MAR:地址寄存器。用来存储 读取/ 写入 内存单元的编号。
MDR:数据寄存器。用来存储 从内存中读取 / 写入内存的数据。
MAR存放 数据的地址,MDR 存放真实的数据,两者配合使用
’实际内存 与逻辑内存没有关系。
若按照 字节编址,那么大端编址 就等同于小端编址。
按照字编址:
a图展开:
b图展开:
如果按照字节编址。那么 就会对每个字节进行编号,就不会存在大端,小端的问题。
在上面例子中,01为 一个字节。23为一个字节。
SRAM 使用线选法。 DRAM 使用 重合法。 所以 DRAM 的芯片引脚小。
上题中 ,因为有8根数据线,说明存储字长为8位。 所以 是 2K * 8b.
上题中 是 2片 1k*4 位进行字扩展。
片选线只与 字扩展有关。字扩展 是在位扩展的基础上进行的。在考虑字扩展的时候不用考虑位扩展。
把0B1F 转换成二进制。
字节是 8位长的数据数组,字节记为B, 位 记为 b.
在32 位系统中,一个字 等于 四个字节。
在64位系统中,一个字等于 8个字节。
所以在上题中 是 1M 除以 4B。 下题中 是 除以 8B。注意:题中的存储字长 32位,64位,是32位字节,64位字节。
MAR 的位数 与 逻辑内存大小有关。
两个读写口 地址码 相同 或者 存储单元编号 相同 就认为 冲突。
SRAM 是 非破坏性读出,谁都能读,读之后不改变原来信息状态,就认为没有冲突。
如果要找主存储器中的块 对应cache 块的位置,那么就把主存储器中 块的内容 与 cache中所有 块的内容进行查找,从而找到内容一样的,这就叫按内容查找。
r 为 组的个数,当r=0 时 就变成直接映射,当r=c 时 就变成了 全相连映射。
若 考试教材 推荐 蒋本珊 老师的教材,就使用第二种,默认使用 唐朔飞老师的教材。
上图是 主存块中的标记。
每个cache 行/ 块 都有一个cache 标记,注意 cache 行 与 cache块 是一个说法,cache行 不是指的一行,而是指一个块。
上图为 组相连映射
注意: cpu 与 cache之间 交换数据的单位是字,CPU 与 主存之间交换数据的单位是字,主存与cache之间交换数据的单位是块。
主存 与 cache之间数据的交换由硬件自动完成。
本质来讲,cache 就是一个数组,块号 和组号 就是数组的下标。
上图为 全相连 ,按内容查找。
说明:Nc 为访问cache的次数,Nm为访问主存的次数。tc也为 cache的存取周期,tm 也为主存的存取周期。
因为是按照 字编址,所以主存大小 应为 512K * 16位 / 16位,因为每个字是16位。
说明:指令cache 与数据cache 相比 ,标记位少了一个脏位,因为指令不需要更新,所以不需要脏位。
说明:物理地址=块号+逻辑地址 mod 页大小。