SOF(Sound Open Firmware 2.0) ํ๋ก์ ํธ์ ๋ฆด๋ฆฌ์ค๊ฐ ๋ฐํ๋์์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ ์๋ ์ค๋์ค ์ฒ๋ฆฌ์ ๊ด๋ จ๋ DSP ์นฉ์ฉ ํ์ํ ํ์จ์ด ์ ๊ณต ๊ดํ์์ ๋ฒ์ด๋๊ธฐ ์ํด Intel์์ ๋ง๋ ๊ฒ์ ๋๋ค. ์ด ํ๋ก์ ํธ๋ ์ดํ Linux Foundation์ผ๋ก ์ด์ ๋์์ผ๋ฉฐ ํ์ฌ ์ปค๋ฎค๋ํฐ์ ์ฐธ์ฌ์ AMD, Google ๋ฐ NXP์ ์ฐธ์ฌ๋ก ๊ฐ๋ฐ๋๊ณ ์์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ ํ์จ์ด ๊ฐ๋ฐ์ ๋จ์ํํ๊ธฐ ์ํ SDK, Linux ์ปค๋์ฉ ์ฌ์ด๋ ๋๋ผ์ด๋ฒ ๋ฐ ๋์งํธ ์๋ช ์ผ๋ก ์ธ์ฆ๋ ๋ฐ์ด๋๋ฆฌ ์ด์ ๋ธ๋ฆฌ๋ ์์ฑ๋๋ ๋ค์ํ DSP ์นฉ์ฉ ๊ธฐ์ฑ ํ์จ์ด ์ธํธ๋ฅผ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. ํ์จ์ด ์ฝ๋๋ ์ด์ ๋ธ๋ฆฌ ์ฝ์ ๊ณผ ํจ๊ป C ์ธ์ด๋ก ์์ฑ๋์์ผ๋ฉฐ BSD ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
๋ชจ๋์ ๊ตฌ์กฐ ๋๋ถ์ Sound Open Firmware๋ ๋ค์ํ DSP ์ํคํ ์ฒ ๋ฐ ํ๋์จ์ด ํ๋ซํผ์ผ๋ก ํฌํ ๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ง์๋๋ ํ๋ซํผ ์ค Xtensa HiFi ๊ธฐ๋ฐ DSP๋ฅผ ํ์ฌํ ๋ค์ํ Intel ์นฉ(Broadwell, Icelake, Tigerlake, Alderlake ๋ฑ), Mediatek(mt8195), NXP(i.MX8*) ๋ฐ AMD(Renoir)๋ฅผ ์ง์ํฉ๋๋ค. ์ํคํ ์ฒ๋ 2, 3, 4์ ๋ช ์๋์ด ์์ต๋๋ค. ๊ฐ๋ฐ ํ๋ก์ธ์ค ์ค์ ํน์ ์๋ฎฌ๋ ์ดํฐ ๋๋ QEMU๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. DSP์ฉ ๊ฐ๋ฐฉํ ํ์จ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ํ์จ์ด ๋ฌธ์ ๋ฅผ ๋ณด๋ค ์ ์ํ๊ฒ ์์ ํ๊ณ ์ง๋จํ ์ ์์ผ๋ฉฐ, ์ฌ์ฉ์๊ฐ ํ์์ ๋ฐ๋ผ ํ์จ์ด๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์กฐ์ ํ๊ณ ํน์ ์ต์ ํ๋ฅผ ์ํํ๋ฉฐ ํ์ํ ๊ธฐ๋ฅ๋ง ํฌํจ๋ ๊ฒฝ๋ ํ์จ์ด ๋ฒ์ ์ ๋ง๋ค ์ ์๋ ๊ธฐํ๋ ์ ๊ณต๋ฉ๋๋ค. ์ ํ.
์ด ํ๋ก์ ํธ๋ ์ค๋์ค ์ฒ๋ฆฌ์ ๊ด๋ จ๋ ์๋ฃจ์ ์ ๊ฐ๋ฐ, ์ต์ ํ ๋ฐ ํ ์คํธํ๊ณ DSP์ ์ํธ ์์ฉํ๊ธฐ ์ํ ๋๋ผ์ด๋ฒ ๋ฐ ํ๋ก๊ทธ๋จ์ ์์ฑํ๊ธฐ ์ํ ํ๋ ์์ํฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ตฌ์ฑ์๋ ํ์จ์ด ๊ตฌํ, ํ์จ์ด ํ ์คํธ์ฉ ๋๊ตฌ, ELF ํ์ผ์ ์ฅ๋น ์ค์น์ ์ ํฉํ ํ์จ์ด ์ด๋ฏธ์ง๋ก ๋ณํํ๋ ์ ํธ๋ฆฌํฐ, ๋๋ฒ๊น ๋๊ตฌ, DSP ์๋ฎฌ๋ ์ดํฐ, ํธ์คํธ ํ๋ซํผ ์๋ฎฌ๋ ์ดํฐ(QEMU ๊ธฐ๋ฐ), ํ์จ์ด ์ถ์ ์ฉ ๋๊ตฌ, MATLAB์ฉ ์คํฌ๋ฆฝํธ๊ฐ ํฌํจ๋ฉ๋๋ค. /Octave ์ค๋์ค ๊ตฌ์ฑ ์์์ ๊ณ์ ๋ฏธ์ธ ์กฐ์ , ํ์จ์ด์์ ์ํธ ์์ฉ ๋ฐ ๋ฐ์ดํฐ ๊ตํ ๊ตฌ์ฑ์ ์ํ ์ ํ๋ฆฌ์ผ์ด์ , ๊ธฐ์ฑ ์ค๋์ค ์ฒ๋ฆฌ ํ ํด๋ก์ง์ ์์ ๋๋ค.
์ด ํ๋ก์ ํธ๋ ๋ํ Sound Open Firmware ๊ธฐ๋ฐ์ ํ์จ์ด๋ฅผ ์ฌ์ฉํ๋ ์ฅ์น์ ํจ๊ป ์ฌ์ฉํ ์ ์๋ ๋ฒ์ฉ ๋๋ผ์ด๋ฒ๋ฅผ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. ๋๋ผ์ด๋ฒ๋ ๋ฆด๋ฆฌ์ค 5.2๋ถํฐ ๊ธฐ๋ณธ Linux ์ปค๋์ ์ด๋ฏธ ํฌํจ๋์ด ์์ผ๋ฉฐ BSD ๋ฐ GPLv2๋ผ๋ ์ด์ค ๋ผ์ด์ผ์ค๊ฐ ์ ์ฉ๋ฉ๋๋ค. ๋๋ผ์ด๋ฒ๋ ํ์จ์ด๋ฅผ DSP ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ํ๊ณ , ์ค๋์ค ํ ํด๋ก์ง๋ฅผ DSP์ ๋ก๋ํ๊ณ , ์ค๋์ค ์ฅ์น์ ์๋์ ๊ตฌ์ฑํ๊ณ (์ ํ๋ฆฌ์ผ์ด์ ์์ DSP ๊ธฐ๋ฅ์ ์ก์ธ์คํ๋ ์ญํ ) ์ค๋์ค ๋ฐ์ดํฐ์ ๋ํ ์ ํ๋ฆฌ์ผ์ด์ ์ก์ธ์ค ํฌ์ธํธ๋ฅผ ์ ๊ณตํ๋ ์ญํ ์ ํฉ๋๋ค. ๋๋ผ์ด๋ฒ๋ ๋ํ ํธ์คํธ ์์คํ ๊ณผ DSP ๊ฐ์ ํต์ ์ ์ํ IPC ๋ฉ์ปค๋์ฆ๊ณผ ์ผ๋ฐ API๋ฅผ ํตํด DSP ํ๋์จ์ด ๊ธฐ๋ฅ์ ์ก์ธ์คํ๊ธฐ ์ํ ๋ ์ด์ด๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ Sound Open Firmware๋ฅผ ๊ฐ์ถ DSP๋ ํ์ค ์ํํธ์จ์ด ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ดํ ์ ์๋ ์ผ๋ฐ ALSA ์ฅ์น์ฒ๋ผ ๋ณด์ ๋๋ค.
Sound Open Firmware 2.0์ ์ฃผ์ ํ์ ์ฌํญ:
- ์ค๋์ค ๋ณต์ฌ ๊ธฐ๋ฅ์ ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋์์ผ๋ฉฐ ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค ํ์๊ฐ ๊ฐ์ํ์ต๋๋ค. ์ผ๋ถ ์ค๋์ค ์ฒ๋ฆฌ ์๋๋ฆฌ์ค์์๋ ๋์ผํ ์ค๋์ค ํ์ง์ ์ ์งํ๋ฉด์ ๋ถํ๊ฐ ์ต๋ 40% ๊ฐ์ํ์ต๋๋ค.
- ๋ชจ๋ DSP ์ฝ์ด์์ ํธ๋ค๋ฌ ์คํ ์ง์์ ํฌํจํ์ฌ ๋ฉํฐ ์ฝ์ด Intel ํ๋ซํผ(cAVS)์ ์์ ์ฑ์ด ํฅ์๋์์ต๋๋ค.
- APL(Apollo Lake) ํ๋ซํผ์ ๊ฒฝ์ฐ XTOS ๋์ Zephyr RTOS ํ๊ฒฝ์ด ํ์จ์ด ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. Zephyr OS ํตํฉ ์์ค์ ์ผ๋ถ Intel ํ๋ซํผ์ ๊ธฐ๋ฅ ๋ฉด์์ ๋๋ฑํ ์์ค์ ๋๋ฌํ์ต๋๋ค. Zephyr๋ฅผ ์ฌ์ฉํ๋ฉด Sound Open Firmware ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๋๋ฅผ ํฌ๊ฒ ๋จ์ํํ๊ณ ์ค์ผ ์ ์์ต๋๋ค.
- IPC4 ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ Windows๋ฅผ ์คํํ๋ ์ผ๋ถ Tiger Lake(TGL) ์ฅ์น์์ ์ค๋์ค ์บก์ฒ ๋ฐ ์ฌ์์ ์ํ ๊ธฐ๋ณธ ์ง์์ ์ํด ๊ตฌํ๋์์ต๋๋ค(IPC4 ์ง์์ ํตํด ํน์ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ Windows์ Sound Open Firmware ๊ธฐ๋ฐ DSP์ ์ํธ ์์ฉํ ์ ์์ต๋๋ค). .
์ถ์ฒ : opennet.ru