Главная » Статьи » Мобильные процессоры » Nvidia Tegra

Nvidia Tegra 2 - архитектура и производительность
Nvidia Tegra 2
Общеизвестно, что в последние несколько лет развитие рынка настольных ПК серьёзно замедлилось, зато рынок различных мобильных гаджетов, вроде портативных медиаплееров, смартфонов и планшетов, переживает всплеск интереса покупателей. В настоящее время всё важнее для пользователей становятся уже не стационарные ПК, установленные дома и на работе, а мобильные гаджеты, которые всегда рядом.
Так как смартфоны и планшеты потихоньку становятся важнее компьютеров и ноутбуков, пользователи начинают требовать от них всё большего. Большей производительности, функциональности, качества изображения и т. д. Теперь мобильному телефону недостаточно просто уметь звонить и отправлять SMS-сообщения, у него должен быть удобный интерфейс и функциональность почти как у настольного ПК.
Коммуникатор (смартфон, суперфон - как их только не называют) должен предоставить полноценный браузер для просмотра HTML-страниц в интернете, должен уметь проигрывать различные видео- и аудиоформаты, в том числе HD-разрешения, предоставить возможность играть в трёхмерные игры с качеством, как у настольных консолей недавнего времени, и при всём этом должен обладать большой автономностью и работать от батарей хотя бы один день при активном использовании этих возможностей.
Всё это приводит к гонке вооружений уже не в ПК и консолях, а в мобильных гаджетах: смартфонах, планшетах и нетбуках. Беспрестанно наращивается мощность (а с недавних пор и количество) ядер в процессорах мобильного применения, улучшаются функциональные возможности, а с ростом качества и разрешения дисплеев растут и требования к скорости графических ядер.
Современные мобильные графические ядра должны уметь не просто рисовать двухмерную картинку, но и ускорять декодирование видеоданных, flash-игр и роликов, а также уметь отрисовывать и трёхмерные сцены с приличным качеством (сложное освещение, тени, качественные текстуры и их фильтрация, полноэкранное сглаживание и т. п.) и скоростью, соперничая с консолями чуть ли не текущего поколения.
Все эти требования пользователей и привели к бурному росту мобильного рынка и, соответственно, систем на чипе, на которых основаны практически все современные мобильные гаджеты.

Архитектура ARM

Архитектура ARM (Advanced RISC Machine - усовершенствованная RISC-машина, ранее Acorn RISC Machine) - это 32-битная вычислительная архитектура с сокращённым набором команд (RISC), разработанная компанией ARM Limited, которая продолжает заниматься её совершенствованием. Процессоры этой архитектуры получили широкое применение во встраиваемых системах и мобильных гаджетах. Для примера - практически все мобильные телефоны оснащены хотя бы одним вычислительным ядром ARM, и общее их количество перевалило уже за второй десяток миллиардов.
В последние годы архитектура ARM очень серьёзно усилила свои позиции - всё больше и больше  гаджетов используют процессорные ядра, созданные на её основе. Уже сейчас большинство смартфонов, планшетов и других мобильных систем используют ARM-архитектуру. Плюс к этому - уже существующие смартбуки и нетбуки с ARM-процессорами, и даже пока что редкие настольные системы. И есть предпосылки (например, будущий выход ARM-версии Windows 8 и разработка гибридных процессоров с ARM-ядрами компанией NVIDIA) к тому, что скоро их будет значительно больше.
ARM Limited - это британская корпорация, один из крупнейших разработчиков архитектуры 32-разрядных RISC-процессоров ARM. Компания была основана как совместное предприятие Acorn Computers, Apple Computer и VLSI Technology. В компании за много лет был разработан ряд 32-разрядных RISC процессоров, отличающихся функционально и по производительности. Компания предоставляет производителям SoC лицензии на свою архитектуру, а те разрабатывают свои чипы на её основе. Данная архитектура часто используется ими потому, что она отличается низким энергопотреблением и весьма высокой эффективностью, то есть является оптимальной платформой для мобильных гаджетов.
История архитектуры ARM началась в компании Acorn, которая приступила к разработке собственного процессора Acorn RISC Machine в 1983 году. Первый процессор под названием ARM1 был произведен партнёром в лице компании VLSI Technology в 1985 году, первые производственные системы ARM2 начали производиться в 1986 г, а Acorn Archimedes - компьютер, полностью построенный на ARM, был выпущен в 1987 году. В конце 1990-х годов в работу над новыми версиями ядра включилась и Apple Computer, а команда разработчиков была реорганизована в новую компанию под названием Advanced RISC Machines, которая затем стала называться просто ARM. Совместная работа с Apple привела к созданию архитектуры ARM6, которая воплотилась в процессоре ARM 610, использованном в известном Apple Newton — одном из первых карманных ПК. Интересно, что ядро ARM мало изменялось по сложности в течение времени - ARM2 и ARM6 были сравнимы по количеству транзисторов.
Процессоры, основанные на архитектуре ARM, разрабатываются компанией ARM Limited и лицензировавшими её компаниями и широко используются в потребительской электронике: мобильных телефонах, цифровых носителях и плеерах, портативных игровых консолях и периферийных устройствах, вроде жёстких дисков и сетевых маршрутизаторов. Среди них такие продукты, как Apple iPod, цифровые фотоаппараты разного уровня - от любительской Canon PowerShot A470 до полупрофессиональной Canon EOS 5D Mark II, карманные консоли Nintendo DS и Game Boy Advance, автомобильные навигаторы, внешние дисковые накопители Western Digital MyBook II, а также многое другое. Естественно, что ядра в этих гаджетах применяются разные, но все они основаны на 32-разрядной архитектуре ARM.

