Система на чипе

Система Apple M1 на чипе
Система на чипе Broadcom в Raspberry Pi

Система на кристалле или система-на-кристалле ( SoC / ˌ ˈ ɛ s s / ; мн. SoCs / ˌ ˈ ɛ s s z / ) — это интегральная схема , объединяющая большинство или все компоненты компьютера . или другая электронная система . Эти компоненты почти всегда включают в себя встроенный центральный процессор (ЦП), памяти интерфейсы ввода-вывода , устройства и интерфейсы , а также интерфейсы вторичного хранения данных , часто наряду с другими компонентами, такими как радиомодемы и графический процессор (ГП) – и все это на одном компьютере. одна подложка или микрочип. [1] SoC могут содержать цифровых , а также аналоговых , смешанных и часто радиочастотных функции обработки сигналов (в противном случае это можно рассматривать как дискретный прикладной процессор).

Более высокопроизводительные SoC часто сочетаются с выделенными и физически отдельными микросхемами памяти и вторичного хранилища (такими как LPDDR и eUFS или eMMC соответственно), которые могут быть наложены поверх SoC в так называемой конфигурации «пакет на пакете» (PoP). или располагаться рядом с SoC. Кроме того, SoC могут использовать отдельные беспроводные модемы . [2]

SoC объединяет микроконтроллер , микропроцессор или, возможно, несколько процессорных ядер с периферийными устройствами, такими как графический процессор , Wi-Fi и сотовой сети радиомодемы , и/или один или несколько сопроцессоров . Подобно тому, как микроконтроллер объединяет микропроцессор с периферийными схемами и памятью, SoC можно рассматривать как интеграцию микроконтроллера с еще более совершенными периферийными устройствами . Обзор интеграции компонентов системы см. в разделе «Системная интеграция» .

По сравнению с многочиповой архитектурой SoC с эквивалентной функциональностью будет иметь меньшее энергопотребление , а также меньшую площадь полупроводникового кристалла . Это происходит за счет снижения возможности замены компонентов. По определению конструкции SoC полностью или почти полностью интегрированы в различные компонентные модули . По этим причинам наблюдается общая тенденция к более тесной интеграции компонентов в индустрии компьютерного оборудования , отчасти из-за влияния SoC и уроков, извлеченных из рынков мобильных и встраиваемых компьютеров.

SoC очень распространены на рынках мобильных вычислений (например, интеллектуальных устройств, таких как смартфоны и планшетные компьютеры ) и периферийных вычислений . [3] [4]

Типы [ править ]

Система на базе микроконтроллера на кристалле

В общем, существует три различных типа SoC:

  • SoC построены на базе микроконтроллера .
  • SoC, построенные на базе микропроцессора , часто встречающиеся в мобильных телефонах;
  • Специализированные интегральные схемы SoC для конкретных приложений, предназначенные для конкретных приложений, которые не попадают в две вышеуказанные категории.

Приложения [ править ]

SoC могут быть применены к любой вычислительной задаче. Однако они обычно используются в мобильных компьютерах, таких как планшеты, смартфоны, умные часы и нетбуки, а также во встроенных системах и в приложениях, где ранее микроконтроллеры использовались .

Встроенные системы [ править ]

Если раньше можно было использовать только микроконтроллеры, то SoC становятся все более популярными на рынке встраиваемых систем. Более тесная интеграция системы обеспечивает более высокую надежность и среднее время безотказной работы , а SoC предлагают более расширенные функциональные возможности и вычислительную мощность, чем микроконтроллеры. [5] Приложения включают ускорение искусственного интеллекта , встроенное машинное зрение , [6] сбор данных , телеметрия , векторная обработка и окружающий интеллект . Часто встроенные SoC ориентированы на рынки Интернета вещей , мультимедиа, сетей, телекоммуникаций и периферийных вычислений .

Мобильные компьютеры [ править ]

Система на чипе AMD Élan SC450 в коммуникаторе Nokia 9000

SoC на базе мобильных компьютеров всегда объединяют процессоры, память, встроенную кэш-память , возможности сети беспроводной , а также зачастую аппаратное обеспечение и встроенное ПО цифровых камер . С увеличением размеров памяти высокопроизводительные SoC часто не будут иметь памяти и флэш-памяти, и вместо этого память и флэш-память будут размещаться рядом или над ( пакет в пакете ). SoC [7] Некоторые примеры SoC для мобильных компьютеров включают в себя:

