Понятие платформы. Несколько слов о тестировании сложных аппаратных комплексов

09.06.2019

Критерии оценки информационных технологий

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

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

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

Основная цель информационной технологии достигается за счет:

– интеграции информации;

– обеспечения актуальности и непротиворечивости данных;

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

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

Вопросы для самоконтроля

1. Дайте понятие информационной технологии.

2. Что является средствами информационных технологий.

3. Как разделяются информационные технологии по назначению.

4. Дайте понятие предметной информационных технологий.

5. Как делятся информационные технологии по принципу построения.

6. Дайте понятие функционально-ориентированной ИТ.

7. Дайте понятие объектно-ориентированной ИТ.

8. Назовите критерии оценки информационных технологий.

9. Назовите критерии классификации информационных технологий.

10. Назовите принципиальные отличия ИТ от технологии производства

1.3. Платформа в информационных технологиях

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

В информационных технологиях под термином «платформа» в широком смысле обычно понимается совокупность следую­щих компонентов:

аппаратного решения;

– операционной системы (ОС);

В более узком смысле выделяют следующие виды платформ:


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

– прикладная платформа – это средства выполнения и комплекс технологических решений, используемых в качестве основы для построения определенного круга прикладных программ;

– аппаратная платформа (hardware) – это совокупность совместимых аппаратных решений с ориентированной на них операционной

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

Заслуга фирмы IBM состоит именно и том, что она внедрила принцип «открытой архитектуры», выработала и утвердила единый стандарт на основные части персонального компьютера - комплектующие, оповестила всех об особенностях их конструкции, поощряя при этом производство совместимых с IBM PC компьютеров других фирм. В основу принципа «открытой архитектуры» была заложена возможность усовершенствования его отдельных частей и использования новых устройств. Фирма IBM сделала ПК не единым неразъемным устройством, а обеспечила возможность его сборки из независимо изготовленных частей.

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

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

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

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

В связи с тем, что в настоящее время фирма IBM – создатель первого в мире массового персонального компьютера – утратила свой приоритет в выпуске ПК, на Западе все реже употребляют термин «IBM-совместимые компьютеры», а используют понятие «платформа Wintel», подразумевая под этим сочетание микропроцессора фирмы Intel с операционной системой Windows. Микропроцессор при этом рассматривается как основа аппаратной платформы, которая определяет архитектуру персонального компьютера, т. е. его тип и характеристики.

Однако термин Wintel не совсем точно определяет понятие платформы, так как открытая архитектура современных IBM-совместимых персональных компьютеров позволяет собирать их из комплектующих, изготавливаемых различными фирмами-производителями, включая и микропроцессоры, которые в настоящее время выпускаются не только фирмой Intel, но и Advanced Micro Devices (AMD), Cyrix Corp. и др. Кроме того, IBM-совместимые ПК могут работать не только под управлением операционной системы Windows, но и под управлением других операционных систем.

Платформа IBM-совместимых компьютеров включает в себя широкий спектр самых различных персональных компьютеров: от простейших домашних до сложных серверов.

Кроме платформы IBM-совместимых ПК в настоящее время достаточно широкое распространение получила платформа Apple, представленная довольно популярными на Западе компьютерами Macintosh.

Специалисты по компьютерной истории отдают приоритет в создании ПК именно компании Apple. С середины 70-х г. эта фирма представила несколько десятков моделей ПК – начиная с Apple I и заканчивая современным iMac, – и уверенно противостояла мощной корпорации IBM.

В середине 80-х гг. компьютеры серии Macintosh стали самыми популярными ПК в мире. В отличие от IBM, компания Apple всегда делала ставку на закрытую архитектуру – комплектующие и программы для этих компьютеров выпускались лишь небольшим числом «авторизированных» производителей. За счет этого компьютеры Macintosh всегда стоили несколько дороже своих IBM-совместимых ПК, что компенсировалось их высокой надежностью и удобством.

Именно на компьютерах Apple впервые появились многие новинки, со временем ставшие неотъемлемой частью персонального компьютера: графический интерфейс и мышь, звуковая подсистема и компьютерное видео и т. д. Кроме того, и интерфейс самой Windows был частично скопирован с одной из ранних операционных систем Apple, созданной для компьютера Lisa.

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

В этом качестве компьютеры Apple используются сейчас в России (в США новые модели Apple используются и в качестве домашних ПК).

Несмотря на значительное падение интереса к Apple в начале 90-х г., к концу десятилетия они вновь вернули себе былую славу после выхода моделей с новым, уникальным дизайном (полупрозрачным, голубовато-то оттенка корпусом, мышью или принтером), рассчитанным на домашнего пользователя (настольные модели iMac и портативные iBook).

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

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

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

Существует два основных варианта решения проблемы совместимости компьютерных платформ:

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

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

Эмулятор – специальная программа, выполняющая каждую команду исходной программы посредством одной или нескольких команд ПК, на котором происходит эмуляция.