Семейства архитектуры ARM:
ARMv1: ARM1
ARMv2: ARM2, ARM3
ARMv3: ARM6, ARM7
ARMv4: StrongARM, ARM7TDMI, ARM9TDMI
ARMv5: ARM7EJ, ARM9E, ARM10E, XScale
ARMv6: ARM11
ARMv7: Cortex

Компания ARM никогда не старалась выпускать процессоры сама, она просто решила продавать лицензии на производство вычислительных ядер созданной ими архитектуры. ARM предлагает условия лицензирования на выбор, которые отличаются по стоимости и некоторым деталям. Компания предоставляет описание аппаратной части ядра и набор средств разработки программного обеспечения. Лицензиаты используют эту возможность для создания собственных микропроцессоров и микроконтроллеров. Производители объединяют ядро ARM с другими блоками в системе на чипе, получая готовый кристалл с нужными характеристиками.
Архитектуру ARM отличают некоторые особенности RISC: архитектура загрузки/хранения, отсутствие поддержки нелинейного доступа к памяти, фиксированная длина команд в 32 бита для упрощения декодирования, исполнение в один цикл. Одним из отличий ARM от некоторых других архитектур является возможность условного исполнения команд - в архитектуру заложена возможность условного исполнения почти любой команды. Ещё одна особенность набора команд - возможность соединять две инструкции (сдвиг и арифметическую операцию) в одну.
ARM7 и ранние семейства имеют трехступенчатый конвейер, а современные архитектуры отличаются более сложными конвейерами. Так, Cortex-A8 имеет аж 13-ступенчатый конвейер. Есть в новых ARM-процессорах и специализированные расширения, такие как расширение SIMD, называемое технологией NEON. Это 64- и 128-битный набор команд SIMD, обеспечивающий ускорение для выполнения задач по обработке потоковых данных (аудио, видео и т. д.). Технология Vector Floating Point (VFP) - расширение сопроцессора, которое производит вычисления над числами с плавающей запятой одинарной и двойной точности, вроде кодирования аудиоданных, 3D-графики и др. Поддержка разных наборов расширений обеспечивается не во всех семействах ядер ARM:
Nvidia Tegra 2_1
Процессоры архитектуры ARMv5 и ARMv4 до сих пор используются в не очень сложных гаджетах, так как позволяют обойтись меньшими затратами за лицензии. Процессоры ARMv6 значительно производительнее, но уже существуют и процессоры семейства ARMv7, также известные как Cortex. Они отличаются ещё большей скоростью и энергоэффективностью и делятся на подвиды: Cortex-A применяется в смартфонах, Cortex-R созданы для приложений реального времени, а Cortex-M - для микроконтроллеров. Вот как они отличаются по возможностям и производительности (схематично):
Nvidia Tegra 2_2
Лицензиаты, не имеющие собственного производства и желающие включить ядро ARM в свой чип, часто выбирают лицензию на готовое к производству и проверенное ядро. Но некоторые производители, желающие изменить дизайн вычислительного ядра, выбирают лицензию на ARM-ядро в виде RTL-описания на языке моделирования электронных систем Verilog (Verilog Hardware Description Language). В таком случае, производитель может выполнить некие модификации ядра на архитектурном уровне, а также ввести свои расширения. Это позволяет добиться лучших показателей по частоте, потреблению энергии, а также даёт возможность специализировать ядро под конкретные задачи. Естественно, чем менее производительно выбранное лицензируемое ядро ARM, тем меньше будет стоить лицензия на него.
Лицензиями на ARM в разных формах обладает множество компаний: Apple, Analog Devices, Atmel, Broadcom, Cirrus Logic, Freescale, Fujitsu, Intel, IBM, Infineon Technologies, Marvell Technology Group, Nintendo, NVIDIA, NXP Semiconductors, Qualcomm, Samsung, Sharp, STMicroelectronics, Texas Instruments и многие другие.
Архитектура ARM поддерживается различными Unix и Unix-подобными операционными системами: Linux, BSD, QNX, Solaris, iPhone OS, WebOS и Android. Приходу ARM на рынки, на данный момент занятые x86-совместимыми процессорами, мешает отсутствие поддержки ещё более распространённой операционной системой Microsoft Windows. Но в начале 2011 года компания Microsoft заявила о поддержке ARM-процессоров в следующем продукте серии - Windows 8. При этом компания уже продемонстрировала работу предварительной версии ARM-системы на выставке CES 2011 и позднее, в том числе на системе NVIDIA Tegra.

NVIDIA Tegra 2

Как мы уже писали, рынок систем на чипах - один из наиболее быстрорастущих, и каждый год возможности для производителей на нём расширяются. Немудрено, что в условиях относительного застоя на рынке графических решений для ПК компания NVIDIA, известная своими графическими решениями для настольных систем, решила обратить на него своё внимание. Ожидается, что в скором будущем доход от рынка SoC-решений для NVIDIA может превысить доход от рынка ПК-решений. И NVIDIA очень плотно вгрызается в этот кусок, выпуская всё новые и новые модели.
Nvidia Tegra 2_3
Модельный ряд первого поколения систем на чипе Tegra компании NVIDIA состоял из процессоров Tegra APX 2500, Tegra APX 2600, Tegra 600 и Tegra 650, предназначенных для разных сегментов рынка. Первая модель серии Tegra - APX 2500 - была анонсирована в феврале 2008 года, а вся линейка Tegra 1 была представлена в июне на тайваньской выставке Computex 2008.
Позднее, в начале 2009 года, была анонсирована модификация Tegra APX 2600, также была показана версия Android для процессоров Tegra. Первым гаджетом на базе системы на чипе NVIDIA стал медиаплеер Microsoft Zune HD, основанный на чипе Tegra APX 2600, который вышел в сентябре 2009 года, а затем появилось аналогичный гаджет Samsung - медиаплеер M1.
И на этом список гаджетов на первом поколении систем на чипе NVIDIA, по сути, закончен. Оно явно не пользовалось большой популярностью из-за нескольких недостатков и просчётов. Во-первых, эта SoC не слишком выделялась среди аналогичных продуктов других производителей, во-вторых — её распространённость страдала из-за политики NVIDIA, которая не собиралась продавать свои чипы мелким производителям в небольших объёмах.
Второе поколение Tegra - модель Tegra 250 - было представлено на выставке Consumer Electronics Show в январе 2010 года. Именно с Tegra 2 компания NVIDIA и вошла наконец-то в список производителей SoC, широко используемых в мобильных гаджетах. Tegra 2 уже используется во множестве смартфонов и планшетов, и этот список будет только расширяться.

