OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 18 Апрель, 2024 15:24

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 117 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
СообщениеДобавлено: Четверг, 28 Март, 2019 14:27 
Аватара пользователя

Зарегистрирован: Суббота, 26 Ноябрь, 2016 17:01
Сообщения: 34
Я порезал вопросы свои, потому что у меня были проблемы с записью.
"несу произвольную чушь на своё усмотрение" - я так не считаю.
"...щелчки сильно достают" - у меня на записи были такие же проблемы.
Я ещё не нашел точный способ, как избавиться от щелчков, как перед записью,
так и после, удаляя их в звуковом редакторе.

Предусилитель для микрофона нужен затем ещё и за тем, чтобы не выставлять на максимум
значение усиления микрофона на компьютере, на звуковой карте.

Получается, что лучше сделать "среднее" усиление и визуально мониторить уровень записи до -6db,
Но это не точно :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 28 Март, 2019 17:46 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
Oleg N. Cher писал(а):
Именно поэтому «переносимость» JVM и .NET по воссозданию своего личного окружения (своей комнаты) очень лукавая.
Согласен тут с Олегом. Переносимость байт-кодов никак не влияет на переносимость ассемблеров. Это совершенно разные вещи.
И могу добавить, что как-то почитал документацию по Java Embedded (Java Card), это вариант Java для встраивания в кредитные карточки. Так это, грубо-говоря не совсем и Java уже, поскольку, кажется, там выкинуты классы и работа с динамической памятью вообще. Вот, так вот. Не получается "Дом" (в терминологии Олега) запихнуть в кредитку :mrgreen:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 28 Март, 2019 21:17 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
Oleg N. Cher писал(а):
но весь мёртвый код из него не выбросит

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

Такой подход, в частности, реализован в моём проекте MicroA2. Есть утилитка, которая помогает собрать все используемые модули для дистрибутива проекта.

Если уж надо всё слинковать, выбросив всё лишнее, тут трансляция в Си действительно уместна.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 28 Март, 2019 21:38 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
Мне видется так, что уж если и оптимизировать, то оптимизировать лишь код процедур, сохранив все ареимущества динамической модульности нетронутыми!

И, кстати, оптимизация кода процедур - самая трудоёмкая часть оптимизатора. Поразрезать используемое от неиспользуемого не так сложно!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 29 Март, 2019 03:11 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1449
Откуда: Киев
Oleg N. Cher писал(а):
Comdiv писал(а):
Oleg N. Cher писал(а):
А я не понял, почему Вы называете ассемблер самым переносимым языком.
Я тоже не понял, почему Вы считаете, что я так называю
Ну а как ещё интерпретировать высказывание
Comdiv писал(а):
Любой язык ассемблера переносимый.
То есть, слова "любой язык ассемблера переносимый" Вы поняли как "ассемблер - самый переносимый язык", и не знаете, что в этом не так? Да для такой интерпретации нужна могучая фантазия. Соответственно, и эти возражения с PHP, Бейсиком и другими - это результат Вашего внутреннего диалога с неясными для меня цепочками выводов.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 29 Март, 2019 03:12 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1449
Откуда: Киев
Владимир Ситников писал(а):
Красота.
Сначала постулируем, что
Comdiv писал(а):
2. Любой язык ассемблера переносимый.
А когда прилетает опровержение, то вместо того, чтобы согласиться тем, что исходная фраза была неверна начинаем увиливать "похоже, не понимаете".
Могли бы прямо сказать где вы наблюдаете ошибку в моих заключениях и всего делов.
Вот я вам привёл два примера, где переносимость ассемблера под большим таким вопросом.
Конечно, красота. Я не сказал, где Вы ошиблись и "начал увиливать", потому что излишне оптимистично отнёсся к Вашему умению понимать намёки и элементарно пользоваться поиском в интернете. Конечно же, для Эльбруса была воплощена возможность исполнения кода х86, что было абсолютно закономерно, учитывая распространённость этого машинного языка и отсутствие доступа к исходным кодам многих приложений, которые могут понадобиться пользователям Эльбруса. Об этом сказано во многих материалах по Эльбрусу, например
Цитата:
Одним из важных достоинств архитектуры «Эльбрус» является совмещенная программно-аппаратная поддержка оптимизированной бинарной трансляции кодов архитектур x86 и x86_64 [25], аналогичная технологии [26], которая дает возможность исполнять код для процессора эмулируемой архитектуры с помощью трансляции «на лету» без значительной потери производительности.
Тем не менее это не исчерпывающий список технологий эмуляции. В частности, под управлением ОС «Эльбрус» поддержаны следующие технологии эмуляции: полная программная эмуляция платформы x86 (с помощью эмулятора bochs); программная эмуляция окружения операционной системы (DOS, с помощью эмулятора dosbox); полная программная эмуляция альтернативной платформы (в качестве нее выбрана платформа PC-98, эмулятор X Neko Project 98); бинарная трансляция Linuxприложения (Kaspersky Antivirus for File Servers); бинарная трансляция windows-приложения с помощью программы wine-hq. Отдельный интерес представляет работа с бинарным транслятором для Linux-приложения и для wine. На данный момент удалось добиться работы звука, сети, SASконтроллеров и аппаратного ускорения графики в трансляторе. В качестве тестовых программ были выбраны: ОС Windows XP SP3 фирмы Microsoft – для эмулятора Bochs; игра DOOM 2 фирмы id Software – для эмулятора DOSBox; игра Touhou Project 5 (Mystic Square авторства Дзюнъи Оота) – для эмулятора X Neko Project 98; пакет Kaspersky Anti-Virus for Linux File Servers фирмы «Лаборатория Касперского» – для бинарной трансляции
Есть и видео демонстрации работы в наиболее хардкорном режиме исполнения кода x86.
Нужно было умудриться подобрать такое "опровержение", но Вы смогли. Впрочем, законы жанра подсказывают, что дальше должно произойти новое повышение ставок.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 29 Март, 2019 21:39 

Зарегистрирован: Вторник, 27 Февраль, 2018 09:18
Сообщения: 73
Comdiv писал(а):
Я не сказал, где Вы ошиблись

...потому что я не ошибся

Comdiv писал(а):
начал увиливать

Это точно

Comdiv писал(а):
но Вы смогли

Похоже, про Эльбрус я знаю больше вас.

По существу что-нибудь будет?
Расскажете как прекрасно Эльбрус эмулирует недокументированные инструкции Intel?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 30 Март, 2019 17:56 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 520
Откуда: Украина, Днепропетровская обл.
Ярослав Романченко писал(а):
Насколько важно именно выбросить весь мёртвый код? Это немножко противоречит идее модульности.
Ну, мы там не столько про отбрасывание мёртвого кода и в контексте динамической модульности, сколько про линкеры говорили.

Comdiv писал(а):
высказывание
Comdiv писал(а):
Любой язык ассемблера переносимый.
То есть, слова "любой язык ассемблера переносимый" Вы поняли как "ассемблер - самый переносимый язык"
Вах, почти выкрутился, придравшись к словам. Но тогда к чему вообще была цитата про то, что где-то используются две похожих архитектуры? Взяли бы, да и пояснили свою точку зрения сразу. А если Вы взялись спорить про аппаратную поддержку систем команд Intel x86 и AMD x64 в Эльбрусах, то почему увиливаете с темы эмуляторов? На Эльбрусе можно запустить точный эмулятор x86, который точно убьёт все преимущества от использования Эльбруса. Будет очень качественная переносимость.

