Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Обзоры
  • Несколько слов о тестировании сложных аппаратных комплексов. Выбор аппаратной платформы…

Несколько слов о тестировании сложных аппаратных комплексов. Выбор аппаратной платформы…

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

Я задумался(что уже само по себе здорово): «На основе каких критереев , каких подходов стоит выбирать аппаратную платформу? По каким принципам, корпорации выбирают или должны выбирать аппаратную составляющую своей IT-инфраструктуры ?» Конкретных ответов на все вопросы я не нашел, а нашел статью «Оптимизация процесса выбора аппаратной платформы для критических бизнес-приложений» и решил познакомить Вас с самым интересным. И так как ссылка на Elashkin Research при использовании материалов сайта обязательна, с удовольствием ставлю ее - http://www.elashkin.com :

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

Остановимся подробнее на каждой группе тестов. Существует огромное число универсальных тестов (SPECint2000 для операций, ориентированных на целочисленные вычисления, SPECfp2000 для операций с плавающей точкой и т. п.), но наиболее известными из них являются тесты TPC (Transaction Processing Performance Council – Совета по обработке транзакций). TPC является независимой некоммерческой организацией, создан- ной для исследования обработки транзакций и производительности систем управления базами данных (СУБД) и распространения объективной и воспроизводимой информации о производительности в тестах TPC для компь- ютерной индустрии. Наиболее используемые в индустрии тесты этой организации: TPC-C (тесты по обработке транзакций) и TPC-H (запросы к хранилищам данных). Сама процедура проведения тестов включает четкую стан- дартизацию и обязательное проведение аудита независимой сертифицированной компанией. С другой стороны, сами тесты являются исключительно упрощенными и значительно отличаются от реальных систем. С нашей точки зрения, эти тесты дают исключительно важную информацию для сравнения различных аппаратных и программных решений, позволяют сравнивать их между собой, но не применимы для выбора конкретной системы для решения задачи заказчика . Специализированные тесты гораздо более соответствуют действительности. В этих тестах используется программное обеспечение, которое может применяться в проекте. Наиболее известны тесты SAP benchmark . При тестировании по методике SAP происходит тестирование работы всех систем и подсистем: процессоров, вводавывода, сетевого трафика, обработки ошибок и других. Каждый SAP Standard Application Benchmark состоит из набора исполняемых сценариев, симулирующих типичные транзакции и бизнес-процессы, соответствующие обычным сценариям работы с системой. SAP предлагает набор тестовых данных для проведения испытаний. Для того чтобы тесты производительности SAP соответствовали реальным условиям эксплуатации и могли использоваться для сайзинга, в них симулируется поведение клиента, заполняющего стандартные формы. Каждому такому симулированному клиенту задается время задержки в 10 секунд перед выполнением очередного шага в диалогах, что соответствует среднему реальному времени размышления живых опытных операторов. Во время выполнения тестов число одновременно работающих симулированных клиентов непрерывно возрастает до тех пор, пока время отклика системы в диалоговом режиме не превысит установленные спецификацией на тесты 2 секунды. Такая нагрузка намного больше соответствует реальным системам, чем нагрузка в тестах TPC, т. к. учитывает тот факт, что приемлемое время отклика системы более важно для работы, чем общее число проведенных транзакций. Это сравнительно небольшое изменение оказывает решающее влияние на настройки системы и на нагрузку всех ее компонентов, делая ее максимально близкой к реальной работе пользователей. В результате чего специализированные тесты, и особенно SAP benchmark, лучше подходят для оценки производительности серверных платформ. В связи с направленностью тестов на понимание их результатов людьми, принимающими решения и не обязан- ными разбираться в технических деталях и терминах, результатом теста является число полностью обработан- ных бизнес-операций. Такими операциями могут быть: число введенных заказов, число произведенных товаров, число заказов на сборку и т. п. В целом такие тесты гораздо более приближены к реальной жизни, но также обладают рядом недостатков . В первую очередь это небольшое количество приложений, для которых разработаны такие тесты. Кроме SAP benchmark, можно отметить Oracle Applications Standard Benchmark, тесты PeopleSoft, Siebel и ряд других приложений. Если планируется использовать другие приложения или нестандартные аппаратные и программные приложения, то эти тесты также мало информативны. Кроме того, конфигурация аппаратных средств, как и в случае тестов TPC, ориентирована на достижение максимальной производительности и отличается от тех конфигураций, которые будут использованы в реальном проекте.

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

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

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

