多说几句<br /><br />问题<br />图一是arm内部框图<br />1。图中指令CACHE和数据CACHE分开了,那么其分别存储的什么,分别是指令和数据?难道在CPU译码前就把指令给分解了分别进入指令CACHE和数据CACHE,不大可能。很多CPU都是这样,不太明白cache分开的实现机制?<br />2。另问指令MMU是介于外部MEM和cache之间还是介于CACHE和cpu核之间。我认为可能是后者,<br />另贴一图,从图中看出,cache分为指令CACHE和数据CACHE几乎是标准实现,<br /><br />另外能否结合一条指令执行把ARM内核框图中的各单元动作解释一下,谢谢。<br />上图中准确的说只是图示了armCPU 内核和外围单元的框图,而armCPU(即图中的arm9tdmi core) 内部单元类似alu,freeze,except,timer,pc等这些单元并没有画出来,<br /><br />对应体系结构的标准单元来说---理下思路<br />上图中图示了<br />asb:biu即总线接口单元,<br />cache:一级分成指令CACHE和数据CACHE<br />MMU:分成指令MMU和数据MMU<br />WB:有时称sb,即回写缓冲,<br />DU:调试单元即图中TRACE INTERFACE PORT,这里不明白怎么又还有一个JTAG<br /><br />图中的r13,cp15不知是什么。还有WRITE BACK PA TAG RAM好像是一个转换表,不太明白。<br /><br />cpu执行时,asb从外部读取指令进入CACHE,ASB由mmu转换地址给出。。。。。。不太明白了,这里mmu也分成了指令指令MMU和数据MMU,那么地址转换如何实现呢???<br />
|