Существует несколько видов эмуляторов:

– эмуляторы-исполнители позволяют запускать программы, написанные для других операционных систем;

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

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

Предварительная подготовка

- Everyone please observe the fasten seat belt and no smoking signs have been turned on. Sit back and enjoy your ride.

Итак, по порядку.
Тестирование осуществляется на всех стадиях жизни аппаратуры. Тестирование бывает первоначальное (bringup), компонентное, функциональное, нагрузочное, производственное, и даже тестирование на заказчиках.

Еще на стадии разработки аппаратуры инженер думает о том, как он будет оживлять свое детище. Платы обсыпаются контрольными точками, отладочными коннекторами, перемычками, посадочными местами для запасных компонентов и прочим подобным. Совокупность возможностей для тестирования, заложенных в аппаратуру, называется DFT (Design for Testability). Плата, выпущенная в DFT фазе, может содержать в два раза больше компонентов, чем плата, вышедшая в тираж. Естественно, следуя принципу «работает – не трогай», потом ее никто не переделывает, и конечный потребитель недоуменно рассматривает пустующие посадочные места на материнской плате из магазина, придумывая различные конспирологические теории по поводу их предназначения.

Итак, забрали с фабрики наш борд – что делать дальше? Ну конечно же – воткнуть в розетку и выпустить из него весь белый дым.


- Everybody falls the first time.

Фотка из интернета, у нас жжёных плат не нашлось, но каюсь – иногда так и делается. На моей памяти есть давняя история, когда любопытный системный архитектор сидел и подбирал наугад, в какие разъёмы нужно воткнуть фазу, нейтраль и землю (ну вот не было у него времени заглянуть в схему), а рядом сидел разработчик и ловил бледного.

Но обычно всё происходит по-другому. Первая фаза тестирования – bringup (в народе «оживляш»).

Оживление Рождение

- Wake up, Neo...

Для bringup обычно изготавливается 3-5 образцов (в расчете на то, что как минимум два будут уничтожены в бреду дебага). Если в составе устройства есть дорогие чипы - на один из образцов они не устанавливаются. Фаб может предложить вам сэкономить на золоте - НИ В КОЕМ СЛУЧАЕ НЕ СОГЛАШАЙТЕСЬ (ну просто паять придется много и часто).

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

  • прозвонить землю-питание, там частенько есть КЗ;
  • визуально осмотреть плату – там запросто бывает перепутана полярность конденсаторов, чипы стоят вверх ногами, присутствует стружка, с лёгкостью можно найти пассивные компоненты, которые оторвали;
  • отдельно изучить – а не поставили ли вам на плату компоненты, которые вы просили не ставить (лайфхак: не делайте черную маску на первых сэмплах – на ней не видно установлены или нет чип-резисторы).
Наигрались с первой жертвой – идем пускать дым из боевой платы. При этом необходимо запастись пилотом с кнопкой отрубания питания и тепловизором. Пилот надо поставить под ногу, на случай если по рукам будет бить 220 В (ну или просто руки будут заняты), а в тепловизор можно увидеть КЗ.

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

И еще припаять немножко проводов:

Термоклей - наше все, лучший друг разработчика, почти как скотч в обычной жизни.
Сразу после Дремеля:

И молотка, которым приходится забивать бонки в плату, - не всегда выходит аккуратно.

Иногда приходится делать пациенту рентген или томографию. Выглядит это так:


Отсканировать плёнку, оказывается, не очень просто. Сняли телефоном на просвет напротив окна.

Конкретно на этом снимке не видно ничего - не вглядывайтесь. Но вообще на рентгене можно увидеть непропай, трещины и прочее подобное.

Отдельно стоит сказать про bringup материнских плат, потому что делается он по-другому. DFT сэмплов матерей обычно заказывается много – порядка 20 штук. Стоит это дорого, поэтому тут своя стратегия.

Берутся разработчики и отправляются на фабрику. Собирается порядка 5 плат и конвейер останавливается. Далее у разработчиков есть порядка 30 минут, чтобы плату включить (для x86-систем критерий успеха - загрузить BIOS). Если всем повезло - собираются остальные образцы. Если нет - производство отменяется, а разработчики едут домой думать. Деньги затраченные на PCB - потеряны, зато компоненты ждут на складе следующей попытки.

Хорошо - мы запустили нашу плату, и даже запустили другие, которые должны работать вместе с ней. Что дальше? Собираем стенд.
И тут вы, наверное, ожидаете увидеть такое?

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


- I didn"t say it would be easy, Neo. I just said it would be the truth.
(стакан для противовеса, фломастер - чтоб радиатор внатяг сидел - оно там проводом примотано)

В лабораторию набивается вот такая орда:

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

В нашем конкретном случае основная цель проверки совместной работы нескольких устройств - узнать, работает ли PCI Express, соответствует ли он стандарту. Просто без всего остального в принципе можно жить. Обычно функционал, закладываемый в железку, избыточен. Тонны GPIO выводов, I2C/SPI шин, термодатчиков, ледов и прочего, как правило, остаются невостребованными, так как их отладку откладывают на последний момент, который никогда не наступает.

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