Персональные компьютеры [ править ]

В 1992 году компания Acorn Computers выпустила линейку персональных компьютеров A3010, A3020 и A4000 с SoC ARM250. Он сочетал в себе оригинальный процессор Acorn ARM2 с контроллером памяти (MEMC), видеоконтроллером (VIDC) и контроллером ввода-вывода (IOC). В предыдущих Acorn ARM компьютерах на базе это были четыре дискретных чипа. Чип ARM7500 представлял собой их SoC второго поколения, основанный на контроллерах ARM700, VIDC20 и IOMD, и широко лицензировался во встроенных устройствах, таких как телеприставки, а также в более поздних персональных компьютерах Acorn.

Производители планшетов и ноутбуков извлекли уроки из опыта встраиваемых систем и рынков смартфонов в отношении снижения энергопотребления, повышения производительности и надежности за счет более тесной интеграции аппаратных и встроенных модулей , а также LTE и других беспроводных сетевых коммуникаций, интегрированных на кристалле (интегрированные контроллеры сетевых интерфейсов ). [10]

Структура [ править ]

SoC состоит из аппаратных функциональных блоков , включая микропроцессоры , на которых выполняется программный код , а также подсистемы связи для подключения, управления, управления и взаимодействия между этими функциональными модулями.

Функциональные компоненты [ править ]

Ядра процессора [ править ]

SoC должен иметь хотя бы одно процессорное ядро , но обычно SoC имеет более одного ядра. Ядра процессора могут быть микроконтроллером , микропроцессором (мкП), [11] Ядро процессора цифровых сигналов (DSP) или процессора набора команд конкретного приложения (ASIP). [12] ASIP имеют наборы инструкций , которые настроены для предметной области приложения и разработаны так, чтобы быть более эффективными, чем инструкции общего назначения, для определенного типа рабочей нагрузки. Многопроцессорные SoC по определению имеют более одного процессорного ядра. Архитектура ARM является распространенным выбором для процессорных ядер SoC, поскольку некоторые ядра архитектуры ARM представляют собой программные процессоры, определенные как IP-ядра . [11]

Память [ править ]

SoC должны иметь полупроводниковые блоки памяти для выполнения своих вычислений, как и микроконтроллеры и другие встроенные системы . В зависимости от приложения память SoC может образовывать иерархию памяти и иерархию кэша . На рынке мобильных компьютеров это распространено, но во многих маломощных встраиваемых микроконтроллерах в этом нет необходимости. Технологии памяти для SoC включают постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ), электрически стираемое программируемое ПЗУ ( EEPROM ) и флэш-память . [11] Как и в других компьютерных системах, ОЗУ можно разделить на относительно более быстрое, но более дорогое статическое ОЗУ (SRAM) и более медленное, но дешевое динамическое ОЗУ (DRAM). Когда SoC имеет иерархию кэша , SRAM обычно используется для реализации регистров процессора ядер и встроенных кэшей , тогда как DRAM будет использоваться для основной памяти . «Основная память» может относиться к одному процессору (который может быть многоядерным ), когда SoC имеет несколько процессоров , в этом случае это распределенная память и должна быть отправлена ​​через § межмодульную связь внутри кристалла, чтобы к ней мог получить доступ другой процессор. [12] Дальнейшее обсуждение проблем с памятью при многопроцессорной обработке см. в разделе « Когерентность кэша и задержка памяти» .

Интерфейсы [ править ]

SoC включают внешние интерфейсы , обычно для протоколов связи . Они часто основаны на отраслевых стандартах, таких как USB , FireWire , Ethernet , USART , SPI , HDMI , I²C , CSI и т. д. Эти интерфейсы будут различаться в зависимости от предполагаемого применения. протоколы беспроводных сетей , такие как Wi-Fi , Bluetooth , 6LoWPAN и связь ближнего радиуса действия Также могут поддерживаться .

При необходимости SoC включают в себя аналоговые интерфейсы, включая аналого-цифровые и цифро-аналоговые преобразователи , часто для обработки сигналов . Они могут иметь возможность взаимодействовать с различными типами датчиков или исполнительных механизмов , включая интеллектуальные преобразователи . предназначенными для конкретного приложения . Они могут взаимодействовать с модулями или экранами, [номер 1] Или они могут быть внутренними для SoC, например, если в SoC встроен аналоговый датчик, и его показания необходимо преобразовать в цифровые сигналы для математической обработки.

