Четырёхбитный калькулятор из картона и шариков. Как пользоваться инженерным калькулятором
22/09/98)
Эта статья посвящена незаменимым помощникам в нашей жизни - микрокалькуляторам. Описывается история возникновения советских микрокалькуляторов, их особенности и интересные возможности отдельных моделей.
ПЕРВЫЕ ВЫЧИСЛИТЕЛИ
Первым механическим приспособлением в России для автоматизации расчетов были счеты. Этот "народный калькулятор" продержался на рабочих местах кассирш в магазинах вплоть до середины девяностых годов. Интересно отметить, что в учебнике "Торговые вычисления" 1986 года методам вычисления на счетах посвящена целая глава.
Одновременно со счетами, в научных кругах, еще с дореволюционных времен, с успехом использовались логарифмические линейки, которые с XVII века практически без изменений прослужили "верой и правдой" вплоть до появления калькуляторов.
Пытаясь как-то автоматизировать процесс вычислений, человечество начинает изобретать механические считающие устройства. Даже известный математик Чебышев в конце XIX века предложил свою модель вычислителя. К сожалению, изображения не сохранилось.
Самым популярным механическим
вычислителем в советские времена являлся
арифмометр системы Однера "Феликс". Слева -
изображение арифмометра, взятое из "Малой
советской энциклопедии" 1932 года издания.
На этом арифмометре можно было производить
четыре арифметических действия - сложение,
вычитание, умножение и деление. В более поздних
моделях, например, "Феликс-М", можно видеть
ползуночки для указания положения запятой и
рычажок для сдвига каретки. Для производства
вычислений было необходимо крутить ручку - один
раз для сложения или вычитания, и несколько раз
для умножения и деления.
Один раз, конечно, покрутить ручку можно, и
даже интересно, но что делать, если вы работаете
бухгалтером, и за день необходимо произвести
сотни простых операций? Да и шум от крутящихся
шестеренок-счетчиков стоит приличный, особенно,
если одновременно в помещении с арифмометрами
работает несколько человек.
Однако, со временем крутить ручку начинало
надоедать, и человеческий ум изоблел
электрические счетные машины, которые
арифметические действия производили
автоматически или полуавтоматически. Справа -
изображение полулярной в 50-е годы многоклавишной
вычислительной машины ВММ-2 (Товарный словарь, VIII
том, 1960). Эта модель имела девять разрядов и
работала до 17-го порядка. У нее были габариты
440x330x240 мм и масса в 23 килограмма.
Все же наука взяла свое. В послевоенные годы
начала бурно развиваться электроника и
появились первые компьютеры -
электронные-вычислительные машины (ЭВМ). К началу
60-х годов между компьютерами и самыми мощными
счетно-клавишными вычислительными машинами
образовался по многим параметрам огромный
разрыв, несмотря на появление советских релейных
вычислительных машин "Вильнюс" и
"Вятка" (1961).
Но к тому времени в ленинградском
университете уже была спроектирована одна из
первых в мире настольных клавишных
вычислительных машин, в которой использовались
малогабаритные полупроводниковые элементы и
ферритовые сердечники. Был изготовлен и
действующий макет этой ЭКВМ - электронной
клавишной вычислительной машины.
А вообще, считается, что первый массовый
электронный калькулятор появился в Англии в 1963
году. Его схема была выполнена на печатных платах
и содержала несколько тысяч одних только
транзисторов. Размеры такого калькулятора были
как у пишущей машинки, а выполнял он лишь
арифметические операции с многоразрядными
числами. Слева показан калькулятор
"Электроника" - типичный представитель
калькуляторов этого поколения.
Распространение настольных ЭКВМ началось в 1964 г., когда в нашей стране был освоен серийный выпуск ЭКВМ "Вега" и начат выпуск настольных ЭКВМ в ряде других стран. В 1967 г. появилась ЭДВМ-11 (электронная десятиклавишная вычислительная машина) - первая в нашей стране ЭКВМ, автоматически вычислявшая тригонометрические функции.
Дальнейшее развитие вычислительной техники
неразрывно связано с достижениями
микроэлектроники. В конце 50-х годов была
разработана технология производства
интегральных схем, содержавших группы связанных
между собой электронных элементов, а уже в 1961 г.
появилась первая модель ЭВМ на интегральных
схемах, которая была в 48 раз меньше по массе и в 150
раз меньше по объему, чем полупроводниковые ЭВМ,
выполнявшие те же функции. В 1965 г. появляются и
первые ЭКВМ на интегральных схемах. Примерно в
это же время появились и первые переносные ЭКВМ
на БИСах (только что внедренных в производство) с
автономным питанием от встроенных
аккумуляторов. В 1971 г. габариты ЭКВМ стали
"карманными", в 1972 г. появились ЭМК
научно-технического типа с подпрограммами
вычисления элементарных функций,
дополнительными регистрами памяти и с
представлением чисел как в естественной форме,
так и в форме с плавающей запятой в самом широком
диапазоне чисел.
Развитие производства ЭКВМ в нашей стране шло
параллельно с его развитием в других наиболее
промышленно развитых странах мира. В 1970 г.
появились первые образцы ЭКВМ на ИС, с 1971 г. на
этих элементах начинается выпуск машин серии
"Искра". В 1972 г. стали производиться и первые
отечественные микро-ЭВМ на БИСах.
ПЕРВЫЙ СОВЕТСКИЙ КАРМАННЫЙ КАЛЬКУЛЯТОР
Первые советские настольные калькуляторы,
которые появились в 1971 году, быстро завоевали
популярность. ЭКВМ на основе БИС работали тихо,
потребляли мало энергии, вычисляли быстро и
безошибочно. Себестоимость микросхем быстро
снижалась, и можно было думать о создании МК
карманного размера, цена которого была бы
доступна широкому потребителю.
В августе 1973 года электронная
промышленность нашей страны поставила задачу за
один год создать электронный карманный
вычислитель на микропроцессорной БИС и с
жидкокристаллическим индикатором. Над этой
сложнейшей задачей работала группа из 27 человек.
Предстояла огромная работа: изготовить чертежи,
схемы и. шаблоны, состоящие из 144 тыс. точек,
разместить микропроцессор с 3400 элементами в
кристалле размером 5х5 мм.
Через пять месяцев работы были готовы первые
образцы МК, а через девять месяцев, за три месяца
до установленного срока, электронный карманный
вычислитель под названием "Электроника Б3-04"
был сдан государственной комиссии. Уже в начале
1974 года электронный гном поступил в продажу. Это
была большая трудовая победа, показавшая
возможности нашей электронной промышленности.
В этом микрокалькуляторе впервые был
применен индикатор на жидких кристаллах, причем
цифры изображались белыми знаками на черном фоне
(см. рис.).
Включение калькулятора производилось нажатием
на шторку, после чего открывалась крышка, и
калькулятор начинал работу.
Микрокалькулятор имел очень интересный алгоритм
работы. Для того, чтобы вычислить (20-8+7) необходимо
было нажать клавиши | C | 20 | += | 8 | -= | 7 | += |.
Результат: 5. Если результат надо умножить,
скажем, на три, то вычисления можно продолжить
нажатием клавиш: | X | 3 | += |.
Клавиша | K | использовалась для вычисления с
константой.
В этом калькуляторе были использованы прозрачные платы с объемным монтажом. На рисунке показана часть платы микрокалькулятора.
Микрокалькулятор содержит четыре микросхемы -
23-х разрядный сдвиговый регистр К145АП1,
устройство управления индикатором К145ПП1,
операционный регистр К145ИП2 и микропроцессор
К145ИП1. В блоке преобразования напряжения
использована микросхема преобразования уровней.
Интересно отметить, что этот калькулятор работал
от одной батарейки типа АА (А316 "Квант",
"Уран").
ПЕРВЫЕ СОВЕТСКИЕ МИКРОКАЛЬКУЛЯТОРЫ
В начале 70-х годов привычный сегодня язык работы с микрокалькуляторами только зарождался. Первые модели микрокалькуляторов вообще могли иметь свой язык работы, и на калькуляторе приходилось учиться считать. Возьмем, к примеру, первый калькулятор ленинградского завода "Светлана" серии "С". Это - калькулятор С3-07. Кстати, стоит отметить, что калькуляторы завода "Светлана" вообще стоят особняком.
Небольшое отступление. Все микрокалькуляторы в те времена получили общее обозначение "Б3" (цифра три на конце, а не буква "З", как многие считали). Настольные электронные часы получили буквы Б2, наручные электронные - Б5 (например, Б5-207), настольные электронные с вакуумным индикатором - Б6, большие настенные - Б7 и так далее. Буква "Б" - "бытовая техника". Только микрокалькуляторы Светлановского завода получили букву "С" - Светлана (СВЕТ ЛАмпочки НАкаливания - для тех, кто не знает).
Так вот, возьмем, к примеру,
калькулятор С3-07. Очень удивительный калькулятор,
особенно - его клавиатура и дисплей. Как видно из
картинки, на калькуляторе совмещены не только
клавиши | += | и | -= |, но и умножить/разделить | X -:- |.
Попробуйте сами догадаться, как на этом
калькуляторе умножать и делить. Подсказка:
калькулятор не воспринимает два нажатия на одну
клавишу, возможно только одно.
Ответ не менее удивителен: чтобы
произвести, скажем, умножение 2 на 3, надо нажать
на клавиши | 2 | X-:- | 3 | += |, а чтобы разделить 2 на 3,
надо нажать клавиши: | 2 | X-:- | 3 | -= |. Сложение и
вычитание происходит аналогично калькулятору
Б3-04, то есть, получение разности 2 - 3 будет
вычисляться так: | 2 | += | 3 | -= |. В некоторых моделях
этого калькулятора можно встретить и
удивительный восьмисегментный индикатор.
Начиная с этой модели калькуляторов, все простые калькуляторы Светлановского завода оперируют с числами с порядками до 10e16-1, даже если на дисплей помещается восемь или двенадцать разрядов. Если результат превышает 8 или 12 разрядов (в зависимости от модели), то запятая исчезает и на дисплее появляются первые 8 или 12 разрядов числа.
Говоря о языке работы с микрокалькуляторами первых выпусков, следует упомянуть и о калькуляторах Б3-02, Б3-05 и Б3-05М. Это - вехи старых калькуляторов типа "Искра". В этих калькуляторах при вычислениях постоянно горят все разряды индикатора. В основном, конечно, нули. Очень неудобно отыскивать на таких калькуляторах первый (да и последний) значимый разряд. Кстати, в модели C3-07, о которой говорилось ранее, уже была попытка решить эту проблему, хотя и несколько необычным способом - на этом калькуляторе ноль имеет половину высоты. Так вот, эти три калькулятора имели очень неудобную, но вполне объяснимую для ранних калькуляторов особенность: требуемая точность вычислений задается при вводе первого числа. То есть, если необходимо, скажем, вычислить частное от деления 23 на 32 с точностью до трех знаков после запятой, то число 23 необходимо ввести с тремя знаками после запятой: | 23,000 | -:- | 32 | = | (0.718). До тех пор, пока оператор не нажмет кнопку сброса, все последующие вычисления будут производиться с тремя знаками после запятой, а запятая вообще больше никуда не движется. Это, кстати, и называется "фиксированной запятой", а более поздние калькуляторы, в которых запятая уже перемещается по дипслею, тогда назывались "с плавающей запятой". Сейчас, в терминологии произошли изменения, в результате которых с "плавающей запятой" сейчас называются отображения числа с мантиссой слева и порядком справа.
Через год после разработки первого
карманного микрокалькулятора Б3-04 появились
новые, более совершенные модели карманных МК. Это
- модели Б3-09М, Б3-14 и Б3-14М. Эти калькуляторы были
сделаны на одной микросхеме процессора К145ИК2 и
одной микросхеме генератора фаз. Слева показан
калькулятор Б3-09М, в таком же корпусе сделан и
Б3-14М, справа - Б3-14. На этих моделях был уже
"стандартный" язык работы на калькуляторах,
включая вычисления с константой.
Эти калькуляторы уже могли работать как от блока
питания, так и от четырех (Б3-09М, Б3-14М) или трех
(Б3-14) элементов типа АА.
Хотя эти калькуляторы сделаны на одном и том же
чипе, они имеют разные функциональные
возможности. И вообще, "убирание" разных
функций было присуще многим моделям советских
микрокалькуляторов. Например, у
микрокалькулятора Б3-09М не было знака вычисления
квадратного корня, Б3-14М не умел вычислять
проценты.
Особенностью этих простых калькуляторов
являлось то, что запятая занимала отдельный
разряд. Это очень удобно для беглого считывания
информации, но при этом пропадает последний
знаковый разряд. У этих же калькуляторов перед
началом работы необходимо нажимать клавишу
"C" для очистки регистров.
ПЕРВЫЙ СОВЕТСКИЙ ИНЖЕНЕРНЫЙ МИКРОКАЛЬКУЛЯТОР
Следующим огромным шагом в истории
развития микрокалькуляторов стало появление
первого советского инженерного
микрокалькулятора. В конце 1975 года в Советском
Союзе был создан первый инженерный
микрокалькулятор Б3-18. Как писал по этому поводу
журнал "Наука и Жизнь" 10, 1976 в статье
"Фантастическая электроника": "...этот
калькулятор перешел Рубикон арифметики, его
математическое образование шагнуло в
тригонометрию и алгебру. "Электроника Б3-18"
умеет мгновенно возводить в квадрат и извлекать
квадратный корень, в два приема возводить в любую
степень в пределах восьми разрядов, вычислять
обратные величины, вычислять логарифмы и
антилогарифмы, тригонометрические функции...",
"...когда видишь, как машина, которая только что
мгновенно складывала огромные числа, тратит
несколько секунд, чтобы выполнить какую-либо
алгебраическую или тригонометрическую операцию,
невольно задумываешься о той большой работе,
которая идет внутри маленькой коробочки, прежде
чем на ее индикаторе засветится результат".
И действительно, была проделана огромная работа.
В единый кристалл размером 5 х 5,2 мм удалось
вместить 45000 транзисторов, резисторов,
конденсаторов и проводников, то есть полсотни
телевизоров того времени запихали в одну
клеточку арифметической тетради! Однако, и цена
такого калькулятора была немалой - 220 рублей в 1978
году. Для примера, инженер после окончания
института в те времена получал 120 рублей в месяц.
Но, покупка стоила того. Теперь не надо думать,
как не сбить ползунок логарифмической линейки,
не надо заботиться о погрешности, можно
забросить на полку таблицы логарифмов.
Кстати, в этом калькуляторе впервые была
применена клавиша префиксной функции "F".
Все же в микросхему К145ИП7 калькулятора Б3-18 не
удалось полностью вместить все, что хотелось.
Например, при вычислении функций, в которых
использовалось разложение в ряд Тэйлора,
очищался рабочий регистр, в результате чего
стирался предыдущий результат операции. В связи
с этим нельзя было производить цепочные
вычисления, такие как 5 + sin 2. Для этого сначала
нужно было получить синус от двух, а потом только
прибавить к результату 5.
Итак, работа проделана большая, потрачены большие усилия, и в результате появился хороший, но очень дорогой калькулятор. Чтобы калькулятор был доступен массовым слоям населения, было принято решение на базе калькулятора Б3-18А сделать более дешевую модель. Чтобы не изобретать велосипед, наши инженеры пошли по самому легкому пути. Они взяли и убрали клавишу префиксной функции "F" с калькулятора. Калькулятор превратился в обычный, получил название "Б3-25А" и стал доступным широким слоям населения. И только разработчики и ремонтники калькуляторов знали тайну переделки Б3-25А.
ДАЛЬНЕЙШЕЕ РАЗВИТИЕ МИКРОКАЛЬКУЛЯТОРОВ
Сразу вслед за калькулятором Б3-18 совместно с инженерами из ГДР был выпущен микрокалькулятор Б3-19М. В этом калькуляторе была использована, так называемая, "обратная польская запись". Сначала набирается первое число, затем нажимается клавиша ввода числа в стек , затем второе число, и только после этого - требуемая операция. Стек в калькуляторе состоит из трех регистров - X, Y и Z. В этом же калькуляторе впервые был применен ввод порядка числа и показ числа в формате с плавающей запятой (с мантиссой и порядком). В калькуляторе был использован 12-разрядный индикатор на красных светоизлучающих диодах.
В 1977 году появился другой очень мощный инженерный калькулятор - С3-15. Этот калькулятор имел повышенную точность вычислений (до 12 разрядов), работал с порядками до 9,(9) в 99 степени, имел три регистра памяти, но самое замечательное - работал с алгебраической логикой. То есть, для того, чтобы вычислить по формуле 2 + 3 * 5, не нужно было сначала вычислять 3 * 5, а затем к результату прибавлять 2. Эту формулу можно было записывать в "естественном" виде: | 2 | + | 3 | * | 5 | = |. Кроме того, в калькуляторе использовались скобки до восьми уровней. Еще этот калькулятор - единственный калькулятор, который вместе со своим настольным братом МК-41, имеет клавишу /p/. Эта клавиша использовалась для вычислений по формуле sqrt (x^2 + y^2).
В 1977 году была разработана микросхема К145ИП11, которая породила целую серию калькуляторов. Самым первым из них был очень известный калькулятор Б3-26 (на рисунке справа). Как и с калькуляторами Б3-09М, Б3-14 и Б3-14М, а также с Б3-18А и Б3-25А, с ним поступили также - удалили некоторые функции.
На основе калькулятора Б3-26 были сделаны калькуляторы Б3-23 с процентами, Б3-23А с квадратным корнем, Б3-24Г с памятью. Кстати, калькулятор Б3-23А впоследствии стал самым дешевым советским калькулятором с ценой всего в 18 рублей. Б3-26 вскоре стал называться МК-26 и появился его сводный брат МК-57 и МК-57А с аналогичными функциями.
Светлановский завод также порадовал своей моделью С3-27, которая, правда, не прижилась, и ее вскоре заменила очень популярная и дешевая модель С3-33 (МК-33).
Еще одним направлением в развитии
микрокалькуляторов стали инженерные Б3-35 (МК-35) и
Б3-36 (МК-36). Б3-35 отличался от Б3-36 более простым
дизайном и стоил на пять рублей дешевле. Эти
микрокалькуляторы умели переводить градусы в
радианы и наоборот, умножать и делить числа в
памяти.
Очень интересно эти калькуляторы вычисляли
факториал - простым перебором. На вычисление
максимального значения факториала в 69 на
микрокалькуляторе Б3-35 уходило более пяти секунд.
Эти калькуляторы были очень популярны у нас, хотя
и обладали, на мой взгляд, некоторым недостатком:
они показывали на индикаторе ровно столько
значащих разрядов, сколько об этом сказано в
инструкции. Обычно их пять-шесть для
трансцендентных функций.
На основе этих калькуляторов был сделан настольный вариант МК-45.
Кстати, многие карманные инженерные калькуляторы имеют своих настольных братьев. Это - калькуляторы МК-41 (С3-15), МКШ-2 (Б3-30), МК-45 (Б3-35, Б3-36).
Калькулятор МКШ-2 - единственный "школьный"
калькулятор выпускавшийся нашей
промышленностью за исключением больших
демонстрационных, о которых будет сказано ниже.
Этот калькулятор, как и калькулятор Б3-32 (на
рисунке слева), умел вычислять корни квадратного
уравнения и находить корни системы уравнений с
двумя неизвестными. По дизайну этот калькулятор
полностью идентичен калькулятору Б3-14.
Особенность калькулятора, кроме описанных выше, -
все надписи на клавишах выполнены по иностранным
стандартам. Например, клавиша записи числа в
память обозначалась не "П" и не "x->П", а
"STO". Вызов числа из памяти - "RCL".
Несмотря на возможность работы с числами с
большими порядками, на этом калькуляторе
использовался восьмиразрядный дисплей, такой же
как и в Б3-14. Получалось, что если отображать число
с мантиссой и порядком, то на индикаторе
умещается только пять значащих цифр. Чтобы
решить эту проблему в микрокалькуляторе
использовалась клавиша "CN". Если, к примеру,
результатом вычислений являлось число 1.2345678e-12,
то на индикаторе оно отображалось как 1.2345-12.
Нажав | F | CN |, видим на индикаторе 12345678. Запятая
при этом гаснет.
Перечитывая хаб Старое железо , я наткнулся на обзор теплого лампового телефона , и вспомнил, что похожий аппарат где-то имеется и у меня. Сразу захотелось достать свой телефон, протереть спиртиком и водрузить на рабочий стол (тот, который из ДСП) в качестве действующего музейного экспоната. И заодно проверить, полностью ли местная АТС отказалась от импульсного набора номера.
Но так как телефон остался в другом городе, я отложил свои намерения на неопределенное время, и, конечно же, забыл про это. А на Рождество я волею судьбы наконец-таки оказался во славном городе Владимире, где как раз и лежит сей чудесный телефон. В процессе его поиска среди огромного количества старых вещей, был найден советский микрокалькулятор Электроника Б3-18А, который, несомненно, представляет гораздо больший интерес.
Изображение взято с обложки журнала «Наука и Жизнь» (№10, 1976 год)
О нем я и хотел бы поведать Хабрасообществу.
Микрокалькулятор Электроника Б3-18А - это модификация калькулятора Электроника Б3-18, выпускавшаяся с 1976 года, и принципиально ничем от Б3-18 не отличающаяся. Даже цена калькулятора Б3-18А была такой же, как и модели Б3-18, и составляла в 1976 году целых 220 рублей. Хотелось бы напомнить, что зарплата инженера без опыта работы в то время равнялась 120 р. в месяц, и данный калькулятор был по карману далеко не каждому.
Однако, следует заметить, что к концу 1980 года цена микрокалькулятора значительно снизилась, и мой экземпляр был приобретен всего за 95 рублей, о чем свидетельствует соответствующая запись в гарантийном талоне и товарный чек.
Чтобы сделать калькулятор дешевле и доступнее, была выпущена еще одна модификация, получившая название Б3-25А. Главным ее отличием от более дорогой модели являлось лишь отсутствие клавиши префиксной функции F, с помощью которой модель Б3-18А могла в два приёма возводить в любую степень в пределах восьми разрядов, вычислять обратные величины, вычислять логарифмы и антилогарифмы, тригонометрические функции.
Комплектация моего калькулятора Электроника Б3-18А оказалась следующей: сам аппарат, кожаный чехол, блок питания БП2-3, инструкция по эксплуатации и принципиальная электрическая схема. К сожалению, потерялась упаковочная тара (коробка) и паспорт блока питания, но это не удивительно, ведь с момента покупки микрокалькулятора прошло уже более тридцати лет.
Исходя из того, что микрокалькулятор Б3-18А ничем не отличается от модели Б3-18, некоторая часть материала для обзора на Хабре была найдена в статье “Фантастическая электроника” (автор - Р. Сворень), опубликованной в 10 номере журнала Наука и Жизнь за 1976 год. Но львиная доля информации по техническим характеристикам и принципе работы калькулятора оказалась, как не странно, в инструкции по эксплуатации калькулятора. А принципиальная электрическая схема, идущая в комплекте, настолько подробна, что не только позволяет легко отремонтировать вышедший из строя калькулятор, но и спаять свой собственный. Жалко, что к современной электронике такие схемы не прилагаются.
ОБЩИЕ СВЕДЕНИЯ
Микрокалькулятор «Электроника Б3-18А» предназначен для инженерных расчетов и позволяет выполнить четыре арифметические операции, а также возводить в квадрат и извлекать квадратный корень, в два приёма возводить в любую степень в пределах восьми разрядов, вычислять обратные величины, вычислять логарифмы и антилогарифмы, а также тригонометрические функции для любых действительных чисел.
Ввод данных и команд в микрокалькулятор производится с помощью клавиатуры. Контроль ввода исходных данных и результатов вычислений осуществляется визуально с помощью 9-разрядного вакуумного люминесцентного дисплея.
Характерной особенностью микрокалькулятора Электроника Б3-18А является наличие клавиши совмещенной функции («F») позволяющей использовать каждую клавишу для выполнения двух операций. Также, предусмотрена индикация знака числа и переполнения разрядной сетки микрокалькулятора.
Для хранения данных и накопления результатов в микрокалькуляторе имеется регистр памяти (РП), а для хранения промежуточных результатов вычислений - рабочий регистр (РР).
Микрокалькулятор может работать от встроенной батареи аккумуляторов Д-0,55С (4 шт.) или сетевого блока питания БП2-3. Подзарядка аккумуляторов осуществляется от блока питания.
Чтобы почувствовать, каким необыкновенным чудом научно-технического прогресса казался людям данный калькулятор в 1976 году, привожу цитату из статьи “Фантастическая электроника” журнала Наука и Жизнь:
“Этот калькулятор перешел Рубикон арифметики, его математическое образование шагнуло в тригонометрию и алгебру. «Электроника БЗ-18» умеет мгновенно возводить в квадрат и извлекать квадратный корень, в два приема возводить в любую степень в пределах восьми разрядов, вычислять обратные величины, вычислять логарифмы и антилогарифмы (десятичные и натуральные), тригонометрические функции. Все это не обращение к памяти, не воспроизведение справочных данных. Так, например, для вычисления синуса калькулятор сам по своей внутренней программе производит десятки арифметических операций, пользуясь известным разложением в ряд Тейлора.
Изображение взято из журнала «Наука и Жизнь» (№10, 1976 год)
«Электроника БЗ-18» содержит примерно 10 тысяч транзисторов, 8 тысяч резисторов, 1 тысячу конденсаторов и 25 тысяч соединительных проводников. Для сравнения заметим, что в транзисторном приемнике около 100 элементов, в телевизоре - около тысячи. Все эти транзисторы, резисторы, конденсаторы и проводники разместились на тоненькой кремниевой пластинке размером 5 Х5,2 мм. Вдумайтесь - полсотни телевизоров в одной клеточке арифметической тетради. Фантастика! ”
ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
- Управляющая микросхема (процессор) - К145ИП7П;
- Дисплей - вакуумный, люминесцентный, содержит 8 числовых разрядов (индикатор ИВ-21);
- Клавиатура - 20 клавиш, 2 переключателя (питание и единицы измерения углов град/рад);
- Питание - от аккумуляторов типа Д-0,55С (4 шт) или от внешнего блока питания БП2-3;
Для того, чтобы проникнуть внутрь микрокалькулятора Электроника БЗ-18А, необходимо открутить всего один винт. Мой калькулятор ни разу не вскрывался (даже для замены аккумуляторов), поэтому пришлось повредить заводскую пломбу в виде похожей на пластилин субстанции.
Открываем крышку, достаем четыре аккумуляторных элемента Д-0,55С.
Аккумуляторы
На фотографии аккумуляторы имеют вполне презентабельный вид, так как были предварительно очищены от окислов и вытекшего электролита. На плюсовом контакте аккумулятора можно разглядеть год выпуска и двух человечков, держащих в руках нечто похожее на звезду.
Да, вы не ошиблись, аккумуляторам уже более 30 лет.
Элементы Д-0,55С являются щелочными никель-кадмиевыми аккумуляторами, и у меня сразу возникло желание возродить их к жизни.
На просторах интернета был найден шаманский способ, который вроде как помог восстановить похожие аккумуляторы. Суть этого способа заключается в следующем: аккумуляторные элементы Д-0,55С кладутся на два дня в холодильник, затем варятся в воде из под крана 30 минут, сушатся и заряжаются сначала переменным, а затем постоянным током (ВНИМАНИЕ! Не пытайтесь повторять это дома).
Особой надежды на успех у меня не было, но я решил последовать совету шамана, и повторил указанную процедуру в домашних условиях. Правда, переменным током заряжать не стал. В итоге аккумуляторы стали гораздо чище, но после 12 часов зарядки (родным блоком питания, внутри калькулятора) работать так и не захотели. Не особо расстроившись, я продолжил чистку аккумуляторов от окислов с помощью ластика и чистящего средства для LCD мониторов. Вернув аккумуляторные элементы на свое законное место, я еще два дня игрался с калькулятором, питая его от сети, пока случайно не обнаружил, что…
Аккумуляторы стали набирать заряд. Поразительно!
Емкость аккумуляторов, естественно, снизилась, и, вместо положенных 3-х часов работы калькулятора от автономного источника питания, он работает всего минут сорок. Но все же…
Печатная плата
Печатная плата, на которой располагаются все электронные компоненты микрокалькулятора, фиксируется в корпусе с помощью четырех пластиковых штырьков. Для того, чтобы извлечь плату из корпуса, достаточно просто потянуть ее вверх.
Практически сразу бросается в глаза микросхема К145ИП7П и индикатор ИВ-21.
Конденсаторы, постоянные и переменные резисторы, несколько пар диодов и другие дискретные электронные компоненты занимают лишь малую часть общей площади печатной платы.
Корпусные элементы
Вынув печатную плату, можно увидеть два переключателя, зеленое стеклышко и разъем для подключения питания. Клавиатура неразборная, поэтому почистить контакты в случае их загрязнения и дребезга довольно сложно.
Теперь можно собрать микрокалькулятор, и положить на полочку в качестве действующего экспоната.
Как обычно, слишком мудрит, и я подумал, что будет неплохо, если вкратце опишу принцип его работы.
Существует огромное количество всевозможных моделей калькуляторов. Есть простые, есть сложные. С питанием от солнечных батарей или от сети. Есть обычные, программируемые, бухгалтерские, специализированные модели. Порой, и не найдешь той грани, которая отделяет калькулятор от компьютера.
Я буду описывать работу самой простой модели калькулятора.
Это калькулятор CASIO HS-8LU. Они примерно все работают одинаково. По большому счету, в простых моделях ничего не меняется уже лет тридцать.
Калькулятор состоит из корпуса, клавиатуры с резиновыми кнопками и платы.
В данной модели плата сделана в виде пленки с нанесенными на нее проводниками. Питание - от солнечной батареи. Над солнечной батареей расположен жидкокристаллический индикатор.
На задней крышке корпуса расположены токопроводящие контакты. При нажатии на кнопку она прижимает пленку к задней крышке и происходит электрический контакт. Часто токопроводящий контакт наносят на обратную сторону кнопки. В том случае сама кнопка прижимается к плате для создания контакта.
С обратной стороны под солнечной батареей расположен чип микропроцессора. Он управляет работой калькулятора.
Как работает индикатор на жидких кристаллах.
Микропроцессор калькулятора принципом работы очень мало отличается от обычного персонального компьютера с процессором, памятью, клавиатурой и видеокартой.
Если быстро посмотреть на фото кристаллов, то можно примерно поделить на три области: область постоянного запоминающего устройства (ПЗУ) с программной ("прошивкой"), область оперативного запоминающего устройства (ОЗУ), где хранятся регистры памяти калькулятора, и остальные цепи процессора, которые включают арифметическо-логическое устройство (АЛУ), драйвер индикатора, драйвер клавиатуры, преобразователи напряжения и другие вспомогательные цепи.
Это структурная схема процессора калькулятора МК-62.
В верхней части мы видим, что есть блоки:
- генератор опорной частоты (ГОЧ), который задает частоту, с которой регенерируется изображение на индикаторе;
- схема удвоения напряжения, умножающая напряжение солнечное батареи на два, чтобы хватило для индикатора;
- генератор, формирователь импульсов общих электродов и регистр-формирователь сегментного кода постоянно выводят заданные для вывода сегменты на индикатор. Там есть специальный регистр памяти, куда микропроцессор записывает информацию, какие надо отображать сегменты, а какие не надо. После этого процессор не отвлекается на отображение, и эти блоки выводят все сами;
- ОЗУ с регистрами данных и ПЗУ с прошивкой;
- и узел с процессором, состоящим из АЛУ с обвязкой. Счетчик адреса АЛУ выбирает очередное слово программы из ПЗУ. Разрядность этого слова может быть разной в разных калькуляторах. Отдельные биты в слове определяют работу АЛУ: например, сложить два 4-х битных числа из регистров, или считать из ОЗУ цифру, или сравнить два числа, или сдвинуть на один разряд и т. д.
Как работает микропроцессор.
Сначала срабатывает сброс по питанию. При подаче электричества специальный узел заставляет программу работать с начального адреса. Команда за командой извлекается из ПЗУ и исполняется. Вначале происходит обнуление регистров, формирование числа "0.", сброс всяких признаков переполнения, операций и прочее. После сброса программа ожидает события от клавиатуры (нажатие кнопки).
Когда нажата кнопка, то процессор через некоторое время еще раз опрашивает клавиатуру, чтобы подавить дребезг кнопок (когда из-за плохого контакта может произойти одновременно несколько нажатий).
А дальше, в зависимости от предыдущих состояний, он по программе определяет, что с этим нажатием делать. Например, если идет ввод числа и введена цифра, то продолжить ввод. Если нажата кнопка операции, то выполнить операцию.
Сам алгоритм и логика выполнения операций целиком лежит на ПЗУ и программистах, которые писали прошивки.
Что интересно, все простые операции выполняются так, как их учат в школе.
- сложение и вычитание. В столбик. Выравниваются порядки двух введенных чисел и происходит сложение или вычитание.
- умножение и деление. Так же в столбик. Разряд за разрядом. Сначала последовательным сложением умножают на младшую цифру множителя, затем вторую и так далее до старшей. Деление - последовательным вычитанием.
После выполнения операции отдельная подпрограмма нормализует результат: отбрасывает незначащие нули и сдвигает его вправо.
Если в калькуляторе есть тригонометрические функции, то они также выполняются, как их запрограммировал программист. Есть разные способы вычисления элементарных функций: разложение в ряд Тейлора или по методу "Cordic".
Вот примерно так работает калькулятор.
Я вам дам ссылку на несколько сайтов. В одном вы можете еще прочитать про то, как они работают: http://datamath.org/Story/Intel.htm#The .
А еще две ссылки - очень познавательный интерактивный сайт, где обратным реверсом считали прошивку и сделали симулятор. Там можно "прогнать" работу процессора реального калькулятора.
http://files.righto.com/calculator/TI_calculator_simulator.html и
http://files.righto.com/calculator/sinclair_scientific_simulator.html .
А также заходите в мой музей, где я собираю советскую цифровую электронику:
Внешний вид картонного четырёхбитного калькулятора из картона. Хорошо видны полусумматор вверху и три сумматора в средней и нижней части калькулятора
Давным-давно, до изобретения электроники, люди изготавливали механические компьютеры из подручных материалов. Самым известным и сложным примером такой машины является антикитерский механизм - сложнейшее устройство из не менее чем 30 шестерёнок использовалось для расчёта движения небесных тел и позволяло узнать дату 42 астрономических событий.
В наше время механические компьютеры (калькуляторы) - скорее предмет развлечения гиков и повод устроить забавное шоу. Например, как компьютер из 10 000 костяшек домино , который складывает произвольные четырёхзначные бинарные числа и выдаёт пятизначную двухбитную сумму (математическая теория этого калькулятора и архитектура). Такие перфомансы позволяют детям лучше понять, как работают битовые логические операции в программировании, как устроены логические вентили. Да и вообще сделать маленький компьютер своими руками из подручных материалов очень интересно, тем более если вы делаете это вместе с ребёнком.
Логическая операция AND в компьютере из 10 000 костяшек домино
Для изготовления механического калькулятора отлично подходит конструктор Lego. На YouTube можно найти немало примеров таких калькуляторов .
Калькулятор из компьютера Lego
Вдохновлённый примером компьютера из домино и механических калькуляторов из конструктора Lego, программист C++ под ником lapinozz вместе со своими младшими сестричками решил соорудить в домашних условиях нечто подобное для школьного научного проекта одной из сестёр. Он задумал и реализовал полностью функциональный четырёхбитный калькулятор LOGIC (Logic cardbOard Gates Inpredictable Calculator) . Для изготовления этой вычислительной машины не требуется ничего кроме картона и клея, а работает она не на электричестве, а на шариках и земной гравитации. Калькулятор умеет складывать числа от 0 до 15 с максимальной суммой 30.
В отличие от костяшек доминов и кубиков Lego, в производстве этого калькулятора не использовались никакие фабричные компоненты. Все элементы калькулятора склеены из картона с нуля, что хорошо понятно по фотографиям устройства. В этом смысле данное устройство можно считать уникальным.
Цель проекта
Наглядное представление, как складывать бинарные числа. Обучение школьника навыкам перевода из десятичной в двоичную систему счисления и обратно. Изучение битовых логических операций и основных логических схем.Внешний вид калькулятора
Как можно рассмотреть на фотографии калькулятора, в верхней части располагается зона для ввода данных. После прохождения всех логических операций шарики показывают результат операции внизу.Ввод данных осуществляется шариками. Шарик есть - 1, шарика нет - 0. Бит справа - это наименьший бит числа. Перед началом работы некоторые части калькулятора следует привести в исходное положение. После указания исходных значений отодвигается полоска картона, которая удерживает шарики в исходном положении - и начинается процесс сложения.
Например, так выглядит исходное положение шариков для операции 7+5 (0111 + 0101).
Устройство калькулятора
Логические операции картонного калькулятора осуществляется схожим образом, как и в вышеупомянутом компьютере из домино .Схематически логические вентили для всех логических операций показаны на схеме.
То есть логический вентиль «И» (AND) означает, что при поступлении 0 шариков на входе получается 0 на выходе. При поступлении 1 шарика на входе получается 0 на выходе. При поступлении 2 шариков на входе получается 1 на выходе.
1 на входе, 0 на выходе
2 на входе, 1 на выходе
Логический вентиль XOR сделать немного сложнее. В этом случае если поступает один шарик, он должен пройти. А если поступает два шарика, то они должны аннулировать друг друга, то есть на выходе будет 0. Автор показывает, как это делать, через вертикально висящий кусочек картона с узким горлышком. Если два шарика приходят одновременно, то они блокируют друг друга - и таким образом эффективно реализуют логическую операцию XOR.
Логический вентиль XOR
Чтобы оптимизировать систему и не городить массу логических вентилей AND и XOR, автор реализовал полусумматор - комбинационную логическую схему, имеющую два входа и два выхода. Полусумматор позволяет вычислять сумму A + B, при этом результатом будут два бита S и C, где S - это бит суммы по модулю 2, а C - бит переноса. В нашей картонной конструкции это означает, что если на входе у нас 1 шарик, то он попадает на выход C, а если на входе 2 шарика, то 1 шарик попадает на выход S, а второй никуда не попадает.
Программист придумал довольно простую и эффективную схему для полусумматора. В ней 1 шарик на входе спокойно продолжает свой путь, переворачивая барьер, и проходя в отверстие C. Но если поступают два шарика, то второй шарик уже не может пройти через барьер, перевёрнутый первым шариком - и проваливается в отверстие, прибивая новый путь S. Это и есть полусумматор.
Один шарик на входе полусумматора
Два шарика на входе полусумматора
Наконец, настоящим шедевром является сумматор. Обычно его делают из двух полусумматоров и логического вентиля «ИЛИ», но автор реализовал другую конструкцию, которая фактически является небольшой модификацией полусумматора.
Один шарик на входе - один шарик по пути 1
Два шарика на входе - один шарик по пути 2
Три шарика на входе - один шарик по пути 1, а другой по пути 2
Весь калькулятор целиком состоит из одного полусумматора и трёх сумматоров.
Калькулятор выдаёт корректный результат вычислений в случае, если шарики падают с правильной скоростью, не слишком быстро и не слишком медленно, и не отскакивают друг от друга. Сама логика безупречна, но на практике калькулятор иногда глючит.