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

 
 
> иструкции cortex-m3 DMB/DSB/ISB/LDREX/CLREX/TBB, читаю книгу вижу фигу
klen
сообщение May 16 2010, 09:47
Сообщение #1


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 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>
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


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

 


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


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