ПМК: программируемые микрокалькуляторы (статья из "Мир ПК" №4-2008)

Пролог. По итогам обсуждения, должен извиниться перед читателями журнала "Мир ПК", которым была дана слишком преждевременная информация по поводу возможного возрождения в РФ массовых отечественных ПМК.

ПМК: программируемые микрокалькуляторы

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

Пионером в области калькуляторостроения считается американская фирма Hewlett-Packard, выпустившая в 1968 г. первый в мире настольный программируемый научный калькулятор HP 9100A, а чуть позже, в 1972 г., — первый в мире портативный калькулятор для научных расчетов HP-35. Первый портативный программируемый HP-65 появится двумя годами позже, в 1974-м.

В СССР развитие «железа», т. е. элементной базы, шло с запаздыванием, что, разумеется, сказалось и на сроках промышленного выпуска устройств. Первый советский настольный программируемый калькулятор «Искра 123» появился в 1973 г., первый карманный калькулятор Б3-04 был выпущен через год, а первый портативный программируемый — Б3-21 — через четыре. Обозначение «Б», согласно ГОСТ, соответствовало «бытовой технике».

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


Особенности входных языков ПМК

Входной язык ЭВМ — это основной способ записи и ввода программы в ее память. Исторически в ПМК существовали препятствия для использования языков высокого уровня, таких как Бейсик или Паскаль. Прежде всего это требования по производительности при относительно медленных по сравнению с традиционными ЭВМ процессорах, а также конструктивные особенности: массогабаритные характеристики, цифровые индикаторы в роли дисплея и специализированная клавиатура. Поэтому в качестве входного языка использовалась система мнемокодов, в основном совпадающая с вычислениями в обычном непрограммируемом режиме. Например, вычисление выражения sin20,5 ∙ (1 + cos2√2) на языке ПМК при вводе программы ничем не отличалось от нажатий соответствующих клавиш в режиме ручных вычислений.

Однако даже на таком уровне произошло размежевание на языки с алгебраической логикой (клавиши нажимаются в порядке, близком к математической записи, используются скобки) и языки с обратной польской записью (RPN — Reverse Polish Notation, постфиксная запись). Преимущество первых в несколько большей наглядности, вторых — в эффективности: в общем случае для вычисления требуется меньше нажатий клавиш, чем при алгебраической записи, скорость обработки также выше за счет более «машинной» записи.

Так, для вычисления все того же выражения sin20,5 ∙ (1 + cos2√2) на калькуляторе с алгебраической логикой нужно будет нажать клавиши:

0,5 sin X2 × (1 + 2 √ cos X2) =

Обратная запись короче на три команды:

0,5 sin X2 2 √ cos X2 1 + x

Исторически программируемые калькуляторы Hewlett-Packard, все советские ПМК и новый МК-152 используют обратную польскую нотацию. Калькуляторы Texas Instruments остаются верны алгебраической записи.


Современные калькуляторы

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

Иллюстрация с французского веб-сайта HP

В представленной табличке слева идут номера моделей калькуляторов, сверху — классы средней школы и курсы вуза. Collége соответствует 5—8-му классам, Lycée — 9—11-му классам. BAC+1/+2 означает 1-й/2-й курсы вуза, BAC+3/+4 — 3-й и 4-й (бакалавриат) и BAC+5/+6 — 5-й и 6-й (магистратура). Темно-синим цветом в середине выделена область программируемых калькуляторов (включая модели с обратной польской нотацией RPN), голубым наверху — инженерные «числогрызы», внизу ярко-голубым отмечены квадратики моделей для финансовой математики и статистики.

ПМК HP-50g. Фото с веб-сайта производителяСовременные ПМК, в отличие от своих предков, обладают относительно большим экраном, сравнимым с монохромными дисплеями простейших КПК, позволяющим выводить не только числовую, но и символьную информацию, а также строить графики. Устройства интегрируются с компьютерами, тем самым многократно расширяя возможности по обмену данными и программами. Наконец, их быстродействие возросло на порядки.

Для фирмы Hewlett-Packard последней на сегодняшний день является модель HP-50g. Это новейший представитель модельного ряда HP-49, выпущенного в свою очередь в 1999 г. как продолжение популярного HP-48. Отличительной особенностью данных моделей является наличие встроенного пакета так называемой компьютерной математики (СКМ — система компьютерной математики, CAS — Computer Algebra System). Калькулятор позволяет запускать программы, написанные как на своих входных языках (UserRPL, SysRPL, HP-BASIC), так и на ассемблере самого микропроцессора ARM. Программы для HP 50g/49g+ можно также писать на компьютере, используя компилятор диалекта языка Си, имеющий библиотеки для работы со стеком и другими особенностями калькуляторов.

ПМК TI-89. Фото с веб-сайта производителяКонкуренцию HP составляет другая американская фирма — Texas Instruments (TI), также имеющая долгую историю производства ПМК. Современной моделью является TI-89 Titanium из линейки, начатой в 1995 г.

TI-89 и совместимые с ним ПМК этой серии собраны на процессоре Motorola 68000 с частотой 16 МГц. Вначале модель выпускалась в горизонтальном исполнении с QWERTY-клавиатурой под названием Voyage 200. Но клавиатурные модели в гораздо большей степени страдают от конкуренции с КПК и субноутбуками, поэтому массовым продуктом является именно TI-89 Titanium в классическом вертикальном «калькуляторном» исполнении. Основным входным языком является бейсикоподобный TI-BASIC, устройство также располагает пакетом компьютерной математики.

В принципе можно с уверенностью говорить о сходных характеристиках этих двух флагманских моделей. Есть различия в архитектуре, языке, культурных традициях, но по функциональным возможностям HP-50g и TI-89 вполне сравнимы.

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

А что у нас?

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

По сути развитие ПМК остановилось на моделях серии «Электроника» МК-61 и МК-52, спроектированных и запущенных в производство еще в 1985 г. Здесь нельзя не вспомнить микрокомпьютер «Электроника» МК-85, поступивший в продажу в 1986 г. Это уже не был классический ПМК: он обладал миниатюрной алфавитно-цифровой клавиатурой и входным языком типа Бейсика. К сожалению, к середине—концу 1990-х годов подобные устройства во всем мире начали вытесняться портативными компьютерами — КПК и субноутбуками — и в настоящее время массово не производятся. В то же время классические ПМК с новым графическим экраном не только выжили, но и получили серьезное развитие.

В таких условиях появление в 2007 г. новой модели «Электроники» — МК-152 — означало отчаянную попытку продолжить традиции отечественной микроэлектроники. Впервые за 15 лет в стране появился серийный продукт класса микроЭВМ.

Следует оговориться сразу: массовым продуктом устройство МК-152 не назовешь уже хотя бы потому, что выполнено оно в стационарном (настольном) варианте. Его основное назначение — управление приборами в составе цифровых комплексов. Фирма-производитель — НПП СЕМИКО из Новосибирска — так его и использует.

ПМК МК-152. Фото с веб-сайта производителяОднако МК-152 не только полностью совместим с системой команд прежних советских моделей, но и значительно расширяет их возможности. Устройство обладает на два порядка большей памятью для команд и данных и примерно на три порядка более высоким быстродействием. Например, по тесту «8 ферзей» на основном входном языке МК-152 является одним из фаворитов и включен в неофициальный рейтинг на сайте сообщества HP. Для тех, кто подзабыл математику, напомню, что увеличение на один порядок соответствует увеличению в 10 раз. Появилась возможность сохранять программы не только во внутренней памяти (эта функция поддерживалась еще МК-52), но и на внешнем диске — маленьком съемном модуле типа флэш-памяти. Экран размером 160×160 точек дает возможность выводить алфавитно-цифровую и графическую информацию. ПМК соединяется с компьютером по кабелю последовательного интерфейса и позволяет обмениваться не только программами и картинками экрана, но и вести разработку сложных программ в удобной среде с использованием расширенного языка программирования.

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

Среда разработки ПМК-программ и сопряжения МК-152 с персональным компьютеромКак видим, прогресс в функциональной области сделан немалый, и при этом сохранена совместимость со старыми моделями МК-61 и МК-52. Почему это важно?

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

