Изобретем микрокалькулятор

Изобретем микрокалькулятор

Так называлась серия статей в рубрике "Человек и компьютер" журнала "Наука и жизнь", где в конце 80-х годов редакция и читатели пытались установить обратную связь с производителем и высказать свои пожелания по усовершенствованию ПМК.
Времена были несколько иные, поэтому большинство пожеланий осталось на бумаге.

Тем более приятно услышать от главного инженера НПО СЕМИКО Михаила Степанищева, что "...замечания учтем, сейчас над этим работаем. Первым пользователям будем скоро обновления версии делать..."

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

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

  1. Создать простое устройство наподобие card reader, позволяющее читать диск МК-152 на обычном ПК через USB-порт.
  2. Доработать сам МК-152, позволяя ему использовать в качестве внешнего диска любой стандартный USB-ключ (флешку)
  3. При отсутствии внешнего диска использовать нуль-модемный кабель для СОМ-порта. Никаких аппаратных переделок ПМК не требуется, необходимы лишь утилиты обслуживания для ПМК и для ПК. Утилита для ПК может быть написана для MS-DOS (эмуляторы ДОС есть на любой платформе).
    Данный вариант осложняется тем, что в современных настольных и особенно портативных ПК COM-порт отсутствует. Однако, существуют дешёвые китайские микросхемы, реализующие виртуальный ком-порт и подключающиеся через USB. Например они широко пременяются в шнурах для подключения мобильников к компьютеру и в адаптерах "USB-to-serial".
  4. Кабель "COM-USB" типа HP 50g RS-232 Serial Cable, но в обратную сторону, чем это предусмотрено для калькуляторов HP. С поддержкой на уровне МК-152.

Общий смысл предложений можно выразить коротко: простая стыковка МК-152 и ПК.
При этом программа и данные поставляются, например, в виде одного файла внутреннего формата (редактирование средствами ПК необязательно), который можно переслать по электропочте, опубликовать в сети и т.д.

Обновление от 10 декабря 2007.
Данная возможность реализована. См статью "Среда разработки для МК-152. Обзор возможностей"

Оценка: 3.8 (Голосов 4)

Мощный стек.

В Час Икс, когда произойдёт кардинальное обновление системы команд, хотелось бы получить «бесконечный» стек, ограниченный только памятью ЭКВМ. Нужны также развитые, фортоподобные команды для управления стеком (от 1+/2*, DUP/DROP и SWAP/OVER/ROT/-ROT до мощных команд навроде PICK, ROLL). Хотелось бы получить спецсредства для хранения локальных переменных в стеке, чтобы не приходилось вычислять их постоянно меняющиеся смещения относительно вершины.

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

Результатом работы подпрограммы может быть другая подпрограмма (созданная «на ходу» с помощью команд склейки и вырезания программного кода), дескриптор которой может передаваться через стек или регистры.

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

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

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

Расширение возможностей калькулятора хотелось бы видеть не через наращивание числа префиксных клавиш, а через создание мощной и удобной системы меню с функциональными (программируемыми) клавишами типа F1..F10 в экранных Бейсиках, Left/Right в мобильниках Нокиа или A..F в калькуляторах HP.

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