Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение oleg110592 »

...любая битовая команда превращается в НАБОР команд...

не хуже чем AVR.
Cortex M0:

Код: Выделить всё

volatile uint32_t Flags;
#define BLINK   0x00000004
   Flags ^= BLINK;

   LDR      r1,[r4,#8]  ; Flags
   MOVS     r2,#4
   EORS     r1,r1,r2
   STR      r1,[r4,#8]  ; Flags

AVR:

Код: Выделить всё

volatile unsigned char Flags;
#define BLINK   0x04
  Flags ^= BLINK;

  LDI     R16, 4
  LDI     R30, LOW(Flags)
  LDI     R31, (Flags) >> 8
  LD      R17, Z
  EOR     R17, R16
  ST      Z, R17

STM8:

Код: Выделить всё

        LD        A, L:Flags
        XOR       A, #0x4
        LD        L:Flags, A
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25155
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

Ващето вывод одного бита при правильно написанном коде компилируется как ОДНА команда...
А в Кортексах не менее трех, да и то при наличии битовой адресации...
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение oleg110592 »

а как "правильно написать" такой код, пример пожалуйста. В PIC16 да:

Код: Выделить всё

bit BLINK;
  BLINK=~BLINK;

  movlw   (0+1) shl (_BLINK& (0+7))
  xorwf   _BLINK/(0+8),f

а Cortex высокоэффективный 3-ступенчатый конвейер (или 2-х), с предсказанием ветвлений не спасает?
Последний раз редактировалось oleg110592 Сб апр 12, 2014 18:39:20, всего редактировалось 1 раз.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25155
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

Сами и ответили на свой вопрос...
:)
В 10...16-х на выходе будет две команды movlw <#mask> и xorwf <register>
В 18-х и 24-х одна команда btg <register, #bit>

Просто вывод вида а |= 0x01<<3 превращается в bsf a, 3

PS. Обсуждались не преимущества Кортекса, а битовая адресация... :wink:
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение HHIMERA »

КРАМ писал(а):Обсуждались не преимущества Кортекса, а битовая адресация... :wink:

А что там обсуждать??? Уже разобрались...
А по поводу "преимущества Кортекса"... так это очевидно... несмотря на все попытки...
Для примера... реверс битов (разворот) байта...
b = __REV(__RBIT(a));
Во что это выльется в АВР или ПИК???
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение oleg110592 »

обсуждались не преимущества Кортекса, а битовая адресация...

напугала фраза:
При отсутствии битовых команд и битового расширения адресов любая битовая команда превращается в НАБОР команд. Тогда и заявленная производительность - фикция...

проверил как с этим у других мк - круче в этом только пики. У меня, в моих программках мало работы с битами - кортексы рулят.
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение HHIMERA »

oleg110592 писал(а):круче в этом только пики. У меня, в моих программках мало работы с битами - кортексы рулят.

Да не ведись... Марк троллит по незнанию и в расчёте на незнание...
Инверсия бита самая невостребованная операция... а при групповых операциях кортексы рулят однозначно... Тут примеров можно кидать и кмдать...
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25155
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

"Глубокая мысль" в том, что байтный доступ в МК - одно из основных свойств его как УПРАВЛЯЮЩЕГО устройства.
Поэтому и в ПИКах и в АРМах и в АВР создан общий инструмент.
И в АРМах механизм битной адресации дает большое удобство при обработке больших БИТНЫХ массивов.
Последний раз редактировалось КРАМ Сб апр 12, 2014 21:26:51, всего редактировалось 1 раз.
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение HHIMERA »

:facepalm:
"Вы не любите кошек? Да вы их просто готовить не умеете!"(С)

КРАМ писал(а):Ващето вывод одного бита при правильно написанном коде компилируется как ОДНА команда...
А в Кортексах не менее трех, да и то при наличии битовой адресации...

Чушь!!! От архитектуры Cortex это никак не зависит... у Cortex тоже "вывод одного бита при правильно написанном коде компилируется как ОДНА команда"... а в F2XX и F4XX ещё и выполняется за ОДИН такт!!! Учи матчасть!!! :)))
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25155
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

