首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

ARM详细介绍(8)

ARM详细介绍(8)

ARM存储数据类型

六种数据类型:
1 8位有符号和无符号字节。

216位有符号和无符号半字。

332位有符号和无符号字。

ARM
指令都是32位的字,必须以字(4字节)为单位边界对齐。

Thumb
指令是16位半字,必须以2字节位单位边界对齐。

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

ARM
体系结构所支持的最大寻址空间为4GB232字节)

ARM
体系结构将存储器看作是从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字数据,从第四个字节到第七个字节放置第二个存储的字数据,依次排列。

ARM
体系结构可以用两种方法存储字数据,称之为大端格式和小端格式

ARM存储格式

数据存储格式有两种:
1)大端模式:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。

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

ARM存储周期
4
种基本类型:

空闲周期。

非顺序周期。

顺序周期。

协处理器寄存器传送周期。

ARM总线接口信号分类

ARM7TDMI的总线接口信号分成4:
时钟和时钟控制信号:MCLKECLKnRESETnWAIT

地址类信号:A[31:0]nRWMAS[1:0]nOPCnTRANSLOCKTBIT

存储器请求信号:nMREQSEQ

数据时序信号:D[31:0]DIN[31:0]DOUT[31:0]ABORTBL[3:0]

ARM总线接口可以实现的总线周期

总线周期使用nMREQSEQ信号编码。
4
种不同类型的总线周期。

N
周期:非顺序周期,最简单的总线周期;存储控制器必须启动存储器访问来满足这个请求;该方式存储系统常需要长的访问时间。

S
周期:顺序周期,实现总线上的突发传送;第一个周期,地址可与前一个内部周期相同;与非顺序访问相比响应更快,访问时间更短。

I
周期:内部周期,不要求存储器访问;可广播下一次访问的地址以便开始译码,但存储控制器不允许进行存储器访问。

C
周期:协处理器寄存器传递周期,通过数据总线向或从协处理器传送数据;不需存储周期,存储控制器不启动事务;传送期间,存储系统不允许驱动数据总线。

高速缓存(Cache)的分类

1
)统一Cache和独立的数据/程序
Cache
统一Cache:一个存储系统中指令预取时使用的Cache和数据读写时使用的Cache是同一个Cache

独立的Cache:一个存储系统中指令预取时使用的Cache和数据读写时使用的Cache是各自独立的。

用于指令预取的Cache称为指令Cache

用于数据读写的Cache称为数据Cache

使用独立的数据Cache和指令Cache,可以在同一个时钟周期中读取指令和数据,而不需要双端口的Cache。但此时要注意保证指令和数据的一致性。

2)写通Cache和写回
Cache
CPU更新了Cache的内容时,要将结果写回到主存中。

写通法: write-throught,指CPU在执行写操作时,必须把数据同时写入Cache和主存。

写回法: write-back,指CPU在执行写操作时,被写的数据只写入Cache,不写入主存。仅当需要替换时,才把已经修改的Cache块写回到主存中。

3)读操作分配Cache和写操作分配
Cache
当进行数据写操作时,可能Cache未命中,这时根据Cache执行的操作不同。

读操作分配Cache:当进行数据写操作时,如果Cache未命中,只是简单地将数据写入主存中。主要在数据读取时,才进行Cache内容预取。

写操作分配Cache:当进行数据写操作时,如果Cache未命中,Cache系统将会进行Cache内容预取,从主存中将相应的块读取到Cache中相应的位置,并执行写操作,把数据写入到Cache中。

对于写通类型的Cache,数据将会同时被写入到主存中,对于写回类型的Cache数据将在合适的时候写回到主存中。


返回列表