Архитектура ПМК

Ветка вынесена из обсуждения "Еще один самодельный калькулятор".

Важный вопрос — относимся мы к входному языку калькулятора, как к удобному для человека (высокий уровень) или как к ассемблеру для реализации иного входного языка (низкий уровень).

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

В первом же (когда «компактный входной язык» по-советски воспринимается как альтернатива алгоритмическим языкам, разработанная для вычислительной техники небольшого размера) многословные вещи типа 1 1 6 ПА КБПА уродливы и лишают входной язык его главной привлекательности — компактности, выразительности.

Архитектура «Электроники МК-161» красива. Её малое распространение сейчас вызвано причинами, не имеющими отношения к вычислительным технологиям. Они, скорее, субъективны плюс неразвитые (разрушенные в РСФСР и не сформировавшиеся в РФ) производственные отношения.

Совместимость с ЭКВМ имеет такой же смысл, как поддержка нашего общего русского языка общения. Разнобой, когда существуют десятки мелких проектов с различными входными языками, меньше всего вдохновляет авторов «программ пользователя». Возможность писать программы, которые идут на большем количестве экземпляров ВТ, всегда стимулировала творчество. Крупные консервативные компании меняли свои убеждения и начинали подстраиваться под рынок, когда мобильники стали предоставлять возможность создавать собственные приложения для миллионов владельцев айфонов/андроидов.

Даже если бы была возможность выпустить новый калькулятор тиражом в десятки тысяч экземпляров, опыт малотиражной ЭКВМ учитывать полезно.

Извините не вижу никакой красивости в языке ПМК вообще хоть с префиксами хоть без! Если хотите писать на низшем уровне как на ЯВУ и восторгаться - добро пожаловать в PDP-11 (Могу с Вами еще 10-ок архитектур обсудить, но удобней и красивей LSI-11 только VAX).
Не вижу смысла в еще одной МК-161, смотрю Вы тоже мало смысла в этом видите предлагая поверх нее Форт.
Не будет востребован в сотни тысяч экземпляров абсолютно любой МК61 с любой модернизацией, то просто ретро, ностальгия и больше ничего. Так во написание серьезных программ, а особенно системных на максимально близкой к ISA МК61 архитектуре - есть искусство, которое пока еще будоражит людей у которых он вызывает приятные воспоминания. Для таких людей написание программ процесс творческий, если в придачу к МК61 они получат неограниченное кол-во шагов, вряд ли они всем этим воспользуются на 100% без компилятора, либо транслятора. Это очевидно Арви! МК-161 погорел на своем не уважении к памяти МК-61, это тоже очевидно. Может поинтересуемся у здешних пользователей, нравится ли им отношение СЕМИКО хотя бы к дизайну устройства?

Не стоит высокопарными словами заворачивать свою любовь к МК-161, Арви, слова это слова, важны дела! В конце концов не СЕМИКО изобретатель МК61 и ее архитектуры.

В конце концов если появится mk61msp она будет открыта, в отличии от того что производит СЕМИКО.

Много вопросов вы подняли. Соглашусь, что открытость архитектуры важна. Доступность схем, исходный код прошивки и инструментов — всё это необходимо. Новосибирск попытался пойти по этому пути, но потом отступил.

Каллисто это действительно следующий шаг в развитии входного языка. Попытка преодолеть ряд замеченных недостатков — дать имена переменным и участкам кода, избавиться от адресов и необходимости их помнить. При этом сохраняется некоторая преемственность коду МК-61 и добавляется возможность использования кода, написанного для Форта.

Востребованность ПМК, а следовательно большой тираж, помогут сформировать две вещи:

  1. Удобный входной язык, позволяющий писать максимально мощные программы «для себя» за минимальное время (количество нажатий на клавиши).
  2. Наличие уже готовых приложений для ПМК, полезных и интересных. Толковым программистам России должно быть интересней писать приложения для ПМК, чем для зарубежных айфонов.

Вопросов много, ответов жаль мало.

Вот Вы заговорили про ай-фоны и андроиды... А давайте продолжим, тема то давно назрела, да? Как гвоорится первое правило хирурга: "увидел гной - эвакуируй!"

