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

 
 
> LPC1700 User manual, О чём так долго мечтали мы все
shahr
сообщение Jun 8 2009, 09:30
Сообщение #1


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

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



http://www.standardics.nxp.com/support/doc...ual.lpc17xx.pdf

upd. Если заметите какие-либо явные ошибки, неточности или отсутствие важной информации, напишите, пожалуйста, сюда и продублируйте личным сообщением. На стилистику давайте внимания не обращать.

Сообщение отредактировал shahr - Jun 8 2009, 09:35


--------------------
wbw
shahr
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
-=Sergei=-
сообщение Jun 8 2009, 10:31
Сообщение #2


Местный
***

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



Цитата(shahr @ Jun 8 2009, 13:30) *
http://www.standardics.nxp.com/support/doc...ual.lpc17xx.pdf

upd. Если заметите какие-либо явные ошибки, неточности или отсутствие важной информации, напишите, пожалуйста, сюда и продублируйте личным сообщением. На стилистику давайте внимания не обращать.


Ну и как всегда реклама:
Enhanced flash memory accelerator enables high-speed 100 MHz operation with zero wait states.

Расходится с делом:
Flash accesses use 5 CPU clocks. Use for up to 100 MHz CPU clock.

Теперь ждем обновленные электрические характеристики, а то на самом вкусном пока TBD стоит....
Go to the top of the page
 
+Quote Post
miv
сообщение Jun 8 2009, 10:47
Сообщение #3


Участник
*

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



Цитата(-=Sergei=- @ Jun 8 2009, 14:31) *
Ну и как всегда реклама:
Enhanced flash memory accelerator enables high-speed 100 MHz operation with zero wait states.

Расходится с делом:
Flash accesses use 5 CPU clocks. Use for up to 100 MHz CPU clock.

Теперь ждем обновленные электрические характеристики, а то на самом вкусном пока TBD стоит....

Так на сколько я понял 5 циклов это к Flash а после акселератора zero.
Т.е. если акселератор не включен то при 100 - 5 циклов доступа к инструкциям типа,
а если акселератор включён то доступ к инструкциям zero циклов. У него же там шина 128 бит.
Или чот я не понял ?
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jun 8 2009, 11:01
Сообщение #4


.
******

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



Цитата(miv @ Jun 8 2009, 15:47) *
...
а если акселератор включён то доступ к инструкциям zero циклов. У него же там шина 128 бит.
Или чот я не понял ?

128 бит = 4 инструкции. Но не все инструкции однотактовые. Если хотя бы одна из инструкций будет двухтактовая то должно работать без тормозов, имхо. А вот если поставить подряд много NOP-ов, то наверное скорость упадёт до 80 MIPS.


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


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

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



Цитата(GetSmart @ Jun 8 2009, 15:01) *
128 бит = 4 инструкции. Но не все инструкции однотактовые. Если хотя бы одна из инструкций будет двухтактовая то должно работать без тормозов, имхо. А вот если поставить подряд много NOP-ов, то наверное скорость упадёт до 80 MIPS.

В THUMB2 NOP - 16 битная! так что их 8 влезет

Цитата(-=Sergei=- @ Jun 8 2009, 15:05) *
Таким образом пока программа линейно выполняется будут честные ноль циклов задержки (у NXP Флеш 128 битная, от 4 до 8 инструкций за раз), но как только какое либо ветвление или прерывание вне этих предвыбранных адресов, получайте полностью 5 циклов дополнительной задержки при 100 МГц.

Ну а теперь для своих алгоритмов прикиньте сколько ASM инструкций занимают ваши циклы FOR ?

а ARM7 все нормально с ветвлениями было. ( кроме прерываний конечно)
Вы конкретный цикл приведите, который у вас из Flash работает медленнее чем из встроенной SRAM
Go to the top of the page
 
+Quote Post
-=Sergei=-
сообщение Jun 8 2009, 11:21
Сообщение #6


Местный
***

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



Цитата(KRS @ Jun 8 2009, 15:10) *
а ARM7 все нормально с ветвлениями было. ( кроме прерываний конечно)
Вы конкретный цикл приведите, который у вас из Flash работает медленнее чем из встроенной SRAM


