Программно аппаратные средства ускорения приложений. Что такое аппаратное ускорение, зачем и как его отключить в Windows

Одна из самых больших проблем, с которыми сталкиваются пользователи программы 1С Предприятие - её медленная работа. "Торможение" начинается при росте информационной базы и увлечении количества пользователей программы. Как решить эту проблему?

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

Выбор платформы 1С Предприятие. При работе с локальной версией программы пользователь обычно не сталкивается с проблемой медленной работы, другой вопрос в работе с сетевыми версиями. Существует две разновидности платформы для сетевого пользователя: Полезное-Варианты подключения компьютеров к БД . Файл-серверная версия использует формат файла DBF, преимущество этой версии заключается в том, что не требуется дополнительного программного или аппаратного обеспечения.. Этот формат, прежде всего, разрабатывался для однопользовательских и локальных приложений, поэтому при работе более 7-10 пользователей наблюдается значительное замедление работы программы. Особенно если кто-нибудь из пользователей запустит построение отчётов или регистров.

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

Организационное решение работы с программой. Пользователей программы 1С Предприятия и 1С Бухгалтерии можно разделить на две основные группы: оперативную и аналитическую. Оперативная группа занимается вводом информации и оформлением документации, а аналитическая в свою очередь анализом результата деятельности организации. Если для пользователей первой группы необходима незамедлительная реакция системы и актуальные итоги, то для второй группы актуальность итогов в пределах последних нескольких часов не играет особого значения. Особенно "торможение" системы вызывают расчёты итогов задним числом, это и проведение документов прошлыми датами и получение отчётов с расчётом остатка и движения, т.е. основные моменты работы аналитиков. Оперативная группа по большей части выполняет операции с текущими актуальными итогами. Как выход из сложившийся ситуации, можно посоветовать аналитической группе снимать копии информационной базы, к себе, на локальный диск компьютера. В DBF-версии для этого даже нет необходимости монопольного доступа к файлам. Вы можете скопировать базу, если в ней в данный момент работают другие пользователи, для этого откройте каталог информационной базы 1С Предприятия выделите в нём все файлы кроме файлов с расширением.CDX и скопируйте их к себе на локальный диск. Укажите путь к копии базы и запустите в монопольном режиме. Как вариант можно настроить ежедневное резервное копирование. Рекомендуем также, после построения отчёта, закрыть и заново запустить программу, для освобождения выделенной памяти компьютера. По возможности "тяжёлые" процессы, такие как: переиндексация, открытие периода, перепроведение документов, расчёт итогов, запускайте на сервере, у которого каталог с базой 1С Предприятия хранится на локальном диске.

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

Проблему медленной работы 1С ИБД можно решить аппаратно и программно. Рассмотрим более подробно каждый из способов более детально.

Во-первых, скорость работы зависит от ее версии. Например, при использовании программы локально проблем со скоростью не возникает. Проблемы, как правило, возникают при использовании сетевых версий. Существует два вида платформ для сетевой работы. Рассмотрим их особенности.

Файл-серверная версия 1С: Предприятие 7.7 использует для подключения к информационной базе данных формат файла DBF. Ее главным преимуществом является то, что она не требует для работы дополнительного программного или аппаратного обеспечения. Однако есть и существенный недостаток. Этот формат был разработан преимущественно для однопользовательских версий, поэтому при увеличении количества пользователей работа программы значительно замедляется, особенно, если кто-то из пользователей запускает процесс, осуществляющий частые запросы к БД, например, построение отчета.

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

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

SQL-версия отличается высокой масштабируемостью. Таблицы в ИБД хранятся под управлением Microsoft SQL Server, для которой время реакции программы практически не изменяется, что также изображено на графике. В 1С: Предприятии 8 реализована трехуровневая архитектура «клиент-сервер». В ней «клиент» обращается к серверу 1С, тот - к серверу БД Microsoft SQL Server, а последний - к 1С ИБД. Сервер 1С берет на себя выполнение сложных и объемных задач, после чего «клиент» получает лишь необходимую выборку. Чтобы повысить эффективность работы, необходимо установить сервера 1С и Microsoft SQL Server на разных компьютерах. Это позволит распределить нагрузку и ускорить работу программы.

Аппаратные и программные средства ускорения работы программы 1С

