Введение
Сеть на кристалле (NoC, Network‑on‑Chip) — это коммуникационная инфраструктура внутри однокристальной системы (SoC), обеспечивающая обмен данными между многочисленными IP‑блоками: процессорными ядрами, блоками памяти, ускорителями, контроллерами периферии.
С ростом числа ядер (от 4 до 100+ на чипе) классические шины (AXI, AHB) и кроссбары становятся неэффективны из‑за:
- ограниченной пропускной способности;
- высоких задержек при масштабировании;
- сложности маршрутизации в гетерогенных системах.
NoC решает эти проблемы за счёт:
- пакетной передачи данных;
- распределённой маршрутизации;
- масштабируемой топологии (решётка, тор, дерево).
В статье рассмотрены:
- архитектура и компоненты NoC;
- топологии и протоколы;
- механизмы маршрутизации и управления трафиком;
- методы анализа производительности;
- примеры реализаций и перспективы.
1. Архитектура NoC: основные компоненты
1.1. Сетевые узлы (Network Interfaces, NI)
- Функция: преобразование потоков данных от IP‑блоков в сетевые пакеты.
- Задачи:
- буферизация входных/выходных данных;
- инкапсуляция в пакеты (добавление заголовков);
- согласование тактовых доменов;
- поддержка QoS (приоритеты, гарантии задержки).
- Реализация: на RTL (VHDL/Verilog) с учётом требований IP‑блока.
1.2. Коммутаторы (Routers)
- Функция: приём, буферизация, маршрутизация пакетов между портами.
- Структура порта:
- входной буфер (FIFO);
- блок арбитража (выбор пакета для передачи);
- выходной драйвер.
- Алгоритмы арбитража:
- round‑robin;
- приоритетный;
- WFQ (Weighted Fair Queuing).
1.3. Каналы связи (Links)
- Тип: двунаправленные или однонаправленные.
- Ширина: 8–64 бита (зависит от пропускной способности).
- Тактование: синхронные (common clock) или асинхронные (handshake).
- Физическое исполнение: металлические трассы на кристалле с буферами.
1.4. Протоколы передачи
- Низкоуровневый: передача битов по каналу (LVDS, current‑mode logic).
- Канальный уровень: кадрирование, обнаружение ошибок (CRC), управление потоком (flow control).
- Сетевой уровень: маршрутизация (заголовки с адресом назначения).
- Транспортный уровень: гарантии доставки (reliable/unreliable), сегментация.
2. Топологии NoC
2.1. 2D‑решётка (Mesh)
- Структура: узлы в строках и столбцах, связь по X/Y.
- Плюсы:
- регулярность (упрощает размещение и трассировку);
- масштабируемость до десятков узлов;
- предсказуемые задержки.
- Минусы:
- рост диаметра сети при увеличении размера;
- «горячие точки» у центральных узлов.
- Применение: многоядерные CPU (Intel, AMD), GPU.
2.2. Тор (Torus)
- Структура: решётка с «скрученными» границами (циклические связи).
- Плюсы:
- меньший диаметр сети, чем у решётки;
- равномерное распределение нагрузки.
- Минусы: сложность физического соединения на кристалле.
- Применение: суперкомпьютерные ускорители.
2.3. Дерево (Tree)
- Структура: иерархические коммутаторы (корень, ветви, листья).
- Плюсы:
- низкая задержка для локальных обменов;
- экономия площади при малой глубине.
- Минусы:
- узкие места у корня;
- неравномерная пропускная способность.
- Применение: системы с доминирующим центральным процессором.
2.4. Кольцо (Ring)
- Структура: узлы соединены в кольцо, пакеты передаются по кругу.
- Плюсы:
- простота реализации;
- низкое энергопотребление.
- Минусы:
- задержка растёт с числом узлов;
- один канал на все обмены.
- Применение: малые SoC с 4–8 ядрами.
2.5. Полностью связная (Fully Connected)
- Структура: каждый узел соединён с каждым.
- Плюсы: минимальная задержка, максимальная пропускная способность.
- Минусы: квадратичный рост числа соединений (N2), немасштабируема.
- Применение: очень малые системы (2–4 узла).
3. Механизмы маршрутизации
3.1. Детерминированная маршрутизация
- Принцип: фиксированный путь от источника к приёмнику.
- Примеры:
- XY‑маршрутизация в решётке (сначала по X, потом по Y);
- shortest path (кратчайший путь по числу переходов).
- Плюсы: простота, низкие накладные расходы.
- Минусы: уязвимость к блокировкам, неравномерная загрузка.
3.2. Адаптивная маршрутизация
- Принцип: выбор пути в зависимости от текущей загрузки сети.
- Методы:
- локальная адаптация (на основе очередей соседних коммутаторов);
- глобальная адаптация (с учётом метрик всей сети).
- Плюсы: балансировка нагрузки, устойчивость к «горячим точкам».
- Минусы: сложность реализации, дополнительные задержки на принятие решений.
3.3. Многопутевая маршрутизация (Multipath)
- Принцип: использование нескольких путей для одного потока.
- Цели:
- увеличение пропускной способности;
- отказоустойчивость.
- Проблемы:
- нарушение порядка пакетов;
- усложнение буферизации.
4. Управление трафиком и QoS
4.1. Классы трафика
- Критичный по задержке (real‑time): управление роботом, видео.
- Критичный по пропускной способности (bandwidth‑intensive): копирование памяти, стриминг.
- Фоновый (background): обновления, логирование.
4.2. Механизмы QoS
- Приоритетные очереди в коммутаторах.
- Полоса пропускания (bandwidth reservation).
- Гарантии задержки (delay bounds).
- Политики сброса (drop policies) для перегрузки.
4.3. Управление потоком (Flow Control)
- Цель: предотвращение переполнения буферов.
- Методы:
- stop‑and‑go (пауза при заполнении);
- credit‑based (выдача «кредитов» на отправку);
- виртуальные каналы (virtual lanes) для изоляции потоков.
5. Анализ производительности NoC
5.1. Ключевые метрики
- Пропускная способность (throughput): Мбит/с на канал/сеть.
- Задержка (latency): время от отправки до приёма пакета (в тактах или нс).
- Энергопотребление: Дж/бит.
- Площадь: мм² на коммутатор/канал.
- Надёжность: вероятность потери пакета, устойчивость к отказам.
5.2. Методы оценки
- Симуляция:
- RTL‑симуляция (ModelSim, VCS);
- системная симуляция (gem5, SystemC);
- специализированные NoC‑симуляторы (Noxim, BookSim).
- Аналитические модели:
- теория очередей (M/M/1, M/G/1);
- графовые модели (диаметр, средняя длина пути).
- Аппаратные прототипы:
- FPGA‑эмуляция;
- тестовые чипы.
6. Примеры реализаций
6.1. Intel Many Integrated Core (MIC)
- Топология: 2D‑решётка.
- Особенности:
- 60+ ядер на чипе;
- кольцевые буферы в коммутаторах;
- поддержка когерентности кэшей.
6.2. Tilera TILE‑Pro
- Топология: 2D‑решётка с виртуальными каналами.
- Особенности:
- аппаратная поддержка QoS;
- адаптивная маршрутизация.
6.3. IBM Blue Gene/Q
- Топология: 5D‑тор.
- Особенности:
- сверхнизкая задержка;
- отказоустойчивая маршрутизация.
6.4. Академические проекты
- SPIN (Stanford): асинхронная NoC.
- Heracles (ETH Zurich): энергоэффективная маршрутизация.
- Octopus (IM



