Новые процессоры MIPS
Наконец, наступил день, когда можно рассказать публике немного о том, чем мы тут занимаемся. Сегодня, 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
no subject
no subject
Новое поколение процессоров MIPS меняет игру против кон
Новое поколение процессоров MIPS меняет игру против кон
no subject
Или кто из планшетников?
no subject
no subject
MIPS возьмут просто так без боя.
Понятно, что просто так на новый проц не перейдут.
no subject
no subject
no subject
no subject
Про возможности по дрыганью ногами в разных позициях не увидел.
Введение в IDE разработчика не впечатлило вообще и по сравнению с Кейлом в частности.
Перфоманс конечно важная характеристика, но для целей контроля и управления важдны и другие характеристики - программирование ног, прерывания от ног, туева хуча внешних интерфейсов. включая эзернеты, время на прерывание в Це, вложенность прерываний, удобство отладки, скорость цикла программирования (собрал-залил-обломился),
энергопотребление и возможности "жить год от батарейки"
no subject
Про время входа в прерывание отдельный разговор. В interAptiv есть аппаратная поддержка многопоточности (threads). Отдельный поток может "зависать" в ожидании внешнего сигнала irq. При появлении сигнала поток начинает выполняться немедленно, в следующем такте процессора. Не нужно ни перехода, ни сохранения регистров, ни переключения контекста. Вход в прерывание за нулевое время. На каждое прерывание можно выделить свой поток.
no subject
Да, с точки зрения микроконтрллерщика и ногодрыгателя - нитки нафиг не нужны, как минимум во многих случаях. Прерывания и раунд-роббин - это наше фсё.
no subject
no subject
Всегда и везде нужно было сохраняться-восстанавливаться явно или неявно.
Я отстал от жизни или вы первые ?
no subject
no subject
no subject
no subject
no subject
уже нет ;-)
void QEI_IRQHandler (void)
{
LPC_QEI->QEICLR = 0x0010; /* clear interrupt flag */
errXpos++;
t0_err = LPC_TIM1->TC;
err_lamp = 1;
return;
}
------------
И как там внутре неонка устроена меня не волнует
no subject
MIPS впервые реализовал это расширение архитектуры в 2005 году: http://www.mips.com/products/architectures/mips-mt-ase/
В некотором приближении оно похоже на интеловский Hyper-Threading.
no subject
Для аппаратной реализации MT внутри процессора имеется несколько копий пользовательских регистров общего назначения и программного счетчика (program counter) – по одной копии на каждый аппаратно реализуемый тред. Между стадиями конвейера, которые извлекают команды для разных тредов из памяти, и стадиями, которые исполняют команду, находится специальный диспетчер, который решает, команду из какого треда следует запустить на исполнение в следующем цикле. Если предыдущая команда из некоторого треда чего-нибудь ждет (наполнения кэша или ввода-вывода), то выбирается команда из какого-нибудь другого треда.
Также снаружи к ядру подключается модуль межтредовой коммуникации (Inter Thread Communication – ITC), который позволяет дизайнеру системы аппаратно реализовать такие примитивы как семафоры и очереди, похожие на семафоры и очереди, реализуемые в операционных системах реального времени программно. Тред общается с этими примитивами с помощью обычных операций чтения и записи определенных адресов памяти. Также через интерфейс ITC тред может ожидать внешнего события или информации от другого ядра в многоядерных системах. С этими механизмами дизайн систем приобретает новую размерность – вместо оптимизации скорости реации на прерывание становится выгодно создавать треды, работающие совсем без прерываний и обменивающиеся данными с другими тредами через ITC.
Кроме поддержки «легких» пользовательских тредов MT ASE позволяет конфигурировать ядро MIPS 34K с двумя «виртуальными процессорными элементами» (Virtual Processor Element, VPE), с каждым из которых связана копии не только пользовательских регистров, но и регистров привилигированного режима ядра. Это позволяет исполнение на одном ядре одновременно двух операционных систем. Одна из таких систем может быть быстрой системой реального времени для обработки критических событий, а другая – операционной системой общего назначения, например встроенной версией Linux.
no subject
no subject
Но довольно древнее, явно не x2.
no subject
Помню, несколько лет назад Pistachio ещё поддерживал ARM. Не могу сейчас утверждать, но вроде бы и MIPS тоже поддерживался.
Ага, точно, ещё в 2007 году в Pistachio была поддержка MIPS64. Прошу прощения за глупый вопрос, это случайно не этот процессор? Если да, то у меня в архивах осталась версия с поддержкой MIPS64. Можно было бы поэксперементровать.
no subject
http://routerboard.com/RB450G
http://ru.wikipedia.org/wiki/Asus_WL500G
no subject
Купил тут планшет Ainol Novo 7 Paladin на JZ4770. С одной стороны, приятно что MIPS, с другой - 90% приложений только через MagicCode и буквально сразу налетел что не играется половина фильмов в H.264. Да, у Ingenic собственный аппаратный декодер (насколько понимаю X-Burst ASE по сути). Но! Текущий плеер играет далеко не всё, а ждать нового можно только от производителя поскольку даже на 1ГГц декодировать HD стандартными командами MIPS невозможно даже на DSP ASE.
no subject
На прошлой неделе Google выпустил новый Android NDK r8, включающий полную поддержку MIPS ABI. Так что процент native-приложений будет расти. У JZ4770 пресловутый аппаратный декодер - это отдельное второе ядро MIPS, работающее на частоте 500MHz, с дополнительными расширениями для ускорения видео. Поэтому он так шустро обрабатывает 1080P и мало потребляет.
no subject
Опять же вокруг ходит 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
no subject