x32 ABI

✍ dations ◷ 2025-10-21 21:44:37 #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中添加了相应支持。

相关

  • 奥萨玛·本·拉登苏联-阿富汗战争 反恐战争奥萨马·本·穆罕默德·本·阿瓦德·本·拉登(阿拉伯语:أسامة بن محمد بن عوض بن لادن‎,拉丁转写:Usāmah bin Muḥammad bin A
  • 肯尼亚中央银行肯尼亚中央银行,(英语:Central Bank of Kenya,简称CBK)成立于1966年,,是肯尼亚的中央银行,总部设于首都内罗毕。现任行长为2007年3月4日上任的恩朱古纳·恩东古(英语:Njuguna Ndung'u)
  • 龙口町尘芥烧却场龙口町尘芥烧却场,台北市中正区的历史建筑,是台北市于1932年至1933年兴建的三处大型垃圾焚化厂中,目前仅存之一处。其曾一度被违建所包覆,在2010年也曾发生大火。当时台北市每日
  • 奇克索族奇克索人(英语:Chickasaw)是一群生活于美国境内的美洲原住民,原先居住于阿拉巴马州的亨茨维尔(Huntsville)西部,以及密西西比州与田纳西州等田纳西河流域一带。在与欧洲移民接触以
  • 温带海洋性气候位于南北纬40至60度的大陆西岸,除亚洲、非洲和南极洲没有外,其余各大洲都有,其中以欧洲大陆西部及不列颠群岛最为典型。常年盛行来自海洋的西风,西岸常有暖流影响,增温增湿,西风从
  • 古罗马宗教古罗马宗教指在公元4世纪基督教成为罗马帝国合法宗教及国教之前,罗马人及罗马公民的宗教信仰。罗马人相信,每样东西都由神支配,宗教的目的是获得神协助和垂怜。用祈祷和奉献来
  • 派拉蒙影业派拉蒙影业公司(英语:Paramount Pictures Corporation),也被简称为“派拉蒙(Paramount)”,是一家位于美国加利福尼亚州好莱坞的电影制片厂。自1994年起,派拉蒙影业公司就是传媒集团
  • 生命工程《生命工程》是由科学家邓新篪,在1990年代提出来的新建项目。当时,由于吨位(权限)问题的缘故,国际上没有科学家敢创建此项目,唯独是邓新篪博士,以坚强的毅力,克服重重困难,创立了《生
  • 齐树楷齐树楷(1869年-1953年),自号隐斋。直隶高阳县人,清末民初政治人物、教育家、学者。曾迁居莘桥镇蠡县曲堤庄村。齐树楷18岁考取秀才,就学于清苑县王锡三门下。清光绪十九年(1893)考取
  • 王安镇王安镇镇,是中华人民共和国河北省保定市涞源县下辖的一个乡镇级行政单位。王安镇镇下辖以下村庄:王安镇村、王安村、东辛庄村、闫家庄村、东刘家庄村、南赵庄村、孙家泉村、祁