|
|
 |
Ответов
|
Mar 21 2012, 21:05
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(zombi @ Mar 21 2012, 22:41)  Програмной памяти то не много. Неужели время трансляции напрягает? Не, немного: 128kB-192kB-256kB..скоро обещают 384kB. Цитата(zombi @ Mar 21 2012, 22:41)  Неужели время трансляции напрягает? Напрягает. 128кБ пересобирается за 1-2 минуты.
|
|
|
|
|
Mar 22 2012, 15:11
|

Гуру
     
Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106

|
Цитата(_Артём_ @ Mar 22 2012, 00:05)  Напрягает. 128кБ пересобирается за 1-2 минуты. Мой самый большой проектик занимает 370кБ в тексте и всего 8кБ в бине. Точно время трансляции определить не смог. Результат трансляции появляется практически одновременно с нажатием клавиши ентер. Причём создается впечатление что львиную долю этого времени занимает вывод на экран результата. Ну даже если предположить что время трансляции 8кБ = 0.1 сек то 128кБ должно длиться около 1.6 сек. А 1-2 минуты ... я в шоке.
|
|
|
|
|
Mar 22 2012, 15:27
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(zombi @ Mar 22 2012, 17:11)  Мой самый большой проектик занимает 370кБ в тексте и всего 8кБ в бине. Эко у вас сжимает. Посмотрел проект: исходники ~900kB, bin - 126kB Цитата(zombi @ Mar 22 2012, 17:11)  Результат трансляции появляется практически одновременно с нажатием клавиши ентер. Причём создается впечатление что львиную долю этого времени занимает вывод на экран результата. На суперкомпьютере работаете? Цитата(zombi @ Mar 22 2012, 17:11)  А 1-2 минуты ... я в шоке.  Видимо IAR не может задействовать все ядра проца и HT. Ну и асм быстрее транслировать.
|
|
|
|
|
Mar 22 2012, 15:57
|

Гуру
     
Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106

|
Цитата(_Артём_ @ Mar 22 2012, 18:27)  Эко у вас сжимает. Дык, целая текстовая сторка превращается в несколько байт. Цитата(_Артём_ @ Mar 22 2012, 18:27)  Посмотрел проект: исходники ~900kB, bin - 126kB Дык, строка это уже целая подпрограмма. Цитата(_Артём_ @ Mar 22 2012, 18:27)  На суперкомпьютере работаете? Вроде нет:  Цитата(_Артём_ @ Mar 22 2012, 18:27)  Ну и асм быстрее транслировать. 100-500
|
|
|
|
|
Mar 22 2012, 16:36
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
zombiНу это Вы поскромничали - семь процессоров на борту. Я свои 7-мь ни разу не смог их загнать в ступор. Но я так и не понял , зачем asm нужен линковщик , если уже команды условных переходов и коанды rcall, rjmp вносят ограничения на расположения остального кода зависящего от "возможностей" этих команд. Да , include не очень оптимизирует код , но вот порядок подключения файлов позволяет подключить файлы использующие прерывания поближе к таблице прерываний , что даёт возможность заменить jmp на rjmp
Сообщение отредактировал IgorKossak - Mar 23 2012, 10:03
Причина редактирования: бездумное цитирование
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Mar 22 2012, 17:15
|

Гуру
     
Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106

|
Цитата(ILYAUL @ Mar 22 2012, 20:36)  Ну это Вы поскромничали - семь процессоров на борту. Я свои 7-мь ни разу не смог их загнать в ступор. А шо, у меня их семь?  а я и не знал А про ступор и их загнать ниче не понял. Цитата(ILYAUL @ Mar 22 2012, 20:36)  Но я так и не понял , зачем asm нужен линковщик , если уже команды условных переходов и коанды rcall, rjmp вносят ограничения на расположения остального кода зависящего от "возможностей" этих команд. Да , include не очень оптимизирует код , но вот порядок подключения файлов позволяет подключить файлы использующие прерывания поближе к таблице прерываний , что даёт возможность заменить jmp на rjmp rcall/call, rjmp/jmp - сомнительная экономия обьёма кода для си трансляторов.
|
|
|
|
|
Mar 22 2012, 17:32
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(zombi @ Mar 22 2012, 21:15)  А шо, у меня их семь?  а я и не знал А про ступор и их загнать ниче не понял. У Вас написано Intel Core I7 - что и означает семь процессоров на борту. Загнать в ступор - нагрузить работой процессора так , что бы явно система начинала тормозить. Нагрузка процессора 100%. Максимум чего добился я - 80% - нагрузка сразу в несколько тестов 3-D графики. Цитата(zombi @ Mar 22 2012, 21:15)  rcall/call, rjmp/jmp - сомнительная экономия обьёма кода для си трансляторов.  Так они и не экономят, поэтому и растут объёмы FLASH, ведь если СИ-ный asm хорошенько почистить , глядишь и 4к хватит на весь проект и Tiny 2313  Цитата А код не сэконошь: два байта после вектора остаётся , но куда их деть? Я думаю , что компилятор СИ так не поступит Код cbr temp,0x0F;| Маскируем младшие биты данных в temp sbr temp,1<<LCD_E;| $08;Устанавливем сигнал строба (Е) в one outr LCD_PORT,temp;/ Выводим первый полубайт в порт ;+ И готовим второй , чтобы не ставить "тупые" NOP для задержки swap temp1 cbr temp1,0x0F cbr temp,0xF0 cbi LCD_Port,LCD_E;" Записываем данные в LCD Но умные люди говорят , что можно ещё более сэкономить , я правда не заморачивался этим вопросом. В одном из asm кодов от Си видел такие сочетания Код brne met1 met1: rjmp met2 met2 : ........... Но вернёмся к теме , так нужен ли линковщик для asm?
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Mar 22 2012, 17:40
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(ILYAUL @ Mar 22 2012, 19:32)  У Вас написано Intel Core I7 - что и означает семь процессоров на борту. Вы к 1 апреля готовитесь? P.S. Не процессоров, а ядер. Не 7, а 2-4-6. Цитата(ILYAUL @ Mar 22 2012, 19:32)  Так они и не экономят, поэтому и растут объёмы FLASH Вы утверждаете что обработчики где-то далеко-далеко располагают? Цитата(ILYAUL @ Mar 22 2012, 19:32)  ведь если СИ-ный asm хорошенько почистить , глядишь и 4к хватит на весь проект и Tiny 2313  Безусловно, лет за 5-10 можно всё на асм переписать и оптимизировать (процентов на 10-50), Но кому оно тогда будет нужно?
|
|
|
|
Сообщений в этой теме
cannoneer Линковщик Mar 20 2012, 16:04 zombi Цитата(cannoneer @ Mar 20 2012, 19:04) Ну... Mar 20 2012, 16:36 Leopoldius На каком ассемблере. Телепатия не помогает увы...
... Mar 20 2012, 22:10 cannoneer Использую ассемблер для AVR. Компилятор от AVR Stu... Mar 21 2012, 07:49 Сергей Борщ Атмеловский ассемблер от AVRStudio такого не подде... Mar 21 2012, 09:31  ILYAUL Цитата(Сергей Борщ @ Mar 21 2012, 13:31) ... Mar 21 2012, 17:27   Сергей Борщ QUOTE (ILYAUL @ Mar 21 2012, 19:27) Компа... Mar 21 2012, 20:05    ILYAUL Цитата(Сергей Борщ @ Mar 22 2012, 00:05) ... Mar 21 2012, 20:26 cannoneer Спасибо за ответ. Жаль что не поддерживает. А како... Mar 21 2012, 09:59 Сергей Борщ QUOTE (cannoneer @ Mar 21 2012, 11:59) А ... Mar 21 2012, 10:42 hd44780 В WinAvr-е есть и компилятор С, и ассемблер, и лин... Mar 21 2012, 10:16  ILYAUL Цитата(_Артём_ @ Mar 22 2012, 01:05) Напр... Mar 22 2012, 08:37   _Артём_ Цитата(ILYAUL @ Mar 22 2012, 10:37) Это ч... Mar 22 2012, 11:37       _Артём_ Цитата(zombi @ Mar 22 2012, 19:15) rcall/... Mar 22 2012, 17:24        zombi Цитата(_Артём_ @ Mar 22 2012, 21:22) Там ... Mar 22 2012, 17:29         zombi Цитата(_Артём_ @ Mar 22 2012, 21:40) Не п... Mar 22 2012, 17:47          _Артём_ Цитата(zombi @ Mar 22 2012, 19:47) ЗЫ.А ч... Mar 22 2012, 18:06         ILYAUL Цитата(_Артём_ @ Mar 22 2012, 21:40) Безу... Mar 25 2012, 17:35          zombi Цитата(ILYAUL @ Mar 25 2012, 20:35) Zombi... Mar 25 2012, 18:07           ILYAUL Цитата(zombi @ Mar 25 2012, 22:07) Вариан... Mar 25 2012, 18:19
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|