Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Система на чипе ( SoC / ˌ ɛ с ˌ с я / ES-OH- СМ или / ы ɒ к / носок ) [NB 1] является интегральной схемой (также известная как «чип») , который включает в себя все или большинство компонентов компьютера или другой электронной системы . Эти компоненты почти всегда включают центральный процессор (ЦП), память , порты ввода / вывода и вторичное хранилище., часто вместе с другими компонентами, такими как радиомодемы и графический процессор (GPU) - все на одной подложке или микрочипе. [1] Он может содержать функции обработки цифровых , аналоговых , смешанных сигналов и часто радиочастотных сигналов (в противном случае он считается только прикладным процессором).

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

SoCs в отличие от общей традиционной материнской платы -На PC архитектуры , которая разделяет компоненты , основанные на функции и соединяет их через центральный сопряжение печатной платы. [nb 2] В то время как материнская плата содержит съемные или заменяемые компоненты и соединяет их, SoC объединяют все эти компоненты в единую интегральную схему. SoC обычно объединяет ЦП, графические интерфейсы и память, [nb 3] жесткий диск и подключение USB, [nb 4] память с произвольным доступом и только для чтения, а также вторичное хранилище и / или их контроллеры на одном кристалле схемы, тогда как материнская плата будет соединять эти модули какдискретные компоненты или карты расширения .

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

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

SoC очень распространены на рынках мобильных вычислений (например, в смартфонах и планшетных компьютерах ) и периферийных вычислений . [4] [5] Они также широко используются во встроенных системах, таких как маршрутизаторы Wi-Fi и Интернет вещей .

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

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

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

  • SoC, построенные на микроконтроллере ,
  • SoC, построенные на базе микропроцессора , часто встречающегося в мобильных телефонах;
  • Специализированные SoC на интегральных схемах для конкретных приложений, разработанные для конкретных приложений, которые не подходят к двум вышеуказанным категориям, и
  • Программируемые SoC (PSoC), в которых большая часть функций фиксирована, но некоторые функции можно перепрограммировать аналогично программируемой вентильной матрице .
AMD Am286ZX / LX, SoC на базе Intel 80286

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

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

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

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

Мобильные вычисления [ править ]

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

  • Samsung Electronics : список , обычно основанный на ARM7 и ARM9
    • Exynos , используемый в основном смартфонами Samsung серии Galaxy.
  • Qualcomm :
    • Snapdragon ( список ), используемый во многих смартфонах LG , Xiaomi , Google Pixel , HTC и Samsung Galaxy. В 2018 году SoC Snapdragon используются в качестве основы портативных компьютеров под управлением Windows 10 , которые продаются как «ПК с постоянным подключением». [9] [10]

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

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

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

На базе ARM :

  • Qualcomm Snapdragon [10]
  • ARM250
  • ARM7500 (FE)
  • Яблоко M1

на базе x86 :

  • Intel Pentium Gold 4415Y, используемый в Microsoft Surface Go

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

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

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

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

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

Независимо от того, одноядерные, многоядерные или многоядерные , процессорные ядра SoC обычно используют архитектуры набора команд RISC . Архитектуры RISC имеют преимущество перед процессорами CISC для SoC, поскольку они требуют меньше цифровой логики и, следовательно, меньшей мощности и площади на борту , а на рынках встроенных и мобильных вычислений площадь и мощность часто сильно ограничены. В частности, процессорные ядра SoC часто используют архитектуру ARM, потому что это программный процессор, указанный как IP-ядро, и он более энергоэффективен, чем x86 . [12]

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

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

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

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

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

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

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

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

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

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

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

Межмодульное общение [ править ]

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

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

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

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

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

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

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

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

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

Схема проектирования [ править ]

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

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

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

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

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

Проверка дизайна [ править ]

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

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

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

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

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

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

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

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

Для более широкого охвата компромиссов и анализа требований см. Разработку требований .

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