Так что я с Вами тут готов поспорить. Берём Вашу фразу "любой язык ассемблера переносимый" и применяем её в контексте "язык ассемблера AMD 64 (ибо прозвучало слово "любой") переносимый на, скажем, Arduino". Или Вы должны были пояснить свою мысль, что у такой "переносимости" есть один крайне важный недостаток — она работает только в сторону "более слабая архитектура на более сильную", да и то не всегда. Можно придумать специфические условия, где это не сработает.

Вы ещё порассуждайте о целесообразности такой переносимости. Да. Всё можно сэмулировать на всём, если ресурсов хватит. Лишь бы в этом был какой-то смысл. Но это не переносимость, в моём понимании. Эмуляция — это вымученный подход борьбы с фрагментацией, имеющий очень много недостатков. А с точки зрения простоты это лишние слои-посредники. И производительность слой такой "переносимости" убивает. А её нужно экономить, чтобы хватило для ресурсоёмких задач.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 31 Март, 2019 16:22 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 597
Цитата:
...переносимый на, скажем, Arduino...

Break!!!

Вот это зря - какая именно ардуина? Бывает на AVR (8 бит, RISC настоящий), а бывает на CortexM0 (32 бита и RISC, скажем так, таковым когда-то бывший). "Похожа свинья на Ёжа"

Fight!!! (-;


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 31 Март, 2019 20:43 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1449
Откуда: Киев
Владимир Ситников писал(а):
Расскажете как прекрасно Эльбрус эмулирует недокументированные инструкции Intel?
Так же как и AMD (тоже пример "непереносимости", который у всех перед носом). В идеале - никак. Исполнители машинных языков, также как и трансляторы высокоуровневых языков и разнообразных промежуточный представлений могут содержать как ошибки, так и сознательные недокументированные возможности, это не откровение. Но нужно плохо разбираться в вопросе, чтобы 1) считать это особенностью именно машинных языков 2) требовать безусловного повторения чужих дыр. В большинстве случаев считается за благо отсутствие подобных вещей. А то, ведь, можно потребовать и воплощения "Meltdown", "Spectre" и "Spoiler".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 31 Март, 2019 20:44 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1449
Откуда: Киев
Oleg N. Cher писал(а):
Но это не переносимость, в моём понимании
Обратите внимание, что всё это время я писал о переносимости в целом, а не о той переносимости, которая соответствует Вашему пониманию. Info21 благоразумно предложил определить понятия. Если Вам не нравится моё определение, то это не страшно. Дайте своё чёткое определение. Кто знает, возможно, со временем оно попадёт во многие важные энциклопедии и мир будет избавлен от неправильных определений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 02 Апрель, 2019 09:58 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3776
Comdiv писал(а):
Oleg N. Cher писал(а):
Но это не переносимость, в моём понимании
Обратите внимание, что всё это время я писал о переносимости в целом, а не о той переносимости, которая соответствует Вашему пониманию. Info21 благоразумно предложил определить понятия. Если Вам не нравится моё определение, то это не страшно. Дайте своё чёткое определение. Кто знает, возможно, со временем оно попадёт во многие важные энциклопедии и мир будет избавлен от неправильных определений

Константин, вы перегибаете палку. В первом сообщении Валеры вполне понятно что он имел в виду под метафорой "переносимый ассемблер". Это точно не то, что вы понимаете под переносимостью. И непонятно, зачем дальше гнуть свою линию, если это явно никому не надо. Это просто мимо темы получилось по итогу.

Си - на сегодняшний день один из наиболее доступных способов для нас организовать то, чтобы единожды написанный код на Обероне-2 работал без виртуализации на разных платформах без внесения значительных переделок. Ну и если обычно компилятор выдает по итогу своей работы сложнопереносимый машинный код (в метафоре это называется "ассемблер"), то у трансляторов типа Офронта или Восток на выходе — Си, который более или менее компилируется на разных платформах. Вот и получается "переносимый ассемблер". У вас эта метафора явно какие-то другие ассоциации вызывает. Это и не хорошо и не плохо... но лучше, когда взаимопонимание.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 02 Апрель, 2019 18:40 
Аватара пользователя

