Понимание многоядерных процессоров для сенсорных интерфейсов

Понимание многоядерных процессоров для сенсорных интерфейсов
Image Source: pexels

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

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

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

В этой статье простыми словами объясняется многоядерная архитектура. Вы увидите очевидные преимущества для использования с сенсорными экранами и получите руководство по выбору подходящего процессора. Этот выбор влияет на эффективность вашей разработки.

Основные выводы

  • Многоядерные процессоры обрабатывают сенсорные задачи одновременно. Это уменьшает задержку и обеспечивает мгновенное реагирование на изображение.

  • Специальные ядра, предназначенные исключительно для сенсорных экранов, предотвращают конфликты ресурсов. Это позволяет поддерживать время отклика менее 50 миллисекунд.

  • Распределение задач между ядрами процессора потребляет меньше энергии. Это позволяет дольше сохранять заряд батареи, не замедляя работу системы.

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

  • Выберите многоядерный процессор, соответствующий вашим потребностям. Учитывайте ограничения по времени выполнения, время автономной работы и тепловыделение.

Многоядерные процессоры в сенсорном дизайне

Многоядерные процессоры в сенсорном дизайне
Image Source: unsplash

Определение многоядерной архитектуры для сенсорных приложений

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

Многоядерный процессор — это центральный процессор, имеющий два или более независимых ядра на одном кристалле.

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

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

Параллельная обработка для повышения чувствительности к касанию

Параллельная обработка означает, что несколько ядер одновременно работают над разными задачами. Представьте себе двухпроцессорную платформу ARM, созданную для измерительных приборов:

  • Один процессор (ведомый ARM-процессор) обрабатывает события экрана, ввод с сенсорного экрана/кнопок и отрисовку пользовательского интерфейса.

  • Другой процессор (главный ARM) сосредоточен исключительно на основных задачах измерения.

  • Главный процессор ARM выполняет высокоскоростную выборку данных со скоростью 100 кГц без остановок.

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

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

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

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

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

Основные преимущества многоядерных процессоров

Снижение задержки ввода за счет распределения ядер.

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

Эти процессоры объединяют функции на одном чипе. Вы уменьшаете количество встроенных компьютеров. Снижается стоимость комплектующих. Ваша конструкция легко масштабируется по уровням продуктов. Многоядерная архитектура процессора также обеспечивает изоляцию задач. Обработка сенсорного экрана на собственном выделенном ядре никогда не конкурирует с задачами отображения за вычислительное время. Изоляция сброса работает аналогичным образом. Если одно ядро ​​выходит из строя, другие ядра продолжают работать. Ваш сенсорный экран остается отзывчивым даже при частичном сбое. Эта надежность важна для критически важных приложений, таких как автомобильные информационно-развлекательные системы.

Распределение ядер также повышает предсказуемость задержки. Вы устанавливаете приоритеты прерываний для каждого ядра. Высокоприоритетные события касания получают немедленную обработку, не дожидаясь завершения кадра. Ядро рендеринга дисплея работает в стабильном темпе. Оно никогда не отнимает ресурсы у ядра ввода. Эта многоядерная стратегия обеспечивает стабильное время отклика менее 50 миллисекунд, соответствующее требованиям промышленного HMI. Ваши пользователи никогда не почувствуют задержки между сенсорным и визуальным откликом.

Энергоэффективность мобильных сенсорных экранов

Распределение рабочей нагрузки между несколькими ядрами позволяет каждому ядру работать на более низкой частоте. Одноядерному процессору потребовалась бы высокая частота для выполнения всех задач. Такая высокая частота генерирует больше тепла и быстрее разряжает батарею. Энергопотребление пропорционально квадрату напряжения. Более низкая частота позволяет снизить напряжение, что значительно уменьшает энергопотребление. Многоядерная система распределяет ту же общую работу между несколькими ядрами. Каждое ядро ​​работает на умеренной скорости. Такая конфигурация значительно снижает общее энергопотребление.

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

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

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

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

Производительность многоядерных и одноядерных процессоров

Обработка непрерывных входных потоков и прерываний

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

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

