реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> LPC122x это Cortex-M0 или M0+?
GetSmart
сообщение Nov 3 2015, 16:44
Сообщение #16


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Энергопотребление это характеристика софтом не прощупываемая. Зависит и от техпроцесса. А на уровне софта эти ядра отличаются точно.

Сравнил в реале LPC1227 rev A и LPC812.
1. У LPC812 переходы на такт короче (2 вместо 3). И нет зависимости STR/STM от нечётного адреса инструкции в RAM, равно как и у LPC1227.
2. У LPC812 есть однотактовая GPIO. LPC1227 падает в исключение при чтении этой области.
3. У LPC812 есть VTOR и отличаются CPUID.

Самое серьёзное отличие - первое. Последнее - самое косвенное по отношению к ядру.

При наличии в проекте асм-кода, формирующего строгие тайминги, было бы очень кстати иметь асм-функцию сверяющую суммарную растактовку последовательности каких-то инструкций. Чтобы девайс в принципе не мог выдать тайминги вне разрешённого диапазона. Например, на неподходящем камне/ревизии.

Сообщение отредактировал GetSmart - Nov 4 2015, 11:04


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 3 2015, 17:03
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (adnega @ Nov 3 2015, 18:28) *
Не знаю как там у CM0+, а у STM32L4xx в "Shutdown mode" потребление всего 30 нА.
У MSP430 порядка 100 нА (правда с "RAM Retention").

То, что есть у MSP430 и чего нет у массы всяких декларируемых как супер-пупер-пико-нано потребляющих ядер, это ориентированой на микропотребление пеерферии способной работатать и автомномно, напимер по DMA. MSP очень сбалансированный контроллер ИЗНАЧАЛЬНО.
Ну и дальше процедура просыпания у многих "рекордсменов" зачастую очень громоздка по времени и соответственно по энергии sad.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 3 2015, 17:04
Сообщение #18


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(zltigo @ Nov 3 2015, 18:34) *
Факта экономии энергии за счет полуторократного повышения производительности при той-же тактовой это не изменит.

В каких последовательностях инструкций это проявляется? Когда вся прога из переходов (B | Bxx) и когда они вперемешку с вводом/выводом в GPIO ? Какая-то среднестатистическая программа без учёта ногодрыга хоть на 5% будет быстрее? Без сна конечно же.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 3 2015, 17:12
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (GetSmart @ Nov 3 2015, 19:04) *
В каких последовательностях инструкций это проявляется?

Как минимум в тех, которые используются в тесте. Тест попугаев при всей его попугаистости, писался не с бодуна и на основе опыта предшественника Dhrystone. Исходники теста доступны для изучения http://www.eembc.org/coremark/download.php . Можете лично откомпилировать и сравнить.
Если у Вас вырожденные случаи типа 99% ногодрыжества, то это не проблемы теста.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 3 2015, 17:40
Сообщение #20


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(zltigo @ Nov 3 2015, 21:12) *
Если у Вас вырожденные случаи типа 99% ногодрыжества, то это не проблемы теста.

Наоборот. При 99-процентном ногодрыжестве вопросов не возникает. У M0 большинство инструкций 1-тактовые и ускорить без суперскалярности их невозможно. STR/LDR & STM/LDM на M0+ грубо такой же длительностью как в M0, если только не пишут в fastest GPIO (регион 0xa000xxxx). То есть общая растактовка в применении к 90% существующего кода - ТАКАЯ ЖЕ как и у M0. Откуда 50% и где факт?

Или неописанная особенность M0 STR/STM на нечётных по маске 0x02 адресах RAM тоже "прогибает" (участвует в учёте) относительное ускорение M0+ ? Среднестатистически таких инструкций много в среднестатистическом коде. Но 99% кода обычно исполняется из флэш.

Цитата(zltigo)
Факта экономии энергии за счет полуторократного повышения производительности при той-же тактовой это не изменит.

Этот факт убежал вперёд паровоза. Сперва надо доказать факт "полуторократного повышения производительности". И обозначить прицеп оговорок.

Сообщение отредактировал GetSmart - Nov 4 2015, 16:20


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 3 2015, 18:12
Сообщение #21


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(zltigo @ Nov 3 2015, 19:13) *
О чем Вы "спорите" мне неведомо. Я только указал на то, что здесь http://electronix.ru/forum/index.php?showt...t&p=1377925 Вы ляпнули ерунду.

Я считаю, что ляпнули именно вы. По-вашему, увеличение производительности равно уменьшению потребления? Именно такую галиматью вы отстаиваете. biggrin.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 3 2015, 18:21
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (ViKo @ Nov 3 2015, 20:12) *
Я считаю, что ляпнули именно вы. По-вашему, увеличение производительности равно уменьшению потребления? Именно такую галиматью вы отстаиваете. biggrin.gif

То что я написал совершенно не трудно прочитать в прямом изложении а не пытаться извращать написанное в меру своего, скажем так, непонимания.
QUOTE (GetSmart @ Nov 3 2015, 19:40) *
Этот факт убежал вперёд паровоза. Сперва надо доказать факт "полуторократного повышения производительности". И обозначить прицеп оговорок.