Цифровые сигнальные процессоры [ править ]

Ядра цифрового сигнального процессора (DSP) часто включаются в SoC. Они выполняют обработки сигналов операции в SoC для датчиков , исполнительных механизмов , сбора данных , анализа данных и обработки мультимедиа. Ядра DSP обычно имеют с очень длинным командным словом (VLIW) и одной командой, несколькими данными (SIMD) архитектуру набора команд , и поэтому хорошо подходят для использования параллелизма на уровне команд посредством параллельной обработки и суперскалярного выполнения . [12] : 4  Ядра SP чаще всего содержат инструкции для конкретных приложений и, как правило, представляют собой процессоры с набором команд для конкретных приложений (ASIP). Такие инструкции, специфичные для приложения, соответствуют выделенным аппаратным функциональным блокам , которые вычисляют эти инструкции.

Типичные инструкции DSP включают в себя умножение-накопление , быстрое преобразование Фурье , объединенное умножение-сложение и свертки .

Другое [ править ]

Как и в случае с другими компьютерными системами, SoC требуются источники синхронизации для генерации тактовых сигналов , управления выполнением функций SoC и предоставления временного контекста приложениям обработки сигналов SoC, если это необходимо. Популярными источниками времени являются кварцевые генераторы и системы фазовой автоподстройки частоты .

SoC Периферийные устройства , включая счетчики реального времени -таймеры, таймеры и генераторы сброса при включении питания . SoC также включают в себя стабилизаторы напряжения и управления питанием схемы .

Межмодульная связь [ править ]

SoC состоят из множества исполнительных блоков . Этим устройствам часто приходится отправлять данные и инструкции туда и обратно. По этой причине всем SoC, кроме самых тривиальных, требуются подсистемы связи . Первоначально, как и в случае с другими микрокомпьютерными технологиями, шин данных использовались архитектуры , но в последнее время конструкции, основанные на разреженных сетях связи, известные как сети на кристалле (NoC), приобрели известность и, по прогнозам, в ближайшем будущем обгонят архитектуры шин для проектирования SoC. . [13]

Связь по шине [ править ]

Исторически сложилось так, что общая глобальная компьютерная шина обычно соединяла различные компоненты, также называемые «блоками» SoC. [13] Очень распространенной шиной для связи SoC является бесплатный стандарт Advanced Microcontroller Bus Architecture ( AMBA ) от ARM.

Контроллеры прямого доступа к памяти направляют данные непосредственно между внешними интерфейсами и памятью SoC, минуя ЦП или блок управления , тем самым увеличивая пропускную способность данных SoC. Это похоже на драйверы некоторых периферийных устройств на основе компонентов в архитектурах ПК с многочиповыми модулями .

Задержка по проводу не масштабируется из-за продолжающейся миниатюризации , производительность системы SoC не масштабируется в зависимости от количества подключенных ядер, рабочая частота должна уменьшаться с каждым дополнительным присоединенным ядром, чтобы питание было устойчивым, а длинные провода потребляют большое количество электроэнергии. Эти проблемы не позволяют поддерживать множество ядерных систем на кристалле. [13] : xiii

Сеть на чипе [ править ]

тенденция реализации SoC подсистем связи с использованием сетевой топологии вместо протоколов на основе шины В конце 2010-х годов возникла . Тенденция к увеличению количества процессорных ядер в SoC привела к тому, что эффективность внутрикристальной связи стала одним из ключевых факторов, определяющих общую производительность и стоимость системы. [13] : xiii Это привело к появлению межсетевых соединений с маршрутизаторов, на основе коммутацией пакетов известных как « сети на кристалле » (NoC), для преодоления узких мест сетей на базе шин. [13] : xiii

Сети на кристалле имеют такие преимущества, как маршрутизация в зависимости от места назначения и приложения , более высокая энергоэффективность и снижение вероятности конфликтов на шине . Архитектура «сеть на кристалле» черпает вдохновение из протоколов связи, таких как TCP , и набора протоколов Интернета для связи внутри кристалла. [13] хотя обычно они имеют меньше сетевых уровней . «сеть-на-кристалле» Оптимальные сетевые архитектуры представляют собой постоянную область большого исследовательского интереса. Архитектуры NoC варьируются от традиционных топологий распределенных вычислительных сетей, таких как тор , гиперкуб , сетки и древовидные сети, до планирования генетических алгоритмов и рандомизированных алгоритмов, таких как случайные блуждания с ветвлением и рандомизированным временем жизни (TTL).