Зарегистрирован: Суббота, 26 Ноябрь, 2016 17:01
Сообщения: 34
Отлично. Закрыли тему!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Апрель, 2019 10:06 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1449
Откуда: Киев
Иван Денисов писал(а):
Константин, вы перегибаете палку.
Ну это не в первый раз. К примеру, в теме про целочисленное деление на меня тоже обрушилось общественное негодование и даже было сообщение о дезинформации. Прикажете пожертвовать точностью ради общественного одобрения?

Повторю, "Си - переносимый ассемблер" - это манипуляция, иными словами - "это опасная аналогия, которая может привести к неверным выводам", и что характерно, приводит.

Цитата:
В первом сообщении Валеры вполне понятно что он имел в виду
Да и из сообщения Сергея Волкова была понятна суть метафоры, и в своём 1-м сообщении я огласил суть кривизны этой аналогии. Про аналогию Си, как ассемблера для UNIX - это тоже обычное натягивание совы на глобус. Тут уровень мышления - раз мы знаем, что ОС пишется на языке ассемблера, а UNIX была переписана на Си(сначала она была переписана на Би), то Си(или Би) - это типа ассемблер, тока переносимый. Но в том, что ОС можно писать на ЯВУ нет ничего удивительного. ОС Multics, являющейся прямой вдохновительницой UNIX, была написана на выскоуровневом языке PL/I, но даже она не была в этом 1-й. Предположу, что сами авторы UNIX не пользовались ассемблерной аналогией хотя бы поэтому.

Более того, я привёл ссылку на доклад, в котором затрагивается работа Кена Томпсона, связанная с ассемблером NS3200, который был доработан до переносимости и в конечном итоге был положен в основу ассемблера Go. Идея этой работы понятна? Правильный ли в ней ассемблер? Точно такая ли там переносимость как я понимаю или точно не такая? Возможна ли применимость этих результатов к другим ассемблерам или это неповторимый результат?
Если не получается мыслить абстрактно, то, может, хотя бы посмотреть на разные работы? Их ещё много.

Цитата:
И непонятно, зачем дальше гнуть свою линию, если это явно никому не надо
Мне задали вопрос по одному из пунктов, я ответил. Хотя мы в теме по Радио Оберон, но слова нужны не только для того, чтобы просто потрепаться. В первую очередь это важный инструмент, от корректности которого многое зависит.

Цитата:
у трансляторов типа Офронта или Восток на выходе — Си
Я уже много раз писал, что транслятор проекта Восток не является транслятором в Си. Это многоцелевой транслятор, на данный момент поддерживающий 3-и почти равноправных выходных языка, каждый из которых позволяет получить рабочую версию транслятора. Как минимум 2-а языка позволяют получить желаемый многими машинный код. Возможность трансляции обеспечивается тем, что все эти языки алгоритмически полны (полны по Тьюрингу), но ни один из ныне поддерживаемых не является языком ассемблера. Я бы не стал добавлять другие выходные языки, если бы мыслил аналогией "переносимого ассемблера".

Цитата:
У вас эта метафора явно какие-то другие ассоциации вызывает. Это и не хорошо и не плохо... но лучше, когда взаимопонимание
Плохо, коллега, плохо. От того, насколько корректно мы употребляем слова, зависит то, насколько хорошо мы понимаем предмет и, следовательно, насколько хорошо можем использовать и менять действительность себе на пользу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Апрель, 2019 10:32 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Comdiv писал(а):
Про аналогию Си, как ассемблера для UNIX - это тоже обычное натягивание совы на глобус. Тут уровень мышления - раз мы знаем, что ОС пишется на языке ассемблера, а UNIX была переписана на Си(сначала она была переписана на Би), то Си(или Би) - это типа ассемблер, тока переносимый. Но в том, что ОС можно писать на ЯВУ нет ничего удивительного. ОС Multics, являющейся прямой вдохновительницой UNIX, была написана на выскоуровневом языке PL/I, но даже она не была в этом 1-й. Предположу, что сами авторы UNIX не пользовались ассемблерной аналогией хотя бы поэтому.


