1、存储器的层次结构是由多个存储器按照层次组成的结果,存储器的容量和访问时间随着离处理器距离的增加而增加。
2、块(block)或行(line)是指两个存储器结构中,交换存储信息的最小单位。
3、命中率:在高层次存储器中找到目标数据的访问比例。
4、缺失率:在高层次存储器中没有找到目标数据的访问比例。
5、命中时间:访问某存储器层次结构需要的时间,包括判断是否命中的时间。
6、缺失代价:将相应的块从低层存储器替换到高层存储器所需的时间,包括访问块、将数据逐层传递、将数据插入发生缺失的层和将信息块传送给请求者的时间。
7、主存储器由DRAM实现,Cache由SRAM实现。
8、服务器使用的存储器通常是双列存储器模块(Dual Inline Memory Module, DIMM)。
9、flash可以使用损耗均衡(wear leveling)技术,控制存储位尽可能平均损耗。
10、磁盘访问分为三步。第一步寻道,将磁头移动到目标磁道上所需的时间为寻道时间;第二步,等待扇区旋转到读写头下方的时间为旋转时间;第三步,将数据读出的时间叫做传输时间。
11、cache中数据缺失执行的操作:1、将PC中的值减4交给主存进行读数;2、将主存读出的数放回Cache,设置标记域和有效位;3、重启执行执行取指操作。应该可以直接将主存中存储的数据取出使用????
12、写穿(write-through)能够将数据同时更新到Cache和存储器中,用来保持数据的一致性。
13、写操作也会遇到写缺失,即Cache中没有要写入的地址,因此要从主存中将这一地址中的数据取到Cache中,在进行写穿。
14、写穿性能较差,可以利用写缓冲来提高性能。在执行写穿操作的时候,处理器只要将数据写到Cache和写缓冲中,存储器中的数据将有写缓存来进行更新。
15、写回(write-back):写操作时仅写入Cache,当Cache中被修改过的块需要被替换时,才会将修改过的数据写回低级存储器。
16、处理器速度很快,而存储系统不快,会导致存储器阻塞花费的时间占据执行时间的比例会上升。
17、直接映射将一个块映射到Cache的固定位置,全相联将一个块映射到Cache中的任意位置,因为全相联需要检索Cache中的所有的项,因此只适合块数较小的Cache
18、介于二者之间的映射方式为组相联,组相联Cache中具有多个组,每个块映射到的组是固定的,块可以放在对应组的任意位置,因此需要先索引到组,检索所有的块。
19、直接映射和组相联Cache中的地址由三个部分组成,分别是标记、索引和块偏移。对于组相联Cache,索引位用来选中对应的组,标记位用来在组中选中正确的块,块偏移用来在块中选中正确的信息。
20、相联度增加将增加每组中的块数,相关度增加2倍,索引位将会减少1位,标记位将会增加1位。二路组相联即组中有两个块。
21、选择那种映射方式,需要再缺失代价和硬件资源消耗(一般来说,关联度越高,资源 小号越大)直接做trade。
22、最近最少使用(Least Recently Used, LRU):一种替换策略,总是替换很长时间没有使用的快。
23、使用多级Cache的CPI明显下降,L1更加关注命中时间,L2更加关注命中率。
24、硬件存在一个指向页表首地址的寄存器叫做页表寄存器。
25、页表是指存储着虚拟地址和物理地址映射关系的表,页表保存在主存中,使用虚页号进行索引,如果一个虚页存在,那么它对应的物理页应该存放在页表中。
26、页表、程序计数器和寄存器确定了一个进程的状态。保存这些数据即为保存这个进程,恢复这些数据进程将继续执行。在恢复时,操作系统将赋值页表寄存器,将其指向页表表头地址。
27、虚拟存储器用来管理主存,允许多个虚拟页表对应一个物理页表,这样做可以使两个不同的程序共享数据或代码。
28、在磁盘中,为进程的全部虚拟地址空间所预留的磁盘空间称为交换区。交换区位所有进程的虚拟地址提供空间,可以理解成交换区和虚拟地址空间一样大,这样在一个进程 切换到另一个进程时,可以将被切换进程对应的数据页放在交换区中。
29、虚拟存储器系统中,写操作使用写回机制。通常采用全相联技术存放虚拟页。
30、快表(Translation-Lookaside Buffer, TLB),将最近使用过的地址转换记录下来。快表中包含虚页号、物理页号和标志位。在TLB中的项被替换时,需要将标志位写回。
31、缺页时,采用虚拟地址查找页表项,并找到磁盘上被访问页的地址。
32、在处理器中,缺失被分为三类情况,称为3C模型:冷启动缺失,容量缺失和碰撞缺失。
33、Cache的块偏移位同处理器的地址总线一样,均按照字节进行寻址。
34、脏位(dirty bit)表示Cache中的块是否被修改过。在写回策略中,若Cache中的块被修改过,即块的脏位有效,该块被替换时,将会正常写回主存;若脏位无效,则将直接覆盖该块信息。
35、一个Cache的状态机可以由四个状态表示,分别是空闲、标志比较、写回、分配。
36、缓存一致性原则包括两个方法。第 一个是一致性,即不同处理器拿到同一存储单元的数据应当是一致的,即使在处理器1读取数据之后处理器2改变了该存储单元的值,也应当有相应的机制替换掉存储器1中的旧值。另一个是顺序性(写串行化 ),即不同的处理器无时间间隔的写同一个存储单元,所有从这个 存储单元 取数 的处理器拿到的数据应该均为最后写入的数据。
37、提供缓存一致性的处理器系统,其Cache提供迁移和复制的功能。迁移是指低级Cache中的数据能够移到使用该数据的处理器的本地Cache,并以透明的方式使用。复制是指当共享的数据被访问时,本地Cache会对数据进行复制,避免数据的竞争。
38、实现Cache一致性协议的关键在于追踪所有共享数据块的状态。
39、写无效协议是实现Cache一致性的一种协议,该协议规定了在处理器执行写操作时,其他处理器Cache中副本均无效(将有效位失效),其他处理器读取数据,不能从本地副本中读取,要从主Cache中读取,确保了一致性。当出现两个处理器写同一个数据单元时,将会出现竞争,竞争胜利的才能写入数据;失败的一方,要在取得新数据之后,在进行写操作,确保了写操作的串行性。
40、最常用的Cache一致性协议是监听(snooping)协议。