آي بي إم 1130

كان نظام الحوسبة IBM 1130 ، الذي طُرح عام 1965، [ 3 ] أرخص حاسوب من إنتاج IBM في ذلك الوقت. وهو جهاز ثنائي ذو 16 بت، سُوِّق للأسواق التقنية الحساسة للسعر والتي تتطلب قدرات حاسوبية عالية، مثل التعليم والهندسة، ليخلف بذلك جهاز IBM 1620 العشري في هذا القطاع. تضمنت التركيبات النموذجية قرصًا صلبًا بسعة 1 ميجابايت لتخزين نظام التشغيل والمترجمات وبرامج الكائنات، مع توليد شفرة المصدر للبرامج وصيانتها على بطاقات مثقبة . كانت لغة فورتران هي لغة البرمجة الأكثر شيوعًا ، ولكن توفرت لغات أخرى عديدة، منها APL .

وحدة تحكم IBM 1130

تم استخدام جهاز 1130 أيضًا كواجهة أمامية ذكية لتوصيل وحدة عرض الرسومات IBM 2250 ، أو كمحطة عمل لإدخال الوظائف عن بعد (RJE)، متصلة بجهاز كمبيوتر مركزي System/360 .

جهاز IBM 1130 مع ملحقاته، بما في ذلك قارئ/مثقب شريط الورق، وقارئ/مثقب بطاقات IBM 1442 (خلفي)، وطابعة IBM 1627 Calcomp

.

وصف

بطاقة SLT مزدوجة العرض من جهاز IBM 1130. تحتوي العلب المعدنية المربعة على الدوائر الهجينة.

قُدّر إجمالي إنتاج جهاز 1130 بحوالي 10,000 وحدة. [ 4 ] يحتل جهاز 1130 مكانةً في تاريخ الحوسبة لأنه (وأجهزة أخرى مشابهة له من غير إنتاج IBM) وفّر للكثيرين أول تجربة تفاعلية مباشرة مع الحاسوب. تميّز الجهاز بنسبة أداء إلى سعر جيدة، واشتمل على وحدات تخزين قرصية قابلة للإزالة وغير مكلفة ، بالإضافة إلى برامج موثوقة وسهلة الاستخدام تدعم لغات برمجة عالية المستوى . ساهم سعره المنخفض (حوالي 32,000 دولار أمريكي أو 41,000 دولار أمريكي مع محرك الأقراص) [ 3 ] ومجموعة ميزاته المتوازنة في تطوير برامج تفاعلية مفتوحة المصدر .

يستخدم جهاز IBM 1130 نفس غلاف الإلكترونيات، المسمى تقنية المنطق الصلب (SLT)، الذي تم استخدامه في نظام System/360 . وهو يتمتع ببنية ثنائية 16 بت ، كما هو الحال في أجهزة الكمبيوتر الصغيرة اللاحقة مثل PDP-11 و Data General Nova .

يبلغ حجم مساحة العناوين 15 بت، مما يحد من سعة ذاكرة المعالج 1130 إلى 32,768 كلمة من 16 بت ( 65,536 بايت ). يستخدم المعالج 1130 ذاكرة ذات نواة مغناطيسية ، حيث يتم الوصول إلى عناوينها بناءً على حدود الكلمات، باستخدام أنماط العنونة المباشرة وغير المباشرة والمفهرسة .

نماذج

قامت شركة IBM بتطوير خمسة نماذج من وحدة المعالجة المركزية 1131 ، وهي المكون الرئيسي للمعالجة في جهاز IBM 1130. تشير النماذج من 1 إلى 5 إلى زمن دورة الذاكرة الأساسية، بالإضافة إلى قدرة النموذج على استيعاب وحدات تخزين القرص. ويشير الحرف من A إلى D الملحق برقم النموذج إلى سعة الذاكرة الأساسية المثبتة.

يبلغ وزن وحدة المعالجة المركزية IBM 1131 حوالي 760/1050  رطل (345/477  كجم). [ 5 ]

 زمن دورة الذاكرة
الذاكرة الأساسية3.6 ميكروثانية ، بدون قرص داخلي 3.6  ميكروثانية، بالإضافة إلى الأقراص2.2  ميكروثانية، بالإضافة إلى الأقراص5.9  ميكروثانية (3.6  ميكروثانية: انظر أدناه)، قرص واحد2.2  ميكروثانية، بدون قرص داخلي
4096 كلمةالنموذج 1Aالنموذج 2Aالنموذج 4A
8192 كلمةالنموذج 1بالنموذج 2Bالنموذج 3Bالنموذج 4Bالموديل 5B
16384 كلمةالنموذج 1Cالنموذج 2Cموديل 3Cموديل 5C
32768 كلمةالنموذج 1Dنموذج ثنائي الأبعادنموذج ثلاثي الأبعادموديل 5D

كان الطراز 4 منتجًا أقل سعرًا بزمن  دورة يبلغ 5.9 ميكروثانية. لاحظ بعض مشتري ترقيات الأداء أن التعديل الميداني اللازم لتحقيق التحسين كان بسيطًا للغاية.

تعتمد طابعة IBM 1132 على معالج 1130 بدلاً من المنطق الداخلي لتحديد وقت تشغيل عجلات الطباعة أثناء دورانها. تعمل طابعات الطراز 4 بسرعة أبطأ، لكن المعالج الأبطأ لا يزال غير قادر على مواكبة ذلك. يكشف دليل الأجهزة أنه عندما كان الطراز 4 يعالج مقاطعتي المستوى الأعلى ( مقاطعة عمود قارئ البطاقات من المستوى 0 أو مقاطعة الطابعة من المستوى 1)، كان يعمل  بزمن دورة أسرع يبلغ 3.6 ميكروثانية. كان بعض مستخدمي الطراز 4 يكتبون برنامج تشغيل طابعة وهميًا لا يُلغي مقاطعة الطابعة، للاستفادة من سرعة المعالج الأعلى. مع ذلك، يتم تعطيل المقاطعات ذات المستوى الأدنى خلال هذه الفترة، حتى مقاطعة نهاية البطاقة (المستوى 4) من قارئ البطاقات 1442.

التسلسل الزمني

  • في 11 فبراير 1965، أعلنت شركة IBM عن طرح طابعة 1130 (الطرازات 1A و1B و2A و2B). كما أعلنت عن طابعة IBM 1132، وهي أقل طابعة حاسوب متصلة بالإنترنت تكلفةً أعلنت عنها IBM في ذلك الوقت.
  • الربع الأخير من عام 1965 - بدأت أولى شحنات العملاء من مصنع سان خوسيه .
  • 31 مارس 1966 - شركة IBM تقدم نظام IBM 1500 التعليمي.
  • أبريل 1966 – سفن IBM 1800. [ 6 ] : 497
  • 9 أغسطس 1966 - طرحت شركة IBM محول الاتصالات المتزامن 1130 ، والذي يسمح بتوصيل نظام 1130 الصغير عبر خطوط الهاتف المؤجرة العادية، والعمل كمحطة اتصالات لأي طراز من IBM System/360.
  • 17 أبريل 1967 - تم الإعلان عن توسيع رباعي الاتجاه للطراز 1130 (الطرازات 2C و2D و3B و3C و3D)، والذي يشمل:
    • خمسة أضعاف سعة التخزين على القرص وأربعة أضعاف الذاكرة الأساسية؛
    • سرعة معالجة إضافية أسرع بنسبة 40% تقريبًا من السرعة المتاحة سابقًا؛
    • معدات طرفية أكثر وأسرع، بما في ذلك قارئ العلامات الضوئية؛
    • حزمة برامج تجارية محسّنة.
  • يناير 1968 - بدء الشحنات الأولى من طرازات 1130 2C و2D و3B و3C و3D.
  • يوليو 1968 - بدأ مصنع بوكا راتون بشحن الطراز 1130.
  • 22 يوليو 1971 - تم طرح الطرازين 4A و 4B بمستويات جديدة من الاقتصاد.
  • سبتمبر 1971 - بدء شحنات العملاء الأولى من طراز 1130 رقم 4.
  • 31 مايو 1972 - تم الإعلان عن الطرازات 1C و 1D و 5B و 5C و 5D.
  • ١٩٧٣ - تم تسويق جهاز زيروكس ٥٣٠ كخليفة محتمل لجهاز آي بي إم ١١٣٠. [ ٧ ] [ ٨ ] [ ٩ ] واعتُبرت طلبات شراء جهاز زيروكس ٥٣٠ "مشجعة" اعتبارًا من يناير ١٩٧٤. [ ١٠ ]

برمجة

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

يُكتب جزء كبير من برمجة المستخدم بلغة فورتران . يمكن تشغيل مُصرّف فورتران 1130 على جهاز بذاكرة أساسية لا تتجاوز 4096 كلمة، مع العلم أن البرنامج المُصرّف قد لا يتسع لمثل هذا الجهاز. في هذا المُصرّف متعدد المراحل ، تُعالج كل "مرحلة" البرنامج المصدر بالكامل، مُحوّلةً إياه خطوةً أخرى نحو لغة الآلة . على سبيل المثال، تقرأ المرحلة الأولى عبارات المصدر في الذاكرة، وتتجاهل أسطر التعليقات، وتُزيل المسافات باستثناء المسافات في النصوص الحرفية، وتُدمج أسطر الاستمرار، وتُحدد التسميات. يتوفر المُصرّف بنسخة مُثبّتة على القرص، بالإضافة إلى نسخة على شريط ورقي مثقوب ثماني القنوات أو بطاقات مثقوبة.

نظام التشغيل الأكثر استخدامًا لجهاز 1130 هو نظام مراقبة القرص الإصدار الثاني (DM2) الذي طُرح عام 1967. DM2 نظام مُوجّه نحو معالجة الدفعات أحادية المهمة ، ويتطلب نظامًا  بذاكرة أساسية لا تقل عن 4 كيلوبايت ومحرك أقراص مدمج واحد من نوع 2310. يُعدّ المشرف صغيرًا جدًا وفقًا للمعايير الحديثة، إذ يحتوي على تفاصيل نظام متنوعة مثل إجراءات المقاطعة من المستوى الأول، والتي تُسمى إجراءات المقاطعة الفرعية ، بالإضافة إلى برنامج تشغيل القرص وإجراءات تحميل مُفسّر أوامر التحكم في المهام وبرنامج تشغيل قارئ البطاقات. تُدمج برامج تشغيل الأجهزة الأخرى للإدخال/الإخراج المطلوبة للمهمة كجزء من تحميل تلك المهمة، وقد يشمل ذلك أيضًا استبدال برنامج تشغيل القرص الأساسي ببرنامج تشغيل أكثر تطورًا. أثناء تنفيذ المهمة، لا يوجد في الذاكرة سوى مُراقب مُقيم يُسمى المشرف الهيكلي . يحتاج هذا المشرف إلى 1020 بايت فقط، لذا تبدأ أول ذاكرة متاحة للمهمة بالعنوان /01FE ( سداسي عشري ) أو الكلمة 510. عند انتهاء المهمة أو إيقافها، يقوم المشرف بتحميل محلل سجلات التحكم في المراقبة ( MCRA ) لقراءة بيانات التحكم للمهمة التالية. أثناء تشغيل المهمة، يكون المشرف غير نشط. باستثناء برامج تشغيل الأجهزة ومعالجة المقاطعات، يُخصص كل وقت وحدة المعالجة المركزية لأنشطة المهمة. من البرامج الأخرى الموزعة كجزء من نظام التشغيل أداة تفريغ الذاكرة الأساسية ، DUMP ، وبرنامج أداة القرص ، DUP .

كان نظام برمجة البطاقات/الأشرطة الورقية متاحًا لدعم الأنظمة التي لا تحتوي على قرص.

