๋ฒ์ง๋์ ๋ํ๊ต์ ์บ๋ฆฌํฌ๋์ ๋ํ๊ต์ ์ฐ๊ตฌ์ ๊ทธ๋ฃน์ ๋ฌธ์ํ๋์ง ์์ CPU ๊ธฐ๋ฅ์ ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋งํ๋ ๋์ ํ์ธ๋ Intel ๋ฐ AMD ํ๋ก์ธ์์ ๋ง์ดํฌ๋ก์ํคํ ์ฒ ๊ตฌ์กฐ์ ๋ํ ์๋ก์ด ์ ํ์ ๊ณต๊ฒฉ์ ์ ์ํ์ต๋๋ค. ์ ์๋ ๊ณต๊ฒฉ ๋ฐฉ๋ฒ์ ํ๋ก์ธ์์ ์ค๊ฐ ๋ง์ดํฌ๋ก ์ฐ์ฐ ์บ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก, ์ด๋ ์ถ์ธก์ ์ํ ๋ช ๋ น ์คํ ์ค์ ์ถ์ ๋ ์ ๋ณด๋ฅผ ๊ฒ์ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ต์ ํ ๋ชฉ์ ์ ์ํด ํ๋ก์ธ์๋ ์ด์ ๊ณ์ฐ์ด ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์ถ์ธก ๋ชจ๋์์ ์ผ๋ถ ๋ช ๋ น์ ์คํํ๊ธฐ ์์ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์์ธก์ด ํ๋นํ์ง ์๋ค๊ณ ํ๋จ๋๋ฉด ์์ ์ ์๋ ์ํ๋ก ๋กค๋ฐฑํฉ๋๋ค. ์ถ์ธก ์คํ์ ์บ์์ ์ ์ฅ๋๋ฉฐ ๊ทธ ๋ด์ฉ์ ํ์ธํ ์ ์์ต๋๋ค.
์๋ก์ด ๋ฐฉ๋ฒ์ Spectre v1 ๊ณต๊ฒฉ๋ณด๋ค ํจ์ฌ ๋ ์ฑ๋ฅ์ด ๋ฐ์ด๋๊ณ , ๊ณต๊ฒฉ ํ์ง๋ฅผ ์ด๋ ต๊ฒ ํ๋ฉฐ, ์์ธก์ ๋ช ๋ น ์คํ์ผ๋ก ์ธํ ์ทจ์ฝ์ ์ ์ฐจ๋จํ๋๋ก ์ค๊ณ๋ ๋ถ์ฑ๋ ๊ณต๊ฒฉ์ ๋ํ ๊ธฐ์กด ๋ณดํธ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ฐจ๋จ๋์ง ์์ต๋๋ค. ์ LFENCE ๋ช ๋ น์ด ๋ธ๋ก์ ์ถ์ธก ์คํ์ ๋ง์ง๋ง ๋จ๊ณ์์ ๋์ถ๋์ง๋ง ๋ง์ดํฌ๋ก์ํคํ ์ฒ ๊ตฌ์กฐ๋ฅผ ํตํ ๋์ถ์ ๋ฐฉ์งํ์ง๋ ์์ต๋๋ค.
์ด ๋ฐฉ๋ฒ์ Intel Skylake ๋ฐ AMD Zen ์๋ฆฌ์ฆ๋ฅผ ํฌํจํ์ฌ 2011๋ ์ดํ ์ถ์๋ Intel ๋ฐ AMD ํ๋ก์ธ์ ๋ชจ๋ธ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ต์ CPU๋ ๋ณต์กํ ํ๋ก์ธ์ ๋ช ๋ น์ ๋ณ๋์ ์บ์์ ์บ์๋๋ ๊ฐ๋จํ RISC์ ๊ฐ์ ๋ง์ดํฌ๋ก ์์ ์ผ๋ก ๋๋๋๋ค. ์ด ์บ์๋ ์์ ์์ค ์บ์์ ๊ทผ๋ณธ์ ์ผ๋ก ๋ค๋ฅด๋ฉฐ ์ง์ ์ก์ธ์คํ ์ ์์ผ๋ฉฐ CISC ๋ช ๋ น์ด๋ฅผ RISC ๋ง์ดํฌ๋ก ๋ช ๋ น์ด๋ก ๋์ฝ๋ฉํ ๊ฒฐ๊ณผ์ ๋น ๋ฅด๊ฒ ์ก์ธ์คํ ์ ์๋ ์คํธ๋ฆผ ๋ฒํผ ์ญํ ์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๊ตฌ์๋ค์ ์บ์ ์ก์ธ์ค๊ฐ ์ถฉ๋ํ ๋ ๋ฐ์ํ๋ ์กฐ๊ฑด์ ๋ง๋ค๊ณ ํน์ ์์ ์ ์คํ ์๊ฐ ์ฐจ์ด๋ฅผ ๋ถ์ํ์ฌ ๋ง์ดํฌ๋ก ์ฐ์ฐ ์บ์์ ๋ด์ฉ์ ํ๋จํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค.
Intel ํ๋ก์ธ์์ ๋ง์ดํฌ๋ก ์ฐ์ฐ ์บ์๋ CPU ์ค๋ ๋(ํ์ดํผ์ค๋ ๋ฉ)๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ถํ ๋๋ ๋ฐ๋ฉด, AMD Zen ํ๋ก์ธ์๋ ๊ณต์ ์บ์๋ฅผ ์ฌ์ฉํ์ฌ ํ๋์ ์คํ ์ค๋ ๋ ๋ด๋ฟ๋ง ์๋๋ผ SMT์ ๋ค๋ฅธ ์ค๋ ๋ ๊ฐ์๋ ๋ฐ์ดํฐ ์ ์ถ ์กฐ๊ฑด์ ์์ฑํฉ๋๋ค. (๋ค๋ฅธ ๋ ผ๋ฆฌ์ CPU ์ฝ์ด์์ ์คํ๋๋ ์ฝ๋ ๊ฐ์ ๋ฐ์ดํฐ ์ ์ถ ๊ฐ๋ฅ์ฑ์ด ์์)
์ฐ๊ตฌ์๋ค์ ์จ๊ฒจ์ง ๋ฐ์ดํฐ ์ ์ก ์ฑ๋์ ์์ฑํ๊ณ ์ทจ์ฝํ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋จ์ผ ํ๋ก์ธ์ค ๋ด์์ ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ถํ ์ ์๋ ๋ง์ดํฌ๋ก ์ฐ์ฐ ์บ์์ ๋ณ๊ฒฝ ์ฌํญ์ ํ์งํ๋ ๊ธฐ๋ณธ ๋ฐฉ๋ฒ๊ณผ ์ฌ๋ฌ ๊ณต๊ฒฉ ์๋๋ฆฌ์ค๋ฅผ ์ ์ํ์ต๋๋ค(์: ์คํ ์ ํ๋ก์ธ์ค ๋ฐ์ดํฐ ์ ์ถ). JIT๊ฐ ํฌํจ๋ ์์ง๊ณผ ๊ฐ์ ๋จธ์ ์ ํ์ฌ ์ฝ๋), ์ปค๋๊ณผ ์ฌ์ฉ์ ๊ณต๊ฐ์ ํ๋ก์ธ์ค ์ฌ์ด.
์ฐ๊ตฌ์ง์ ๋ง์ดํฌ๋ก ์ฐ์ฐ ์บ์๋ฅผ ํ์ฉํด ์คํํฐ ๊ณต๊ฒฉ ๋ณ์ข ์ ์ ๋ฆฌํ ๋ ์ค๋ฅ์จ 965.59%์ 0.22Kbps์ ์ฑ๋ฅ์ ๋ฌ์ฑํ ์ ์์๊ณ , ๋์ผ ์ฃผ์ ๋ด์์ ์ ์ถ์ ์ ๋ฆฌํ ๊ฒฝ์ฐ ์ค๋ฅ ์์ ์ ํ์ฉํด 785.56Kbps์ ์ฑ๋ฅ์ ๋ฌ์ฑํ ์ ์์๋ค. ๊ณต๊ฐ ๋ฐ ๊ถํ ์์ค. ๋ค์ํ ๊ถํ ์์ค(์ปค๋๊ณผ ์ฌ์ฉ์ ๊ณต๊ฐ ๊ฐ)์ ๊ฑธ์น ๋์๋ก ์ธํด ์ฑ๋ฅ์ ์ค๋ฅ ์์ ์ด ์ถ๊ฐ๋ ๊ฒฝ์ฐ 85.2Kbps, ์ค๋ฅ์จ์ด 110.96%์ธ ๊ฒฝ์ฐ 4Kbps์์ต๋๋ค. AMD Zen ํ๋ก์ธ์๋ฅผ ๊ณต๊ฒฉํ์ฌ ์๋ก ๋ค๋ฅธ ๋ ผ๋ฆฌ์ CPU ์ฝ์ด ๊ฐ์ ๋์๋ฅผ ๋ฐ์์์ผฐ์ ๋ ์ฑ๋ฅ์ ์ค๋ฅ์จ 250%๋ก 5.59Kbps, ์ค๋ฅ ์์ ์ผ๋ก 168.58Kbps๋ฅผ ๊ธฐ๋กํ์ต๋๋ค. ์๋ก์ด ๊ณต๊ฒฉ์ ๊ธฐ์กด Spectre v1 ๋ฐฉ์๊ณผ ๋น๊ตํ์ฌ 2.6๋ฐฐ ๋ ๋นจ๋์ต๋๋ค.
๋ง์ดํฌ๋ก ์ฐ์ฐ ์บ์ ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธํ๋ ค๋ฉด Spectre ๊ณต๊ฒฉ ๋ณดํธ๋ฅผ ํ์ฑํํ ๊ฒฝ์ฐ๋ณด๋ค ์ฑ๋ฅ์ ๋ ์ ํ์ํค๋ ๋ณ๊ฒฝ์ด ํ์ํ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค. ์ต์ ์ ์ ์ถฉ์์ผ๋ก ์บ์ฑ์ ๋นํ์ฑํํ๋ ๊ฒ์ด ์๋๋ผ ์ด์ ํ์์ ๋ชจ๋ํฐ๋งํ๊ณ ๊ณต๊ฒฉ์ ์ผ๋ฐ์ ์ธ ์บ์ ์ํ๋ฅผ ์๋ณํ๋ ์์ค์์ ์ด๋ฌํ ๊ณต๊ฒฉ์ ์ฐจ๋จํ๋ ๊ฒ์ด ์ ์๋ฉ๋๋ค.
์คํํฐ(Spectre) ๊ณต๊ฒฉ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ปค๋์ด๋ ๋ค๋ฅธ ํ๋ก์ธ์ค์์ ๋์ถ์ ๊ตฌ์ฑํ๋ ค๋ฉด ํผํด์ ํ๋ก์ธ์ค ์ธก์์ ํน์ ๋ช
๋ น(๊ฐ์ ฏ)์ ์คํํด์ผ ํ๋ฉฐ, ์ด๋ ์ถ์ธก์ ๋ฐ๋ฅธ ๋ช
๋ น ์คํ์ผ๋ก ์ด์ด์ง๋๋ค. Linux ์ปค๋์์ ์ฝ 100๊ฐ์ ์ ์ฌํ ๊ฐ์ ฏ์ด ๋ฐ๊ฒฌ๋์ด ์ ๊ฑฐ๋ ์์ ์ด์ง๋ง ํด๋น ์์ฑ์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ(์: ์ปค๋์์ ํน๋ณํ ์ค๊ณ๋ BPF ํ๋ก๊ทธ๋จ ์คํ๊ณผ ๊ด๋ จ)์ด ์ฃผ๊ธฐ์ ์ผ๋ก ๋ฐ๊ฒฌ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru