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

 
 
51 страниц V  « < 9 10 11 12 13 > »   
Reply to this topicStart new topic
> Cortex-M7, Не угнаться.
AlexandrY
сообщение Mar 27 2015, 18:42
Сообщение #151


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(kan35 @ Mar 27 2015, 18:12) *
Я как раз сравнивал STM32F4 и STM32F7, оба 90нм. F7 где то на 20% более прожорлив на той же производительности.


Однако вопрос как вы контролировали их производительность, чтобы она была одинаковой?
Go to the top of the page
 
+Quote Post
LWW
сообщение Mar 28 2015, 13:45
Сообщение #152


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

Группа: Участник
Сообщений: 177
Регистрация: 24-03-07
Пользователь №: 26 471



Цитата(mantech @ Mar 27 2015, 16:01) *
Ресурсов у нее хватало, конечно у серии "мега", а простота очевидна - запустить таймер или уарт - 3-4 ассемблерных команды! Где такое в арме?? А ассемблер, или авр, элементарный и интуитивно понятный или армовские навороченные команды, где без книжки непонятно, что и какие суффиксы и префиксы...


Ну понеслась она по кочкам rolleyes.gif

Таймеры в кортексах наворочены до тошнотиков, но программировать их увлекательно! (нежели уТомительно). Поэтому да, что бы запустить ножку на генерацию ШИМ, понадобится 17 строк кода. Ну так это же прикольно! Там столько возможностей, что аж дурно становится..

И потом, что тут за наезды на ассемблер? 1111493779.gif

Именно в кортексах ассемблер самый прикольный из всех возможных! Причём полностью и хорошо документирован! Правда на английском. Нужна русская книжка. Там именно возможности и ещё раз возможности. В отличии от AVR8, где всё по струнке, тесными рядами, в 8-битном формате.

Только могли бы в М7 набросить командочек ещё каких-нибудь прикольных.

Недостаток у кортексов один - мало регистров mad.gif
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Mar 28 2015, 16:22
Сообщение #153


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(LWW @ Mar 28 2015, 15:45) *
Недостаток у кортексов один - мало регистров mad.gif

А на мой взгляд - совершенно достаточно. Ибо кортексы затачивались и для удобства программирования на языках высокого уровня и для применения операционных систем реального времени. Чем больше регистров - тем длиннее контекст при переключении процессов. Да и при большем количестве регистров система команд претерпит радикальные изменения и неизвестно ещё в какую сторону.
Что касается асскмблера, то я им практически не пользуюсь ибо нет нужды по приведённой выше причине.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Mar 28 2015, 17:02
Сообщение #154


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(IgorKossak @ Mar 28 2015, 19:22) *
Что касается асскмблера, то я им практически не пользуюсь ибо нет нужды по приведённой выше причине.


На мой взгляд, на ассеблере стоит писать лишь времязатратные алгоритмы, типа БПФ. Причем так, чтобы сперва дать C/C++-компилятору все откомпилировать, а потом вырезать из ассеблерного листинга данную процедуру и оформить ее в виде ассеблерной функции. А когда заработает, то подредактировать ассемблерный код так, чтобы меньше писалось в память, а больше сохранялось в регистрах (если последних достаточно).

А сейчас в отношении регистров меня больше интересует вопрос о том, как в них держать число double64 (которое с двойной точностью). Станут ли у M7 все регистры вдвое длиннее или только некоторые из них? (Можно слазить на сайт ARM для выяснения этого вопроса, но может быть кто-то сходу может дать ответ?)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Mar 28 2015, 17:05
Сообщение #155


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(kan35 @ Mar 27 2015, 19:12) *
Посмотрите http://www.eembc.org/coremark/
Что ATMEL, что ST - оба юзают IAR для теста.
keil реально дает 82% скорости от того, что дает iar, потому все сидят на иаре. Почему так, кто ленивее и тд - вопросы лирические. Хотя вряд ли это продлится долго.

Посмотрел. Но Keil там не упоминается. Расскажите, как вы узнали, что Keil слабее IAR.
Go to the top of the page
 
+Quote Post
kan35
сообщение Mar 28 2015, 17:43
Сообщение #156


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Мне посчастливилось запускать Coremark на keil для STM32f7, и он показал 820 очков на 200мгц. Ну и специалисты из STM объяснили почему. Могу поделиться проектом с тестом coremark, если кому интересно.

keil потому не упоминается, что смысл показывать меньшую производительность отсутствует. В eembc производители сами предоставляют результаты теста.

Сообщение отредактировал kan35 - Mar 28 2015, 17:44
Go to the top of the page
 
+Quote Post
LWW
сообщение Mar 28 2015, 18:36
Сообщение #157


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

Группа: Участник
Сообщений: 177
Регистрация: 24-03-07
Пользователь №: 26 471



Цитата(Xenia @ Mar 28 2015, 21:02) *
А сейчас в отношении регистров меня больше интересует вопрос о том, как в них держать число double64 (которое с двойной точностью). Станут ли у M7 все регистры вдвое длиннее или только некоторые из них? (Можно слазить на сайт ARM для выяснения этого вопроса, но может быть кто-то сходу может дать ответ?)

В M7 регистры как регисты, как в том же M0. Двойную точку читать и сохранять можно будет групповой операцией LDM/STM.

На мой взгляд ассемблер это и есть единственный язык, на котором можно писать программы. Потому что он простой и очень точный, по отношению к архитектуре.

И потом, я сейчас устрою дебош. Разобью всю мебель, посуду и выпивку twak.gif maniac.gifsmile3009.gif

