VLSI Wiki | Chase Na

VLSI Wiki | Chase Na

Semiconductor Engineer & Tech Expert

Contact

โœ‰๏ธ gc@vlsi.kr

Connect

Contents:
  1. Network on Chip Design (NoC)
    1. 1. Definition: What is Network on Chip Design (NoC)?
    2. 2. Components and Operating Principles
      1. 2.1 Nodes
      2. 2.2 Routers
      3. 2.3 Links
      4. 2.4 Protocols
    3. 3. Related Technologies and Comparison
      1. 3.1 Bus-based Architecture
      2. 3.2 Point-to-Point Networks
      3. 3.3 Crossbar Switches
    4. 4. References
    5. 5. One-line Summary

Network on Chip Design (NoC)

1. Definition: What is Network on Chip Design (NoC)?

Network on Chip Design (NoC)๋Š” VLSI ์‹œ์Šคํ…œ์—์„œ ๋‹ค์–‘ํ•œ ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ํ†ต์‹ ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํ˜์‹ ์ ์ธ ์•„ํ‚คํ…์ฒ˜์ž…๋‹ˆ๋‹ค. NoC๋Š” ๋ณต์žกํ•œ ๋‹ค์ค‘ ํ”„๋กœ์„ธ์„œ ์‹œ์Šคํ…œ์—์„œ ๋ฐ์ดํ„ฐ ์ „์†ก์˜ ํšจ์œจ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ณ , ๋Œ€์—ญํญ์„ ์ตœ์ ํ™”ํ•˜๋ฉฐ, ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํŠนํžˆ ์ง‘์  ํšŒ๋กœ์˜ ๋ฐ€๋„๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ˜ธ ์—ฐ๊ฒฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

NoC์˜ ์ฃผ์š” ๊ธฐ์ˆ ์  ํŠน์ง• ์ค‘ ํ•˜๋‚˜๋Š” ํŒจํ‚ท ์Šค์œ„์นญ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ํŒจํ‚ท ํ˜•ํƒœ๋กœ ์ „์†ก๋˜๋ฉฐ, ๊ฐ ํŒจํ‚ท์ด ๋…๋ฆฝ์ ์œผ๋กœ ๋ผ์šฐํŒ…๋˜๋Š” ๋ฐฉ์‹์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์€ ๋ฐ์ดํ„ฐ ์ „์†ก์˜ ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•˜๊ณ , ๋‹ค์–‘ํ•œ ํŠธ๋ž˜ํ”ฝ ํŒจํ„ด์„ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, NoC๋Š” ๋‹ค์–‘ํ•œ QoS(์„œ๋น„์Šค ํ’ˆ์งˆ) ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ง€์›ํ•˜์—ฌ, ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „์†ก๊ณผ ๊ฐ™์€ ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

2. Components and Operating Principles

Network on Chip Design (NoC)์˜ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๋…ธ๋“œ, ๋ผ์šฐํ„ฐ, ๋งํฌ, ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ์ฒ˜๋ฆฌ์˜ ํšจ์œจ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ƒํ˜ธ ์ž‘์šฉํ•˜๋ฉฐ, ์ „์ฒด ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์— ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค.

2.1 Nodes

๋…ธ๋“œ๋Š” NoC์˜ ๊ธฐ๋ณธ ๋‹จ์œ„๋กœ, ํ”„๋กœ์„ธ์„œ ์ฝ”์–ด, ๋ฉ”๋ชจ๋ฆฌ ๋ชจ๋“ˆ, ๋˜๋Š” ๊ธฐํƒ€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋…ธ๋“œ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•œ ์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ ํฌํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ํŒจํ‚ท์„ ์ˆ˜์‹ ํ•˜๊ณ  ์ „์†กํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋…ธ๋“œ๋Š” ์ž์ฒด์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์–ด, ๋ฐ์ดํ„ฐ๊ฐ€ ๋…ธ๋“œ๋ฅผ ํ†ต๊ณผํ•  ๋•Œ ์ถ”๊ฐ€์ ์ธ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2.2 Routers

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

๋งํฌ๋Š” ๋…ธ๋“œ์™€ ๋ผ์šฐํ„ฐ ๊ฐ„์˜ ๋ฌผ๋ฆฌ์ ์ธ ์—ฐ๊ฒฐ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•œ ๋Œ€์—ญํญ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋งํฌ์˜ ์„ค๊ณ„๋Š” ์ „์†ก ์†๋„์™€ ์ง€์—ฐ ์‹œ๊ฐ„์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฉฐ, ๋‹ค์–‘ํ•œ ์ „์†ก ๋งค์ฒด(์˜ˆ: ์ „์„ , ๊ด‘์„ฌ์œ  ๋“ฑ)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งํฌ์˜ ๋Œ€์—ญํญ์€ ์‹œ์Šคํ…œ์˜ ์ „์ฒด ์„ฑ๋Šฅ์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฏ€๋กœ, ์ ์ ˆํ•œ ์„ค๊ณ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

2.4 Protocols

