打印

MMU和MEMcontroller?

[复制链接]
2331|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ttxs|  楼主 | 2009-1-9 11:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大侠,我是本科生,老师要求用一个现成的IU自己扩展出一个最小系统。
不用设计cache。要有虚实地址转换(是MMU的事吧?)。
我想IU和RAM一定是必不可少的。
1.IU放出VIRTUAL ADDress 给MMU,之后MMU产生物理地址PA。这个PA是直接送 给RAM吗?
2.我想TLB(真在MMU里)和Page Table(在ram中)都算在MMU里面吧,TLB miss或者Page Table invalid就得发出MEXC,MHOLD等信号让IU停一停。这个Mem Exception的产生是MMU的事,还是Mem Controller的事。我不太明白Memorycontroller是干什么的?
3.还有IU上的RD,WE,LOCK等信号直接就完全控制RAM了,那么还用得着MemoryController吗?
IU,MMU,MEMCONTROLLER,RAM。。。我的思路很乱。请高手们帮我指点迷津!
谢谢了!! 

相关帖子

沙发
ttxs|  楼主 | 2009-1-9 15:43 | 只看该作者

补充

网上有人说,
MMU言下之意就是Memory Management Unit,通常提供外部存储器的访问权限、分页、Cache设置等操作。(我这里只管虚实地址转换)
内存控制器的话应该是对于某个存储器所持有的控制器,这个与一般外设的控制器(如DMA控制器)差不多,一般在片外。内存控制器个人理解为可以用来控制物理存储器的一些状态,比如对一个SDRAM进行刷新,或使其进入睡眠模式等。(我这里肯定不像刷新这么复杂,而且是片上内存)
MMU是对整个系统的存储构架体系的控制;而某个特定的存储器控制器(SDRAM、FLASH等)是针对特定存储器硬件而言的。

我刚才没有限定memory是什么,所以是不是如果我选择某种假设的存储体,可以根本不用memory ctrller? 

使用特权

评论回复
板凳
thw| | 2009-1-10 21:01 | 只看该作者

一点基础的。。。

mem controller一般是对SDRAM、RDRAM等把CPU对总线的操作翻译成存储器认识的操作。如SDRAM为线形地址到行列地址的转换。你要是操作一般的SRAM的话,就没什么内存控制器的意义了。本科生毕业设计如果能做一个SDRAM控制器,你说你是stanford或者MIT的我也就认了。

1、过了MMU仅仅决定是否允许本次访问。PA送到哪据地址窗映射决定的。

2、见上。没有mem controller的事情

3、同上。

MMU是CPU中与其他部件有较多关联的一部分。这里的memory一般不是指存储器,而是CPU访问的地址空间。你需要考虑你的MMU的转换方式等等等。比如你做一个n个entry的静态TLB或BAT管理。就完全可以不考虑PTE了。如果要实现PTE的话。呵呵,我估计地球上能做这个的硕士生也不多。




使用特权

评论回复
地板
ttxs|  楼主 | 2009-1-11 10:12 | 只看该作者

谢谢,太启发了!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

27

帖子

0

粉丝