x32 ABI

✍ dations ◷ 2025-04-17 00:35:45 #Linux内核接口,X86架构

x32 ABI(英语:x32 Application Binary Interface)是一种ABI及Linux内核接口之一。它允许程序得到x86-64的优点(较大的CPU寄存器号码,更佳的浮点性能,更快的地址无关代码共享库,通过寄存器传递函数参数,更快的系统调用指令),而使用32位指针,从而避免了对64位指针的开销。

尽管x32 ABI限制了程序的虚拟地址为4 GB,它也减小了程序的内存占用量,且在某些情况下,能使它运行得更快。在181.mcf SPEC CPU 2000基准测试中,x32 ABI版本比x86-64版本最多能快40%。一般而言,x32在SPEC CPU整数基准比x86-64快5-8%。在SPEC CPU浮点基准上,x86-64则毫无速度优势。

大多数情况下执行以ILP32模式编译的程序,但又能使用主要的64位CPU指令,这样的用户空间并非少见,特别是在“经典RISC”芯片领域中。例如,Solaris操作系统在SPARC和x86-64上就是这么做的。而对于Linux,SPARC和PowerPC上的Linux发行版,如Aurora SPARC Linux和Debian,也有ILP32用户空间。根本原因是LP64代码“更贵”,正如上文x86-64所述。就这方面而言,x32是“64位ILP32”概念在x86-64平台的延伸。

自从2003年Athlon 64发布以来,一些人就在讨论32位指针x86-64 ABI的好处,特别是2008年高德纳的研究。然而,在实现这种模式上,外界并没有看到有显著进展,直至2011年8月27日,汉斯·彼得·昂万在Linux内核邮件列表上宣布,他和H·J·鲁一直在x32-ABI上努力。

就在同一天,林纳斯·托瓦兹回应道,在x32 ABI中使用32位时间值,将来可能会导致问题。这是因为,使用32位时间值,将导致时间值在2038年溢出。根据这一要求,x32 ABI的开发者将时间值变为了64位。

2011年9月7日一个Linux Plumbers Conference上的演讲提及了x32 ABI。

x32 ABI于Linux 3.4起合并入内核,GNU C 库 2.16中添加了相应支持。

相关

  • 中央山脉中央山脉为台湾五大山脉之一,北起宜兰县苏澳镇南方澳与东澳之间的乌岩角,南到台湾本岛最南端的鹅銮鼻,呈北北东至南南西走向纵贯全岛,为全岛最长的山脉,它将台湾全岛分成了西大、
  • 分子束外延分子束外延(英语:Molecular beam epitaxy, MBE)是使单晶材料生长的一种方法,由贝尔实验室的J. R. 亚瑟(J. R. Arthur)和卓以和(Alfred Y. Cho)于1960年代后期发明。分子束外延于高真
  • 克孜勒克孜勒(俄语:Кызы́л,图瓦语:Кызыл,直译:红色)是俄罗斯图瓦共和国首府。位于大小叶尼塞河汇合处。人口109918(2010年)。建于1914年,命名为别洛沙尔斯克(俄语:Белоца́р
  • 史学家历史学家也称历史家、史学家、史家,指以撰写历史著作为职业或对历史学的创立、发展与应用付出努力的知识分子。历史学家包括历史记录的编撰者和史料的研究者。人们研究历史必
  • 滨鼠科滨鼠科(学名:Bathyergidae)是啮齿目下的一科,分布于撒哈拉沙漠以南的非洲各地。非常适应地下生活,门齿大而突出在嘴唇之前,可作为挖洞的辅助工具,身体圆柱形,四肢和为均短,视力退化,没
  • 印钞机构造币厂,或称铸币局、铸钱局,是制作货币的硬币的工厂。铸钱局历史与硬币的历史(英语:History of coins)是相随相伴的。起初铸钱的主要方式是铸打(英语:Hammered coinage)或铸造(英语:Ca
  • 1983年被中华人民共和国处决的死刑犯列表1983年被中华人民共和国处决的死刑犯列表,旨在列出1983年被中华人民共和国处决的死刑犯。
  • 安藤桃子安藤桃子(日语:安藤 桃子/あんどう ももこ ,1982年3月19日-),日本女电影导演、编剧,生于东京都,现居于高知市。安藤桃子在高中时期曾经前往英国留学,就读伦敦大学艺术学院。毕业后,在
  • 欺诈猎人 (2008年电影)《电影版 欺诈猎人》(日语:映画 クロサギ)是一部2008年3月8日上映的日本电影。漫画《クロサギ》原作所改编的电视剧《クロサギ》的剧场版。预告的标语为“悲しみも喰らって、生
  • 基卡·德拉·加尔萨埃利希奥·基卡·德拉·加尔萨二世(英语:Eligio “Kika” de la Garza, II;1927年9月22日-2017年3月13日),是美国的民主党政治人物,前美国众议院德克萨斯州第十五国会选区(英语:Texas