问答题 为什么要设置Cache?Cache的设置是以什么事实为依据的?Cache系统由哪些主要电路组成?在32位存储系统中,每次进出Cache的信息单位有多大?CPU将数据写入内存时,Cache控制器通常采用哪两种处理方式?
【正确答案】由于目前处理器的工作速度远高于DRAM,为了解决CPU与内存之间的速度匹配问题,必须设置高速缓冲存储器Cache。
   Cache的设置是以程序运行的“局部性”为基础的。这种局部性是指:程序具有在一段时间里集中存取某一存储区域中的指令或数据的特性。人们正是利用了程序经常重复使用指令或数据的特点,将内存中正在使用的指令或数据放到高速缓冲存储器Cache中,以提高CPU重复读取指令或数据的速度。
   Cache系统主要由以下4个部分组成。
   (1)数据存储器BUF:由高速sRAM组成,用来存放取自DRAM内存的数据行。
   (2)位置存储器TAG:由高速SRAM组成,用来存放BUF中内存数据行的区号。
   (3)区号比较器CMP:将当前地址中的区号与TAG中存放的区号相比较的电路。
   (4)Cache控制逻辑:用来控制整个Cache系统工作的逻辑电路。
   在32位存储系统中,每次进出Cache的信息单位为16字节(一次突发传送的字节数)。CPU将数据写入内存时,Cache控制器通常采用的处理方式有以下两种。
   (1)直写式:将CPU给出的数据同时写到Cache和内存中。
   (2)写回式:先将CPU给出的数据写到Cache的数据行中,当该数据行将要被内存中的其他数据行替换时,再将它从Cache写回到内存中。
【答案解析】