Спецификации моделей линейки NVIDIA Tegra:

Серия Tegra APX

Модель Tegra APX 2500:
Процессор ARM11 MPCore 600 МГц
Поддержка флэш-памяти NOR или NAND и мобильной DDR
Графическое ядро GeForce ULV с поддержкой OpenGL ES 2.0, Direct3D Mobile и программируемых шейдеров
Обработка изображений с камеры до 12 мегапикселей
Поддержка вывода изображения разрешением до 1280×1024
Интерфейс IDE для SSD
Поддерживаемые видеоформаты: H.264 и VC-1 с разрешением до 720p
Поддержка разъёмов: HDMI, VGA, композитный видеовыход, S-Video, USB (в т. ч. USB On-The-Go) 

Модель Tegra APX 2600:
Улучшенная поддержка флэш-памяти NAND
Поддерживаемые видеоформаты: кодирование и декодирование H.264 Baseline Profile с разрешением до 720p, декодирование VC-1/WMV9 Advanced Profile с разрешением до 720p, кодирование и декодирование D1 MPEG-4 Simple Profile

Серия Tegra 6xx

Модель Tegra 600 (предназначена для GPS-навигаторов и автокомпьютеров):
Процессор ARM11 MPCore 700 МГц
Поддержка памяти LPDDR (DDR333, 166 МГц)
Поддержка разъёмов: HDMI, USB
Поддержка цифровой камеры с кодированием и декодированием видеоданных в разрешении до 720p 

Модель Tegra 650 (предназначена для нетбуков, смартбуков и других мобильных гаджетов):
Процессор ARM11 MPCore 800 МГц
Поддержка памяти LPDDR (DDR400, 200 МГц)
Поддержка цифровой камеры с кодированием и декодированием видеоданных
Поддержка разъёмов: HDMI v1.3, WSXGA+ LCD и CRT, NTSC/PAL ТВ-выход
Поддержка Windows Mobile
Энергопотребление менее 1 Вт