«Особенностью современного подхода к ИТ со стороны бизнеса является то, что ИТ инфрастуктура более не является вспомогательной, затратной. Сегодня она есть часть самого бизнеса. Мы видим, как заказчики перестают относиться к нашим услугам с позиции «сервер с тем или иным количеством процессоров, объёмом оперативной памяти, дисков и т.д». Они ставят нам теперь совсем иные задачи. «Мне нужно обрабатывать 25000 документов в час». «Мне нужно, что бы мы могли запустить 30 обработчиков одновременно». «Мне нужно поддерживать в оперативном режиме 28 отделений» - вот типичные требования современного бизнеса. Как мы можем сказать, что данное оборудование удовлетворяет требованиям заказчика? Разумеется, не из результатов отраслевых тестов. Наиболее точную оценку мы можем получить из результатов проведения нагрузочных испытаний. Это работа для настоящих профессионалов, глубоко разбирающихся в прикладных и системных программных средствах, тонко чувствующих аппаратную часть. В нашей компании существует специализированная экспертная группа, занимающаяся тестированием прикладных программных средств. Только на основании её экспертных оценок мы можем гарантировать заказчику, что предлагаемое решение справится с возложенной на неё задачей…» Вячеслав Елагин, компания Ай-Теко, директор Центра компетенции.

PS: я конечно не знаю как это переводится с французкого, но очень смешно …
________________
Заказывайте вывоз строительного мусора www.grigus.ru . Очень быстро и профессионально работают. Бытовые отходы, отходы по строительству — все увозят грузовыми машинами и КАМАЗами. Вывоз мусорных баков.

This entry was posted on Ноябрь 23, 2006 в 12:52 дп and is filed under .

Аппаратные платформы

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

Для ПК сейчас остались только две конкурентоспособные аппаратные платформы: IBM PC и Apple Macintosh (рисунок 3).Причем IBMPC явно доминирует, свыше 90% компьютеров относится к этой платформе. Одно время Apple Macintosh были более приспособленными для работы с графикой и в издательском деле, но сейчас возможности обеих платформ здесь сравнялись. Тем не менее,


компьютеры Apple не исчезают, а по-прежнему находят применение.


Для высокопроизводительных серверов, или наоборот – примитивных чипов существуют и другие аппаратные платформы: SunMicrosystems, Compaq, HewlettPackard и др.

В аппаратной конфигурации компьютера важную роль играет принцип открытой архитектуры . Это построение компьютера по модульному принципу, когда все однотипные устройства компьютера имеют:

1. взаимно согласованные протоколы (стандарты) передачи данных;

2. стандартные геометрические размеры и унифицированные разъемы для подключения.

Открытая архитектура позволяет совершать Апгрейд (Upgrade), т.е. модернизацию компьютера путем простой замены одних устройств на другие, не затрагивая всего остального.

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

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

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

Платформа IBMPC обладает открытой архитектурой, а Apple – закрытой.

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

Однако сама IBM, введя открытую архитектуру своих изделий, успешно решила тактические задачи, но стратегически проиграла. Устройства с открытой архитектурой для компьютеров IBM стали делать сотни компаний во всем мире – в Америке, Европе, Азии. Юридических запретов на это не существует. А технически открытая шинная архитектура позволяет довольно просто это сделать.

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

  1. Аппаратные решения - это специальные платы, несущие на себе дополнительные процессор, оперативную память и видеопамять другой аппаратной платформы. Фактически они представляют собой отдельный компьютер, вставленный в существующий ПК. Его, как и обычный компьютер, можно оснастить любой операционной системой по выбору пользователя и соответствующим программным обеспечением. При этом можно легко переключаться между двумя операционными системами, обмениваться между ними файлами и выполнять другие операции, причем производительность обеих систем остается высокой и они не влияют друг на друга, так как практически не имеют разделяемых ресурсов, кроме мыши, клавиатуры и монитора. Основным недостатком таких плат является их высокая стоимость, хотя и несколько меньшая, чем отдельного ПК.
  2. Программные решения - это специально написанные программы-эмуляторы, позволяющие запустить программное обеспечение, разработанное для персональных компьютеров одного типа, на другом ПК. Существует несколько видов эмуляторов:
    • эмуляторы-исполнители позволяют запускать программы, написанные для других операционных систем;
    • эмуляторы аппаратного обеспечения воспроизводят настоящий персональный компьютер со всеми его аппаратными и программными особенностями. В этом случае пользователь получает абсолютный контроль над своим виртуальным ПК и может выполнять на нем практически все операции, что и с настоящим компьютером. Недостатком этих эмуляторов является некоторая медлительность;
    • эмуляторы операционных систем позволяют воспроизвести на ПК операционную систему, которая несовместима с данной аппаратной платформой. Примером такого эмулятора является эмулятор операционной системы Windows, который позволяет на компьютере Macintosh работать с операционной системой, написанной для IBM-совместимых ПК. Работают такие программы несколько быстрее, чем эмуляторы аппаратного обеспечения, но у них есть много ограничений. Например, пользователь не может сам выбрать операционную систему.

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

Здесь стоит отметить, что открытые аппаратные платформы не обязаны предлагать бесплатные инструменты разработки. Под «инструментами разработки» понимается широкий спектр средств проектирования и отладки, начиная от измерительных приборов (мультиметры, осциллографы) и интегрированных сред (IDE), и заканчивая веб-утилитами, которые обеспечивают функциональное управление проектами. Важно отметить, что многие из известных открытых платформ, например, Arduino, LaunchPad, BeagleBone и STM Nucleo, предоставляют бесплатные программные библиотеки, примеры кода и даже целые интегрированные среды, такие, как Arduino IDE или mbed.org.

Некоторые инструменты разработки сами являются открытыми платформами, что делает их весьма доступными из-за относительно низкой стоимости. В качестве примера можно привести универсальную измерительную плату Red Pitaya, работающую под управлением Linux. По сути, Red Pitaya является измерительным комплексом, который заменяет собой лабораторное оборудование, недоступное для рядовых пользователей из-за высокой цены. Red Pitaya предлагает к услугам разработчиков аналоговые входы со скоростью измерений до 125 MSPS и выходы со скоростью 100 KSPS. Этот универсальный измерительный прибор может выступать в роли различных стандартных приборов, таких как: как осциллограф с полосой пропускания около 50 МГц, анализатор спектра, LCR-измеритель импеданса, анализатор Боде, тесламетр, функциональный генератор с 14-битным разрешением, в том числе подходящий для аудио, и т.д. Для отображения результатов измерений Red Pitaya подключается к планшету, ПК или смартфону. Добавьте модуль расширения Sensor Extension Module и вы сможете подключить Red Pitaya к платам Arduino и датчикам SEEED Studio Grove sensors , что еще больше расширит функциональность этого измерительного комплекса.

Рис. 1. Универсальная измерительная система Red Pitaya представляет собой пример открытой аппаратной платформы и отличается максимальной доступностью. Red Pitaya обладает функционалом осциллографа, анализатора спектра, измерителя импеданса, анализатора Боде, тесламетра, как функционального генератора и т.д.

Плата Red Pitaya была представлена на интернет-платформе Kickstarter в 2013 году. Она стала побочным продуктом для компании, которая занимается разработкой приборов для ускорителей частиц. Таким образом, Red Pitaya - это инструмент измерения и управления с открытым кодом и программным обеспечением с поддержкой визуального программирования. Red Pitaya поддерживается Matlab, LabView, Python и Scilab. Благодаря открытому программному коду возможности Red Pitaya могут быть расширены за счет дополнительных функций и утилит, создаваемых пользователями.

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

Рассмотрим наиболее распространенные инструменты, используемые при работе с открытыми аппаратными платформами.

  1. Первый инструмент проектирования является, пожалуй, самым важным и наименее «техническим». Это обычный карандаш. Именно карандаш позволяет мгновенно «воплощать» задуманные идеи на бумаге, отмечать результаты испытаний и фиксировать изменения для того, чтобы в дальнейшем восстановить всю картину проекта спустя месяцы или даже годы.
  2. Оборудование. Сюда можно отнести широкий спектр инструментов, начиная от измерительных приборов (мультиметры, осциллографы) и заканчивая органайзерами для хранения электронных компонентов. К сожалению, оборудование является далеко не бесплатными, однако если вы близки к сообществу разработчиков, то одолжить тот или иной измерительный прибор не будет проблемой. Кроме того, сейчас многие инструменты доступны благодаря интернет-магазинам и продаются по весьма низким ценам.
  3. Программировать в машинном коде непросто, поэтому для создания встраиваемого ПО используются компиляторы и интерпретаторы, позволяющие разработчикам писать программы с помощью высокоуровневых языков или даже выполнять графическое программирование.

Еще одним инструментом разработки встраиваемого ПО являются интегральные среды (IDE). IDE представляют собой программные платформы, которые объединяют редактор исходного кода, компилятор/ интерпретатор, отладчик, инструмент автоматизации сборки и иногда инструменты тестирования. Многие интегральные среды позволяют отлаживать код и анализировать его работу в реальных устройствах. Существуют инструменты, помогающие визуализировать работу устройства и выполнять моделирование до того, как будет собран реальный прототип. IDE значительно оптимизируют и ускоряют процесс разработки.

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

