跳转到主要内容

处理器指令/指令集数据库

项目描述

License PyPI Package Documentation Test Status

Opcodes项目

该项目旨在以方便工具开发的方式记录指令集。指令集由三个文件表示

  • 一个描述指令的XML文件

  • 一个描述XML文件结构的XSD文件

  • 一个读取XML文件并将其表示为Python对象集合的Python模块

本项目是从PeachPy汇编器衍生出来的。

当前状态

该项目提供了大多数用户模式x86、x86-64和k1om指令的描述,包括AVX-512和SHA(包括3dnow!+、XOP、FMA3、FMA4、TBM和BMI2)。以下指令目前 不支持

  • 所有特权指令和用户模式系统指令(例如XSAVE、SLDT)

  • 旧式字符串/流指令(MOVS/SCAS/CMPS/STOS/LODS)

  • LOCK和REP/REPZ/REPNZ前缀

  • x87 FPU指令

  • VIA Padlock指令

  • Intel HTM指令

对于每个指令,以下信息提供

  • 摘要描述

  • Intel汇编(PeachPyNASMYASM和MASM汇编器),AT&T汇编(GNU汇编器)以及Plan 9汇编(Go汇编器)中的指令名称

  • 操作数类型和特性(操作数是输入还是输出)

  • 隐式输入和输出寄存器

  • 引入此指令的ISA(指令集架构)

  • 指令是否操作FPU或MMX状态

  • 指令是否操作AVX或传统SSE状态

  • 当输入操作数引用同一寄存器时,指令是否对输入值无依赖(例如,XOR eax, eaxeax无依赖)

  • 指令是否由Native Client验证器支持以及支持引入的时间

  • 写入32位寄存器的指令是否被x86-64 Native Client验证器识别为零扩展

安装

pip install --upgrade Opcodes

用户

  • PeachPy – 靶向高性能计算用例的Python内嵌x86-64汇编器。

  • Template-Assembly – 使用领域特定语言进行元编程,将x86汇编代码嵌入C++。

同行评审出版物

致谢

HPC Garage logo Georgia Tech College of Computing logo

本工作是乔治亚理工学院计算机学院计算科学与工程学院HPC Garage实验室的研究项目。

本工作部分得到以下资助:来自国家科学基金会(NSF)的CAREER奖编号0953100的资助,资助给了Richard Vuduc教授的研究实验室,The HPC Garage,以及来自国防高级研究计划局(DARPA)计算机科学研究小组计划的资助。

在此软件和文档中表达的意见、结论或建议是作者的观点,不一定反映NSF或DARPA的观点。

项目详情


下载文件

下载适用于您平台文件的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分布

opcodes-0.3.14.tar.gz (218.2 kB 查看哈希值

上传时间: 源代码

由以下支持