众所周知,一级cache分为数据L1D和程序L1P,L1D可对L2RAM中的数据进行缓存,
L1P可对L2RAM中的代码进行缓存,请问L1是怎样判断L2RAM中的内容是数据还是代码呢,
是根据 .text 和 .data 来判断吗?
Tony Tang:
不是L1来判断,是由访问决定的,比如取指令时则取的代码,取数据时取的是数据,然后分别送到相应的Cache,并经过各自的总线进CPU。
众所周知,一级cache分为数据L1D和程序L1P,L1D可对L2RAM中的数据进行缓存,
L1P可对L2RAM中的代码进行缓存,请问L1是怎样判断L2RAM中的内容是数据还是代码呢,
是根据 .text 和 .data 来判断吗?
不是L1来判断,是由访问决定的,比如取指令时则取的代码,取数据时取的是数据,然后分别送到相应的Cache,并经过各自的总线进CPU。