3第二章 基础知识1.ppt
文本预览下载声明
* 8位 Cache 主存 主存页标记 0组 7位 3位 1位 9位 1组 0组 Cache地址 1组 7组 255组 只需比较8位标记位即可(由于每组2页故需用1位判断)。 标记标记 0页 1页 标记标记 2页 3页 … … 标记标记 14页 15页 0页 1页 …… 7页 8页 9页 …… 15页 …… 2047页 主存组号 Cache组号 组内页号 页内地址 * * 组相联映像 访存时根据主存地址的中间4位,找到Cache页,将其标记与主存页标记进行比较,判断是否是主存中的副本,即访问是否命中。在以上的例子中,需要8位的标记位来进行判断。 Xscale体系结构的微处理器内部的指令快存和数据快存容量都为32KB,采用的都是32路组相联的映射方式,即分成32组,每组32路,每路32个字节。 * ④替换算法 当发生Cache不命中时,必须选择被替换的项。常用的替换算法有先进先出算法(FIFO) 、近期最少使用LRU算法和随机替换算法等。ARM7 中采用的是LRU的替换算法。 FIFO算法:在地址变换表中设置一个历史位,当替换时,总是把一组中最先调入 Cache存储器的字块替换出去,它不需要随时记录各个字块的使用情况,所以实现容易且开销小。 * LRU算法 LRU算法是把一组中近期最少使用的字块替换出去。这种替换算法需随时记录Cache存储器中各个字块的使用情况,即页表为在物理存储取中的每一页保留了一个时间或年龄域,以便确定哪个字块是近期最少使用的字块。LRU替换算法的平均命中率比FIFO要高,并且当分组容量加大时,能提高LRU替换算法的命中率,能较好地反映出程序的局部性的特点。 * 替换算法 LRU是最常使用的一种算法。其设计思想是把组中各块的使用情况记录在一张表上,如下图所示)。并把最近使用过的块放在表的最上面。这种算法用硬件实现比较麻烦,经常采用修改型LRU算法。 另外还有一种随机替换法(RAND),这种算法不考虑使用情况,在组内随机选择一块来替换,其性能要差些。 * * ⑤Cache和主存的写策略 写直达法(Write-through) : 当要写Cache时,数据同时写回主存储器。或则通过缓存写直达 。 写回(Write-back)法: 写回是当处理器更新Cache的某一行后,相应数据并不立刻写回主存储单元,而当该行被从Cache淘汰时,才把数据写回主存储器中。 写一次法:写命中与未命中的处理方法与写回法基本相同,只是第一次写命中是要同时写入主存。 Pentium机的L2级Cache采用的是写回法,L1级数据Cache采用的是写一次法。 * (2)ROM 存储器简介 FlashROM存储器是非易失性存储器。FlashROM存储器可在线进行电写入、电擦除,并且掉电后信息不丢失的ROM存储器。具有低功耗、大容量、擦写快、可整片或分扇区在系统编程、擦除等特点。 FlashROM可由内部嵌入的算法完成对芯片的操作,因而在各种嵌入式系统中得到了广泛的应用,通常用于存放程序代码、常量表,以及一些在系统掉电后需要保存的用户数据等。 常用的FlashROM为8位或16位数据宽度,编程电压为3.3V。 * (2)ROM 存储器简介 传统上,ROM是只能让处理器读取的存储器,而且即使在没有电源的情况下也能保持所存储的数据位。 RAM是指处理器可读写的存储器,但在电源消失后其所存储的数据位也会丢失。 目前有些微处理器不但可以在线读取也可以在线写入高级的ROM,如FlashROM,但这种写入比写入RAM要慢一些。 * (2)ROM 存储器简介 FlashROM在20世纪80年代末期出现。虽然FlashROM存储器也使用EEPROM的浮栅原理,但FlashROM存储器可以每次擦除存储器的一块区域,每个块区域通常有几千个字节。这种快速擦除能力,可以大幅度提高那些需要将大量数据存储在非易失性存储器的嵌入式系统的性能,例如数码相机、机顶盒、移动电话
显示全部