Stratified Synthesis: Automatically Learning the x86-64 Instruction Set

被引:0
|
作者
Heule, Stefan [1 ]
Schkufza, Eric [2 ]
Sharma, Rahul [1 ]
Aiken, Alex [1 ]
机构
[1] Stanford Univ, Stanford, CA 94305 USA
[2] VMware, Palo Alto, CA USA
基金
美国国家科学基金会;
关键词
ISA specification; program synthesis; x86-64;
D O I
10.1145/2908080.2908121
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The x86-64 ISA sits at the bottom of the software stack of most desktop and server software. Because of its importance, many software analysis and verification tools depend, either explicitly or implicitly, on correct modeling of the semantics of x86-64 instructions. However, formal semantics for the x86-64 ISA are difficult to obtain and often written manually through great effort. We describe an automatically synthesized formal semantics of the input/output behavior for a large fraction of the x86-64 Haswell ISA's many thousands of instruction variants. The key to our results is stratified synthesis, where we use a set of instructions whose semantics are known to synthesize the semantics of additional instructions whose semantics are unknown. As the set of formally described instructions increases, the synthesis vocabulary expands, making it possible to synthesize the semantics of increasingly complex instructions. Using this technique we automatically synthesized formal semantics for 1,795 instruction variants of the x86-64 Haswell ISA. We evaluate the learned semantics against manually written semantics ( where available) and find that they are formally equivalent with the exception of 50 instructions, where the manually written semantics contain an error. We further find the learned formulas to be largely as precise as manually written ones and of similar size.
引用
收藏
页码:237 / 250
页数:14
相关论文
共 50 条
  • [41] RC3: Consistency directed cache coherence for x86-64 with RC extensions
    Elver, Marco
    Nagarajan, Vijay
    2015 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURE AND COMPILATION (PACT), 2015, : 292 - 304
  • [42] Performance characterization of SPEC CPU2006 integer benchmarks on x86-64 architecture
    Ye, Dong
    Ray, Joydeep
    Harle, Christophe
    Kaeli, David
    PROCEEDINGS OF THE IEEE INTERNATIONAL SYMPOSIUM ON WORKLOAD CHARACTERIZATION, 2006, : 120 - +
  • [43] 基于x86-64的操作系统的设计与实现
    肖明明
    李蓓
    王禹
    郭京英
    李宗璞
    教育现代化, 2016, 3 (38) : 166 - 167
  • [44] A Low-Power Integrated x86-64 and Graphics Processor for Mobile Computing Devices
    Foley, Denis
    Bansal, Pankaj
    Cherepacha, Don
    Wasmuth, Robert
    Gunasekar, Aswin
    Gutta, Srinivasa
    Naini, Ajay
    IEEE JOURNAL OF SOLID-STATE CIRCUITS, 2012, 47 (01) : 220 - 231
  • [45] Speeding-up P-256 ECDSA verification on x86-64 servers
    Drucker, Nir
    Gueron, Shay
    IEEE Letters of the Computer Society, 2019, 2 (02): : 12 - 15
  • [46] BHive: A Benchmark Suite and Measurement Framework for Validating x86-64 Basic Block Performance Models
    Chen, Yishen
    Brahmakshatriya, Ajay
    Mendis, Charith
    Renda, Alex
    Atkinson, Eric
    Sykora, Ondrej
    Amarasinghe, Saman
    Carbin, Michael
    PROCEEDINGS OF THE 2019 IEEE INTERNATIONAL SYMPOSIUM ON WORKLOAD CHARACTERIZATION (IISWC 2019), 2019, : 167 - 177
  • [47] CALVIS: Educational Tool in Learning Intel x86-32 Instruction Set Architecture
    Grace Alcalde, Jennica
    Chua, Goodwin
    Marlowe Demabildo, Ivan
    Ashley Ong, Marielle
    Luis Uy, Roger
    THEORY AND PRACTICE OF COMPUTATION, 2018, : 59 - 69
  • [48] Design Optimizations for Reduced Power and Higher Operating Frequency in a Custom x86-64 Processor Core
    Keshlear, W.
    Oliver, S.
    Colyer, R.
    Schreiber, J.
    Antoniadis, T.
    Mickelson, T.
    Puzey, T.
    Bates, M.
    PROCEEDINGS OF THE IEEE 2009 CUSTOM INTEGRATED CIRCUITS CONFERENCE, 2009, : 17 - 20
  • [49] 向x86-64开发人员提供免费的模拟工具
    Rodney Myrvaagnes
    王正华
    今日电子, 2001, (01) : 12 - 12
  • [50] Adaptive Clocking System for Improved Power Efficiency in a 28nm x86-64 Microprocessor
    Grenat, Aaron
    Pant, Sanjay
    Rachala, Ravinder
    Naffziger, Samuel
    2014 IEEE INTERNATIONAL SOLID-STATE CIRCUITS CONFERENCE DIGEST OF TECHNICAL PAPERS (ISSCC), 2014, 57 : 106 - +