Новые процессоры MIPS
2012-05-10 13:48![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Наконец, наступил день, когда можно рассказать публике немного о том, чем мы тут занимаемся. Сегодня, 10 мая наша фирма официально обнародует информацию про новые процессорные ядра. Больше года куча замечательных специалистов кипела, бурлила, брызгала идеями и воплощала их в железе. И вот мы сделали нечто, пора выставить его на всеобщее обозрение.
Три ядра:
Оценку скорости Cortex A15 я интерполировал исходя из предсказаний ARM по скорости DMIPS/MHz для A9 и A15. Остальные цифры для ARM получены гуглением из разных тематических статей. Здесь показана только скорость: по площади кристалла и по милливаттам/МГц тоже имеется существенное преимущество.

Несколько графиков из статьи в EETimes:



Три ядра:
- proAptiv - для самых высокопроизводительных приложений, в том числе мобильных гаджетов.
- interAptiv - для применений с самым низким потреблением на единицу производительности.
- microAptiv - для микроконтроллеров, включая цифровую обработку сигналов (DSP).
Core Coremark/MHz --------------------------- MIPS proAptiv 4.42 ARM Cortex A15 4.1 (моя оптимистическая оценка) MIPS interAptiv 3.2 ARM Cortex A9 2.9 MIPS microAptiv 3.1 ARM Cortex M4 2.19
Оценку скорости Cortex A15 я интерполировал исходя из предсказаний ARM по скорости DMIPS/MHz для A9 и A15. Остальные цифры для ARM получены гуглением из разных тематических статей. Здесь показана только скорость: по площади кристалла и по милливаттам/МГц тоже имеется существенное преимущество.
Несколько графиков из статьи в EETimes:



no subject
Date: 2012-05-10 21:05 (UTC)no subject
Date: 2012-05-11 00:55 (UTC)no subject
Date: 2012-05-11 04:46 (UTC)Новое поколение процессоров MIPS меняет игру против кон
Date: 2012-05-11 05:35 (UTC)Новое поколение процессоров MIPS меняет игру против кон
Date: 2012-05-11 05:35 (UTC)no subject
Date: 2012-05-11 05:55 (UTC)Или кто из планшетников?
no subject
Date: 2012-05-11 05:57 (UTC)no subject
Date: 2012-05-11 06:40 (UTC)Про возможности по дрыганью ногами в разных позициях не увидел.
Введение в IDE разработчика не впечатлило вообще и по сравнению с Кейлом в частности.
Перфоманс конечно важная характеристика, но для целей контроля и управления важдны и другие характеристики - программирование ног, прерывания от ног, туева хуча внешних интерфейсов. включая эзернеты, время на прерывание в Це, вложенность прерываний, удобство отладки, скорость цикла программирования (собрал-залил-обломился),
энергопотребление и возможности "жить год от батарейки"
no subject
Date: 2012-05-11 07:03 (UTC)no subject
Date: 2012-05-11 07:03 (UTC)no subject
Date: 2012-05-11 07:25 (UTC)Про время входа в прерывание отдельный разговор. В interAptiv есть аппаратная поддержка многопоточности (threads). Отдельный поток может "зависать" в ожидании внешнего сигнала irq. При появлении сигнала поток начинает выполняться немедленно, в следующем такте процессора. Не нужно ни перехода, ни сохранения регистров, ни переключения контекста. Вход в прерывание за нулевое время. На каждое прерывание можно выделить свой поток.
no subject
Date: 2012-05-11 08:12 (UTC)Да, с точки зрения микроконтрллерщика и ногодрыгателя - нитки нафиг не нужны, как минимум во многих случаях. Прерывания и раунд-роббин - это наше фсё.
no subject
Date: 2012-05-11 08:17 (UTC)no subject
Date: 2012-05-11 09:13 (UTC)Всегда и везде нужно было сохраняться-восстанавливаться явно или неявно.
Я отстал от жизни или вы первые ?
no subject
Date: 2012-05-11 12:45 (UTC)no subject
Date: 2012-05-11 18:24 (UTC)MIPS возьмут просто так без боя.
Date: 2012-05-11 18:28 (UTC)Понятно, что просто так на новый проц не перейдут.
no subject
Date: 2012-05-11 18:37 (UTC)no subject
Date: 2012-05-11 18:57 (UTC)Но довольно древнее, явно не x2.
no subject
Date: 2012-05-11 19:11 (UTC)MIPS впервые реализовал это расширение архитектуры в 2005 году: http://www.mips.com/products/architectures/mips-mt-ase/
В некотором приближении оно похоже на интеловский Hyper-Threading.
no subject
Date: 2012-05-11 19:13 (UTC)Для аппаратной реализации MT внутри процессора имеется несколько копий пользовательских регистров общего назначения и программного счетчика (program counter) – по одной копии на каждый аппаратно реализуемый тред. Между стадиями конвейера, которые извлекают команды для разных тредов из памяти, и стадиями, которые исполняют команду, находится специальный диспетчер, который решает, команду из какого треда следует запустить на исполнение в следующем цикле. Если предыдущая команда из некоторого треда чего-нибудь ждет (наполнения кэша или ввода-вывода), то выбирается команда из какого-нибудь другого треда.
Также снаружи к ядру подключается модуль межтредовой коммуникации (Inter Thread Communication – ITC), который позволяет дизайнеру системы аппаратно реализовать такие примитивы как семафоры и очереди, похожие на семафоры и очереди, реализуемые в операционных системах реального времени программно. Тред общается с этими примитивами с помощью обычных операций чтения и записи определенных адресов памяти. Также через интерфейс ITC тред может ожидать внешнего события или информации от другого ядра в многоядерных системах. С этими механизмами дизайн систем приобретает новую размерность – вместо оптимизации скорости реации на прерывание становится выгодно создавать треды, работающие совсем без прерываний и обменивающиеся данными с другими тредами через ITC.
Кроме поддержки «легких» пользовательских тредов MT ASE позволяет конфигурировать ядро MIPS 34K с двумя «виртуальными процессорными элементами» (Virtual Processor Element, VPE), с каждым из которых связана копии не только пользовательских регистров, но и регистров привилигированного режима ядра. Это позволяет исполнение на одном ядре одновременно двух операционных систем. Одна из таких систем может быть быстрой системой реального времени для обработки критических событий, а другая – операционной системой общего назначения, например встроенной версией Linux.
no subject
Date: 2012-05-11 19:13 (UTC)no subject
Date: 2012-05-11 19:14 (UTC)no subject
Date: 2012-05-11 19:15 (UTC)no subject
Date: 2012-05-11 19:22 (UTC)уже нет ;-)
void QEI_IRQHandler (void)
{
LPC_QEI->QEICLR = 0x0010; /* clear interrupt flag */
errXpos++;
t0_err = LPC_TIM1->TC;
err_lamp = 1;
return;
}
------------
И как там внутре неонка устроена меня не волнует
no subject
Date: 2012-05-12 09:38 (UTC)Купил тут планшет Ainol Novo 7 Paladin на JZ4770. С одной стороны, приятно что MIPS, с другой - 90% приложений только через MagicCode и буквально сразу налетел что не играется половина фильмов в H.264. Да, у Ingenic собственный аппаратный декодер (насколько понимаю X-Burst ASE по сути). Но! Текущий плеер играет далеко не всё, а ждать нового можно только от производителя поскольку даже на 1ГГц декодировать HD стандартными командами MIPS невозможно даже на DSP ASE.
no subject
Date: 2012-05-12 19:33 (UTC)На прошлой неделе Google выпустил новый Android NDK r8, включающий полную поддержку MIPS ABI. Так что процент native-приложений будет расти. У JZ4770 пресловутый аппаратный декодер - это отдельное второе ядро MIPS, работающее на частоте 500MHz, с дополнительными расширениями для ускорения видео. Поэтому он так шустро обрабатывает 1080P и мало потребляет.
no subject
Date: 2012-05-13 08:13 (UTC)Опять же вокруг ходит Oracle и завывает, что Java ME JVM типа быстрее Dalvik VM чуть ли не в три-четыре раза, не уточняя правда, что они сравнивали, был ли там JIT, какой JIT и т.д.
Вобщем, будут продукты - потестируем. Если выйдут устройства на SOC с новым ядром -- пишите прессрелизы :)
Что насчет VPU на JZ4770 - так в доках пишут, что там некий MIPS with SIMD extensions. Как понимаю, вся фишка в этих extensions. С одной стороны это неплохо (такая архитектура была на SGI Elan и IMPACT в лохматом 1995, там тоже был спец-MIPS на графике). С другой стороны - вся надежда на производителя т.к. только он может может выкатить плеер с этими фичами, а стандартный - не пойдет. Например для карточки SGI Indy XZ так и не появилось opensource драйвера даже текстового режима...
no subject
Date: 2012-05-13 20:21 (UTC)Помню, несколько лет назад Pistachio ещё поддерживал ARM. Не могу сейчас утверждать, но вроде бы и MIPS тоже поддерживался.
Ага, точно, ещё в 2007 году в Pistachio была поддержка MIPS64. Прошу прощения за глупый вопрос, это случайно не этот процессор? Если да, то у меня в архивах осталась версия с поддержкой MIPS64. Можно было бы поэксперементровать.
no subject
Date: 2012-05-15 19:51 (UTC)no subject
Date: 2012-05-16 00:01 (UTC)no subject
Date: 2012-05-16 03:36 (UTC)http://routerboard.com/RB450G
http://ru.wikipedia.org/wiki/Asus_WL500G
no subject
Date: 2012-05-16 03:37 (UTC)