Многие исследователи SoC считают, что архитектуры NoC — это будущее проектирования SoC, поскольку было доказано, что они эффективно удовлетворяют потребности в мощности и пропускной способности конструкций SoC. Текущие архитектуры NoC являются двумерными. Проектирование 2D-ИС имеет ограниченный выбор планировки , поскольку количество ядер в SoC увеличивается, поэтому с появлением трехмерных интегральных схем (3DIC) разработчики SoC стремятся создавать трехмерные внутрикристальные сети, известные как 3DNoC. [13]

Процесс проектирования [ править ]

Процесс проектирования SoC

Система на кристалле состоит как из аппаратного обеспечения , описанного в § Структура , так и из программного обеспечения, управляющего ядрами микроконтроллера, микропроцессора или процессора цифровых сигналов, периферийными устройствами и интерфейсами. Процесс проектирования SoC направлен на одновременную разработку этого аппаратного и программного обеспечения, что также известно как совместное архитектурное проектирование. Процесс проектирования также должен учитывать оптимизации ( § Цели оптимизации ) и ограничения.

Большинство SoC разрабатываются на основе предварительно проверенных спецификаций IP-ядра аппаратных компонентов для аппаратных элементов и исполнительных блоков , вместе «блоков», описанных выше, вместе с программными драйверами устройств , которые могут контролировать их работу. Особое значение имеют стеки протоколов , которые управляют стандартными интерфейсами, такими как USB . Аппаратные блоки собираются с использованием средств компьютерного проектирования , в частности автоматизации электронного проектирования средств ; Программные модули интегрируются с использованием интегрированной среды разработки программного обеспечения .

Компоненты SoC также часто разрабатываются на языках программирования высокого уровня, таких как C++ , MATLAB или SystemC, и преобразуются в RTL проекты с помощью инструментов высокоуровневого синтеза (HLS), таких как C в HDL или поток в HDL . [14] Продукты HLS, называемые «алгоритмическим синтезом», позволяют разработчикам использовать C++ для моделирования и синтеза уровней системы, схем, программного обеспечения и проверки на одном языке высокого уровня, общеизвестном компьютерным инженерам, независимо от временных масштабов, которые обычно указываются в HDL. [15] Другие компоненты могут оставаться программным обеспечением и компилироваться и встраиваться в процессоры с программным ядром, включенные в SoC, в качестве модулей HDL в качестве IP-ядер .

После архитектуры определения SoC любые новые аппаратные элементы записываются на абстрактном языке описания оборудования , называемом уровнем передачи регистров (RTL), который определяет поведение схемы, или синтезируются в RTL из языка высокого уровня посредством высокоуровневого синтеза. Эти элементы соединяются вместе на языке описания аппаратного обеспечения для создания полной конструкции SoC. Логика, предназначенная для соединения этих компонентов и преобразования между различными интерфейсами, предоставляемыми разными поставщиками, называется связующей логикой .

Проверка проекта [ править ]

Чипы проверяются на корректность перед отправкой на завод по производству полупроводников . Этот процесс называется функциональной проверкой , и на него приходится значительная часть времени и энергии, затрачиваемых в жизненном цикле проектирования микросхемы , часто называемая 70%. [16] [17] С ростом сложности чипов такие языки проверки оборудования , как SystemVerilog , SystemC , e и OpenVera используются . Об ошибках, обнаруженных на этапе проверки, сообщается проектировщику.

Традиционно инженеры использовали ускорение моделирования, эмуляцию или создание прототипов на перепрограммируемом оборудовании для проверки и отладки аппаратного и программного обеспечения для проектов SoC перед завершением проекта, что называется « лентой» . Программируемые пользователем вентильные матрицы (FPGA) предпочтительны для прототипирования SoC, поскольку прототипы FPGA перепрограммируются, позволяют отладку и более гибки, чем интегральные схемы для конкретных приложений (ASIC). [18] [19]

Благодаря высокой производительности и быстрому времени компиляции ускорение моделирования и эмуляция представляют собой мощные технологии, обеспечивающие широкий обзор систем. Однако обе технологии работают медленно, порядка МГц, что может быть значительно медленнее – до 100 раз медленнее – чем рабочая частота SoC. Блоки ускорения и эмуляции также очень большие и дорогие, их стоимость превышает 1 миллион долларов США. [ нужна ссылка ]