Толковым программистам России, слово "интересней" заменяется словом "выгодней". Там где труд толкового программиста монетизируется эффективней, туда он толковый программист и плывет. В руках у него для этого пара инструментов дот нет и джава. Кросс платформа! И айфон и андроид - средство для монетизации и возможность молодым, амбициозным и пока еще неумелым программистам - "раскрутится" и выскочить наверх. А вдруг заметят, а вдруг пригласят - туда за бугор!

Чем их может заинтересовать условно полторы калеки, даже такие бодрые орлы как мы с вами? Своими ностальгическими проекциями и ретроспективами? Их даже наша философия, безусловно :) достойная советского человека "делай что должно и будь что будет" не может заинтересовать в принципе. Какие полезные приложения к ПМК мы можем предложить - расчет фильтров для радиоприемника, линейного стабилизатора, антенны в резонанс? :) Полноте, Арви, мы сейчас с вами исключительно на себя и свои воспоминания работаем. А раз так сектор начинающих программистов и уже сложившихся для ПМК потерян.

Если я не ошибаюсь, то сектор ПМК в СССР должен был закрыть потребность научных работников в точных средствах вычисления, при этом мобильных - аналог логарифмической линейки, всегда при себе - всегда готов. Сейчас на роль такового вполне подходят смартфоны и планшеты. Опять таки - время ПМК в этом сегменте ушло, боюсь безвозвратно.

На мой взгляд для ПМК и МК61/52 остался не закрытым только один довольно узкий сектор - средства прототипирования в автоматизации. А именно возможность быстренько на коленке получать и обсчитывать некую телеметрию, нечто похожее на ПЛК. Из средств прототипирования вполне можно было шагнуть в средства автоматизации - уже полностью завершив ПЛК платформу на базе ISA МК61. Однако это окно слишком быстро и уверенно закрывается, кстати можно сказать СЕМИКО спасибо за то что активно профукали данный сегмент. Там то как раз эстетических особенностей платформы, как то кнопки, дисплей и удобство наколенного пользования востребовано не было. Впрочем СЕМИКО может тут и не причем совсем, заставить всю страну переползти с аппаратной платформы на виртуальную машину МК61, даже президенту не под силу :)

Возможно если предложить нечто ардуино-подобное для робото-технических поделок - аля, EV3 контроллер, возможно только тогда ПМК как хост для робототехнических поделок станет востребован, однако в этом случае входной язык как его не модернизируй проиграет формульной записи. Например для реализации пропрорционального управления через формульную запись функции управления, либо реализации какого либо фильтра - опять таки посредством формульной записи. Этакий Matlab или Maple в виде блока управления робо-платформой. А значит для такого решения потребуется и транслятор и компилятор и возможно реализация Форта или Smalltalk-а поверх VM MK61. Боюсь в этом случае симуляцию МК61 нужно будет так сильно прокачать что МК61 правильней будет осуществить поверх ПЛИС.

Но... если кто то желает "удобный входной язык" и "мощные программы для себя за минимальное время", почему нет? Исходные коды и документация, лишь бы они появились нашими консолидированными усилиями и перешли из разряд идей - в разряд реализаций. Вот почему мы не можем объединиться и эту эстафетную палочку (симулятор МК61 на микроконтроллере) доставить наконец до финиша? Вот за бугром могут, а мы нет? Почему?

В качестве дополнения, современный калькулятор имеет (и должен иметь) на порядок-два большую автономию питания в отличие от смартфона, который надо ежедневно подзаряжать, используя как симулятор.

Serguei_Tarassov wrote: В качестве дополнения, современный калькулятор имеет (и должен иметь) на порядок-два большую автономию питания в отличие от смартфона, который надо ежедневно подзаряжать, используя как симулятор.

Сергей именно так!
Именно по этому только LCD экран с возможностью управлять подсветкой через ШИМ, именно поэтому на данный момент самый экономичный микроконтроллер приличной производительности - msp430, именно по этому FRAM энергонезависимая память, в отличие от флеш позволяющую писать в ячейку на низком напряжении записи. При этом RAM можно вообще отключить, все равно ничего не пропадет из FRAM! Надеюсь что это позволит получить двух-трех недельную автономность при 24/8 режиме работы, от двух AAA батарей.

