在关于主存与cache地址映射方式中,叙述(19)是正确的。在分析cache对机器性能的影响时,叙述(20)是正确的。

admin2019-05-04  25

问题 在关于主存与cache地址映射方式中,叙述(19)是正确的。在分析cache对机器性能的影响时,叙述(20)是正确的。

选项 A、cache容量比主存小许多,决定机器访问存储器的速度是主存,cache只起次要作用
B、cache的主要作用是减少调用子程序的开销
C、核心程序法是评价计算机性能的方法之一,由于它程序短,访问存储器的局部性较大,cache的命中率比一般程序高
D、奔腾PC机采用两级cache结构,一级放系统程序,另一级放用户程序

答案C

解析 当CPU发出访存请求后,存储罪地址先被送到cache控制器以确定所需数据是否已在cache中,若命中则直接对cache进行访问。这个过程称为cache的地址映射。常见的映射方法有直接映射、全相联映射和组相联映射。
   (1)直接映射  以随机存取存储器作为cache存储器,硬件电路较简单。在进行映射时,存储器的地址被分成三部分,从高到低依次为:高位地址标识符、块号以及块内地址。首先按照块号访问cache,把该块的tag值与存储器地址中的tag域进行比较,若相同则根据地址中的word域对该项数据进行读写,若tag不相符则说明访问未命中。直接映射方式也是一种多对一的映射关系。
   (2)全相联映射  使用相联存储器作为cache,其速度快于直接映射,但是硬件电路较复杂,而且价格也较昂贵。使用相联存储器组成的cache存储器,其基本单元分成两部分:地址部分和数据部分。数据部分用于存放数据,而地址部分则存放该数据的存储器地址。当进行映射时,相联存储器把CPU发出的存储器地址与cache内所有的地址信息同时进行比较,以确定是否命中。全相联映射方式因比较器电路难于设计和实现,只适用于小容量cache。
   (3)组相联映射  组相联映射的每一个块中有两个或两个以上不同的tag域,每一个tag域则对应着一个数据域。这样。cache中同一项的两个(或多个)数据有相同的block值和word值,但是可以有不同的tag值,从而弥补了直接映射机制的缺陷。当CPU发出读写请求后,地址信息中的block域用来访问 cache存储器。存储器地址所含的tag域则同时和该块中所有的tag(图中为两个)进行比较以确定是否命中。为了加快tag的比较过程,可以采用相联存储器的方式并行地进行比较。这就是组相联名称的由来。组相联映射方式适度地兼顾了相联映射和直接映射两种方式的优点。在cache容量相等的条件下,组相联映射比直接映射方式有更高的命中率。
   若计算机的cache容量大,速度快,而且运行的程序又能使CPU读写的数据经常在cache中获得,则该程序执行的速度就快,也就是说如果程序短,访问存储器的局部性比较大,cache的命中率会比一般程序高。采用这种程序来评价计算机性能往往评价偏好。
   PC机采用两级cache结构时,在CPU内有一级,容量小速度更快,在主板上另有一级,容量稍大,在使用中有时可分成指令cache和数据cache两部分,指令cache不需要写操作,管理更方便。它并不是用来一级放系统程序,另一级放用户程序的。
转载请注明原文地址:https://jikaoti.com/ti/fVJ7FFFM
0

最新回复(0)