توجد تسلسلات هرمية لبرامج تشغيل الأجهزة: تلك التي تنتهي أسماؤها بالحرف Z مخصصة للغة فورتران، مثل DISKZ، بينما قد يستخدم مبرمجو لغة التجميع DISK0، وكان DISK1 أسرع في قراءة قطاعات القرص المتعددة. لكن DISKZ يبدأ عنونة القطاعات من أول قطاع غير مستخدم متاح، بينما تبدأ البرامج الأخرى من القطاع صفر في القرص، مما قد يُعرّض المبرمج غير الملمّ بتنظيم القرص لخطر الكتابة فوق مُحمّل الإقلاع عن غير قصد.

تتضمن لغات البرمجة الأخرى المتاحة على جهاز 1130 ما يلي:

يوجد حتى مترجم لغة ALGOL باللغة الفرنسية ، حيث على سبيل المثال، Debut ...Fin;تحلّ " " محل " Begin ... End;". جميع رسائله باللغة الفرنسية، لذا فإن "Bonne compilation" هو الهدف.

طوّرت جامعة شرق ميشيغان مُترجمًا للغة فورتران 4 لجهاز 1130، يُعرف باسم فورتران-إيمو، كبديل لمُترجم فورتران 4 (النسخة الفرعية) الذي تُوفّره شركة آي بي إم. يُضيف هذا المُترجم العديد من ميزات فورتران 4 غير المدعومة في مُترجم آي بي إم، بما في ذلك نوع البيانات المنطقية، وأسماء المتغيرات المكونة من ستة أحرف، وتشخيصات مُحسّنة. تم توزيع مُترجم فورتران-إيمو على شكل مجموعة من البطاقات المثقبة بصيغة ملف صورة قرص، مع حذف جميع مساحة النظام المتبقية، وذلك لمنع نسخ الوحدات الأخرى التي عادةً ما توجد على نفس القرص، مثل المُجمّع أو المُترجمات.

قامت جامعة ولاية أوكلاهوما بتطوير مترجم ALGOL 68 ، مكتوب بلغة ANSI Fortran 1966. [ 12 ] [ 13 ] [ 14 ]

تم تطوير مترجم فوري للغة FOCAL في جامعة ميشيغان .

كما قامت شركة IBM بتوزيع مكتبة كبيرة من البرامج، سواء المدعومة من قبل IBM (النوع الأول والثاني) أو غير المدعومة (النوع الثالث والرابع).

وبما أن عام 1130 كان موجهاً في المقام الأول إلى السوق العلمية، فقد سادت البرامج العلمية والهندسية:

  • حزمة الروتينات الفرعية العلمية
  • إجراءات الرسم والتخطيط الفرعية
  • برنامج تدفق الأحمال في نظام الطاقة الكهربائية
  • الانحدار المتعدد
  • حساب تيارات الأعطال في نظام توزيع الكهرباء
  • تحليل الأنابيب
  • هندسة إحداثيات COGO
  • نمذجة الأنظمة المستمرة (CSMP)
  • البرمجة الخطية، التحسين الرياضي، نظام الروتينات الفرعية
  • برنامج حل أنظمة الهندسة الإنشائية (STRESS)
  • النظام الإحصائي [ 15 ]

كما شغل جهاز 1130 مكانة مميزة كآلة لمعالجة البيانات للمؤسسات الصغيرة:

  • حزمة البرامج الفرعية التجارية 1130
  • نظام معلومات الطلاب
  • CPM/PERT

يوجد أيضاً برامج ذات أغراض خاصة:

  • إدخال الوظائف عن بعد (RJE) [ 16 ]
  • التنضيد [ 17 ]

التحكم في الوظيفة

تُدار عملية المعالجة الدفعية للجهاز 1130 بواسطة سجلات التحكم في مسار الإدخال الرئيسي (قارئ البطاقات أو الشريط الورقي). يوجد نوعان من سجلات التحكم: سجلات التحكم الخاصة بالمراقبة وسجلات التحكم الخاصة بالإشراف. [ 18 ]

سجلات مراقبة التحكم

يتم تحديد سجلات التحكم في الشاشة من خلال //␢"رمز العملية الزائف" متبوعًا في الأعمدة من 4 إلى 7. يمثل "␢" فراغًا واحدًا.

1130 سجلات التحكم في الشاشة
سجل التحكموظيفة
//␢* commentsيُقدّم تعليقًا ليتم طباعته في قائمة الوظائف في الأعمدة من 5 إلى 80
//␢JOBيحدد بداية العمل
//␢ASMيستدعي المُجمِّع
//␢FORيستدعي مترجم لغة فورتران
//␢PAUSيوقف النظام حتى يتم الضغط على مفتاح بدء التشغيل في وحدة التحكم.
//␢TYPيتم التبديل من الطابعة إلى وحدة التحكم لإدخال وإخراج سجلات التحكم
//␢TENDيلغي تأثير//␢TYP
//␢DUPيستدعي برنامج أداة القرص
//␢XEQيقرأ وينقل التحكم إلى برنامج رئيسي

يمكن أن يحتوي السجل JOBعلى حرف "T" في العمود 8 للإشارة إلى أنه يجب حذف أي ملفات تمت إضافتها إلى منطقة المستخدم بواسطة هذه المهمة في النهاية. يمكن أن تحتوي الأعمدة من 11 إلى 15 على ملصق الخرطوشة؛ يتحقق النظام من تركيب الخرطوشة المحددة قبل المتابعة.

قد يحتوي السجل XEQعلى اسم البرنامج المراد تشغيله في الأعمدة من 8 إلى 12. في حال عدم تحديده، سيتم تنفيذ البرنامج الموجود حاليًا في وحدة التخزين العاملة. إذا احتوى العمود 14 على الحرف "L"، وكان البرنامج بتنسيق نظام القرص (وليس صورة النواة)، فسيتم طباعة خريطة النواة بواسطة مُنشئ تحميل النواة. إذا تبعت هذه العبارة سجلات تحكم المشرف LOCALNOCAL، FILESفسيحتوي العمودان 16 و17 على عدد هذه السجلات. يشير العمود 19 اختياريًا إلى روتين برنامج تشغيل القرص المراد ربطه. تشير الأحرف "0" أو "1" أو "N" إلى طلب DISK1 أو DISK2 أو DISKN، بينما يشير أي حرف آخر، بما في ذلك الفراغ، إلى طلب DISKZ، وهو روتين قرص FORTRAN.

سجلات مراقبة المشرف

تبدأ سجلات التحكم الخاصة بالمشرف بعلامة "*" في العمود 1، متبوعة مباشرةً بعملية الأمر الزائفة في العمود 2. وهي LOCALو NOCALو FILESبالنسبة لمنشئ تحميل النواة. تتبع سجلات التحكم الخاصة بـ DUP تنسيقًا مشابهًا. تتحكم هذه السجلات في ربط البرنامج، سواءً للعبارة // XEQأو لأمر DUP *STORECI.

سجلات مراقبة المشرف
سجل التحكموصف
*LOCALيوفر قائمة بالبرامج الفرعية التي سيتم تحميلها كطبقات إضافية في وقت التشغيل، بدلاً من تضمينها مع البرنامج الرئيسي
*NOCALيُقدّم هذا الأمر قائمة بالبرامج الفرعية التي سيتم ربطها بالبرنامج الرئيسي، حتى وإن لم يتم استدعاؤها مطلقًا. وعادةً ما تكون هذه البرامج إما إجراءات تصحيح الأخطاء التي يمكن للمشغل الانتقال إليها يدويًا من وحدة التحكم، أو إجراءات خدمة المقاطعة.
*FILESيقوم هذا الأمر بمساواة أرقام تعريف الملفات من عبارة FORTRAN DEFINE FILEأو عبارة Assembler FILEبالملفات المسماة على القرص.

إجراءات التشغيل

بطاقة مثقبة تحتوي على برنامج 1130 ذاتي التحميل يقوم بنسخ مجموعة البطاقات الموضوعة بعده في وحدة الإدخال.

ربما نتجت الذكريات الراسخة لجهاز IBM 1130 عن حاجته إلى تدخل بشري مستمر. كان الجهاز يُستخدم عادةً لتنفيذ "مهام" محددة بواسطة مجموعة من البطاقات المثقبة . يقوم المشغل بتحميل المهام في قارئ البطاقات وفصلها إلى مهام أخرى لإعادتها، ربما مع مخرجات مطبوعة، إلى مُرسِلها. كما كان على المشغل مراقبة الجهاز 1130 بحثًا عن أي دليل على وجود خلل أو توقف في إحدى المهام، والتدخل بالضغط على INT REQمفتاح في لوحة المفاتيح للانتقال إلى بداية المهمة التالية. [ 19 ]

كانت بداية أي مهمة تُحدد ببطاقة مثقبة تبدأ بـ // JOB. أي بطاقة تبدأ بـ //تُعد أمرًا للمشرف، ولا يمكن استخدامها كبرنامج أو بيانات للمستخدم. تضمنت الأوامر الأخرى // DUPتشغيل برنامج أداة القرص (لحذف الملفات أو إضافتها من المساحة المؤقتة إلى مجموعة الملفات) // XEQوتشغيل برنامج مُسمى من القرص. إذا حاول برنامج مستخدم قراءة بطاقة أمر، فإن روتين قارئ البطاقات القياسي يُشير إلى انتهاء الإدخال للبرنامج ويحفظ محتوى تلك البطاقة للمشرف.

تحميل البرنامج الأولي (IPL)

على عكس جهاز IBM 360، حيث يتم اختيار جهاز الإقلاع من وحدة تحكم النظام، ويمكن "إقلاع" الجهاز (تحميل البرنامج الأولي: IPL) مباشرةً من محرك أقراص أو محرك أشرطة مغناطيسية ، فإن جهاز IBM 1130 لا يمكن إقلاعه إلا من جهاز مثل قارئ البطاقات أو قارئ الأشرطة الورقية المزود بخاصية تحميل البرنامج. [ 20 ] [ 21 ] : 144

تقوم عملية التمهيد بقراءة بطاقة واحدة من قارئ البطاقات أو قراءة أجزاء من 4 بتات من قارئ الشريط الورقي حتى يتم قراءة حرف غير قابل للحذف مثقوب في القناة 5. تحتوي بطاقة التمهيد أو شريط التمهيد على رمز ثنائي [ 21 ] : 136، 137، 144 لقراءة محتويات القطاع صفر من محرك الأقراص، والذي بدوره يعالج مقاطعة "اكتمال العملية" من محرك الأقراص ويجري عمليات قراءة إضافية من القرص لتجهيز جهاز 1130 لأول مهمة بطاقة مثقوبة. تستغرق العملية بأكملها حوالي ثانية واحدة لإكمالها.

إجراءات التعافي

عند تشغيل جهاز IBM 1130، يبقى برنامج الإشراف (Supervisor) موجودًا في الذاكرة، وربما يكون سليمًا، حيث تحتفظ الذاكرة الأساسية بحالتها حتى في حال انقطاع التيار الكهربائي. إذا استنتج المشغل أن برنامجًا ما قد توقف، يستطيع برنامج الإشراف استشعار ضغطة مفتاح لإيقاف البرنامج والانتقال إلى البطاقة التالية. لا يتمتع برنامج الإشراف بحماية ضد التعديل الناتج عن برنامج مكتوب بشكل سيئ، وهو ما قد يتطلب من المشغل إعادة تشغيل جهاز 1130. كما لم تكن هناك حماية ضد الكتابة على القرص. إذا تم تعديل نسخة برنامج النظام الموجودة على القرص، فيمكن استعادتها عن طريق إعادة تحميلها من حوالي 4000 بطاقة مثقبة مشفرة ثنائيًا (ما يعادل صندوقين تقريبًا).

تنظيم القرص

خرطوشة قرص IBM 2315
خرطوشة قرص متوافقة مع 2315 (الأبعاد 1 3/8 × 15 بوصة).

يخزن محرك الأقراص IBM 2310 قطاعات بحجم 320 كلمة (640 بايت) بالإضافة إلى عنوان قطاع مكون من كلمة واحدة. تتكون الأسطوانة من مسارين مكدسين على السطحين العلوي والسفلي لمحرك الأقراص 2315، أو مكدسين على السطحين العلوي والسفلي لكل قرص من الأقراص الستة (باستثناء السطح الخارجي) لحزمة الأقراص 1316 المستخدمة في محرك الأقراص 2311. تحتوي كل أسطوانة قرص على ثمانية قطاعات لكل سطح، ولكل سطح رأس قراءة وكتابة مخصص. يقسم جهاز المراقبة كل قطاع منطقيًا إلى ستة عشر كتلة قرص، كل منها بحجم 20 كلمة (40 بايت). كتلة القرص هي وحدة تخصيص الملفات.

يُفرّق النظام بين خراطيش النظام ، التي تحتوي على برنامج المراقبة والأدوات المساعدة بالإضافة إلى بيانات المستخدم، وخراطيش غير النظام ، التي تحتوي على بيانات المستخدم فقط. تحتوي جميع الخراطيش على معلومات حول الأسطوانة 0، بما في ذلك جدول الأسطوانات المعيبة، ومعرّف الخرطوشة، وبرنامج التمهيد ( رمز التمهيد ). في خراطيش غير النظام، يقوم برنامج التمهيد ببساطة بطباعة رسالة خطأ والانتظار في حال محاولة التمهيد من هذه الخرطوشة. أما في خرطوشة النظام، فيكون هذا هو برنامج بدء التشغيل البارد ، متبوعًا بمنطقة اتصالات وبرنامج المراقبة المقيم في القطاعين الأول والثاني. تحتوي القطاعات من الثالث إلى الخامس على جدول تكافؤ مواقع النظام (SLET) - وهو دليل لجميع مراحل جميع برامج المراقبة. وتُملأ معلومات التحكم الأخرى المسار الأول.

توجد منطقة النظام على خراطيش النظام. تحتوي على برنامج مراقبة القرص، واختياريًا مُصرّف لغة فورتران، والمُجمّع، ومخزن مؤقت للصورة الأساسية يُستخدم لربط البرامج القابلة للنقل. كما تحتوي على أدلة ملفات المستخدم - جدول تكافؤ الموقع الثابت (FLET)، وجدول تكافؤ الموقع (LET).

بعد منطقة النظام، تحتوي الخرطوشة على ما يصل إلى ثلاثة أقسام منطقية فرعية: المنطقة الثابتة ، ومنطقة المستخدم ، ومساحة التخزين المؤقتة . تُخزّن كل من المنطقة الثابتة ومنطقة المستخدم البرامج والبيانات غير المؤقتة. يُحدد حجم المنطقة الثابتة بواسطة DUP، وتُخزّن البيانات والبرامج بتنسيق صورة النظام فقط. لا يُعاد تجميعها عند حذف الملفات. تُخزّن منطقة المستخدم البيانات والبرامج بأي تنسيق. الحدود بين منطقة المستخدم ومساحة التخزين المؤقتة "عائمة" - تتوسع منطقة المستخدم عند إضافة الملفات وتتقلص عند إعادة تجميعها لاستعادة المساحة من الملفات المحذوفة. إذا لزم تعديل ملف، فإن العملية المعتادة هي استخدام // DUPأوامر لحذفه، مما ينقل أي ملفات لاحقة إلى الخلف لسد الفجوة، ثم يُطلق هذا الاسم على الملف المؤقت باعتباره الإصدار الجديد من الملف. وبالتالي، تنتقل الملفات التي نادرًا ما تُعدّل نحو بداية القرص عند إضافة ملفات أو إصدارات جديدة، بينما تُخزّن الملفات التي تُعدّل بشكل متكرر نحو نهاية القرص.

تبدأ مساحة التخزين المؤقتة بعد آخر ملف في منطقة المستخدم، وتشغل كامل المساحة المتبقية على الخرطوشة. قد تحتوي هذه المساحة على ملف مؤقت واحد أنشأه النظام أو المستخدم، مثل مخرجات برنامج مُترجم أو تطبيق. هذا الملف قابل للحذف عند انتهاء المهمة الحالية، ما لم يتم حفظه في المساحة الثابتة أو منطقة المستخدم.

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

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

في نظام مراقبة القرص الإصدار 1، يتم تهيئة حزمة القرص أو الخرطوشة للاستخدام على جهاز 1130 بواسطة روتين تهيئة حزمة القرص (DPIR). يقوم هذا الروتين بفحص القرص وكتابة عناوين القطاعات على جميع الأسطوانات، وتحديد القطاعات المعيبة، وكتابة مُعرّف الخرطوشة على الأسطوانة رقم صفر. DPIR هو برنامج مستقل ، يتم تحميله من البطاقات أو الشريط الورقي، ويستقبل مُعرّف الخرطوشة من وحدة تحكم النظام. [ 18 ]

مع نظام مراقبة القرص الإصدار 2، يتم إجراء تهيئة خرطوشة القرص باستخدام برنامج تهيئة خرطوشة القرص (DCIP)، والذي يمكنه أيضًا نسخ الأقراص وتفريغها وتصحيحها وتحليلها ومقارنتها. [ 19 ]

برنامج أداة القرص (DUP)

يوفر برنامج أداة القرص (DUP) أوامر لنقل البرامج والروتينات الفرعية والبيانات. يتم استدعاؤه بواسطة // DUPبطاقة التحكم في المهمة، متبوعة ببطاقة تحكم واحدة أو أكثر: [ 22 ]

أوامر DUP الشائعة
يأمروظيفة
*محلقم بتخزين برنامج بتنسيق نظام القرص (كائن قابل للنقل)
*ستوريقم بتخزين برنامج بتنسيق Core Image (مرتبط بالكامل ومنقول)
*البيانات المخزنةقم بتخزين ملف البيانات على القرص
*بيانات مخزنةإعادة تحميل برنامج صورة النظام الأساسية التي تم تفريغها
*STOREMODاستبدال ملف القرص أو إنشاء ملف جديد
*أحمققم بتفريغ ملف البيانات من القرص
*DUMPDATAاستخراج قطاعات عشوائية من القرص
*دمبلتاطبع جدول تكافؤ مواقع القرص (LET)، وجدول تكافؤ المواقع الثابتة (FLET) إذا كانت هناك منطقة ثابتة
*يمسححذف برنامج أو ملف بيانات

أما الأوامر الأخرى، والتي تستخدم بشكل أساسي من قبل مسؤول النظام ، فتقوم بتحديد أو توسيع المنطقة الثابتة، وحذف مترجم FORTRAN و/أو المجمع من النظام، واستعادة عناوين القطاعات الصحيحة إلى مساحة التخزين العاملة إذا تم تعديلها.

يجب وضع المعاملات في أعمدة ثابتة. يوضع رمز جهاز المصدر في العمودين 13 و14، ورمز جهاز الوجهة في العمودين 17 و18. رموز هذه الأجهزة هي:

  • منطقة المستخدم ( UA )
  • FX – المنطقة الثابتة (لا توجد "امتدادات" كما هو الحال في 360؛ مجرد مساحة متصلة)
  • WS – مساحة التخزين العاملة
  • القرص المضغوط - بطاقة مثقبة / جهاز الإدخال الرئيسي (قد يكون PT : شريط ورقي)
  • العلاقات العامة - الطابعة

اختيارياً، يمكن ترميز اسم البرنامج في الأعمدة من 21 إلى 25، وحقل العد في الأعمدة من 27 إلى 30. يعتمد تفسير هذه الحقول على وظيفة DUP المطلوبة.

يمكن تحويل البرامج إلى صيغة تحميل أسرع باستخدام الأمر STORECI ، الذي يستدعي برنامج Core Image Builder (المكافئ في DM2 لبرنامج Linkage Editor في Xbox 360). كما يمكن للبرنامج أن يخضع لهذه العملية في كل مرة يُشغّل فيها، ويُفضّل هذا الخيار للبرامج قليلة الاستخدام لتوفير مساحة القرص.

تُوجّه بطاقة التحكم التالية برنامج DUP لنقل محتويات وحدة التخزين المؤقتة الحالية إلى مساحة المستخدم المسماة PROGM. يعرف برنامج DUP حجم الملف في وحدة التخزين المؤقتة، وبالتالي سيزداد حجم مساحة المستخدم بمقدار حجم الملف، وسيقل حجم وحدة التخزين المؤقتة تبعًا لذلك.

مثال على بطاقة التحكم IBM 1130 DUP

الأجهزة الطرفية

طابعة IBM 1132 الخطية
قارئ/مثقب بطاقات IBM 1442
راسمة أسطوانية من نوع IBM 1627

تُستخدم ذاكرة القرص لتخزين نظام التشغيل، ورمز الكائن، والبيانات، ولكن يتم الاحتفاظ بشفرة المصدر على بطاقات مثقبة.

كان جهاز 1130 الأساسي مزودًا بمحرك أقراص IBM 2310 يعمل بملف صوتي، يُسمى "Ramkit"، من قسم المنتجات العامة لشركة IBM في سان خوسيه. [ 6 ] : 497 تحتوي خراطيش القرص الواحد IBM 2315، بحجم علبة البيتزا، على 512,000 كلمة أو 1,024,000 بايت (أقل من 1.44 ميجابايت لقرص مرن عالي الدقة 3.5 بوصة ، أو حتى 1.2 ميجابايت لقرص مرن عالي الدقة 5.25 بوصة). يبلغ معدل النقل 35,000 كلمة في الثانية (70  كيلوبايت/ثانية) باستخدام تقنية سرقة الدورة . [ 23 ]

تستخدم آلة الكتابة IBM 1053 آلية IBM Selectric ، مما يتيح تغيير نوع الخط أو مجموعة الأحرف باستبدال عنصر كتابة مجوف بحجم كرة الغولف. يتوفر عنصر كتابة خاص للغة APL ، وهي لغة برمجة قوية تعتمد على المصفوفات وتستخدم رموزًا خاصة. يمكن اختبار صف من 16 مفتاح تبديل على آلة الكتابة بشكل فردي من داخل البرامج، باستخدام عبارة Fortran الخاصة ، على سبيل المثال.IF (SENSE SWITCH i)

وتشمل الأجهزة الطرفية الأخرى المتاحة ما يلي:

لتبسيط تصميم الأجهزة الطرفية، تعتمد هذه الأجهزة على المعالج. لا يحتوي قارئ البطاقات على مخازن مؤقتة للذاكرة، بل يُرسل إلى وحدة المعالجة المركزية مقاطعة من المستوى صفر (أعلى أولوية) بعد قراءة كل عمود من البطاقة. إذا لم تستجب وحدة المعالجة المركزية ولم تخزن البيانات الاثني عشر بت قبل أن تُشير مقاطعة أخرى إلى قراءة العمود التالي، فستُفقد البيانات. وبالمثل، تعتمد طابعة 1132 على برنامج في طابعة 1130. عندما Aيصل حرف، مثلاً، إلى موضعه، يتعين على وحدة المعالجة المركزية تحليل سطر نص مُخزن مؤقتًا وتجميع مصفوفة من البتات تُشير إلى طابعة 1132 بمواضع الطباعة التي يجب طباعتها A. إذا لم تستجب وحدة المعالجة المركزية قبل أن Aيدور الحرف خارج موضعه، فقد تنخفض سرعة الطباعة بشكل كبير.

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

نظرة عامة على مجموعة التعليمات

تأتي التعليمات بصيغتين: قصيرة (كلمة واحدة) وطويلة (كلمتان). تشير معظم تعليمات الحساب والتحميل والتخزين إلى سجل واحد (عادةً ACC) وموقع في الذاكرة. يُحدد موقع الذاكرة، في الصيغة القصيرة، بإزاحة مُوقّعة من 8 بتات إما من العنوان الحالي أو من أحد سجلات الفهرسة ؛ أو في الصيغة الطويلة، بعنوان كامل من 15 بتًا، والذي يمكن فهرسته وتحديد التوجيه غير المباشر. تُعنون الذاكرة بوحدات الكلمات.

يدعم المعالج 1130 البيانات الثنائية أحادية الدقة ومزدوجة الدقة (16 و32  بت) المخزنة بتنسيق big-endian . أما البيانات العشرية والبيانات ذات الفاصلة العائمة القياسية والممتدة الدقة (32 و48  بت) فتُدعم باستخدام إجراءات فرعية.

تعتمد عمليات النقل المشروطة على (أ) المحتويات الحالية للمراكم ، أو (ب) مؤشرات الحمل والفيضان التي تم ضبطها بواسطة عملية سابقة. يمكن أن تتم عمليات النقل عن طريق التخطي (بافتراض أن التعليمة التالية قصيرة) أو عن طريق التفرع. يحدث التخطي إذا كان أي من الاختبارات المحددة صحيحًا. يحدث التفرع إذا لم يكن أي من الاختبارات المحددة صحيحًا.

السجلات الرئيسية: IAR = سجل عنوان التعليمات ACC = المُراكم EXT = سجل الامتداد XRx = سجلات الفهرسة: x = 1، 2، 3 تم تنفيذها ككلمات ذاكرة 1 و2 و3، وليس كسجلات أجهزة. اختبار الحالة: مُجمِّع Z صفر - السالب في المُراكم + موجب للمراكم حتى البطاريات الإلكترونية مؤشر الحمل C مطفأ مؤشر الفائض مُطفأ 1130 عبارات تذكيرية لمجموعة التعليمات: LD = تحميل المكافأة STO = تخزين المكافأة LDD = تحميل مزدوج (ACC & EXT) STD = تخزين مزدوج (ACC & EXT) LDX = فهرس التحميل، STX = فهرس التخزين LDS = حالة التحميل، STS = حالة التخزين أ = إضافة حساب، أ د = إضافة ضعف S = اطرح ACC SD = اطرح ضعف م = ضرب، ق = قسمة AND = منطقي AND OR = منطقي OR XOR = عملية أو الحصرية المنطقية SLA = Shift Left ACC SLT = Shift Left ACC & EXT SLCA = انقل إلى اليسار واحسب ACC، SLC = انقل إلى اليسار واحسب ACC & EXT SRA = Shift Right ACC SRT = Shift Right ACC & EXT RTE = تدوير لليمين ACC & EXT BSC = التفرع أو التخطي بناءً على الشرط (يعتمد على المُعدِّل) أي BP BNP BN BNN BZ BNZ BC BO BOD BOSC - التفرع أو التخطي المشروط (بديل لـ BSC مع تعيين البت 9) يخرج من مستوى المقاطعة الحالي. BSI = الفرع والمتجر IAR MDX = تعديل الفهرس والتخطي (زيادة IAR بمقدار واحد إذا تغيرت الإشارة أو أصبحت صفرًا) WAIT = إيقاف NOP = لا توجد عملية (بديل لـ SLA 0) XIO = تنفيذ عمليات الإدخال/الإخراج 1800 طريقة إضافية لتذكر التعليمات: CMP = مقارنة ACC DCM = مقارنة مزدوجة ACC و EXT أساليب التذكر المكافئة أدخل مُجمِّع الأقراص العديد من الرموز التذكيرية المكافئة للرموز الموجودة تعليمات تهدف إلى توضيح نية المبرمج بشكل أكبر: SKP - تخطي بشرط، يعادل BSC قصير ب - التفرع دون شروط، وهو ما يعادل بطاقة الأداء المتوازن بدون تحديد أي شروط BP - مُجمِّع الفرع الموجب، وهو ما يعادل BSC الذي يحدد حالة "+". BNP - مُجمِّع الفرع ليس موجبًا BN - مُجمِّع الفرع السالب BNN - مُجمِّع الفرع ليس سالبًا BZ - مُجمِّع الفرع صفر بنك نيوزيلندا - مُجمّع الفرع ليس صفرًا بي سي - فرع على الحمل BO - التفرع عند تجاوز السعة BOD - مُجمِّع الفرع الفردي MDM - تعديل الذاكرة، وهو ما يعادل MDX طويل التنسيق غير المفهرس XCH - مُجمِّع التبادل والتمديد، ما يعادل RTE 16 صيغة التعليمات المختصرة (كلمة واحدة من 16 بت): 1 البتات 0...45678......5 OP---FTTDisp---- OP تعني العملية F هو التنسيق 0 = قصير TT هو Tag Disp تعني الإزاحة صيغة التعليمات الطويلة (كلمتان من 16 بت): 1 1 البتات 0...456789.....50..............5 OP---FTTIMod----العنوان--------- OP تعني العملية F هو التنسيق 1 = طويل TT هو Tag I هو بت غير مباشر Mod هو مُعدِّل حساب العنوان الفعال (EA): F = 0 | F = 1، I = 0 | F = 1، I = 1 التوجيه المباشر | التوجيه المباشر | التوجيه غير المباشر ------------------------------------------------------------------- ت = 00 | EA = ديبل + IAR | EA = إضافة | إي = ج/إضافة TT = 01 | EA = الإزاحة + XR1 | EA = الإضافة + XR1 | EA = C/الإضافة + XR1 TT = 10 | EA = الإزاحة + XR2 | EA = الإضافة + XR2 | EA = C/الإضافة + XR2 TT = 11 | EA = الإزاحة + XR3 | EA = الإضافة + XR3 | EA = C/الإضافة + XR3 ------------------------------------------------------------------- Disp = محتويات حقل الإزاحة إضافة = محتويات حقل عنوان التعليمات ج = محتويات الموقع المحدد بواسطة إضافة أو إضافة + XR 
الذاكرة المحفوظة

تُستخدم العناوين الأدنى في الذاكرة الأساسية إما وفقًا للأجهزة أو وفقًا للاتفاقية:

عنوانالاستخدام
/0000بحسب الاصطلاح، يحتوي على التعليمات B *-1، والتي ستتفرع إلى نفسها إلى أجل غير مسمى حتى يلاحظ المشغل أن جميع أضواء IAR في وحدة التحكم مظلمة ويقوم بمسح المهمة، إما عن طريق الضغط على Int Req أو عن طريق إعادة التشغيل.
/٠٠٠١XR1. تسمح عناوين الذاكرة لسجلات الفهرسة بعمليات نقل مباشرة بينها، كما هو الحال معLDX I1 2
/٠٠٠٢XR2.
/٠٠٠٣XR3.
/0008عنوان معالج المقاطعة من المستوى 0 (أعلى أولوية) - 1442 مقاطعة قارئ/مثقب البطاقات "العمود جاهز".
/0009عنوان معالج المقاطعة من المستوى 1 - الطابعة 1132 ومحول الاتصالات المتزامنة. يجب على معالجات هذه المقاطعة والمقاطعات الأدنى منها اختبار كلمة الحالة لتحديد الجهاز الذي قام بالمقاطعة.
/000A=10عنوان معالج المقاطعة من المستوى 2 - تخزين القرص، قناة الوصول إلى التخزين.
/000B=11عنوان معالج المقاطعة من المستوى 3 - 1627 الراسمة، قناة الوصول إلى التخزين.
/000C=12عنوان معالج المقاطعة من المستوى 4 - قارئ الشريط الورقي 1134، مثقب الشريط الورقي 1055، وحدة التحكم، مثقب قراءة البطاقة 1442، قارئ البطاقة 2501، الطابعة 1403، قارئ العلامات الضوئية 1231، جهاز قناة الوصول إلى التخزين.
/000D=13عنوان معالج المقاطعة من المستوى 5 (أدنى أولوية) - مفاتيح إيقاف وحدة التحكم والمقاطعة، قناة الوصول إلى التخزين.
/0020=32الكلمة الأولى من حقل المسح الضوئي للطابعة 1132 (/0020–/0027).
/0026=38آخر كلمة كاملة في حقل المسح.
/0027=39تم استخدام النصف: 120 عمودًا = 120 بتًا = سبع كلمات 16 بت بالإضافة إلى 8 بتات.
/0038=56الخروج إلى المشرف/العودة إلى الشاشة (اتصل بالخروج)

برمجة

البرامج الفرعية

لا يدعم جهاز 1130 وجود مكدس على مستوى العتاد . تُستدعى معظم البرامج الفرعية باستخدام تعليمة BSI (التفرع وتخزين عنوان العودة). تقوم هذه التعليمة بتخزين قيمة عنوان العودة (IAR) في عنوان الوجهة، ثم تنقل التحكم إلى عنوان الوجهة + 1. تعود البرامج الفرعية إلى موقع استدعائها باستخدام تفرع غير مباشر عبر الكلمة الأولى من البرنامج الفرعي. كان وضع عنوان العودة في سطر التعليمات تقنية شائعة في أجهزة الحاسوب آنذاك، مثل حاسوب هيوليت-باكارد HP 2100 [ 28 ] ، وحاسوب DEC PDP-8 [ 29 ] ، وحاسوب Scientific Data Systems SDS 920 [ 30 ] .

لذا، يمكن تنظيم برنامج فرعي باسم SIMPL على النحو التالي (التعليقات تلي معامل التعليمات):

SIMPL: DC *-* هذه هي نقطة الدخول، مملوءة بصفر في البداية. (مهما كان ما يفعله الروتين) BI SIMPL العودة عبر فرع غير مباشر، إلى العنوان الموجود في الموقع SIMPL. يُعلم الأمر END SIMPL المُجمِّع بأن مصدر الروتين SIMPLE قد اكتمل.

سيتم استدعاء البرنامج الفرعي على النحو التالي:

 BSI L SIMPL Call SIMPL. L (Long) مطلوب إذا كان SIMPL يبعد أكثر من -128 أو +127 كلمة.

عادةً ما يتم استخدام رمز العملية الزائف CALL.

كما هو موضح، نقطة دخول البرنامج الفرعي هي DC *-*، وهي عملية تجميعية زائفة تُستخدم لتعريف ثابت (يشغل كلمة واحدة من الذاكرة) بالقيمة المحددة في التعبير. تشير علامة * إلى العنوان الحالي للتجميع، وبالتالي فإن *-* ينتج عنه صفر. كتابة هذا بدلاً من 0 تُعطي إشارة واضحة إلى أنه سيتم وضع قيمة ذات معنى (عنوان العودة) هناك أثناء التشغيل. لا يشترط أن تكون نقطة الدخول هي الكلمة الأولى من البرنامج الفرعي. في الواقع، يمكن أن تكون الكلمة السابقة بداية تعليمة تفرع مباشر من كلمتين، ويكون حقل عنوانها في SIMPL. بعد ذلك، يمكن تنفيذ عمليات العودة عن طريق تفرعات من كلمة واحدة هناك.B SIMPL-1