" двух-трех недельную автономность при 24/8 режиме работы, от двух AAA батарей" - да, это и есть минимальный спек

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Вы ставите целью программиста заработать денег и смыться зарубеж. На такой дороге я вам не товарищ. :-) Мне интересней помощь тем, кто остаётся в России (и своём городе), применяя свои знания и навыки для помощи соотечественникам. Вы можете не понимать мотивацию таких людей, но это вам и не обязательно.

Да, замена логарифмической линейке — и также отечественная замена зарубежным калькуляторам. Да, обработка данных. Если вы видели мои прогнозы на следующее поколение, они включают обработку владельцем ПМК звуковой информации (оцифрованный сигнал до 40-100 КГц).

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

Это не исключает интеграцию кода МК61 с кодом на других языках. В случае Каллисто мнемоника выбрана максимально совпадающей. С некоторой натяжкой любая программа на МК61 является программой на Каллисто — как программа на Си является программой на C++.

AtH wrote: Вы ставите целью программиста заработать денег и смыться зарубеж. На такой дороге я вам не товарищ. :-) Мне интересней помощь тем, кто остаётся в России (и своём городе), применяя свои знания и навыки для помощи соотечественникам. Вы можете не понимать мотивацию таких людей, но это вам и не обязательно.

Вот что, Арви, я вижу Вы перманентно сваливаетесь в идеологическую борьбу с собственной тенью. Я целью оказать помощь кому либо кроме сообщества пользователей ПМК не ставлю, я это хорошо обозначил. Часть этих товарищей между прочим уже находится за рубежом, и я надеюсь Вы сейчас этим пассажем их не оскорбили. Попытайтесь показать как Вашими навыками и знаниями Вы можете помочь соотечественникам. Можете для примера помочь мне в том что бы оптимизировать процедуру умножения. Я конечно понимаю что Сервантес, писатель что называется "форева", но Ваша борьба с ветряными мельницами и попытки меня задеть Вашим абсолютно идеалистическим мировоззрением - что называется не в кассу.Я еще больший идеалист чем Вы, хотя бы потому что непрестанно делаю практические шаги к оживлению памяти о МК61. Больше дела, Арви, меньше звуков.

AtH wrote: Да, замена логарифмической линейке — и также отечественная замена зарубежным калькуляторам. Да, обработка данных. Если вы видели мои прогнозы на следующее поколение, они включают обработку владельцем ПМК звуковой информации (оцифрованный сигнал до 40-100 КГц).

Арви что бы обрабатывать данные, нужно их куда то получать. МК-161 кроме RS232 ничем более не обладает для получения данных. Можно конечно и генератор случайных чисел считать данными и на этом остановиться. Обработка звуковой информации? То есть на МК61 посредством виртуальной же машины VM61 обрабатывать звуковую информацию. Котельников сейчас сорок раз в гробу повернулся, увидев на чем Вы предлагаете считать Фурье. Предлагаете получить поток данных и обрабатывать его несколько часов? Давайте сугубо в практическом русле рассматривать применение ПМК? Фактически ПМК обладает только одной ценной особенностью - повышенной автономностью работы, при носимом формате и удобстве использования. Но только не МК-161. Три года назад была хорошая попытка вернуть народу память МК61, ну и все на этом. Никто благих намерений СЕМИКО не отрицает, однако не получилось - ну не смогла. Вот МК61 в свое время смог, смог во всем превзойти аналоги, МК-85 смог. И в дизайне, и в автономности и в удобстве использования одновременно. Вы представляете чего это стоило коллективу разработчиков? Почитайте Отрохова на ixbt и поймете что за "юзабилити" буквально сражались. Серьезно сопоставляете усилия электронной промышленности СССР и СЕМИКО?

AtH wrote: По поводу Форта и других языков. Нет причин реализовывать их поверх МК61. Я писал Каллисто на ЯМК лишь потому, что Новосибирск не предоставил мне выбора. Конечно же, транслятору правильно быть в машкодах и работать на камне. Надеюсь продемонстрировать это в Каллисто 2.0

Это не исключает интеграцию кода МК61 с кодом на других языках. В случае Каллисто мнемоника выбрана максимально совпадающей. С некоторой натяжкой любая программа на МК61 является программой на Каллисто — как программа на Си является программой на C++.