Однако многоядерная архитектура создает свои собственные проблемы, называемые проблемами MCP. Когерентность кэша означает, что все ядра должны видеть одни и те же данные. Если одно ядро ​​изменяет точку касания, другое ядро ​​должно немедленно это увидеть. Межъядерная связь добавляет дополнительную нагрузку. Ядра должны отправлять сообщения через общую память или специальные каналы. Балансировка нагрузки также имеет значение. Если одно ядро ​​берет на себя слишком много задач, оно становится узким местом. Необходимо тщательно распределять работу, чтобы все ядра были заняты, не перегружая ни одно из них.

Примеры практического применения: автомобильная промышленность и мобильные устройства.

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

В мобильных телефонах используется тот же метод баланса между скоростью и временем автономной работы. Многоядерный процессор выделяет отдельное ядро ​​для обработки сенсорного экрана. Другие ядра обрабатывают фоновые задачи или полностью отключаются. Прирост производительности очевиден. Мобильные процессоры обеспечивают до 172% большую производительность ЦП на ватт . Производительность графики улучшается до 212% на ватт. Прирост производительности обработки изображений достигает 132% на ватт. Производительность при работе с приложениями повышается до 127% на ватт. Воспроизведение HD-видео становится на 51% более энергоэффективным.

Метрика отзывчивости

Показатель эффективности батареи

До 172% больше производительности процессора на ватт.

До 12 часов работы от батареи в режиме ожидания

До 212% более высокая производительность графики на ватт.

До 45% больше времени автономной работы по сравнению с конкурентами

До 132% улучшенная визуальная производительность на ватт.

Энергоэффективность на 25% выше, чем у предыдущего поколения.

Повышение производительности до 127% на ватт.

До 11 часов работы от батареи в режиме ожидания

Повышение энергоэффективности до 51% при воспроизведении HD-видео.

До 13 часов работы от батареи в режиме ожидания

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

Вопросы проектирования многоядерных сенсорных систем.

Вопросы проектирования многоядерных сенсорных систем.
Image Source: unsplash

Стратегии распределения основных ресурсов и разделения задач

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

Представьте себе типичную систему с сенсорным экраном. Контроллер сенсорного экрана отправляет данные с фиксированной частотой. Ядро ввода считывает эти данные каждый кадр. Оно обрабатывает необработанные точки касания. Оно фильтрует шумы. Оно отслеживает движение пальца. Ядро рендеринга принимает результаты и отрисовывает новое изображение на экране. Фоновое ядро ​​обрабатывает Wi-Fi, Bluetooth или хранение данных. Каждое ядро ​​имеет свою четкую задачу. Ни одно ядро ​​не ждет выполнения другой задачи.

Неправильное распределение ядер создает проблемы в многоядерных системах. Аппаратные ресурсы общего пользования (HSR) вызывают помехи между ядрами. К таким ресурсам относятся шины памяти, кэши и контроллеры памяти. Когда два ядра одновременно обращаются к одному и тому же ресурсу, одно ядро ​​вынуждено ждать. Эти помехи не вызывают небольших задержек, а расширяют распределение времени выполнения. Получается непредсказуемый паттерн с длинным хвостом. Задачи, которые должны завершаться быстро, могут занимать гораздо больше времени. Программное разделение не может полностью решить эту проблему. Большинство HSR не допускают чистого разделения. Они выделяются только тогда, когда к ним обращается задача. Нельзя ограничить программное разделение выделенными HSR. В результате получается недетерминированное поведение. Критические задачи могут не завершиться в рамках строгих временных ограничений.

Неравномерное распределение рабочей нагрузки также негативно сказывается на производительности. Некоторые задачи выполняются очень быстро. Другие задачи занимают значительное время. Быстрые задачи тратят время на ожидание выполнения длительных задач. Вычислительные ресурсы простаивают. Масштабирование производительности снижается. Ваша многоядерная система с сенсорным экраном теряет отзывчивость. Вам необходимо профилировать ваше приложение. Вам нужно знать, сколько времени занимает каждая задача. Тогда вы сможете сбалансированно распределять задачи между ядрами.

Ваша цель — сбалансированная рабочая нагрузка. Каждое ядро ​​должно иметь четко определенную задачу. Ни одно ядро ​​не должно ждать выполнения другой задачи. Такой баланс повышает эффективность и надежность. Многие приложения выигрывают от такого многоядерного подхода. Вы можете выбрать между 32-битной и 64-битной архитектурами. Многоядерный процессор с четырьмя или более процессорными блоками хорошо подходит для проводной и беспроводной связи.