Инициализация процессора по включению питания. Запуск генерации ШИМ, например для подсветки ЖКИ:

- на меге 256 = 16 строк кода
- на кортексе М407 = 17 строк кода

Блин... я всю жизнь мечтаю встретить программиста! А не мечтателя-фантаста. Хоть один тут есть? beer.gif a14.gif

Хватит уже наезжать на ассемблер и на превосходную архитектуру кортексов!
Go to the top of the page
 
+Quote Post
Xenia
сообщение Mar 28 2015, 19:23
Сообщение #158


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(LWW @ Mar 28 2015, 21:36) *
В M7 регистры как регистры, как в том же M0. Двойную точку читать и сохранять можно будет групповой операцией LDM/STM.

Ну, так куда же она читается из памяти и откуда туда пишется?

Цитата(LWW @ Mar 28 2015, 21:36) *
Блин... я всю жизнь мечтаю встретить программиста! А не мечтателя-фантаста. Хоть один тут есть? beer.gif a14.gif

Вам крупно повезло, это я! Но с кортексами не работала, а потому и ассемблера их не знаю.
Go to the top of the page
 
+Quote Post
RabidRabbit
сообщение Mar 28 2015, 19:35
Сообщение #159


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 3-12-09
Из: Россия, Москва
Пользователь №: 54 040



Цитата(LWW @ Mar 28 2015, 21:36) *
Хватит уже наезжать на ассемблер и на превосходную архитектуру кортексов!

Представляю Ваш щенячий восторг, когда Вы прочитаете про систему команд ARM (если Вы уже от тумбы в таком экстазе) sm.gif
Go to the top of the page
 
+Quote Post
scifi
сообщение Mar 28 2015, 20:34
Сообщение #160


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(LWW @ Mar 28 2015, 21:36) *
Блин... я всю жизнь мечтаю встретить программиста! А не мечтателя-фантаста. Хоть один тут есть? beer.gif a14.gif

Хватит уже наезжать на ассемблер и на превосходную архитектуру кортексов!

Забавно. Интересно, как выглядит на ассемблере веб-сервер или что-то в этом духе? А если другой процессор, то затачивай перо и строчи заново? Класс! Дайте две!
Go to the top of the page
 
+Quote Post
LWW
сообщение Mar 29 2015, 01:04
Сообщение #161


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

Группа: Участник
Сообщений: 177
Регистрация: 24-03-07
Пользователь №: 26 471



Цитата(Xenia @ Mar 28 2015, 23:23) *
Ну, так куда же она читается из памяти и откуда туда пишется?

Ну.. у сопроцессора же есть свои регистры. У них есть свои прямые имена S0-S31. Ничего в памятях сохранять или читать не надо. Из обычных регистров пересылаем данные в регистры сопроцессора командой VMOV S0, R0 например. И всё laughing.gif

Всего у сопроцессора 32 регистра. Но они объединены ещё и в регистровые пары, с именами D0-D15. Это как указатели в АВРках - регистры X, Y, Z, хотя на самом деле их не существует.

scifi

Я веб-сервер ещё не писал, хотя планирую. Выглядит наверное так же, как и все серверы. Только очевидно постабильней и пошустрее будет. А может и на 100% стабильный, почему бы и да? И перенести его на любой камень не пролблема. Представьте себе, теперь и в атмелах и в других камнях, один и тот же набор команд. Это же кортекс cool.gif

Это раньше было, у каждого своё ядро....

Вот поднял сетку CAN. Всё на ассемблере, на прерываниях. Длинна UTP кабеля 137 метров. Скорость 100k. На 1.000.000 сообщений ни одной ошибки передачи/приёма. Оказалось всё просто до банальности, дольше собирался..

Не думаю, что http такой уж шибко сложный будет.. Я сетевые протоколы ещё на perl писал. Писанины конечно побольше, чем с CAN, ну ничего..
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 29 2015, 03:51
Сообщение #162


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(LWW @ Mar 28 2015, 19:45) *
Именно в кортексах ассемблер самый прикольный из всех возможных! Причём полностью и хорошо документирован! Правда на английском. Нужна русская книжка. Там именно возможности и ещё раз возможности. В отличии от AVR8, где всё по струнке, тесными рядами, в 8-битном формате.

Как-нить на досуге изучите асм для DSP семейства C55xx. Сильно разочаруетесь в кортексах biggrin.gif
Вот где писать на асм было удовольствие. После этого, асм кортекс - ерунда.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Mar 29 2015, 06:10
Сообщение #163


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



LWW, а почему вы не пишете на C?
Go to the top of the page
 
+Quote Post
scifi
сообщение Mar 29 2015, 07:02
Сообщение #164


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(LWW @ Mar 29 2015, 04:04) *
И перенести его на любой камень не пролблема. Представьте себе, теперь и в атмелах и в других камнях, один и тот же набор команд. Это же кортекс cool.gif

А вот мне довелось сбацать свой веб сервер (а так же TFTP, SNTP, SNMP), перейти на другой проц, а там всё это скомпилировалось и просто заработало.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Mar 29 2015, 08:07
Сообщение #165


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Человек со временем привыкает к любому языку, как к процессорному, так и к разговорному. А потом кажется, что он самый лучший. sm.gif Вот и русский язык такой гадкий sm.gif, что до сих пор автоматические переводы на него получаются корявыми. Но даже пользуясь разговорным языком от рождения, мы в письме совершаем так много ошибок, что любой компилятор замучил бы нас варнингами и еррорами. sm.gif
Go to the top of the page
 
+Quote Post

51 страниц V  « < 9 10 11 12 13 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 16:33
Рейтинг@Mail.ru


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