|
发表于 2005-3-25 12:56:18
|
显示全部楼层
Post by StrangerCHL
6楼有误,用于页面映射的是隐cache,又叫快表,与通常所说cahce不同,不计入cache大小(对用户程序完全透明)。理论上足够小的程序加上足够精心的代码安排,可以使程序整个存在于cache中,前提是没有系统调用等东西让操作系统来抢地方。同楼上,系统时间其实都开销到I/O和调度上了。
我所说的用于寻址变换的cache就是所谓TLB俗称快表,里面存储的是页号及描述子而不会是程序。当处理器需要进行地址翻译时,它就会首先在TLB中查找。如果TLB中有需要的内容,CPU就会直接获得物理地址,不必再去内存的页表格提取,从而提高访问速度。
至于cpu cache的功能大家都知道,但是系统瓶颈更多在于 cpu与内存、外设之间。
精简的程序可以把整段指令代码送入cpu cache倒是可能的。 |
|