Прототипы FPGA, напротив, используют FPGA напрямую, чтобы дать инженерам возможность проверять и тестировать на полной рабочей частоте системы или близко к ней с реальными стимулами. Такие инструменты, как Certus [20] используются для вставки датчиков в RTL FPGA, которые делают сигналы доступными для наблюдения. Он используется для отладки взаимодействия аппаратного, встроенного и программного обеспечения между несколькими FPGA с возможностями, аналогичными логическому анализатору.

Параллельно аппаратные элементы группируются и проходят процесс логического синтеза , в ходе которого применяются ограничения производительности, такие как рабочая частота и ожидаемые задержки сигнала. Это генерирует выходные данные, известные как список соединений, описывающие проект как физическую схему и ее соединения. Эти списки соединений объединяются с связующей логикой, соединяющей компоненты, для создания схематического описания SoC как схемы, которую можно напечатать на чипе. Этот процесс известен как размещение и маршрутизация и предшествует записи на ленту в том случае, если SoC производятся как интегральные схемы специального назначения (ASIC).

Цели оптимизации [ править ]

SoC должны оптимизировать энергопотребление , площадь кристалла , связь, расположение между модульными блоками и другие факторы. Оптимизация обязательно является целью разработки SoC. Если бы в оптимизации не было необходимости, инженеры использовали бы многочиповую модульную архитектуру без учета использования площади, энергопотребления или производительности системы в той же степени.

Ниже приведены общие цели оптимизации для конструкций SoC с пояснениями для каждой из них. В общем, оптимизация любой из этих величин может быть сложной задачей комбинаторной оптимизации и действительно может быть NP-трудной довольно легко . Поэтому часто требуются сложные алгоритмы оптимизации , и в некоторых случаях может оказаться целесообразным использовать аппроксимационные алгоритмы или эвристики . Кроме того, большинство проектов SoC содержат несколько переменных для одновременной оптимизации , поэтому эффективные по Парето при проектировании SoC требуются решения. Часто цели оптимизации некоторых из этих величин прямо противоречат друг другу, что еще больше усложняет оптимизацию конструкции SoC и приводит к компромиссам при проектировании системы.

Более широкий охват компромиссов и анализа требований см. в разделе «Инженерия требований» .

Цели [ править ]

Энергопотребление [ править ]

SoC оптимизированы для минимизации потребления электроэнергии , используемой для выполнения функций SoC. Большинство SoC должны использовать малое энергопотребление. Системы SoC часто требуют длительного времени автономной работы (например, смартфоны ), потенциально могут проводить месяцы или годы без источника питания, сохраняя при этом автономную функцию, и часто ограничены в энергопотреблении из-за большого количества встроенных SoC, объединенных в сеть в определенной области. . Кроме того, затраты на электроэнергию могут быть высокими, и экономия энергии снизит общую стоимость владения SoC. Наконец, отходящее тепло из-за высокого энергопотребления может повредить другие компоненты схемы, если рассеивается слишком много тепла, что дает еще одну прагматическую причину для экономии энергии. Количество энергии, используемой в цепи, представляет собой по времени интеграл потребляемой мощности , а средний уровень энергопотребления представляет собой произведение тока на напряжение . Аналогичным образом, по закону Ома , мощность равна квадрату тока, умноженному на сопротивление, или квадрату напряжения, делённому на сопротивление :

SoC часто встраиваются в портативные устройства, такие как смартфоны , устройства GPS-навигации , цифровые часы (включая умные часы ) и нетбуки . Клиенты хотят длительного времени автономной работы мобильных вычислительных устройств, и это еще одна причина, по которой энергопотребление в SoC должно быть сведено к минимуму. мультимедийные приложения На этих устройствах часто выполняются , включая видеоигры, потоковое видео , обработку изображений ; всех этих систем возросла В последние годы вычислительная сложность из-за требований и ожиданий пользователей в отношении мультимедиа более высокого качества . Вычисления становятся все более требовательными по мере того, как ожидания приближаются к 3D-видео с высоким разрешением и множеством стандартов , поэтому SoC, выполняющие мультимедийные задачи, должны быть платформой с вычислительными возможностями и при этом иметь малое энергопотребление, чтобы работать от стандартной мобильной батареи. [12] : 3 

Производительность на ватт [ править ]

