Програмований калькулятор. Червоний
Це — індикатор першого совітського програмованого калькулятора Электроника Б3-21 ранньої серії. Розробка 1975, випуск 1977—82 роки (також у дещо іншій модифікації).
А на цій картинці — перший кишеньковий програмований калькулятор Hewlett-Packard, HP-65. Розробка 1973, випуск 1974—77 роки.
Совпадєніє?
Ці модулі індикатора з червоними світлодіодами, їх там три штуки по п’ять цифр у кожному, — АЛС311А по-совєтському. Він же — HP 5082-7405 по-американському.
Але найцікавіше ось що. Американський калькулятор рахує 10 цифр мантиси, плюс знак мінус, плюс кома, що розділяє цілу і дробову частину (До речі, дуже характерна, чисто г’юлетт-паккардівська деталь — ця кома, що стоїть посередині окремого знакомісця, замість традиційного розташування між сусідніми цифрами. Так вигадали навмисно для полегшення читання настільки довгих чисел), плюс дві цифри порядка числа із своїм знаком — то буде 15. Підрахуйте: там 15 знаків, так і є. Совітський же калькулятор показував сім-вісім цифр мантиси. Він використовує лише 12 знакомісць на індикаторі. Перший, останній і той, що розділяє мантису і порядок (п’ятий справа) знаки не засвічувалися ніколи. Пізніше цей індикатор замінили на вакуумно-люмінісцентний зелений з 12 таки цифрами.
Це дивовижно, як в СССРі, маючи потужну централізовану адміністрацію, можливість залучати до роботи величезну кількість людей на виконання дуже конкретного особливого завдання, не могли скерувати роботу так, аби вона трималася купи. Чи не можна було використати АЛС311Б (стирений з HP 5082-7404)? Той має 4 цифри. 3 × 4 = 12 — те, що треба. Але розробник індикатора тирив те, що бачив у американця. У нього перед очима був саме американськанський калькулятор з 15 циферками, отож літером А реалізувалась саме ця модель, до літера Б з меншою розрядністю руки не дійшли. Чи знав він, яким насправді буде калькулятор, де використають той індикатор? Навряд чи!
Розробник же процесора думав про інше. Я б не погодилась з категоричними твердженнями, що совєтський процесор зовсім не схожий на американський. Загальна ідея, архітектура і технологія дуже подібні. Джерелом натхнення явно був іноземний взірець. Що різниться сильно, як не дивно, — зовсім не те, що потребує спеціальної техніки, лабораторій, інструментів, хімікатів, а те що пишеться руками на папері — математичне, програмне забезпечення.
Як комп’ютер обчислює, наприклад, синус? Є загальний розв’язок. Наприклад, ряд Тейлора —
sin x = x - x3/3! + x5/5! - x7/7! + ...
Як бачите, це обчислення потребує виконання великої кількості множень для отримання степенів і факторіалів, і ділень. В совєтських калькуляторах використовувалась схожа формула, але трохи інакша — ланцюговий дріб. Кожне множення чи ділення — це важка операція. Множення реалізується через стільки додавань, скільки одиничок є в записі одного з множників.
Ось цим американці і скористалися! Вони навмисно підібрали, наприклад, кути, для яких тангенс записується числом з однією одиничкою (0,1, 0,01 тощо) і записали в пам’ять калькулятора цю табличку. Для інших кутів аргумент розкладався на доданки, що дорівнювали числам з чарівної таблички, фунція від суми-різниці кутів обчислювалась за відомими тригонометричними перетвореннями, як певна сума-різниця добутків функцій від тих кутів, однак множники у цих добутках були ось такі - з однією одиничкою. Тобто замість важкого множення робився простий зсув. Так само рахувалися і логарифми. Число розкладалося на множники, які пишуться лише з парою одиничок (2, 1,1, 1,01 і т. д.), значення логарифмів для цих чисел є прошите в програмі, логариф добутку дорівнює сумі логарифмів. Максимально полегшене множення: лише пара доданків із зсувом. Це зовсім не те, що десятки додавань при множенні довільних десятирозрядних десяткових чисел.
Так що совєтський калькулятор рахував повільно. Навіть дуже повільно. Тож совєтські розробники не стали гнатися за шаленою кількістю цифр, і подумали: а чи воно того варте? Чи треба якось намагатися його прискорити, чи терпіти нижчу швидкодію, якщо практично нема користі рахувати аж так багато цифр? Чому б не обійтися розрядністю у 8 цифр? Кому вони треба — аж 10?!
Але зайві цифри на індикаторі. На це ж бо боляче дивитися. Вони є. Там напівпровідникові світловипромінюючі діоди, все розпаяно, приклеєно, лінзочки... під’єднай проводочки, подай напругу, і воно засвітиться! Але проводочки не під’єднані, напруга туди ніколи не подається, і ці цифрочки виставлені у вічно коматозному стані.
Чи було це навмисною показухою? Можна показати товаришам з ЦК: ось, зробили, догнали і перегнали, наш точно такий, як і американський, навіть трохи більший!
Поки не спробуєш ними покористуватися — відмінності не помітиш.
Американці розповідають анекдот, буцімто під час програми Аполло-Союз до них приїздили совєтські спеціялісти. І от вони щось там обговорювали з американцями і дійшли до потреби розрахувати якийсь орбітальний маневр. Совєтські інженери повитягали з кишень олівці й блокнотики і стали множити цифри в стовпчик. Американці й питають: «А що, ви все так вручну рахуєте? Хіба не можете на комп’ютері?» — «Та запросто, — відповідають совєтські. — Тільки ж то треба зв’язатися з обчислювальним центром, оформити замовлення, отримати машинний час, запрограмувати задачу... Довго! Заради такої дрібниці комп’ютер ганять? Та ми в умі таке порахувати вміємо». — «Ну то візьміть хоч калькулятор!» — пропонуює американець і витягає з кишені оте, що тут на картинці. Коли совєтська делегація його побачила, то половина тут же попадали непритомними, а друга половина рвонула в магазин і скупила там на всі доляри, які їм були виділені на відрядження, калькуляторів...
Історичні джерела свідчать, що HP-65 справді використовувався астронавтами в програмі Аполло-Союз в липні 1975. Він був укомплектований відповідним пакетом програм на магнітних картках. Бачите, на картинці видно таку картку. Після зчитування програми картка вставляється в кишеньку над кнопочками (A — E), і на ній написано, яка кнопочка на яку дію запрограмована. Нічого подібного в совєтських калькуляторах — у всякому разі в кишенькових — не було ніколи. Програму треба було набирати пальчиками, і то щоразу після увімкнення. Лише в 1985 було створено МК-52 з можливістю підключення змінних картриджів з програмами. Він теж побував у космосі на Союзі ТМ-7 у листопаді 1988. Які програми були на космічному калькуляторі — велика таємниця, а для широкого вжитку таких картриджів було випущено щось аж пару типів. І вони містили грубі математичні помилки. Наприклад, було запрограмовано, що xz = ez ln x замість xz = ez ln x.
В американців, звісно, теж траплялися дурні помилки. Один з перших сторонніх тестувальників, якому дали спробувати HP-35, не довго думаючи, натиснув: «90°, тангенс!» Калькулятор завис навіки, а розробники ляскали себе по лобах: нікому перед тим і на думку не спало, що треба було передбачити, як діяти з числами, що не входять в область визначення функції.
Десять років по тому...
Делегатам XVII з’їзду КПСС подарували чудо техніки (майже як японський взірець) — «перший отєчєственний мікрокомп’ютер індивідуального користування з автономним живленням і енергонезалежною пам’яттю» (МК-87, у вільний продаж не надходив). Штука вміла запам’ятовувати телефонні номери і рахувати чотирма діями арифметики аж до 9,999999999·104094. Загадково: з’їзд був у 1986, а чудо випустили в 1987. Що, навздогін?
Несподівано: японський аналог (Casio PF-3000, 1983 рік) вмів рахувати (за введеною формулою!) і сортувати таблиці. Совєтський ні. Таким чином його корисність зводилась до нуля — паперовий блокнотик ця штука не заміняла, а доповнювала: бо як інакше переписати числа з таблички в калькулятор і з калькулятора в табличку? Зате значок «ранг», що символізував цей самий неіснуючий режим сортування таблиці, на рідкокристалічному індикаторі був присутній, як у японського взірця. З тією відмінністю, що він ніколи не засвічувався!
Ці модулі індикатора з червоними світлодіодами, їх там три штуки по п’ять цифр у кожному, — АЛС311А по-совєтському. Він же — HP 5082-7405 по-американському.
Але найцікавіше ось що. Американський калькулятор рахує 10 цифр мантиси, плюс знак мінус, плюс кома, що розділяє цілу і дробову частину (До речі, дуже характерна, чисто г’юлетт-паккардівська деталь — ця кома, що стоїть посередині окремого знакомісця, замість традиційного розташування між сусідніми цифрами. Так вигадали навмисно для полегшення читання настільки довгих чисел), плюс дві цифри порядка числа із своїм знаком — то буде 15. Підрахуйте: там 15 знаків, так і є. Совітський же калькулятор показував сім-вісім цифр мантиси. Він використовує лише 12 знакомісць на індикаторі. Перший, останній і той, що розділяє мантису і порядок (п’ятий справа) знаки не засвічувалися ніколи. Пізніше цей індикатор замінили на вакуумно-люмінісцентний зелений з 12 таки цифрами.
Це дивовижно, як в СССРі, маючи потужну централізовану адміністрацію, можливість залучати до роботи величезну кількість людей на виконання дуже конкретного особливого завдання, не могли скерувати роботу так, аби вона трималася купи. Чи не можна було використати АЛС311Б (стирений з HP 5082-7404)? Той має 4 цифри. 3 × 4 = 12 — те, що треба. Але розробник індикатора тирив те, що бачив у американця. У нього перед очима був саме американськанський калькулятор з 15 циферками, отож літером А реалізувалась саме ця модель, до літера Б з меншою розрядністю руки не дійшли. Чи знав він, яким насправді буде калькулятор, де використають той індикатор? Навряд чи!
Розробник же процесора думав про інше. Я б не погодилась з категоричними твердженнями, що совєтський процесор зовсім не схожий на американський. Загальна ідея, архітектура і технологія дуже подібні. Джерелом натхнення явно був іноземний взірець. Що різниться сильно, як не дивно, — зовсім не те, що потребує спеціальної техніки, лабораторій, інструментів, хімікатів, а те що пишеться руками на папері — математичне, програмне забезпечення.
Як комп’ютер обчислює, наприклад, синус? Є загальний розв’язок. Наприклад, ряд Тейлора —
sin x = x - x3/3! + x5/5! - x7/7! + ...
Як бачите, це обчислення потребує виконання великої кількості множень для отримання степенів і факторіалів, і ділень. В совєтських калькуляторах використовувалась схожа формула, але трохи інакша — ланцюговий дріб. Кожне множення чи ділення — це важка операція. Множення реалізується через стільки додавань, скільки одиничок є в записі одного з множників.
Ось цим американці і скористалися! Вони навмисно підібрали, наприклад, кути, для яких тангенс записується числом з однією одиничкою (0,1, 0,01 тощо) і записали в пам’ять калькулятора цю табличку. Для інших кутів аргумент розкладався на доданки, що дорівнювали числам з чарівної таблички, фунція від суми-різниці кутів обчислювалась за відомими тригонометричними перетвореннями, як певна сума-різниця добутків функцій від тих кутів, однак множники у цих добутках були ось такі - з однією одиничкою. Тобто замість важкого множення робився простий зсув. Так само рахувалися і логарифми. Число розкладалося на множники, які пишуться лише з парою одиничок (2, 1,1, 1,01 і т. д.), значення логарифмів для цих чисел є прошите в програмі, логариф добутку дорівнює сумі логарифмів. Максимально полегшене множення: лише пара доданків із зсувом. Це зовсім не те, що десятки додавань при множенні довільних десятирозрядних десяткових чисел.
Так що совєтський калькулятор рахував повільно. Навіть дуже повільно. Тож совєтські розробники не стали гнатися за шаленою кількістю цифр, і подумали: а чи воно того варте? Чи треба якось намагатися його прискорити, чи терпіти нижчу швидкодію, якщо практично нема користі рахувати аж так багато цифр? Чому б не обійтися розрядністю у 8 цифр? Кому вони треба — аж 10?!
Але зайві цифри на індикаторі. На це ж бо боляче дивитися. Вони є. Там напівпровідникові світловипромінюючі діоди, все розпаяно, приклеєно, лінзочки... під’єднай проводочки, подай напругу, і воно засвітиться! Але проводочки не під’єднані, напруга туди ніколи не подається, і ці цифрочки виставлені у вічно коматозному стані.
Чи було це навмисною показухою? Можна показати товаришам з ЦК: ось, зробили, догнали і перегнали, наш точно такий, як і американський, навіть трохи більший!
Поки не спробуєш ними покористуватися — відмінності не помітиш.
Американці розповідають анекдот, буцімто під час програми Аполло-Союз до них приїздили совєтські спеціялісти. І от вони щось там обговорювали з американцями і дійшли до потреби розрахувати якийсь орбітальний маневр. Совєтські інженери повитягали з кишень олівці й блокнотики і стали множити цифри в стовпчик. Американці й питають: «А що, ви все так вручну рахуєте? Хіба не можете на комп’ютері?» — «Та запросто, — відповідають совєтські. — Тільки ж то треба зв’язатися з обчислювальним центром, оформити замовлення, отримати машинний час, запрограмувати задачу... Довго! Заради такої дрібниці комп’ютер ганять? Та ми в умі таке порахувати вміємо». — «Ну то візьміть хоч калькулятор!» — пропонуює американець і витягає з кишені оте, що тут на картинці. Коли совєтська делегація його побачила, то половина тут же попадали непритомними, а друга половина рвонула в магазин і скупила там на всі доляри, які їм були виділені на відрядження, калькуляторів...
Історичні джерела свідчать, що HP-65 справді використовувався астронавтами в програмі Аполло-Союз в липні 1975. Він був укомплектований відповідним пакетом програм на магнітних картках. Бачите, на картинці видно таку картку. Після зчитування програми картка вставляється в кишеньку над кнопочками (A — E), і на ній написано, яка кнопочка на яку дію запрограмована. Нічого подібного в совєтських калькуляторах — у всякому разі в кишенькових — не було ніколи. Програму треба було набирати пальчиками, і то щоразу після увімкнення. Лише в 1985 було створено МК-52 з можливістю підключення змінних картриджів з програмами. Він теж побував у космосі на Союзі ТМ-7 у листопаді 1988. Які програми були на космічному калькуляторі — велика таємниця, а для широкого вжитку таких картриджів було випущено щось аж пару типів. І вони містили грубі математичні помилки. Наприклад, було запрограмовано, що xz = ez ln x замість xz = ez ln x.
В американців, звісно, теж траплялися дурні помилки. Один з перших сторонніх тестувальників, якому дали спробувати HP-35, не довго думаючи, натиснув: «90°, тангенс!» Калькулятор завис навіки, а розробники ляскали себе по лобах: нікому перед тим і на думку не спало, що треба було передбачити, як діяти з числами, що не входять в область визначення функції.
Десять років по тому...
Делегатам XVII з’їзду КПСС подарували чудо техніки (майже як японський взірець) — «перший отєчєственний мікрокомп’ютер індивідуального користування з автономним живленням і енергонезалежною пам’яттю» (МК-87, у вільний продаж не надходив). Штука вміла запам’ятовувати телефонні номери і рахувати чотирма діями арифметики аж до 9,999999999·104094. Загадково: з’їзд був у 1986, а чудо випустили в 1987. Що, навздогін?
Несподівано: японський аналог (Casio PF-3000, 1983 рік) вмів рахувати (за введеною формулою!) і сортувати таблиці. Совєтський ні. Таким чином його корисність зводилась до нуля — паперовий блокнотик ця штука не заміняла, а доповнювала: бо як інакше переписати числа з таблички в калькулятор і з калькулятора в табличку? Зате значок «ранг», що символізував цей самий неіснуючий режим сортування таблиці, на рідкокристалічному індикаторі був присутній, як у японського взірця. З тією відмінністю, що він ніколи не засвічувався!
Коментарі
Дописати коментар