ํ”„๋กœํ† ์ฝœ์€ NoC ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ ์ „์†ก์˜ ๊ทœ์น™๊ณผ ์ ˆ์ฐจ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํŒจํ‚ท์˜ ํ˜•์‹, ์ „์†ก ์ˆœ์„œ, ์˜ค๋ฅ˜ ๊ฒ€์ถœ ๋ฐ ์ˆ˜์ • ๋ฐฉ๋ฒ• ๋“ฑ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ํšจ์œจ์ ์ธ ํ”„๋กœํ† ์ฝœ ์„ค๊ณ„๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์˜ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ณ , ๋„คํŠธ์›Œํฌ์˜ ํ˜ผ์žก๋„๋ฅผ ์ค„์ด๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์€ ์ƒํ˜ธ ์ž‘์šฉํ•˜์—ฌ NoC์˜ ์ „๋ฐ˜์ ์ธ ์„ฑ๋Šฅ์„ ๊ฒฐ์ •ํ•˜๋ฉฐ, ์„ค๊ณ„์ž๋Š” ๊ฐ ์š”์†Œ๋ฅผ ์ตœ์ ํ™”ํ•˜์—ฌ ์‹œ์Šคํ…œ์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Network on Chip Design (NoC)์€ ์—ฌ๋Ÿฌ ์œ ์‚ฌ ๊ธฐ์ˆ ๊ณผ ๋น„๊ต๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ ๊ธฐ์ˆ ์˜ ํŠน์„ฑ๊ณผ ์žฅ๋‹จ์ ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ NoC์˜ ํ•„์š”์„ฑ์„ ๋”์šฑ ๋ถ€๊ฐ์‹œํ‚ต๋‹ˆ๋‹ค.

3.1 Bus-based Architecture

์ „ํ†ต์ ์ธ ๋ฒ„์Šค ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋Š” ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‹จ์ผ ๋ฒ„์Šค๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด ๊ตฌ์กฐ๋Š” ๊ตฌํ˜„์ด ๊ฐ„๋‹จํ•˜๊ณ  ๋น„์šฉ์ด ์ €๋ ดํ•˜์ง€๋งŒ, ๋ฐ์ดํ„ฐ ์ „์†ก ์†๋„๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ๋ณ‘๋ชฉ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, NoC๋Š” ๊ฐ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

3.2 Point-to-Point Networks

Point-to-point ๋„คํŠธ์›Œํฌ๋Š” ๋‘ ๊ฐœ์˜ ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ์ง์ ‘ ์—ฐ๊ฒฐ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ ๋‚ฎ์€ ์ง€์—ฐ ์‹œ๊ฐ„๊ณผ ๋†’์€ ๋Œ€์—ญํญ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ์—์„œ๋Š” ๊ด€๋ฆฌ๊ฐ€ ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. NoC๋Š” ์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ๊ทน๋ณตํ•˜๋ฉฐ, ๋” ๋งŽ์€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

3.3 Crossbar Switches

Crossbar ์Šค์œ„์น˜๋Š” ๋‹ค์ˆ˜์˜ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋†’์€ ๋Œ€์—ญํญ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ๋ณต์žกํ•œ ํšŒ๋กœ ์„ค๊ณ„์™€ ๋†’์€ ๋น„์šฉ์ด ๋‹จ์ ์œผ๋กœ ์ง€์ ๋ฉ๋‹ˆ๋‹ค. NoC๋Š” Crossbar ์Šค์œ„์น˜์˜ ์žฅ์ ์„ ํ™œ์šฉํ•˜๋ฉด์„œ๋„, ๋” ์œ ์—ฐํ•œ ๋ผ์šฐํŒ…๊ณผ ํŒจํ‚ท ์Šค์œ„์นญ์„ ํ†ตํ•ด ๋น„์šฉ ํšจ์œจ์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค.

์ด์™€ ๊ฐ™์€ ๋น„๊ต๋ฅผ ํ†ตํ•ด NoC๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ์— ๋น„ํ•ด ํšจ์œจ์ ์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜๋ฉฐ, ํ˜„๋Œ€์˜ ๋ณต์žกํ•œ ์‹œ์Šคํ…œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š” ๋ฐ ์žˆ์–ด ํ•„์ˆ˜์ ์ธ ๊ธฐ์ˆ ๋กœ ์ž๋ฆฌ๋งค๊น€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

4. References

  • IEEE Computer Society
  • ACM Special Interest Group on Design Automation (SIGDA)
  • International Symposium on Networks-on-Chip (NOC)
  • Various semiconductor and VLSI research institutions

5. One-line Summary

Network on Chip Design (NoC)์€ VLSI ์‹œ์Šคํ…œ์—์„œ ํšจ์œจ์ ์ด๊ณ  ์œ ์—ฐํ•œ ๋ฐ์ดํ„ฐ ํ†ต์‹ ์„ ์œ„ํ•œ ํ˜์‹ ์ ์ธ ์•„ํ‚คํ…์ฒ˜๋กœ, ๋ณต์žกํ•œ ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ์ƒํ˜ธ ์—ฐ๊ฒฐ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.