Отлично тогда бросайте писать Форт поверх МК-161, программируйте нативно, в чем дело? Ах СЕМИКО выбора не предоставила? Так вот Вам реально выбор - написать и сделать все самому и послать СЕМИКО к черту. Что то Вы буксуете, Арви. Неужели навыка работы в чужой системе команд нет?

Давайте поменьше обсуждать меня — и побольше к теме. Вроде, на обсуждение вас беседу никогда не переводил. Если где вам показалось, прошу прощения.

И повнимательней, пожалуйста, к тому, что я пишу. Обработка звуковой информации это следующее поколение ПМК. Не МК-161. Кто будет реализовывать устройство, дающее людям власть над сигналами звукового диапазона (до 40-100 КГц)? Возможно, это произойдёт уже на вашей элементной базе — если сможете наладить выпуск. Хотя бы мелкосерийный. Никто не говорит, что цикл по оцифровке сигнала будет реализован поверх МК61. «Программе пользователя» будет доступно уже готовое API диктофона, реализация которого должна быть максимально эффективной.

АЦП в МК-161 это лишь первый робкий шаг в данном важном направлении.

Да будет «нативное» программирование. Не волнуйтесь так. В эту сторону Каллисто-2 и развивается. Существующая версия Каллисто (rc2) позволяет любому желающему попробовать язык уже сегодня — вживую и на доступном портативном устройстве, с дисплеем и клавиатурой.

Пройден важный этап. Теперь язык существует объективно, вне моей головы — специально для любителей «Больше дела, меньше звуков». Каждый может самостоятельно проверить у себя дома, как что реализовано. Где всё удобно. А где хочется улучшить, внести свои коррективы. Выслушаю мнение даже тех, у кого дома паяльника нет. :-) Но на этом этапе, разумеется, жизнь не заканчивается. Каллисто-2 должна быть переносимой. В том числе реализуемой поверх той bcd-библиотеки, которой вы сейчас занялись.

AtH wrote: И повнимательней, пожалуйста, к тому, что я пишу. Обработка звуковой информации это следующее поколение ПМК. Не МК-161. Кто будет реализовывать устройство, дающее людям власть над сигналами звукового диапазона (до 40-100 КГц)?

Вот в соседней ветке Электромонтер обсуждал уже вокодер, и говорил о том что удалось его запустить на платформе Cortex-M4 с тактовой 200МГц. На минутку, нифига себе? Этот камень на раз отъедает 200 мА. Какие могут быть калькуляторы на этом звере - ну от силы на 2-3 часа автономной работы. Хорошая власть получается - Калиф на час. Арви, мы с Вами на личности не переходим, мы обсуждаем технические вопросы. В данном разрезе сказанное Вами выглядит - прожектерством. Для нормальной обработки звука, не звуковых волн на АЦП, а звука как информации (набора байт) нужны сигнальные процессоры, это таки звери которые в своей тактовой частоте могут забираться и выше 200МГц, так как по сути это молотилка потока данных. Для расчета тех же сверточных функций - Электромонтер привел пример платформы, как минимум это платформа с "плавучкой" и наличием MAC. Я искренне не понимаю для чего калькулятору обрабатывать речевые/звуковые данные на "коленке". Еще меньше я понимаю каким образом к результатам обработки будет осуществляться доступ из ядра калькулятора. То что Вы хотите сделать уже не носит наименованием ПМК, это уже микро-ЭВМ с развитыми средствами программирования.

AtH wrote: Возможно, это произойдёт уже на вашей элементной базе — если сможете наладить выпуск. Хотя бы мелкосерийный.

Вы меня за кого то не того принимаете.

AtH wrote: Никто не говорит, что цикл по оцифровке сигнала будет реализован поверх МК61. «Программе пользователя» будет доступно уже готовое API диктофона, реализация которого должна быть максимально эффективной.

Интересно и что может быть доступно из звукового ряда для МК61 через API, его спектр? А дальше, построите распределение на экране калькулятора? Для чего?

AtH wrote: АЦП в МК-161 это лишь первый робкий шаг в данном важном направлении.

Этот шаг сделали еще при Союзе в МК64. Только МК64 это лабораторный а не носимый прибор и там это востребовано. Для мобильной платформы лучше иметь интерфейс к расширителю периферии например беспроводный WiFi/Bluetooth. Не надо обременять из без того не большой корпус лишними дырками и разъемами.

AtH wrote: Да будет «нативное» программирование. Не волнуйтесь так.

