Предложения для ЭКВМ последующих поколений

Материал из ПМК вики
Версия от 16:29, 18 апреля 2015; AtH (обсуждение | вклад) (Снята защита с «Предложения для ЭКВМ последующих поколений»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Собранные здесь предложения требуют принципиально другого «железа», чем существующие ЭКВМ.

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

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

Общая стратегия близка к виртовской:

  • Изучать и использовать ЭКВМ для неспециалиста станет ещё проще.
  • Писать программы можно будет проще и быстрее.
  • Программы того же объёма будут всё более мощные.
  • Оперировать они смогут, при желании, возрастающими объёмами более сложной информации, чем сейчас.
  • Конечная стоимость наиболее полного «базового модуля» (самый мощный ПМК с наилучшими возможностями дальнейшего расширения) до $500, то есть не выше 15-20 тысячи рублей 2013 года с расчётом на последующее снижение цены. В идеале самое дешёвое исполнение (возможность его расширения также допустима) должно быть доступно школьникам и энтузиастам — хотелось бы уложить в $100, то есть 3-5 тысячи рублей 2013 года.

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

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

Предложения[править]

  • Вся справочная информация по ПМК, необходимая для программирования «на борту», хранится на самом ПМК и всегда оперативно доступна для просмотра без изменения состояния ПМК. --AtH (обсуждение) 00:43, 29 января 2015 (MSK)
  • Справочную информацию, хранящуюся «на борту», нельзя изменить средствами самого ПМК, но можно обновить (как «прошивку») и делать (легко удаляемые, не деструктивные) «заметки на полях». --AtH (обсуждение) 00:43, 29 января 2015 (MSK)
  • «Бесконечный» стек и сохранение обратной польской записи для операций над «верхушкой» стека --AtH (обсуждение) 00:07, 21 марта 2014 (MSK)
  • Использование Юникода во всей ЭКВМ. Кроме функций, оставленных для совместимости с МК-152 --AtH (обсуждение) 00:07, 21 марта 2014 (MSK)
  • Расширение диапазона порядков для самых требовательных вычислений минимум до ±4999, а максимального количества значащих десятичных знаков как минимум до 32. Даже если работа с такими числами будет невероятно медленной. Например, для хранения таких чисел вне стека можно использовать стандарт decimal128. --AtH (обсуждение) 00:13, 21 марта 2014 (MSK)
  • Для обычных «скоростных», не требующих высшей точности вычислений можно использовать существующую «плавучку» 14+2 — или расширить её до того (например, 20+3) уровня, который ещё не приводит к существенному снижению быстродействия. --AtH (обсуждение) 01:55, 21 марта 2014 (MSK)
  • Использование «длинных» (32 символа или даже более) идентификаторов вместо адресов и регистров. Переменным, функциям можно давать как латинские, так и русские имена. Их можно различать по 16-битным хэш-функциям, а имена сравнивать лишь в случае необходимости или неоднозначности. --AtH (обсуждение) 00:07, 21 марта 2014 (MSK)
  • Также у переменных могут быть два имени. «Длинное» (полное) для устранения неоднозначности (и справки, лёгкости вспоминания, что это за переменная) и «короткое» для удобства ввода и экономии места при отображении. «Короткие» имена могут совпадать, но всегда должна быть возможность узнать или указать ПМК, какое из полных имён соответствует каждому из вхождений «короткого» имени. Для визуального различения конфликтующих «коротких» имён ПМК может автоматически использовать курсив, жирный шрифт, градиенты серого и прочие атрибуты. --AtH (обсуждение) 01:21, 29 января 2015 (MSK)
  • Локальные переменные, предварительное описания переменных для контроля ошибок — возможно с пометкой forward для сложных случаев, например взаимной рекурсии. Необходимость предварительного описания имён переменных может быть отключаема. Она необходима новичкам, но делает код длинней, а его ввод/отображение неудобней. --AtH (обсуждение) 02:16, 21 марта 2014 (MSK)
  • Разные типы данных в стеке и у переменных — включая рациональные и комплексные числа, матрицы («электронные таблицы» с содержимым разного типа), символьные строки (текст) Юникода, аудиосигнал моно/стерео разного качества (от одномерного 8-битного массива 8 КГц до массива «плавучки» на 48/64 бит стерео 44,1/96 КГц), музыка, графические образы (с альфа-каналом или хотя бы маской) и функции (программный код которых можно, например, «склеивать» или конструировать «на лету») --AtH (обсуждение) 00:07, 21 марта 2014 (MSK)
  • Использование структурного программирования с отказом от команд перехода. Если команды перехода останутся, они должны осуществляться на метки, а не адреса --AtH (обсуждение) 00:07, 21 марта 2014 (MSK)
  • Использование модулей, а также расширяемой иерархии типов данных и функций-членов, то есть современного научного «компонентного» программирования в стиле Оберона --AtH (обсуждение) 00:07, 21 марта 2014 (MSK)
  • В силу небольших размеров ЭКВМ предлагаю использовать компактные скобки {} () [] <> и т.п. вместо многословных (и иностранных) Обероновских BEGIN…END и WHILE…END, оператор IF можно заменить на вопросительный знак и т.д. Эти мелочи упростят отображение и редактирование программ (исходного кода функций) «на борту» ЭКВМ. --AtH (обсуждение) 03:22, 21 марта 2014 (MSK)
  • Динамические типы данных, с проверкой времени исполнения и неявным преобразованием типов в сторону «большего». Владелец ЭКВМ может унаследовать по иерархии типов или сам явно прописать преобразования в, из и между его типами данных. Пользуясь хорошо продуманными библиотечными функциями, естественно. --AtH (обсуждение) 02:19, 21 марта 2014 (MSK)
  • Возможность динамического расширения языка как в Форте — создания своих принципиально новых типов, функций, операторов и операций с удобством использования, как встроенных возможностей языка. Поддержка нескольких пространств имён, «словарей». Верхний уровень языка может быть написан на нём самом и документирован на уровне исходного кода. Если этот уровень можно будет открывать на запись, владельцы ЭКВМ смогут принять активное участие в оптимизации и доработке, проверке этой части кода транслятора. Должен быть предусмотрен надёжно работающий сброс входного языка к «заводским установкам». --AtH (обсуждение) 02:08, 21 марта 2014 (MSK)
  • Упрощение графического интерфейса пользователя с использованием классов Оберона, куда включить удобные средства построения двумерных графиков, отображения/редактирования текстовых переменных («файлов») и записи/отображения/воспроизведения аудиоволн --AtH (обсуждение) 00:07, 21 марта 2014 (MSK)
  • Более удобные текстовый/матричный/графический/аудио/музыкальный редакторы и клавиатуры, редактирование кусков исходного кода должно быть сравнимо по удобству и скорости с входным компактным языком ПМК --AtH (обсуждение) 00:07, 21 марта 2014 (MSK)
  • Возможности отладки на уровне исходного кода, неразрушающая проверка состояния переменных с учётом авторского названия полей структур и типов данных. Поддержка удобной тестовой печати и точек останова для тех, кто предпочитает их пошаговой отладке. --AtH (обсуждение) 02:08, 21 марта 2014 (MSK)
  • Это не самое важное, но встроенные в ЭКВМ средства профилирования помогут оптимизации программ, которые «выжимают максимум» из имеющегося оборудования ЭКВМ. --AtH (обсуждение) 02:08, 21 марта 2014 (MSK)
  • Начать реализовывать символьную арифметику над алгебраической нотацией, хотя бы первые функции по «раскрытию скобок», упрощению и дифференцированию многочленов, четыре арифметических действия над символьными выражениями и т.д. --AtH (обсуждение) 00:07, 21 марта 2014 (MSK)
  • Диктофон и хранение голосовых комментариев к файлам на внутреннем диске. Который, кстати, можно попробовать объединить с общим пространством имён энергонезависимых переменных. --AtH (обсуждение) 00:30, 21 марта 2014 (MSK)
  • Голосовой синтезатор по фонемам русского языка — и можно начать экспериментировать с голосовым меню. Шаг в сторону дешёвых ЭКВМ без дисплеев/клавиатур. Можно записать специальные сэмплы и фонетические словари, предназначенные для полноценного озвучивания чисел и нажимаемых клавиш, а также основных команд и меню ЭКВМ. --AtH (обсуждение) 00:30, 21 марта 2014 (MSK)
  • Простой в использовании (в том числе из программ пользователя) синтезатор нот, аккордов, средства многоголосья (микширования) и несколько наиболее частых аудиоэффектов. Пока имитация других инструментов прошлого (гитара, пианино) не обязательна, ЭКВМ может стать музыкальным инструментом сама по себе, например чистая синусоида без гармоник. --AtH (обсуждение) 01:18, 21 марта 2014 (MSK)
  • Работа (отображение/редактирование/хранение и перевод в аудиоволны) с нотной записью музыки в формате оператора PLAY, MIDI или классического нотного стана. --AtH (обсуждение) 01:18, 21 марта 2014 (MSK)
  • Качественные алгоритмы сжатия/разжатия аудио типа MP3/OGG, которые владелец может применять для экономии места на встроенном «диске». Алгоритмы похожего назначения могут применяться к графической информации. Можно предусмотреть константу «сжатия по умолчанию», которая будет изменяться в зависимости от объёма памяти, установленной на борту ПМК — на более дешёвых моделях до апгрейда качество «звука по умолчанию» будет заметно хуже. --AtH (обсуждение) 00:40, 29 января 2015 (MSK)

Предложения по оборудованию[править]

  • Настольное исполнение ЭКВМ с питанием от 220/110 Вольт и большим зерном экрана, для пожилых людей. --AtH (обсуждение) 00:44, 21 марта 2014 (MSK)
  • Мобильное карманное исполнение с хорошим сменным аккумулятором, компактный экран с мелким зерном. --AtH (обсуждение) 00:45, 21 марта 2014 (MSK)
  • Мобильная ЭКВМ должна быть рассчитана на устойчивую работу при наших русских температурах, от -40℃ до +40℃. --AtH (обсуждение) 02:31, 21 марта 2014 (MSK)
  • Стандартное зарядное устройство, например европейский стандарт «от USB». --AtH (обсуждение) 13:16, 28 марта 2014 (MSK)
  • Встроенные монофонические динамик и микрофон. К ним основные требования — надёжность, компактность, бюджетность. Русская речь должна быть разборчива, при записи и проигрывании через встроенные устройства. Аудиофилы могут покупать внешние устройства неограниченной стоимости, под свои индивидуальные требования. --AtH (обсуждение) 03:01, 21 марта 2014 (MSK)
  • Полноценная запись и воспроизведение двухканальных 16-битных цифрованных сигналов до 44,1/96 КГц (звукового диапазона) со внутренним 24/32 битным хранением и обработкой. В идеале же по два стерео-входа и два стерео-выхода, один из них цифровой и один аналоговый на наиболее популярные бытовые разъёмы. Неплохо также предусмотреть возможность конвертации аудио в 48/64-битное представление с плавающей точкой и обратно, а также операции над подобным представлением. --AtH (обсуждение) 00:48, 21 марта 2014 (MSK)
  • Полноценная цифровая обработка сигналов в реальном времени на уровне программ пользователя пока не обязательна, но возможность сохранить / неторопливо и качествено обработать / выдать результат желательна. --AtH (обсуждение) 00:48, 21 марта 2014 (MSK)
  • Если владельцам ЭКВМ получится реализовать на базе такой ЭКВМ двухканальный осциллограф на сигнал до 10 КГц, это уже большой успех. --AtH (обсуждение) 00:07, 21 марта 2014 (MSK)
  • Беспроводная цифровая связь не ниже 9600 бод, как минимум между самими ЭКВМ. В идеале же подключение к ПК, принтеру, смартфону/планшету и Интернету, а также к аудиоканалам, через Bluetooth или (это лучше!) WiFi. --AtH (обсуждение) 00:36, 29 января 2015 (MSK)
  • Управление энергопотреблением. Возможность уходить в «спячку» с полным сохранением состояния и «просыпаться» в нужное время, по нажатию кнопки или внешнему сигналу. Экономный ждущий режим во время общения с неторопливым пользователем через клавиатуру и безопасный ускоренный, когда скорость вычислений важнее энергопотребления (скажем, питание от розетки или внешнего аккумулятора заблаговременно включено). --AtH (обсуждение) 00:37, 29 января 2015 (MSK)
  • По возможности выпуск ПМК должен опираться на отечественную элементную базу или компоненты, доступность которых в России мало зависит от изменяющихся политических, экономических и иных факторов. --AtH (обсуждение) 00:32, 29 января 2015 (MSK)

Примечание[править]

Я здесь везде пишу «аудио». Но понятно, что это любой низкочастотный (от долей Герца до 20-40 КГц) сигнал на входе АЦП, который мы можем принять, обработать и при необходимости выдать обратно. Продвинутый вольтметр, осциллограф. Любая последовательность данных, которая вводится в ЭКВМ автоматически — в цифровом или аналоговом виде.

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

Обработка таких больших массивов данных (килобайты, мегабайты) это закономерное расширение статистических функций советских калькуляторов (где скромные массивы данных вводились/выводились вручную, без автоматизации). Эти старые статистические функции, разумеется, надо будет также предусмотреть, вместе с их развитием. --AtH (обсуждение) 12:59, 23 марта 2014 (MSK)