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

 
 
7 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> LPC1700 User manual, О чём так долго мечтали мы все
GetSmart
сообщение Jun 8 2009, 11:58
Сообщение #16


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(KRS @ Jun 8 2009, 16:50) *
Потому что когда я исследовал ARM7. У него цикл, попроще правда, из FLASH работал быстрее чем из SRAM встроенной.

Врёте-с?
Это что за ARM такой и что за цикл?
Быстрее он никак в принципе не может, в пределе может догнать раму, но не перегнать.

Я имею ввиду внутреннюю раму проца.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
KRS
сообщение Jun 8 2009, 12:01
Сообщение #17


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(GetSmart @ Jun 8 2009, 15:58) *
Врёте-с?
Это что за ARM такой и что за цикл?
Быстрее он никак в принципе не может, в пределе может догнать раму, но не перегнать.

Я имею ввиду внутреннюю раму проца.

NXP (тогда еще Philips) что то говорил про ускорение переходов. Так то переход выполняется 2 такта, А вроде если цикл короткий (или переход) и попадал в 128 бит загруженных акселератором - выполнялся быстрее.
Go to the top of the page
 
+Quote Post
-=Sergei=-
сообщение Jun 8 2009, 12:02
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 339
Регистрация: 26-10-04
Пользователь №: 985



Цитата(KRS @ Jun 8 2009, 15:50) *
А вы на чипе реально померяли?
С помощью SysTick или у NXP там еще таймер специальный есть.

Потому что когда я исследовал ARM7. У него цикл, попроще правда, из FLASH работал быстрее чем из SRAM встроенной.



Нет, на NXP не смотрел.

В железе смотрел на STM32 и нашем чипе.

В обычном случае, кода код во Флеш, а данные в SRAM, процессор работает бы быстрее чем когда и код и данные в SRAM из за того, что в этом случае нет конфликтов доступа в память за инструкциями и за данными. Т.е. эти доступы могут выполняться параллельно.

У NXP в области кода программ (0x0000-0x1FFF_FFFF) реализовано помимо флеш памяти еще и обычное ОЗУ (кроме того, которое выше 0x2000_0000). Если это ОЗУ проинитить кодом программы, то это позволит выполнять алгоритм гораздо быстрее, чем из флеш.
Но паять таки, если в эту память не будет конфликтов доступа за инструкциями и данными.
Go to the top of the page
 
+Quote Post
KRS
сообщение Jun 8 2009, 12:06
Сообщение #19


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(-=Sergei=- @ Jun 8 2009, 16:02) *
Нет, на NXP не смотрел.

В железе смотрел на STM32 и нашем чипе.

Да STM32 вообще тормознутый чип!
Один плюс маленький и дешевый.
Go to the top of the page
 
+Quote Post
-=Sergei=-
сообщение Jun 8 2009, 12:12
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 339
Регистрация: 26-10-04
Пользователь №: 985



Цитата(KRS @ Jun 8 2009, 16:06) *
Да STM32 вообще тормознутый чип!
Один плюс маленький и дешевый.



NXP не намного быстрее будет.
Прибавка в тактовой частоте от 72 Мгц (STM32) до 100 Мгц (NXP) в производительности даст не более 10%. (Мое ИМХО, надо мерить)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jun 8 2009, 12:17
Сообщение #21


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(-=Sergei=- @ Jun 8 2009, 17:12) *
NXP не намного быстрее будет.
Прибавка в тактовой частоте от 72 Мгц (STM32) до 100 Мгц (NXP) в производительности даст не более 10%. (Мое ИМХО, надо мерить)

А это почему? Если при выполнении проги из флэш нет ненужных циклов ожиданий. Вроде должно быть пропорционально, грубо на 40%. За счёт чего будут тормоза?

Разве что загрузка констант из флэш адресов будет подтормаживать, но это уже зависит от конкретной программы. Да и в простых циклах этих тормозов обычно не бывает, т.к. компилятор пытается всё сразу загрузить в регистры, ещё до первой итерации цикла. Моё ИМХО процентов на 30 NXP должен быть быстрее.

