์ธํ…”, ์ƒˆ๋กœ์šด ๊ฐœ๋ฐฉํ˜• ํŽŒ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ ๋ฒ”์šฉ ํ™•์žฅ ๊ฐ€๋Šฅ ํŽŒ์›จ์–ด ๊ฐœ๋ฐœ

์ธํ…”์€ ์„œ๋ฒ„๋ถ€ํ„ฐ 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

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€