Потребляемая мощность [ править ]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Полный кастомный ASIC
  • Стандартная ячейка ASIC
  • Программируемая вентильная матрица (FPGA)

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

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

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

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

Контрольные показатели [ править ]

Исследования и разработки SoC часто сравнивают множество вариантов. Тесты, такие как COSMIC, [26] , разработаны, чтобы помочь таким оценкам.

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

  • Список поставщиков системы на кристалле
  • Пост-силиконовая проверка
  • ARM архитектура
  • Одноплатный компьютер
  • Система в пакете
  • Сеть на микросхеме
  • Программируемый SoC
  • Процессор набора команд для конкретного приложения (ASIP)
  • Платформенный дизайн
  • Лаборатория на чипе
  • Орган на чипе в биомедицинских технологиях
  • Мультичиповый модуль
  • Список процессоров Qualcomm Snapdragon - Qualcomm
  • Exynos - Samsung

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

  1. ^ В этой статье используется соглашениечто SoC произносится / ˌ ɛ s ˌ oʊ s ˙I / эс-OH- SEE . Таким образом, он использует конвенцию «ЭН» на неопределенный артикль , соответствующий SoC ( «SoC»). Другие источники могут произносить его как / с ɒ к / носку иследовательноиспользовать « с SoC».
  2. ^ Эта центральная плата называется «материнской платой» для размещения «дочерних» компонентных плат.
  3. ^ Графические соединения ( PCI Express ) и оперативная память исторически составляли северный мост дискретных архитектур на материнских платах.
  4. ^ Жесткий диск и USB-подключение исторически составляли часть южного моста дискретных модульных архитектур на материнской плате.
  5. ^ Во встроенных системах «экраны» аналогичны картам расширения для ПК . Они часто устанавливаются поверх микроконтроллера, такого как Arduino, или одноплатного компьютера, такого как Raspberry Pi, и функционируют как периферийные устройства для устройства.

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

  1. Шах, Агам (3 января 2017 г.). «7 потрясающих улучшений смартфона с чипом Qualcomm Snapdragon 835» . Сетевой мир .
  2. ^ https://arstechnica.com/gadgets/2020/02/qualcomms-snapdragon-x60-promises-smaller-5g-modems-in-2021/?amp=1
  3. ^ {Cite journal | last = Mittal | first = Sparsh | title = Обзор оптимизированной реализации моделей глубокого обучения на платформе NVIDIA Jetson | url = https://www.academia.edu/38201537%7Cjournal=Journal of Systems Architecture | language = en | issn = 1383-7621}}
  4. Пит Беннет, EE Times . « Почему, где и что из конструкции SoC с низким энергопотреблением ». 2 декабря 2004 г. Проверено 28 июля 2015 г.
  5. ^ Нолан, Стивен М. «Управление питанием для системы Интернета вещей (IoT) в разработке микросхем (SoC)» . Дизайн и повторное использование . Проверено 25 сентября 2018 .
  6. ^ "Подходит ли однокристальный процессор SOC для вашего встраиваемого проекта?" . Встроенный . Проверено 13 октября 2018 .
  7. ^ «Qualcomm запускает SoC для встраиваемого зрения | Обработка изображений и машинное зрение в Европе» . www.imveurope.com . Проверено 13 октября 2018 .
  8. ^ "Samsung Galaxy S10 и S10e Teardown" . iFixit . 6 марта 2019.
  9. ^ a b «ARM идет вслед за Intel с новой дорожной картой чипов до 2020 года» . Windows Central . Проверено 6 октября 2018 .
  10. ^ a b «Всегда подключенные ПК, ноутбуки с увеличенным сроком службы батареи 4G LTE | Windows» . www.microsoft.com . Проверено 6 октября 2018 .
  11. ^ "Сотовые модемы Gigabit Class LTE, 4G LTE и 5G | Qualcomm" . Qualcomm . Проверено 13 октября 2018 .
  12. ^ a b c Фурбер, Стивен Б. (2000). Архитектура системы на кристалле ARM . Харлоу, Англия: Эддисон-Уэсли. ISBN 0201675196. OCLC  44267964 .
  13. ^ а б в г д Харис Джавид, Шри Парамешваран (2014). Конвейерная многопроцессорная система на кристалле для мультимедиа . Springer . ISBN 9783319011134. OCLC  869378184 .CS1 maint: использует параметр авторов ( ссылка )
  14. ^ a b c d e f g h Кунду, Сантану; Чаттопадхьяй, Сантану (2014). Сеть на кристалле: новое поколение интеграции системы на кристалле (1-е изд.). Бока-Ратон, Флорида: CRC Press. ISBN 9781466565272. OCLC  895661009 .
  15. ^ «Лучшие практики для прототипирования алгоритмов MATLAB и Simulink на ПЛИС» . EEJournal . 2011-08-25 . Проверено 8 октября 2018 .
  16. Перейти ↑ Bowyer, Bryan (2005-02-05). «Почему и что» алгоритмического синтеза » . EE Times . Проверено 8 октября 2018 .
  17. ^ EE Times . « Неужели проверка на 70 процентов? ». 14 июня 2004 г. Проверено 28 июля 2015 г.
  18. ^ «Разница между верификацией и валидацией» . Класс тестирования программного обеспечения . Проверено 30 апреля 2018 . Во время интервью большинство интервьюеров задают вопросы на тему «В чем разница между верификацией и валидацией?» Многие люди используют верификацию и валидацию как синонимы, но оба имеют разное значение.
  19. ^ Риттман, Дэнни (2006-01-05). «Нанометрическое прототипирование» (PDF) . Тайден Дизайн . Проверено 7 октября 2018 .
  20. ^ «Прототип FPGA для структурированного производства ASIC для снижения затрат, рисков и TTM» . Дизайн и повторное использование . Проверено 7 октября 2018 .
  21. ^ Брайан Бейли, EE Times. « Tektronix надеется перевернуть прототипы ASIC ». 30 октября 2012 г. Проверено 28 июля 2015 г.
  22. ^ а б в г Огренчи-Мемик, Седа (2015). Управление теплом в интегральных схемах: мониторинг и охлаждение на уровне кристалла и системы . Лондон, Соединенное Королевство: Институт инженерии и технологий. ISBN 9781849199353. OCLC  934678500 .
  23. ^ Лин, Ён-Long Steve (2007). Существенные вопросы проектирования SOC: проектирование сложных систем на кристалле . Springer Science & Business Media . п. 176. ISBN. 9781402053528.
  24. ^ «FPGA против ASIC: различия между ними и какой из них использовать? - Справочный центр Numato Lab» . numato.com . Проверено 17 октября 2018 .
  25. ^ EE Times . « Великие дебаты: SOC против SIP ». 21 марта 2005 г. Проверено 28 июля 2015 г.
  26. ^ "КОСМИЧЕСКИЙ" . www.ece.ust.hk . Проверено 8 октября 2018 .

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

  • Бадави, Ваэль; Джуллиен, Грэм А., ред. (2003). Система на кристалле для приложений реального времени . Международная серия Kluwer по технике и информатике, SECS 711. Бостон: Kluwer Academic Publishers . ISBN 9781402072543. OCLC  50478525 . 465 страниц.
  • Фурбер, Стивен Б. (2000). Архитектура системы на кристалле ARM . Бостон: Эддисон-Уэсли. ISBN 0-201-67519-6.
  • Кунду, Сантану; Чаттопадхьяй, Сантану (2014). Сеть на кристалле: новое поколение интеграции системы на кристалле (1-е изд.). Бока-Ратон, Флорида: CRC Press. ISBN 9781466565272. OCLC  895661009 .

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

  • Ежегодная конференция SOCC IEEE International SoC
  • Байя платформа бесплатно SoC сборки и инструмент интеграции IP
  • Системы на кристалле для встраиваемых приложений , семинар Обернского университета по СБИС
  • Мгновенный SoC SoC для FPGA, определенных C ++