๋ฐ˜๊ฐ€์›Œ์š”! ํ—ˆ๋ธŒ์ž…๋‹ˆ๋‹ค!

์ €๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ํ˜„๋Œ€ ์—ฐ๊ธˆ์ˆ ์‚ฌ๋ผ๊ณ  ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ๋Š๋‚€ ์ ๋“ค๊ณผ ์ด์•ผ๊ธฐ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.

IT ๊ด€๋ จ ์ด์Šˆ

์ธํ…”๊ณผ ์ž์ผ๋ง์Šค๊ฐ€ ์ฃผ๋ชฉํ•˜๋Š” ๋ฐ˜๋„์ฒด FPGA๋ž€ ๋ฌด์—‡์ผ๊นŒ?

mmin.h 2020. 4. 29. 23:40

 FPGA

 ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์ „์ž๊ธฐ๊ธฐ๋“ค์€ ์—ฐ์‚ฐ ์ œ์–ด ๋ณ€ํ™˜ ๊ฐ€๊ณต์„ ํ•˜๊ณ  ์žˆ๊ณ  ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์„ ๋กœ์ง ๋ฐ˜๋„์ฒด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๋กœ์ง ๋ฐ˜๋„์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋Š” ๋…ผ๋ฆฌํšŒ๋กœ๋ฅผ ๋งŒ๋“ค ๊ฒƒ์ธ์ง€, ๊ทธ๊ฒƒ์„ ์–ด๋Š ์ •๋„์˜ ๊ทœ๋ชจ๋กœ ๊ตฌ์„ฑํ•˜๊ณ  ๋˜ ๋ฉ”๋ชจ๋ฆฌ๋‚˜ ์ž…์ถœ๋ ฅ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ•ด์•ผ ํ• ์ง€์— ๋Œ€ํ•œ ๊ฒฐ์ •์„ ๋‚ด๋ ค์•ผ ํ•œ๋‹ค. ์ด๋•Œ ๋กœ์ง ๋ฐ˜๋„์ฒด๊ฐ€ ํ•„์š”ํ•œ ํšŒ์‚ฌ๋“ค์ด ๋งค๋ฒˆ ์ตœ์ ์˜ ์„ค๊ณ„, ์ƒ์‚ฐํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅ์— ๊ฐ€๊น๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋Šฅ๊ณผ ์„ค๊ณ„ ๋“ฑ์„ ํ‘œ์ค€ํ™”ํ•œ ๋ฒ”์šฉ ๋ฐ˜๋„์ฒด ASSP๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค. ASSP๋Š” ์ž‘์€ ์ „์ž์ œํ’ˆ์— ์‚ฌ์šฉ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์Šค๋งˆํŠธํฐ์— ๋“ค์–ด๊ฐ€๋Š” ARM ๋“ฑ์ด ์žˆ๋‹ค.

 

 ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ๋กœ์ง ๋ฐ˜๋„์ฒด๋“ค์ด ์ œ๊ณตํ•  ์ˆ˜ ์—†๋Š” ํŠน๋ณ„ํ•œ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ์„ฑ๋Šฅ์˜ ๋›ฐ์–ด๋‚œ ๋ฐ˜๋„์ฒด๋ฅผ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ? ๊ตฐ์ˆ˜์‚ฐ์—…์ด๋‚˜ ํ•ญ๊ณต ์˜์—ญ์€ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์ด ๋”์šฑ ํ•„์š”ํ•˜๋‹ค. ๋˜ํ•œ AI์™€ ๋”ฅ๋Ÿฌ๋‹๊ณผ ๊ฐ™์€ ์—ฐ๊ตฌ๋ฅผ ์œ„ํ•œ ๋ถ„์•ผ๋Š” ์ตœ์ ํ™”๋ณด๋‹จ ๊ฐœ๋ณ„์  ๋กœ์ง์ด ๋” ์ค‘์š”ํ•ด ์ฃผ๋ฌธํ˜• ๋ฐ˜๋„์ฒด ASIC์„ ํ•„์š”๋กœ ํ•œ๋‹ค.

 

 ์ด๋ฒˆ ๋ฆฌํฌํŠธ๋ฅผ ํ†ตํ•ด ์•Œ์•„๋ณผ FPGA๋Š” ASSP๊ณผ ASIC์˜ ์ค‘๊ฐ„ ์„ฑ๊ฒฉ์„ ์ง€๋‹Œ ๋ฐ˜๋„์ฒด์ด๋‹ค. FPGA๋Š” ์ถ”ํ›„์˜ ๋กœ์ง์„ ์ฃผ๋ฌธ์ž๋“ค์ด ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‚ฉํ’ˆํ•œ๋‹ค. CPU ๋””์ง€ํ„ธ ์‹ ํ˜ธ์žฅ์น˜ ๋žจ์ด ๋ชจ๋‘ ๋ชจ์ธ SOC ๊ตฌ์กฐ๊ฐ€ ํ˜„์„ธ๋Œ€์˜ ๋ณดํŽธ์ ์ธ ํ˜•ํƒœ์ด๋‹ค. FPGA๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ธฐ์—…๋“ค์„ ์œ„ํ•ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค. ์ถ”ํ›„์˜ ๊ธฐ์—…๋“ค์ด FPGA์˜ ๋…ผ๋ฆฌ๊ตฌ์กฐ๋ฅผ ์™„์„ฑํ•˜๊ณ  ์šฉ๋„์— ๋งž๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

 

 ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  FPGA๋Š” ASIC์— ๋น„ํ•ด ํšจ์œจ์ ์ธ ๋ฐ˜๋„์ฒด๋Š” ์•„๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” FPGA๋Š” ASIC์— ๋น„ํ•ด ์˜ค๋ฒ„ ์ŠคํŽ™์ด ๋  ์ˆ˜๋„ ์žˆ๊ณ  ๋ถˆ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์ด ์กด์žฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ด๋Š” ๋ถˆํ•„์š”ํ•œ ์†Œ๋น„์ „๋ ฅ์„ ๋งŒ๋“ค์–ด ๋‚ผ ์ˆ˜๋„ ์žˆ๋‹ค. ์นฉ์˜ ์„ค๊ณ„์™€ ์ƒ์‚ฐ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ณ ์ •๋น„๊ฐ€ ๊ฒฐ๊ตญ์€ ์ˆ˜์š”์ž์—๊ฒŒ ์ „๊ฐ€๋œ๋‹ค๊ณ  ๋ดค์„ ๋•Œ ์ƒ์‚ฐ ์ˆ˜๋Ÿ‰์˜ ์นฉ๋งŒ ์‚ดํŽด๋ณด๋ฉด ์–ด๋Š ์ •๋„์˜ ๋ฒ”์šฉ์„ฑ์„ ๊ฐ€์ง„ FPGA ์ชฝ์ด ASIC์— ๋น„ํ•ด ์••๋„์ ์œผ๋กœ ๋งŽ๋‹ค. ์นฉ์˜ ๊ฐœ๋‹น ๊ณ ์ • ๋น„์šฉ ๋ถ€๋‹ด์ด ๋งŽ์ด ๋‚ด๋ ค๊ฐ„๋‹ค. ๋”ฐ๋ผ์„œ ๊ณ ์ •๋น„๋Š” ๋ฌผ๋Ÿ‰์„ ํ†ตํ•ด ์ถฉ๋ถ„ํžˆ ํฌ์„์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ฑฐ๋‚˜, ํ”„๋กœ์ ํŠธ์˜ ๋น„์šฉ์ด ๋งค์šฐ ํฐ ๊ฒฝ์šฐ์—๋Š” ๋ถ€๋‹ด์ด ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ FPGA๋ฅผ ์„ ํƒํ•œ๋‹ค. FPGA๋Š” ์†Œ๋Ÿ‰ ์ œ์ž‘์„ ์œ„ํ•˜๊ฑฐ๋‚˜ ASIC์„ ์ œ์ž‘ํ•˜๊ธฐ ์ „ FPGA๋ฅผ ํ™œ์šฉํ•˜๊ณค ํ–ˆ๋‹ค.

 

 ๊ทธ๋ ‡๋‹ค๋ฉด FPGA๋Š” ASIC์˜ ์ฐจ์„ ์ฑ…์ผ๊นŒ? ์ „ํ˜€ ๊ทธ๋ ‡์ง€ ์•Š๋‹ค. ๋ฐ์ดํ„ฐ ์„ผํ„ฐ ์‹œ์žฅ์„ ์‚ดํŽด๋ณด๋ฉด ๋Š์ž„์—†์ด ํ™•์žฅํ•ด์•ผ ํ•˜๋Š” ์„ค๋น„์‹œ์„ค์„ ์–ด๋–ป๊ฒŒ ๊ณ„์† ์ฆ์„คํ•˜๊ณ  ๊ธฐ์กด์˜ ์„ค๋น„๋ฅผ ์–ด๋–ป๊ฒŒ ์œ ์ง€ํ•ด์•ผ ํ• ๊นŒ์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•ด๋ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์˜ ์‹œ์žฅ์— ์žˆ๋Š” ๋ชจ๋“  ๋ฐ˜๋„์ฒด๋“ค์ด ASIC์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค๋ฉด ๊ตฌ์กฐ๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ƒˆ๋กญ๊ฒŒ ์ฃผ๋ฌธ ์ œ์ž‘์„ ํ•ด์•ผ ๋˜๋‚˜ FPGA๋ฅผ ํ™œ์šฉํ•œ๋‹ค๋ฉด ๋น„์šฉ๊ณผ ์‹œ๊ฐ„์„ ์œ ์—ฐํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 ์ „์žฅ์‚ฌ์—… ์—ญ์‹œ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค. ํŽธ์ต ๊ธฐ๋Šฅ๋“ค์ด ์ž์œจ ์ฃผํ–‰์œผ๋กœ ์ง„ํ™”ํ•˜๊ณ  ์ž์œจ ์ฃผํ–‰ ์‹œ์Šคํ…œ์ด ํ•ต์‹ฌ ์—ญ๋Ÿ‰์œผ๋กœ ๋‘๊ฐ๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด์— ๋”ฐ๋ผ ๋ฐ˜๋„์ฒด์˜ ์ˆ˜์š”๋Š” ํญ๋ฐœ์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ๋‹ค. ์•ž์œผ๋กœ์˜ ์ž๋™์ฐจ์˜ ์œ ์ง€ ๋ณด์ˆ˜ ๊ฐœ๋…์€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์—…๋ฐ์ดํŠธ์™€ ๋™์‹œ์— ์„ฑ๋Šฅ์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๋ถ„์•ผ๊ฐ€ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— FPGA์˜ ํ™œ์šฉ์„ ํ†ตํ•ด ์œ ์—ฐ์„ฑ์— ์ง‘์ค‘ํ•ด์•ผ ํ•œ๋‹ค.

 

 FPGA๊ฐ€ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์žฅ์ ์€ ์ด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ด์ค‘ ๋ณ‘๋ ฌํ˜•์ด ์žˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ FPGA๋Š” ์—ฐ์‚ฐ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” cpu์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ๋น ๋ฅธ ์†๋„์˜ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. FPGA ๊ธฐ๋ฐ˜์˜ ๊ฐ€์†๊ธฐ๋“ค์ด ๊ณ„์† ๋“ฑ์žฅํ•˜๋Š” ์›์ธ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  CPU, GPU์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜์–ด ๋กœ์ง ๋ฐ˜๋„์ฒด์™€์˜ ๋ณ‘๋ ฌ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด cpu์™€ gpu๊ฐ€ ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‚˜ ์ถ”๊ฐ€์ ์ธ ์ปดํ“จํŒ… ํŒŒ์›Œ๋ฅผ ๋ถ€๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 ์ธํ…”์—์„œ ์ƒˆ๋กœ ๋ฐœํ‘œํ•œ agilex๋ฅผ ์‚ดํŽด๋ณด๋ฉด xeon cpu์™€ ํ•จ๊ป˜ ๊ฐ€์†๊ธฐ๋กœ ์‚ฌ์šฉ๋˜์–ด ์‹œ์Šคํ…œ์˜ ์ฒ˜๋ฆฌ๋Šฅ๋ ฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ์ž‘์—… ๋ถ€ํ•˜๋ฅผ ๋ณด๋‹ค ์œ ์—ฐํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋•๊ณ  ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ xeon๊ณผ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ๊ฐ„์„ญ์ด ์ผ์–ด๋‚˜์ง€ ์•Š๋„๋ก ์„ค๊ณ„ํ•˜์˜€๋‹ค. ์ธํ…”์€ FPGA๋ฅผ ์ƒˆ๋กญ๊ฒŒ ๊ฐœ๋ฐœํ•จ์œผ๋กœ์จ 4์ฐจ ํ˜๋ช… ์‚ฐ์—…์— ํ•„์š”ํ•œ ์—…๊ณ„ํ‘œ์ค€ ํšŒ์‚ฌ๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ๋‹ค. FPGA ์‹œ์žฅ์„ ๊ฐœ์ฒ™ํ•œ ๊ธฐ์—…์ด์ž ํ˜„์žฌ ์ด ์‹œ์žฅ์— ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ๊ธฐ์—… ์ž์ผ๋ง์Šค๋Š” ์—ฌ๋Ÿฌ ์‹œ์Šคํ…œ ๋ฐ˜๋„์ฒด ์˜์—ญ ์ค‘ FPGA ์‹œ์žฅ์—์„œ๋Š” ๋งค์ถœ 1์œ„์˜ ๊ธฐ์—…์ด๊ณ  ์ˆœ์ˆ˜ ํŽจ๋ฆฌ์Šค ๊ธฐ์—… 10์œ„ ์•ˆ์—๋„ ์ด๋ฆ„์ด ๋“ค์–ด๊ฐ€๊ณ  ์žˆ๋‹ค. ์ž์ผ๋ง์Šค์˜ ๋ฏธ๋ž˜์ „๋žต์„ ๋ณด๊ธฐ ์ „ ceo ๋น…ํ„ฐ ํŒฝ์˜ ์–ธ๊ธ‰์„ ๋ณด๊ฒŒ ๋˜๋ฉด ์ ์‘ํ˜• ์ปดํ“จํ„ฐ ๊ฐ€์†ํ™” ํ”Œ๋žซํผ ์ œ์•ˆ ๋ฐ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ ๊ฐ€์†ํ™”์— ๋ฐฉ์ ์„ ๋‘๊ณ  ์žˆ๋‹ค.