์ธํ ์ ์๋ฒ๋ถํฐ SoC(์์คํ ์จ ์นฉ)์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ๋ฒ์ฃผ์ ์ฅ์น์ ๋ํ ํ์จ์ด ์ํํธ์จ์ด ์คํ์ ๋ชจ๋ ๊ตฌ์ฑ ์์ ๊ฐ๋ฐ์ ๋จ์ํํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ ์๋ก์ด ํ์จ์ด ์ํคํ ์ฒ์ธ USF(Universal Scalable Firmware)๋ฅผ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. USF๋ ๊ตฌ์ฑ, ํ์จ์ด ์ ๋ฐ์ดํธ, ๋ณด์ ๋ฐ ์ด์ ์ฒด์ ๋ถํ ์ ๋ด๋นํ๋ ํ๋ซํผ ๊ตฌ์ฑ ์์์์ ๋ฎ์ ์์ค์ ํ๋์จ์ด ์ด๊ธฐํ ๋ ผ๋ฆฌ๋ฅผ ๋ถ๋ฆฌํ ์ ์๋ ์ถ์ํ ๊ณ์ธต์ ์ ๊ณตํฉ๋๋ค. USF ์ํคํ ์ฒ์ ์ผ๋ฐ์ ์ธ ์์์ ๋ํ ์ด์ ์ฌ์ ๋ฐ ๊ตฌํ์ด GitHub์ ๊ฒ์๋์ด ์์ต๋๋ค.
USF๋ ํน์ ์๋ฃจ์ ์ ์ฝ๋งค์ด์ง ์๋ ๋ชจ๋์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ TianoCore EDK2 UEFI ์คํ, ์ต์ํ์ Slim Bootloader ํ์จ์ด, U-Boot ๋ถํธ๋ก๋ ๋ฐ CoreBoot ํ๋ซํผ. UEFI ์ธํฐํ์ด์ค, LinuxBoot ๊ณ์ธต(Linux ์ปค๋ ์ง์ ๋ก๋ฉ์ฉ), VaultBoot(๊ฒ์ฆ๋ ๋ถํ ) ๋ฐ ACRN ํ์ดํผ๋ฐ์ด์ ๋ ๋ถํธ๋ก๋๋ฅผ ๊ฒ์ํ๊ณ ์ด์ ์ฒด์ ์ ์ ์ด๊ถ์ ์ ์กํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํ์ด๋ก๋ ํ๊ฒฝ์ผ๋ก ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ACPI, UEFI, Kexec ๋ฐ ๋ฉํฐ๋ถํ ๊ณผ ๊ฐ์ ์ด์ ์ฒด์ ์ ๋ํ ์ผ๋ฐ์ ์ธ ์ธํฐํ์ด์ค๊ฐ ์ ๊ณต๋ฉ๋๋ค.
USF๋ ๊ณตํต API๋ฅผ ํตํด ๋ฒ์ฉ์ ์ด๊ณ ์ฌ์ฉ์ ์ ์ ๊ฐ๋ฅํ ํ๋ซํผ ์ค์ผ์คํธ๋ ์ด์ ๋ ์ด์ด(POL, Platform Orchestration Layer)์ ์ํธ ์์ฉํ๋ ๋ณ๋์ ํ๋์จ์ด ์ง์ ๋ ์ด์ด(FSP, ํ์จ์ด ์ง์ ํจํค์ง)๋ฅผ ์ ๊ณตํฉ๋๋ค. FSP๋ CPU ์ฌ์ค์ , ํ๋์จ์ด ์ด๊ธฐํ, SMM(์์คํ ๊ด๋ฆฌ ๋ชจ๋) ์์ , SoC ์์ค์ ์ธ์ฆ ๋ฐ ํ์ธ๊ณผ ๊ฐ์ ์์ ์ ์ถ์ํํฉ๋๋ค. ์ค์ผ์คํธ๋ ์ด์ ๊ณ์ธต์ ACPI ์ธํฐํ์ด์ค ์์ฑ์ ๋จ์ํํ๊ณ , ์ผ๋ฐ ๋ถํธ๋ก๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ง์ํ๋ฉฐ, Rust ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ณด์ ํ์จ์ด ๊ตฌ์ฑ ์์๋ฅผ ์์ฑํ ์ ์๊ฒ ํ๊ณ , YAML ๋งํฌ์ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ์ ์ ์ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. POL ์์ค์์๋ ์ฆ๋ช , ์ธ์ฆ ๋ฐ ์ ๋ฐ์ดํธ ๋ณด์ ์ค์น๋ ์ฒ๋ฆฌํฉ๋๋ค.
์๋ก์ด ์ํคํ ์ฒ๋ ๋ค์์ ํ์ฉํ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค.
- ๊ธฐ์ฑ ํ์ค ๊ตฌ์ฑ์์์ ์ฝ๋, ํน์ ๋ถํธ๋ก๋์ ์ฝ๋งค์ด์ง ์๋ ๋ชจ๋์ ์ํคํ ์ฒ, ๋ชจ๋ ๊ตฌ์ฑ์ ์ํ ๋ฒ์ฉ API ์ฌ์ฉ ๊ธฐ๋ฅ์ ์ฌ์ฌ์ฉํ์ฌ ์ ์ฅ์น์ฉ ํ์จ์ด ๊ฐ๋ฐ์ ๋ณต์ก์ฑ๊ณผ ๋น์ฉ์ ์ค์ ๋๋ค.
- ์ฅ๋น์์ ์ํธ ์์ฉ์ ์ํ ๊ฒ์ฆ ๊ฐ๋ฅํ ๋ชจ๋๊ณผ ํ์จ์ด ์ธ์ฆ ๋ฐ ๊ฒ์ฆ์ ์ํ ๋ณด๋ค ์์ ํ ์ธํ๋ผ๋ฅผ ์ฌ์ฉํ์ฌ ํ์จ์ด์ ํ์ง๊ณผ ๋ณด์์ ํฅ์์ํต๋๋ค.
- ํด๊ฒฐ ์ค์ธ ์์ ์ ๋ฐ๋ผ ๋ค์ํ ๋ก๋์ ํ์ด๋ก๋ ๊ตฌ์ฑ์์๋ฅผ ์ฌ์ฉํ์ธ์.
- ์๋ก์ด ๊ธฐ์ ์ ๋ฐ์ ์ ๊ฐ์ํํ๊ณ ๊ฐ๋ฐ ์ฃผ๊ธฐ๋ฅผ ๋จ์ถํฉ๋๋ค. ๊ฐ๋ฐ์๋ ํน์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๋ฐ์๋ง ์ง์คํ ์ ์์ผ๋ฉฐ, ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ์๋ ๊ธฐ์ฑํ์ ์ ์ฆ๋ ๊ตฌ์ฑ ์์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์๋ฅผ ๋ค์ด CPU ์ธ์ ํตํฉ ๊ฐ๋ณ ๊ทธ๋ํฝ ๊ฐ์๊ธฐ(dPGU) ๋ฐ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ฅํ ๋คํธ์ํฌ ์ฅ์น๋ฅผ ํฌํจํ์ฌ ๋ค์ํ ํผํฉ ์ปดํจํ ์ํคํ ์ฒ(XPU)์ ๋ํ ํ์จ์ด ๊ฐ๋ฐ์ ํ์ฅํ์ฌ ํด๋ผ์ฐ๋ ์์คํ ์ ์ด์์ ์ง์ํ๋ ๋ฐ์ดํฐ ์ผํฐ์ ๋คํธ์ํฌ ์ด์์ ๊ฐ์ํํฉ๋๋ค( IPU, ์ธํ๋ผ ์ฒ๋ฆฌ ์ฅ์น).
์ถ์ฒ : opennet.ru