البرنامج 101

بيير جيورجيو بيروتو، جيوفاني دي ساندري، جاستون جارزييرا، وجيانكارلو توبي، فريق Programma 101 (باستثناء جوليانو جايتي) في مختبر أوليفيتي ( ج. 1962-1964 )

تُعدّ آلة أوليفيتي بروجراما 101 ، المعروفة أيضًا باسم بيروتينا أو P101 ، من أوائل الآلات الحاسبة المكتبية التجارية القابلة للبرمجة "الشاملة" ، [ 1 ] [ 2 ] وإن لم تكن الأولى. [ 3 ] أنتجتها شركة أوليفيتي الإيطالية ، ومقرها إيفريا ، بيدمونت ، واخترعها المهندس الإيطالي بيير جورجيو بيروتو . استخدمت P101 العديد من ميزات الحواسيب الكبيرة في تلك الفترة. أُطلقت في معرض نيويورك العالمي عام 1964 ، وبدأ إنتاجها بكميات كبيرة عام 1965. بتصميمها المستقبلي في ذلك الوقت، بلغ سعر بروجراما 101 حوالي 3200 دولار [ 4 ] ( ما يعادل 32700 دولار في عام 2025 ). بيع منها حوالي 44000 وحدة، معظمها في الولايات المتحدة.

يُطلق عليه عادةً اسم الآلة الحاسبة القابلة للبرمجة للطباعة أو الآلة الحاسبة المكتبية لأن تعليماتها الحسابية تتوافق مع عمليات الآلة الحاسبة، [ 5 ] [ 6 ] بينما مجموعة تعليماتها (التي تسمح بالقفز المشروط) وبنيتها تؤهلها لتكون حاسوبًا ببرنامج مخزن . [ 7 ]

تصميم

تخطيط لوحة المفاتيح

صُممت آلة Programma 101 بواسطة المهندس بيير جورجيو بيروتو من شركة أوليفيتي في إيفريا . وكان تصميمها، المنسوب إلى ماركو زانوسو ولكنه في الواقع من تصميم ماريو بيليني ، مريحًا ومبتكرًا بالنسبة لتلك الفترة. واستند جزء من التصميم إلى حاسوب أوليفيتي الذي طُوّر عام 1961 بالاشتراك مع فيديريكو فاجين، والذي شكّل نموذجًا للآلة الحاسبة القابلة للبرمجة. [ 8 ]

تألفت الأجهزة الحاسوبية من مكونات منفصلة قياسية (بالنسبة لوقتها) (ترانزستورات، ثنائيات، مقاومات، ومكثفات مثبتة على لوحات دوائر مصنوعة من راتنج الفينول ). وقد سبق هذا التصميم ظهور المعالجات الدقيقة ، ولم تُستخدم الدوائر المتكاملة لأنها كانت في بداياتها.

تم تخزين ما مجموعه 240 بايت من المعلومات كهربائيا في ذاكرة خط التأخير المغناطيسي الانضغاطي ، والتي كان لها زمن دورة يبلغ 2.2 مللي ثانية .

بيئة العمل

كان تركيز الفريق الهندسي منصباً على تقديم منتج بسيط للغاية، يمكن لأي شخص استخدامه. وللاهتمام بجوانب التصميم المريح والجمالي لمنتج لم يكن موجوداً من قبل، استعان روبرتو أوليفيتي بالمهندس المعماري الإيطالي الشاب ماريو بيليني .

أتذكر أنني تلقيتُ ذات يوم اتصالاً من روبرتو أوليفيتي: "أريد مقابلتك بخصوص مشروع معقد أعمل عليه". لم يكن المشروع تصميم صندوق يحتوي على آليات ودوائر إلكترونية، بل تصميم جهاز شخصي، شيءٌ يتفاعل مع الإنسان، مع كرسيه وطاولته أو مكتبه، ويؤسس لعلاقة فهم وتفاعل، وهو أمر جديد تماماً، لأن أجهزة الكمبيوتر قبل ذلك كانت بحجم خزانة ملابس. لا تربطنا أي علاقة بخزانة الملابس، بل إن أجمل الخزائن تختفي داخل الجدار. لكن هذا لم يكن مجرد خزانة أو صندوق، بل كان جهازاً مصمماً ليكون جزءاً من محيطك الشخصي.

