๐Ÿ”Œ Protocol

CXL Version Comparison

๊ฐœ์š”

CXL(Compute Express Link)์€ CPU์™€ ๊ฐ€์†๊ธฐ, ๋ฉ”๋ชจ๋ฆฌ ๋””๋ฐ”์ด์Šค ์‚ฌ์ด๋ฅผ ์ž‡๋Š” ์˜คํ”ˆ ์ธํ„ฐ์ปค๋„ฅํŠธ ํ‘œ์ค€์ด๋‹ค. PCIe ๋ฌผ๋ฆฌ ๊ณ„์ธต ์œ„์—์„œ CXL.io, CXL.cache, CXL.mem์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ฝ”ํžˆ์–ด๋Ÿฐ์‹œ์™€ ๋ฉ”๋ชจ๋ฆฌ ํ™•์žฅ์„ ๋™์‹œ์— ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋๋‹ค.

๋ฒ„์ „์ด ์˜ฌ๋ผ๊ฐˆ์ˆ˜๋ก ๊ธฐ๋Šฅ์˜ ์ดˆ์ ๋„ ๋ฐ”๋€๋‹ค. 1.x๋Š” ์ ๋Œ€์  ์—ฐ๊ฒฐ๊ณผ ๊ธฐ๋ณธ ์ฝ”ํžˆ์–ด๋Ÿฐ์Šค, 2.0์€ ์Šค์œ„์นญ๊ณผ ํ’€๋ง, 3.0์€ ํŒจ๋ธŒ๋ฆญ๊ณผ ๋‹ค์ค‘ ํ™‰, 3.1์€ 3.0 ๊ธฐ๋ฐ˜์˜ ๋ณด๊ฐ• ๋ฒ„์ „์œผ๋กœ ๋ณด๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ฝ๊ธฐ ์‰ฝ๋‹ค.

ํ•ต์‹ฌ ๊ฐœ๋…

ํ”„๋กœํ† ์ฝœ ์Šคํƒ

CXL ํ”„๋กœํ† ์ฝœ ์Šคํƒ

์„ธ ํ”„๋กœํ† ์ฝœ์€ ๋ชจ๋“  ์„ธ๋Œ€์—์„œ ๊ณตํ†ต์˜ ๋ผˆ๋Œ€๋ฅผ ์ด๋ฃฌ๋‹ค.

ํ•ต์‹ฌ์€ CXL.io๊ฐ€ ์ œ์–ด๋ฉด์„, CXL.cache์™€ CXL.mem์ด ๋ฐ์ดํ„ฐ๋ฉด์„ ๋งก๋Š”๋‹ค๋Š” ์ ์ด๋‹ค. 2.0 ์ดํ›„์—๋Š” ์Šค์œ„์น˜, HDM decoder, ๋…ผ๋ฆฌ ๋””๋ฐ”์ด์Šค(LD), ๋ฉ”๋ชจ๋ฆฌ ํ’€๋ง ๊ฐ™์€ ์šด์˜ ์š”์†Œ๊ฐ€ ๋”ํ•ด์ง€๋ฏ€๋กœ, ๋‹จ์ˆœ ๋งํฌ ๊ทœ๊ฒฉ๋ณด๋‹ค ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ ์ž์›์„ ์–ด๋–ป๊ฒŒ ๋…ธ์ถœํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š”์ง€๊นŒ์ง€ ํ•จ๊ป˜ ๋ด์•ผ ๋ฒ„์ „ ์ฐจ์ด๊ฐ€ ์„ ๋ช…ํ•ด์ง„๋‹ค.

๊ณ„์ธต ์—ญํ• 
CXL.io ์žฅ์น˜ ๋ฐœ๊ฒฌ, ์„ค์ •, ์ธํ„ฐ๋ŸฝํŠธ, DMA, ๋ ˆ์ง€์Šคํ„ฐ ์ ‘๊ทผ
CXL.cache ๋””๋ฐ”์ด์Šค๊ฐ€ ํ˜ธ์ŠคํŠธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฝ”ํžˆ์–ด๋ŸฐํŠธํ•˜๊ฒŒ ์บ์‹œ
CXL.mem ํ˜ธ์ŠคํŠธ๊ฐ€ ๋””๋ฐ”์ด์Šค์— ๋ถ™์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฝ”ํžˆ์–ด๋ŸฐํŠธํ•˜๊ฒŒ ์ ‘๊ทผ
ARB/MUX CXL.io์™€ ์ฝ”ํžˆ์–ด๋Ÿฐ์Šค ํŠธ๋ž˜ํ”ฝ์„ ๋งํฌ์—์„œ ์กฐ์ •

๋””๋ฐ”์ด์Šค ํƒ€์ž…

ํƒ€์ž… ์ฃผ ์šฉ๋„ ํ”„๋กœํ† ์ฝœ
Type 1 ์ฝ”ํžˆ์–ด๋ŸฐํŠธ ๊ฐ€์†๊ธฐ CXL.io + CXL.cache
Type 2 GPU, FPGA ๊ฐ™์€ ๊ฐ€์†๊ธฐ + ๋กœ์ปฌ ๋ฉ”๋ชจ๋ฆฌ CXL.io + CXL.cache + CXL.mem
Type 3 ๋ฉ”๋ชจ๋ฆฌ ์ต์ŠคํŒฌ๋”, FAM CXL.io + CXL.mem

ํ† ํด๋กœ์ง€ ์ง„ํ™”

CXL ํ† ํด๋กœ์ง€ ์ง„ํ™”

1.x๋Š” ํ˜ธ์ŠคํŠธ์™€ ์žฅ์น˜๊ฐ€ 1:1๋กœ ์ง์ ‘ ๋ถ™๋Š” ๊ตฌ์กฐ๋‹ค. 2.0์—์„œ ์Šค์œ„์น˜๊ฐ€ ๋“ค์–ด์˜ค๋ฉด์„œ ๋ฉ”๋ชจ๋ฆฌ ํ’€๋ง๊ณผ ๋™์  ํ• ๋‹น์ด ๊ฐ€๋Šฅํ•ด์กŒ๊ณ , 3.0์—์„œ๋Š” ๋‹ค์ค‘ ์Šค์œ„์น˜์™€ ๋น„ํŠธ๋ฆฌ ํŒจ๋ธŒ๋ฆญ, ๋‹ค์ค‘ ํ˜ธ์ŠคํŠธ ๊ณต์œ ๊นŒ์ง€ ํ™•์žฅ๋๋‹ค.

๋น„๊ต/๋ถ„์„

์•„๋ž˜ ํ‘œ๋Š” ๊ฐ ๋ฒ„์ „์˜ ์ฐจ์ด๋ฅผ ํ•œ๋ˆˆ์— ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ์ •๋ฆฌํ•œ ๊ฒƒ์ด๋‹ค. NEW๋Š” ํ•ด๋‹น ์„ธ๋Œ€์—์„œ ์ฒ˜์Œ ๋ณธ๊ฒฉํ™”๋œ ๊ธฐ๋Šฅ์„ ๋œปํ•œ๋‹ค.

ํ•ญ๋ชฉ 1.0 1.1 2.0 3.0 3.1
๊ณต๊ฐœ ์‹œ์  2019-03 2019-06 2020-11 2022-08 2023-11
๊ธฐ๋ฐ˜ PHY PCIe 5.0 PCIe 5.0 PCIe 5.0 PCIe 6.0 PCIe 6.0
์ „์†ก ๋ฐฉ์‹ NRZ NRZ NRZ PAM4 PAM4
๋งํฌ ๋ฐ์ดํ„ฐ ๋‹จ์œ„ 528-bit(66B) FLIT ๊ณ„์—ด 528-bit(66B) FLIT ๊ณ„์—ด 528-bit(66B) FLIT ๊ณ„์—ด 256B FLIT + FEC 256B FLIT + FEC
ํ† ํด๋กœ์ง€ Point-to-Point Point-to-Point NEW 1-hop ์Šค์œ„์นญ NEW ๋‹ค์ค‘ ํ™‰ ํŒจ๋ธŒ๋ฆญ ๋‹ค์ค‘ ํ™‰ ํŒจ๋ธŒ๋ฆญ
์Šค์œ„์นญ ์—†์Œ ์—†์Œ NEW ์ง€์› ์ง€์› ์ง€์›
๋ฉ”๋ชจ๋ฆฌ ํ’€๋ง ์—†์Œ ์—†์Œ NEW ์ง€์› ์ง€์› ์ง€์›
๋””๋ฐ”์ด์Šค/ํ˜ธ์ŠคํŠธ ๊ณต์œ  ์ œํ•œ์  ์ œํ•œ์  ์ œํ•œ์  NEW ๋‹ค์ค‘ ํ˜ธ์ŠคํŠธ ๊ณต์œ  ๋‹ค์ค‘ ํ˜ธ์ŠคํŠธ ๊ณต์œ 
P2P / FAM / BI ์—†์Œ ์—†์Œ ์—†์Œ NEW ์ง€์› ์ง€์›
ํ•ต์‹ฌ ํฌ์ธํŠธ ๊ธฐ๋ณธ CXL ์‹œ์ž‘์  1.0 ์ •๋ฆฌ๋ณธ ์Šค์œ„์นญ๊ณผ ํ’€๋ง ๋„์ž… ํŒจ๋ธŒ๋ฆญ, ๊ณต์œ , P2P ํ™•๋Œ€ 3.0 ์œ ์ง€ + ๋ณด๊ฐ•