unsigned char y;
unsigned int m1[256];
unsigned int m2[256];
unsigned int m3[256];

for (y=0;y<=255;y++)
m1[y] = m2[y]*m3[y];



0x080000D4 2000 MOVS r0,#0x00
0x080000D6 E00D B 0x080000F4
0x080000D8 F50D6180 ADD r1,SP,#0x400
0x080000DC F8511020 LDR r1,[r1,r0,LSL #2]
0x080000E0 466A MOV r2,sp
0x080000E2 F8522020 LDR r2,[r2,r0,LSL #2]
0x080000E6 4351 MULS r1,r2,r1
0x080000E8 F50D6200 ADD r2,SP,#0x800
0x080000EC F8421020 STR r1,[r2,r0,LSL #2]
0x080000F0 1C41 ADDS r1,r0,#1
0x080000F2 B2C8 UXTB r0,r1
0x080000F4 28FF CMP r0,#0xFF
0x080000F6 DDEF BLE 0x080000D8

На этом форе, на каждый новый цикл имеем дополнительную задержку в 5 тактов процессора при 100МГц.

С SRAM это будет выполняться в 2 раза быстрей, только если SRAM для процессора адресуем меньше чем 0x2000_0000. Тогда Cortex будет лазить за ними через I и D шины.
Go to the top of the page
 
+Quote Post
KRS
сообщение Jun 8 2009, 11:50
Сообщение #7


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

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



Цитата(-=Sergei=- @ Jun 8 2009, 15:21) *

А вы на чипе реально померяли?
С помощью SysTick или у NXP там еще таймер специальный есть.

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

Сообщение отредактировал KRS - Jun 8 2009, 11:52
Go to the top of the page
 
+Quote Post
-=Sergei=-
сообщение Jun 8 2009, 12:02
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #9


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

Группа: Модераторы
Сообщений: 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
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #11


.
******

Группа: Участник
Сообщений: 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
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 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
GetSmart
сообщение Jun 8 2009, 12:55
Сообщение #13


.
******

Группа: Участник
Сообщений: 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   LPC1700 User manual   Jun 8 2009, 09:30
- - miv   Цитата(shahr @ Jun 8 2009, 13:30) http://...   Jun 8 2009, 09:32
|- - shahr   Цитата(miv @ Jun 8 2009, 13:32) Дык с 5-г...   Jun 8 2009, 09:36
|- - miv   Цитата(shahr @ Jun 8 2009, 13:36) Это в S...   Jun 8 2009, 09:43
|- - etoja   Не торопись. Как говорил классик: Всё у нас получи...   Jun 8 2009, 10:45
|- - KRS   Цитата(-=Sergei=- @ Jun 8 2009, 14...   Jun 8 2009, 10:45
|- - Mitsufan   Цитата(-=Sergei=- @ Jun 8 2009, 13...   Jun 8 2009, 10:46
||- - GetSmart   Цитата(KRS @ Jun 8 2009, 16:10) В THUMB2 ...   Jun 8 2009, 11:13
||- - GetSmart   Цитата(KRS @ Jun 8 2009, 16:50) Потому чт...   Jun 8 2009, 11:58
|||- - KRS   Цитата(GetSmart @ Jun 8 2009, 15:58) Врёт...   Jun 8 2009, 12:01
||- - shahr   Цитата(-=Sergei=- @ Jun 8 2009, 16...   Jun 8 2009, 12:30
||- - -=Sergei=-   Цитата(shahr @ Jun 8 2009, 16:30) Это сра...   Jun 8 2009, 13:19
||- - GetSmart   Цитата(-=Sergei=- @ Jun 8 2009, 18...   Jun 8 2009, 13:28
||- - KRS   Цитата(-=Sergei=- @ Jun 8 2009, 17...   Jun 8 2009, 13:39
||- - sergvks   Цитата(-=Sergei=- @ Jun 8 2009, 17...   Sep 2 2009, 04:42
|- - -=Sergei=-   Цитата(miv @ Jun 8 2009, 14:47) Так на ск...   Jun 8 2009, 11:05
|- - miv   Цитата(-=Sergei=- @ Jun 8 2009, 15...   Jun 8 2009, 12:36
|- - alexQ   2shahr непонятки с АЦП. в фичах на камень (начал...   Jun 8 2009, 12:42
||- - shahr   Цитата(alexQ @ Jun 8 2009, 16:42) В резул...   Jun 8 2009, 13:07
|- - KRS   Цитата(miv @ Jun 8 2009, 16:36) Что значи...   Jun 8 2009, 12:53
- - KRS   да у STM даже простой цикл из RAM работал быстрее,...   Jun 8 2009, 13:10
- - meister   По UM: System Tick Timer В разделе "System T...   Jun 9 2009, 06:44
|- - KRS   Цитата(meister @ Jun 9 2009, 10:44) По UM...   Jun 9 2009, 09:57
|- - Vitaliy_ARM   Не понял одного момента, можно ли запустить синхро...   Jun 10 2009, 06:42
|- - KRS   Цитата(Vitaliy_ARM @ Jun 10 2009, 10:42) ...   Jun 10 2009, 08:25
|- - shahr   Цитата(Vitaliy_ARM @ Jun 10 2009, 10:42) ...   Jun 10 2009, 11:41
|- - Vitaliy_ARM   Цитата(shahr @ Jun 10 2009, 15:41) Нет, т...   Jun 10 2009, 12:01
|- - shahr   Цитата(Vitaliy_ARM @ Jun 10 2009, 16:01) ...   Jun 10 2009, 12:13
|- - miv   Цитата(shahr @ Jun 10 2009, 16:13) Сделае...   Jun 10 2009, 12:48
||- - Vitaliy_ARM   Цитата(miv @ Jun 10 2009, 16:48) И когда ...   Jun 15 2009, 07:18
||- - researcher   Обещали, во втором квартале 2009. Квартал практиче...   Jun 28 2009, 18:24
||- - Dog Pawlowa   Цитата(researcher @ Jun 28 2009, 21:24) О...   Jun 28 2009, 20:01
|- - sergvks   Цитата(shahr @ Jun 10 2009, 15:13) Сделае...   Jul 12 2009, 06:01
||- - shahr   Какой-нибудь LPC   Jul 12 2009, 08:06
|- - demiurg_spb   Цитата(shahr @ Jun 10 2009, 16:13) Сделае...   Jul 12 2009, 18:08
|- - Т.Достоевский   Цитата(demiurg_spb @ Jul 12 2009, 22:08) ...   Jul 13 2009, 23:02
|- - researcher   Процесс пошел . Ассортимент пополнился первой пла...   Jul 14 2009, 15:38
- - adnega   И выводы пошустрее, SPI с делителем на два....   Jul 12 2009, 18:34
|- - shahr   Цитата(adnega @ Jul 12 2009, 22:34) И выв...   Jul 13 2009, 06:22
- - HARMHARM   Еще слегка раздосадовало, что флеш разбит по 4кб т...   Jul 23 2009, 06:47
|- - abcdefg   В чем политический смысл, что ссылки на юзер мануа...   Aug 25 2009, 08:31
|- - shahr   что имеется в виду? поиск по сайту?   Aug 25 2009, 09:28
|- - abcdefg   Цитата(shahr @ Aug 25 2009, 13:28) что им...   Aug 25 2009, 10:18
|- - shahr   Цитата(abcdefg @ Aug 25 2009, 14:18) Когд...   Aug 27 2009, 08:28
|- - Vitaliy_ARM   Цитата(shahr @ Aug 27 2009, 12:28) Полноц...   Sep 2 2009, 12:16
|- - shahr   Стандартная цена на LPC1311FHN33 на 25% ниже ста...   Sep 2 2009, 12:37
|- - Vitaliy_ARM   Цитата(shahr @ Sep 2 2009, 16:37) Стандар...   Sep 3 2009, 08:58
||- - dimka76   Цитата(Vitaliy_ARM @ Sep 3 2009, 12:58) С...   Oct 7 2009, 06:10
|- - HARMHARM   Цитата(shahr @ Sep 2 2009, 15:37) Стандар...   Sep 28 2009, 21:05
- - sergvks   Есть вопрос по LPC1768: можно ли реализовать функц...   Sep 28 2009, 06:11
|- - shahr   На мой взгляд, частотомер с частотой в 1/4 CCLK вр...   Sep 28 2009, 11:34
|- - sergvks   Цитата(shahr @ Sep 28 2009, 15:34) На мой...   Sep 29 2009, 06:06
|- - Vitaliy_ARM   Цитата(sergvks @ Sep 29 2009, 10:06) Очен...   Oct 5 2009, 08:54
- - dimka76   А когда документация на Cortex-M0, да и сами крист...   Sep 29 2009, 04:29
|- - Petka   Цитата(dimka76 @ Sep 29 2009, 08:29) А ко...   Sep 29 2009, 05:19
|- - shahr   Цитата(dimka76 @ Sep 29 2009, 08:29) А ко...   Sep 29 2009, 05:27
|- - dimka76   Цитата(shahr @ Sep 29 2009, 09:27) Криста...   Sep 29 2009, 05:35
|- - Petka   Цитата(shahr @ Sep 29 2009, 09:27) Криста...   Sep 29 2009, 05:39
|- - dimka76   Цитата(shahr @ Sep 29 2009, 08:27) Криста...   Nov 3 2009, 12:15
|- - bus16   Цитируя UM LPC1768: "TBLOFF Vector table base...   Nov 30 2009, 08:16
|- - KRS   Цитата(bus16 @ Nov 30 2009, 11:16) Так во...   Dec 1 2009, 10:17
- - voyt   Мда... 20 байт против 2 КБайт (в LCP2368) батарейн...   Sep 30 2009, 16:01
|- - HARMHARM   Цитата(voyt @ Sep 30 2009, 19:01) Мда... ...   Oct 5 2009, 10:24
||- - Vitaliy_ARM   Вчера заиспользовал этот камень вместо LPC2364. Вп...   Oct 6 2009, 19:03
|- - shahr   Цитата(voyt @ Sep 30 2009, 20:01) Мда... ...   Oct 6 2009, 22:52
|- - voyt   Цитата(shahr @ Oct 7 2009, 02:52) Зато ча...   Oct 8 2009, 15:35
||- - Petka   Цитата(voyt @ Oct 8 2009, 19:35) Т.е. вы ...   Oct 8 2009, 17:55
||- - HARMHARM   Цитата(Petka @ Oct 8 2009, 20:55) Всё пра...   Oct 9 2009, 05:48
||- - meister   Цитата(HARMHARM @ Oct 9 2009, 09:48) Ещ...   Oct 11 2009, 07:43
||- - zltigo   Цитата(meister @ Oct 11 2009, 09:43) чтоб...   Oct 11 2009, 10:01
|- - Aner   Цитата(shahr @ Oct 7 2009, 01:52) ... нев...   Oct 11 2009, 10:56
|- - zltigo   Цитата(Aner @ Oct 11 2009, 12:56) Ждать 1...   Oct 11 2009, 11:30
|- - Vitaliy_ARM   Еще не заметил в кортексе такой штуки. Как узнать,...   Oct 12 2009, 15:20
|- - aaarrr   Цитата(Vitaliy_ARM @ Oct 12 2009, 19:20) ...   Oct 12 2009, 16:28
||- - Vitaliy_ARM   Цитата(aaarrr @ Oct 12 2009, 20:28) По пр...   Oct 13 2009, 11:34
||- - aaarrr   Цитата(Vitaliy_ARM @ Oct 13 2009, 15:34) ...   Oct 13 2009, 11:59
||- - Vitaliy_ARM   Цитата(aaarrr @ Oct 13 2009, 15:59) Каким...   Oct 13 2009, 12:37
|- - meister   Цитата(Vitaliy_ARM @ Oct 12 2009, 19:20) ...   Oct 12 2009, 16:29
- - Aner   Смотрели на LPC1768 все вроде устраивает, но вот т...   Oct 6 2009, 20:54


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

 


RSS Текстовая версия Сейчас: 12th August 2025 - 00:00
Рейтинг@Mail.ru


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