Forth http://fforum.winglion.ru/ |
|
m3forth - форт для ARM Cortex-M3 http://fforum.winglion.ru/viewtopic.php?f=39&t=2952 |
Страница 4 из 5 |
Автор: | in4 [ Вт ноя 05, 2013 21:44 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
[немножко не в тему, но без контекста теряется смысл] Давненько ТАК не смеялся... Может, перенести часть в Юмор? Сначала просто улыбнулся, думал, так, чуток смешно. Но дальнейшие сообщения - это что-то! Хотя, если задуматься, что это может быть правдой - делается ОЧЕНЬ грустно. Разве что парни ОЧЕНЬ заняты и замечают только несколько последних фраз (все-таки думаю о людях хорошо!). Ну или это тонкие шутки на грани троллинга (как с кодом Хищника). Михаил, а ты вообще знаешь возможные приросты эффективности от различных способов оптимизации? А какие способы оптимизации ты знаешь? Статью Мура про 1% читал? Если вдруг сомнения - перечитай и постарайся понять! Тогда точно сможешь работать(и программировать!) лучше! |
Автор: | Mihail [ Ср ноя 06, 2013 00:03 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Хищник писал(а): Срочно на ithappens - как фортеры оптимизируют решение квадратного уравнения ПЕРЕБОРОМ!! Можно и искусственный в мой оптимизатор вставить. Вопрос не принципиальный, а экономический. Кто за это заплатит? Думаю, для подобного преобразования алгоритма, оптимизатору удобнее было-бы работать со списками. Однако, и машинный код тоже подойдет. Его можно рассмотреть как развернутый список. oco писал(а): Интересно было натравить мой оптимизатор на код и сравнить с оптимизатором Михаила Пример хищника не совсем подходит. Оптимизировать DO LOOP нам рановато. Предлагаю Код: : TST 2 PICK R@ DUP * * 2 PICK R@ * + 1 PICK + ; in4 писал(а): какие способы оптимизации ты знаешь? Только свой и знаю. in4 писал(а): Статью Мура про 1% читал? Если вдруг сомнения - перечитай и постарайся понять! Не думаю, что она поможет для решения моих задач. |
Автор: | in4 [ Ср ноя 06, 2013 00:30 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Mihail писал(а): in4 писал(а): какие способы оптимизации ты знаешь? Только свой и знаю.Mihail писал(а): in4 писал(а): Статью Мура про 1% читал? Не думаю, что она поможет для решения моих задач.Если вдруг сомнения - перечитай и постарайся понять! Если человек думает, что все знает в какой-то области, то он не сможет узнать и научиться в этой области чему-то новому! А ведь могут существовать и лучшие способы решения даже твоих задач! По крайней мере, твой код может быть лучше структурирован и понятен для других, чем макаронообразная каша оптимизатора SPF. По критерию "понятность" он будет БОЛЕЕ оптимальным! В него будет легче вносить изменения и легче будет исправлять ошибки. По критерию "легкость сопровождения" от тоже будет более оптимальным! Размер кода и быстродействие не всегда самый важный критерий. |
Автор: | chu [ Ср ноя 06, 2013 08:47 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
oco писал(а): ... решил попробовать что-то посеръезнее. Остановился на STM32vldiscovery (ARM Cortex-M3). Возможно ли на базе этой платы построить автономный форт-компьютер, типа Canon Cat ( ну или ZX Spectrum Scorpion )? |
Автор: | Mihail [ Ср ноя 06, 2013 11:07 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
in4 писал(а): Не хочешь ли узнать другие? Это недолго, а польза будет большая! Если есть что сказать излагай. (прежде чем отсылать к литературе). in4 писал(а): А ведь могут существовать и лучшие способы решения даже твоих задач! Ты что-то конкретное имеешь в виду? in4 писал(а): В него будет легче вносить изменения и легче будет исправлять ошибки Все ошибки я всегда исправлял в день обнаружения. (получения сообщения об ошибке) in4 писал(а): Размер кода и быстродействие не всегда самый важный критерий. Однако, бъективный. |
Автор: | oco [ Ср ноя 06, 2013 12:18 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
chu писал(а): oco писал(а): ... решил попробовать что-то посеръезнее. Остановился на STM32vldiscovery (ARM Cortex-M3). Возможно ли на базе этой платы построить автономный форт-компьютер, типа Canon Cat ( ну или ZX Spectrum Scorpion )? Можно |
Автор: | Hishnik [ Ср ноя 06, 2013 14:29 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
chu писал(а): Возможно ли на базе этой платы построить автономный форт-компьютер, типа Canon Cat ( ну или ZX Spectrum Scorpion )? Целый Cray на FPGA http://www.chrisfenton.com/homebrew-cray-1a/ |
Автор: | M-atthias [ Сб дек 21, 2013 15:05 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Dear Oleg Voronin, I found your M3 assembler, a beautiful one ! I will need some time to understand your source code in depth before I ask questions. I could not find a COPYING or LICENCE in the M3FORTH package, is it GPL3 compatible ? Do you know a Forth M3 disassembler ? Matthias |
Автор: | oco [ Вс дек 22, 2013 01:05 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
M-atthias писал(а): I found your M3 assembler, a beautiful one ! I will need some time to understand your source code in depth before I ask questions. I could not find a COPYING or LICENCE in the M3FORTH package, is it GPL3 compatible ? It is GPL3, I will include LICENSE file, thanks. M-atthias писал(а): Do you know a Forth M3 disassembler ? No, I don't. I use arm-none-eabi-objdump. |
Автор: | oco [ Вт дек 24, 2013 04:00 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Версия 0.4. Оптимизированы VALUE, DEFER. Version 0.4. VALUE, DEFER were optimized. |
Автор: | Mihail [ Ср дек 25, 2013 10:47 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Which DUP are fastest? Код: CODE DUP
SUBS TOS, #4 STR TOS, [DSTK] NEXT END-CODE CODE DUP STR TOS, [DSTK, #-4]! NEXT END-CODE CODE DUP STMDB DSTK!, {TOS} NEXT END-CODE |
Автор: | oco [ Чт дек 26, 2013 01:34 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Mihail писал(а): Which DUP are fastest? Код: CODE DUP SUBS TOS, #4 STR TOS, [DSTK] NEXT END-CODE CODE DUP STR TOS, [DSTK, #-4]! NEXT END-CODE CODE DUP STMDB DSTK!, {TOS} NEXT END-CODE The first is the slowest one because of containing two commands. The 2nd and 3rd are encoded into the same commands. See ARMv7-M Architecture Reference Manual, A6.7.118 STMDB / STMFD: Цитата: Encoding T1 does not support a list containing only one register. If an STMDB instruction with
just one register <Rt> in the list is assembled to Thumb, it is assembled to the equivalent STR<c><q> <Rt>,[<Rn>,#-4]{!} instruction. |
Автор: | Mihail [ Чт дек 26, 2013 23:27 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Test for XMC4500 . Код: 0x10005 SYST_CSR ! 0xFFFFFF SYST_RVR ! CODE TTST0 SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK] ADDS DSTK, # 4 4 * SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK] ADDS DSTK, # 4 4 * NEXT END-CODE CODE TTST1 STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]! ADDS DSTK, # 4 4 * STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]! ADDS DSTK, # 4 4 * NEXT END-CODE CODE TTST2 STMDB DSTK!, {TOS} STMDB DSTK!, {TOS} STMDB DSTK!, {TOS} STMDB DSTK!, {TOS} ADDS DSTK, # 4 4 * STMDB DSTK!, {TOS} STMDB DSTK!, {TOS} STMDB DSTK!, {TOS} STMDB DSTK!, {TOS} ADDS DSTK, # 4 4 * NEXT END-CODE : ttt0 SYST_CVR @ TTST0 SYST_CVR @ - . ; : ttt1 SYST_CVR @ TTST1 SYST_CVR @ - . ; : ttt2 SYST_CVR @ TTST2 SYST_CVR @ - . ; Result: Код: >TTT2
30 Ok >TTT1 28 Ok >TTT0 37 Ok |
Автор: | oco [ Пт дек 27, 2013 14:23 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Mihail писал(а): Test for XMC4500 . Result: Код: >TTT2 30 Ok >TTT1 28 Ok >TTT0 37 Ok 28 - 30 - it's a statistical error, I think, instructions are the same. Did you disassemble this? (XMC4500 is Cortex-M4F, ARM v7-EM architecture, but I think STMDB with one register is assembled into STR too) |
Автор: | VoidVolker [ Пт дек 27, 2013 14:56 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Это что? Типа такой тонкий троллинг? И кто кого троллит? |
Страница 4 из 5 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |