vak: (Default)
[personal profile] vak
Наконец, наступил день, когда можно рассказать публике немного о том, чем мы тут занимаемся.  Сегодня, 10 мая наша фирма официально обнародует информацию про новые процессорные ядра.  Больше года куча замечательных специалистов кипела, бурлила, брызгала идеями и воплощала их в железе.  И вот мы сделали нечто, пора выставить его на всеобщее обозрение.

Три ядра:
  • proAptiv - для самых высокопроизводительных приложений, в том числе мобильных гаджетов.
  • interAptiv - для применений с самым низким потреблением на единицу производительности.
  • microAptiv - для микроконтроллеров, включая цифровую обработку сигналов (DSP).
Ближайшие конкуренты - соответственно ARM Cortex A15 (еще не вышеший), Cortex A9 и Cortex M4.  Подробности с цифрами есть в статье на сайте Electronics Weekly.

    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:







Date: 2012-05-11 19:13 (UTC)
From: [identity profile] panchul.livejournal.com
Это строго говоря не "прерывание". Имеется в виду hardware-supported multi-threading (многопоточное исполнение на одном ядре) и gated storage. Я об этом раньше писал:

Для аппаратной реализации MT внутри процессора имеется несколько копий пользовательских регистров общего назначения и программного счетчика (program counter) – по одной копии на каждый аппаратно реализуемый тред. Между стадиями конвейера, которые извлекают команды для разных тредов из памяти, и стадиями, которые исполняют команду, находится специальный диспетчер, который решает, команду из какого треда следует запустить на исполнение в следующем цикле. Если предыдущая команда из некоторого треда чего-нибудь ждет (наполнения кэша или ввода-вывода), то выбирается команда из какого-нибудь другого треда.

Также снаружи к ядру подключается модуль межтредовой коммуникации (Inter Thread Communication – ITC), который позволяет дизайнеру системы аппаратно реализовать такие примитивы как семафоры и очереди, похожие на семафоры и очереди, реализуемые в операционных системах реального времени программно. Тред общается с этими примитивами с помощью обычных операций чтения и записи определенных адресов памяти. Также через интерфейс ITC тред может ожидать внешнего события или информации от другого ядра в многоядерных системах. С этими механизмами дизайн систем приобретает новую размерность – вместо оптимизации скорости реации на прерывание становится выгодно создавать треды, работающие совсем без прерываний и обменивающиеся данными с другими тредами через ITC.

Кроме поддержки «легких» пользовательских тредов MT ASE позволяет конфигурировать ядро MIPS 34K с двумя «виртуальными процессорными элементами» (Virtual Processor Element, VPE), с каждым из которых связана копии не только пользовательских регистров, но и регистров привилигированного режима ядра. Это позволяет исполнение на одном ядре одновременно двух операционных систем. Одна из таких систем может быть быстрой системой реального времени для обработки критических событий, а другая – операционной системой общего назначения, например встроенной версией Linux.