Сообщение отредактировал GetSmart - Jun 8 2009, 12:20


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
-=Sergei=-
сообщение Jun 8 2009, 12:27
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 339
Регистрация: 26-10-04
Пользователь №: 985



Цитата(GetSmart @ Jun 8 2009, 16:17) *
А это почему? Если при выполнении проги из флэш нет ненужных циклов ожиданий. Вроде должно быть пропорционально, грубо на 40%. За счёт чего будут тормоза?



Опять сначала. Флеш по определению медленная память. Время доступа ~30 нс. По этому когда процессор работает на больших частотах, то контроллер флеш памяти иногда вставляет циклы ожидания для того что бы подгрузить новые данные из флеш, когда он не смог правильно предсказать предвыборку (ветвление алгоритма или прерывания).

0000 Flash accesses use 1 CPU clock. Use for up to 20 MHz CPU clock.
0001 Flash accesses use 2 CPU clocks. Use for up to 40 MHz CPU clock.
0010 Flash accesses use 3 CPU clocks. Use for up to 60 MHz CPU clock.
0011 Flash accesses use 4 CPU clocks. Use for up to 80 MHz CPU clock.
0100 Flash accesses use 5 CPU clocks. Use for up to 100 MHz CPU clock.
0101 Flash accesses use 6 CPU clocks. This “safe” setting will work under any conditions.

Таким образом, если надо что бы процессор работал на 100 Мгц. необходимо флеш акселератору установить 5 циклов на доступ в флеш. А это значит, что при непредсказанных переходах или прерываниях ядро будет остановлено на 5 циклов, пока из флеш будут извлечены новые данные.
Go to the top of the page
 
+Quote Post
shahr
сообщение Jun 8 2009, 12:30
Сообщение #23


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 6-06-06
Из: Москва
Пользователь №: 17 793



Цитата(-=Sergei=- @ Jun 8 2009, 16:12) *
NXP не намного быстрее будет.
Прибавка в тактовой частоте от 72 Мгц (STM32) до 100 Мгц (NXP) в производительности даст не более 10%. (Мое ИМХО, надо мерить)


Это сравнение на ОДИНАКОВОЙ тактовой частоте.

Сообщение отредактировал shahr - Jun 8 2009, 12:33
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
wbw
shahr
Go to the top of the page
 
+Quote Post
miv
сообщение Jun 8 2009, 12:36
Сообщение #24


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 29-08-05
Из: С-Петербург
Пользователь №: 8 055



Цитата(-=Sergei=- @ Jun 8 2009, 15:05) *
Хотя как я понял они SRAM смапировали в область кода, вот от туда действительно можно гнать алгоритм на всех парах.

Что значит смапировали ???
Это же фон-нейман !! Или нет ??
Единственно что в код не записать просто так потому что флеш.
Так и в ARM7-TDMI было !! т.е. есть smile.gif
Большой плюс что в Cortex Thumb-2 декодер команд который понимает смесь Thumb и ARm инструкций

Да там не только в частоте дело !!!

Да там не только в частоте дело !!!

Цитата(-=Sergei=- @ Jun 8 2009, 16:27) *
Опять сначала. Флеш по определению медленная память. Время доступа ~30 нс. По этому когда процессор работает на больших частотах, то контроллер флеш памяти иногда вставляет циклы ожидания для того что бы подгрузить новые данные из флеш, когда он не смог правильно предсказать предвыборку (ветвление алгоритма или прерывания).

0000 Flash accesses use 1 CPU clock. Use for up to 20 MHz CPU clock.
0001 Flash accesses use 2 CPU clocks. Use for up to 40 MHz CPU clock.
0010 Flash accesses use 3 CPU clocks. Use for up to 60 MHz CPU clock.
0011 Flash accesses use 4 CPU clocks. Use for up to 80 MHz CPU clock.
0100 Flash accesses use 5 CPU clocks. Use for up to 100 MHz CPU clock.
0101 Flash accesses use 6 CPU clocks. This “safe” setting will work under any conditions.

