Компания Imagination Technologies опубликовала в списке рассылки ядра Linux набор из 44 патчей с реализацией поддержки работы ядра Linux на 32-разряных процессорах Meta ATP (Meta 1) и HTP (Meta 2), примечательных поддержкой дополнительного набора DSP-инструкций и обеспечением аппаратной многопоточности (виртуальных процессоров). Представленный набор патчей позиционируется как готовый вариант, пригодный для включения в состав ядра Linux (месяц назад была опубликована первая версия патчей, которая позиционировалась как начальный прототип для сбора замечаний и отзывов).
Процессоры Meta нацелены на использование во встраиваемых системах, работа которых требует высокопроизводительной обработки сигналов в режиме реального времени, например, цифровых радиоприёмниках. Поддержка аппаратной многопоточности позволяет одновременно выполнять разные операционные системы на разных аппаратных нитях. Например, в цифровых радиоприёмниках для декодирования DAB-потоков (Digital Audio Broadcasting) и обработки звука может использоваться RTOS-система MeOS, которой выделены три аппаратных нити. Параллельно, на четвёртой нити может выполняться Linux, который будет обеспечивать работу пользовательского интерфейса, сетевого доступа и вспомогательных функций.
В случае использования процессоров Meta HTP, Linux может работать в режиме SMP, с выделением одновременно нескольких аппаратных нитей. При этом в отличие от традиционных многоядерных систем, переключение контекста между нитями производится в непрерывном цикле, исключая простои процессора (в каждом цикле нить использует все доступные ресурсы CPU, в то время как при высокой нагрузке на одно ядро в многоядерных системах остальные ядра могут простаивать). Каждая нить может быть настроена для выполнения обычных вычислений или работать как DSP с предоставлением доступа к дополнительным регистрам и ресурсам ALU (Arithmetic logic unit), позволяющим выполнять расширенные алгоритмы по обработке сигналов, применяемые в таких областях, как аудиокодеки и модемы. Кроме того, допускается гибкое управление выделяемыми каждой нити ресурсами.
|