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).