А вот - более подробные технические характеристики второго поколения Tegra, как их представляет компания NVIDIA:
Nvidia Tegra 2_4
В этом году вышли специальные версии с поддержкой стереодисплеев, также имеющие более высокие тактовые частоты для ядер CPU и GPU. На основе модели Tegra 250 AP20H выполнены следующие смартфоны: LG Optimus 2X, Motorola Atrix 4G, Motorola Droid X2, Samsung Galaxy S II (модель i9103), T-Mobile LG G2x, Samsung Galaxy Z и др.
На основе модели Tegra 250 T20 производится несколько планшетных компьютеров: Acer Iconia Tab A100 и A500, LG Optimus Pad, Adam tablet, Olivetti OliPad 100, Point of View Mobii 10.1, ViewSonic G, Motorola Xoom, Toshiba AC100, Toshiba Folio 100, ASUS Eee Pad Transformer, Aigo n700, Dell Streak 7, Malata Tablet Zpad, Toshiba Thrive, Samsung Galaxy Tab 10.1, T-Mobile G-Slate, Dell Streak Pro и др.
Рынок систем на чипе для мобильных гаджетов и до прихода туда NVIDIA развивался семимильными шагами, но калифорнийская компания своими решительными действиями заставила расшевелиться такие компании, как Qualcomm, Texas Instruments и Samsung. Каждая из компаний, выпускающих системы на чипе, имеет несколько отличающуюся стратегию проектирования и выхода на рынок. Некоторые компании стараются использовать архитектуру ARM в её неизменном виде, строя свои SoC на основе стандартных ARM-ядер. Компании Qualcomm и NVIDIA осуществляют модификации в вычислительных ядрах, делая упор на различные способности своих систем. Так, у решений Qualcomm выше степень интеграции, а NVIDIA Tegra 2 стала не только первым двухъядерным SoC-чипом на основе пары ядер Cortex-A9, но и удивила своим мощным графическим ядром и продвинутой системой контроля потребления энергии.
Со времени выхода Tegra 2 на рынок утекло много времени, и теперь двухъядерные аналоги Tegra 2 есть у большинства остальных производителей: Apple, Qualcomm, Samsung, TI и т. д. Да и графические ядра у альтернативных решений по возможностям и скорости подтянулись к уровню GeForce ULV. Однако на горизонте уже маячит следующий шаг NVIDIA - Tegra 3.
Планы о выпуске решения, которому было присвоено весьма нехорошо звучащее для русского слуха кодовое имя Kal-El, были анонсированы в феврале текущего года на Mobile World Congress в Барселоне. Это уже четырёхъядерная система на чипе, предназначенная для планшетов, которые должны появиться ближе к концу текущего года. Тогда можно ожидать выхода нескольких первых моделей планшетов, основанных на этом чипе.
Из технических характеристик NVIDIA Tegra 3 (кодовое имя «Kal-El») известно то, что он будет основан на четырёх ядрах ARM Cortex-A9, работающих на частотах до 1,5 ГГц и имеющих поддержку набора инструкций NEON (налицо работа над ошибками предыдущего поколения), графическое ядро этой системы будет иметь уже 12 шейдерных ядер, возможность декодирования видеоданных формата H.264 High Profile в разрешении 1920×1080, а также сможет выводить изображение разрешением до 2560×1600, в том числе в стереоскопическом режиме.
Точная дата выхода новой системы на чипе NVIDIA неизвестна, но он должен состояться до конца этого года. По оценкам NVIDIA, производительность Tegra 3 превысит скорость предыдущего поколения в пять раз, хотя новый чип будет использовать всё тот же техпроцесс 40 нм тайваньской компании TSMC. Пока что непонятно, как NVIDIA смогла удержать размер нового кристалла SoC и его потребление в рамках приемлемого для мобильных гаджетов. Придётся подождать официального выхода Tegra 3, чтобы узнать все подробности.
Но сегодня мы говорим о втором поколении систем на чипе NVIDIA Tegra. NVIDIA Tegra 2 состоит из восьми базовых блоков, решающих разные задачи. Два основных ядра имеют ARM-архитектуру Cortex-A9, они выполняют универсальные вычисления. Оригинальные решения под маркой Tegra использовали одно ядро ARM11, которое довольно слабо по современным меркам. А с Tegra 2 разработчики решили пропустить Cortex-A8 и сразу же перейти к более эффективному и производительному Cortex-A9. Другие специализированные ядра SoC - это графический процессор GeForce, состоящий из восьми вычислительных блоков, и ядра, отвечающие за обработку и кодирование звука, видеоданных и статичных изображений, а также — контроллеров HDMI, USB, экрана и т. п.
В составе Tegra 2 есть специализированный блок для декодирования и кодирования звуковых данных. Этим блоком занимаются инженеры бывшей компании PortalPlayer, купленной NVIDIA в 2007 году. Решения PortalPlayer известны тем, что использовались в нескольких поколениях Apple iPod, так что приобретённые люди знают толк в деле создания SoC и их аудиочасти в частности. NVIDIA утверждает, что встроенный в Tegra 2 аудиоблок потребляет очень мало энергии при декодировании звука в MP3-формате.
Ядра для кодирования и декодирования видеоданных этой системы имеют неплохие возможности. Кодирование видео возможно в формате H.264 вплоть до разрешения 1080p, что больше, чем 720p в первой версии Tegra. Сейчас такое разрешение весьма востребовано в современных смартфонох верхнего ценового диапазона - все они умеют записывать видео с камеры в разрешениях до 1920×1080.
Блок декодирования видео в Tegra 2 ускоряет проигрывание самых важных форматов, включая 1080p в формате H.264 High profile при высоких битрейтах и сравнительно небольшом энергопотреблении. Хотя сейчас этим уже сложно кого-либо удивить, год назад эти характеристики были весьма неплохими, и NVIDIA заявляла, что конкурирующие SoC чаще всего потребляют при выполнении таких задач значительно больше энергии, используя программное декодирование на ARM-ядре. Но с тех пор уже практически все производители систем на чипе научили свои решения энергоэффективному декодированию видео.
Ещё одно ядро в Tegra 2 используется для обработки статичных изображений, получаемых с цифровых камер. Этот блок поддерживает обработку изображений с сенсоров разрешением до 12 мегапикселей, с автоматической фокусировкой, автоматическим балансом белого и другой типичной обработкой фотографий.
Для вывода изображения на дисплеи используется графическое ядро GeForce. Архитектурно это решение аналогично тому, что использовалось в первом поколении Tegra, но имеет в 2-3 раза увеличенную производительность за счет повышенных частоты и эффективности, а также расширенной пропускной способности видеопамяти. Последнее стало доступным вследствие поддержки LPDDR2 вместо LPDDR1 у первой Tegra. Подробнее о графическом ядре Tegra 2 читайте далее.
Оставшееся восьмое вычислительное ядро Tegra 2 (как и в Tegra 1) имеет ARM7-архитектуру и используется для управления самой системой. Ядро обрабатывает потоки данных, занимается управлением остальными блоками, отключает незадействованные блоки, экономя энергию. При этом Tegra 2 даже при полной загрузке потребляет всего до одного ватта, что также облегчает задачу организации охлаждения. То есть один чип умеет почти всё, и производителю телефона остаётся спроектировать печатную плату, разведя на ней SoC-чип, подключив питание, дисплей и периферийные устройства.
На примере Tegra 2 хорошо видно, что SoC состоят из нескольких блоков, каждый из которых предполагает выполнение сравнительно узкоспециализированной, требующей вычислительных ресурсов, задачи. Именно поэтому система на чипе может обеспечить выполнение сравнительно сложных задач, с которыми плохо справлялись даже мощные центральные процессоры не такого давнего прошлого.
Даже с учётом того, что современные CPU такие задачи легко решают, у SoC вроде Tegra 2 остаётся преимущество в энергопотреблении. Системы на чипе обычно требуют гораздо меньше энергии для выполнения задач декодирования и кодирования видео, а это - важнейшее преимущество для мобильных гаджетов. А системы Tegra как раз ведь и встраиваются в такие гаджеты, как смартфоны, планшеты и смартбуки.
Встроенные в современные SoC графические ядра также весьма хороши по возможностям и функциональности. Мощная GPU-часть очень важна для телефонов и планшетов, так как они предназначены в том числе и для трёхмерных игр, уже использующих довольно сложные 3D-движки. Ещё одним важным применением мощностей графического ядра является воспроизведение анимированных роликов в формате Adobe Flash, на что у слабых SoC порой не хватает ресурсов, если Flash-игра требовательна к вычислительной мощности или веб-сайт активно использует Flash или полностью на нём основан.
А вот что было у Tegra 1, но отсутствует в Tegra 2, так это модем сотовой связи. NVIDIA решила делать SoC с богатыми вычислительными возможностями, которые не требуют тестирования в FCC - Федеральном агентстве по связи США. Такой подход несколько снижает степень интеграции устройств на SoC, но зато позволяет ускорить выход решения на рынок. Кроме того, в мире используются разные стандарты мобильной связи, а планшеты и вовсе могут не иметь модемов в своём составе, так что решение убрать модем из системы на чипе Tegra 2 имеет и практический смысл. Однако некоторые конкуренты, вроде компании Qualcomm, предпочитают включать в свои SoC даже GPS, что не является стандартной практикой, но позволяет сделать более простые печатные платы и теоретически даёт выигрыш в размерах и массе гаджетов.
Nvidia Tegra 2_5
Что касается производства чипов, то этим занимается привычный партнёр NVIDIA - тайваньская компания TSMC. Первая версия Tegra выпускалась по техпроцессу 65 нм, а вторая использует уже мощности 40 нм, что позволило значительно увеличить транзисторный бюджет во второй версии. В итоге, Tegra 2 имеет порядка 260 миллионов транзисторов, и для систем на чипе, предназначенных для мобильных гаджетов, это довольно сложный чип, особенно на момент его выхода. Размер всего кристалла составляет порядка 49 мм², что также немало для рынка смартфонов и других мобильных гаджетов. При этом пара ядер Cortex-A9 занимают лишь примерно по 10% от общей площади каждый.