Не будет! Вы похоронили нативную систему команд МК61, хотя она достаточно развитая для программирования. Я не понимаю зачем делать что то новое и называть его МК61 совместимый калькулятор если при этом не используются заложенные в архитектуру возможности. Это просто Ваше видение ПМК, ну так это нормально, зачем тянуть в этом случае совместимость с другим нарушающим Ваши принципы программирования устройством? Ради удобства программирования - тогда это новый концепт, новый нативный язык и новый ПМК.

AtH wrote: Каллисто-2 должна быть переносимой. В том числе реализуемой поверх той bcd-библиотеки, которой вы сейчас занялись.

НУ вот с этим как раз трудно не согласиться.

Уже сейчас мобильники (компактные устройства) вполне себе обрабатывают звук. Разъёмы для наушников и микрофона, позволяющие передавать звук в обе стороны, не слишком габаритные.

Конечно, калькулятор следующего поколения не обязан быть настолько же сложным и дорогим, чтобы совмещать оцифровку, обработку в реальном времени и генерацию звука. Достаточно API (на уровне Каллисто, следующего поколения входного языка по сравнению с МК61), позволяющего записать звук и сохранить в массиве, а потом проиграть обратно из такого массива.

Этот «звуковой» тип данных будет обрабатываться «программой пользователя» не в реальном времени. Такие «куски звука» могут не только поступать с микрофона, но также генерироваться с нуля или считываться с «электронного диска». Может передаваться по беспроводной связи на другой ПМК.

Обработку звука можно использовать, например, для создания звукового меню, что позволит заменить или дополнить старый интерфейс (клавиатура с экраном). Можно проигрывать музыку, на основе сэмплов музыкальных инструментов. Можно генерировать речь по фонемам. Владелец ПМК может написать низкочастотный осциллограф. Это всё вдобавок к функциям, имевшимся в калькуляторах предыдущих поколений — где обрабатывались только данные, поступающие с клавиатуры.

И да, это новый «концепт». Заметьте, я специально ставлю иностранное слово в кавычки, т.к. выше уже возникло непонимание — разный смысл мы вкладывали в иностранное прилагательное «нативный». В моём ответе «нативный» означало машинный код кристалла, под который постепенно переписывается Каллисто 2.0. Вы же, отвечая мне, прилагательное «нативный» наделили смыслом «уровень входного языка предыдущего (советского) поколения ПМК» — где обработка звука, разумеется, излишня.

Вы похоронили нативную систему команд МК61, хотя она достаточно развитая для программирования.

Отнюдь нет.

Каллисто расширяет «нативную систему команд МК61», в этом её главное достоинство!

Чтобы объяснить это, я опубликовал на вики статью «Простые программы на Каллисто» — где несколько программ проф. Дьяконова переведены на язык Каллисто. Можно видеть, что Каллисто наследует входному языку МК-61/МК-161, просто расширяя его и добавляя новые, долгожданные элементы вроде имён переменных и подпрограмм, «бесконечного» стека, структурного программирования.

Десятилетиями я продумывал это расширение, органичное для ПМК, и только летом 2014 года пасьянс сложился. Много конфликтов между Фортом и языком МК, которые меня волновали ещё с того возраста, когда я их и понять-то толком не мог, удалось успешно разрешить.

AtH wrote: Вы ставите целью программиста заработать денег и смыться зарубеж. На такой дороге я вам не товарищ. :-) Мне интересней помощь тем, кто остаётся в России (и своём городе), применяя свои знания и навыки для помощи соотечественникам. Вы можете не понимать мотивацию таких людей, но это вам и не обязательно

Make Russia Great Again, ага. Кончай трампизировать техническую дискуссию :)

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

Но мои убеждения высказаны строго в ответ на вот такие высказывания собеседника: «средство для монетизации и возможность молодым, амбициозным и пока еще неумелым программистам - "раскрутится" и выскочить наверх. А вдруг заметят, а вдруг пригласят - туда за бугор!»

Просто показать, что в мире есть и другие взгляды на происходящее. Другие пожелания «молодым, амбициозным» — и другой «верх», кроме «за бугор». :-)

Никто не возражает, обменялись репликами, обозначили позиции и вернулись к основной теме :) Иначе ветка перемещается в "политотстойник".