- ماريو بيليني، 2011، "البرنامج 101 - ذاكرة المستقبل" ، مرجع سابق.

بطاقة مغناطيسية أوليفيتي P101

كان من بين النتائج المباشرة لتركيز فريق برنامج 101 على الأهداف التي تتمحور حول الإنسان اختراع بطاقة مغناطيسية قابلة للإزالة لتخزين العمليات الحسابية المبرمجة، وهو منتج ثوري في ذلك الوقت، يسمح لأي شخص بإدخالها وتشغيل أي برنامج في غضون ثوانٍ قليلة. [ 9 ]

سيمنح تصميم برنامج Programma 101 ماريو بيليني جائزة Compasso d'Oro للتصميم الصناعي.

الخصائص التقنية

  • الحجم: 275  مم (A) × 465  مم (L) × 610  مم (P)
  • الوزن: 35.5  كجم
  • الاستهلاك: 0.35  كيلوواط [ 10 ]
  • جهاز الإخراج: طابعة ذات 30 عمودًا على  ورق 9 سم
  • الدقة: 22 رقمًا و15 خانة عشرية
  • العمليات الحسابية: الجمع، الطرح، الضرب، القسمة، الجذر التربيعي، والقيمة المطلقة
  • إجمالي الذاكرة: 240 بايت في وحدة الحساب والمنطق (تقديري) [AP 10]
  • لوحة المفاتيح: 36 مفتاحًا.
  • الأرشيف: قارئ البطاقات المغناطيسية

عملية

صورة أمامية لجهاز Programma 101 توضح الطابعة ومفاتيح البرمجة

يستطيع برنامج Programma 101 حساب العمليات الحسابية الأربع الأساسية (الجمع والطرح والضرب والقسمة)، بالإضافة إلى الجذر التربيعي والقيمة المطلقة والجزء الكسري. وهو مزود بسجلات ذاكرة تتضمن وظائف مثل المسح والنقل والتبديل، بالإضافة إلى الطباعة والإيقاف المؤقت للإدخال.

