为什么甚至大端CPU也会从较低的内存读取到较高的内存?对于大端,相反可能更理想

问题描述 投票:1回答:2

[我已经阅读了wiki中的字节序,并尝试搜索我的问题,发现Does the endianness affect how structure members are stored into the memory中解释字节序的帖子不会影响C的内存中结构成员的顺序(从低到高)。 。

也在Wiki中:

little-endian系统具有可以将相同值设为从内存中以不同的长度读取而不使用不同的长度地址

但是仅当我们从小到大地址读取时。

我想知道在哪里(哪些体系结构/语言)使用从高(要清楚:较大的地址)到低的内存顺序?这样会使big-endianness具有上面引用的Wiki中正确提及的相同好处。

例如它可能意味着类似于C的语言malloc返回最大地址,程序将通过执行received_address--而不是++ (希望我说清楚)来填充内存。

我无法通过网络搜索找到为什么计算机开发没有走这条路(从大地址到小地址读取内存)(因为如果Wiki中的该短语是正确的,那的确没有走)。

我已经阅读了Wiki中的字节序,并尝试搜索我的问题,发现该字节序是否会影响结构成员如何存储到解释字节序的内存中?

cpu-architecture
2个回答
1
投票
如果我将您的问题理解为“是否可以使CPU和软件从最高地址降到最低地址?”的答案是肯定的。它是基于人类习惯(从0开始)的方式完成的,但是有例外。

-1
投票
据我所知,加法运算更容易通过CPU进行,然后是减法,因此从低到高的内存是很自然的,反之亦然。
© www.soinside.com 2019 - 2024. All rights reserved.