Я всегда считал, что появление для С ярлыка "переносимый ассемблер" связано не с тем, что "ОС с ассемблера переписали на нём" (т.е. смысл фразы не "Си - крутое новое слово в написании ОС"), а как раз с тем, что к тому моменту уже были хорошие практики написания ОС на ЯВУ.
А тут некий недоЯВУ. Ну и получается, что он по уровню и удалению от машины не сильно от ассемблера ушёл, и единственный плюс - таки большая переносимость. Т.е. язык "получше ассемблера, но недоЯВУ".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Апрель, 2019 14:44 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3776
Comdiv писал(а):
Цитата:
В первом сообщении Валеры вполне понятно что он имел в виду
Да и из сообщения Сергея Волкова была понятна суть метафоры, и в своём 1-м сообщении я огласил суть кривизны этой аналогии. Про аналогию Си, как ассемблера для UNIX - это тоже обычное натягивание совы на глобус. Тут уровень мышления - раз мы знаем, что ОС пишется на языке ассемблера, а UNIX была переписана на Си(сначала она была переписана на Би), то Си(или Би) - это типа ассемблер, тока переносимый. Но в том, что ОС можно писать на ЯВУ нет ничего удивительного. ОС Multics, являющейся прямой вдохновительницой UNIX, была написана на выскоуровневом языке PL/I, но даже она не была в этом 1-й. Предположу, что сами авторы UNIX не пользовались ассемблерной аналогией хотя бы поэтому.
Думаю, что тут вы домыслили в какую-то свою степь. Горе от ума в общем. Переносимость - это не про то, что можно что-то переписать. А то, что можно на других платформах повторно использовать код с минимальными этого кода изменениями.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Апрель, 2019 14:57 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3776
Вот лучше приходите рассказать про Восток на радиопередачу?!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Апрель, 2019 16:06 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1449
Откуда: Киев
Иван Денисов писал(а):
Думаю, что тут вы домыслили в какую-то свою степь. Горе от ума в общем. Переносимость - это не про то, что можно что-то переписать. А то, что можно на других платформах повторно использовать код с минимальными этого кода изменениями.
Я употребил слово "переписана" не потому что я считаю, что для переносимости нужно переписывать, а только потому, что ОС UNIX не была сразу написана на Си, а был переписана для этого как минимум 2-а раза.

Иван Денисов писал(а):
"Переносимый ассемблер" человек, не обремененный вашим багажом знаний
Багаж знаний нужен для указания на примеры, для понимания сути достаточно понимания полноты по Тьюрингу. Наверно, достаточно.

Иван Денисов писал(а):
Вот лучше приходите рассказать про Восток на радиопередачу?!
Мне не подходит формат радиопередачи. Я бы и с тем, что записано в "Радио Оберон" предпочёл бы ознакамливаться в виде текста.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Апрель, 2019 17:15 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3776
Comdiv писал(а):
Иван Денисов писал(а):
Вот лучше приходите рассказать про Восток на радиопередачу?!
Мне не подходит формат радиопередачи. Я бы и с тем, что записано в "Радио Оберон" предпочёл бы ознакамливаться в виде текста.

Да, у вас хороший блог: https://comdivbyzero.blogspot.com
Формат подкастов весьма специфический. Это целая культура. Пока не познакомитесь с какими-нибудь достойными образцами подкастов, то и не загоритесь, конечно.
Мне нравится формат подкаста тем, что это всё-таки беседа. Во время беседы мысли рождаются легко. Когда пишешь текст, то мысли рождаются в муках переписывания :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Апрель, 2019 20:15 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Конечный продукт -- это всё-таки текст, а не звук.

Звук не особо пролистаешь.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 117 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB