网站规划有什么意义,微网站怎么做的,wordpress ddos 2014,seo网站模板下载1. 什么是cache(缓存)#xff1f;它的工作原理是什么#xff1f;
Cache是少量的快速内存。它位于主存储器和中央处理器之间。每当CPU请求memory位置的内容时#xff0c;首先检查cache中是否有此数据。如果数据存在于cache中#xff0c;CPU直接从cache中获得数据。这是更快…1. 什么是cache(缓存)它的工作原理是什么
Cache是少量的快速内存。它位于主存储器和中央处理器之间。每当CPU请求memory位置的内容时首先检查cache中是否有此数据。如果数据存在于cache中CPU直接从cache中获得数据。这是更快的因为CPU不需要去memory拿数据。如果数据不在cache中则从memory读取一块内容到cache中然后传递所需的数据块给CPU。当一个地址在cache中被查找时如果缓存中包含该地址的内容它就被称为cache命中。反之称之为cache丢失。 2. 在有cache使能的机器上在链表(linked list)中搜索数据与在向量(vector)中搜索数据的程序的性能会有差异吗
链表是一种将元素存储在非连续内存位置的数据结构而向量是一种将元素存储在连续位置的数据结构。
对于使用cache的设计如果一个内存位置存在于cache中那么很有可能其它连续字节也会存在于cache中因为从主存到cache的任何读取通常都是根据cache line(通常是32或64或128字节)进行的。正因为如此在有cache的机器上搜索向量比搜索链表要快。 3. 将memory映射到cache的不同方法有哪些比较每种方法的优缺点。
有3种主要的映射技术用于映射memory和cache的内容。在每一种映射中memory和cache被话费为很多块(cache line通常为64字节大小)这是用于映射的最小大小。
直接映射在直接映射中memory中每个块只能映射到cache的一个特定块中。这是所有映射中最简单的通过知道memory地址可以很容易计算出cache中可能位置并且仅与单个位置的标记位进行比较就可以算出是否命中cache。这种映射的缺点是即使cache可能未满但如果memory访问是在同一块中的地址则可能导致更多的替换并且效率不高。全相联映射在全相联映射中任何memory块都可以映射到cache中的任何块。这种方式的优点是cache的所有位置都可以被充分利用命中率高。但是成本高查找是否命中最慢。组相联映射它是直接映射和全相联映射的折中在组相联映射中cache块被分为若干个块集合。memory地址与cache地址的映射转换有两部分组地址是按直接映射方式按地址进行访问而块地址是采用全相联方式按内容访问。这种映射的优点是cache块的冲突概率比较低块的利用率大幅度提高块失效率明显降低。但是实现难度和造价都要比直接映射高。不过现在这种映射在cache实现中使用最为广泛。 4. 4路组相联映射的cache的总大小为256KB。如果每个cache块(cache line)的大小是64字节那么cache中有多个集合(cache set)假设地址位宽为32-bit需要多少地址位作为标签位(tag)
Cache的块总数 (256*1024)/64 4096。因为cache是4路组相联集合数 4096/4 1024。给定一个32位的地址(address)和64字节的cache块address[5:0]用于索引cache块内部的字节address[15:6]被用来找出哪一组地址映射。剩余的address[31:16]用作标签位也就是16位。 5. Write-through和write-back的cache区别是什么各有什么优缺点
Write-through cache在write-through cache中每个对cache的写操作同时也写入memory。这很容易设计因为相对于cache而言memory总是最新的但缺点会经常占用memory带宽。
Write-back cache在write-back cache中每次对cache的写操作都只写到cache中。写memory被延迟直到cache块被替换掉。Write-back cache在memory带宽使用上更友好因为数据只在需要时才写回memory。但如果系统中有多个cache可以缓存相同的地址那么维护一致性的数据就会变得复杂因为内存可能并不总是有最新的数据。 6. Inclusive cache和exclusive cache有什么不同
Cache的inclusive和exclusive属性适用于具有多个cache级别的设计例如包含L1、L2和L3 cache。
如果L1 cache中存在的所有内容被设计为也存在于L2 cache中则L1 cache称为inclusive cache。如果保证所有的内容最多只存在于一个L1或L2 cache中而不同时存在于两个cache中那么这些cache就称为exclusive cache。Exclusive cache的优点是多级cache可以一起存储更多的数据。Inclusive cache的优点是在多处理器系统中如果必须从处理器的cache中删除一个cache块则只需要在L2 cache中检查它就行而对于exclusive cache则必须检查它是否存在于L1和L2 cache中。