Рассмотрим основные типы IDE, используемые для создания встраиваемого ПО:

  1. Бесплатные интегральные среды разработки (IDE), например, Arduino IDE, Energia IDE для TI LaunchPads, которые можно свободно скачать с сайта производителя и установить на своем ПК.
  2. Онлайн IDE, которые не требуют установки на ПК, но нуждаются в доступе к Интернету. Их плюсами является то, что они не требуют обновлений и не занимают места на жестком диске. Примером таких программ является Mbed.org.
  3. Платные среды разработки. Как было сказано выше, компиляторы позволяют работать с определенным типом процессорных ядер, а если быть точным, то с определенным набором конкретных процессоров/ микроконтроллеров. Например, если используется пара процессоров с ядром ARM ® Cortex ® -M4, то вполне реальной может оказаться ситуация, когда один процессор поддерживается IDE, а второй нет. Поэтому прежде чем купить IDE следует проверить, что целевой процессор есть в списке поддерживаемых устройств. Примером, платной среды разработки являются, например, Keil от ARM и IAR Embedded Workbench от IAR Systems.
  4. Бесплатные пробные версии платных сред с ограничением по времени. Многие IDE, например, IAR и Keil, имеют бесплатные пробные версии с ограниченным сроком бесплатной работы. После того как пробный срок заканчивается, программа блокируется и требует приобретения лицензии.
  5. Бесплатные версии платных сред с ограничением функционала. Существуют ограниченные версии платных сред с урезанным функционалом. Примером такой среды может служить сборка Keil для микроконтроллеров STM32L0 с ограничением по размеру кода.
  6. Бесплатные среды с открытым исходным кодом, например, различные GNU-решения. В качестве примера бесплатной среды можно привести Eclipse IDE. Eclipse IDE позволяет добавлять плагины для поддержки различных языков программирования, в частности C ++ или Python. Стоит отметить, что в большинстве случаев бесплатные компиляторы уступают коммерческим собратьям по качеству оптимизации кода. Однако со временем это отставание сокращается.
  7. Микроконтроллеры поступают от производителя в незапрограммированном виде. Для физической «прошивки» программ требуются специальное устройство - программатор. Исключение составляют микроконтроллеры, которые имеют встроенный загрузчик (бутлодер). Загрузчик представляет собой небольшую встроенную программу, которая позволяет программировать микроконтроллеры с помощью одного из популярных интерфейсов USB, UART, CAN и т.д.

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

  • Многие популярные платы (такие как LaunchPad и Nucleo) имеют встроенные программаторы. Это позволяет подключать их к ПК с помощью USB и выполнять программирование.
  • Для плат, в которых нет встроенного программатора, приходится использовать внутрисхемное программирование (In-System Programming, ISP). Для этого требуется внешний программатор. Обычно программатор подключается к ПК через USB или COM-порт, а к микроконтроллеру через специальный интерфейс программирования (SWIM, JTAG, SPI, UART и др.). В качестве примеров можно привести программатор ST-LINK/V2-1 для микроконтроллеров STM32/STM8 от STMicroelectronics, программаторы от Atmel для микроконтроллеров AVR, программаторы от Microchip для микроконтроллеров семейства PIC.

Рис. 2. STM32 Nucleo представляет собой яркий пример открытой платформы. Платы Nucleo поставляются со встроенным отладчиком ST-LINK / V2-1 (выделен красной рамкой)

  1. Отладчики. Отладчик представляет собой набор инструментов, который позволяет программистам отслеживать выполнение программы и выявлять ошибки в коде. Отладчик состоит из трех основных частей: программная часть, выполняемая в среде IDE, аппаратная часть, реализованная в микроконтроллере, аппаратная часть, реализованная в специальном устройстве, которое также называют отладчиком. Здесь стоит отметить, что для всех современных микроконтроллеров программатор и отладчик представляют одно и то же устройство. Поэтому, например, для программирования и отладки STM32/STM8 будет достаточно программатора/ отладчика ST-LINK/V2-1.