Многозадачность и многопоточность

Для объяснения необходимости двух и более вычислительных ядер в мобильных системах нужно сделать некоторое отступление. Несколько десятков лет ПК-процессоры имели лишь по одному ядру, и их производительность росла, прежде всего, из-за увеличения тактовой частоты, усложнения архитектуры и постоянного совершенствования техпроцессов. Затем настольные процессоры упёрлись в предел, когда повышение частоты и усложнение ядра вызывает слишком большой рост энергопотребления и тепловыделения, и начался рост количества вычислительных ядер в процессоре, ограниченный потреблением энергии и сложностью чипов. И сейчас большинство CPU имеют два, четыре, а то и шесть ядер, при этом потребляют в типичных задачах меньше энергии, чем их одноядерные предшественники.
Современные мобильные гаджеты выполняют множество задач, таких как Интернет-сёрфинг, проигрывание видеоданных, мобильных игровых приложений, привычных для смартфонов сервисов вроде текстовых сообщений и навигационных программ. Из-за распространения высокоскоростного доступа в Интернет при помощи беспроводных сетей (3G и Wi-Fi), мобильные гаджеты начинают использоваться и для решения тех задач, которыми раньше занимались только более мощные настольные ПК.
Среди таких задач есть и весьма требовательные к вычислительной мощности - проигрывание видео высокого разрешения, мобильные игры, Flash-анимация и потоковое видео и др. Предыдущее поколение мобильных процессоров не всегда справлялось с такими задачами без проблем. Одноядерные SoC, как и настольные CPU, сильно сдают в производительности при одновременном запуске нескольких требовательных задач или одной современной игры.
Для того чтобы улучшить производительность, в SoC также использовались всё более новые техпроцессы, увеличение тактовой частоты и рабочего напряжения CPU, увеличение сложности чипов. При этом выше определённого уровня становится тяжело увеличить производительность, так как начинает сильно расти потребление энергии и тепловыделение, так что повышение частот и увеличение сложности чипа попросту становится невыгодным.
Для того, чтобы обеспечить дальнейший рост производительности систем на чипе, индустрия перешла на многоядерные решения и многопоточное программное обеспечение. Мобильные гаджеты вроде смартфонов и планшетов получают от многоядерности ещё большую пользу, чем настольные собратья, так как для них очень важен срок автономной работы от батарей. Tegra 2 и последовавшие за ней двухъядерные SoC от конкурентов стали обычным делом в 2011 году, а совсем скоро предполагается выход и четырёхъядерных гаджетов, и по слухам, первым таким решением будет Tegra 3.
Чтобы понять преимущества таких решений в смартфонах и планшетах, достаточно представить типичный случай одновременного запуска приложения GPS-навигации и проигрывания потокового видео. При этом операционная система назначит одной задаче первое ядро SoC, а другой - второе. Вот ещё один пример - специально написанное многопоточное приложение, вроде современной мобильной игры. В обоих случаях работа будет эффективно разделяться между двумя ядрами системы и они при этом могут работать на сниженной частоте для достижения большей энергоэффективности, ведь низкая частота требует значительно меньшего напряжения.
Вкратце подытожим, перечислив преимущества многоядерных систем и многопоточных приложений: меньшее энергопотребление и лучшая энергоэффективность, большая производительность в наиболее требовательных приложениях, таких как игры, меньшее время отклика пользовательских интерфейсов и эффективная многозадачность. Многопроцессорные системы уже поддерживаются операционными системами Android, Windows CE и даже Symbian, да и популярное программное обеспечение вроде браузеров и игровых приложений уже сейчас эффективно распараллелено, что даёт ускорение на многоядерных системах. Хотя расти ещё есть куда.

Вычислительные ядра ARM в Tegra 2