์ฐธ๊ณ ๋กœ CXL Consortium์€ 2024๋…„ ๋ง CXL 3.2๋ฅผ, 2025๋…„์—๋Š” CXL 4.0์„ ๊ณต๊ฐœํ–ˆ๋‹ค. 3.2๋Š” 3.0/3.1์˜ ํŒจ๋ธŒ๋ฆญ ๋ฐฉํ–ฅ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ๊ด€๋ฆฌ์„ฑ๊ณผ ์ƒํ˜ธ์šด์šฉ์„ฑ์„ ๋‹ค๋“ฌ๋Š” ์„ฑ๊ฒฉ์ด ๊ฐ•ํ•˜๊ณ , 4.0์€ 128 GT/s์™€ bundled ports, memory RAS ๊ฐ•ํ™”๋ฅผ ํ†ตํ•ด ๋ž™ ๊ทœ๋ชจ ํ™•์žฅ์„ฑ์„ ๋” ๋ฐ€์–ด๋ถ™์ด๋Š” ๋กœ๋“œ๋งต์œผ๋กœ ์ฝํžŒ๋‹ค.

๋™์ž‘ ์›๋ฆฌ

CXL ๋™์ž‘์€ ๋ณดํ†ต ์„ธ ๋‹จ๊ณ„๋กœ ์ดํ•ดํ•˜๋ฉด ์‰ฝ๋‹ค.

  1. CXL.io๊ฐ€ ์žฅ์น˜๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ์„ค์ •ํ•œ๋‹ค.
  2. CXL.cache๊ฐ€ ๊ฐ€์†๊ธฐ ์ชฝ ์ฝ”ํžˆ์–ด๋Ÿฐ์Šค์™€ ํ˜ธ์ŠคํŠธ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์„ ๋‹ด๋‹นํ•˜๊ณ , CXL.mem์ด ์žฅ์น˜ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์„ ๋‹ด๋‹นํ•œ๋‹ค.
  3. 2.0 ์ดํ›„์—๋Š” ์Šค์œ„์น˜์™€ ํŒจ๋ธŒ๋ฆญ์ด ์ค‘๊ฐ„์— ๋“ค์–ด์˜ค๋ฉฐ, 3.0๋ถ€ํ„ฐ๋Š” P2P, Back-Invalidation, FAM ๊ฐ™์€ ๊ธฐ๋Šฅ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ  ๋ฒ”์œ„๊ฐ€ ๋„“์–ด์ง„๋‹ค.

์ด ๋•Œ๋ฌธ์— CXL์€ ๋‹จ์ˆœํ•œ ๊ณ ์† I/O๊ฐ€ ์•„๋‹ˆ๋ผ, ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต์„ ์‹œ์Šคํ…œ ๋ฐ”๊นฅ์œผ๋กœ ํ™•์žฅํ•˜๋Š” ์ธํ„ฐ์ปค๋„ฅํŠธ๋กœ ์“ฐ์ธ๋‹ค.

์‹ค์ œ ํ”Œ๋žซํผ์—์„œ๋Š” BIOS/ํŽŒ์›จ์–ด๊ฐ€ ๋งํฌ์™€ ๋””๋ฐ”์ด์Šค๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ณ , OS๊ฐ€ CXL ๋ฒ„์Šค์™€ ๋ฉ”๋ชจ๋ฆฌ ์žฅ์น˜๋ฅผ ์—ด๊ฑฐํ•œ ๋’ค, ๋ฉ”๋ชจ๋ฆฌ ์ •์ฑ… ๊ณ„์ธต์ด ํ’€๋ง๋œ ์šฉ๋Ÿ‰์„ NUMA ๋…ธ๋“œ๋‚˜ tiered memory๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ™์€ CXL 2.0 ์žฅ์น˜๋ผ๋„ ๋‹จ์ˆœ ๋ฉ”๋ชจ๋ฆฌ ํ™•์žฅ์ธ์ง€, ์—ฌ๋Ÿฌ ํ˜ธ์ŠคํŠธ๊ฐ€ ๋‚˜๋ˆ  ์“ฐ๋Š” ํ’€ ์ž์›์ธ์ง€์— ๋”ฐ๋ผ ์ฒด๊ฐ ์„ฑ๋Šฅ๊ณผ ์†Œํ”„ํŠธ์›จ์–ด ๊ฒฝ๋กœ๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค.

์žฅ๋‹จ์ 

์žฅ์  ๋‹จ์ 
๋ฉ”๋ชจ๋ฆฌ ์šฉ๋Ÿ‰๊ณผ ๋Œ€์—ญํญ์„ ์œ ์—ฐํ•˜๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค ์„ธ๋Œ€๊ฐ€ ์˜ฌ๋ผ๊ฐˆ์ˆ˜๋ก ๊ฒ€์ฆ๊ณผ ๊ตฌํ˜„ ๋ณต์žก๋„๊ฐ€ ์ปค์ง„๋‹ค
์ฝ”ํžˆ์–ด๋Ÿฐ์Šค ๋•๋ถ„์— ์†Œํ”„ํŠธ์›จ์–ด ๋ชจ๋ธ์„ ํฌ๊ฒŒ ๋ฐ”๊พธ์ง€ ์•Š์•„๋„ ๋œ๋‹ค ํŒจ๋ธŒ๋ฆญ๊ณผ ์Šค์œ„์นญ์€ ์ง€์—ฐ ์‹œ๊ฐ„๊ณผ ์ „๋ ฅ ๊ด€๋ฆฌ ๋ถ€๋‹ด์„ ๋Š˜๋ฆฐ๋‹ค
ํ’€๋ง๊ณผ ๊ณต์œ ๋กœ ์ž์› ํ™œ์šฉ๋ฅ ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค OS, ํŽŒ์›จ์–ด, ํ”Œ๋žซํผ ์ง€์›์ด ํ•จ๊ป˜ ๋งž์•„์•ผ ํ•œ๋‹ค
๊ฐ€์†๊ธฐ์™€ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ถ„๋ฆฌ๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ ์„ค๊ณ„๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ํ•œ๋‹ค ์‹ค์ œ ์„ฑ๋Šฅ์€ ํ† ํด๋กœ์ง€์™€ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐฐ์น˜์— ํฌ๊ฒŒ ์ขŒ์šฐ๋œ๋‹ค

๊ด€๋ จ ๊ธฐ์ˆ 

ํ•ต์‹ฌ ์ •๋ฆฌ

CXL์€ PCIe ๊ธฐ๋ฐ˜ ์œ„์— ์ฝ”ํžˆ์–ด๋Ÿฐ์‹œ์™€ ๋ฉ”๋ชจ๋ฆฌ ํ™•์žฅ์„ ์–น์€ ํ‘œ์ค€์ด๋‹ค. 1.x๋Š” ๊ธฐ๋ณธ ์—ฐ๊ฒฐ๊ณผ ํ”„๋กœํ† ์ฝœ ์ •๋ฆฌ์— ์ง‘์ค‘ํ–ˆ๊ณ , 2.0์€ ์Šค์œ„์นญ๊ณผ ํ’€๋ง์„, 3.0์€ ํŒจ๋ธŒ๋ฆญ๊ณผ ๋‹ค์ค‘ ํ˜ธ์ŠคํŠธ ๊ณต์œ ๋ฅผ ์—ด์—ˆ๋‹ค. 3.1๊ณผ 3.2๋Š” ๊ทธ ๊ตฌ์กฐ๋ฅผ ๋‹ค๋“ฌ๋Š” ๋ณด๊ฐ•ํŒ์— ๊ฐ€๊น๊ณ , 4.0์€ ๋” ๋†’์€ ์†๋„์™€ ๋ž™ ๊ทœ๋ชจ ํ™•์žฅ์„ ๊ฒจ๋ƒฅํ•œ๋‹ค. ์ด ํ๋ฆ„์„ ํ•จ๊ป˜ ๋ณด๋ฉด CXL์ด ์™œ ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต ์žฌ๊ตฌ์„ฑ์˜ ํ•ต์‹ฌ ํ‘œ์ค€์ธ์ง€ ๋ถ„๋ช…ํ•ด์ง„๋‹ค.