Рассмотрим некоторые ключевые элементы и инструменты, применяемые при отладке встраиваемых систем:

  • GDB или GNU Debugger - популярные программные отладчики, которые используются для работы с различными языками программирования. Многие из них поддерживают «удаленный режим», позволяющий контролировать отлаживаемое устройство с помощью приложения, запущенного на ПК.
  • JTAG - интерфейс, который изначально разрабатывался для тестирования встраиваемых систем, но в дальнейшем «де-факто» ставший промышленным стандартом. В настоящее время JTAG широко используется, в том числе в открытых платформах.
  • Точки останова используются для того, чтобы прерывать выполнение программ в нужных местах. Эта функция необходима для детального рассмотрения контекста, например, состояния портов ввода-вывода, содержимого регистров и т.д. Еще одной полезной функцией отладчиков является возможность пошаговой отладки программы.
  • Open OCD (Open On-Chip Debugger) - пакет с открытым исходным кодом, который обеспечивает встроенную отладку, внутрисхемное программирование и тестирование для огромного множества платформ, что делает Open OCD привлекательным для многих производителей микросхем. Open OCD поддерживает множество отладчиков, в том числе и JTAG.
  1. Инструменты для отслеживания ошибок и контроля версий
  • Наличие инструмента для отслеживания ошибок является обязательным требованием для открытых платформ вне зависимости от числа разработчиков и пользователей. Существует множество инструментов отслеживания ошибок. Например, Bugzilla или Mantis BT могут быть загружены и установлены на серверах бесплатно, кроме того, есть сервисы, которые могут предоставить хостинг за символическую плату.
  • Системы контроля версий - еще один инструмент, который имеет решающее значение для открытых платформ, тем более что открытые платформы подразумевают совместную работу множества пользователей и разработчиков. Такие инструменты, как Git и Subversion, являются популярными системами управления версиями и контентом. Сервисы, аналогичные GitHub, обеспечивают хостинг содержимого проектов отслеживание ошибок и совместные обзоры кода.

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

Вместо заключения еще одна мысль вдогонку

Очень часто разработчики ограничиваются тем, что становятся специалистами в рамках какого-то одного процессора или микроконтроллера. Конечно, доскональное изучение всех регистров и особенностей процессорного ядра является большим плюсом для конкретного проекта. Однако, стоит отметить, что технологии не стоят на месте, и умение быстро адаптироваться к различным платформам является гораздо более ценным навыком, чем знание всех тонкостей одного единственного решения. Открытые проекты значительно упрощают такое широкомасштабное обучение за счет уменьшения затрат средств и времени. Попытайтесь получить опыт с Arduino, приложите свои руки к микроконтроллерам PIC, поработайте с внешним программатором! Этот самообразовательный процесс может даже помочь получить работу, например, неопытным студентам, если они «засветятся» на каком-либо форуме. Освоение различных решений и архитектур отточит ваш навык самообучения, что станет залогом долгой и успешной карьеры.

ВведениеПосле выяснения возможностей в 3DMAX современных видеокарт пришло время провести те же самые тесты для сравнения современных однопроцессорных аппаратных платформ.
В данный момент на массовом рынке присутствуют всего два семейства процессоров, которые можно считать “перспективными” – платформа Socket478 и Socket462 (SocketA). Я не буду рассматривать “устаревшие” платформы на базе процессоров под разъемы Socket370 и Socket423, так как покупать однопроцессорные системы на этих процессорах для работы в 3DMAX не имеет смысла.
Конечно же, уже приобретенные системы на базе как процессоров под разъем Socket370 на ядре Tualatin и кешем второго уровня объемом 512Kb, так и системы на базе старших процессоров под разъем Socket423 позволяют продуктивно работать в 3DMAX. Однако стоимость этих «устаревших» систем сегодня делает их приобретение невыгодным, так как системы на базе этих процессоров не имеют преимущества в производительности или даже уступают системам на процессорах семейств Socket478 и Socket462 при одинаковой цене. Это - следствие политики Intel по замещению “устаревших” линеек процессоров новыми, “перспективными”, что проявляется в более быстром обновления “перспективных” линеек процессоров и, соответственно, более быстром снижении цен на процессоры этих “перспективных” линеек.
Наиболее производительными чипсетами для процессоров Socket478 и Socket462, платы на которых сегодня доступны в широкой продаже, являются i850 и Apollo KT266A. Собирать платформы на платах с чипсетом i845D с поддержкой памяти PC2100 DDR SDRAM сегодня не имеет смысла, так как память PC800 RDRAM в данный момент стоит столько же, или даже дешевле, чем PC2100 DDR SDRAM, при этом обеспечивая заметно большую производительность.

Итак, в этом материале мы рассмотрим производительность системы на основе платы с чипсетом i850 (Abit TH7II) и процессорами Pentium4 – 2.2GHz, 2,0GHz с кешем второго уровня 512Kb (ядро Northwood) и процессорами Pentium4 – 2.0GHz, 1.7GHz с кешем второго уровня 256Kb (ядро Willamette). В первую очередь интерес представляет прирост производительности, который может дать увеличение вдвое кеша второго уровня, также мы увидим, насколько процессоры линейки Pentium4 мастшабируются, т.е. обеспечивает ли увеличение тактовой частоты сравнимый прироста производительности.
Для сравнения с этой системой я выбрал платформу, состоящую из платы на базе чипсета Apollo KT266А (Epox 8KHA+) и процессора AthlonXP 2000+ (реальная тактовая частота – 1667Mhz). Я взял только один процессор под Socket462 из-за того, что компания AMD сильно отстала от Intel в процессе наращивания тактовых частот своих процессоров, и тактовая частота этого «топового» процессора даже ниже тактовой частоты младшего процессора Pentium4, рассматриваемого в этом материале.

Описание аппаратных конфигураций

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

Платформа №1:

Процессор – Pentium 4 2.2GHz (512Kb L2), Pentium 4 2.0А GHz (512Kb L2), Pentium 4 2.0GHz (256Kb L2), Pentium 4 1.7GHz (256Kb L2).
Материнская плата – Abit TH7II (i850)
Память – 1024Mb PC800 RDRAM



Платформа №2:

Процессор – AthlonXP 2000+ (1667Mhz)
Материнская плата – Epox 8KHA+ (Apollo KT266A)
Память – 1024Mb PC2100 SDRAM
Видеокарта – NVIDIA GeForce4 Ti4600 (Detonator версии 27.51)
Жесткий диск – 20Gb IBM DTLA 7200rpm


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

Windows 2000 SP2
3ds max 4.26 (OpenGL rendering), 1280x1024 32bit

Тестирования скоростных характеристик при работе в окнах проекции

1 . Первый бенчмарк является “стресс-тестом” – в четырех окнах проекции проигрывается анимация сцены. Однако, методы рендеринга (Rendering Method) разные. В двух верхних окнах сцена представлена в виде “Wireframe” (то есть в “проволочном” или “каркасном” режиме), в левом нижнем “Smooth + HighLights” + “Edged Faces” (в затененном режиме с выделенными гранями), в правом нижнем нижнем - “Smooth + HighLights”:

Эта сцена содержит весьма немного полигонов – всего 28 тысяч, однако из-за одновременного проигрывания анимации во всех четырех окнах, “общий” fps весьма мал.


Полигонов: 28868
Источников света: 1
Режим: Wireframe, Smooth+Highlights


При одновременном отображении анимации во всех четырех окнах проекции бОльшая часть нагрузки по визуализации сцены ложится на связку центральный процессор - память. Как мы видим, в этом бенчмарке процессор AMD «держится молодцом», подтверждая свой рейтинг. Прирост же от увеличения кеша второго уровня в процессорах Intel весьма мал и составляет примерно 5%

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

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


Полигонов: 9712
Источников света: 1
Режим: Smooth+Highlights


В отличие от предыдущего, этот бенчмарк, в данном случае, нагружает шину AGP и показывает скорость работы AGP порта материнской платы. В случае неправильной реализациии AGP значение fps падает в этом бенчмарке примерно до 80-100.
Таким образом, мы видим, что реализация AGP хороша у обеих платформ. Однако в этом бенчмарке увеличение кеша дает гораздо больший прирост, нежели в предыдущем – до 20%.

3 . Сцена третьего бенчмарка содержит шар, который очень медленно передвигается на фоне геометрии в 15000 полигонов.

Шар нигде не пересекает другие объекты. Так как шар передвигается очень медленно, то “правильный” драйвер будет вносить очень небольше изменения в каждый кадр. Другими словами, этот бенчмарк проверяет способность видеоплаты не перерисовывать в каждом кадре необновляемые объекты.


Полигонов: 15653
Источников света: 1
Режим: Smooth+Highlights


Этот бенчмарк аналогичен предыдущему, и результаты систем также аналогичны результатам, показанным в прошлом бенчмарке – AthlonXP 2000+ опять демонстрирует «честность» своего рейтинга, а удвоенный объем кеш памяти второго уровня у Pentium4 обеспечивает заметный прирост скорости.

4 . Этот бенчмарк показывает возможности видеокарты обрабатывать очень сложную геометрию Бенчмарк показывает производительность видеокарт в режиме Smooth+HighLights в сценах со сложной геометрией.


Полигонов: 200270
Источников света: 1
Режим: Smooth+Highlights


В этом геометрическом бенчмарке результат зависит от мощности блока FPU (так как необходимо обсчитывать сложную геометрию) и пропускной способности памяти (так как надо отрисовывать поверхности в режиме Smooth+HighLight). В первом Athlon имеет явной преимущество, однако, пропускная способность RDRAM намного больше, поэтому платформа Socket462 показывает результат, меньший результата системы на Pentium4 2.0GHz.

5 . Пятый бенчмарк тестирует возможности видеоплат по обработке исключительно сложной геометрии. На этот раз число полигонов почти удвоилось и составило почти 376 тысяч. На той же самой “поверхности” теперь стоят дома.

Этот бенчмарк способен “поставить на колени” любую видеокарту – средний fps не превышает трех кадров. Сам файл создавался, конечно же не при fps=3, дома создавались по отдельности в разных файлах и при “установке на грунт” неиспользуемая часть геометрии “отключалась” для повышения производительности.


Полигонов: 376875
Источников света: 1
Режим: Smooth+Highlights


В более тяжелом геометрическом бенчмарке положение аналогичное предыдущему, однако, с увеличением обрабатываемой геометрии влияние кеш памяти уменьшается, а влияние блока FPU растет.

6 . Бенчмарк, тестирующий скорость обработки множественных источников света. Так как большинство видеокарт не поддерживает более 8 источников, то этот тест и еще два последующих содержат 8 источников света разных типов. В этом тесте 8 источников света типа SpotLight, перемещаясь, освещают своебразный “астероид”:

Следует заметить, что отображение освещенности, созданной источниками типа Spotlight – намного более ресурсоемкий процесс, нежели отображение освещенности, созданной источниками света типа Omni и Directional.


Полигонов: 39600
Источников света: 8
Режим: Smooth+Highlights



7 . Тот же “астероид”, только теперь он освещается восемью источниками света типа Directional. Источники света типа Directional “медленнее” чем Omni, но “быстрее”, чем источники света типа Spotlight.


Полигонов: 39600
Источников света: 8
Режим: Smooth+Highlights



8 . Опять тот же самый “астероид” и опять восемь источников света. Теперь это источники типа Omni, самые “быстрые” источники света в 3DMAX.


Полигонов: 39600
Источников света: 8
Режим: Smooth+Highlights


В бенчмарках освещения AthlonXP 2000+ показывает результаты, сравнимые с результатами Pentium4 2.0GHz. Прирост производительности от увеличения кеш памяти не превышает 10%.

9 . Сцена с “легкой” геометрией и единственным источником света, всего в четыре с половиной тысячи полигонов, занимающая все окно проекции - это бенчмарк скорости растеризации в режиме Smoth+Highlights.

Во время перемещения камеры видеокарта должна проводить растеризацию больших и малых полигонов (относительно экранного размера)


Полигонов: 4684
Источников света: 1
Режим: Smooth+Highlights


В бенчмарке растеризации AthlonXP 2000+ показал низкий результат – меньший, чем у Pentium4 такой же тактовой частоты (1700Mhz). Это объясняется тем, что в этом бенчмарке все зависит от скорости передачи данный по шине процессор – память.

10 . Бенчмарк, показывающий скорость работы видеокарт с текстурами. Файл содержит множество текстур и минимум геометрии. Бенчмарк представляет из себя вращающийся шар, с 48-ю текстурами наложенными на его грани.

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


Полигонов: 224
Источников света: 1
Режим: Smooth+Highlights



11 . Полностью текстурированная комната, внутри которой перемещается камера. Этот бенчмарк наиболее приближен к реальным приложениям, так как содержит множество текстур, непростую геометрию и несколько источников света. Этот бенчмарк показывает возможности видеокарт при обработке непростых сцен в режиме Smooth+Highlight.


Полигонов: 12413
Источников света: 8
Режим: Smooth+Highlights



12 . Анимированные “волны” с наложенной текстурой показывают скорость обработки и модификации текстур.


Полигонов: 880
Источников света: 1
Режим: Smooth+Highlights


В трех текстурных бенчмарках системы должны обсчитывать вращающиеся текстуры (в первом текстурном бенчмарке), производить коррекцию неподвижных текстур при вращающейся камере (во втором) и деформировать текстуру (в третьем).
Нетрудно догадаться, что в первом текстурном бенчмарке в первую очередь важна пропускная способность памяти и объем кеш памяти – поэтому Athlon «не дотягивает» до Pentium4 2.2GHz.
Коррекция текстур выполняется силами FPU, поэтому во втором бенчмарке Athlon2000+ вплотную приближается к Pentium4 2.2GHz. Также, увеличение кеш памяти дает прирост в 15%.
Обсчет деформации текстур также выполняется FPU, и в этом бенчмарке AthlonXP 2000+ показывает лучший результат, чем Pentium4 2.2GHz.

13 . Бенчмарк меряет скорость работы в режиме Wireframe. 111 тысяч полигонов в режиме wireframe станут серьезным тестом любой современной видеокарты.


Полигонов: 111270
Источников света: 1
Режим: Wireframe