Скорость работы 1С: Предприятия и 1С: Бухгалтерии файл-серверной версии главным образом определяется производительностью клиентских рабочих станций, особенно той, где хранится 1С ИБД. Производительность в свою очередь определяется параметрами оперативной памяти и скоростью дисков. Первым - в большей степени. Поэтому для ускорения работы программ 1С: Предприятие можно установить Citrix Terminal Server или Microsoft Terminal Server. Последний входит в стандартную комплектацию Microsoft Windows 2003 Server. Главным преимуществом данного продукта является принцип обработки информации, что осуществляется не на компьютерах пользователей, а на Терминал сервере. Поэтому программа 1С: Предприятие на компьютерах пользователей не устанавливается, на них поставляется лишь готовая экранная форма, что напоминает работу «облачного» сервиса 1С. Использование Microsoft Windows 2003 Server позволяет снизить требования к производительности каналов связи и компьютерам пользователей. Вся нагрузка ложиться на сервер.

Citrix Terminal Server работает аналогично, с разницей в том, что позволяет использовать не только мощности сервера, но и компьютера пользователя. Преимущество использования Терминал-сервера является в сжатии передаваемой информации, что позволяет работать с 1С не только по локальной сети, но и по сети Интернет.

Организационное решение для ускорения программы 1С

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

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

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

Архитектура процессоров Intel становится все более ориентированной на ГП, что открывает удивительные возможности для резкого повышения производительности просто за счет разгрузки обработки мультимедиа с ЦП на ГП. Существует немало инструментов, доступных разработчикам для повышения производительности мультимедиа приложений. В числе этих инструментов есть бесплатные и простые в использовании.
В этой публикации вы найдете:

  • Обзор вычислительных архитектур и текущие возможности ГП Intel
  • Реализацию аппаратного ускорения с помощью FFmpeg
  • Реализацию аппаратного ускорения с помощью Intel Media SDK или аналогичного компонента Intel Media Server Studio (в зависимости от целевой платформы)
Если вы испытываете потребность повысить производительность обработки мультимедиа, но не знаете, с чего начать, начните с FFmpeg. Измерьте производительность при программной обработке, затем просто включите аппаратное ускорение и проверьте, насколько изменилась производительность. Затем добавьте использование Intel Media SDK и снова сравнивайте при использовании разных кодеков и в разных конфигурациях.

Вычислительная архитектура: от суперскалярной до разнородной

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


Рисунок 1. Суперскалярная архитектура

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

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


Рисунок 2. Многоядерная архитектура

Современная разнородная архитектура

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

Другими словами, благодаря этой архитектуре мы получили ощутимые преимущества как в области производительности, так и в области потребления электроэнергии, недоступные ранее. На рис. 3 показано развитие ГП за пять последних поколений: графические процессоры приобретают все более важное значение. И при использовании h.264, и при переходе на самые современные кодеки h.265 графические процессоры предоставляют значительную вычислительную мощность, благодаря которой обработка видео с разрешением 4K и даже с более высоким разрешением не только становится возможной, но и выполняется достаточно быстро.


Рисунок 3. Развитие разнородной архитектуры

Поколения производительности ГП

На рис. 4 показано резкое повышение вычислительной мощности всего за несколько поколений, в которых графические процессоры конструктивно размещались на одном кристалле с ЦП. Если в вашем приложении используется обработка мультимедиа, необходимо задействовать разгрузку на ГП, чтобы добиться ускорения в 5 раз или более (в зависимости от возраста и конфигурации системы).


Рисунок 4. Усовершенствование обработки графики в каждом поколении процессоров Intel

Приступая к программированию ГП

На шаге 1 обычно измеряется производительность H.264, чтобы можно было в дальнейшем оценивать изменение производительности по мере доработки кода. FFmpeg часто используется для измерения производительности и для сравнения скорости при использовании аппаратного ускорения. FFmpeg - очень мощный, но при этом достаточно простой в использовании инструмент.

На шаге 2 проводится тестирование с разными кодеками и в разных конфигурациях. Можно включить аппаратное ускорение, просто заменив кодек (замените libx264 на h264_qsv) на использующий Intel Quick Sync Video .

На шаге 3 добавлено использование Intel Media SDK.

Примечание. В этой публикации рассматривается использование этих инструментов в операционной системе Windows*. Если вас интересует реализация для Linux*, см. Доступ к Intel Media Server Studio для кодеков Linux с помощью FFmpeg .

▍Кодирование и декодирование FFmpeg