SoC оптимизированы для максимизации энергоэффективности с точки зрения производительности на ватт: максимизируйте производительность SoC при заданном бюджете энергопотребления. Многие приложения, такие как периферийные вычисления , распределенная обработка и окружающий интеллект, требуют определенного уровня вычислительной производительности , но в большинстве сред SoC мощность ограничена.

Отходящее тепло [ править ]

Конструкция SoC оптимизирована для минимизации тепла отвода на чипе. Как и в случае с другими интегральными схемами , тепло, выделяемое из-за высокой удельной мощности, является узким местом для дальнейшей миниатюризации компонентов. [21] : 1  Плотность мощности высокоскоростных интегральных схем, особенно микропроцессоров и SoC, стала крайне неравномерной. Слишком большое количество отходящего тепла может привести к повреждению цепей и надежность со временем снизить ее . Высокие температуры и термические нагрузки отрицательно влияют на надежность, миграцию напряжений , уменьшение среднего времени наработки на отказ , электромиграцию , соединение проводов , метастабильность и другое снижение производительности SoC с течением времени. [21] : 2–9 

В частности, большинство SoC занимают небольшую физическую площадь или объем, и поэтому воздействие отходящего тепла усугубляется, поскольку для его рассеивания из системы мало места. Из-за большого количества транзисторов в современных устройствах зачастую компоновку с достаточной пропускной способностью и высокой плотностью транзисторов физически можно реализовать в ходе производственных процессов , но это приведет к неприемлемо большому количеству тепла в объеме схемы. [21] : 1 

Эти тепловые эффекты вынуждают SoC и других разработчиков чипов применять консервативные подходы к проектированию , создавая менее производительные устройства для снижения риска катастрофического отказа . Из-за увеличения плотности транзисторов по мере уменьшения размеров каждое поколение процессов производит больше тепла, чем предыдущее. Эту проблему усугубляет то, что архитектуры SoC обычно неоднородны, создавая пространственно неоднородные тепловые потоки , которые невозможно эффективно уменьшить с помощью равномерного пассивного охлаждения . [21] : 1 

Пропускная способность [ править ]

SoC оптимизированы для максимизации вычислительной и коммуникационной пропускной способности .

Задержка [ править ]

SoC оптимизированы для минимизации задержки при выполнении некоторых или всех функций. Этого можно достичь путем размещения элементов с надлежащей близостью и расположением друг к другу, чтобы минимизировать задержки межсоединений и максимизировать скорость, с которой данные передаются между модулями, функциональными блоками и памятью. В общем, оптимизация для минимизации задержки — это NP-полная задача, эквивалентная булевой проблеме выполнимости .

Для задач, выполняемых на ядрах процессора, задержку и пропускную способность можно улучшить с помощью планирования задач . Однако некоторые задачи выполняются в аппаратных модулях, специфичных для приложения, и даже планирования задач может быть недостаточно для оптимизации всех программных задач с учетом ограничений по времени и пропускной способности.

Методологии [ править ]

Системы на кристалле моделируются с использованием стандартных методов проверки и проверки аппаратного обеспечения , но для моделирования и оптимизации альтернативных вариантов конструкции SoC используются дополнительные методы, чтобы сделать систему оптимальной с точки зрения многокритериального анализа решений для вышеупомянутых целей оптимизации.

Планирование задач [ править ]

Планирование задач — важная деятельность в любой компьютерной системе с несколькими процессами или потоками, совместно использующими одно ядро ​​процессора. Важно уменьшить § задержку и увеличить § пропускную способность встроенного программного обеспечения, SoC работающего на § процессорных ядрах . Не все важные вычислительные действия в SoC выполняются программным обеспечением, работающим на встроенных процессорах, но планирование может значительно повысить производительность программных задач и других задач, связанных с общими ресурсами .

Программное обеспечение, работающее на SoC, часто планирует задачи в соответствии с алгоритмами сетевого планирования и рандомизированного планирования .

Конвейерная обработка [ править ]

Аппаратные и программные задачи часто конвейеризируются при проектировании процессора . Конвейерная обработка является важным принципом ускорения компьютерной архитектуры . Они часто используются в графических процессорах ( графический конвейер ) и RISC-процессорах (развитие классического RISC-конвейера ), но также применяются для задач, специфичных для приложений, таких как цифровая обработка сигналов и манипуляции с мультимедиа в контексте SoC. [12]

Вероятностное моделирование [ править ]