Ядра Cortex-A9 MPcore, применённые в Tegra 2, используют набор инструкций ARMv7. Архитектура этого ядра выросла из предыдущего поколения ARM Cortex-A8 и включает несколько улучшений. В первую очередь отметим высокоэффективный восьмистадийный конвейер с внеочередным запуском команд (out of order), который позволяет исполнять инструкции в более эффективном порядке для снижения количества простоев из-за задержек и конфликтов.
Ядро ARM11 имеет конвейер из 8 стадий с одновременным исполнением одной целочисленной команды по порядку (in order), а Cortex-A8 увеличило его ширину до двух команд и длину до 13 стадий. Эти изменения позволили увеличить рабочие тактовые частоты чипа. Отличия ядра Cortex-A9 в том, что в нём вернулись к 8-стадийному конвейеру, оставив возможность одновременного исполнения двух команд и перейдя к внеочередному (out of order) исполнению команд.
Предыдущие поколения использовали конвейер с выполнением команд по очереди (in order) и страдали от задержек при выполнении разветвлённого кода и промахов кэшей. Также у них не было поддержки предсказания ветвлений, предназначенных для увеличения эффективности исполнения ветвящегося кода, а Cortex-A9 решил эти проблемы.
При всём этом, максимальная рабочая частота A9 может превышать 1 ГГц, хотя в первоначальной версии Tegra 2 было выбрано именно это значение. Это очень большой шаг в производительности, по сравнению с предыдущими ядрами ARM. Более высокая частота, сравнительно короткий конвейер и возможность внеочередного выполнения инструкций - всё это даёт огромное преимущество над Cortex-A8 и тем более ARM11. Даже при сравнении одного ядра A8 или ARM11 против одного A9 последний будет явно быстрее, а ведь их два. NVIDIA стала первой компанией, выпустившей SoC на основе двух ядер Cortex-A9, ну а чуть позднее подтянулись и остальные производители.
В Tegra 2 используется высокоэффективное двухуровневое кэширование. Каждое из ядер Cortex-A9 в Tegra имеет кэш первого уровня L1 отдельно для инструкций и данных, объёмом по 32 килобайта каждый. Кэш-память второго уровня разделяется между ядрами на чипе, что важно для эффективной многоядерной работы. Его объём составляет 1 МБ, что довольно много для мобильного гаджета.
Nvidia Tegra 2_6
По сути, в системах на чипе происходит примерно тот же самый прогресс, что мы наблюдали ранее в настольных процессорах. И переход к внеочередному исполнению команд, и удлинение конвейера и добавление второго вычислительного ядра - всё это мы уже видели. Правда, всё произошло несколько быстрее, так как многопоточный код уже стал вполне привычным даже для мобильных гаджетов, да и многозадачность уже вполне успешно используется и в них. А для хорошей производительности в таких условиях крайне желательно иметь хотя бы пару мощных CPU ядер, хотя даже одно Cortex-A9 ядро будет заметно быстрее процессора с более старой архитектурой.
Вместе с выходом Cortex-A8 компания ARM представила и свой собственный набор команд для векторных вычислений - NEON, который является аналогом SSE в настольных процессорах. Производители систем на основе ядер Cortex-A9 могут выбирать, использовать им привычный сопроцессор ARM FPU или более мощный NEON. К сожалению, NVIDIA выбрала FPU вариант, который оказался меньше по сложности и который было легче упаковать в и так немалый чип Tegra 2. А ведь даже некоторые менее мощные конкурирующие решения имеют поддержку этого набора команд, и поэтому они теоретически имеют лучшие возможности по программному декодированию видеоданных и аудиоданных.

Графическое ядро GeForce ULV

Конвейер графического ядра NVIDIA Tegra и Tegra 2 схож со стандартным конвейером, описанным спецификациями OpenGL 2.0, но имеет некоторые оптимизации для увеличения производительности. Так как компания NVIDIA является одной из лидирующих компаний на рынке графических решений, немудрено, что GeForce GPU в системах Tegra имеет много общего с настольными архитектурами компании недавнего прошлого, но мобильная версия специально доработана для того, чтобы потреблять как можно меньше энергии. Для этого применено улучшенное управление питанием с несколькими уровнями динамического изменения частоты и напряжения, а также отключения простаивающих блоков.
Nvidia Tegra 2_7
Графическое ядро GeForce в Tegra поддерживает программируемые вершинные и пиксельные шейдеры, имея по четыре блока для выполнения пиксельных и вершинных программ, соответственно. В пиксельном конвейере используются расчёты с внутренней FP20 точностью, а в вершинном - полноценные FP32. Текстурные блоки графического ядра поддерживают анизотропную фильтрацию, по качеству не уступающую той, что мы видим на настольных видеокартах. Также поддерживаются и продвинутые функции, такие как High Dynamic Range форматы, одновременный рендеринг в несколько буферов (Multiple Render Target), и форматы текстурного сжатия DXT и ETC.
GPU в Tegra 2 имеет поддержку функциональности, которая снижает потребление энергии при сохранении высокого качества и производительности рендеринга, по сравнению с настольными решениями. Некоторые из таких особенностей: алгоритм отбрасывания невидимых пикселей Early-Z, кэш-память для пикселей, текстур, вершин и атрибутов, поддержка режима полноэкранного сглаживания Coverage Sampling Anti-aliasing (CSAA), известного по настольным решениям компании, улучшенная анизотропная фильтрация для текстур, специальные функции по управлению питанием для снижения энергопотребления.
Графический блок Tegra 2 поддерживает специально разработанный для мобильных решений режим сглаживания 5x CSAA, с одной реальной выборкой и четырьмя выборками покрытия (coverage sample). Такое решение имеет преимущество в виде приличного качества сглаживания при очень малом увеличении требований к объёму и полосе пропускания видеопамяти, а также в незначительном увеличении сложности и энергопотребления чипа.
Немаловажно, что большая часть конвейера Adobe Flash ускоряется на графическом ядре GeForce в Tegra 2. В результате пользователи не просто получают качественное онлайн-видео высокого разрешения на флэше, но и могут играть во флэш-игры, вроде FarmVille и др. Да и с веб-сайтами, основанными на Flash, проблем почти не возникает.
Благодаря мощности применяемого графического ядра, NVIDIA Tegra 2 - это одна из немногих мобильных систем на чипе, которая предлагает высокое качество рендеринга, близкое к качеству игровых консолей предыдущего поколения. Имея корни настольных решений, конвейер видеоядра в Tegra 2 оптимизирован для сравнительно лёгкой разработки мультиплатформенных игровых приложений с ПК и консолями. Игровые разработчики могут применять те же техники и ресурсы, что и на старших платформах, лишь с небольшими исключениями.
Одним из важнейших конкурентных преимуществ Tegra 2 является специализированный контент, предназначенный только для гаджетов на основе этой SoC. У NVIDIA традиционно очень крепкие связи с игровыми разработчиками, и их команда Content Development работает вместе с ними для того, чтобы оптимизировать игры для графических решений NVIDIA. Теперь эта команда работает и во благо мобильных игр, работающих на гаджетах с Tegra 2. Подробнее об этом написано в разделе преимуществ Tegra 2.

Преимущества мобильных гаджетов на NVIDIA Tegra 2

Планшеты, основанные на системах NVIDIA Tegra 2 и Android 3.x, имеют несколько преимуществ перед другими аналогичными устройствами. В их числе - быстрый полнофункциональный веб-сёрфинг, качественный просмотр потокового видео и онлайн-игры. В этих задачах очень сильно помогает наличие двух ядер Cortex-A9, работающих на высокой тактовой частоте, а также поддержка аппаратного ускорения Adobe Flash графическим ядром GeForce.
Основанный на коде Webkit стандартный браузер Android - многопоточное приложение, которое умеет использовать два CPU для ускорения загрузки и визуализации вебстраниц. Например, каждая открытая страница в браузере может обслуживаться отдельным процессом, имеющим по несколько потоков. И Tegra 2 с поддержкой многопоточности может распараллелить работу на два CPU ядра так, чтобы она была выполнена быстрее, чем на одноядерных аналогах. Особенно это заметно в случае современных сайтов, использующих множество технологий, таких как Adobe Flash, ActiveX и JavaScript.
Поддержка аппаратного ускорения Adobe Flash очень важна для комфортного веб-сёрфинга. Flash-ролики часто используются на веб-сайтах и включают потоковое видео, анимации, рекламу и игры. А некоторые сайты и вовсе целиком написаны на Flash. И планшеты на Tegra 2 выгодно выделяются среди конкурентов тем, что умеют быстро выполнять Flash на мощных CPU ядрах, дополнительно ускоряя его часть на GPU.
В итоге, такие планшеты обеспечивают более высокую производительность, меньшее время загрузки сложных вебстраниц и более продолжительное время автономной работы. В плюс к этому, ускорение на GPU ядре позволяет переложить часть нагрузки с универсальных вычислительных ядер, освободив их ресурсы для выполнения других задач. Кроме того, планшеты на SoC NVIDIA обеспечивают и быстрое выполнение HTML5 кода - нового стандарта, использующего расширенные мультимедийные возможности без использования дополнительных плагинов вроде Flash.
Операционная система Android 3.0 обеспечивает эффективную многозадачность, и позволяет приложениям успешно работать в фоновом режиме даже в сложных условиях требовательных приложений. Планшеты на Tegra 2 способны одновременно запускать несколько задач без значительной потери в производительности и времени отклика пользовательского интерфейса. Android 3.0 позволяет запускать несколько приложений в фоне и даже с несколькими запущенными приложениями, требующими интенсивных расчётов, производительности двухчиповой системы на Tegra 2 вполне хватает. То же самое относится и к популярным на Android 3.0 виджетам, которые часто работают в фоне, обновляя данные в памяти и на экране, закачивая их из Сети, и к «живым обоям». Многие из таких задач требовательны и к CPU и к GPU, и чип Tegra 2 отлично справляется в таких условиях, предоставляя быстрое переключение между задачами.
Отдельно отметим аппаратно ускоренный пользовательский интерфейс Android 3.x. Эта операционная система позволяет перекладывать часть расчётов на графическое ядро, что даёт возможность запуска ещё более требовательных графических приложений, виджетов, «живых обоев» и т. п. Планшеты на NVIDIA Tegra 2 имеют улучшенные мультимедийные возможности и поддерживают проигрывание видеоданных в форматах вплоть до 1080p, а также имеют возможность вывода изображения на разъём HDMI без использования переходников (зависит от модели планшета).
Пожалуй, самым интересным и эксклюзивным предложением, доступным только на мобильных гаджетах с Tegra, являются улучшенные игры, доступные в NVIDIA Tegra Zone. Представленные там игры имеют качество, близкое к уровню настольных консолей прошлого поколения, улучшенную графику и производительность, дополнительные уровни и кроссплатформенную сетевую игру. Некоторые из игр доступны только для мобильных гаджетов на базе Tegra 2 и такие гаджеты потенциальные покупатели выбирают в том числе чтобы получить высокое качество мобильных игр.
Качество игрового контента в проектах, в которых NVIDIA помогает разработчикам, гораздо выше среднего уровня других игр. Объекты и персонажи в них имеют более сложную геометрию, текстуры высокого разрешения и при рендеринге используются более сложные эффекты. Возможно также увеличение количества объектов и персонажей, одновременно находящихся на экране, более сложную их анимацию и даже усложнённый искусственный интеллект врагов. В некоторых играх для Tegra 2 создаются специальные уровни, которые доступны только для соответствующих гаджетов, а есть версии мобильных игр, запускающиеся только на телефонах и планшетах, основанных на SoC компании NVIDIA.
Для доступа к таким играм, NVIDIA запустила Android-приложение Tegra Zone. Это специализированный аналог Android Market, в котором можно скачать оптимизированные для Tegra приложения. Приложение Tegra Zone удобно тем, что собирает все улучшенные игры под одной «крышей», позволяя с лёгкостью найти, приобрести и играть в игры, предназначенные для гаджетов на базе чипов Tegra. Приложение позволяет познакомиться с интересующими играми по описаниям, скриншотам высокого разрешения, видеороликам, обзорам игр и пользовательскому рейтингу.
Nvidia Tegra 2_8
В число игр, оптимизированных для Tegra 2, входят следующие проекты:

