Thunderspy - Thunderbolt ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ–์ถ˜ ์žฅ๋น„์— ๋Œ€ํ•œ ์ผ๋ จ์˜ ๊ณต๊ฒฉ

๋…ธ์ถœ๋œ ์— ๊ด€ํ•œ ์ •๋ณด ์ผ๊ณฑ ๊ฐ€์ง€ ์ทจ์•ฝ์  Thunderbolt ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ–์ถ˜ ์žฅ๋น„์—์„œ ์ฝ”๋“œ๋ช…์œผ๋กœ ํ†ตํ•ฉ๋จ ์ฌ๋” ์ŠคํŒŒ์ด ๋ชจ๋“  ์ฃผ์š” Thunderbolt ๋ณด์•ˆ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์šฐํšŒํ•ฉ๋‹ˆ๋‹ค. ํ™•์ธ๋œ ๋ฌธ์ œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ณต๊ฒฉ์ž๊ฐ€ ์•…์„ฑ ์žฅ์น˜๋ฅผ ์—ฐ๊ฒฐํ•˜๊ฑฐ๋‚˜ ํŽŒ์›จ์–ด๋ฅผ ์กฐ์ž‘ํ•˜์—ฌ ์‹œ์Šคํ…œ์— ๋กœ์ปฌ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ตฌํ˜„๋˜๋Š” XNUMX๊ฐ€์ง€ ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ์ œ์•ˆ๋ฉ๋‹ˆ๋‹ค.

๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค์—๋Š” ์ž„์˜์˜ Thunderbolt ์žฅ์น˜์˜ ์‹๋ณ„์ž ์ƒ์„ฑ, ์ธ์ฆ๋œ ์žฅ์น˜ ๋ณต์ œ, DMA๋ฅผ ํ†ตํ•œ ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•œ ๋ฌด์ž‘์œ„ ์•ก์„ธ์Šค, ๋ชจ๋“  ๋ณดํ˜ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ์™„์ „ ๋น„ํ™œ์„ฑํ™”, ํŽŒ์›จ์–ด ์—…๋ฐ์ดํŠธ ์„ค์น˜ ์ฐจ๋‹จ, Thunderbolt ๋ชจ๋“œ๋กœ์˜ ์ธํ„ฐํŽ˜์ด์Šค ๋ณ€ํ™˜ ์ฐจ๋‹จ ๋“ฑ ๋ณด์•ˆ ์ˆ˜์ค€ ์„ค์ • ๋ฌด์‹œ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์€ USB ๋˜๋Š” DisplayPort ์ „๋‹ฌ๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.

Thunderbolt๋Š” PCIe(PCI Express)์™€ DisplayPort ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ•˜๋‚˜์˜ ์ผ€์ด๋ธ”์— ๊ฒฐํ•ฉํ•œ ์ฃผ๋ณ€ ์žฅ์น˜๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฒ”์šฉ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. Thunderbolt๋Š” Intel๊ณผ Apple์ด ๊ฐœ๋ฐœํ–ˆ์œผ๋ฉฐ ๋งŽ์€ ์ตœ์‹  ๋…ธํŠธ๋ถ๊ณผ PC์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. PCIe ๊ธฐ๋ฐ˜ Thunderbolt ์žฅ์น˜์—๋Š” DMA I/O๊ฐ€ ์ œ๊ณต๋˜๋Š”๋ฐ, ์ด๋Š” ์ „์ฒด ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฝ๊ณ  ์“ฐ๊ฑฐ๋‚˜ ์•”ํ˜ธํ™”๋œ ์žฅ์น˜์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์บก์ฒ˜ํ•˜๋Š” DMA ๊ณต๊ฒฉ์˜ ์œ„ํ˜‘์ด ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด Thunderbolt๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆํ•œ ์žฅ์น˜๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๊ณ  ์—ฐ๊ฒฐ์˜ ์•”ํ˜ธํ™” ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜์—ฌ ID ์œ„์กฐ๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ๋ณด์•ˆ ์ˆ˜์ค€ ๊ฐœ๋…์„ ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ™•์ธ๋œ ์ทจ์•ฝ์ ์œผ๋กœ ์ธํ•ด ์ด๋Ÿฌํ•œ ๋ฐ”์ธ๋”ฉ์„ ์šฐํšŒํ•˜๊ณ  ์Šน์ธ๋œ ์žฅ์น˜๋กœ ๊ฐ€์žฅํ•˜์—ฌ ์•…์„ฑ ์žฅ์น˜๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํŽŒ์›จ์–ด๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  SPI ํ”Œ๋ž˜์‹œ๋ฅผ ์ฝ๊ธฐ ์ „์šฉ ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ณด์•ˆ ์ˆ˜์ค€์„ ์™„์ „ํžˆ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ํŽŒ์›จ์–ด ์—…๋ฐ์ดํŠธ๋ฅผ ๊ธˆ์ง€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์ด๋Ÿฌํ•œ ์กฐ์ž‘์„ ์œ„ํ•ด ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค). tcfp ะธ ์ŠคํŒŒ์ด๋ธ”๋ก). ์ด XNUMX๊ฐ€์ง€ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ถ€์ ์ ˆํ•œ ํŽŒ์›จ์–ด ๊ฒ€์ฆ ์ฒด๊ณ„ ์‚ฌ์šฉ
  • ์•ฝํ•œ ์žฅ์น˜ ์ธ์ฆ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์ธ์ฆ๋˜์ง€ ์•Š์€ ์žฅ์น˜์—์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋กœ๋“œ
  • ๋กค๋ฐฑ ๊ณต๊ฒฉ์„ ํ—ˆ์šฉํ•˜๋Š” ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ๊ฐ€์šฉ์„ฑ ์ทจ์•ฝํ•œ ๊ธฐ์ˆ ;
  • ์ธ์ฆ๋˜์ง€ ์•Š์€ ์ปจํŠธ๋กค๋Ÿฌ ๊ตฌ์„ฑ ๋งค๊ฐœ๋ณ€์ˆ˜ ์‚ฌ์šฉ
  • SPI ํ”Œ๋ž˜์‹œ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ฒฐํ•จ;
  • ์ˆ˜์ค€์˜ ๋ณดํ˜ธ ์žฅ๋น„ ๋ถ€์กฑ ๋ถ€ํŠธ ์บ ํ”„.

์ด ์ทจ์•ฝ์„ฑ์€ Thunderbolt 1 ๋ฐ 2(Mini DisplayPort ๊ธฐ๋ฐ˜) ๋ฐ Thunderbolt 3(USB-C ๊ธฐ๋ฐ˜)์ด ์žฅ์ฐฉ๋œ ๋ชจ๋“  ์žฅ์น˜์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. USB 4 ๋ฐ Thunderbolt 4๊ฐ€ ํƒ‘์žฌ๋œ ์žฅ์น˜์— ๋ฌธ์ œ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š”์ง€ ์—ฌ๋ถ€๋Š” ์•„์ง ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ์€ ์ด์ œ ๋ง‰ ๋ฐœํ‘œ๋˜์—ˆ๊ณ  ๊ตฌํ˜„์„ ํ…Œ์ŠคํŠธํ•  ๋ฐฉ๋ฒ•์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ทจ์•ฝ์ ์€ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ์ œ๊ฑฐํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ํ•˜๋“œ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋‹ค์‹œ ์„ค๊ณ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ถ€ ์ƒˆ๋กœ์šด ์žฅ์น˜์˜ ๊ฒฝ์šฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ DMA์™€ ๊ด€๋ จ๋œ ์ผ๋ถ€ ๋ฌธ์ œ๋ฅผ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปค๋„ DMA ๋ณดํ˜ธ, 2019๋…„๋ถ€ํ„ฐ ์ง€์›์ด ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค (์— ์˜ํ•ด ์ง€์› Linux ์ปค๋„์—์„œ๋Š” ๋ฆด๋ฆฌ์Šค 5.0๋ถ€ํ„ฐ "/sys/bus/thunderbolt/devices/domainX/iommu_dma_protection"์„ ํ†ตํ•ด ํฌํ•จ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฅ์น˜๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด Python ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ŠคํŒŒ์ด ์ฒดํฌ, DMI, ACPI DMAR ํ…Œ์ด๋ธ” ๋ฐ WMI์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด ๋ฃจํŠธ๋กœ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ทจ์•ฝํ•œ ์‹œ์Šคํ…œ์„ ๋ณดํ˜ธํ•˜๋ ค๋ฉด ์‹œ์Šคํ…œ์„ ์ผœ๊ฑฐ๋‚˜ ๋Œ€๊ธฐ ๋ชจ๋“œ๋กœ ๋ฐฉ์น˜ํ•˜์ง€ ๋ง๊ณ , ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ Thunderbolt ์žฅ์น˜๋ฅผ ์—ฐ๊ฒฐํ•˜์ง€ ๋ง๊ณ , ์žฅ์น˜๋ฅผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ๋งก๊ธฐ๊ฑฐ๋‚˜ ์–‘๋„ํ•˜์ง€ ๋ง๊ณ , ์žฅ์น˜๊ฐ€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์•ˆ์ „ํ•œ์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. Thunderbolt๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ UEFI ๋˜๋Š” BIOS์—์„œ Thunderbolt ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด USB ๋ฐ DisplayPort ํฌํŠธ๊ฐ€ Thunderbolt ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„๋œ ๊ฒฝ์šฐ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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