ARM представила архитектуру Cortex A7
Как обеспечить неизменный рост производительности в рамках ограниченных по энергопотреблению устройств, каковыми являются телефоны либо планшеты? Можно сделать более энергоэффективную микроархитектуру, однако это может быть только до определённой степени. Можно перейти на более совершенный процесс производства, да и этот шаг сейчас уже не даёт прежних преимуществ. Ранее фирмы полагались на оба подхода, однако сейчас этого уже недостаточно. Промышленность равномерно идёт по пути гетерогенных вычислений: размещения высокопроизводительных ядер рядом с маломощными, однако энергоэффективными собратьями, и переключения меж ними по мере надобности.
NVIDIA не так давно представила архитектуру микропроцессора Tegra 3 (Kal-El). Компания рассказала о том, что система на чипе имеет 5 вычислительных ядер Cortex-A9, однако только 4 из их видимы для ОС. При запуске обычных фоновых задач работает только одно энергоэффективное ядро Cortex A9, а высокопроизводительные находятся в отключённом состоянии. Как системе будет нужно производительность, задачки перенаправляются на массивные ядра, а энергоэффективное отключается.
Решение NVIDIA полагается на схожие ядра, однако использующие разные транзисторы (LP и G), но подход не очень отличается, если использовать к тому же разные архитектуры ядер. Когда NVIDIA разрабатывала собственный чип, ARM не могла предложить подходящего энергоэффективного ядра, которое могло бы употребляться как само по себе, так и в качестве ядра-спутника в системе на чипе с Cortex A15. Сейчас такое ядро есть, и оно получило имя Cortex A7.
Начиная с Cortex A9, ARM перебежала на выполнение команд с изменением последовательности (аннотации могут быть переупорядочены для усовершенствованного параллелизма) — этот переход архитектура x86 сделала во времена Pentium Pro. Cortex A15 развивает эту тенденцию, расширяя при всем этом число исполняемых за такт инструкций. Cortex A7, напротив, является шагом вспять: это ещё одно ядро, исполняющее команды в данной последовательности и способное выполнить до 2-ух инструкций сразу. Описание припоминает Cortex A8, но A7 отличается в почти всех областях.
Ядро A8 является очень старенькой разработкой — работы над дизайном начались ещё в отдалёком 2003 году. Хотя ARM предлагала просто синтезируемые версии ядра, для заслуги более больших частот с течением времени производителям пришлось использовать свою дополнительную логику. Создание отдельного дизайна не только лишь удлиняло время вывода решений на рынок, да и увеличивало издержки на разработку. В Cortex A7 остаётся стопроцентно синтезируемым, однако при всем этом предлагает неплохой уровень производительности. ARM при разработке архитектуры учла последние процессы производства, добившись неплохого соотношения тактовых частот и производительности, также пересмотрела архитектуру, чтобы уменьшить время и цена вывода решений на рынок.
В ядре Cortex A7 применяется 8-ступенчатый сборочный поток, обрабатывающий по две аннотации за такт (вобщем, некие сложные аннотации A7, в отличие от A8 исполняет в режиме одну за такт). Блок целочисленных операций в A7 аналогичен A8, а вот математический сопроцессор имеет стопроцентно конвейерную компанию и поболее малогабаритен, хотя и несколько упрощён.
Некое упрощение архитектуры позволило значительно уменьшить размер ядра. ARM утверждает, что одно ядро Cortex A7 будет занимать всего 0,5 мм2 при использовании 28-нм техпроцесса. При одном и том же процессе производства клиенты ARM сумеют расположить ядро A7 на площади всего в 1/3—1/2 ядра Cortex A8. Стандартный дизайн ядер A9 по площади соответствует A8, тогда как площадь A15 больше, чем у обоих.
Невзирая на ограниченные способности в выполнении сложных инструкций, ARM ждет, что архитектура Cortex A7 обеспечит более высшую производительность в сравнении с Cortex A8. Это отчасти достигается благодаря улучшенному модулю пророчества ветвлений и уменьшенному сборочному потоку, сокращающему возможность неверного пророчества перехода. Cortex A7 отличается усовершенствованными методами подборки команд и поболее высокоскоростной кеш-памятью L2, что тоже позволяет увеличить общую эффективность вычислений.
Вобщем, из-за неких ограничений в определённых задачках производительность Cortex A7 будет находиться на уровне с Cortex A8 либо даже уступать последнему. Рейтинг ожидаемой производительность DMIPS/МГц для разных ядер ARM смотрится так: ARM11 — 1,25 DMIPS/МГц; ARM Cortex A7 — 1,9 DMIPS/МГц; ARM Cortex A8 — 2 DMIPS/МГц; ARM Cortex A9 — 2,5 DMIPS/МГц; Qualcomm Scorpion — 2,1 DMIPS/МГц; Qualcomm Krait — 3,3 DMIPS/МГц
|