LoongMMI

LoongMMILoongMultiMedia extensions Instruction,简称MMI)指令集龙芯多媒体扩展指令集,是LoongISA指令集架构的一个扩展指令集[1]。LoongMMI 部分指令是128的,故 LoongMMI 是 128 位多媒体向量指令集。LoongMMI 指令集拓展对标的是 IntelMMX SIMD 多媒体指令集龙芯中科在其龙芯2F中央处理器中第一次添加了 LoongMMI 指令集拓展[1],在其龙芯3A1000中央处理器中第一次添加了 LoongISA 版本的 LoongMMI [2]。LoongMMI 指令集提供了80条指令[2],LoongMMI 是龙芯64位通用架构长期支持的指令集拓展。

历史

LoongMMI在龙芯2F发布时第一次公开露面,在 2F 时代及其以后很长一段时间内被称为 LoongSIMD[3][1],亦被称为 Godson-MMX [4]。LoongMMI 的指令集手册也在 2F 时代公开[3][4][5][6][7]

龙芯课题组成为龙芯中科公司后,陆续研发了更多种类的芯片和微架构, 这些微架构在不同程度上实现了LoongMMI,但 LoongISA 版本的 LoongMMI 和原龙芯2F上所实现的 LoongMMI 有一定的不同。虽然龙芯中科原本设计的GS232IP核计划自带 LoongMMI[8] ,但以此微架构所实现的芯片例如龙芯1A300、龙芯1B、龙芯1C300从未真正实现过 LoongMMI 。

LoongMMI 现已用于龙芯的ffmpeg媒体编解码库[1]gcc社区也支持了此指令集 LoongISA 版本的优化选项(-mloongson-mmi)。此优化选项也被纳入到 -march=loongson3a 龙芯64通用架构及以后的微架构选项当中。[9]相对于不使用此指令集,LoongMMI 指令集的使用使多数多媒体格式的编解码的性能得到成倍提升。[10]

编译器相关选项

若要在龙芯2F上使用 2F 版的 LoongMMI 可以在编译时选择 -march=loongson2f 来使用此指令集[9]

若要在龙芯3A1000及以后的中央处理器SoC上使用 LoongISA 版本的 LoongMMI,可以在编译时单独选择 -mloongson-mmi ,亦可选择龙芯64通用架构 -march=loongson3a 或者是具体到单一的微架构,例如 -march=gs464 来使用此指令集[9]

参考文献

  1. 顾丽红、王锐、陈华才、吴少刚. . 《计算机工程与设计》. 2017, (2017年12期): 8. doi:10.16208/j.issn1000-7024.2017.12.030.
  2. (PDF). [2020-04-11]. (原始内容存档 (PDF)于2018-04-13).
  3. (PDF). [2020-04-11].
  4. (PDF). [2020-04-11]. (原始内容 (PDF)存档于2020-04-11).
  5. (PDF). [2020-04-11]. (原始内容存档 (PDF)于2020-11-24).
  6. (PDF). [2020-04-11].
  7. (PDF). (原始内容 (PDF)存档于2020-04-11).
  8. (PDF). [2020-04-11].
  9. . www.phoronix.com. [2019-11-26]. (原始内容存档于2020-09-19).
  10. . www.loongnix.org. [2019-11-26]. (原始内容存档于2020-11-30).

参见

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.