我一直在學習cpu的一些功能,偶然發現了NEON。Android程序如何使用NEON SIMD?
從我讀過的內容看,NEON需要特定的編程來使用它,但這是完全正確的,還是讓具有此功能的cpus仍然可以找到方法來加速它並加速某些應用程序的媒體進程雖然沒有具體的代碼呢?
我一直在學習cpu的一些功能,偶然發現了NEON。Android程序如何使用NEON SIMD?
從我讀過的內容看,NEON需要特定的編程來使用它,但這是完全正確的,還是讓具有此功能的cpus仍然可以找到方法來加速它並加速某些應用程序的媒體進程雖然沒有具體的代碼呢?
有很多方法可以使用NEON指令。其中一些是:
手寫彙編程序。這似乎是最好的,如果你想實現最佳性能。它還需要大量的努力和CS知識。
最後但並非最不重要的,你可以通過下載一些使用它的應用程序來使用NEON。你最喜歡的音樂播放器可能使很好的利用NEON單元在您的智能手機:)
結論:NEON有很多用途,但如果代碼具體包括NEON指令它纔會被使用。更具體地說,正如@pst所說的,它必須是的一個目標碼。
指令集擴展需要由* something *(drivers/kernel/C library等)來定位。 – 2012-07-17 02:30:07
從某種意義上說,Android編譯器會將其做到一定的水平(因爲並非所有的cpus都具有該功能)?我看到這就像intel cpus的MMX擴展,我認爲它原本是程序員的目標,然後編譯器只是假設它存在,然後它變得陳舊了...... – Tam 2012-07-17 02:34:03
編譯器可能會使用一些優化 - - 但對於那些聲稱「60%-150%數字」的人來說,它仍然需要手工編碼和內在的使用知識。(不是說你要編寫整個程序集,而是編碼器的重負載部分或3d轉換等) – 2012-07-17 02:47:12