عند استدعاء SIMPL، تستبدل تعليمة BSI *-*قيمة IAR الحالية، وهي العنوان الذي يلي تعليمة BSI مباشرةً. بعد أن تُنفّذ SIMPL مهمتها، B I SIMPLينتقل البرنامج بشكل غير مباشر عبرها، وليس إلى SIMPL، مُستكملاً بذلك التنفيذ بالتعليمة التي تلي تعليمة BSI التي استدعت SIMPL.

بدون ترتيبات إضافية لحماية عنوان الإرجاع، يصبح التكرار مستحيلاً: إذا استدعى برنامج SIMPL نفسه، أو استدعى برنامجًا فرعيًا استدعاه، فسيتم استبدال عنوان الإرجاع الأصلي. وتُعدّ إعادة الدخول مشكلةً للسبب نفسه: إذ يجب على روتين خدمة المقاطعة الامتناع عن استدعاء أي برنامج فرعي قد يكون هو البرنامج الذي تمت مقاطعته.

قد يُمرر مُستدعي SIMPL مُعاملاتٍ إليها، والتي قد تكون قيمًا أو عناوين قيم. يُمكن ترميز المُعاملات مُباشرةً (بعد تعليمة BSI مباشرةً) أو وضعها في مُسجلات الفهرسة XR1 وXR2. إذا وُضعت المُعاملات مُباشرةً، فإن SIMPL تُعدّل عنوان الإرجاع الخاص بها بحيث يعود فرعها غير المباشر الأخير إلى ما بعد المُعاملات.

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

يعني استخدام القيمة 0 كقيمة ابتدائية عند نقطة الدخول أنه في حال حدوث خطأ برمجي يؤدي إلى عودة SIMPL قبل استدعائها لأول مرة، سينتقل التنفيذ إلى موقع الذاكرة 0. وكما ذُكر سابقًا ، من المعتاد أن يحتوي الموقع 0 على مسار فرعي إليه. سيبقى البرنامج 1130 عالقًا في الموقع 0، وستُطفأ جميع أضواء IAR على وحدة التحكم، مما يُشير بوضوح إلى فشل البرنامج.

الربط بإجراءات المكتبة

بالنسبة للبرامج الفرعية التي تُستدعى عدة مرات (مثل البرامج الفرعية لحسابات الفاصلة العائمة )، من المهم تقليل حجم كل استدعاء إلى كلمة واحدة. تستخدم هذه "الروتينات المكتبية" بروتوكول LIBF. وهو أكثر تعقيدًا من بروتوكول CALL الموصوف في القسم السابق، لكن LIBF يُخفي هذا التعقيد عن كاتب برنامج لغة التجميع.

يتم الوصول إلى إجراءات المكتبة عبر سجل الفهرسة XR3. (تستخدم البرامج الفرعية في لغة فورتران سجل الفهرسة XR1 لعناوين المعاملات وعنوان الإرجاع، بينما يبقى السجل XR2 غير مستخدم). يشير XR3 إلى سلسلة من متجهات النقل المكونة من ثلاث كلمات ، بحيث يكون الإدخال الأول على بُعد -128 كلمة من قيمة XR3. يستدعي المبرمج إجراء المكتبة باستخدام LIBFالعملية الزائفة، التي لا تُنشئ توجيهًا مباشرًا BSIإلى الإجراء، بل تُنشئ تعليمة تفرع مُفهرسة من كلمة واحدة، حيث يُحدد موضعها (-128، -125، وهكذا) بداية متجه نقل الإجراء.BSI 3 disp

يقوم مُحمِّل الربط بإعداد متجه النقل عند تجميع البرنامج. ويأخذ مدخل متجه النقل لدالة مكتبة تُسمى SIMPL الشكل التالي:

 DC *-* كلمة تخزن فيها BSI عنوان الإرجاع. BL SIMPL انتقل إلى بداية وظيفة المكتبة.

كانت طريقة معرفة SIMPL لعنوان الإرجاع هي أنه إذا تم تعريف SIMPL كروتين LIBF، فإن مُحمِّل الربط سيُعدِّل شيفرة SIMPL، واضعًا عنوان إدخال متجه نقل SIMPL عند SIMPL+2. على عكس البرامج الفرعية CALL، لا تبدأ روتينات LIBF بتوجيه DC لحفظ عنوان الإرجاع (فهو موجود في متجه النقل)، بل تبدأ بالشيفرة الفعلية، كما يلي:

SIMPL STX 1 RCVR1+1 حفظ قيمة المتصل لـ XR1 في موقع قريب. LDX I1 *-* يقوم محمل الربط بتغيير كلمة العنوان للإشارة إلى متجه النقل.

يُتيح وضع عنوان متجه نقل SIMPL عند SIMPL+2 مساحةً لتعليمات من كلمة واحدة لحفظ سجل الفهرس المُختار، وهو هنا XR1. بعد ذلك، تُشير تعليمة LDX غير المباشرة إلى XR1 ليس إلى متجه النقل، بل من خلاله إلى عنوان الإرجاع، أو إلى أي معلمات مُخزّنة مُباشرةً بعد BSI. ثم يُنفّذ SIMPL ما كُتب لأجله، ويحصل على إمكانية الوصول إلى أي معلمات مُباشرة من خلال XR1 (وفي هذه الحالة، يجب عليه زيادة XR1 للحصول على عنوان الإرجاع)، ويُعيد القيمة كما يلي:

 STX 1 RETN+1 Store XR1 to prepare to use it as return address. RCVR1 LDX L1 *-* أول تعليمة في لغة SIMPL عدّلت هذا العنوان. الآن، * استعادة القيمة الأصلية لـ XR1. RETN BL *-* تم تعديل هذه التعليمات قبل تعليماتين؛ العودة.
مثال

لنفترض أن استدعاءً لـ SIMPL بنمط LIBF كان عند العنوان 100. عندئذٍ سيكون عنوان العودة 101، لأنها تعليمة من كلمة واحدة. يشير XR3 إلى مجموعة متجهات النقل. إذا بدأ متجه نقل SIMPL عند العنوان 2000، فسيتم تجميع BSI بحيث يكون XR3 + disp = 2000. عند تنفيذ BSI، يتم تخزين 101 في الموقع 2000 ثم الانتقال إلى الموقع 2001. عند 2001، توجد قفزة بطول كلمتين إلى نقطة دخول SIMPL، والتي ربما يكون مُحمِّل الربط قد وضعها عند العنوان 300.BSI 3 dispdisp

ينقل القفز الطويل التحكم إلى SIMPL. بعد أن تخزن التعليمة الموجودة في الموقع 300 قيمة XR1، تأتي التعليمة الموجودة في الموقع 301 ، حيث قام مُحمِّل الربط بوضع القيمة 2000 في الموقع 302. لا تقوم هذه التعليمة بتحميل القيمة 2000 في XR1؛ إنها تعليمة غير مباشرة، وتقوم بتحميل محتويات القيمة 2000، وهي 101، عنوان العودة لتلك الاستدعاءات إلى SIMPL.LDX I1 2000

في تسلسل الإرجاع الموضح أعلاه، عند وصول التحكم إلى RETN، تكون التعليمة هناك هي B L 101، والتي تعود إلى المُستدعي. (إذا كان هناك مُعامل واحد أو أكثر مُضمن في 101، فإن SIMPL سيزيد XR1 ليشير إلى 102 أو ما بعده، وستكون هذه هي وجهة التعليمة B.)

الاختلافات

إذا استقبلت SIMPL معاملات مُشفّرة مباشرةً بعد تعليمة BSI، فإنها تصل إليها باستخدام عناوين مُفهرسة من XR1. يمكن الحصول على المعامل الأول بواسطة LD 1 0، والثاني بواسطة LD 1 1، وهكذا. إذا كان المعامل الثاني هو عنوان المعامل الفعلي، فإنها تحصل على قيمته. قبل العودة، تزيد SIMPL قيمة XR1 بعد المعاملات n باستخدام تعليمة مثل ، وذلك لوضع القيمة الصحيحة في RETN+1.LD I1 1MDX 1 n

يمكن لروتين LIBF الذي يرفض استعادة القيمة الأصلية لـ XR1 أن يتجاوز الخطوات المذكورة أعلاه ويعود برسالة بسيطة لتجاوز عدد n من المعاملات المضمنة. مع ذلك، لا يمكن استدعاء هذا الروتين من قبل روتينات LIBF أخرى لأنه يعطل استخدام المُستدعي لـ XR1 للوصول إلى معاملاته وعنوان الإرجاع الخاص به.B 1 n

إن تعقيد LIBF يوفر الذاكرة للبرامج الفرعية التي يتم استدعاؤها بشكل متكرر.: [ 31 ] : ص 24 يتطلب ربط LIBF كلمة واحدة لكل استدعاء، بالإضافة إلى ثلاث كلمات لإدخال متجه النقل والتعليمات البرمجية الإضافية في الروتين نفسه، بينما يتطلب ربط CALL كلمتين لكل استدعاء لأن معظم عمليات CALL ستكون إلى عنوان يتجاوز نطاق الكلمة -128 إلى +127 لرمز العملية المكون من كلمة واحدة.

يجب أن يشير المسجل XR3 إلى مداخل متجه النقل لروتينات المكتبة بدلاً من جدول إرسال يحتوي على عناوينها فقط، لأن هذا الأخير سيتطلب استدعاء روتينات LIBF باستخدام تعليمة BSI غير مباشرة. تتكون هذه التعليمات من كلمتين، لذا فإن مثل هذا التصميم سيلغي وفورات حجم الكود التي توفرها LIBF. يحدّ الحد الأقصى البالغ ثمانية بتات لحقل الإرسال في كود التعليمات ذي الكلمة الواحدة من استخدام روتينات LIBF إلى 85 مدخلاً مميزاً كحد أقصى.

تعديل الكود

تُظهر الأقسام السابقة أن التعليمات البرمجية والبيانات متداخلة. ومن الشائع في برمجة 1130 تعديل حقول العناوين في التعليمات، بل وتعديل التعليمات بأكملها.

بواسطة مترجم لغة فورتران

يُنتج مُترجم لغة فورتران شيفرةً ذاتية التعديل عند توليد شيفرة أي برامج فرعية (روتينات فرعية أو دوال) تحتوي على مُعاملات. يُنشئ المُترجم جدولًا بجميع المواقع التي يُشير فيها البرنامج الفرعي إلى أحد مُعاملاته، ويُترجم كأول تعليمة في جسم البرنامج الفرعي استدعاءً لبرنامج فرعي يُسمى SUBIN، والذي يستخدم الجدول لتعديل حقل العنوان لكل مرجع إلى مُعامل ليكون العنوان الفعلي للمُعامل أثناء الاستدعاء الحالي. يُجري SUBIN هذه التعديلات في كل مرة يُستدعى فيها البرنامج الفرعي.

عندما يستدعي برنامج فورتران برنامجًا فرعيًا، تظهر عناوين أي معلمات في السطر التالي للاستدعاء. على سبيل المثال، CALL SIMPL(X)قد تُترجم عبارة فورتران إلى:

 BSI L SIMPL DC X عنوان X، الذي سيتم تشغيل SIMPL عليه

ضمن البرنامج الفرعي، يمكن الوصول إلى المعلمات عن طريق العنونة المفهرسة غير المباشرة كما هو موضح أعلاه في قسم الاختلافات ، لذلك، بافتراض أن XR1 قد تم إعداده بشكل مناسب، يمكن تحميل معلمة عدد صحيح في المُراكم باستخدام تعليمات مثل هذه:

 LD I1 0 تحميل قيمة المعامل الأول (الإزاحة 0) في المُراكم

استخدم المترجم بدلاً من ذلك العنونة المباشرة. عند تشغيل الأمر SUBIN ، فإنه يحصل على عنوان X ويُعدّل حقل عنوان التعليمة ليصبح:

 LD LX حمّل قيمة X في المُراكم

مزايا سوبين هي كالتالي:

  • للحصول على عنوان المعامل، تتطلب التعليمات المفهرسة غير المباشرة ثلاث دورات ذاكرة (حيث يكون سجل الفهرس في الذاكرة) بينما تتطلب تعليمات الوصول المباشر دورة واحدة فقط.
  • إذا قام برنامج SIMPL بتمرير أحد معلماته إلى أي برنامج فرعي يتوقع أن يتلقى عنوان معلماته (بما في ذلك جميع إجراءات LIBF للحسابات ذات الفاصلة العائمة)، فإن SUBIN مطلوب لتوفير العنوان الفعلي للمعلمة الأصلية.

من عيوب SUBIN الوقت اللازم لتشغيلها والذاكرة المطلوبة لجدول المراجع. حجم هذا الجدول هو مجموع 5، وعدد المعاملات، وعدد المراجع؛ إذا تجاوز هذا المجموع 511، فسيفشل التجميع. بالنسبة للبرامج الفرعية التي تحتوي على العديد من المراجع لمعامل ما، قد يقوم مُنشئ البرنامج الفرعي بنسخ المعامل إلى متغير محلي.

بواسطة المستخدم

كان تعديل التعليمات بأكملها أسلوبًا شائعًا في ذلك الوقت. على سبيل المثال، على الرغم من أن المعالج 1130 يحتوي على تعليمة OR، إلا أن صيغة لغة فورتران لا تسمح بكتابتها. يمكن تعريف دالة عددية IOR، مما يُمكّن من تضمين عملية OR المنطقية في تعبير فورتران مثل:

 م = 3 * IOR ( I , J ) + 5

يضع مُصرّف لغة فورتران عنواني I و J في سطر واحد، ويتوقع النتيجة في المُراكم. استخدام IOR(I,J) في تعبير فورتران يُصرّف الكلمات الأربع التالية:

 BSI L IOR قفزة من كلمتين إلى بداية وظيفة IOR. معلمة DC IA المضمنة ذات الكلمة الواحدة: عنوان I. DC JA مُعامل مُضمن من كلمة واحدة: عنوان J.

في الواقع، لا تقوم دالة IOR في لغة التجميع بحساب I أو J على الإطلاق. بدلاً من ذلك، تستبدل الكلمات الأربع المذكورة أعلاه بما يلي:

 LD LI تحميل المُراكم باستخدام I (تعليمات من كلمتين) أو LJ أو المُجمِّع مع J (تعليمات من كلمتين)

بعد إجراء هذا التحويل، لا يعود البرنامج إلى ما بعد نهاية كتلة الكلمات الأربع (التي عدّلها للتو). بدلاً من ذلك، ينتقل إلى العنوان المحدد الذي استُدعي منه في الأصل. لم تعد تعليمة BSI موجودة؛ ما يوجد الآن هو التعليمتان اللتان كتبهما البرنامج للتو. تجمع هاتان التعليمتان العددين الصحيحين باستخدام تعليمة OR الخاصة بلغة الآلة، وتتركان النتيجة في المُراكم، كما هو مطلوب.

يتم استدعاء دالة IOR وتحويل كتلة الكلمات الأربع مرة واحدة على الأكثر في كل تشغيل للبرنامج. إذا تم تنفيذ سطر Fortran الموضح أعلاه مرة أخرى، فسيكون أسرع من المرة الأولى. يمكن تصميم دوال مماثلة لعمليات أخرى مفيدة.

لا يمكن استخدام دالة تُعدّل نفسها بنفسها، كما هو الحال مع دالة IOR، في برنامج فرعي مكتوب بلغة فورتران على أي من مُعاملات ذلك البرنامج الفرعي (مع أنه يُمكن استخدامها لدمج المتغيرات المحلية) لأنها غير متوافقة مع البرنامج الفرعي SUBIN المذكور أعلاه. يُغيّر تحويل دالة IOR لتسلسل استدعائها المكون من أربع كلمات، والموضح أعلاه، موقع عنوان المتغير I. في الاستدعاءات اللاحقة للبرنامج الفرعي في فورتران، سيكون جدول مراجع المُعاملات خاطئًا، وسيقوم البرنامج الفرعي SUBIN بتصحيح الكلمة الخاطئة، وفي هذه الحالة سيضع العنوان الجديد للمتغير I فوق رمز عملية OR.

دقة موسعة

1130 FORTRAN يوفر تنسيقين للفاصلة العائمة: تنسيق "الدقة القياسية" 32 بت وتنسيق "الدقة الموسعة" 40 بت.

يحتوي تنسيق الدقة القياسي على جزء معنوي ذي 24 بت بنظام المتمم الثنائي، بينما يستخدم تنسيق الدقة الموسّع جزءًا معنويًا ذي 32 بت بنظام المتمم الثنائي . يستفيد هذا التنسيق استفادة كاملة من عمليات الأعداد الصحيحة ذات 32 بت في وحدة المعالجة المركزية. يشغل التنسيق الموسّع ثلاث كلمات، كل منها 16 بت، مع بقاء البتات الثمانية العليا من الكلمة الأولى غير مستخدمة. السمة المشتركة في كلا التنسيقين هي حقل ذو 8 بت يحتوي على قوة العدد 2 مضروبة في 128. تُنفَّذ عمليات الحساب ذات الفاصلة العائمة بواسطة البرمجيات. [ 32 ]

تُخبر بطاقة خيارات المُترجم *EXTENDED PRECISIONمُترجم FORTRAN باستخدام 40 بت بدلاً من 32 بت لجميع بيانات الفاصلة العائمة، ولا يوجد أي بند يسمح بخلط التنسيقات.

برامج فورتران الكبيرة

يجب أن تتواجد البيانات المراد معالجتها والتعليمات التي تعالجها معًا في الذاكرة الرئيسية. ويُعدّ حجم الذاكرة المُثبّتة (من 4096 إلى 32768 كلمة) قيدًا رئيسيًا. توفر لغة فورتران عدة تقنيات لكتابة برامج كبيرة الحجم رغم هذا القيد.

البرامج الفرعية المحلية

تتيح لغة فورتران تسمية أي برنامج فرعي بـ "LOCAL" (تحميل عند الاستدعاء). كل برنامج فرعي LOCAL هو برنامج مُضاف ؛ فهو جزء من البرنامج التنفيذي الموجود على القرص، ولكن يتم تحميله في الذاكرة الرئيسية (إن لم يكن موجودًا فيها بالفعل) فقط عند استدعائه. على سبيل المثال، ستة برامج فرعية LOCAL تتطلب فقط مقدار الذاكرة الرئيسية الذي يحتاجه أكبر برنامج، وليس المقدار الإجمالي لجميع البرامج الستة. مع ذلك، لا يمكن لأي من البرامج الستة استدعاء برنامج آخر، سواء بشكل مباشر أو عبر برامج فرعية وسيطة.

برامج على مراحل

يمكن لبرنامج فورتران كامل أن يُمرر التحكم إلى مرحلة لاحقة، ثم يخرج إلى المشرف مع تعليمات لتحميل المرحلة التالية في الذاكرة الأساسية. قد يُقسّم برنامج كبير إلى ثلاثة أجزاء، تُجمّع كل منها على حدة، وتُسمى الجزء 1 (PART1) والجزء 2 (PART2) والجزء 3 (PART3). يبدأ التنفيذ عند // XEQ PART1نقطة مناسبة، فيُنفّذ الجزء 1 (PART1) عبارة فورتران، CALL LINK(PART2)وهكذا. لا يمكن أن يكون اسم البرنامج اللاحق في استدعاء البرنامج (CALL) متغيرًا، ولكن يمكن لمنطق البرنامج أن يُحدد ما إذا كان سيتم نقل التحكم إلى مرحلة أخرى، وأي CALL LINKعبارة سيتم تنفيذها. كما ذُكر سابقًا ، كُتب مُجمّع فورتران نفسه بهذه الطريقة، حيث تُنجز كل مرحلة من مراحل التجميع بواسطة برنامج منفصل.

تخزين البيانات المشترك

تُخزَّن البرامج، مثل برامج فورتران، في عناوين ذاكرة أساسية منخفضة (فوق المشرف مباشرةً). تُخصِّص فورتران مساحةً في أعلى العناوين لأي متغيرات ومصفوفات مُعرَّفة كـ COMMON. إذا احتوت مرحلة لاحقة من البرنامج على تعريف COMMON مُطابق، فيمكن حينها مُشاركة المعلومات في هذه المساحة المشتركة بين المراحل. يُمكن للمراحل حذف تعريف COMMON دون مشكلة، شريطة ألا تكون كبيرةً لدرجة أن يتداخل رمز برنامجها مع المساحة المشتركة. لا تقتصر وظيفة التخزين COMMON على مُشاركة البيانات بين المراحل فحسب؛ بل يُمكن استخدام متغيرات COMMON ذات الذاكرة المنخفضة لتمرير البيانات بين البرنامج الرئيسي والبرامج الفرعية داخل المرحلة الواحدة، مع العلم أن البيانات قد تُفقد عند الانتقال إلى المرحلة التالية.

أمثلة برمجية

يمكن تنفيذ الأمثلة على محاكي IBM 1130 المتوفر على موقع IBM 1130.org .

مجموعة نماذج برامج التجميع

يعرض الجدول التالي مجموعة أوراق لعب تقوم بتجميع وتشغيل برنامج تجميع يقوم بدوره بعرض مجموعة أوراق اللعب على طابعة الخط.

// وظيفة // ASM *قائمة * LCARD.ASM - قائمة بمجموعة أوراق اللعب إلى طابعة الخطوط * * برنامج * صفحة جديدة على الطابعة * اقرأ بطاقة * تحويل التنسيق * اطبع سطرًا على الطابعة * اذهب إلى أ * ابدأ LIBF PRNT1 انتقل إلى صفحة جديدة على 1132 قناة الطابعة DC /3100 رقم 1 - صفحة جديدة * NEXTC LIBF CARD0 READ FROM 1442 CARD READER DC /1000 CONTROL TO READ متجر دي سي سي باف، 80 عمودًا بطاقة CINP LIBF CARD0 DC 0 B CINP LOOP UNTIQUED ... * LIBF ZIPCO تحويل البطاقة إلى طابعة DC /1100 تم تفريغها، تم تعبئتها مخزن إدخال DC CBUFF+1 مخزن الإخراج DC PBUFF+1 عدد الأحرف DC 80 اتصل بـ HLEBC هوليريث إلى EBCDIC * LIBF PRNT1 اطبع 80 حرفًا رمز التحكم DC /2000 للطباعة مخزن طباعة DC PBUFF خطأ في طباعة DC PERR POUT LIBF PRNT1 تحقق من اكتمال الطباعة DC 0 B POUT LOOP UNTIME * ب. اقرأ البطاقة التالية * * بيانات * CBUFF DC 80 80 عمودًا لكل بطاقة BSS 80 * PBUFF DC 40 40 كلمة 80 حرفًا BSS 40 * PERR DC 0 BI PERR هذا يعود إلى * معالج أخطاء الطابعة * مما سيؤدي إلى إنهاء البرنامج * نقطة دخول البرنامج (نهاية - بداية) // XEQ بيانات الاختبار 1 مرحبا بالعالم بيانات الاختبار 2 

في هذه المهمة، يُخزّن المُجمِّع ناتج تجميعه في المساحة المؤقتة لقرص النظام، ويُنفِّذ الأمر XEQ محتوى هذه المساحة المؤقتة. للرمز الغريب END STARTمعنيان: نهاية كود المُجمِّع، واسم نقطة دخول الروتين، والتي تحمل التسمية START.

يبدأ مصدر المُجمِّع من العمود 21 من البطاقة، وليس العمود 1. في الأنظمة التي لا تحتوي على محرك أقراص، كان المُجمِّع يُدخل الشفرة في بداية البطاقة المقروءة (كان قارئ البطاقات في الواقع قارئًا ومثقبًا، حيث تقع محطة التثقيب بعد محطة القراءة)، ثم يقرأ البطاقة التالية. وللتعامل مع التفرعات الأمامية وما شابه، تضمنت الدورة الثانية للمُجمِّع تمرير البطاقات مرة أخرى عبر القارئ/المثقب. إذا لزم إجراء تغييرات على الشفرة المصدرية، كان المبرمج يُكرر البطاقات للحصول على مجموعة بطاقات فارغة من العمود 1 إلى 20 جاهزة للتشغيل التالي عبر المُجمِّع.

بحسب الاصطلاح، تُسبق المخازن المؤقتة بعدد الكلمات. DCيقوم (Define Constant) بتجميع كلمة العدد، ويحجز BSS(Block Started by Symbol) التالي عدد الكلمات المطلوبة للمخزن المؤقت. يتطلب مخزن البطاقة المؤقت 80 كلمة، كلمة واحدة لكل عمود من أعمدة البطاقة. يقرأ برنامج التشغيل CARD0 كل عمود من أعمدة البطاقة حرفيًا، مستخدمًا 12 بتًا من أصل 16 بتًا في كلمة المخزن المؤقت، مع ضبط بت واحد على وضع التشغيل لكل ثقب مثقوب في الصف المقابل لذلك العمود. يصف نمط الثقوب عادةً حرفًا نصيًا باستخدام ترميز هوليريث . كما تُدخل لوحة مفاتيح وحدة التحكم البيانات إلى البرنامج باستخدام ترميز هوليريث، وهي الحالة الوحيدة التي يستخدم فيها جهازان نفس ترميز الأحرف.

مع ذلك، يعمل روتين الطابعة مع نص بتنسيق EBCDIC ذي 8 بتات ، حيث يتكون كل حرف من حرفين، مما يتطلب مخزنًا مؤقتًا بسعة 40 كلمة. يستخدم البرنامج روتين المكتبة ZIPCO لإجراء التحويل. على الرغم من المظهر، CALL HLEBCلا يتم تنفيذ العبارة لأن HLEBC ليس روتينًا فرعيًا، بل هو جدول تحويل من Hollerith إلى EBCDIC مُقدم من IBM. توفر عبارة CALL عنوان الجدول إلى ZIPCO وتضمن تضمين مُحمل الربط للجدول في البرنامج، وبالتالي فهي المعامل الخامس لـ ZIPCO، على الرغم من أنها تشغل كلمتين من التخزين: كلمة رمز عملية BSI لعبارة CALL غير مستخدمة، وبالتالي تُهدر عادةً، لكن الكلمة الثانية من التوسيع CALL HLEBCهي عنوان جدول HLEBC الذي يحتاجه ZIPCO. بعد التحويل، يرسل البرنامج الناتج المُحوّل، الموجود الآن في المخزن المؤقت PBUFF، إلى الطابعة عبر برنامج التشغيل PRNT1. مرة أخرى، يُكرر البرنامج نفسه حتى يُبلغ برنامج تشغيل الطابعة عن اكتمال العملية، ثم يقرأ البرنامج البطاقة التالية.

لا يحتوي هذا المثال على أي تعليمات برمجية لتحديد وقت التوقف. سيتحقق برنامج أكثر اكتمالاً من وجود بطاقات تبدأ بـ //، مما يشير إلى بدء المهمة التالية. لإيقاف قارئ البطاقات في أسرع وقت ممكن، يمكن للبرنامج التحقق من رمز هوليريث الخاص بـ /قبل حتى تحويل البطاقة إلى EBCDIC.

يبدأ استدعاء الدالة CARD0 لقراءة البطاقة هذه العملية، ثم يعود البرنامج المُستدعي فورًا، والذي يمكنه متابعة أنشطة أخرى. مع ذلك، لا يحاول البرنامج النموذجي دمج المدخلات والمخرجات باستخدام المخازن المؤقتة، على الرغم من وجود منطقتي عمل منفصلتين؛ بل يعود ببساطة إلى CIMP لإعادة الاختبار. بعد أن تستشعر CARD0 مقاطعة اكتمال عملية قارئ البطاقة، تعود بكلمة واحدة، متجاوزةً بذلك العودة إلى CIMP ومُنهيةً الحلقة.

لا تُشغّل إجراءات المثال أجهزة الإدخال/الإخراج بأقصى سرعة. والجدير بالذكر أن قارئ البطاقات، بعد بضعة أجزاء من الثانية فقط من الإبلاغ عن اكتمال قراءة البطاقة، يبدأ تسلسل التوقف، وبعدها يتعين على أمر القراءة الجديد الانتظار لبدء دورة قراءة أخرى. كان قارئ IBM 1442 قادرًا على قراءة 400 بطاقة/دقيقة بأقصى سرعة، ولكن أي تأخير بسيط في أوامر القراءة كان من شأنه أن يُقلل إنتاجيته إلى النصف أو أسوأ. لم يكن برنامج Fortran قادرًا على إكمال حتى أبسط عمليات معالجة الإدخال في الوقت المحدد، وبالتالي لم يكن قادرًا على قراءة البطاقات بأقصى سرعة. إحدى DOحلقات Fortran الشائعة لقراءة البطاقات كانت تتسبب في توقف المحرك وبدء تشغيله بشكل متكرر، مما يُسرّع من تآكله. مع التخزين المؤقت، يُمكن تداخل التحكم في قارئ البطاقات مع المعالجة، ويمكن تشغيل القارئ بأقصى سرعة عبر مجموعات بيانات كبيرة، ولكن غالبًا ما كانت الذاكرة المخصصة للبرنامج الأكثر تعقيدًا وللمخازن المؤقتة محدودة للغاية.

حتى مع استخدام لغة التجميع والتخزين المؤقت المزدوج، لم يتمكن برنامج سرد مجموعة من البطاقات من قارئ IBM 2501 (1000 بطاقة/دقيقة) على طابعة الخط من مواكبة ذلك، حيث كانت عملية الترجمة من أنماط ثقوب البطاقات إلى EBCDIC للطابعة كما تم بواسطة EBPRT بطيئة للغاية؛ وكانت هناك حاجة إلى ZIPCO وHLEBC الأكثر تعقيدًا بدلاً من ذلك، كما هو الحال في المثال.

جلسة APL\1130 نموذجية

تُظهر الصورة التالية جلسة APL 1130 بسيطة. تم تنفيذ هذه الجلسة باستخدام محاكي 1130 المتوفر على موقع IBM 1130.org. تُظهر الجلسة أعلاه تسجيل الدخول، وجمع الأعداد الصحيحة من 1 إلى 100، وإنشاء جدول جمع للأعداد الصحيحة من 1 إلى 5، ثم تسجيل الخروج. جلسة تجريبية apl \ 1130 apl \ 1130

الأنظمة المتنافسة

في نفس العام الذي تم فيه طرح جهاز 1130، قدمت شركة Digital Equipment Corporation جهاز PDP-8 ذو 12 بت، وهو أصغر حجمًا وأرخص سعرًا وأكثر مبيعًا، والذي تم الاعتراف به كأول جهاز كمبيوتر صغير ناجح.

يُعدّ جهاز IBM 1800 ، الذي أُعلن عنه في نوفمبر 1964، [ 33 ] نسخةً مُطوّرة من جهاز IBM 1130 مُخصّصة لتطبيقات التحكّم في العمليات . يستخدم هذا الجهاز ذاكرةً عتاديةً بدلاً من الذاكرة الأساسية لسجلات الفهرسة الثلاثة، ويتميّز بتعليمتين إضافيتين (CMP وDCM) بالإضافة إلى إمكانيات إضافية للمقاطعات والإدخال /الإخراج . وهو خليفة جهاز IBM 1710 ، كما أن جهاز IBM 1130 هو خليفة جهاز IBM 1620 .

نظام IBM 1500 هو نظام تعليمي متعدد المستخدمين يعتمد إما على IBM 1130 أو IBM 1800. ويمكنه الاتصال بما يصل إلى 32 محطة عمل للطلاب، كل منها مزود بمجموعة متنوعة من الإمكانيات السمعية والبصرية .

الخلفاء

لم تنتج شركة IBM أنظمة خلف متوافقة مع 1130. نظام IBM System/7 هو نظام للتحكم في العمليات ونظام في الوقت الحقيقي، ونظام IBM Series/1 هو حاسوب صغير للأغراض العامة 16 بت، وكلاهما له بنية مختلفة عن 1130، وعن بعضهما البعض.

تأثير عام 1130

  • كان برايان أوتلي مدير مشروع 1130 خلال مراحل تطويره وإطلاقه. وذكر برايان في الحفل الثالث لـ 11/30 أن جهاز 1130 كان يُعرف قبل أن تُطلق عليه شركة IBM Marketing اسم نظام الحاسوب الهندسي الصغير (SECS). [ 34 ] كانت البنية الأولية 18 بت، ولكن تم تغييرها إلى 16 بت نتيجة لتأثير تطوير نظام System/360 . يتوفر الحوار الكامل لعرضه التقديمي لعام 2005 على موقع IBM1130.org .
  • حصل مصمم البرمجيات البارز جرادي بوتش على أول تجربة له في البرمجة على جهاز IBM 1130: [ 35 ]

... طرقتُ أبواب مكتب مبيعات IBM المحلي حتى أشفق عليّ أحد البائعين. بعد حديث قصير، ناولني دليل استخدام لغة فورتران. أنا متأكد أنه أعطاني إياه وهو يفكر: "لن أسمع من هذا الشاب مجدداً". عدتُ في الأسبوع التالي قائلاً: "هذا رائع حقاً. قرأتُ الدليل كاملاً وكتبتُ برنامجاً صغيراً. أين أجد جهاز كمبيوتر؟". ولدهشتي، وجد لي البائع وقتاً للبرمجة على جهاز IBM 1130 في عطلات نهاية الأسبوع وفي ساعات متأخرة من الليل. كانت تلك تجربتي الأولى في البرمجة، ويجب أن أشكر بائع IBM المجهول على انطلاقة مسيرتي المهنية. شكراً لك يا IBM.

كان النظام عبارة عن حاسوب IBM 1130، وهو جهاز بحجم مكتب مزود  بذاكرة رئيسية سعتها 8 كيلوبايت،  وقرص صلب بسعة 512 كيلوبايت، وقارئ شريط ورقي Teletype CX، ومثقب شريط ورقي BRPE، وجهاز تنضيد ضوئي ميكانيكي Photon 713. كانت هذه المهمة أول تجربة لي في إدارة قاعدة بيانات مستندات قابلة للقراءة آليًا: تعلمت لف الشريط الورقي المثقوب بعناية ليسهل تخزينه بشكل منظم في سلال مهملات ورقية أسطوانية. في هذه الأثناء، ودون علمي، كانت جذور الترميز العام تُزرع. تاريخيًا، احتوت المخطوطات الإلكترونية على رموز تحكم أو وحدات ماكرو تُحدد تنسيق المستند بطريقة معينة ("ترميز خاص"). في المقابل، يستخدم الترميز العام، الذي بدأ في أواخر الستينيات، علامات وصفية (على سبيل المثال، "عنوان" بدلاً من "تنسيق-17").

1130s اليوم

من بين ما يقدر بنحو 10000 نظام تم إنتاجها، من المعروف أن الأنظمة التالية موجودة اعتبارًا من عام 2025:

الأبوكريفا

