Перейти к содержанию
    

Хочется, чтобы и быстро, и качественно. А это значит, что пока операнд в регистрах - должен иметь тип uint_fast8_t, а когда попадает в ОЗУ - просто uint8_t. Без нативной поддержки компилятором это сделать автоматически невозможно, а значит bool идет лесом :)

Простите, а как хранится uint8_t в регистрах 32битного процессора?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А никак. Она в озу должна быть uint8_t, а в регистрах - uint_fast8_t, что на автоматизме компилятором не поддерживается.

Даже это не факт - и в RAM, может потребоваться uint_fast8_t, короче, bool несколько скользкий уровень абстракции. Хотя ввиде enum, для повышения степени контролируемости его использование не исключено.

Простите, а как хранится uint8_t в регистрах 32битного процессора?

В регистах предлагалось uint_fast8_t - а это не 8 bit :) :), на ARM платформе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В регистах предлагалось uint_fast8_t - а это не 8 bit :) :), на ARM платформе.

Я про то, что если для булевых выражений использовать uint8_t, то в памяти это будет компактно, и при булевых операциях это будет быстро на 32битной архитектуре.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это будет быстро на 32битной архитектуре.

Возможны варианты :( компилятор будет масочку накладывать на регистр, для обеспечения эмуляции байтовости.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возможны варианты :( компилятор будет масочку накладывать на регистр, для обеспечения эмуляции байтовости.

не думаю что

"!(uint8_t)"

будет медленее

"!(uint_fast8_t)"

(при логических операциях маску не надо накладывать)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хороший пример. Хотя эти заразы (Luminarymicro) для получения даташита требуют регистрации,
Не требуют, а предлагают зарегистрироваться. ;) Можете отказаться от регистрации (выберите кнопку OPTIONS) и ссылку на даташит вам-таки дадут, но в следующий раз опять предложат зарегистрироваться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

(при логических операциях маску не надо накладывать)

Да? а ~boolvalue кто будет запрещать делать :) с Вашим 'bool' :(

Ну и нафиг такой bool ......

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да? а ~boolvalue кто будет запрещать делать :)

Так в трезвом уме делать низззя =) потому-что (0x02) это истина для компилятора, а ~(0x02) получится тоже истина, вопреки ожиданиям. А тех кто путает битовые операции с логическими воспитывать надо =). Сейчас речь шла о логических операциях.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так в трезвом уме делать низззя =) потому-что (0x02) это истина для компилятора, а ~(0x02) получится тоже истина, вопреки ожиданиям. А тех кто путает битовые операции с логическими воспитывать надо =).

Повторяю вопрос - лично Вы будете воспитывать, следить и так далее, дабы с этим "чудесным" bool работали только &&, ||, =0, =1? Не компилятор? Ну и зачем этот 'bool', который и не bool? Для удобного наступания на грабли?

Сейчас речь шла о логических операциях.

~ это есть тоже вполне себе логическая :) операция. Поразрядное логическое НЕ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можете отказаться от регистрации (выберите кнопку OPTIONS) и ссылку на даташит вам-таки дадут, но в следующий раз опять предложат зарегистрироваться.

Спасибо, помогло. Правда от полноты информации не стало выглядеть лучше. Итого - ток рабочего режима вырос до 45-50ма, ток Sleep в режиме "все остановлено" - 17-20ма, ток Sleep в режиме "все выключено" и тактовая разделена на 16 - 0,8-1ма. И на кой при батарейном питании такое потребление?!

 

ЗЫ. Кстати, бегло просмотрел доку и не совсем понял. На кой там 200 МГц PLL если System Clock не более 20 МГц?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И на кой при батарейном питании такое потребление?!

 

ЗЫ. Кстати, бегло просмотрел доку и не совсем понял. На кой там 200 МГц PLL если System Clock не более 20 МГц?

Это риторика? :cranky: В противном случае вопросы не по адресу. Причем тут частоты и батарейное питание? Упоминание этих МК было в ответ на реплику
Я сомневаюсь, что кто-то станет делать АРМы в 8-ми или хотя бы в 20-выводном корпусе...
как пример ARM в корпусе SOIC-28. И не более того.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ЗЫ. Кстати, бегло просмотрел доку и не совсем понял. На кой там 200 МГц PLL если System Clock не более 20 МГц?

Понятно :( с контроллерами, которые работают не на частоте кварца, али умноженной на целое число, вообще дел не имели.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И на кой при батарейном питании такое потребление?!

 

ЗЫ. Кстати, бегло просмотрел доку и не совсем понял. На кой там 200 МГц PLL если System Clock не более 20 МГц?

Вообще, серия Luminary (по крайней мере их младшая линейка) никоим образом не конкурент по потреблению тока.

Чипы здорово греются и жрут немеряно.

Их привели только в качестве малоногих армов. Может быть отладят техпроцесс или доработают камень когда нибудь...

 

А вообще, такое ощущение, что их разрабатывали впопыхах, лишь бы успеть побыстрее выкинуть на рынок... :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Их привели только в качестве малоногих армов. Может быть отладят техпроцесс или доработают камень когда нибудь...

Чипы попали в лапы TI - теперь им ппц. Максимум останутся такими же как были. (imho)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...