LoongMMI
此条目需要补充更多来源。 (2024年1月2日) |
LoongMMI(LoongMultiMedia extensions Instruction,简称MMI)指令集即龙芯多媒体扩展指令集,是LoongISA指令集架构的一个扩展指令集[1]。LoongMMI部分指令为128位,故LoongMMI是128位多媒体向量指令集[来源请求]。LoongMMI指令集拓展对标英特尔的MMX SIMD多媒体指令集。龙芯中科在其龙芯2F中央处理器中首次添加LoongMMI指令集拓展[1],在其龙芯3A1000中央处理器中首次添加LoongISA版本的LoongMMI[2]。LoongMMI指令集提供了80条指令[2],是龙芯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.0 1.1 1.2 1.3 顾丽红、王锐、陈华才、吴少刚. 基于龙芯SIMD技术的H.264视频解码优化. 《电脑工程与设计》. 2017, (2017年12期): 8. doi:10.16208/j.issn1000-7024.2017.12.030.[失效链接]
- ^ 2.0 2.1 龙芯 3A1000 处理器用户手册 下册 GS464 处理器核 V1.4 (PDF). [2020-04-11]. (原始内容存档 (PDF)于2018-04-13).
- ^ 3.0 3.1 龙芯 SIMD 指令使用手册 (PDF). [2020-04-11]. (原始内容 (PDF)存档于2020-12-01).
- ^ 4.0 4.1 Godson MultiMedia Technology (PDF). [2020-04-11]. (原始内容 (PDF)存档于2020-04-11).
- ^ 龙芯 2F 处理器用户手册 V1.5 (PDF). [2020-04-11]. (原始内容存档 (PDF)于2020-11-24).
- ^ 龙芯 2F 处理器用户手册 (PDF). [2020-04-11]. (原始内容 (PDF)存档于2020-12-01).
- ^ UM0447 User manual - STLS2F01 (PDF). (原始内容 (PDF)存档于2020-04-11).
- ^ 龙芯芯片产品技术白皮书 V2.0 (PDF). [2020-04-11]. (原始内容 (PDF)存档于2020-12-01).
- ^ 9.0 9.1 9.2 GNU Binutils 2.32 Branched Ahead Of Release With New Features - Phoronix. www.phoronix.com. [2019-11-26]. (原始内容存档于2020-09-19).
- ^ FFmpeg解码性能测试结果. www.loongnix.org. [2019-11-26]. (原始内容存档于2020-11-30).