凌阳教育的个人空间 https://blog.eetop.cn/204849 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

ARM存储器接口及存储器层次

已有 590 次阅读| 2015-12-10 13:42 |个人分类:linux技术

在现代SoC设计中,为了实现高性能,微处理器核必须连接一个容量大、速度高的存储器系统。如果存储器容量太小,就不能存储足够大的程序来使处理器权利处理,如果速度太慢,就不能为处理器执行指令那样快速地提供指令。但一般存储器的容量和速度之间成反比关系,即容量越大,速度越慢。因此,设计一个足够大又足够快的单一存储器,使高性能处理器充分发挥其能力,是有一定困难的。一般的的解决方法是构建一个复合的存储器系统,这就是普遍使用的多级存储器层次的概念。

多级存储器使它包括一个容量小但速度快的从存储器以及一个大容量但速度慢的主存储器。根据典型程序的实验设计,这个存储器系统的外部行为在绝大部分时间像一个既大又快的存储器。这个容量小但速度快的元件是Cache,它自动地保存处理器经常用到的指令个数据的拷贝。

2级存储器原理课扩展为多级存储器层次,如通常所谓的Cache、主存和硬盘构成3级存储层次,将硬盘作为存储器层次的一部分。

ARM存储数据类型和存储格式

1.       ARM支持的数据类型

ARM处理器支持以下6种数据类型:

8位有符号和无符号字节。

16位有符号和无符号半字,它们以2字节的边界对齐。

32位有符号和无符号字,它们以4字节的边界对齐。

ARM指令全是32位的字,并且必须以字为单位边界对齐。Thumb指令是16位半字,而且必须是以2字节为单位边界对齐。

在内部,所有ARM操作都面向32位的操作数;只有数据传送的指令较短的字节和半字的数据类型。当从存储器调入一个字节和半字节时,根据指令对数据的操作类型,将其无符号0或有符号“符号位”扩展为32位,进而作为32位数据在内部进行处理。

ARM协处理器可能支持其他数据类型,特别是定义了一些表示浮点数的数据类型。在ARM核内没有明确地支持这些数据类型,然而在没有浮点协处理器的情况下,这些类型可由软件用上述标准类型来解释。

存储器组织

在以字节为单位寻址的存储器中有小端和大端两种方式存储字,这2种方式是根据最低有效字节与相邻较高有效字节相比,是存放在较低的地址还是较高的地址来划分的。2种存储方式如图所示

小端格式:较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址。

大端格式:较高的有效字节存放在傲较低的存储器地址,较低的有效字节存放在较高的存储器地址。

ARM处理器能方便地配置为其中任何一种存储器方式,但其缺省设置为小端格式。

凌阳教育,专注嵌入式人才培养13年,完善的培养方案,强大的师资,合理的课程安排,成功从小白蜕变为嵌入式工程师。想了解凌阳教育,或者获得更多嵌入式学习资料的免费下载,请点击www.sunplusedu.com访问凌阳教育官网


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 1

    获赞
  • 3

    评论
  • 3815

    访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-25 09:54 , Processed in 0.041709 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部