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

 
 
> LPC122x это Cortex-M0 или M0+?
GetSmart
сообщение Nov 2 2015, 20:08
Сообщение #1


.
******

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



LPC122x это Cortex-M0 или M0+?
Вопрос к специалистам.
Растактовка инструкций у него отличается от M0 (LPC11Xxx, LPC43xx_M0).

Каким способом программно/аппаратно можно определить тип ядра? Если набор инструкций у них одинаковый.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 33)
zltigo
сообщение Nov 2 2015, 21:08
Сообщение #2


Гуру
******

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



Обычный. Производительность указана, как для M0. Да и скрывать-то плюс было к чему? Для LPC800,11E0,11U0 прямо указаны варианты plus.


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


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

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(GetSmart @ Nov 3 2015, 00:08) *
Каким способом программно/аппаратно можно определить тип ядра?


в NXP есть регистр CPUID
[31:24] Implementer Implementer code: 0x41 = ARM
[23:20] Variant Variant number, the r value in the rnpn product revision identifier: 0x0 = Revision 0
[19:16] Constant Constant that defines the architecture of the processor:, reads as 0xC = ARMv6-M architecture
[15:4] Partno Part number of the processor: 0xC20 = Cortex-M0
[3:0] Revision Revision number, the p value in the rnpn product revision identifier: 0x0 = Patch 0

для Cortex-M0+ Partno Part number of the processor 0xC60



--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 3 2015, 08:27
Сообщение #4


.
******

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



Если это M0, то в отличие от всех остальных M0 у LPC122x в юзер мануале есть предложение:
Цитата
The LPC122x have a high score of over 45 in CoreMark CPU performance benchmark testing, equivalent to 1.51/MHz

Что это значит? CoreMark, судя по названию, тестирует ядро.


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


Гуру
******

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



QUOTE (GetSmart @ Nov 3 2015, 10:27) *
Что это значит? CoreMark, судя по названию, тестирует ядро.

Попугаи производительности на мегагерц. У M0+ их 2.42 по заявлению ARM.


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


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

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



... а у M0-не-плюс - 2.33 по тем же заявлениям (ссылка, оригинал сходу не нашёл).

Видимо, ARM рассматривала сферический процессор в вакууме, с бесконечно быстрой шиной. Одно слово - попугаи...

PS посмотреть на попугаи других процессоров можно здесь (кнопка "search")


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 3 2015, 11:04
Сообщение #7


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

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



По-моему, в M0+ потребление уменьшали, а не производительность увеличивали.
У STM на CoreMark можно взглянуть здесь: http://www.st.com/st-web-ui/active/en/cata...mc/FM141/SC1169
И, да, по ссылке из предыдущего сообщения нам лучше глядеть в табличку Most Recent. rolleyes.gif А еще лучше Search.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 3 2015, 12:00
Сообщение #8


Гуру
******

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



QUOTE (esaulenka @ Nov 3 2015, 12:20) *
... а у M0-не-плюс - 2.33 по тем же заявлениям (ссылка, оригинал сходу не нашёл).

А вот так сказать "оригинал" http://www.nxp.com/documents/data_sheet/LPC122X.pdf


QUOTE (ViKo @ Nov 3 2015, 13:04) *
По-моему, в M0+ потребление уменьшали, а не производительность увеличивали.

Это на самом деле одно и то же sm.gif - при большей производительности можно снизить тактовую или больше спать.


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


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

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



Цитата(zltigo @ Nov 3 2015, 15:00) *
Это на самом деле одно и то же sm.gif - при большей производительности можно снизить тактовую или больше спать.

На самом деле это не так. Там уделялось повышенное внимание тому, чтобы ненужные элементы не молотили тактовой частотой.
http://www.arm.com/products/processors/cor...rtex-m0plus.php
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 3 2015, 13:58
Сообщение #10


Гуру
******

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



QUOTE (ViKo @ Nov 3 2015, 15:43) *
На самом деле это не так.

К чему Вы пытаетесь отрицать очевидную вещь, что повышение производительности НЕ за счет повышения тактовой поводит и к экономмии энергии? Это совершенно НЕ означает, что другие меры не предринимались, но возможность полуторократного понижения тактовой при той-же производительности, это ОЧЕНЬ существенная экономия.


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


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

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



Цитата(zltigo @ Nov 3 2015, 16:58) *
К чему Вы пытаетесь отрицать очевидную вещь...

К тому, что главной целью было снижение энергопотребления. А остальное - средства достижения цели. Не думаю, что если взять CM4 (CM7) и заставить его дрыхнуть, и лишь иногда вскакивать и в бешеном темпе что-то делать, то он переплюнет CM0+ по энергоэффективности.
Да, там что-то про двухступенчатый конвейер говорится. Ну, улучшили и производительность, спасибо.
Кому нужен производительный процессор, тот найдет, что взять. А кто ищет малопотребляющий, чешет репу, чем заменить MSP430, вот ему ARM сделали подарок CM0+!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 3 2015, 14:34
Сообщение #12


