Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Секундный пустой цикл на AT91RM9200
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
AlexBoy
Привет всем!
За сколько итераций должен выполняться пустой цикл в 1сек?
Я настроил PLLA на 180mhz, думал будет порядка 60млн. итераций,
а получается 36млн. Выполняется в SRAM, кеш инструкций включен.

delay = 35800000;
for(i=0;i<delay;i++);
00200264 [0xe3a01000] mov r1,#0
00200268 [0xe1510000] cmp r1,r0
0020026c [0x32811001] addcc r1,r1,#1
00200270 [0x3afffffc] bcc 0x200268
pPIOA->PIO_SODR = 0x01;
00200274 [0xe5847030] str r7,[r4,#0x30]
sapID
время выполнения инструкции можно посмотреть в бумажке
ARM920T Technical Reference Manual
Для данного случая (учитывая, что выборка команд из кеша):

00200268 [0xe1510000] cmp r1,r0 1 такт
0020026c [0x32811001] addcc r1,r1,#1 1 такт
00200270 [0x3afffffc] bcc 0x200268 3 такта

что дает 5 тактов на 180МГц = 36циклов в сек
Alex03
Цитата(sapID @ Apr 7 2006, 10:09) *
что дает 5 тактов на 180МГц = 36циклов в сек

Тока 36 "Мегациклов" в сек. smile.gif
AlexBoy
> Тока 36 "Мегациклов" в сек. smile.gif

Тогда значит все в порядке, я просто думал что все команды в нем по одному такту выполняются. Спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.