Начните с H.264 (AVC), поскольку h264: libx264 является программной реализацией в FFmpeg по умолчанию и выдает высокое качество исключительно программными средствами. Создайте собственный тест, затем снова измерьте производительность, сменив кодек с libx264 на h264_qsv. Позднее мы поговорим о кодеках H.265.

Следует отметить, что при работе с видеопотоками приходится выбирать между качеством и скоростью. При более быстрой обработке практически всегда снижается качество и возрастает размер файлов. Вам придется найти собственный приемлемый уровень качества, основываясь на количестве времени, необходимого для кодирования. Существует 11 предустановок для выбора определенного сочетания качества и скорости - от «Самой быстрой» до «Самой медленной». Существует несколько алгоритмов управления скоростью данных:

  • кодирование за 1 проход с постоянной скоростью данных (set -b:v);
  • кодирование за 2 прохода с постоянной скоростью данных;
  • постоянный коэффициент скорости (CRF).
Intel Quick Sync Video поддерживает декодирование и кодирование с помощью ЦП Intel и интегрированного ГП1. Обратите внимание, что процессор Intel должен быть совместимым с Quick Sync Video и с OpenCL*. Дополнительные сведения см. в Заметках о выпуске Intel SDK для приложений OpenCL* . Поддержка декодирования и кодирования встроена в FFmpeg с помощью кодеков с суффиксом _qsv . В настоящее время Quick Sync Video поддерживается следующими кодеками: видео MPEG2, VC1 (только декодирование), H.264 и H.265.

Если вы хотите поэкспериментировать с Quick Sync Video в FFmpeg, необходимо добавить libmfx. Самый простой способ установить эту библиотеку - использовать версию libmfx , упакованную разработчиком lu_zero.
Пример кодирования с аппаратным ускорением Quick Sync Video:

Ffmpeg -I INPUT -c:v h264_qsv -preset:v faster out.qsv.mp4

FFmpeg также может использовать аппаратное ускорение при декодировании с помощью параметра -hwaccel .

Кодек h264_qsv работает очень быстро, но видно, что даже самый медленный режим работы с аппаратным ускорением значительно быстрее только программного кодирования при самом низком качестве и самой высокой скорости.
При тестировании с кодеками H.265 вам потребуется либо получить доступ к сборке с поддержкой libx265, либо собрать собственную версию согласно инструкциям в Руководстве по кодированию для FFmpeg и H.265 или в документации X265 .
Пример H.265:

Ffmpeg -I input -c:v libx265 - preset medium -x265-params crf=28 -c:a aac -strict experimental -b:a 128k output.mp4

Дополнительные сведения об использовании FFmpeg и Quick Sync Video см. в разделе Облачные вычисления Intel QuickSync Video и FFmpeg .

Использование Intel Media SDK (sample_multi_transcode)

Для дальнейшего повышения производительности при использовании FFmpeg необходимо оптимизировать приложение с помощью Intel Media SDK. Media SDK - это межплатформенный интерфейс API для разработки и оптимизации мультимедиа приложений таким образом, чтобы использовать аппаратное ускорение блоков Intel с фиксированными функциями.
  • Если ваши приложения и решения мультимедиа предназначены для клиентских устройств, используйте пакет Intel Media SDK . Его можно загрузить бесплатно .
  • Если же ваши решения предназначены для встроенных систем, серверов или облачных платформ, доступ к Intel Media SDK можно получить с помощью Intel Media Server Studio . У этого решения есть бесплатный выпуск Community Edition и два платных выпуска: Essentials и Professional (их также можно использовать для ускорения перехода на HEVC и 4K/UHD).
Чтобы начать работать с Intel Media SDK, достаточно выполнить несколько простых действий:
  1. Загрузите Intel Media SDK для целевого устройства.
  2. Загрузите учебные руководства и прочтите их, чтобы понять, как настраивать программное обеспечение с помощью SDK.
  3. Установите Intel Media SDK. Если вы используете Linux, см. руководство по установке для Linux .
  4. Загрузите образец кода SDK , чтобы поэкспериментировать с уже скомпилированными образцами приложений.
  5. Соберите и запустите приложение Video Transcoding: sample_multi_transcode
Команды аналогичны командам FFmpeg. Примеры:

