6426|11

85

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

内存控制器和mmu问题 [复制链接]

内存控制器和mmu有什么区别?

现在接触davinci系列处理器,其中包含arm926、vpss(主要用于视频处理)、dsp

这些东西都在内存控制器之下工作,而mmu只在arm端有,想问是内存控制器是在arm内还是另外在片内独立的一个东西,而mmu和内存控制器有什么区别?都起什么作用?

最新回复

是这样,也没有必要,因为ARM7跑不了Wince和linux等系统。内部集成的就可以应付需求了  详情 回复 发表于 2008-8-30 11:35
点赞 关注

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
MMU言下之意就是Memory Management Unit,通常提供外部存储器的访问权限、分页、Cache设置等操作。
MMU通常在核心芯片上。

内存控制器的话应该是对于某个存储器所持有的控制器,这个与一般外设的控制器(如DMA控制器)差不多,一般在片外。内存控制器个人理解为可以用来控制物理存储器的一些状态,比如对一个SDRAM进行刷新,或使其进入睡眠模式等。

MMU是对整个系统的存储构架体系的控制;而某个特定的存储器控制器(SDRAM、FLASH等)是针对特定存储器硬件而言的。

 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
完全同意zenny_chen的说法。
MMU指CPU内部的。
内存控制器是控制,如SDRAM
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

4
 
不完全同意zenny_chen
对于ARM9来说 MMU 和 MEMORY CONTROLLER 都是片内资源,一下的解释适用ARM9

MMU Memory Management Unit 存储器管理单元
主要功能 :
虚拟地址到物理地址映射
存储器访问权限控制
高速缓存支持

MEMORY CONTROLLER 内存控制器
主要功能:为外部存储器存储提供内存控制信号(provides memory control signals required for external memory access.)
特性:

— 小/大端支持 Little/Big endian (selectable by a software)
— 每一个bank支持128M地址空间,总共有8个bank,最大支持1G地址空间 Address space: 128Mbytes per bank (total 1GB/8 banks)
— 除了bank0,其他的bank的存储大小都是可编程的Programmable access size (8/16/32-bit) for all banks except bank0 (16/32-bit)
— 总共有8个bank控制器 Total 8 memory banks
   六个分配给ROM,SRAM等 Six memory banks for ROM, SRAM, etc.
  剩下的2个给ROM,SRAM,SDRAM等 Remaining two memory banks for ROM, SRAM, SDRAM, etc .
— 7个bank控制器的开始地址是固定的 Seven fixed memory bank start address
— 最后一个bank控制器的开始地址是可自定义的 Adjustable start address for the last bank.
— 最后两个bank的大小是可编程的 Programmable bank size for the last two banks.
— 所有的bank 的存储周期是可编程的 Programmable access cycles for all memory banks
— 使用外部等待扩展总线周期 External wait to extend the bus cycles
— 支持自刷新和掉电模式的SDRAM Supporting self-refresh and power down mode for SDRAM
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 
ARM9架构的 s3c2410 cpu 的内存控制器有8个bank控制寄存器用于控制片内和片外的存储器,每个bank支持128M的地址空间。

bank0的开始地址为0x0000 0000 结束地址为0x07FF FFFF (128M)
bank1的开始地址为0x0800_0000 结束地址为0x0FFF FFFF (128M)
.
.
.
bank6的开始地址为0x3000 0000 结束地址为0x37FF FFFF (128M)
bank7....

你的外部存储器例如SDRAM接在bank6上,所以cpu操作SDRAM的时候就会从0x3000 0000的地方操作
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

6
 
内存控制器是做在片内的还是在板子上还是在内存上?
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

7
 
你问的什么平台?首先,不管是哪个平台,内存控制器都不是在“内存”中,内存只是存储芯片。

Intel的X86架构的系列都不在CPU内,所以才要南北桥芯片。
AMD的X86架构都在CPU内。
龙芯的在CPU内。

嵌入式中的ARM9及以上系列,都在CPU内。
MIPS都在CPU内。

其他的……lx补充
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

8
 
dm6446,再问一下arm7的也是在片内吗?
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

9
 
ARM7一般不会支持外部内存,只有少量的型号支持总线扩展(就是外部RAM/SDRAM),典型的S3C44B0是支持SDRAM。只要支持的,内存控制器都是CPU内置的。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

10
 
ARM7一般不会支持外部内存,只有少量的型号支持总线扩展(就是外部RAM/SDRAM),典型的S3C44B0是支持SDRAM


--------------请问arm7一般不会支持外部内存-----这个是什么意思?为什么不支持外部内存?那arm7在片内集成有flash之类的东西吗?
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 4 楼 vsong 的回复:
ARM9架构的 s3c2410 cpu 的内存控制器有8个bank控制寄存器用于控制片内和片外的存储器,每个bank支持128M的地址空间。

bank0的开始地址为0x0000 0000 结束地址为0x07FF FFFF (128M)
bank1的开始地址为0x0800_0000 结束地址为0x0FFF FFFF (128M)
.
.
.
bank6的开始地址为0x3000 0000 结束地址为0x37FF FFFF (128M)
bank7....

你的外部存储器例如SDRAM接在bank6上,所以cpu操作SDRAM的时候就会从0x3000 0000的地…


------------对
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

12
 
引用 8 楼 shuiyan 的回复:
ARM7一般不会支持外部内存,只有少量的型号支持总线扩展(就是外部RAM/SDRAM),典型的S3C44B0是支持SDRAM。只要支持的,内存控制器都是CPU内置的。


是这样,也没有必要,因为ARM7跑不了Wince和linux等系统。内部集成的就可以应付需求了
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表