Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Время выполнения команды LD Rd,X+
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
zombi
Сколько тактов?
Помогите! help.gif Совсем запутался.
AlexFTF
Для выполнения этой команды требуется два машинных цикла.
1 маш. цикл = 1 период тактовой частоты (или 1 такт) Информация отсюда
В вашем случае получается 2 такта.
demiurg_spb
При такой постановке вопроса нет точного ответа.
Т.к. это зависит откуда происходит загрузка данных из внутренней или внешней SRAM или из регистрового файла...
В итоге можно получить от 1 такта и до бесконечности:-) при значительных циклах ожидания на шине внешней памяти.
Почитайте это я не думаю что xmega от обычной меги в этом чем-то отличается, хотя нет, отличается и ниже даны примечания касательно xmeg....
zombi
Цитата(AlexFTF @ Nov 9 2012, 05:21) *
Информация отсюда

Ни чего там не нахожу laughing.gif
AlexFTF
Цитата(zombi @ Nov 9 2012, 14:35) *
Ни чего там не нахожу laughing.gif

Прошу прощения, не увидел что вопрос по иксмеги.
В статье которая находится по этой ссылке есть информация по AVR семейства "tiny", "classic" и "mega"
Вот что про них пишут в этой статье
"Главное же отличие состоит в том, что этот цикл у AVR составляет всего один период тактовой частоты."
zombi
Цитата(demiurg_spb @ Nov 9 2012, 09:52) *
При такой постановке вопроса нет точного ответа.

Да уж...
Цитата(demiurg_spb @ Nov 9 2012, 09:52) *
до бесконечности:-)

Ну это Вы загнули biggrin.gif
Цитата(demiurg_spb @ Nov 9 2012, 09:52) *
Почитайте это я не думаю что xmega от обычной меги в этом чем-то отличается, хотя нет, отличается и ниже даны примечания касательно xmeg....

Меня интересует загрузка регистра из внутренней SRAM.
Цитата(Atmel)
Cycles XMEGA:
(i) 1(1)
(ii) 1(1)
(iii) 2(1)
Notes: 1. IF the LD instruction is accessing internal SRAM, one extra cycle is inserted.

Что это за "extra cycle"? Почему именно extra? Почему не написать что просто добавляется один цикл?

И получается что чтение 2 цикла, а запись туда же (во внутр. SRAM) выполняется за 1 цикл !?
При записи никаких "экстра" не добавляется.
ILYAUL
Если ST ( - ) то 2 , если ST (+) то 1 . Если STS то всегда 2
zombi
Правильно ли я понимаю что всё что ниже адреса 0х2000 командой "LD Rd,X+" читаем за один цикл?
ILYAUL
Где Вы это нашли ? Ссылку плиз
zombi
Цитата(ILYAUL @ Nov 9 2012, 12:48) *
Где Вы это нашли ? Ссылку плиз

Цитата(demiurg_spb @ Nov 9 2012, 10:52) *
Почитайте это

стр.87,88,89
Цитата(Atmel)
Cycles XMEGA:
(i) 1(1)
(ii) 1(1)
(iii) 2(1)
Notes: 1. IF the LD instruction is accessing internal SRAM, one extra cycle is inserted.
=GM=
По описанию время выполнения команды LD Rd,X+ в Xмеге составляет ОДИН такт, если доступ во внутреннюю память на кристалле и ДВА для внешней памяти.

Думаю, в примечании 2 ошибка, т.е. должно быть написано 2. One extra cycle must be added when accessing EXTERNAL sram - Должен быть добавлен один дополнительный цикл при доступе во ВНЕШНЮЮ память.
bob1
При работе с внутренней памятью
ld W,X+ - 2 такта
st Z+,W - 1 такт

Проверено в железе. wink.gif
ILYAUL
А чего проверять , всё написано в HELP AVR STUDIO для каждой команды
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.