ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

计算机中的字 (Word)

2022-01-29 21:02:23  阅读:142  来源: 互联网

标签:Word x86 访问 64 位数 对齐 字节 计算机


[1] Word (computer architecture)
[2] What is the relationship between “64-bit operating system”, “x64-based processor” to word size?
[3] What’s the size of a QWORD on a 64-bit machine?
[4] Are machine code instructions fetched in little endian 4-byte words on an Intel x86-64 architecture?
[5] INTEL X86,why do align access and non-align access have same performance?

在计算机体系结构中,我们可能遇到过(Word)这个词,可能想当然的认为字的大小就代表了寄存器的位数、总线的位数、一个指令能处理的数据位数、CPU只能按字寻址、load/store的内存地址必须按字对齐等特性[1]。举个例子,如果字长是8字节的话,我们可能推断出这是个64位CPU,寄存器有64位,总线位数是64位、CPU最小只能寻址到8字节的字、load/store内存地址必须按8字节对齐(二进制最低3位为0)等结论。

但事实并非总是如此,例如在Intel x86的文档中,一个字的长度是16 bit,即 2 字节 [2] [3],无论是 x86 还是 x86_64 架构都是如此,因此,对于 x86 来说,字长和寄存器位数、总线位数这些特性没有关系。

x86架构并不是word-oriented的,在x86架构中讨论字没有太大的意义 [4] [3] [2], x86 指令集支持多种大小的操作数,最小可以访问到一个字节,最大可以访问到64个字节,例如:

  • movb, movw, movl, movq分别支持一次性访问1个字节、2个字节、4个字节、8个字节
  • SSE(Streaming SIMD Extensions)指令支持一次性访问16个字节
  • AVX(Advanced Vector Extensions)指令支持一次性访问32个字节
  • AVX-512指令支持一次性访问64个字节

而且,x86 并不要求load/store的内存地址按“字”对齐,访问对齐的内存和和访问未对齐的内存性能几乎是一样的 [5]。

标签:Word,x86,访问,64,位数,对齐,字节,计算机
来源: https://blog.csdn.net/qq_29328443/article/details/122745831

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有