Иногда видим опасный прищур:

А иногда ловим кальмаров:

Кальмары - самые опасные. Это нелинейные искажения, и встроенные эквалайзеры с таким бороться особо не умеют. Кальмары означают, что где-то в канале связи есть что-то очень плохое - слишком длинное переходное отверстие, существенный перепад импеданса, попадание какой-то неравномерности в 1/4 или 1/2 длины волны каких-то гармоник в полезной полосе и прочее подобное.

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

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

Ну и да - если вы планируете снимать глаза по интерфейсу I2C - забудьте, это будет очень очень очень медленно. Только in-band. Проблема в том, что для съема in-band у вашего устройства должен быть рабочий PCIe линк с компьютером, где работает тестовое ПО, что весьма проблематично, когда ваша железка не устанавливается в стандартный PCIe слот. И что самое забавное - у вас уже должен быть хоть как-то работающий линк на том канале, который вы отлаживаете, причем именно в том режиме (gen2/3) в котором вам нужно (ибо в разных режимах разные глаза и по разному работают эквалайзеры). Нет ножек, нет мультиков линка, нет глаз - вот как хотите, так и выкручивайтесь.

Про то, как выкручиваться с PCIe - я ранее написал отдельную .

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

В процессе проведения проверок иногда выясняется, что где-то что-то идет не так. И тогда начинается увлекательный процесс локализации ошибки, чтобы ее можно было исправить в следующей ревизии. И хорошо если это «не так» стабильно повторяется – тогда выяснить, что именно является причиной ошибки, как правило, не составляет труда. Но иногда все гораздо хуже. Например, на некоторых экземплярах плат при длительном прогоне тестов возникают одиночные некорректируемые ошибки на шине (которых быть не должно совсем). И вот здесь зачастую уже приходится применять метод «пристального взгляда» - то есть просто сидеть, гипотетически глядя на схему предполагать, что именно может быть причиной, пробовать эту гипотетическую причину устранить в схеме, и тестами уже проверить – угадали мы или нет.

Мы с подобным сталкивались несколько лет назад, когда тесты NVIDIA (да, многие производители предоставляют специфические наборы тестов, которые позволяют проверить вещи, недоступные программным путем при использовании стандартных утилит) давали редкие одиночные ошибки при длительных (сутки и более) прогонах на некоторых экземплярах плат. Тогда все дело оказалось в неудачной трассировке референсного клока (100 MHz) - хотя прежде чем мы к этому пришли, проверено было много всего, начиная от качества питания и заканчивая глазковыми диаграммами по всем линиям.

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

Проверка по списку

- All I do is what he tells me to do.

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

А… я же не сказал, что функциональное тестирование не означает собранную готовую к бою систему. Тут тоже бывает не все гладко. В какой-то момент оказалось что у нас нет в запасе OcuLink кабелей нужной длины, и у сервера появились кишки.

И почему-то вот в такой вот конфигурации при нагрузочном тесте все начало перегреваться. До сих гадаем - почему. Кабели грелись, наверное.

А два арбуза в каждой руке унести сможешь?

- You"re faster than this. Don"t think you are, know you are…

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

Кроме того, здесь помогают отладочные средства от производителя аппаратной платформы (например, Hardware Tests Executive от IBM). Таким образом можно загнать процессор в совсем предельные режимы, принципиально недостижимые при работе реальных приложений. Основные проблемы, выявляемые при нагрузочном тестировании – перегрев, нестабильность питания или перегрузка по максимальному току, ошибки при активной работе с интерфейсами ввода-вывода.

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

На стадии тестирования мы используем в основном микробенчмарки:
Для процессоров это обычно однопоточные нагрузки, типа spec2006 (сейчас уже speccpu2017 ), parsec , но вообще их огромное количество от сборки ядра linux и компрессии (lzma , gzip ), до перемножения матриц и вычисления быстрого преобразования Фурье (fftw ).
Для памяти много лет ничего не меняется: STREAM , RAMspeed SMP , lmbench .

Для дисков: fio , iozone .

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

P.S.: После того как мы на функциональных тестах первой ревизии сервера все проверили и обрадовались, у нас в лаборатории внезапно обвалилось три сервера. Мы начали проверять питание и на линии 1.2В (питание шины PCIe процессоров) увидели вот такое:

Акцентирую ваше внимание - одна клетка 500mV. Номинал 1.2 В. Резистором ошиблись в цепи компенсации одного из VRM. Вот с таким вот питанием были успешно пройдены все нагрузочные тесты, бенчмарки, прожарки и прочее подобное, и дизайн радостно поехал на вторую ревизию.
Так что, когда на Вашем уютном домашнем компьютере именитого бренда внезапно появляется экран смерти - не стоит думать, что это непременно «глючит винда».

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