SoC часто анализируются с помощью вероятностных моделей , сетей массового обслуживания и цепей Маркова . Например, закон Литтла позволяет моделировать состояния SoC и буферы NoC как процессы прибытия и анализировать их с помощью случайных величин Пуассона и процессов Пуассона .

Цепи Маркова [ править ]

SoC часто моделируются с помощью цепей Маркова , как с дискретным, так и с непрерывным временем . Моделирование цепей Маркова позволяет асимптотический анализ SoC распределения мощности, тепла, задержки и других факторов в устойчивом состоянии , что позволяет оптимизировать проектные решения для общего случая.

Изготовление [ править ]

Чипы SoC обычно изготавливаются с использованием технологии металл-оксид-полупроводник (МОП). [22] Описанные выше списки соединений используются в качестве основы для физического проектирования ( места и маршрута ) для преобразования замысла проектировщиков в проект SoC. На протяжении всего процесса преобразования конструкция анализируется с помощью статического временного моделирования, симуляции и других инструментов, чтобы гарантировать, что она соответствует заданным эксплуатационным параметрам, таким как частота, потребляемая и рассеиваемая мощность, функциональная целостность (как описано в коде уровня передачи регистров) и электрические характеристики. честность.

После того, как все известные ошибки исправлены и повторно проверены, а также проведены все проверки физического дизайна, файлы физического дизайна, описывающие каждый слой чипа, отправляются в мастерскую литейного завода, где будет вытравлен полный набор стеклянных литографических масок. . Их отправляют на завод по производству пластин для изготовления кристаллов SoC перед упаковкой и тестированием.

SoC могут быть изготовлены с использованием нескольких технологий, в том числе:

ASIC потребляют меньше энергии и работают быстрее, чем FPGA, но их нельзя перепрограммировать, и их производство обходится дороже. Конструкции FPGA больше подходят для проектов меньшего объема, но после выпуска достаточного количества единиц продукции ASIC снижают общую стоимость владения. [23]

Конструкции SoC потребляют меньше энергии, имеют более низкую стоимость и более высокую надежность, чем многокристальные системы, которые они заменяют. За счет меньшего количества пакетов в системе также снижаются затраты на сборку.

Однако, как и в большинстве проектов сверхкрупной интеграции (СБИС), общая стоимость [ нужны разъяснения ] выше для одного большого чипа, чем для той же функциональности, распределенной по нескольким меньшим чипам, из-за более низкой доходности [ нужны разъяснения ] и более высокие единовременные затраты на проектирование.

Когда невозможно создать SoC для конкретного приложения, альтернативой является система в корпусе (SiP), содержащая несколько микросхем в одном корпусе . При производстве в больших объемах SoC более рентабелен, чем SiP, поскольку его упаковка проще. [24] Другая причина, по которой SiP может быть предпочтительнее, заключается в том, что отходящее тепло в SoC может быть слишком высоким для конкретной цели, поскольку функциональные компоненты расположены слишком близко друг к другу, а в SiP тепло будет лучше рассеиваться от различных функциональных модулей, поскольку они физически находятся дальше друг от друга.

Примеры [ править ]

Некоторые примеры систем на чипе:

Тесты [ править ]

SoC Исследования и разработки часто сравнивают множество вариантов. Бенчмарки, такие как COSMIC, [25] разработаны для облегчения таких оценок.

См. также [ править ]

Примечания [ править ]

  1. ^ Во встраиваемых системах «шилды» аналогичны картам расширения для ПК . Они часто устанавливаются поверх микроконтроллера, такого как Arduino , или одноплатного компьютера, такого как Raspberry Pi, и функционируют как периферийные устройства для устройства.