Настольное исполнение МК-152 и относительно высокая цена (около 4 тыс. руб.) являются серьезными недостатками в глазах многих потенциальных пользователей, которые хотели бы иметь портативный вариант — легкий, с автономным питанием и более дешевый. Поэтому НПП СЕМИКО планирует выпуск «облегченной» модели. Предполагается производить портативную модель микрокалькулятора в максимально дешевом исполнении по цене до 2000 руб. Питание будет осуществляться как от батарейки, так и от сети через подключаемый внешний блок питания, клавиатура будет кнопочной (в МК-152 она пленочная, защищенная от попадания влаги в лабораторных условиях). С целью снижения стоимости в модели будут исключены параллельный порт и электронный блокнот. Внутренний диск, возможность подключения внешнего и последовательный порт для обмена с компьютером, разумеется, останутся.

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

Литература и ссылки

  1. Дьяконов В. П. Современные зарубежные микрокалькуляторы. М.: Солон-Р, 2002.
  2. Данилов И. Д., Славин Г. В. Пять вечеров с микрокалькулятором. М.:, Финансы и статистика, 1988.
  3. Епанечников В. А., Цветков А. Н. Справочник по прикладным программам для микрокалькуляторов. М.:, Финансы и статистика, 1988.
  4. Фролов С. История советских калькуляторов, http://www.enlight.ru/ib/also/calcs/calcs1.htm.
  5. НПП СЕМИКО. Веб-сайт единственного на сегодняшний день производителя отечественных ПМК, http://mk.semico.ru.
  6. Итоги теста скорости вычислений «8 ферзей», http://pmk.arbinada.com/node/30.
  7. Кон-Тики: веб-сайт, целиком посвященный программируемым калькуляторам, http://pmk.arbinada.com.

Пример разработки программы

Попробуем решить на ПМК несложную задачу, требующую пакетной обработки данных. Предположим, нам требуется найти корни у десятка квадратных уравнений, известных каждому школьнику. Уравнение имеет вид: ax2 + bx + c = 0, а его корни находятся по формулам:

x1 = (–b + √(b2 – 4ac)) / 2

x2 = (–b – √(b2 – 4ac)) / 2

Можно решать эту задачку с помощью карандаша и бумаги. Для пары уравнений ручные вычисления будут быстрее, но для нескольких десятков имеет смысл воспользоваться программой. Конечно, для ПМК уже есть готовые программы, которые надо просто ввести или загрузить с диска и начать работу. Но мы составим ее самостоятельно. У МК-152 есть 10 000 регистров памяти, куда можно записывать числа. Мы воспользуемся для нашей задачи только шестью: в регистры A, B и C будем вводить соответствующие коэффициенты уравнения, в регистре 3 запомним промежуточный результат вычисления дискриминанта (b2 – 4ac), в регистрах 1 и 2 будем записывать вычисленные корни x1 и x2.

Переводим калькулятор в режим программирования нажатием клавиш F ПРГ и вводим нашу программу начиная с адреса 00. После окончания ввода переходим в режим ручных вычислений F АВТ, нажимаем В/0 и начинаем вычисления: вводим коэффициент А, нажимаем С/П, вводим коэффициент В, С/П, коэффициент С, С/π.— через мгновение на экране загорается значение первого корня, в регистре 2 находится второй. Оба корня также видны на индикаторе: первый корень — в регистре X, второй — в регистре Y.

Например, решим уравнение 2x2 + 5x + 3 = 0. Вводим 2 С/П 5 С/П 3 С/П. На экране загораются значения корней: –1,5 и –1.

Конечно, приведенная программа не оптимальна по размеру, ее можно сократить на десяток команд. В ней отсутствует проверка
«a = 0», когда квадратное уравнение превращается в линейное. А еще можно было бы добавить блок вычисления комплексных корней. Все это вы сможете сделать самостоятельно, заглянув в прилагаемую к ПМК инструкцию на русском языке. Для тех, кто не располагает временем на программирование, доступен огромный банк бесплатных программ и целых пакетов, опубликованный в книгах и периодических изданиях.

Сергей Тарасов, февраль 2008

Статья опубликована в журнале "Мир ПК" №4-2008

Undefined