|
原帖由 Airhouse 于 2007-7-24 23:15 发表 ![]()
因为他对2级缓存的理解整个是错的。。。还是错的彻头彻尾那种。2级缓存的作用是paging,这个是整个虚拟内存处理中的一环。cpu如果要从内存中调用数据,走的顺序是cpu->L1->L2->L3(如果有)->主内存->I/O,缓存级 ...
现代乱序处理器的缓存工作是很复杂的.缓存间的同步有一系列的问题,比如两个处理器同时读写同一地址的话会出现无法预料的复杂状况.即使共享的缓存,两个核心使用的空间也要有一定区分,实际数据交换也要有严格的规范.楼主说的两核心占用缓存大小不同应该是确实会出现的.intel的文件也描述过,并且是作为优点来说的---因为单核心工作比较重的时候实际可利用的缓存就比分离缓存大许多.不过个人以为这是有利有弊的.
AMD的L3使用exclusive协议,L3中需要写回的数据是不会被不同核心同时引用的,只有指令可以,所以冲突的问题被限制在较小的范围内. |
|