Olivetti Programma 101 , также известный как Perottina или P101 , является одним из первых коммерческих настольных программируемых калькуляторов «все в одном» , [1] [2], хотя и не первым. [3] Произведенный итальянским производителем Olivetti , базирующимся в Ивреа , Пьемонт , и изобретенный итальянским инженером Пьером Джорджио Перотто , P101 использовал многие функции больших компьютеров того периода. Он был представлен на Всемирной выставке в Нью-Йорке в 1964 году ; массовое производство началось в 1965 году. Футуристический дизайн для своего времени, Programma 101 стоил 3200 долларов [4] (что эквивалентно 30 900 долларам в 2023 году). Было продано около 44 000 единиц, в основном в США.
Его обычно называют печатающим программируемым калькулятором или настольным калькулятором , поскольку его арифметические инструкции соответствуют операциям калькулятора, [5] [6], в то время как его набор инструкций (который допускает условный переход) и структура квалифицируют его как компьютер с хранимой программой . [7]
Programma 101 была разработана инженером Olivetti Пьером Джорджио Перотто в Ивреа . Стиль, приписываемый Марко Занузо, но на самом деле Марио Беллини , был эргономичным и инновационным для того времени. Часть дизайна была основана на компьютере Olivetti 1961 года, совместно разработанном Федерико Фаггином , который послужил моделью для программируемого калькулятора. [8]
Вычислительное оборудование состояло из стандартных (для своего времени) дискретных устройств (транзисторов, диодов, резисторов и конденсаторов, установленных на печатных платах из фенольной смолы ). Конструкция предшествовала микропроцессорам , и интегральные схемы не использовались, поскольку они находились в зачаточном состоянии.
В общей сложности 240 байт информации электрически сохранялись в памяти с магнитострикционной линией задержки , время цикла которой составляло 2,2 миллисекунды .
Целью инженерной группы было создание очень простого продукта, который мог бы использовать каждый. Чтобы позаботиться об эргономике и эстетике продукта, который ранее не существовал, Роберто Оливетти позвонил Марио Беллини , молодому итальянскому архитектору:
Я помню, как однажды мне позвонил Роберто Оливетти: «Я хочу видеть вас для сложного проекта, который я создаю». Он включал в себя проектирование не коробки, содержащей механизмы и штампованные схемы, а личного объекта, чего-то, что должно было жить с человеком, человеком со своим стулом, сидящим за столом или рабочим столом, и что должно было начать отношения понимания, взаимодействия, что-то совершенно новое, потому что до этого компьютеры были такими же большими, как шкаф. С шкафом у нас нет никаких отношений: на самом деле, самые красивые шкафы исчезают в стене. Но это был не шкаф и не коробка, это была машина, предназначенная для того, чтобы стать частью вашего личного окружения.
— Марио Беллини, 2011, «Программа 101 — память о будущем», цит.
Одним из прямых результатов сосредоточения команды Programma 101 на целях, ориентированных на человека, стало изобретение съемной магнитной карты для хранения запрограммированных вычислений, революционного предмета для того времени, который позволял любому человеку просто вставить ее и выполнить любую программу за несколько секунд. [9]
Дизайн Programma 101 принес Марио Беллини премию в области промышленного дизайна Compasso d'Oro .
Programma 101 может вычислять четыре основные арифметические функции (сложение, вычитание, умножение и деление), а также квадратный корень , абсолютное значение и дробную часть. Он оснащен регистрами памяти с такими функциями, как очистка, передача и обмен, а также печать и остановка для ввода.
Программирование — это своего рода язык ассемблера , более простой, чем сборка современных компьютеров, поскольку имеет меньше опций и позволяет использовать напрямую арифметические функции. Он управляет обменом между регистрами памяти и регистрами вычислений, а также операциями в регистрах. Существует 16 инструкций перехода и 16 инструкций условного перехода. Тридцать два оператора меток были доступны в качестве пунктов назначения для инструкций перехода и/или четырех клавиш запуска (V, W, Y, Z). [7]
Хотя это не указано в Общем руководстве и указано только в некоторых Руководствах по программированию, можно выполнить «модифицированный переход», который позволяет вернуться к другой части программы из той же подпрограммы.
Имеется 10 регистров памяти: три для операций (M, A, R); два для хранения (B, C); три для хранения и/или программы (назначаемые по мере необходимости: D, E, F); и два только для программы (p1, p2). Каждый полный регистр содержит 22-значное число со знаком и десятичной точкой или 24 инструкции, каждая из которых состоит из буквы и символа. [11] Пять регистров (B, C, D, E, F) можно разделить на полурегистры, каждый из которых содержит 11-значное число со знаком и десятичной точкой. Он использует своего рода модифицированную гарвардскую архитектуру , в которой регистры данных и регистр инструкций четко разделены, но при определенных условиях позволяет записывать некоторые данные в регистры инструкций. Это было общей чертой настольных компьютеров/программируемых калькуляторов 1960-х годов, и только HP предоставила настоящую архитектуру фон Неймана , которая допускала самомодифицирующийся код , [12] аналогично современным универсальным мэйнфреймам и мини-компьютерам.
Сохраненные программы могут быть записаны на пластиковые карты размером примерно 5 см × 20 см, которые имеют магнитное покрытие с одной стороны и область для записи с другой. Каждая карта может быть записана на двух полосах, что позволяет ей хранить две программы. На карте хранится пять регистров; два регистра предназначены для программного кода, другие три регистра (D, E, F) могут использоваться для кода и/или чисел. Инструкции занимают один байт, а магнитная карта может содержать 120 инструкций. Карты используют простой машинный язык. [13] [14] [15] [16] [17]
Инструкции или цифры занимают восемь бит, кодированных в двоично-десятичном коде . В инструкциях левый полубайт хранит задействованный регистр, а правый полубайт — инструкцию, тогда как в цифрах первый полубайт хранит информацию о числе, такую как знак или десятичное место, а последний полубайт хранит фактическую цифру. [18]
Он печатает программы и результаты на рулоне бумажной ленты, похожей на бумагу для калькулятора или кассового аппарата.
Programma 101 была представлена на Всемирной выставке в Нью-Йорке 1964 года , вызвав огромный интерес. Всего было продано 40 000 единиц; 90% из них в Соединенных Штатах , где цена продажи составляла 3 200 долларов [4] (увеличившись примерно до 3 500 долларов в 1968 году. [7] )
Около 10 [19] Programma 101 были проданы НАСА и использовались для планирования высадки Аполлона-11 на Луну.
К Аполлону-11 у нас был настольный компьютер, вроде как, вроде как, называемый Olivetti Programma 101. Это был своего рода суперкалькулятор. Он был, вероятно, квадратным, размером в полтора фута, и около восьми дюймов в высоту. Он мог складывать, вычитать, умножать и делить, но он помнил последовательность этих вещей, и он мог записывать эту последовательность на магнитную карту, магнитную полосу длиной около фута и шириной два дюйма. Таким образом, вы могли написать последовательность, программную последовательность, и загрузить ее туда, и если бы вы хотели — антенна с высоким коэффициентом усиления лунного модуля была не очень умной, она не знала, где находится Земля. [...] Нам пришлось бы запустить четыре отдельные программы на этой Programma 101 [...]
— Дэвид У. Уиттл, 2006 [20]
P101 упоминается как часть системы, используемой ВВС США для вычисления координат для наземной бомбардировки целей B-52 Stratofortress во время войны во Вьетнаме . [21]
За прошедшие годы было разработано множество симуляторов для функции Programma 101:
Технически, машина была программируемым калькулятором, а не компьютером.
Похоже, что калькулятор Mathatronics Mathatron появился на рынке
раньше
Programma 101.
{{citation}}
: CS1 maint: числовые имена: список авторов ( ссылка ){{cite web}}
: CS1 maint: неподходящий URL ( ссылка ){{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка )