字节序与位序.doc

字节序与位序.doc

ID:57755088

大小:15.50 KB

页数:2页

时间:2020-09-02

字节序与位序.doc_第1页
字节序与位序.doc_第2页
资源描述:

《字节序与位序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、补充知识:数据存储的字节序与位序1.2数据存储的字节序与位序在各种计算机体系结构中,对于字节、字等的存储机制有所不同。对于同一个数值,在不同的计算机体系中会以相反的顺序记录。例如,十六进制数值H,在一种计算机架构下存储为H,而在另一种计算机架构下会被存储为H。这就是按照不同的字节序进行存储的。所以所谓的字节序指的就是长度跨越多个字节的数据的存放形式。1.2.1Endian的含义目前的存储器,多以字节为访问的最小单元,当一个逻辑上的单元必须分割为物理上的若干单元时就存在了先放谁后放谁的问题。于是Endian的问题应运而生了。对于不同的存储方法,就有Big-

2、endien和Little-endian两个描述。Big-endian和Little-endian这两个术语来自于JonathanSwift的《格利佛游记》。其中交战的两个派别无法就应该从哪一端—小端(Little-end)还是大端(Big-end)打开一个半熟的鸡蛋达成一致。支持从小端打开鸡蛋的一派被称为Little-endian,支持从大端打开鸡蛋的一派则被称为Big-endian.在那个时代,Swift是在讽刺英国和法国之间的持续冲突。后来,一位网络协议的早期开创者Danny.Cohen,第一次使用这两个术语来指代字节顺序,后来这个术语被广泛接纳了

3、。1.2.2Little-endian的含义Little-endian是一种小值的一端〔或序列中较不典型的值)存储在前的顺序,也就是说,最低字节存放在最低位,最高字节存放在最高位,反序排列。依照人们的习惯来说,我们的文字及数字都是以从左到右的方式排列的,这似乎也被认为是自然的存储字符和数字方式。然而,Little-endian却恰恰与我们的习惯相反。例如,按照我们的习惯写一个十六进制数值56AB78EFH,把这个数值以Little-endian的方式表达出来,则是EF78AB56H。1.2.3Big-endian的含义Big-endian是一种大值的一端

4、(或序列中更典型值)存在前面(在最小的存储地址)的顺序,也就是最高字节在地址最低位,最低字节在地址最高位,依次排列。Big-endian的方式与人们的书写习惯一致.例如,按照我们的习惯写一个十六进制数值56AB78EFH,把这个数值以Big-endian的方式表达出来,也是56AB78EFH。1.2.4字节序与CPU架构的关系谈到字节序的问题,必然涉及CPU的架构。CPU从架构上区分,有x86、x86-64、IA-64等;从指令集上区分,有CISC,RISC等。1.CPU的架构(1)x86架构x86又称IA32,即IntelArchitecture32(

5、Intel32位架构)。它是Intel为其第一块16位CPU(i8086)专门开发的。IBM1981年推出的世界第一台微机中的CPU--i8088(i8086简化版)使用的也是x86架构。同时计算机中为提高浮点数据处理能力而增加了x87芯片,以后就将x86指令集和x87指令集统称为x86架构。虽然随着CPL技术的不断发展,Intel陆续研制出更新型的i80386.i80486,Pentium系列及至强系列CPU,但为了保证计算机能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel公司所生产的所有CPU仍然继续使用x86架构,所以它的

6、CPU仍属于x86系列。由于Intelx86系列及其兼容CPU(如AMD等)都使用x86架构,所以就形成了今天庞大的x86系列及兼容CPU阵容。目前基本上所有x86架构的CPU对数据的处理,都采用Little-endian字节序。(2)x86-64架构x86-64架构是由AMD公司设计的,也称为AMD64。它可以在同一时间内处理64位的整数运算,并兼容于x86-32架构。其中支持64位逻辑定址,同时提供转换为32位定址选项;但数据操作指令默认为32位和8位,提供转换成64位和16位的选项;支持常规用途寄存器。如果是32位运算操作,就要将结果扩展成完整的6

7、4位。这样,指令中有“直接执行”和“转换执行”的区别.其指令字段是8位或32位,可以避免字段过长。x86-64架构的CPU对数据的处理,也采用Little-endian字节序。(3)IA-64架构IA-64架构是Intel为了全面提高以前IA-32处理器的运算性能,和HP公司共同开发了6年的64位CPU架构,是专为服务器市场开发的一种全新的处理器。它放弃了以前的x86架构,认为它严重阻碍了处理器的性能提高。IA-64架构的最初应用是英特尔的Itanium〔安腾)系列服务器处理器,后来的Itanium2系列处理器也采用这一架构。由于它不能很好地解决与以前3

8、2位应用程序的兼容,所以应用受到较大的限制,尽管目前Intel采取了各种软、硬方

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。