Их, вероятно, нет в современных (на первый вопрос) чипах, но у всех есть общая тема - операции с атомарной памятью. Обычно они предназначены для синхронизации между потоками, и их включение на уровне набора инструкций, вероятно, указывает на то, что Atmel планирует выпустить многоядерный чип AVR. Поскольку они указаны сейчас, поставщики инструментов уже могут добавлять их в ассемблеры, но они не будут придавать этому большого значения, пока у чипов не появятся инструкции. (Редактировать: как оказалось, другое ядро является периферийным устройством USB, а не процессором. Спасибо avakar за эту информацию.)
Поведение, как я прочитал в Atmel AVR 8- Руководство по установке битовых инструкций:
LAC - Load and Clear, загружает содержимое памяти *Z в регистр Rd, одновременно очищая биты в *Z, которые были установлены в Rd.
LAS - Load And Set одновременно устанавливает биты в ячейке памяти, которые были установлены в регистре, и загружает регистр с предыдущим содержимым ячейки памяти. Очень полезно, например, для однобитовых мьютексов.
LAT - загрузка и переключение; похож на LAS, но вместо побитового или он использует побитовое исключающее ИЛИ, таким образом переключая биты.
XCH - Биржа; просто обменивает память и содержимое регистров.
Все они представляют собой инструкции доступа к ОЗУ (в ссылке на 07/2014 указано, что они занимают два цикла), которые объединяют операции, чтобы они также могли делать код, требующий ОЗУ, быстрее, чем в настоящее время.
person
Yann Vernier
schedule
25.01.2012