VideoTranscoding_folder\_bin\x64>\sample_multi_transcode.exe -hw -i::h264 in.mpeg2 -o::h264 out.h264
VideoTranscoding_folder\_bin\x64>\sample_multi_transcode.exe -hw -i::h265 in.mpeg2 -o::h265 out.h265

Обратите внимание, что для использования аппаратного ускорения необходимо указать параметр -hw в списке аргументов.
Этот пример также работает с декодером и кодировщиком HEVC (h.265), но его необходимо устанавливать из выпуска Intel Media Server Studio Pro.
Существует множество параметров, которые можно указывать в командной строке. С помощью параметра -u можно задать целевое использование (TU), как при использовании предустановок FFmpeg. TU = 4 используется по умолчанию. На рис. 5 показаны показатели производительности при разных настройках TU.


Рисунок 5. Примеры характеристик производительности H264 по отношению к целевому использованию

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

  • 6. Жизненный цикл информации. Информационная сфера. Негативные последствия внедрения информационных технологий
  • 6.1. Жизненный цикл информации. Информационная сфера
  • 6.2. Негативные последствия внедрения информационных технологий
  • Общие выводы
  • Лекция 2 Классификация информационных технологий
  • 1. Виды информационных технологий
  • 1.3. Информационная технология обработки информации и данных
  • 1.4. Технологические операции контроля данных
  • 1.6. Технология поиска информации
  • 1.7. Технологические операции передачи данных
  • 2. Выбор вариантов внедрения информационной технологии
  • Общие выводы
  • Лекция 3 Использование информационных технологий в различных предметных областях. Электронные документы, книги и библиотеки. Электронный офис
  • 1. Виды информационных технологий, используемых в различных предметных областях
  • 1.1. Информационные технологии управления
  • 1.2. Информационные технологии поддержки принятия решений
  • 1.3. Объектно-ориентированные информационные технологии
  • 1.4. Информационные технологии экспертных систем
  • 1.5. Телекоммуникационные технологии
  • 1.6. Гипертекстовые информационные технологии
  • 1.7. Информационные технологии дистанционного обучения
  • 1.8. Информационные технологии мультимедиа
  • 2. Реализация информационных технологий в различных предметных областях
  • 3. Электронные документы, книги и библиотеки. Электронный офис
  • 3.1. Электронные документы
  • 3.2. Электронные книги
  • 3.3. Электронные библиотеки
  • 3.4. Электронный офис
  • Общие выводы
  • Лекция 4 Модели процессов передачи, обработки, накопления данных в информационных системах. Системный подход к решению функциональных задач. Жизненный цикл информационных продуктов и услуг
  • 1. Информационная модель и моделирование информационных процессов
  • 2. Системный подход к решению функциональных задач
  • 3. Жизненный цикл информационных продуктов и услуг
  • 4. Жизненный цикл информационных технологий
  • Общие выводы
  • Лекция 5 Информационные технологии безопасности и защиты
  • 1. Общие положения защиты информации
  • 2. Несанкционированные действия и методы воздействия на информацию, здания, помещения и людей
  • 2.1. Основные виды и причины несанкционированных воздействий на информацию, здания, помещения и людей
  • 2.2. Вирусы
  • 2.3. Воздействия на информацию, здания, помещения, личную безопасность пользователя и обслуживающий персонал
  • 3. Средства и методы защиты информации, зданий, помещений и людей в них
  • 3.1. Основные средства и методы защиты информации
  • 3.2. Программные и технические средства защиты
  • 3.2.2. Технические средства защиты
  • 3.2.3. Программно-техническая и физическая защита от несанкционированных воздействий
  • 4. Мероприятия по обеспечению сохранности и защиты
  • Общие выводы
  • Лекция 6 Классификация информационных технологий по сферам применения. Обработка текстовой и числовой информации. Особенности обработки экономической и статистической информации
  • 1. Классификация информационных технологий
  • 2. Применение информационных технологий
  • 3. Методы обработки информации
  • 3.1. Обработки текстовой информации
  • 3.2. Обработка табличных данных
  • 3.3. Обработка экономической и статистической информации
  • Общие выводы
  • Лекция 7 Информационные технологии копирования и тиражирования информации. Оргтехника и полиграфическое оборудование
  • 1. Средства оргтехники и полиграфии для копирования и тиражирования информации
  • 2. Методы копирования и тиражирования информации
  • 3. Копировально-множительная техника
  • 4. Оргтехника
  • Общие выводы
  • Лекция 8 Программно-технические средства информационные технологии
  • Компоненты программно-аппаратных компьютерных средств
  • 2. Программное обеспечение информационных технологий
  • 3. Технические средства информационных технологий
  • Основные выводы
  • Лекция 9 Технологии открытых систем. Объектно-ориентированные информационные технологии. Распределенные системы обработки данных. Функционально-распределенные информационные технологии
  • 1. Открытые системы
  • 2. Объектно-ориентированные информационные технологии
  • 3. Распределённые системы обработки данных
  • 3.1. Распределенные базы данных
  • 3.2. Система управления распределёнными базами данных
  • Основные выводы
  • Лекция 10 Информационные технологии конечного пользователя. Стандарты пользовательского интерфейса. Критерии оценки информационных технологий
  • 1. Информационные технологии конечного пользователя
  • 2. Пользовательский интерфейс
  • 3. Стандарты пользовательского интерфейса
  • 4. Оценка информационных технологий
  • Основные выводы
  • Лекция 11 Графическое изображение технологического процесса. Обработка графической информации. Применение информационных технологий на рабочем месте пользователя
  • 1. Графическое изображение технологического процесса
  • 2. Обработка графической информации
  • 3. Применение информационных технологий на рабочем месте пользователя
  • Основные выводы
  • Лекция 12 Гипертекстовые способы хранения и представления информации. Информационные ресурсы Интернета
  • 1. Гипертекстовые информационные технологии
  • 2. Языки гипертекстовой разметки документов
  • 3. Информационные ресурсы Интернета
  • Основные выводы
  • Лекция 13 Мультимедийные технологии обработки и представления информации
  • 1. Технологии мультимедиа
  • 1.1. Аудиовидеотехнические средства
  • 2. Проекционное оборудование. Мультимедиапроекторы
  • 3. Средства информирования
  • Основные выводы
  • Лекция 14 Автоматизированные информационные системы. Экспертные системы
  • 1. Автоматизированные системы
  • 2. Автоматизированные информационные системы
  • 3. Автоматизация информационных процессов
  • 4. Экспертные системы
  • Основные выводы
  • Лекция 15 Сетевые информационные технологии. Технологии групповой работы пользователей: доска объявлений, форум, электронная почта, теле- и видеоконференции
  • 1. Сетевые информационные технологии
  • 2. Технологии групповой работы пользователей
  • 3. Сервисы Интернета
  • Основные выводы
  • Лекция 16 Интеграция информационных технологий. Корпоративные информационные системы. Технологии “клиент-сервер”. Информационные хранилища. Системы электронного документооборота
  • 1. Интеграция информационных технологий
  • 2. Корпоративные информационные системы
  • 3. Технологии “клиент-сервер”
  • 4. Информационные хранилища
  • 5. Системы электронного документооборота
  • 6. Технологии Дистанционного обучения
  • Основные выводы
  • Лекция 17 Геоинформационные и глобальные системы. Информационные технологии распространения информации. Авторские информационные технологии
  • 1. Геоинформационные и глобальные системы
  • 2. Информационные технологии распространения информации
  • 3. Информационные технологии передачи информации. Связь
  • 4. Авторские информационные технологии
  • Основные выводы
  • Лекция 8 Программно-технические средства информационные технологии

    Основные понятия:

      Hardware, Software и Brainware;

      Программа и системное программное обеспечение;

      Операционная система, утилиты и драйверы;

      Инструментальное и прикладное программное обеспечение;

      Интегрированные пакеты или пакеты прикладных программ;

      Классификация компьютерных технических средств информационных технологий;

      Архитектура компьютера;

      Системы SOHO и СМБ.

    Компоненты программно-аппаратных компьютерных средств

    Обычно для обозначения основных компонент программно-аппаратных компьютерных средств используют следующие термины:

    Software – совокупность программ, используемых в компьютере или программные средства, представляющие заранее заданные, чётко определённые последовательности арифметических, логических и других операций.

    Hardware – технические устройства компьютера (“железо”) или аппаратные средства, созданные, в основном, с использованием электронных и электромеханических элементов и устройств.

    Brainware – знания и умения, необходимые пользователям для грамотной работы на компьютере (компьютерная культура и грамотность).

    Работой компьютеров, любых вычислительных устройств управляют различного рода программы. Без программ любая ЭВМ не больше, чем груда железа. Компьютерная программа (англ. “Program”) обычно представляет собой последовательность операций, выполняемых вычислительной машиной для реализации какой-нибудь задачи. Например, это может быть программа редактирования текста или рисования.

    2. Программное обеспечение информационных технологий

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

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

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

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

    Рис. 8.1. Структура ПО по назначению и функциональному признаку.

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

    Базовое ПО включает: операционные системы, операционные оболочки и сетевые операционные системы.

    Операционная система (ОС) – это комплекс взаимосвязанных программ, предназначенных для автоматизации планирования и организации процесса обработки программ, ввода-вывода и управления данными, распределения ресурсов, подготовки и отладки программ, других вспомогательных.

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

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

    Выделяют однопрограммные, многопрограммные (многозадачные), одно и многопользовательские, сетевые и несетевые ОС.

    Сетевые ОС – это комплекс программ, обеспечивающих обработку, передачу, хранение данных в сети; доступ ко всем её ресурсам, распределяющих и перераспределяющих различные ресурсы сети.

    Операционная оболочка – это программная надстройка к ОС; специальная программа, предназначенная для облегчения работы и общения пользователей с ОС (Norton Commander, FAR, Windows Commander, Проводник и др.). Они преобразуют неудобный командный пользовательский интерфейс в дружественный графический интерфейс или интерфейс типа “меню”. Оболочки предоставляют пользователю удобный доступ к файлам и обширные сервисные услуги.

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

    Отладка программы (англ. “debugging ”) – это процесс обнаружения и устранения ошибок в компьютерной программе; этап компьютерного решения задачи, при котором происходит устранение явных ошибок в программе. Она осуществляется по результатам, полученным в процессе тестирования компьютерной программы, и производится с использованием специальных программных средств – отладчиков.

    Отладчик (англ. “debugger ”) – это программа, позволяющая исследовать внутреннее поведение разрабатываемой программы. Обеспечивает пошаговое исполнение программы с остановкой после каждой оператора, просмотр текущего значения переменной, нахождение значения любого выражения и др.

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

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

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

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

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

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

    Инструментальное программное обеспечение или инструментальные программные средства (ИПО) – это программы-полуфабрикаты или конструкторы, используемые в ходе разработки, корректировки или развития других программ. Они позволяют создавать различные прикладные пользовательские программы. К ИПО относят: СУБД, редакторы, отладчики, вспомогательные системные программы, графические пакеты, конструкторы обучающих, игровых, тестирующих и других программ. По назначению они близки к системам программирования.

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

    ППО носит проблемно-ориентированный характер. В нём обычно выделяют две составляющие: пользовательское и проблемное прикладное программное обеспечение.

    К пользовательскому ППО относят: текстовые, табличные и графические редакторы и другие подобные программы, например, учебные и досуговые.

    Набор нескольких пользовательских программ, функционально дополняющих друг друга и поддерживающих единую информационную технологию называют пакетом прикладных программ, интегрированным пакетом программ или интегрированным программным обеспечением . Пакеты программ выполняют функции, для которых ранее создавались специализированные программы. В качестве примера приведём ППП Microsoft Office, в состав которого входят: текстовый и табличный процессор, СУБД Access, Power Point и другие программы.

    Проблемное ПО – это специализированное ППО, например, бухгалтерские программы, программы в области страхования и др.

    Кроме перечисленных, отметим следующие прикладные программы: учебные, обучающие и тренажёры, мультимедийные, развлекательные, в т.ч. компьютерные игры, справочные (энциклопедии, словари и справочники) и др.

    Любые компьютерные программы работают на каких-либо технических средствах информационных технологий.

    В статье рассмотрены аппаратные и программные средства для разработки и отладки радиоэлектронных устройств, постороенных на основе микроконтроллеров Renesas Technology.

    Широкий выбор аппаратных и программных инструментов мирового уровня делает написание и отладку программного кода устройств и систем эффективными и простыми.

    В число этих инструментов входят (рис. 1) оценочные наборы, среда разработки и отладки ПО, комплект программных инструментов (компилятор, линкер, оптимизатор, ассемблер, конвертер форматов, стандартные библиотеки и др.), симулятор-отладчик, конфигуратор периферийных модулей, эмуляторы-отладчики различного уровня, в том числе реального времени, системные платформы, операционные системы реального времени, программаторы.

    Рис. 1. Пример программно-аппаратного комплекса разработчика, включающего полноскоростной эмулятор

    Программные средства

    Главным звеном в разработке программного обеспечения микроконтроллеров является High$performance Embedded Workshop – HEW (рис. 2) – высокоэффективная среда разработки ПО, универсальная для всех микроконтроллеров компании Renesas Technology . Она представляет собой графическую среду для разработки программного обеспечения с пакетом компилятора С/С++, имеющую типичный для программ такого рода интерфейс. Все элементы интерфейса среды HEW, такие как различные оконные меню, панели инструментов, строки состояния, связанные окна и контекстные локальные меню, направлены на упрощение создания и управления проектами программного обеспечения конечной продукции.

    Среда разработки ПО HEW обеспечивает следующие возможности:

    • создания и редактирования проекта
    • графического конфигурирования утилит компилятора
    • сборки проекта
    • отладки
    • управления версиями.

    В среде HEW имеется интегрированный симулятор с расширенными возможностями, который позволяет отлаживать код приложения даже при отсутствии соответствующих аппаратных средств. Помимо этого сборка инструментальных средств компилятора С/С++, подключаемая к среде HEW, позволяет генерировать код, оптимизированный по скорости выполнения и/или по объему занимаемой памяти.

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


    Рис. 2. Интерфейс среды разработки HEW

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

    "Мастера" упрощают выполнение начальных этапов . Наличие "мастеров" генератора проекта (рис. 3), входящего в состав среды HEW, упрощает написание программы. Разработчик может прибегнуть к их помощи при задании конфигурации, выборе объектов отладки и создании стартового кода.


    Рис. 3. Шаблоны и "мастера" проектов, упрощающие генерацию оптимального кода

    Новые функции, помогающие оптимизировать код программы . Встроенный симулятор/отладчик имеет специальные возможности и окна для исследования кода программы, полученного в результате компиляции:

    • окно профилирования кода (позволяет отображать статистическую информацию в текстовом и графическом виде)
    • возможность анализа производительности
    • окно анализатора использования исходного кода.

    Вспомогательные инструментальные средства анализа, которые помогут разобраться в функционировании и структуре программы:

    • программа-анализатор стека
    • программа для просмотра файла распределения кода и данных (*.map), генерируемого компоновщиком.

    Программные средства генерации оптимизированного кода C/C++ . Инструментальные средства Renesas (компилятор, ассемблер и компоновщик) полностью соответствуют спецификации языка C++ и обратно совместимы с языком C. В них реализованы расширения, позволяющие осуществлять полноценное управление встраиваемой системой средствами самого языка C без использования ассемблерных вставок. К этим расширениям относятся:

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

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

    Бесплатная демонстрационная версия пакета HEW . Гибкая методика лицензирования, установленная компанией Renesas в отношении выпускаемой ею продукции, означает, что можно загрузить бесплатную демонстрационную версию пакета HEW с компилятором и использовать ее без ограничений в течение 60 дней. Такая возможность очень полезна для тестирования эффективности скомпилированного оптимизированного кода и производительности архитектуры. По истечении этого срока размер генерируемого кода ограничивается величиной 64 кбайт, что, тем не менее, не мешает исследовать архитектуру микроконтроллеров или экспериментировать с периферийными устройствами. Демонстрационная версия среды HEW отличается от полной версии только ограничением размера компилируемого кода. Поэтому возможна генерация полноценного кода для устройств, построенных на базе младших моделей микроконтроллеров (с меньшим, чем 64 кбайт объемом ПЗУ).

    Интегрированные средства отладки пакета HEW . Поддержка отладки модульных объектов обеспечивается непосредственно самой средой HEW, благодаря чему можно создавать свое приложение и отлаживать его, не покидая эту среду. "Мастер" отладочной сессии позволяет добавлять следующие объекты отладки в рабочую среду:

    • симулятор
    • внутрисхемные эмуляторы (серия E6000)
    • JTAG$эмуляторы (E10A, E8)
    • оценочные платы с резидентным монитором.

    Программа Flash Development Toolkit (FDT) компании Renesas является простой в использовании утилитой для программирования встроенной флэш-памяти микроконтроллеров семейства H8. Она позволяет создавать проекты, объединяющие несколько файлов, содержащих s$записи, в один загружаемый образ, а также сохранять параметры соединения для упрощения управления процессом программирования устройств.

    FDT поддерживает:

    • непосредственное USB-подключение устройств, имеющих режим загрузки через USB$порт
    • последовательный обмен на скоростях до 115 200 бод
    • шестнадцатиричный редактор образа
    • выдачу разнообразных сообщений, помогающих при работе над проектом
    • аппаратные средства.

    Аппаратные средства выпускаются в различных ценовых категориях, начиная с недорогих отладочных комплектов и стартовых наборов RSK (Renesas Starter Kit).

    Отладочные комплекты . Отладочные комплекты и наборы RSK (рис. 4) представляют собой недорогой вариант аппаратных средств для оценки характеристик микроконтроллеров . В составе каждого комплекта имеется собранная макетная плата и компактдиск, который содержит:

    • ознакомительную версию пакета HEW, компиляторы языков C/C++, а также программу связи отладчика с резидентным монитором
    • утилиту Flash Development Toolkit (FDT).


    Рис. 4. Набор начального уровня RSK

    На компакт-диске также содержится руководство по быстрому старту, в котором подробно описан процесс инсталляции ПО, а также полный комплект документации с учебными проектами и учебным программным модулем "Project Generator" для среды HEW.

    Внутрисхемные эмуляторы E8 и E10A-USB . Эмуляторы E8 и E10A$USB (рис. 5 и 6 соответственно) предназначены для подключения к отладочному интерфейсу JTAG. Эти недорогие устройства обеспечивают отладку в режиме реального времени с использованием специализированных ресурсов микроконтроллера, входящего в состав отлаживаемого устройства. Эмуляторы соединяются с пользовательской системой по интерфейсу, который может использоваться как для ее отладки, так и программирования расположенной на кристалле микроконтроллера флэш-памяти.


    Рис. 5. Эмулятор-отладчик E8


    Рис. 6. Эмулятор-отладчик E10A-USB

    В эмуляторах E8 и E10A-USB используется интерфейс USB 2.0 с функцией plug-and-play, что позволяет легко подключать их к любому ПК или ноутбуку, имеющему интерфейс USB.

    Основные возможности эмуляторов:

    • до 255 программных точек останова
    • одна аппаратная точка останова по значению адреса и данных
    • сохранение информации о 4 последних переходах
    • программирование внутренней флэш-памяти
    • интегрированная поддержка отладки в среде HEW.

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

    • эмуляцию микроконтроллера в режиме реального времени без циклов ожидания или изменения хода выполнения программы
    • память эмуляции объемом от 1 до 4 Мбайт, которая может быть сопоставлена с адресным пространством целевого процессора
    • 256 точек останова
    • наличие буфера трассировки размером до 32К машинных циклов, запись в который может быть остановлена, а его содержимое считано во время выполнения программы
    • фильтрацию событий, заносимых в буфер трассировки с использованием системы Complex Event System
    • фильтрацию событий, уже занесенных в буфер трассировки, с возможностью поиска
    • автоматическое отслеживание напряжения питания отлаживаемого устройства для исключения неправильной работы эмулятора при отклонении уровня напряжения питания устройства от допустимого значения
    • большой выбор источников тактового сигнала целевого устройства
    • интегрированную поддержку отладки в среде HEW.

    Заключение

    Архитектура SuperH не только востребована мировыми производителями электронной техники, но в некоторых областях она стала стандартом де-факто.

    В частности, ИМС семейства SH-Mobile использованы в более чем 200 моделях мобильных телефонов, а на базе ИМС с ядром SH-4 и SH-4A построена большая часть автомобильных навигационных систем. Так же, как и старшие семейства, SH-2 и SH-2A активно используются в различных устройствах и системах, например, в бытовой технике, системах вентиляции и кондиционирования и т.п. С появлением недорогих микросхем семейства SH-Tiny повысился интерес к семейству SuperH в целом. Высокая производительность, оптимальный объем памяти, отличный набор периферии и развитые коммуникационные возможности делают эти микроконтроллеры незаменимыми не только в бытовых системах и офисном оборудовании, но и в промышленных системах для управления производственными процессами. Специализированный набор коммуникационной периферии позволяют использовать микросхемы с архитектурой SuperH в системах проводной связи, например, в телефонии и в локальных компьютерных сетях.

    Литература

    1. High-performance Embedded Workshop User"s Manual. – Renesas, January 2004.
    2. Renesas Starter Kit User"s Manual. – Renesas, February 2006.