Поддержка операционной системы и планирование в реальном времени

Выбор процессора влияет на производительность системы. Операционная система также имеет значение. Планировщики общего назначения оптимизируют пропускную способность и справедливое распределение ресурсов. На многоядерном процессоре они создают непредсказуемое время обработки событий касания. Может произойти инверсия приоритетов планировщика. Поток обработки событий касания задерживается из-за фоновых задач. Время отклика становится переменным. Задача с низким приоритетом может удерживать блокировку. Поток обработки событий касания с высоким приоритетом нуждается в этой блокировке. Поток с высоким приоритетом блокируется. Задержка увеличивается.

Вам нужна ОС с детерминированным планированием. Операционные системы реального времени решают эту проблему. RTOS использует приоритетное вытесняющее планирование . Обработчик событий касания с высоким приоритетом может немедленно прервать работу с более низким приоритетом. Событие обрабатывается в течение ограниченного времени. Задержка прерывания остается быстрой и предсказуемой. В ОС общего назначения задержки обработки прерываний могут быть неограниченными. Ядро RTOS гарантирует, что ваш обработчик событий касания будет работать в течение фиксированного временного окна. Эта гарантия обеспечивается за счет проектирования планировщика. Планировщик всегда выбирает задачу с наивысшим приоритетом. Ваш обработчик событий касания имеет наивысший приоритет. Он никогда не ждет фоновой работы.

Защита ЦП также помогает. Вы выделяете многоядерное ядро ​​процессора исключительно для обработки критически важных по времени сенсорных событий. Вы изолируете его от демонов ядра и прерывающих процессов. Это предотвращает использование ресурсов фоновой операционной системой. Время обработки сенсорных событий становится детерминированным. Выбранная вами архитектура процессора должна поддерживать эти цели. Многие современные процессоры позволяют устанавливать привязку ЦП. Вы привязываете обработчик сенсорных событий к определенному ядру. Другие процессы не могут работать на этом ядре. В результате получается стабильно низкая задержка отклика.

Эти соображения важны для реальных приложений. Вашей автомобильной информационно-развлекательной системе необходима надежная реакция сенсорного экрана. Вашему мобильному устройству нужна стабильная производительность. Обратите внимание на проблемы MCP, такие как согласованность кэша и межъядерная связь. Хорошо спроектированная многоядерная система обеспечивает ожидаемую пользователями скорость отклика. Многоядерные процессоры дают вам гибкость для балансировки всех этих факторов в вашем проекте.

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

Современные возможности демонстрируют эту эволюцию:

  • Процессоры Intel Atom® x7000RE предлагают до четырех ядер для параллельной обработки данных в периферийных приложениях.

  • Процессоры Arm® имеют шесть ядер, обеспечивая баланс между производительностью и энергоэффективностью для решений HMI на базе Linux®.

Перед выбором архитектуры оцените ограничения по времени работы в реальном времени, время автономной работы и температурные пределы. Ваши конкретные требования определят, какой тип архитектуры лучше подойдет — многоядерная или одноядерная.

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

FAQ

Как многоядерная архитектура снижает задержку сенсорного экрана?

Многоядерная архитектура назначает ввод с сенсорного экрана одному ядру, а другое ядро ​​обрабатывает отрисовку изображения. Ваш процессор больше не переключается между задачами. Эти задачи выполняются параллельно. Вы устраняете узкое место, связанное с последовательным выполнением. Общая задержка остается ниже 50 миллисекунд.

Какова роль распределения основных ресурсов в повышении энергоэффективности?

В многоядерной системе рабочая нагрузка распределяется между ядрами. Каждое ядро ​​работает на более низкой частоте. Более низкая частота снижает напряжение. Такой подход продлевает срок службы батареи без ущерба для производительности.

Какие проблемы возникают при использовании многоядерной архитектуры?

Проблемы могут возникнуть из-за проблем с согласованностью кэша, межъядерной связью и балансировкой нагрузки. Одно ядро ​​должно видеть изменения, внесенные другим ядром. Без тщательного проектирования время отклика становится непредсказуемым.

Как операционная система реального времени поддерживает многоядерные системы с сенсорным экраном?

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

На что следует обратить внимание при выборе многоядерного процессора?

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

Оставьте комментарий

Ваш адрес электронной почты не будет опубликован. Обязательные поля отмечены *.