[讨论] ARM9,ARM7同cortex-m3的数据在RAM的存贮的区别

ddllxxrr   2010-3-3 13:41 楼主
ARM9 ARM7在RAM中是以字节,字,半字来存贮的,它们是按照一定的关系存放的,所以ARM9 ,ARM7可以把变量以字和半字来存取的。这样会浪费一个些空,具体浪费多大要根据指令情况而定,而CORTEX-M3就不是这样,而是按照无关联组织的,自由的存放,而在处理时CORTEX-M3不是把变量处理成字,半字,而是字节。从这点就可看出CORTEX-M3是新一代处理器

stm32ram.JPG
http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr

回复评论 (3)

哈 楼主很是细心嘛  除了这个特征外,还有其他的么?
点赞  2010-3-3 14:41
嗯  是这样嘀,
不仅仅ARM9,ARM7如此,我用到的16位单片机也是存在这样的问题,
好像称之谓字节对齐吧, 例如16位单片机int类型是16位的,char表示8位数据
这样以来
int a;
char b;
int c;
char d;  这样定义会占用8个字节的空间
int a;
int c;
char b;
char d;  这样定义就只占用6个字节空间
生活在激情中 ... 希望 哈哈 https://home.eeworld.com.cn/?80086
点赞  2010-3-3 14:43
kankan  xiexie
点赞  2014-5-23 13:06
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复