首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >字节寻址内存和字寻址

字节寻址内存和字寻址
EN

Stack Overflow用户
提问于 2012-08-09 14:45:55
回答 2查看 157关注 0票数 1

字寻址内存和字节寻址内存是什么意思?

EN

回答 2

Stack Overflow用户

发布于 2012-08-09 15:26:41

这通常在底层硬件的上下文中使用。现在大多数系统都有字节寻址的内存。也就是说,存储器中的每个字节都可以单独寻址和提取。

有些系统具有字寻址存储器,并且指针寄存器包含单个字的地址。此外,每当获取内存时,都会获取一个完整的单词。如果您需要一个特定的字节,编译器将获取一个字,然后安排从中获取所需的字节。

请注意,在这样的系统上,在指针上使用reinterpret_cast是非常危险的,因为实现可能会(为了提高效率)将指向字对齐事物的指针保留为字指针,而将指向字节对齐事物的指针保留为字节指针。所以如果你的记忆看起来有点像这样:

代码语言:javascript
运行
复制
 word X  : aa ab ac ed
 word X+1: ba bb bc bd

指向字X的指针将包含X,但指向aa的字节指针将包含X*4

reinterpret_cast<word *>(&aa)会给你一个X*4的单词指针,这将是一个令人尴尬的错误。

在字节寻址的机器上,字指针和字节指针都将包含X*4,因此在两者之间进行reinterpret_cast是“安全的”(即未定义的行为和混淆)。

票数 4
EN

Stack Overflow用户

发布于 2012-08-09 18:26:50

同意Tom...in字访问存储器你可以有完整的4个字节时访问存储器(如在AHB总线)对于这种类型的存储器,如果你试图访问字节,你将得到未定义的行为

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11878093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档