Таким образом, если надо что бы процессор работал на 100 Мгц. необходимо флеш акселератору установить 5 циклов на доступ в флеш. А это значит, что при непредсказанных переходах или прерываниях ядро будет остановлено на 5 циклов, пока из флеш будут извлечены новые данные.

Да это понятно !!!! что так и просиходит smile.gif))
И зачем PDF цитировать все ж наверно читали.

Сообщение отредактировал miv - Jun 8 2009, 12:31
Go to the top of the page
 
+Quote Post
alexQ
сообщение Jun 8 2009, 12:42
Сообщение #25


Знающий
****

Группа: Banned
Сообщений: 520
Регистрация: 6-02-06
Пользователь №: 14 040



2shahr

непонятки с АЦП.

в фичах на камень (начало шита) написано 1МГц,

кой-где и кой-кто говорил про 400КГц beer.gif ,

а в разделе мануала конкретно уже про ацп написано 200КГц.

В результате сколько "вешать в граммах" ????
Go to the top of the page
 
+Quote Post
KRS
сообщение Jun 8 2009, 12:53
Сообщение #26


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(miv @ Jun 8 2009, 16:36) *
Что значит смапировали ???
Это же фон-нейман !! Или нет ??

Уже нет! Это гарвард внутри есть ICODE DCODE
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jun 8 2009, 12:55
Сообщение #27


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(-=Sergei=- @ Jun 8 2009, 17:27) *
Опять сначала. Флеш по определению медленная память. Время доступа ~30 нс. По этому когда процессор работает на больших частотах, то контроллер флеш памяти иногда вставляет циклы ожидания для того что бы подгрузить новые данные из флеш, когда он не смог правильно предсказать предвыборку (ветвление алгоритма или прерывания).
...
Таким образом, если надо что бы процессор работал на 100 Мгц. необходимо флеш акселератору установить 5 циклов на доступ в флеш. А это значит, что при непредсказанных переходах или прерываниях ядро будет остановлено на 5 циклов, пока из флеш будут извлечены новые данные.

Теорию я знаю не хуже вас. Вы сравнили STM32 и NXP, у которых ядра одинаковые. Частота у NXP на 40% выше. Приведите конретные примеры, хотя бы текстом. Я прекрасно знаю как работает ARM7 NXP и так же могу предположить как повлияет на быстродействие увеличение тактовой и уменьшение ширины инструкции.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
shahr
сообщение Jun 8 2009, 13:07
Сообщение #28


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 6-06-06
Из: Москва
Пользователь №: 17 793



Цитата(alexQ @ Jun 8 2009, 16:42) *
В результате сколько "вешать в граммах" ????


200kHz на текущей ревизии. 1МГц в следующей.


--------------------
wbw
shahr
Go to the top of the page
 
+Quote Post
KRS
сообщение Jun 8 2009, 13:10
Сообщение #29


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



да у STM даже простой цикл из RAM работал быстрее, чем из flash ( при 72 Mhz)
а у LPC ( ARM7) одинаоковое число циклов было что из RAM что из FLASH и в ARM и в THUMB режимах, если они в кортекс впихали тот же акселератор...

плюс еще у NXP ICODE на SRAM тоже идет и SRAM два банка что еще может ускорить, особенно с DMA
Go to the top of the page
 
+Quote Post
-=Sergei=-
сообщение Jun 8 2009, 13:19
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 339
Регистрация: 26-10-04
Пользователь №: 985



Цитата(shahr @ Jun 8 2009, 16:30) *
Это сравнение на ОДИНАКОВОЙ тактовой частоте.



Там выложены результаты тестирования LPC1768
http://www.eembc.org/home.php

Спасибо shahr за наводку.

Там тесты при частоте 72 МГц, 100 МГц (+38%) и 120 (+68) МГц
Вообщем, при приросте частоты на 38%, производительность увеличилась на от 26% до 38% в зависимости от задачи.
Go to the top of the page
 
+Quote Post

7 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2025 - 05:48
Рейтинг@Mail.ru


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