gpt4 book ai didi

c++ - 为什么对齐边界大于 4?

转载 作者:太空狗 更新时间:2023-10-29 20:12:48 24 4
gpt4 key购买 nike

我不明白的是,为什么我们必须在大于 4 字节的边界上对齐内存中的数据,因为所有其他边界都是 4 的倍数。假设一个 CPU 可以在一个周期中读取 4 个字节,它基本上是如果该数据为 8 字节大并且按 4 字节/8 字节/16 字节等对齐,则性能没有差异。

最佳答案

当 x86 CPU 读取 double 时,它会在一个周期内读取 8 个字节。当它读取一个 SSE vector 时,它读取 16 个字节。当它读取 AVX vector 时,它读取 32。

当 CPU 从内存中获取缓存行时,它还会读取至少 32 个字节。

您关于 CPU 每个周期读取 4 个字节的假设是错误的。

关于c++ - 为什么对齐边界大于 4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25660238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com