Post:#507563 Date:10.09.2016 (18:55) ... Тема посвящена микроконтроллерам с архитектурой ARM Cortex-M.
Они стали "убийцами" 8-разрядных микроконтроллеров, так как они 32-разрядные, дешёвые, производительные, нафаршированы мощной периферией, например, 16 разрядными таймерами(есть модели с 32-разрядными таймерами), 12-разрядными АЦП (как правило), 12-разрядными ЦАП (как правило), различными приёмо-передатчиками.
Их изготавливают многие производители. Выпускаются множество недорогих ознакомительных плат со встроенными отладчиками и программаторами.
Есть свободные среды разработки, что тоже важно.
Вы чего то не о том завели разговор.
Например, алгоритм обработки изображений требует частого переключения контента.
Архитектура МИПС более эффективно переключает- раза в три, а на некоторых алгоритмах и в 10 раз.
А АРМ овские камушки дешевле.
И что? Один факт опровергает другой?
dedivan | Post: 515920 - Date: 16 Nov 2016 13:35
Вы чего то не о том завели разговор.
Например, алгоритм обработки изображений требует частого переключения контента.
Ни разу не видел алгоритмов, которые этого требуют. Это уже как код напишешь и скомпилишь. Можно весь алгоритм одним вызовом выполнить.
Ну, если ты такой гений. что можешь лучше чем во всем мире делают, то конечно...
Странные у тебя понятия о вызовах.
Мы вообще то про процессоры говорим- на уровне железа.
Ты хоть писал что нибудь на уровне регистров процессора?
Слышал хоть что нибудь про компы, которые используют в голливуде?
Почему там не интеллы и не армы?
Что ты мне индусов напоминаешь. Те тоже используют языки высокого уровня, не задумываясь чего камень делает.
А на ЯВУ любая команда- это маленькая подпрограмма на уровне команд проца.
Соответственно и вызовы и стэки в каждой.
А это всего лишь одна команда, вроде бы без явного вызова.
Десять команд- десять вызовов.
Достаточно гениален, чтобы буквы читать, ага Тебе тоже не помешало бы почитать по теме - С++ инлайнит в большинстве случаев вызовы методов - т.е. если есть какая-то портянка С++ кода с кучей методов, то она будет выполняться как один метод, без переключения контекста.
Про регистры я в курсе, ассемблер х86 понимаю и могу писать на нём - но деньги за это знание никто не предлагает, стало быть, никому не нужно оно Бизнесу твои регистры до лампочки, ему продукт нужен, а на чём он будет работать и какие там в голливуде компы вообще неважно.
А на ЯВУ любая команда- это маленькая подпрограмма на уровне команд проца.
Соответственно и вызовы и стэки в каждой.
Нет. Компилятор просто встроит нужный код, который ассемблерщик по памяти тарабанькал бы несколько десятков строк. Если он небольшой, и это не системный вызов, то ничего в стек пушиться не будет. Если это системный вызов - то он и на ассемблере вызовом будет.
Да. Глянь компилятор.
Если в функцию передаются параметры- это уже стэк, и соответственно запихивание рабочих регистров, что собственно и является переключением контента.
У мипсов регистры не запихивают в стэк- просто берут новый чистый набор регистров,
или свой набор для конкретной задачи.
Это идеология разработчиков архитектуры. И ты хочешь их переубедить, что они дураки все? Ты кто такой, как спросил бы шура балаганов.
dedivan Пост: 515932 От 16.Nov.2016 (14:38)
А на ЯВУ любая команда- это маленькая подпрограмма на уровне команд проца.
Прочитай про JIT и не неси чушь. [ссылка]
Специально выделю тебе из текста: The JIT compiler compiles the bytecodes of that method into native machine code, compiling it "just in time" to run. When a method has been compiled, the JVM calls the compiled code of that method directly instead of interpreting it
но здесь в принципе и неважна была производительность. Джава использовалась для прототипирования только
dedivan Пост: 515932 От 16.Nov.2016 (14:38)
А на ЯВУ любая команда- это маленькая подпрограмма на уровне команд проца.
Прочитай про JIT и не неси чушь. [ссылка]
Специально выделю тебе из текста: The JIT compiler compiles the bytecodes of that method into native machine code, compiling it "just in time" to run. When a method has been compiled, the JVM calls the compiled code of that method directly instead of interpreting it
но здесь в принципе и неважна была производительность. Джава использовалась для прототипирования только
и шо ты повесил... один хрен компилируется, а только потом вызывается... при повторном будет не компилится а сразу вызываться...
плавали...
там беда была с каким-то марсианским девайсом у насовцев... засралась оперативка, соотвественно модули не смогли откомпилиться и подняться... хорошо хоть модуль связи отдельный блок(по железу), перхватили управление и перепрошили бошку на ходу...
Yarston Пост: 515937 От 16.Nov.2016 (14:51)
Бизнесу твои регистры до лампочки, ему продукт нужен, а на чём он будет работать и какие там в голливуде компы вообще неважно.
Как раз голливуд хорошо знает, что время это деньги.
И когда нужно было ускорить выпуск очередного фэнтези- подняли разработчиков- где там у вас шустрые камни были? Не выпускаете уже- быстро запустить производство, напечь блинов и сделать шустрый комп.
Получилось быстрее, чем обрабатывать на обычных камнях.
Это и есть бизнес.
neama | Post: 515942 - Date: 16 Nov 2016 15:12
там беда была с каким-то марсианским девайсом у насовцев...
dedivan | Post: 515928 - Date: 16 Nov 2016 14:19
Слышал хоть что нибудь про компы, которые используют в голливуде?
Типичный приём демагогов - "а в Америке негров линчуют, а евреи христианских младенцев на завтрак едят". Давайте бросим все дела и начнём заботиться о проблемах чернокожих марсианских евреев из голливуда
там беда была с каким-то марсианским девайсом у насовцев... засралась оперативка, соотвественно модули не смогли откомпилиться и подняться... хорошо хоть модуль связи отдельный блок(по железу), перхватили управление и перепрошили бошку на ходу...
Как говориться - дерьмо случается. Но не нужно забывать, что у наших бытовых проектов уровень отсвтетвенности не такой высокий. Там мы сильно экономим и используем не лучшие методы и архитектуры, а то, что можно достать за разумные деньги и успеть сделать это при жизни...
neama Пост: 515942 От 16.Nov.2016 (15:12)
один хрен компилируется, а только потом вызывается...
Да, это принцип в живой природе подсмотрен.
Исходную информацию хранить в сжатом виде- типа днк в клетке.
Оторвала хвост ящерица- есть маленький код. по которому его можно восстановить, а не таскать запасной хвост.
psih Пост: 515945 От 16.Nov.2016 (15:21)
Там мы сильно экономим и используем не лучшие методы и архитектуры,
Это рассуждения ватника, который работает на станке ЧПУ.
Ему это все пофиг- надо болтов наточить по плану.
Мы тут совсем про другое. Про новый станок и из каких кубиков его лучше собирать.
Довольно глупо рассуждать про выигрыш на переключении контекста для вызова метода, который обрабатывает 1 мпикс картинку попиксельно. Это даст прирост на одну миллионную. В этом контексте несоизмеримо больший выигрыш даст хороший конвеер, параллельное исполнение и векторные инструкции типа NEON в ARM. Про мипсы я знаю что их в дешёвые китайские андроид телефоны ставили и на роутеры. К 3D графике они никакого отношения не имеют, она на GPU обсчитывается, поэтому что-то говорить про её ускорение на мипсах - абсурдно.