البرمجة هي نوع من لغات التجميع ، أبسط من لغة التجميع المستخدمة في الحواسيب الحديثة، إذ تحتوي على خيارات أقل وتسمح باستخدام الدوال الحسابية مباشرةً. وهي تُوجّه عملية التبادل بين سجلات الذاكرة وسجلات الحساب، والعمليات التي تُجرى على هذه السجلات. يوجد 16 تعليمة قفز و16 تعليمة قفز شرطية. كما تتوفر 32 عبارة تسمية كوجهات لتعليمات القفز و/أو مفاتيح البدء الأربعة (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 خانة مع الإشارة والفاصلة العشرية. يستخدم المعالج بنية هارفارد المعدلة، حيث يتم فصل سجلات البيانات وسجلات التعليمات بشكل واضح، ولكنه يسمح بكتابة بعض البيانات في سجلات التعليمات في ظروف معينة. كانت هذه ميزة شائعة في أجهزة الكمبيوتر المكتبية / الآلة الحاسبة القابلة للبرمجة في الستينيات، ولم تقدم سوى شركة HP بنية فون نيومان الحقيقية التي سمحت بتعديل التعليمات البرمجية ذاتيًا ، [ 12 ] على غرار أجهزة الكمبيوتر المركزية وأجهزة الكمبيوتر الصغيرة للأغراض العامة المعاصرة.

يمكن تسجيل البرامج المخزنة على بطاقات بلاستيكية بأبعاد تقريبية 5  سم × 20  سم، مطلية بطبقة مغناطيسية من جهة، ومخصصة للكتابة من الجهة الأخرى. يمكن تسجيل كل بطاقة على شريطين، مما يتيح تخزين برنامجين. تُخزن خمسة سجلات على البطاقة؛ سجلان مخصصان لرمز البرنامج، بينما يمكن استخدام السجلات الثلاثة الأخرى (D، E، F) للرموز و/أو الأرقام. تشغل التعليمات بايتًا واحدًا، ويمكن للبطاقة المغناطيسية استيعاب 120 تعليمة. تستخدم البطاقات لغة آلة بسيطة. [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ]

The instructions or digits occupy eight bits, codified in binary-coded decimal. In instructions the left nibble stores the affected register and the right nibble the instruction, while in digits the first nibble stores information about the number, such as the sign or the decimal place, and the last nibble stores the actual digit.[18]

It prints programs and results onto a roll of paper tape, similar to calculator or cash register paper.

Instruction set

InstructionOpcodeOperation
Sum+A = A + Chosen Register (hereinafter "CR")
Subtraction-A = A - CR
MultiplicationxA = A * CR
Division:A = A : CR
Square rootA = sqrt(CR)
Absolute valueA ↕A = abs(A)
Transfer from MCR = M
Transfer in AA = CR
Exchange with AA = CR CR = A
Decimal part of A in M/ ↕M = A - abs(A)
Clear*CR = 0
PrintPrint the chosen register
Vertical spacing/Print a blank line
StopSStop the computer to let the user introduce data in the M register or to use the machine manually as a calculator
D-R exchangeRSStore the D register temporarily in the R register; this is a special instruction used in multi-card program to save data from the deletion that happens while reading a new card

Sales history

The Programma 101 was launched at the 1964 New York World's Fair, attracting major interest. A total of 40,000 units were sold; 90% of them in the United States where the sale price was $3,200[4] (increasing to about $3,500 in 1968.[7])

About 10[19] Programma 101 were sold to NASA and used to plan the Apollo 11 landing on the Moon.

By Apollo 11 we had a desktop computer, sort of, kind of, called an Olivetti Programma 101. It was a kind of supercalculator. It was probably a foot and a half square, and about maybe eight inches tall. It would add, subtract, multiply, and divide, but it would remember a sequence of these things, and it would record that sequence on a magnetic card, a magnetic strip that was about a foot long and two inches wide. So you could write a sequence, a programming sequence, and load it in there, and then if you would – the Lunar Module high-gain antenna was not very smart, it didn't know where Earth was. [...] We would have to run four separate programs on this Programma 101 [...]

David W. Whittle, 2006[20]

The P101 is mentioned as part of the system used by the US Air Force to compute coordinates for ground-directed bombing of B-52 Stratofortress targets during the Vietnam War.[21]

Simulators

Many simulators for the Programma 101's function have developed over the years:

  • 1976 - Translator to map Programma 101 code to BASIC was written by Steven DeRose at The Prairie School, used to teach programming before students moved on to BASIC[22]
  • 1995 – Programma 101 simulator written by E.H. Dooijes of the University of Amsterdam for the local Computer Museum in Turbo Pascal (only worked in batch mode)[23]
  • 2005 – Simulator written by Eng. Claudio Larini, which had some contact with Gastone Garziera, another of the P101 engineers[24]
  • 2016 – simulator of the Programma 101 developed at the Department of Information Engineering and Electrical Engineering of University of Cassino, supervision of Eng. Giovanni De Sandre[25]
  • The Tecnologicamente Museum in Ivrea has a Java simulator of the Programma 101 written by Giuliano Gaiti, one of Perotto's collaborators.[26]
  • The former Olivetti employee Marco Galeotti created a full integrated development environment (IDE) for the Programma 101, which allows for a simpler programming and some debug functions.[27]

References

  1. "Olivetti Programma 101 Electronic Calculator". The Old Calculator Web Museum. technically, the machine was a programmable calculator, not a computer.
  2. "2008/107/1 Computer, Programma 101, and documents (3), plastic / metal / paper / electronic components, hardware architect Pier Giorgio Perotto, designed by Mario Bellini, made by Olivetti, Italy, 1965–1971". www.powerhousemuseum.com. Retrieved 2016-03-20.
  3. "Olivetti Programma 101 Electronic Calculator". The Old Calculator Web Museum. It appears that the Mathatronics Mathatron calculator preceeded[sic] the Programma 101 to market.
  4. 12"Cyber Heroes: Camillo Olivetti". Hive Mind. Retrieved 2010-11-07.
  5. "Olivetti Programma 101".
  6. "Note in: WANTED – Data Acquisition Corp. DAC-512". The Old Calculator Web Museum. See footnote.
  7. 123Bell, C. Gordon; Newell, Allen (1971). "Chapter 19: The Olivetti Programma 101 desk calculator". Computer Structures: Readings and Examples. McGraw-Hill. p. 235. ISBN 0-07-004357-4. Retrieved 2009-12-17.
  8. "Oral History of Federico Faggin"(PDF). Computer History Museum. 2006. Archived(PDF) from the original on 2017-01-10. Retrieved 2020-05-11.
  9. "Olivetti Programma 101 Electronic Calculator". The Old Calculator Web Museum.
  10. "Olivetti Programma 101 - Laptop-s.com". 9 December 2020. Retrieved 9 October 2021.
  11. Wladimir Zaniewski (2016-09-04), Olivetti Programma 101 – Utilizzo dei registri, archived from the original on 2021-12-12, retrieved 2016-09-04
  12. "HP 9100A/B Programming". www.hpmuseum.org.
  13. 101proj (2010-12-21), Programma 101 – Memory of Future, retrieved 2016-03-20{{citation}}: CS1 maint: numeric names: authors list (link)
  14. Archivio Nazionale Cinema d'Impresa (2013-12-03), Spot – Olivetti – calcolatore – Programma 101, archived from the original on 2021-12-12, retrieved 2016-03-20
  15. "The incredible story of the first PC, from 1965". Pingdom Royal. Archived from the original on 2012-08-30. Retrieved 2016-04-04.
  16. "101 Project". www.101project.eu. Archived from the original on 2016-04-22. Retrieved 2016-04-04.
  17. "Premio Perotto – Press". www.piergiorgioperotto.it (in Italian). Retrieved 2022-11-01.
  18. "Overleg:Olivetti Programma 101 functional description - Hack42". hack42.nl.
  19. "Programma 101 Memory of the Future / Quando Olivetti Inventò il PC". History Channel. June 26, 2011.
  20. ويتل، ديفيد دبليو (16 فبراير 2006). "مركز ناسا الفضائي" (ملف PDF) . مشروع التاريخ الشفوي (مقابلة). أجرت المقابلة ساندرا جونسون. هيوستن، تكساس . مؤرشف من النسخة الأصلية (ملف PDF) في 31 يناير 2017.
  21. شوكروس (1991). "قصف كمبوديا: نقد" . في روتر، أندرو (محرر). ضوء في نهاية النفق: مختارات من حرب فيتنام . نيويورك. ص 215. ISBN  0-312-04529-8.{{cite book}}: CS1 maint: موقع الناشر مفقود ( رابط )
  22. "ورقة بيضاء حول بقاء البيانات" . 2003-03-28. مؤرشفة من الأصل في 2022-11-01.
  23. ^ "محاكي Olivetti Programma 101" . ub.fnwi.uva.nl .
  24. ^ "محاكيات برنامج أوليفيتي 101" . www.claudiolarini.altervista.org .
  25. "مختبر AIDA - مختبر الذكاء الاصطناعي وتحليل البيانات" .
  26. ^ "Simulatore P-101 - المتحف التكنولوجي" . www.museotecnologicamente.it .
  27. "P101Simulator" . مؤرشف من الأصل بتاريخ 2018-01-15.