|
иструкции cortex-m3 DMB/DSB/ISB/LDREX/CLREX/TBB, читаю книгу вижу фигу |
|
|
|
May 16 2010, 09:47
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
здравствуйте. к сожалению С/C++ компиллеры не могут использовать все иструкции ядра, поскольку язык программирования (с/c++) - всетаки язык формального описания и не позволяет разработчику выразить на нем все свои желания, о которых о части позаботились разработчики ядра процессора.
в свете сказанного очевидно что без применения асма в 'узких местах" - новый процессор тановится таким же ''старым" и мы получаем дядю Васю забивающего магнитофоном гвозди.
осознание вышескзанного заставило наконецто залесть в мануал и потратить время на изучение СM3 - результат печальный. ниже приведен список команд - названи красивые и заманчивые, но мне непонятно как они работают, тоесть для чего они нужны. последняя вроде понятно как работет но непонятно кудаее можно прикрутить с максимальной пользой, в какихто алгоритмах же она заменит кучу кода - вопрос в каких. первые три особо загадочные, на них у меня большие надежды. просьба уже разобравшихся пролить свет. зарание спасибо.
Data memory barrier DMB <c> Data synchronization barrier DSB <c> Instruction synchronization barrier ISB <c> Send event SEV <c> Load register exclusive calculates an address from a base register value and an immediate offset, loads a word from memory, writes it to a register LDREX<c> <Rt>,[<Rn>{,#<imm>}] STREX <c> <Rd>,<Rt>,[<Rn>{,#<imm>}] Clear exclusive clears the local record of the executing processor that an address has had a request for an exclusive access. CLREX <c> Table branch byte TBB [<Rn>, <Rm>] Table branch halfword TBH [<Rn>, <Rm>, LSL #1]
Return number of leading zeros in register value CLZ.W <Rd>, <Rn>
|
|
|
|
Сообщений в этой теме
klen иструкции cortex-m3 DMB/DSB/ISB/LDREX/CLREX/TBB May 16 2010, 09:47 AHTOXA Цитата(klen @ May 16 2010, 15:47) последн... May 16 2010, 10:39 bseyur Неплохое описание инструкций есть в юзер-мануалах ... May 16 2010, 11:02 klen 2_AHTOXA
насчет CLZ я примерно так и предполагал
... May 16 2010, 11:55 zltigo Цитата(bseyur @ May 16 2010, 14:02) Непло... May 16 2010, 12:09  klen Цитата(zltigo @ May 16 2010, 16:09) На ну... May 16 2010, 13:16   zltigo Цитата(klen @ May 16 2010, 16:16) глянул ... May 16 2010, 14:33  bseyur Цитата(zltigo @ May 16 2010, 19:09) На ну... May 16 2010, 14:18 igorsk TBB/TBH применяются нормальными компиляторами для ... May 16 2010, 15:18 klen Цитата(igorsk @ May 16 2010, 19:18) TBB/T... May 16 2010, 15:30 KRS при помощи
LDREX/STREX - реализуюется синхронизаци... May 16 2010, 19:35 zltigo Цитата(KRS @ May 16 2010, 22:35) Всякие б... May 16 2010, 19:44  KRS Цитата(zltigo @ May 16 2010, 23:44) Ну IS... May 16 2010, 19:49   zltigo Цитата(KRS @ May 16 2010, 22:49) Вот толь... May 16 2010, 19:58 klen Цитата(KRS @ May 16 2010, 23:35) при помо... May 16 2010, 21:20 KRS Есть статья
ARM Synchronization Primitives Develop... May 17 2010, 07:47 brag Я вот только не пойму, как эти LDREX/STREX юзать н... May 7 2011, 14:31 Aleksandr Baranov Вот пример программного сброса, использующий DSB:
... May 9 2011, 13:40 brag толку там от DSB, если и так в вечном цикле виснем... May 9 2011, 18:56 akimych Вот мне тоже интересно, так уж ли в этом коде необ... May 9 2011, 19:12 brag не нужен стопудово. у меня хендмейд ось и все паха... May 9 2011, 20:10 brag a SWP хорошая была инструкция, зря похерили. тепер... May 14 2011, 22:26 Genadi Zawidowski Цитата(brag @ May 15 2011, 01:26) a SWP х... May 15 2011, 07:40 brag ЦитатаВ каком это смысле? Значит ли это, что следу... May 15 2011, 20:16 Сергей Борщ Встряхну тему.
Только что напоролся на интересную... Jan 22 2014, 18:44 KRS Цитата(Сергей Борщ @ Jan 22 2014, 22:44) ... Jan 22 2014, 18:55  Сергей Борщ Цитата(KRS @ Jan 22 2014, 20:55) интересн... Jan 23 2014, 00:28 vlad_new Цитата(Сергей Борщ @ Jan 23 2014, 04:28) ... Jan 23 2014, 08:27 KRS Цитата(vlad_new @ Jan 23 2014, 12:27) А м... Jan 23 2014, 10:12 Сергей Борщ Цитата(vlad_new @ Jan 23 2014, 10:27) А м... Jan 23 2014, 11:01 Golikov A. а там статусного флага в регистре нет, который над... Jan 23 2014, 11:12 Genadi Zawidowski Что-то мне подсказывает, что вот это
Цитатаcomputa... Jan 23 2014, 18:42 BioWolf2000 Наткнулся на интересный баг в STM32F767. Эзернет р... Oct 3 2017, 17:11
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|