Ссылки [ править ]

  1. ^ Шах, Агам (3 января 2017 г.). «7 потрясающих улучшений смартфона с чипом Qualcomm Snapdragon 835» . Сетевой мир .
  2. ^ Амадео Р. (18 февраля 2020 г.). «Qualcomm Snapdragon X60 обещает меньшие по размеру модемы 5G в 2021 году» . Арс Техника . Конде Наст . Проверено 17 декабря 2023 г.
  3. ^ Пит Беннетт, EE Times . « Почему, где и что из конструкции SoC с низким энергопотреблением ». 2 декабря 2004 г. Проверено 28 июля 2015 г.
  4. ^ Нолан, Стивен М. «Управление питанием для разработки систем Интернета вещей (IoT) на кристалле (SoC)» . Проектирование и повторное использование . Проверено 25 сентября 2018 г.
  5. ^ «Подходит ли однокристальный процессор SOC для вашего встраиваемого проекта?» . Встроенный . Проверено 13 октября 2018 г.
  6. ^ «Qualcomm запускает SoC для встраиваемого машинного зрения | Imaging and Machine Vision Europe» . www.imveurope.com . Проверено 13 октября 2018 г.
  7. ^ «Разбор Samsung Galaxy S10 и S10e» . iFixit . 6 марта 2019 г.
  8. ^ «ARM преследует Intel, предлагая новые чипы до 2020 года» . Центр Windows . Проверено 6 октября 2018 г.
  9. ^ «Компьютеры, всегда подключенные к сети, ноутбуки с увеличенным временем автономной работы и поддержкой 4G LTE | Windows» . www.microsoft.com . Проверено 6 октября 2018 г.
  10. ^ «Сотовые модемы гигабитного класса LTE, 4G LTE и 5G | Qualcomm» . Квалкомм . Проверено 13 октября 2018 г.
  11. ^ Перейти обратно: а б с Фербер, Стивен Б. (2000). Архитектура системы на кристалле ARM . Харлоу, Англия: Аддисон-Уэсли. ISBN  0-201-67519-6 . OCLC   44267964 .
  12. ^ Перейти обратно: а б с д и Харис Джавайд; Шри Парамешваран (2014). Конвейерная многопроцессорная система на кристалле для мультимедиа . Спрингер . ISBN  978-3-319-01113-4 . OCLC   869378184 .
  13. ^ Перейти обратно: а б с д и ж г Кунду, Сантану; Чаттопадхьяй, Сантану (2014). Сеть на кристалле: следующее поколение интеграции системы на кристалле (1-е изд.). Бока-Ратон, Флорида: CRC Press. ISBN  978-1-4665-6527-2 . OCLC   895661009 .
  14. ^ «Лучшие практики для прототипирования FPGA алгоритмов MATLAB и Simulink» . Электронный журнал . 25 августа 2011 года . Проверено 8 октября 2018 г.
  15. ^ Бойер, Брайан (5 февраля 2005 г.). «Почему» и «что» алгоритмического синтеза» . ЭЭ Таймс . Проверено 8 октября 2018 г.
  16. ^ ЭЭ Таймс . « Действительно ли проверка составляет 70 процентов? » 14 июня 2004 г. Проверено 28 июля 2015 г.
  17. ^ «Разница между проверкой и валидацией» . Класс тестирования программного обеспечения . 26 августа 2013 года . Проверено 30 апреля 2018 г. На собеседованиях большинство интервьюеров задают вопросы на тему «В чем разница между проверкой и проверкой?» Многие люди используют верификацию и валидацию как взаимозаменяемые понятия, но оба имеют разные значения.
  18. ^ Риттман, Дэнни (5 января 2006 г.). «Нанометровое прототипирование» (PDF) . Тайден Дизайн . Проверено 7 октября 2018 г.
  19. ^ «Прототипирование FPGA для структурированного производства ASIC для снижения затрат, рисков и TTM» . Проектирование и повторное использование . Проверено 7 октября 2018 г.
  20. ^ Брайан Бэйли, EE Times. « Tektronix надеется встряхнуть прототипирование ASIC ». 30 октября 2012 г. Проверено 28 июля 2015 г.
  21. ^ Перейти обратно: а б с д Огренци-Мемик, Седа (2015). Управление теплом в интегральных схемах: мониторинг и охлаждение на уровне системы и на кристалле . Лондон, Великобритания: Институт инженерии и технологий. ISBN  978-1-84919-935-3 . OCLC   934678500 .
  22. ^ Лин, Юн-Лонг Стив (2007). Основные проблемы проектирования SOC: проектирование сложных систем на кристалле . Springer Science & Business Media . п. 176. ИСБН  978-1-4020-5352-8 .
  23. ^ «FPGA против ASIC: различия между ними и какой из них использовать? – Справочный центр Numato Lab» . numato.com . 17 июля 2018 г. Проверено 17 октября 2018 г.
  24. ^ ЭЭ Таймс . « Большие дебаты: SOC против SIP ». 21 марта 2005 г. Проверено 28 июля 2015 г.
  25. ^ «КОСМИЧЕСКИЙ» . www.ece.ust.hk. ​Проверено 8 октября 2018 г.

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]