例如,使CACHE的每个存储单元由3部分内容组成。第一部分内容,是CACHE的数据字段,保存从主存某一单元复制过来的数据内容,这是在CPU第一次读出该主存字时完成的,在把读出内容传送到CPU的同时,顺便将该内容写进一个选中的CACHE单元的数据字段;第二部分内容,是CACHE的标志字段,保存相应主存单元的地址内容,是在复制主存单元的数据内容的同时,把该主存单元的地址写进这一标志部分的,用它指明该CACHE单元的数据字段部分保存的数据是从哪一个主存单元复制过来的。当程序中的一条指令要用一个主存地址读主存的某一单元时,就用这一地址来与CACHE中的标志字段的内容相比较,若找到某一标志字段的内容与该地址值相同,则同一CACHE单元的数据字段中的数据内容可能就是欲读的数据;这表明,读CACHE时,是用CACHE单元内容的一部分(标志字段)的值(原本用于读主存的一个地址),来确定该CACHE单元另外一部分(数据字段)的内容是否就是要读的数据。以这种原理运行的存储器被称为关联(联想)存储器。第三部分内容,是CACHE单元的有效位字段,规定其值为1,表示该CACHE单元中的标志字段、数据字段的内容是有效的,为0,则说明该CACHE单元在此之前尚未使用,其标志字段、数据字段的内容是无效的。有效位字段的内容,应在CACHE刚投入使用时,清每个单元的有效位为0;在一个CACHE单元被选中,且数据字段、地址字段的内容完成写入操作之后,该单元的有效位亦被置为1,表明该单元已被占用,其标志字段、数据字段的内容是有效的。
图4.16 给出了CACHE存储器最简单读出原理,现在不妨先假定该CACHE的一个存储单元与一个主存字相对应。CACHE存储器要正常进行工作,当然还要有自己的管理逻辑部分,这一部分内容到后面有关部分再介绍。
图4.16 CACHE存储器最简单读出原理
|
|