تركزت التكهنات حول سبب إعطاء المنتج الرقم 1130 على الاحتمالات التالية:

  • وبما أن 1130 كانت آلة علمية صغيرة، فقد تم اختيار الرقم عن طريق ضرب 360 (كما في IBM 360 ) في π .
  • كانت الساعة 11:30 هي الوقت الذي وصل فيه مخططو المنتج إلى طريق مسدود فيما يتعلق بتسمية المنتج.
  • كان جهاز 1130 هو التصميم الحادي عشر لأجهزة الكمبيوتر من شركة IBM، وكان يحتوي على 30 تعليمة.

وقد تكهن آخرون بأن وجود جهاز IBM 1130 يفسر سبب عدم ظهور أي جهاز كمبيوتر يحمل اسم "11/30" في عائلة أجهزة PDP-11 . [ 53 ]

انظر أيضاً

ملحوظات

  1. والذي كان له مترجم IBM
  2. SL/1: توجد إشارات إلى لغة الطالب/واحد، ولغة الطالب/1، ولغة المجموعة الفرعية/1
  3. منتج برنامج من شركة IBM
  4. النموذج 1 بسرعة 80 خطًا/دقيقة، النموذج 2 بسرعة 40 لترًا/دقيقة
  5. خيار من طراز 6 بسرعة 340 خط/دقيقة، وطراز 7 بسرعة 600 لتر/دقيقة

مراجع

  1. 1 2 3 "معرض الأنظمة الكبيرة: IBM 1130" . المتحف الوطني للحوسبة. مؤرشف من الأصل بتاريخ 11 فبراير 2020. تم الاطلاع عليه بتاريخ 11 فبراير 2020 .
  2. 1 2 دليل تثبيت IBM 1130 ، نموذج IBM GA26-5914، يونيو 1966، BitSavers
  3. 1 2 فرانسيس، سي جي (11 فبراير 1965). "آي بي إم تُطلق حاسوبًا صغيرًا قويًا" . مدير قسم المعلومات (بيان صحفي). وايت بلينز، نيويورك : شركة آي بي إم (الآلات التجارية الدولية). مؤرشف من الأصل بتاريخ 5 يوليو 2019.
  4. أوتلي، برايان (يناير 2005). "المتحدث الضيف: برايان أوتلي" (ملف صوتي MP3) (مقابلة) . تم الاطلاع عليه بتاريخ 2 يناير 2012 .
  5. 760 رطل: الموديلات 1A، 1B، 2A، 2B، 4A و4B 1050 رطل: الموديلات 1C، 1D، 2C، 2D، 3B، 3C، 3D، 5B، 5C و5D
  6. 1 2 إيمرسون دبليو. بو؛ لايل آر. جونسون؛ جون إتش. بالمر (1991). أنظمة IBM 360 وأنظمة 370 المبكرة . مطبعة معهد ماساتشوستس للتكنولوجيا. ISBN 978-0-262-16123-7.
  7. "حاسوب زيروكس المصغر الجديد" . صحيفة نيويورك تايمز . 29 يناير 1973.
  8. "يدعم جهاز Xerox 530 لغة COBOL" . مجلة ComputerWorld . 26 ديسمبر 1973.
  9. "تصنيف حاسوب زيروكس 530" (ملف PDF) . computerhistory.org . تم الاطلاع عليه بتاريخ 23 سبتمبر 2014 .
  10. "طلبات شراء طابعة زيروكس 530 "مشجعة"" .
  11. لاري بريد (أغسطس 2006). "كيف وصلنا إلى APL\1130" . فيكتور (الرابطة البريطانية لـ APL) . 22 (3). ISSN 0955-1433 . مؤرشف من الأصل في 12 مايو 2008. تم الاطلاع عليه في 11 مارس 2007 . 
  12. هيدريك، جي إي؛ روبرتسون، آلان (10-12 يونيو 1975). مُجمِّع مجموعة فرعية من لغة ALGOL 68 لولاية أوكلاهوما . المؤتمر الدولي لعام 1975 حول لغة ALGOL 68. ستيلووتر، أوكلاهوما.
  13. هيدريك، جي إي (أغسطس 1977). "تدريس لغة ALGOL68 في جامعة ولاية أوكلاهوما". نشرة ACM SIGCSE . 9 (3). نيويورك، نيويورك، الولايات المتحدة الأمريكية: ACM: 16-20 . doi : 10.1145/382175.803425 .
  14. ماكجونز، بول. "تطبيقات ولهجات لغة ألغول 68" . مجموعة الحفاظ على البرمجيات، متحف تاريخ الحاسوب .
  15. شركة آي بي إم (1967). دليل مستخدم النظام الإحصائي 1130 (1130-CA-06X) (ملف PDF) . تم الاطلاع عليه بتاريخ 8 فبراير 2015 .
  16. شركة آي بي إم (1968). دليل منطق برنامج محطة عمل إدخال الوظائف عن بُعد IBM 1130 (ملف PDF) . تم الاطلاع عليه بتاريخ 8 فبراير 2015 .
  17. شركة آي بي إم (1967). نظام الطباعة IBM 1130 (RPQ) (ملف PDF) . تم الاطلاع عليه بتاريخ 8 فبراير 2015 .
  18. 1 2 شركة آي بي إم (1968). دليل مرجعي لنظام مراقبة القرص IBM 1130 (ملف PDF) . تم الاطلاع عليه بتاريخ 31 أغسطس 2021 .
  19. 1 2 نظام مراقبة القرص IBM 1130، الإصدار 2، دليل المبرمج والمشغل (PDF) (الطبعة العاشرة ). IBM. مايو 1972. GC26-3717-9 . تم الاطلاع عليه في 6 فبراير 2015 . 
  20. "IBM 1130" . تم الاطلاع عليه بتاريخ 21 فبراير 2017. يحتوي جهازنا 1130 على وحدة خرطوشة قرص 2315 بسعة نصف مليون كلمة على الجانب الأيمن، خلف الباب. من المحتمل أن قارئ الشريط الورقي كان يُستخدم بشكل أساسي للتشغيل، بدلاً من قارئ البطاقات الكبير 1442 الذي يطبع 300 بطاقة/دقيقة.
  21. 12IBM 1130 Functional Characteristics(PDF). IBM Systems Reference Library (Seventh ed.). IBM. April 1972. GA26-5881-6.
  22. "Monitor Programs".
  23. IBM Corporation. "1130 Facts folder: IBM 1130 computing system". IBM Archives. Archived from the original on May 1, 2023. Retrieved April 29, 2023.
  24. "IBM 1130 Operating Procedures"(PDF). BitSavers. IBM Systems Reference Library.
  25. IBM 1130 Custom Feature Description – Attachment Channel RPQ Number 831552, Form A26-1579-0(PDF). IBM Systems Reference Library (First ed.). San Jose, California: IBM Corporation. October 1968. Retrieved 2009-08-10.
  26. "IBM 1231 Optical Mark Page Reader".
  27. IBM Corporation. "IBM Archives: DPD Chronology (page 4)". Archived from the original on October 23, 2009. Retrieved 10 Aug 2011.
  28. Hewlett-Packard (December 1971). 2100A Computer Reference Manual(PDF). p. 18. Retrieved August 5, 2016.
  29. "PDP-8 User's Manual". Digital Equipment Corporation. May 1966. Retrieved 26 April 2021.
  30. Scirntific Data Systems. 920 Computer Reference Manual(PDF). p. 17. Retrieved August 5, 2016.
  31. IBM Corporation (1968). IBM 1130 Assembler Language(PDF). Retrieved Feb 6, 2015.
  32. IBM 1130 Subroutine Library 9th ed(PDF). IBM Corporation. 1974. p. 93.
  33. "IBM 1800 data acquisition and control system". IBM Archives. 23 January 2003. Archived from the original on 3 February 2023. Retrieved Aug 20, 2021.
  34. Utley, Brian (2006-10-30). "Origin of the IBM 1130 Name". Archived from the original on 2007-10-01. Retrieved 2007-01-16.
  35. Booch, Grady (2003-04-03). "Grady Booch polishes his crystal ball". IBM. Retrieved 2007-01-16.
  36. ستيل، جاي إل. الابن (24 نوفمبر 2005). "أفكار حول تصميم اللغة - التحديات الجديدة تتطلب حلولاً جديدة" . مجلة دكتور دوبز . تم الاطلاع عليه بتاريخ 16 يناير 2006 .
  37. ستيل، جاي إل. الابن. "اعترافات هاكر سعيد" . مؤرشف من الأصل بتاريخ 2007-02-03 . تم الاطلاع عليه بتاريخ 2006-01-16 .
  38. راذر، إليزابيث؛ كولبورن، دونالد؛ مور، تشارلز (مارس 1993). "تطور فورث" . تم الاسترجاع في 16 يناير 2007 .
  39. بريكلين، دان (23 أغسطس 2002). "ذكريات أثناء زيارة منطقة خليج سان فرانسيسكو ومتحف تاريخ الحاسوب" . تم الاطلاع عليه بتاريخ 16 يناير 2007 .
  40. ديكسون، بوب (13 أغسطس 2005). "مشروع البحث عن ذكاء خارج الأرض في سبعينيات القرن العشرين" . ذا بيغ إير . تم الاطلاع عليه بتاريخ 16 يناير 2007 .
  41. غولدفراب، تشارلز (1996). "جذور لغة SGML - ذكريات شخصية" . مؤرشف من الأصل بتاريخ 20 ديسمبر 2012. تم الاطلاع عليه بتاريخ 16 يناير 2007 .
  42. كاي، آلان سي، "المحرك التفاعلي" ، أطروحة دكتوراه، جامعة يوتا، 1969. "عملت إجراءات عرض الرسومات، ومولد الأحرف، والمحرر لمدة عام على جهاز كمبيوتر IBM 1130 بواجهة "مُصممة محليًا". لسوء الحظ، كان جهاز 1130 بالكاد يعمل كمخزن مؤقت للعرض، ولم يتم تنفيذ أي من الإجراءات الخوارزمية."
  43. كوتش، وارن (1972). "استخدام الحواسيب في التعليم في المدارس الثانوية" (ملف PDF) . تم الاطلاع عليه بتاريخ 23-05-2025 .
  44. "Signetics 2650: معالج IBM على شريحة" . CPU Shack. 16 أكتوبر 2016. تم الاطلاع عليه بتاريخ 25 أكتوبر 2016 .
  45. "IBM 1130" . ACONIT (بالفرنسية) . تم الاطلاع عليه في 11 يوليو 2016 .
  46. "تفاصيل القطعة الأثرية: طراز IBM 1130" . متحف تاريخ الحاسوب . تم الاطلاع عليه بتاريخ 11 يوليو 2016 .
  47. متحف الحاسوب بين بازل. "متحف الحاسوب بين بازل" . متحف الحاسوب بين بازل (بالألمانية) . تم الاطلاع عليه بتاريخ 17 مارس 2026 .{{cite web}}: CS1 maint: url-status ( link )
  48. "ترميم نظام IBM 1130 خلال عام 2011" . المتحف الوطني للحوسبة . 28 ديسمبر 2011. مؤرشف من الأصل في 4 أبريل 2019. تم الاطلاع عليه في 11 يوليو 2016 .
  49. ^ "آي بي إم 1130" . متحف الكمبيوتر دير كلية المعلوماتية . تم الاسترجاع 11 يوليو، 2016 .
  50. كلونش، كارل. "الإنقاذ 1130" . تم الاطلاع عليه في 11 يوليو 2016 .
  51. "متحف الكمبيوتر @ مصدر النظام" .
  52. "اتحاد الحواسيب القديمة" .
  53. PDP-11/20 و/15