Собственно вывод бита - одна, но расчет адреса доступа - еще две, умножение и сложение...
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение HHIMERA »

Не надо путать "тёплое с мягким"!!!
Load/Store - это архитектура... а периферия - производитель... При длинном выводе на F2XX один цикл - установка, один цикл - сброс... выходная частота - половина от тактирующей... У F0XX - два цикла - установка, два цикла - сброс... выходная частота - четверть от тактирующей...
Следуя твоим измышлениям - частота, как минимум, должна быть раз в шесть меньше... что не наблюдается...
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25155
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

Не надо путать теплое с синим...
:wink:
Под выводом я понимаю ЛЮБОЙ вывод, в том числе и в ОЗУ. А ОЗУ тактируется на частоте ядра.
Имея ввиду архитектуру, я говорю об ОТСУТСТВИИ битных команд В ПРИНЦИПЕ. Эти команды заменены на атомарный доступ в ОБЩЕМ адресном поле.
Либо через маску.
И собственно вывод мало кого интересует. Прежде надо АДРЕСОВАТЬ его. Формально, получив один адрес, можно зациклить вывод и получить идентичную 24-му Микрочипу частоту на ноге или в бите ОЗУ, но в линейном коде этот фокус не выйдет.

ЗЫ. И зря ты ломишься в открытую дверь, доказывая непонятно кому про рулез кортексов. Я вполне себе представляю область их применения, где им конкурентов найти трудно.
ЗЗЫ. Есть еще одна особенность архитектуры кортексов, которая мне показалась странной после ПИКов. Это отсутствие непосредственной адресации ОЗУ во всех командах кроме команд загрузки... Я конечно понимаю, что бОльшая часть данных обрабатывается как массивы и проблем особых в этом нет, но "осадочек остался"... :))) (это я так троллю) :music:
:)))
ЗЗЗЫ. Чиста мнение. Не слишком удобной оказалась и архитектура осциллятора. Формально схема синтеза тактовой частоты такая же, как в dsPIC33:
Fcy=Fxtal*M/(PREDIV*DIV1),
но из-за ограничения выходной частоты PLL диапазоном 16...48 (для F0xx) фактически второй делитель невозможно использовать при необходимости иметь частоту близкую к максимальной....
Chettuser

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Chettuser »

Не пойму я Вас обоих, один про dsPIC, второй про PIC32 - что к чему? Совершенно разные камни...
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25155
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

Не, один про кортекс, а другой про пик32.
Причем тот, что про пик32, пытается доказать, что Микрочип с лицензированной МИПС глупее тех, кто лицензировал АРМ...
Зачем он это делает? Не знаю... :dont_know:
andrei11
Родился
Сообщения: 1
Зарегистрирован: Вс апр 13, 2014 11:29:41

arduino uno

Сообщение andrei11 »

можно ли к одному порту ардуино уно подключить 8 светодиодов?
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение HHIMERA »

Дык... в узкозаточенной задаче другой МК может и лучше ляжет... здесь никто и не спорит...
А вот как МК для широкого применения... для эмбедда и домашних поделок... STM8 и STM32 очень хороши... по всем параметрам... :music:
Но я ничего не навязываю... Просто после ПИК и АВР... на STM чувствуешь себя как-то свободно и раскованно... многие задачи решаются легко и играючись... С ними просто приятно работать...
"Я не даю готовых решений, я заставляю думать!"(С)
Chettuser

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Chettuser »

Что скажете насчёт PIC32MZ?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25155
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

Для КАКОЙ ЗАДАЧИ?
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение HHIMERA »

Chettuser писал(а):Что скажете насчёт PIC32MZ?

Неинтересен...
"Я не даю готовых решений, я заставляю думать!"(С)
Chettuser

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Chettuser »

Хорошо, задача: Обработка 3D и вывод видео на дисплей 5" с контроллером SSD1963.
Ответить

Вернуться в «Разные вопросы по МК»