Этот текстурный бенчмарк содержит ту же сцену, что и бенчмарк№4, однако в отличие от четвертого бенчмарка, здесь эта сцена визуализируется в рeжиме Wireframe. Поэтому в этом бенчмарке все зависит от мощности блока FPU – Ahtlon показывает результат, сравнимый с результатами процессоров Pentium4, работающих на частоте 2GHz, причем увеличение объема кеш памяти в этом тесте не дает никого прироста скорости.

Все вышеописанные бенчмарки рекомендованы для тестирования видеокарт компанией производителем 3DMAX, однако, как мы видели, они тестируют возможности видеокарт по отдельным функциям, и среди них нет “общих” тестов. Поэтому я добавил еще один бенчмарк - это сцена с восемью источниками света, 61371 полигоном и множеством прозрачных плоскостей. Сложность этого файла вполне типична на сегодняшний день, весь файл вместе с текстурами занимает более 6Mb. Анимация построена для наиболее лучшего тестирования - камера перемещается по комнате, захватывая все объекты. Вот как выглядит первый кадр после окончательного рендеринга:

Я использовал эту сцену для тестирования видеокарт как в режимах Wireframe, так и Smoth+Highlights. Поэтому получилсь два бенчмарка:

14 . Сцена в режиме Wireframe


Полигонов: 61371
Источников света: 8
Режим: Wireframe


Так как сцена в этом бенчмарке отражена в режиме Wireframe, то, как и в предыдущем бенчмарке, объем кеш памяти не оказывает заметного влияния, а результат AthlonXP2000+, благодаря производительному блоку FPU, оказался равен результату Pentium4 2.2GHz, который работает на более высокой на 50% частоте и имеет вдвое больший объем кеш-памяти.

15 . Та же сцена в режиме Smooth+HighLight


Полигонов: 61371
Источников света: 8
Режим: Smooth+HighLight


Так как сцена отражена в режиме Smooth+HighLight, то результаты Athlon не так хороши, как в предыдущем бенчмарке. Однако, результаты AthlonXP 2000+ равны результатам Pentium4 2.0GHz, и Athlon опять подтверждает свой рейтинг.
512Kb кеш-память вместо 256Kb, в этом бенчмарке, как и в большинстве бенчмарков со «средней» геометрией и режимом Smooth+HighLight, позволяет получить примерно 15% прибавку к скорости.

Тестирование скоростных характеристик при финальном рендеринге

Я производил финальный рендеринг трех сцен из поставки 3ds max4 с одними и теми же параметрами, в одном разрешении 800х600, так как процентное соотношение результатов тестируемых платформ одно для всех разрешений от 640х480 до 1600х1200. Вот эти сцены:

Таблица результатов (время в секундах: чем меньше, тем лучше):


Скорость финального рендеринга в первую очередь зависит от мощности блока FPU, поэтому в финальном рендеринг AthlonXP2000+ «выступил» лишь немного хуже, чем Pentium4 2.2GHz.

Выводы

По совокупности результатов во всех бенчмарках, тестирующих работу в окнах проекции, AthlonXP 2000+ показывает результаты, сравнимые с результатами Pentium4 2.0A GHz. Причем при работе в режиме Wireframe, AthlonXP2000+, благодаря исключительно мощному блоку FPU, демонстрирует результат, близкий или равный результату Pentium4 2.2GHz (несмотря на то, что последний работает на +50% тактовой частоте и имеет вдвое больший кеш). Поэтому, если большую часть времени Вы проводите за работой в режиме Wireframe, то AthlonXP2000+ - лучший выбор. В тестах на скорость финального рендеринга, результаты AthlonXP 2000+ тоже примерно равны результатам Pentium4 2.2GHz. Таким образом, при стоимости процессора AthlonXP 2000+ в 250 у.е. (и при стоимости Pentium4 2.0AGHz и 2.2GHz в 350 и 550 у.е. соответственно) и более дешевых материнских платах под него, платформа Socket462 является на сегодня самой выгодной в категории «цена-производительность». Однако самый быстрый процессор для 3DMAX – это Pentium4 2.2GHz.
Разница в производительности процессоров Pentium4 с объемом кеша в 256Kb и 512Kb в подавляющем большинстве тестов, имитирующих работу в окнах проекции и обсчет финального рендеринга, не превышает 5%, поэтому менять процессор с 256Kb кешем на новые процессоры с 512Kb кешем нет смысла. С другой стороны, покупать процессоры с меньшим кешем сегодня тоже бессмысленно – цены на процессоры с 265Kb и 512Kb кешем почти равны.

Лучшие статьи по теме