Samurai II: Vengeance - экшн с графикой в стиле манга. Мощь Tegra 2 используется для увеличенного вчетверо разрешения текстур и улучшенной геометрии для персонажей, реалистичных теней а также увеличенного количества и качества специальных эффектов в игре.
Dungeon Defenders: First Wave Deluxe HD - онлайновая экшн RPG с участием до четырёх игроков в командных действиях по сочетанию стратегии и экшна. Специальная версия игры для Tegra 2 использует консольный контент, динамическое освещение и продвинутые эффекты постобработки. Также увеличена геометрическая детализация персонажей, количество карт и уровней игры соответствует «старшим» версиям. А ещё в игру добавлен многопользовательский кроссплатформенный игровой режим, доступный в том числе на ПК и PS3.
Galaxy on Fire 2 THD - популярная космическая ролевая игра с интересным сюжетом, хорошо известная на Apple iPhone и iPad. Оптимизированная для Tegra 2 версия для Android имеет высокую производительность, увеличивает геометрическую детализацию до четырёх раз, использует шейдеры OpenGL ES 2.0, применяемые для эффектов бампмаппинга и использует текстуры более высокого разрешения, по сравнению с обычной версией.
Backbreaker THD - аркадный симулятор американского футбола. В версии игры для Tegra 2 используются более качественные текстуры на персонажах и окружении, а также добавлены реалистичные тени и динамическое освещение.
Fruit Ninja THD - аркадная мобильная игра по уничтожению фруктов, ставшая бестселлером. Специальная версия, доступная в Tegra Zone, добавляет увеличенную в 8 раз геометрическую детализацию моделей фруктов и более качественные текстуры для них, реалистичные тени и освещение, а также дополнительные эффекты и системы частиц.
Vendetta Online - космические бои в массивной многопользовательской ролевой игре (MMORPG), в которой тысячи игроков взаимодействуют в огромной игровой вселенной. Версия для Tegra является первой кроссплатформенной космической MMO игрой, позволяющая играть на мобильных гаджетах вместе с пользователями ПК.
Monster Madness - экшн-шутер для команды из четырех игроков. Версия для Tegra 2 идентична по графике «взрослой» консольной версии, также интересно, что в игре используется NVIDIA PhysX для симуляции реалистичных физических эффектов.

Заключение

Рынок систем на чипах, предназначенных для мобильных гаджетов вроде смартфонов и планшетов, весьма быстро развивается и расширяется. Мобильные чипы с каждым годом умеют всё больше и больше на фоне относительного застоя на рынке настольных решений. Это понятно, ведь среднему пользователю давно хватает производительности настольных ПК, а перенести часть своих задач на мобильный гаджет, которое всегда с собой, вряд ли кто откажется.
Большинство таких систем используют вычислительные ядра архитектуры ARM - и это позволило стать ей одной из самых распространённых и перспективных процессорных архитектур. А с поддержкой следующей версии операционной системы Windows, архитектура ARM должна получить ещё больше козырей. Всё идёт к тому, что на базе ARM будет основана широкая база аппаратного обеспечения не только в виде массы мобильных гаджетов, но в скором будущем - и настольных и даже серверных.
ARM уже сегодня является наиболее динамично развивающейся архитектурой для центральных процессоров, а ближайшее будущее, с новой версией Microsoft Windows 8 для архитектуры ARM и будущими гибридными процессорами компании NVIDIA, имеет все возможности стать ещё более радужным. Уже сейчас в Tegra 2 удачно сочетается экономичность ARM-архитектуры и вычислительная мощь и неплохая функциональность архитектуры GPU компании NVIDIA, а дальше будет только лучше. Впереди жесткая борьба на рынке мобильных и настольных гаджетов, от которой выиграем мы - потребители.
Уже довольно давно вышедшая Tegra 2 обеспечивает неплохой уровень производительности для смартфонов и планшетов, имея несколько преимуществ перед аналогичными гаджетами конкурентов, хотя они и заметно подтянулись к этому уровню в 2011 году. У NVIDIA со второй попытки получилась очень удачная система на чипе, которая отличается широкой программной поддержкой - Google использует системы на Tegra 2 для разработки ПО Android 3.x, да и поддержка компании Adobe немалого стоит.
Одним из основных преимуществ решения NVIDIA можно считать тесное сотрудничество с игровыми разработчиками, создающими мобильные игры. Это позволило сделать улучшения в уже вышедших играх, оптимизировать их для гаджетов, базирующихся на NVIDIA Tegra 2. Оптимизация под этот SoC добавляет играм геометрическую детализацию, текстуры более высокого разрешения, сложное освещение, постобработку и реалистичные тени. А в некоторых играх, предназначенных для чипа NVIDIA, увеличено количество персонажей, одновременно отрисовываемых на экране, а также улучшена анимация.
На базе Tegra 2 уже вышло множество гаджетов, и особенно можно выделить планшеты с операционной системой Android 3.x. Не проходит и месяца без анонса или выхода очередного такого гаджета, и на рынке уже есть приличный выбор между такими решениями, имеющими различные характеристики. Можно смело утверждать, что с выходом третьего поколения Tegra ситуация для NVIDIA только улучшится - они явно нащупали правильную стратегию для выхода на рынок своих систем на чипе, и удачная Tegra 2 - тому пример.
Категория: Nvidia Tegra | Добавил: Valia39710 (17.08.2011)
Просмотров: 1826 | Теги: Tegra 2, Nvidia | Рейтинг: 0.0/0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]