С этим Вам жаловаться во всемирную лигу сексупльных реформ на компанию ARM, которая официально выдала эти цифры по результатам совершенно конкретных ПРИЗНАННЫХ (не Вами, конечно sm.gif ) и ОТКРЫТЫХ для изучения тестов производительности.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 3 2015, 18:31
Сообщение #23


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



zltigo, специально для вас с сайта ARM.
Performance Efficiency

CM0 2.33 CoreMarks/MHz
CM0+ 2.46 CoreMarks/MHz

По-вашему, это в 1,5 раза? Посчитаю для вас: 1,056...
Найдете сами на сайте.
Так что ваше "прямое изложение" тоже слегка хромает.

Двухтактовый конвейер означает, что больше операций будет сделано за такт. Следовательно, нельзя будет поднять тактовую частоту до уровня трехтактового конвейера. То есть, он хорош для низкопроизводительных устройств. Между прочим, у CM7 конвейер 6-тактовый.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 3 2015, 18:39
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (ViKo @ Nov 3 2015, 20:31) *
CM0 2.33 CoreMarks/MHz
CM0+ 2.46 CoreMarks/MHz

По-вашему, это в 1,5 раза?
Найдете сами на сайте.

В данных NXP для 0 было 1.51. Ссылку давал.
QUOTE (ViKo @ Nov 3 2015, 20:31) *
Так что ваше "прямое изложение" тоже слегка хромает.

Не несите пургу. Речь я вел о качественных показателях которые приводят к снижению энергопотребления. Вот то, что Вас побудило к тому, что Вы назвали "спором":
QUOTE
Это на самом деле одно и то же sm.gif - при большей производительности можно снизить тактовую или больше спать.
...
повышение производительности НЕ за счет повышения тактовой поводит и к экономмии энергии

Где Вам привидились хоть какие-то цифры?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 3 2015, 18:41
Сообщение #25


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(zltigo @ Nov 3 2015, 21:39) *
Не несите пургу. Речь я вел о качественных показателях которые приводят к снижению энергопотребления.

Вы вели? Оставлю без комментариев.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 3 2015, 18:44
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (ViKo @ Nov 3 2015, 20:41) *
Вы вели?

Да.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 4 2015, 05:29
Сообщение #27


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



В NXP чистокровным (и одноядерным) кортексам-M0 была присуща особенность - наличие только одного UART-а. У LPC81x их 3. А в LPC11U6x их 4. Других одноядерных M0+ от NXP пока не знаю.

LPC122x имеет два UART-а. + Загадочную строчку о CoreMark. + Отличающуюся от всех официальных ядер растактовку.

Всё-таки интересен вопрос, никто не встречал в описаниях от ARM или где-то в исходниках что-то похожее на код платформы x86, определяющий тип/возможности процессора, на котором код исполняется?

Сообщение отредактировал GetSmart - Nov 4 2015, 11:14


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
jcxz
сообщение Nov 4 2015, 11:31
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(GetSmart @ Nov 4 2015, 11:29) *
Всё-таки интересен вопрос, никто не встречал в описаниях от ARM или где-то в исходниках что-то похожее на код платформы x86, определяющий тип/возможности процессора, на котором код исполняется?

В M0 есть Usage-fault? Не работал с ними. Если есть - делаете обработчик этого исключения и пробуете выполнять команды поддерживаемые во всё более и более старших ядрах,
пока не поймаете соответствующее исключение. Так сможете сориентироваться где вы находитесь внутри линейки Cortex-M.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 4 2015, 14:33
Сообщение #29


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(jcxz @ Nov 4 2015, 14:31) *
В M0 есть Usage-fault? Не работал с ними. Если есть - делаете обработчик этого исключения и пробуете выполнять команды поддерживаемые во всё более и более старших ядрах,
пока не поймаете соответствующее исключение. Так сможете сориентироваться где вы находитесь внутри линейки Cortex-M.

ARM сообщает, что набор команд у CM0 и CM0+ одинаковый.
Неужели производитель микроконтроллера не выдает информацию, на каком ядре тот сделан?
Go to the top of the page
 
+Quote Post
smalcom
сообщение Nov 4 2015, 15:10
Сообщение #30


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



Цитата
Неужели производитель микроконтроллера не выдает информацию, на каком ядре тот сделан?

я бы сказал, что это смена поколений на форуме... нет, это сейчас тренд такой - даже опытные товарищи не хотят ничего читать. можно использовать старую фразу, которую применяют к видеопродукции сериального типа: скатился в ...ое ...но. sm.gif

Цитата
LPC122x это Cortex-M0 или M0+?

А ещё любят потрындеть, что трындят другие, потому сразу укажу, что говорит нам производитель сиих МК:
LPC122x - M0
LPC43xx - M4F + M0
LPC11U6/LPC11E6 - M0+, остальные - M0.

Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 21:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01526 секунд с 7
ELECTRONIX ©2004-2016