Гуру
******

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



QUOTE (ViKo @ Nov 3 2015, 16:15) *
Не думаю, что если взять CM4 (CM7) и заставить его дрыхнуть...

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



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


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

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



Вы таки желаете, в свойственной вам манере, оставить последнее слово за собой? rolleyes.gif Мы о чем-то спорим? О чем, конкретно?
Смотреть на производительность в единицах CoreMark или MIPS при выборе процессора CM0 или CM0+ - это надо редким педантом быть. Работает, и ладно. Вот на тактовую частоту глянул, "ага, 48 МГц, не слабо, пойдет", и достаточно.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 3 2015, 16:13
Сообщение #14


Гуру
******

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



QUOTE (ViKo @ Nov 3 2015, 18:02) *
Вы таки желаете, в свойственной вам манере, оставить последнее слово за собой? rolleyes.gif Мы о чем-то спорим? О чем, конкретно?

О чем Вы "спорите" мне неведомо. Я только указал на то, что здесь http://electronix.ru/forum/index.php?showt...t&p=1377925 Вы ляпнули ерунду.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
adnega
сообщение Nov 3 2015, 16:28
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(ViKo @ Nov 3 2015, 17:15) *
А кто ищет малопотребляющий, чешет репу, чем заменить MSP430, вот ему ARM сделали подарок CM0+!

Не знаю как там у CM0+, а у STM32L4xx в "Shutdown mode" потребление всего 30 нА.
У MSP430 порядка 100 нА (правда с "RAM Retention").
Go to the top of the page
 
+Quote Post
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
GetSmart
сообщение Nov 5 2015, 10:41
Сообщение #31


.
******

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



По поводу "чистокровности" стартовых/большинства процессоров NXP M0 может быть погорячился. Т.к. требуется проверка у других производителей. Может эта фича самого производителя - NXP.

Ещё одно отличие в растактовке M0 и M0+, кроме переходов, существует - команды MSR/MRS, которые, что очень хорошо, не связаны с обращением к шинам. В LPC122x MSR/MRS = 4 тактам. В LPC81x MSR/MRS = 3 тактам. Т.о. LPC122x = M0 без плюса.

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

Вопрос не тот задал. Цель была защитить какой-то асм-исходник от изменений растактовки инструкций, например ARMv6-M для M0. Гипотетически, даже в новой ревизии камня. При этом классифицировать ядро по терминологии ARM будет даже лишним. И ответ скорее всего очевиден - написать измерялку растактовки под свои требования. Т.к. кроме ядер от ARM могут быть ещё фичи производителей.

Цитата(smalcom)
что говорит нам производитель сиих МК:

Цель темы - объяснить отличие обозначенных отличий растактовок процессоров с ядрами M0 производителя NXP. А так же, отличие от "официальных" растактовок ARM. Это работа посложнее чтения. Так же встречал опечатку, которая по этой причине попала в название этой темы.

Сообщение отредактировал GetSmart - Nov 5 2015, 17:07


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


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(GetSmart @ Nov 5 2015, 13:41) *
Цель была защитить какой-то асм-исходник от изменений растактовки инструкций

Накой? Есть кусок, выполняющийся за 100 тактов. На новом камне он выполняется за 110 тактов.
Как вы сможете защититься от этого и вернуть былые 100 тактов?
Добить и там, и там пустышками до 120 тактов? Сомнительный выход.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 5 2015, 17:12
Сообщение #33


.
******

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



Цитата(adnega @ Nov 5 2015, 16:48) *
Накой? Есть кусок, выполняющийся за 100 тактов. На новом камне он выполняется за 110 тактов.

Защита, если таковая нужна, заключается в блокировке работы устройства, "наблюдаемая невооружённым взглядом". Или части его алгоритма. Но можно сделать несколько ветвей одного алгоритма, если допускается работа на нескольких отличающихся камнях. Выбираемых по результатам измерялки. Последний вариант чисто гипотетический. По мотивам x86. Практической пользы в ARM в нём пока сам не вижу.

Сообщение отредактировал GetSmart - Nov 5 2015, 17:15


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


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

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(GetSmart @ Nov 5 2015, 20:12) *
если допускается работа на нескольких отличающихся камнях. Выбираемых по результатам измерялки


б-р-р-р, вообще то в NXP/LPC программно можно узнать не только тип ядра, но и тип контроллера и сколько Flash на борту
Device ID register и Read Part Identification number


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
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 Текстовая версия Сейчас: 6th September 2025 - 14:47
Рейтинг@Mail.ru


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