حاسوب توجيه أبولو
حاسوب التوجيه أبولو ( AGC ) هو حاسوب رقمي صُمم خصيصًا لبرنامج أبولو، ووُضع على متن كل وحدة قيادة (CM) ووحدة هبوط قمرية (LM) من وحدات أبولو. وفّر حاسوب التوجيه أبولو الحوسبة والواجهات الإلكترونية اللازمة لتوجيه المركبة الفضائية وملاحتها والتحكم بها . [ 3 ] كان حاسوب التوجيه أبولو أول حاسوب يعتمد على الدوائر المتكاملة المصنوعة من السيليكون . [ 4 ] [ 5 ] كان أداء هذا الحاسوب مماثلاً لأداء الجيل الأول من الحواسيب المنزلية في سبعينيات القرن الماضي، مثل كينباك-1 ، وأبل 2 ، و TRS-80 ، وكومودور PET . [ 6 ] بلغ حجم حاسوب التوجيه أبولو حوالي 28 لترًا (قدم مكعب واحد) ، وكان يحتوي على 4100 وحدة متكاملة. [ 5 ]
يبلغ طول الكلمة في وحدة التحكم التلقائي في الكسب (AGC) 16 بت ، مع 15 بت للبيانات وبت واحد للتكافؤ . يتم تخزين معظم البرامج على وحدة التحكم التلقائي في الكسب في ذاكرة خاصة للقراءة فقط تُعرف باسم ذاكرة الحبل الأساسية ، والتي يتم تصنيعها عن طريق نسج الأسلاك عبر وحول النوى المغناطيسية ، على الرغم من توفر كمية صغيرة من ذاكرة النواة للقراءة والكتابة.
تواصل رواد الفضاء مع نظام التحكم الآلي في المدار (AGC) باستخدام شاشة عرض رقمية ولوحة مفاتيح تُسمى DSKY (اختصارًا لـ "شاشة ولوحة مفاتيح"، تُنطق /ˈdɪski / DISS - kee ) . طُوّر نظام التحكم الآلي في المدار وواجهة المستخدم DSKY الخاصة به في أوائل الستينيات لبرنامج أبولو من قِبل مختبر الأجهزة في معهد ماساتشوستس للتكنولوجيا، وحلّقت المركبة لأول مرة عام 1966. [ 7 ] كانت أنظمة التحكم الآلي في المدار الموجودة على متن المركبة ثانوية، حيث اعتمدت ناسا في عملها الأساسي على الحواسيب المركزية في هيوستن لإدارة الملاحة. [ 8 ]
عملية


في برنامج مشروع جيميني السابق ، كان رواد الفضاء يطيرون يدويًا باستخدام عصي التحكم . أما في برنامج أبولو، فقد تم التحكم في الرحلة بواسطة الحاسوب. وقد قام رواد الفضاء بالطيران يدويًا لفترة وجيزة أثناء عمليات الهبوط على سطح القمر. [ 9 ]
حملت كل رحلة قمرية وحدتي تحكم آليتين (AGC)، واحدة في وحدة القيادة والأخرى في وحدة الهبوط القمرية ، باستثناء أبولو 7 التي كانت مهمة مدارية حول الأرض، وأبولو 8 التي لم تكن بحاجة إلى وحدة هبوط قمرية لمهمتها المدارية حول القمر . كانت وحدة التحكم الآلي في وحدة القيادة مركز نظام التوجيه والملاحة والتحكم (GNC). أما وحدة التحكم الآلي في وحدة الهبوط القمرية فكانت تُشغّل نظام التوجيه والملاحة والتحكم الأساسي ( PGNCS) الخاص بأبولو .
كانت كل مهمة قمرية مزودة بجهازَي كمبيوتر إضافيين:
- الحاسوب الرقمي لمركبة الإطلاق ( LVDC) الموجود على وحدة أجهزة معزز ساتورن 5
- نظام التوجيه للإجهاض ( AGS ، يُنطق / æɡz / AGZ ) الخاص بالمركبة القمرية، والذي يُستخدم في حالة تعطل نظام التوجيه والتوجيه الخاص بالمركبة القمرية ( PGNCS ) . يمكن استخدام نظام التوجيه للإجهاض للإقلاع من القمر، والالتقاء بوحدة القيادة، ولكن ليس للهبوط.
تصميم



صُمم نظام التحكم الآلي في الكسب (AGC) في مختبر الأجهزة التابع لمعهد ماساتشوستس للتكنولوجيا تحت إشراف تشارلز ستارك دريبر ، وتولى إلدون سي . هول تصميم الأجهزة. [ 2 ] وساهم في التصميم المعماري الأولي كل من جيه إتش لانينغ جونيور ، وألبرت هوبكنز ، وريتشارد باتين ، ورامون ألونسو، [ 10 ] [ 11 ] وهيو بلير سميث. [ 12 ] وقامت شركة رايثيون بتصنيع أجهزة الطيران ، وكان هيرب ثالر [ 13 ] أحد أعضاء الفريق المعماري.
بحسب كورينيك وآخرون، تم لحام الرقائق على اللوحات بدلاً من لحامها بالقصدير كما هو متوقع. [ 14 ] تشير رسومات وحدة منطق حاسوب توجيه أبولو إلى استخدام اللحام المقاوم. [ 15 ] [ 16 ]
أجهزة المنطق
بعد استخدام رقائق الدوائر المتكاملة في منصة مراقبة الكواكب (IMP) عام 1963، تم اعتماد تقنية الدوائر المتكاملة لاحقًا في نظام التحكم الآلي في المجرة (AGC). [ 17 ] وكان حاسوب رحلة أبولو من أوائل الحواسيب التي استخدمت رقائق الدوائر المتكاملة المصنوعة من السيليكون . [ 4 ] [ 8 ]
بينما استخدم الإصدار الأول (Block I) 4100 دائرة متكاملة، تحتوي كل منها على بوابة NOR ثلاثية المدخلات ، استخدم الإصدار الثاني (Block II) اللاحق (المستخدم في الرحلات المأهولة) حوالي 2800 دائرة متكاملة، معظمها بوابات NOR ثنائية المدخلات، بالإضافة إلى عدد أقل من وحدات التوسيع ومضخمات الإشارة. [ 18 ] : 27، 266. صُنعت هذه الدوائر المتكاملة من شركة فيرتشايلد لأشباه الموصلات ، ونُفذت باستخدام منطق المقاومة-الترانزستور (RTL) في عبوة مسطحة . لُحمت هذه الدوائر بلوحات الدوائر المطبوعة، التي وُصلت فيما بينها عبر أسلاك ملفوفة ، ثم غُلفت الأسلاك في بلاستيك إيبوكسي مصبوب. [ 18 ] : 129
إن استخدام نوع واحد من الدوائر المتكاملة (بوابة NOR3 المزدوجة) في جميع أنحاء نظام التحكم الآلي في البوابات (AGC) قد تجنب المشاكل التي عانت منها تصميمات أخرى مبكرة للحواسيب المتكاملة، وهي حاسوب التوجيه Minuteman II ، الذي استخدم مزيجًا من منطق الترانزستور الثنائي وبوابات منطق الثنائيات . بوابات NOR هي بوابات منطقية عامة يمكن من خلالها صنع أي بوابة أخرى، ولكن على حساب استخدام عدد أكبر من البوابات. [ 19 ]
ذاكرة
كان حاسوب Block II يحتوي على 2048 كلمة من ذاكرة النواة المغناطيسية القابلة للمسح ، و36864 كلمة من ذاكرة الحبل الأساسية للقراءة فقط . [ 18 ] : 27، 90-93 . وكان زمن دورة كليهما 11.72 ميكروثانية. [ 18 ] : 27. وكان طول كلمة الذاكرة 16 بتًا: 15 بتًا للبيانات وبت واحد للتكافؤ الفردي . أما تنسيق الكلمة الداخلية لوحدة المعالجة المركزية (CPU) ذو الـ 16 بتًا فكان 14 بتًا للبيانات، وبت واحد للفائض ، وبت واحد للإشارة ( تمثيل المتمم الأحادي ). [ 18 ] : 35-37
واجهة DSKY


كانت واجهة المستخدم لجهاز التحكم الآلي في الكسب (AGC) هي DSKY ، اختصارًا لـ " شاشة العرض ولوحة المفاتيح" ، وتُنطق عادةً / ˈdɪski / DISS -kee . تحتوي على مجموعة من أضواء المؤشرات، وشاشات عرض رقمية، ولوحة مفاتيح تشبه لوحة المفاتيح الحاسبة . كانت الأوامر تُدخل رقميًا، على شكل أرقام مكونة من خانتين: فعل واسم . يصف الفعل نوع الإجراء المطلوب تنفيذه، بينما يحدد الاسم البيانات التي يتأثر بها الإجراء المحدد في أمر الفعل.
عُرض كل رقم عبر شاشة عرض كهربائية ضوئية خضراء عالية الجهد (محددة بـ 530 نانومتر [ 20 ] ) مكونة من سبعة أجزاء ؛ وكانت هذه الشاشات تُشغَّل بواسطة مرحلات كهروميكانيكية ، مما حدّ من معدل التحديث. كما أمكن عرض ثلاثة أرقام موقعة مكونة من خمسة أرقام بالنظام الثماني أو العشري ، وكانت تُستخدم عادةً لعرض متجهات مثل وضعية المركبة الفضائية أو تغيير السرعة المطلوب ( دلتا-V ). على الرغم من تخزين البيانات داخليًا بوحدات مترية ، إلا أنها عُرضت بوحدات القياس الأمريكية . كانت هذه الواجهة، الشبيهة بواجهة الآلة الحاسبة، الأولى من نوعها.
تحتوي وحدة القيادة على جهازي تحكم في وضعية المركبة (DSKY) متصلين بنظام التحكم الآلي في وضعية المركبة (AGC): أحدهما موجود على لوحة العدادات الرئيسية، والآخر في حجرة المعدات السفلية بالقرب من جهاز السدس المستخدم لمحاذاة منصة التوجيه بالقصور الذاتي . أما المركبة القمرية، فكانت مزودة بجهاز تحكم واحد في وضعية المركبة (DSKY) لنظام التحكم الآلي في وضعية المركبة (AGC). وكان مؤشر وضعية المركبة (FDAI)، الذي يتحكم فيه نظام التحكم الآلي في وضعية المركبة (AGC)، موجودًا فوق جهاز التحكم في وضعية المركبة (DSKY) على وحدة تحكم القائد وعلى المركبة القمرية.
توقيت
استُمدّ مرجع التوقيت لنظام التحكم التلقائي في الكسب (AGC) من ساعة بلورية بتردد 2.048 ميجاهرتز . قُسّم تردد الساعة على اثنين لإنتاج ساعة رباعية الأطوار بتردد 1.024 ميجاهرتز ، والتي استخدمها نظام التحكم التلقائي في الكسب لإجراء العمليات الداخلية. كما قُسّم تردد الساعة 1.024 ميجاهرتز على اثنين لإنتاج إشارة بتردد 512 كيلوهرتز تُسمى التردد الرئيسي ؛ استُخدمت هذه الإشارة لمزامنة أنظمة مركبة أبولو الفضائية الخارجية.
تم تقسيم التردد الرئيسي عبر مُقسِّم ، أولًا بخمسة باستخدام عداد حلقي لإنتاج إشارة بتردد 102.4 كيلوهرتز. ثم قُسِّمت هذه الإشارة على اثنين عبر 17 مرحلة متتالية، من F1 (51.2 كيلوهرتز) إلى F17 (0.78125 هرتز). أُعيدت تغذية المرحلة F10 (100 هرتز) إلى وحدة التحكم التلقائي في الكسب (AGC) لزيادة ساعة الوقت الحقيقي والعدادات الأخرى غير الطوعية باستخدام Pinc (الموضح أدناه). استُخدمت المرحلة F17 لتشغيل وحدة التحكم التلقائي في الكسب (AGC) بشكل متقطع أثناء عملها في وضع الاستعداد .
السجلات المركزية
يحتوي جهاز التحكم التلقائي في الكسب (AGC) على أربعة سجلات 16 بت للاستخدام الحسابي العام، تسمى السجلات المركزية :
- أ : المُجمِّع ، للحسابات العامة
- Z : عداد البرنامج – عنوان التعليمات التالية المراد تنفيذها
- س : الباقي من
DVالتعليمات، وعنوان الإرجاع بعدTCالتعليمات - L : المنتج السفلي بعد
MPالتعليمات
كانت هناك أيضًا أربعة مواقع في الذاكرة الأساسية، عند العناوين من 20 إلى 23، تُسمى مواقع التحرير لأن أي شيء مُخزَّن فيها كان يظهر مُزاحًا أو مُدارًا بمقدار بت واحد، باستثناء موقع واحد كان يُزاح إلى اليمين بمقدار سبعة بتات، لاستخراج أحد رموز العمليات التفسيرية ذات السبعة بتات التي كانت مُجمَّعة اثنين في كل كلمة. كان هذا مشتركًا بين وحدات التحكم التلقائي في الكسب (AGC) من الكتلتين الأولى والثانية.
سجلات أخرى



كان لدى نظام التحكم الآلي في الكسب سجلات إضافية تُستخدم داخليًا أثناء التشغيل:
- S : سجل عنوان الذاكرة ذو 12 بت، الجزء السفلي من عنوان الذاكرة
- Bank/Fbank : سجل بنك ذاكرة القراءة فقط (ROM) ذو 5 بتات، لتحديد بنك ذاكرة القراءة فقط (ROM) ذي 1 كيلو كلمة عند العنونة في الوضع الثابت القابل للتبديل
- Ebank : مسجل بنك ذاكرة الوصول العشوائي (RAM) ذو 3 بتات، لاختيار بنك ذاكرة الوصول العشوائي (RAM) ذي 256 كلمة عند العنونة في وضع قابل للمسح والتبديل
- Sbank (البنك الفائق): امتداد بت واحد إلى Fbank، وهو ضروري لأن آخر 4 كيلو كلمة من ذاكرة القراءة فقط (ROM) التي تبلغ 36 كيلو كلمة لم يكن من الممكن الوصول إليها باستخدام Fbank وحده.
- SQ : سجل تسلسل 4 بت؛ التعليمات الحالية
- G : مسجل مخزن مؤقت للذاكرة ذو 16 بت، لحفظ كلمات البيانات التي تنتقل من وإلى الذاكرة
- X : المدخل 'x' إلى الجامع (تم استخدام الجامع لإجراء جميع العمليات الحسابية باستخدام المتمم الواحدي ) أو الزيادة في عداد البرنامج ( المسجل Z ).
- Y : المدخل الآخر ('y') للجامع
- U : ليس سجلاً بالمعنى الحرفي، ولكنه ناتج الجامع ( مجموع المتمم الواحدي لمحتويات السجلين X و Y ).
- B : سجل تخزين مؤقت للأغراض العامة، يُستخدم أيضًا لجلب التعليمات التالية مسبقًا. في بداية التعليمات التالية، يتم نسخ البتات العليا من B (التي تحتوي على رمز العملية التالية) إلى SQ ، ويتم نسخ البتات السفلى (العنوان) إلى S.
- ج : ليس سجلاً منفصلاً، بل هو المتمم الآحادي للسجل ب
- المدخلات : أربعة سجلات إدخال 16 بت
- المخرجات : خمسة سجلات إخراج 16 بت
مجموعة التعليمات
استخدم تنسيق التعليمات 3 بتات لرمز العملية ، و12 بتًا للعنوان. احتوت الكتلة الأولى على 11 تعليمة: TC1، CCS2 INDEX، 3 XCH، 4، 5، 6 CS، 7، 8 TS( أساسية)، و 8 ، 9 ، 10، 11 (إضافية). تم الوصول إلى التعليمات الثماني الأولى، المسماة بالتعليمات الأساسية ، مباشرةً بواسطة رمز العملية المكون من 3 بتات. أما التعليمات الثلاث الأخيرة، فقد سُميت بتعليمات إضافية ، لأنه تم الوصول إليها من خلال تنفيذ نوع خاص من التعليمات (يُسمى 1 ) مباشرةً قبل تعليمة 1.ADMASKSUMPDVTCEXTEND
تضمنت تعليمات وحدة التحكم التلقائي في الكسب (AGC) من الفئة الأولى ما يلي:
TC(التحكم في التحويل)- يُتيح هذا الأمر الانتقال غير المشروط إلى العنوان المُحدد في التعليمات. وقد تم تخزين عنوان العودة تلقائيًا في سجل Q، مما
TCيسمح باستخدام هذه التعليمات لاستدعاء الإجراءات الفرعية. CCS(عدّ، قارن، ثم تخطى)- تعليمة تفرع شرطي معقدة. تم تحميل المسجل A بالبيانات المسترجعة من العنوان المحدد في التعليمة. (نظرًا لأن وحدة التحكم التلقائي في الكسب (AGC) تستخدم ترميز المتمم الأحادي ، فهناك تمثيلان للصفر. عندما تكون جميع البتات مضبوطة على الصفر، يُسمى هذا صفرًا موجبًا . وإذا كانت جميع البتات مضبوطة على واحد، يُسمى هذا صفرًا سالبًا ). ثم تم حساب القيمة المطلقة المتناقصة (DABS) للبيانات وتخزينها في المسجل A. إذا كان العدد أكبر من الصفر، فإن DABS تُنقص القيمة بمقدار 1؛ أما إذا كان العدد سالبًا، فيتم عكسه قبل تطبيق النقصان - وهذه هي القيمة المطلقة. تعني كلمة "متناقصة" "مُنقصة ولكن ليست أقل من الصفر". لذلك، عندما تُنفذ وحدة التحكم التلقائي في الكسب (AGC) وظيفة DABS، ستتجه الأعداد الموجبة نحو الصفر الموجب، وكذلك الأعداد السالبة، ولكن بعد الكشف عن سلبيتها من خلال التخطي الرباعي الموضح أدناه. الخطوة الأخيرة
CCSهي تخطي رباعي، يعتمد على البيانات الموجودة في المسجل A قبل DABS. إذا كانت قيمة المسجل A أكبر من صفر،CCSينتقل التنفيذ إلى أول تعليمة تلي القيمة صفر مباشرةًCCS. إذا احتوى المسجل A على صفر موجب،CCSينتقل التنفيذ إلى التعليمة الثانية بعدCCSالقيمة صفر. أما إذا كانت القيمة أقل من صفر، ينتقل التنفيذ إلى التعليمة الثالثة بعد القيمةCCSصفر، وإذا كانت القيمة سالبة صفر، ينتقل التنفيذ إلى التعليمة الرابعة بعدCCSالقيمة صفر. كان الغرض الأساسي من العد هو السماح لحلقة تكرار عادية، يتحكم بها عداد موجب، بالانتهاء عند القيمة صفر،CCSوالعودةTCإلى بداية الحلقة، وهو ما يعادل عداد IBM 360.BCTاعتُبرت دالة القيمة المطلقة مهمة بما يكفي لتضمينها في هذه التعليمة؛ فعند استخدامها لهذا الغرض فقط، كان التسلسل بعد القيمة صفرCCSهوTC*+2،TC*+2،ADONE. ومن الآثار الجانبية الغريبة إنشاء واستخدامCCSثقوب فارغة عندما تكون القيمة المختبرة معروفة بأنها ليست موجبة أبدًا، وهو ما حدث أكثر مما قد يتوقعه المرء. وقد ترك ذلك كلمتين كاملتين غير مشغولتين، وكانت لجنة خاصة مسؤولة عن تعيين ثوابت بيانات لهذه الثقوب. INDEX- أضف البيانات المسترجعة من العنوان المحدد في التعليمات إلى التعليمات التالية.
INDEXيمكن استخدام هذه الطريقة لإضافة أو طرح قيمة فهرس من العنوان الأساسي المحدد بواسطة معامل التعليمات اللاحقةINDEX. تُستخدم هذه الطريقة لتنفيذ المصفوفات وعمليات البحث في الجداول؛ ولأن عملية الإضافة تمت على كلا الكلمتين الكاملتين، فقد استُخدمت أيضًا لتعديل رمز العملية في تعليمات لاحقة (رمز إضافي)، وفي حالات نادرة، لكلا الوظيفتين معًا. RESUME- حالة خاصة من
INDEX(INDEX25). هذه هي التعليمة المستخدمة للعودة من المقاطعات. وهي تتسبب في استئناف التنفيذ من الموقع الذي تمت مقاطعته. XCH(تبادل)- استبدل محتويات الذاكرة بمحتويات المسجل A. إذا كان عنوان الذاكرة المحدد موجودًا في ذاكرة ثابتة (للقراءة فقط)، فلن تتأثر محتويات الذاكرة، وستقوم هذه التعليمة ببساطة بتحميل المسجل A. أما إذا كان موجودًا في ذاكرة قابلة للمسح، فسيتم "تصحيح" تجاوز السعة عن طريق تخزين البت الأيسر من البتات الـ 16 في A كبت إشارة في الذاكرة، ولكن لا يوجد سلوك استثنائي مماثل لما هو عليه في حالة
TS. CS(مسح وطرح)- قم بتحميل السجل A بالمكمل الأحادي للبيانات المشار إليها بواسطة عنوان الذاكرة المحدد.
TS(نقل إلى المخزن)- يُخزّن السجل A في عنوان الذاكرة المُحدد. كما يكشف هذا الأمر عن حالات تجاوز السعة
TSويُصححها، بحيث يُمرر بتًا محمولًا في عمليات الجمع/الطرح متعددة الدقة. إذا لم يكن هناك تجاوز في النتيجة (أي أن أول بتين من A متطابقتان)، فلا يحدث أي شيء. أما إذا كان هناك تجاوز (أي أن هذين البتين مختلفتان)، فيُخزّن البُت الأيسر في الذاكرة كبت إشارة، ويُغيّر السجل A إلى +1 أو -1 وفقًا لذلك، وينتقل التحكم إلى التعليمة الثانية التي تلي ذلك . عندما يكون تجاوز السعة حدثًا محتملًا ولكنه غير طبيعي، يتبع ذلك إدخال إلى منطق عدم تجاوز السعة. أما عندما يكون احتمالًا طبيعيًا (كما هو الحال في عمليات الجمع/الطرح متعددة الدقة)، فيتبع ذلك صفر ( أي إدخال القيمة إلى الذاكرة الثابتة) لإكمال تكوين البت المحمول (+1 أو 0 أو -1) في الكلمة التالية ذات الدقة الأعلى. حُفظت الزوايا بدقة أحادية، والمسافات والسرعات بدقة مزدوجة، والوقت المنقضي بدقة ثلاثية.TSTSTCTSCAFCAFXCH AD(يضيف)- أضف محتويات الذاكرة إلى المسجل A وخزّن النتيجة فيه. قد تختلف قيم البتتين الموجودتين في أقصى اليسار من A (حالة تجاوز السعة) قبل أو بعد العملية
AD. ولأن تجاوز السعة حالة وليس حدثًا، فإنه يسمح بحدوث تجاوزات محدودة عند جمع أكثر من عددين، طالما أن أيًا من المجاميع الوسيطة لا يتجاوز ضعف سعة الكلمة. MASK- قم بإجراء عملية منطقية (بوليانية) على الذاكرة باستخدام المسجل A وقم بتخزين النتيجة في المسجل A.
MP(ضاعف)- اضرب محتويات المسجل A بالبيانات الموجودة في عنوان الذاكرة المشار إليه، وخزّن الناتج ذي الرتبة العليا في المسجل A والناتج ذي الرتبة الدنيا في المسجل LP. تتطابق أجزاء الناتج في الإشارة.
DV(قسمة)- قسّم محتويات المسجل A على البيانات الموجودة في عنوان الذاكرة المشار إليه. خزّن ناتج القسمة في المسجل A والقيمة المطلقة للباقي في المسجل Q. على عكس الآلات الحديثة، كانت الأعداد ذات الفاصلة الثابتة تُعامل ككسور (فاصلة عشرية افتراضية على يمين بت الإشارة مباشرةً)، لذا كان من الممكن إنتاج بيانات غير صحيحة إذا لم يكن المقسوم عليه أكبر من المقسوم؛ ولم تكن هناك حماية ضد هذه الحالة. في وحدة التحكم التلقائي في الكسب (AGC) من الفئة الثانية، كان المقسوم ذو الدقة المزدوجة يبدأ في A وL (وحدة التحكم المنطقية LP من الفئة الثانية)، وكان الباقي ذو الإشارة الصحيحة يُخزّن في L. وقد بسّط ذلك بشكل كبير الروتين الفرعي للقسمة ذات الدقة المزدوجة.
SU(طرح)- اطرح (المتمم الأحادي) البيانات الموجودة في عنوان الذاكرة المشار إليه من محتويات السجل A وخزن النتيجة في A.
تم تنفيذ التعليمات في مجموعات من 12 خطوة، تُسمى نبضات التوقيت . سُميت نبضات التوقيت من TP1 إلى TP12. تُسمى كل مجموعة من 12 نبضة توقيت بتسلسل فرعي للتعليمات . التعليمات البسيطة، مثل TC، تُنفذ في تسلسل فرعي واحد من 12 نبضة. أما التعليمات الأكثر تعقيدًا فتتطلب عدة تسلسلات فرعية. MPاستخدمت تعليمة الضرب ( ) ثمانية تسلسلات فرعية: تسلسل أولي يُسمى MP0، يليه MP1تسلسل فرعي يُكرر ست مرات، ثم ينتهي بتسلسل MP3فرعي . تم تقليص هذا إلى ثلاثة تسلسلات فرعية في الكتلة الثانية.
يمكن لكل نبضة توقيت في تسلسل فرعي أن تُطلق ما يصل إلى 5 نبضات تحكم . نبضات التحكم هي الإشارات التي تقوم بالعمل الفعلي للتعليمات، مثل قراءة محتويات سجل على ناقل البيانات، أو كتابة البيانات من ناقل البيانات إلى سجل.
ذاكرة

تم تنظيم ذاكرة التحكم التلقائي في الكسب (AGC) من الفئة الأولى في بنوك سعة كل منها كيلو كلمة. كان البنك الأدنى (البنك 0) ذاكرة قابلة للمسح (RAM). أما جميع البنوك التي تلي البنك 0 فكانت ذاكرة ثابتة (ROM). احتوت كل تعليمة AGC على حقل عنوان مكون من 12 بت. حددت البتات الدنيا (1-10) عنوان الذاكرة داخل كل بنك. أما البتات 11 و12 فقد حددت البنك: 00 حدد بنك الذاكرة القابلة للمسح؛ 01 حدد البنك الأدنى (البنك 1) من الذاكرة الثابتة؛ 10 حدد البنك التالي (البنك 2)؛ و11 حدد سجل البنك الذي يمكن استخدامه لتحديد أي بنك أعلى من 2. سُميت البنكان 1 و2 بالذاكرة الثابتة ، لأنهما كانا متاحين دائمًا، بغض النظر عن محتويات سجل البنك. أما البنوك من 3 فما فوق فقد سُميت بالذاكرة الثابتة القابلة للتبديل لأن البنك المحدد كان يُحدد بواسطة سجل البنك.
كانت وحدة التحكم الآلي في الكسب (AGC) من الفئة الأولى تحتوي في البداية على 12 كيلو كلمة من الذاكرة الثابتة، ولكن تم رفعها لاحقًا إلى 24 كيلو كلمة. أما الفئة الثانية فكانت تحتوي على 36 كيلو كلمة من الذاكرة الثابتة و2 كيلو كلمة من الذاكرة القابلة للمسح.
يقوم مُتحكم التحكم التلقائي في الكسب (AGC) بنقل البيانات من وإلى الذاكرة عبر المسجل G في عملية تُسمى دورة الذاكرة . تستغرق دورة الذاكرة 12 نبضة زمنية (11.72 ميكروثانية). تبدأ الدورة عند النبضة الزمنية الأولى (TP1) عندما يقوم مُتحكم التحكم التلقائي في الكسب بتحميل عنوان الذاكرة المراد جلبه إلى المسجل S. يسترجع مُتحكم الذاكرة كلمة البيانات من الذاكرة عند العنوان المُحدد بواسطة المسجل S. تُودع الكلمات من الذاكرة القابلة للمسح في المسجل G عند النبضة الزمنية السادسة (TP6)؛ وتُصبح الكلمات من الذاكرة الثابتة متاحة عند النبضة الزمنية السابعة. تُصبح كلمة الذاكرة المُسترجعة متاحة بعد ذلك في المسجل G ليتمكن مُتحكم التحكم التلقائي في الكسب من الوصول إليها خلال النبضات الزمنية من 7 إلى 10. بعد النبضة الزمنية العاشرة، تُكتب البيانات الموجودة في المسجل G مرة أخرى إلى الذاكرة.
كانت دورة ذاكرة التحكم التلقائي في الكسب (AGC) تحدث باستمرار أثناء تشغيل نظام التحكم التلقائي في الكسب. وكان على التعليمات التي تحتاج إلى بيانات الذاكرة الوصول إليها خلال نبضات التوقيت من 7 إلى 10. إذا قام نظام التحكم التلقائي في الكسب بتغيير كلمة الذاكرة في سجل G، تُكتب الكلمة المُغيرة مرة أخرى إلى الذاكرة بعد نبضة التوقيت 10. وبهذه الطريقة، تنتقل كلمات البيانات باستمرار من الذاكرة إلى سجل G ثم تعود مرة أخرى إلى الذاكرة.
تحتوي البتات الخمسة عشر السفلى من كل كلمة ذاكرة على تعليمات أو بيانات التحكم التلقائي في الكسب (AGC)، وتُحمي كل كلمة ببت تكافؤ فردي سادس عشر. يُضبط هذا البت على 1 أو 0 بواسطة دائرة مولد التكافؤ، بحيث ينتج عن عدد الآحاد في كل كلمة ذاكرة دائمًا عدد فردي. تختبر دائرة فحص التكافؤ بت التكافؤ خلال كل دورة ذاكرة؛ فإذا لم يتطابق البت مع القيمة المتوقعة، يُفترض أن كلمة الذاكرة تالفة، ويُضاء مؤشر إنذار التكافؤ .
المقاطعات والعدادات اللاإرادية
كان لدى وحدة التحكم التلقائي في الكسب (AGC) مقاطعات موجهة ، بما في ذلك ما يلي:
- تم تشغيل Dsrupt على فترات منتظمة لتحديث شاشة المستخدم (DSKY).
- تم توليد Erupt بسبب أعطال أو إنذارات مختلفة في الأجهزة.
- يشير Keyrupt1 و Keyrupt2 إلى ضغطة مفتاح من لوحة المفاتيح الرئيسية للمستخدم أو لوحة مفاتيح التنقل على التوالي.
- تم إنشاء T3Rupt على فترات منتظمة من مؤقت الأجهزة لتحديث ساعة الوقت الحقيقي لـ AGC .
- تم إنشاء Uprupt في كل مرة يتم فيها تحميل كلمة 16 بت من بيانات الوصلة الصاعدة في AGC.
استجابت وحدة التحكم التلقائي في الكسب (AGC) لكل مقاطعة عن طريق تعليق البرنامج الحالي مؤقتًا، وتنفيذ روتين خدمة مقاطعة قصير، ثم استئناف البرنامج الذي تمت مقاطعته.
احتوى جهاز التحكم التلقائي في الكسب (AGC) أيضًا على 20 عدادًا غير طوعي . كانت هذه العدادات عبارة عن مواقع ذاكرة تعمل كعدادات تصاعدية/تنازلية، أو مسجلات إزاحة. كانت هذه العدادات تزيد أو تنقص أو تُزاح استجابةً للمدخلات الداخلية. تتم معالجة الزيادة ( Pinc ) أو النقصان ( Minc ) أو الإزاحة ( Shinc ) بواسطة سلسلة فرعية واحدة من التعليمات الدقيقة المُدرجة بين أي تعليمتين عاديتين.
قد تحدث المقاطعات عند تجاوز عداداتها الحد الأقصى. تحدث مقاطعتا T3rupt وDsrupt عندما تتجاوز عداداتهما، التي تعمل بتردد ساعة 100 هرتز، الحد الأقصى بعد تنفيذ العديد من تسلسلات Pinc الفرعية. أما مقاطعة Uprupt فتُفعّل بعد أن يقوم عدادها، أثناء تنفيذ تسلسل Shinc الفرعي، بنقل 16 بت من بيانات الوصلة الصاعدة إلى وحدة التحكم التلقائي في الكسب (AGC).
وضع الاستعداد
يحتوي جهاز التحكم التلقائي في الكسب (AGC) على وضع توفير الطاقة الذي يتم التحكم فيه بواسطة مفتاح السماح بالاستعداد . في هذا الوضع، يتم إيقاف تشغيل جهاز التحكم التلقائي في الكسب، باستثناء ساعة التردد 2.048 ميجاهرتز ووحدة قياس التردد. تقوم إشارة F17 من وحدة قياس التردد بإعادة تشغيل جهاز التحكم التلقائي في الكسب، ثم إعادة تشغيله كل 1.28 ثانية. في هذا الوضع، يؤدي جهاز التحكم التلقائي في الكسب وظائفه الأساسية، ويتحقق من مفتاح السماح بالاستعداد، وإذا كان لا يزال مُفعلاً، فإنه يُوقف تشغيل الطاقة ويعود إلى وضع السكون حتى وصول إشارة F17 التالية.
في وضع الاستعداد، كان جهاز التحكم التلقائي في الكسب (AGC) في وضع السكون معظم الوقت؛ لذا لم يكن نشطًا لتنفيذ تعليمات Pinc اللازمة لتحديث ساعة الوقت الحقيقي الخاصة به على فترات زمنية قدرها 10 مللي ثانية. وللتعويض عن ذلك، كانت إحدى الوظائف التي يؤديها جهاز التحكم التلقائي في الكسب (AGC) في كل مرة يستيقظ فيها من وضع الاستعداد هي تحديث ساعة الوقت الحقيقي بمقدار 1.28 ثانية.
صُمم وضع الاستعداد لتقليل استهلاك الطاقة بمقدار 5-10 واط (من 70 واط) أثناء الطيران في منتصف المسار عندما لا تكون هناك حاجة إلى نظام التحكم التلقائي في الكسب (AGC). ومع ذلك، عمليًا، ظل نظام التحكم التلقائي في الكسب قيد التشغيل خلال جميع مراحل المهمة، ولم تُستخدم هذه الميزة مطلقًا.
ناقلات البيانات
كان لدى وحدة التحكم التلقائي في الكسب (AGC) ناقل قراءة وناقل كتابة بسعة 16 بت. يمكن توجيه البيانات من السجلات المركزية (A، Q، Z، أو LP)، أو من سجلات داخلية أخرى، إلى ناقل القراءة باستخدام إشارة تحكم. يتصل ناقل القراءة بناقل الكتابة عبر مُخزن مؤقت غير عاكس، لذا فإن أي بيانات تظهر على ناقل القراءة تظهر أيضًا على ناقل الكتابة. يمكن لإشارات تحكم أخرى نسخ بيانات ناقل الكتابة إلى السجلات.
كانت عمليات نقل البيانات تتم على النحو التالي: لنقل عنوان التعليمة التالية من المسجل B إلى المسجل S، يتم إصدار إشارة تحكم RB (قراءة B)؛ مما يؤدي إلى نقل العنوان من المسجل B إلى ناقل القراءة، ثم إلى ناقل الكتابة. وتقوم إشارة تحكم WS (كتابة S) بنقل العنوان من ناقل الكتابة إلى المسجل S.
يمكن قراءة عدة سجلات على ناقل القراءة في وقت واحد. عند حدوث ذلك، تُدمج البيانات من كل سجل باستخدام عملية " أو" الشاملة على الناقل. استُخدمت خاصية " أو" الشاملة هذه لتنفيذ تعليمة القناع، وهي عملية "و" منطقية . ولأن وحدة التحكم التلقائي في الكسب (AGC) لا تملك القدرة الأصلية على إجراء عملية "و" منطقية ، ولكنها تستطيع إجراء عملية "أو" منطقية عبر الناقل، كما تستطيع عكس البيانات (إكمالها) عبر السجل C، فقد استُخدمت نظرية دي مورغان لتنفيذ ما يُعادل عملية "و" المنطقية . وقد تحقق ذلك بعكس كلا المعاملين، وإجراء عملية "أو" منطقية عبر الناقل، ثم عكس النتيجة.
برمجة



تمت كتابة برنامج AGC بلغة التجميع الخاصة بـ AGC وتخزينه على ذاكرة حبلية . كان الجزء الأكبر من البرنامج موجودًا على ذاكرة حبلية للقراءة فقط، وبالتالي لم يكن من الممكن تغييره أثناء التشغيل، [ 22 ] ولكن بعض الأجزاء الرئيسية من البرنامج تم تخزينها في ذاكرة أساسية مغناطيسية قياسية للقراءة والكتابة، ويمكن لرواد الفضاء الكتابة فوقها باستخدام واجهة DSKY، كما حدث في أبولو 14 .
نظام تشغيل بسيط يعمل في الوقت الحقيقي، صممه ج. هالكومب لانينغ [ 23 ]، يتألف من "المنفذ" (Exec)، وهو نظام جدولة مهام مجمعة باستخدام تعدد المهام التعاوني [ 24 ] ، ومجدول استباقي يعمل بالمقاطعات يُسمى " قائمة الانتظار" (Waitlist)، والذي يجدول "المهام" التي تعمل بالمؤقت، ويتحكم في الحاسوب. المهام عبارة عن سلاسل تنفيذ قصيرة يمكنها إعادة جدولة نفسها لإعادة التنفيذ على قائمة الانتظار، أو يمكنها بدء عملية أطول عن طريق بدء "مهمة" باستخدام المنفذ. أُجريت الحسابات باستخدام النظام المتري ، لكن قراءات الشاشة كانت بوحدات القدم، والقدم في الثانية، والميل البحري - وهي وحدات اعتاد عليها رواد فضاء أبولو. [ 25 ] أنقذ تصميم لانينغ مهمة هبوط أبولو 11 عندما بدأ برنامج واجهة رادار الالتقاء باستخدام مجموعات ذاكرة أساسية ومساحات "مُجمِّع المتجهات" أكثر مما هو متاح فعليًا في الذاكرة، مما تسبب في الخطأين 1201 و1202 سيئَي السمعة. لولا تصميم لانينغ، لكان الهبوط قد أُجهض لعدم وجود حاسوب توجيه مستقر. [ 26 ]
كان لدى نظام AGC مُفسِّر برمجيات متطور، طُوِّر في مختبر الأجهزة التابع لمعهد ماساتشوستس للتكنولوجيا ، يُنفِّذ آلة افتراضية ذات تعليمات زائفة أكثر تعقيدًا وقدرة من تلك الموجودة في نظام AGC الأصلي. سهّلت هذه التعليمات برامج الملاحة. ويمكن دمج الشفرة المُفسَّرة، التي تضمنت حسابات مثلثية مزدوجة الدقة ، وحسابات قياسية ومتجهة (16 و24 بت)، وحتى MXVتعليمات (مصفوفة × متجه)، مع شفرة AGC الأصلية. مع أن وقت تنفيذ التعليمات الزائفة ازداد (بسبب الحاجة إلى تفسيرها أثناء التشغيل)، إلا أن المُفسِّر وفّر عددًا أكبر بكثير من التعليمات مقارنةً بما يدعمه نظام AGC أصلاً، وكانت متطلبات الذاكرة أقل بكثير مما لو أُضيفت هذه التعليمات إلى لغة AGC الأصلية، الأمر الذي كان سيتطلب ذاكرة إضافية مُدمجة في الحاسوب (كانت الذاكرة باهظة الثمن في ستينيات القرن الماضي ). استغرقت التعليمات الزائفة في المتوسط حوالي 24 مللي ثانية للتنفيذ. قام المجمع، المسمى YUL نسبة إلى نموذج أولي مبكر لجهاز كمبيوتر عيد الميلاد ، [ 27 ] بفرض انتقالات مناسبة بين التعليمات البرمجية الأصلية والمفسرة.
وفرت مجموعة من إجراءات واجهة المستخدم التي تعمل بالمقاطعات، والتي تُسمى "بينبول"، خدمات لوحة المفاتيح والشاشة للوظائف والمهام التي تُنفذ على وحدة التحكم الآلي في الكسب (AGC). كما وُفرت مجموعة من الإجراءات التي يمكن للمستخدم الوصول إليها لتمكين رواد الفضاء من عرض محتويات مواقع الذاكرة المختلفة بالنظام الثماني أو العشري في مجموعات من 1 أو 2 أو 3 سجلات في كل مرة. ووُفرت إجراءات "المراقبة" لتمكين المشغل من بدء مهمة لإعادة عرض محتويات مواقع ذاكرة معينة بشكل دوري. ويمكن بدء الوظائف.
أصبحت مبادئ التصميم التي وضعها مختبر الأجهزة في معهد ماساتشوستس للتكنولوجيا (MIT) لنظام التحكم الآلي في المدار (AGC)، والذي أداره تشارلز دريبر في أواخر الستينيات ، أساسيةً لهندسة البرمجيات ، لا سيما في تصميم أنظمة أكثر موثوقية تعتمد على البرمجيات غير المتزامنة ، وجدولة الأولويات ، والاختبار، وقدرة الإنسان على المشاركة في اتخاذ القرارات. [ 28 ] عند تحديد متطلبات تصميم نظام التحكم الآلي في المدار، لم تكن البرمجيات وتقنيات البرمجة اللازمة متوفرة، لذا كان لا بد من تصميمها من الصفر. استندت العديد من خوارزميات المسار والتوجيه المستخدمة إلى أعمال سابقة لريتشارد باتين . [ 23 ] تم التحكم في أول رحلة لوحدة القيادة بواسطة حزمة برمجية تُسمى كورونا، قاد تطويرها أليكس كوسمالا. أما برمجيات المهمات القمرية، فكانت تتألف من كولوسوس لوحدة القيادة، الذي قاد تطويره فريدريك مارتن، ولوميناري [ 29 ] لوحدة الهبوط القمرية بقيادة جورج تشيري. وقد تولى فريق تحت إشراف مارغريت هاميلتون تنفيذ تفاصيل هذه البرامج . [ 30 ] كانت هاميلتون مهتمة للغاية بكيفية تفاعل رواد الفضاء مع البرنامج، وتوقعت أنواع الأخطاء التي قد تحدث نتيجة للخطأ البشري. [ 24 ] [ 30 ] بلغ إجمالي سنوات العمل في تطوير البرنامج للمشروع 1400 سنة عمل، ووصل عدد العاملين فيه إلى ذروته عند 350 شخصًا. [ 23 ] في عام 2016، مُنحت هاميلتون وسام الحرية الرئاسي لدورها في إنشاء برنامج الطيران.
أثر برنامج حاسوب التوجيه الخاص ببرنامج أبولو على تصميم سكايلاب ومكوك الفضاء وأنظمة الطائرات المقاتلة المبكرة التي تعمل بنظام التحكم الإلكتروني. [ 31 ] [ 32 ]
وقد أطلق على حاسوب التوجيه أبولو اسم "رائد الفضاء الرابع" لدوره في مساعدة رواد الفضاء الثلاثة الذين اعتمدوا عليه: نيل أرمسترونغ ، وباز ألدرين ، ومايكل كولينز . [ 33 ]
المبنى الثاني
صُممت نسخة Block II من وحدة التحكم AGC عام 1966. احتفظت هذه النسخة بالبنية الأساسية لنسخة Block I، لكنها زادت سعة الذاكرة القابلة للمسح من 1 إلى 2 كيلو كلمة. كما زادت سعة الذاكرة الثابتة من 24 إلى 36 كيلو كلمة. وزاد عدد التعليمات من 11 إلى 34، وتم تطبيق قنوات الإدخال/الإخراج بدلاً من سجلات الإدخال/الإخراج في نسخة Block I. نسخة Block II هي التي سافرت فعلياً إلى القمر. أما نسخة Block I فقد استُخدمت خلال رحلتي أبولو 4 و 6 غير المأهولتين، وكانت موجودة على متن مركبة أبولو 1 المنكوبة .
كان لقرار توسيع الذاكرة ومجموعة التعليمات للوحدة الثانية، مع الإبقاء على رمز العملية المحدود ذي الثلاث بتات وعنوان الوحدة الأولى ذي الاثني عشر بتًا، نتائج تصميمية مثيرة للاهتمام. استُخدمت حيلٌ مختلفة لإضافة تعليمات إضافية، مثل وجود عناوين ذاكرة خاصة، عند الرجوع إليها، تُنفّذ وظيفة معينة. على سبيل المثال، يؤدي الوصول INDEXإلى العنوان 25 إلى تشغيل RESUMEتعليمة العودة من مقاطعة. وبالمثل، INDEXيُنفّذ العنوان 17 INHINTتعليمة منع المقاطعات، بينما INDEXيُعيد العنوان 16 تفعيلها RELINT. نُفّذت تعليمات أخرى بإضافة نسخة خاصة من TCتعليمة منع المقاطعات EXTEND. وُسّعت مساحات العناوين باستخدام سجلات البنك (الثابت) وسجلات البنك القابل للمسح، بحيث تكون الذاكرة الوحيدة من أي نوع التي يُمكن الوصول إليها في أي وقت هي البنك الحالي، بالإضافة إلى كمية صغيرة من الذاكرة الثابتة والذاكرة القابلة للمسح. علاوة على ذلك، يُمكن لسجل البنك الوصول إلى 32 كيلو كلمة كحد أقصى، لذا كان من الضروري وجود سجل البنك الفائق للوصول إلى آخر 4 كيلو كلمة. كان لا بد من بدء جميع استدعاءات الروتين الفرعي عبر البنوك من ذاكرة ثابتة من خلال وظائف خاصة لاستعادة البنك الأصلي أثناء العودة: وهو في الأساس نظام من المؤشرات البعيدة .
يحتوي نظام التحكم التلقائي في الكسب (AGC) من الفئة الثانية أيضًا على EDRUPTتعليمة (اسمها اختصار لعبارة Ed's Interrupt ، نسبةً إلى إد سمولي ، المبرمج الذي طلبها). لا تُولّد هذه التعليمة مقاطعة، بل تُنفّذ إجراءين شائعين في معالجة المقاطعات. الإجراء الأول هو منع المقاطعات اللاحقة (ويتطلب RESUMEتعليمة لإعادة تفعيلها). في الإجراء الثاني، ZRUPTيتم تحميل السجل بالقيمة الحالية لعداد البرنامج (Z). استُخدمت هذه التعليمة مرة واحدة فقط في برنامج أبولو، لإعداد تسلسل إنهاء دورة الطيار الآلي الرقمي (DAP) في الطيار الآلي الرقمي لوحدة الهبوط القمرية . [ 34 ] يُعتقد أنها مسؤولة عن مشاكل محاكاة برنامج Luminary الخاص بنظام التحكم التلقائي في الكسب (AGC) لوحدة الهبوط القمرية .
1201 و1202 تنبيهات البرنامج

أصدر نظام التحكم في الشبكة العامة (PGNCS) تحذيرات غير متوقعة أثناء هبوط أبولو 11 على سطح القمر ، حيث أظهر نظام التحكم الآلي في الكسب (AGC) إنذارًا برقم 1202 ("تجاوز في وضع التشغيل - لا توجد مجموعات أساسية")، [ 35 ] ثم إنذارًا برقم 1201 ("تجاوز في وضع التشغيل - لا توجد مناطق فراغ"). [ 36 ] وكان رد فعل نظام التحكم الآلي في الكسب على كلا الإنذارين إعادة تشغيل سلسة. ويعود السبب إلى تدفق سريع وثابت من عمليات سرقة دورات زائفة من رادار الالتقاء (الذي يتتبع وحدة القيادة المدارية)، والذي تُرك عمدًا في وضع الاستعداد أثناء الهبوط تحسبًا للحاجة إليه في حالة الإجهاض. [ 37 ] [ 38 ]
خلال هذه المرحلة من الهبوط، يكون المعالج عادةً مُحملاً بنسبة 85% تقريبًا. أضافت عمليات سرقة البيانات الإضافية، والبالغة 6400 دورة في الثانية، ما يعادل 13% من الحمل، تاركةً وقتًا كافيًا لإتمام جميع المهام المُجدولة. بعد خمس دقائق من بدء الهبوط، أعطى باز ألدرين الحاسوب الأمر 1668 ، الذي يُوجهه لحساب وعرض دلتا (الفرق بين الارتفاع المُستشعر بواسطة الرادار والارتفاع المحسوب) بشكل دوري. [ ملاحظة 1 ] أضاف الأمر 1668 نسبة 10% أخرى إلى حمل المعالج، مما تسبب في تجاوز سعة التنفيذ وإطلاق إنذار 1202. بعد تلقيه إشارة "انطلاق" من هيوستن، أدخل ألدرين الأمر 1668 مرة أخرى، فظهر إنذار 1202 آخر . عند الإبلاغ عن الإنذار الثاني، أضاف ألدرين تعليقًا: "يبدو أنه يظهر عند ظهور الأمر 1668 ". صُمم برنامج التحكم الآلي في التوجيه (AGC) وفقًا لجدولة الأولويات، وكان يستعيد نفسه تلقائيًا، ويحذف المهام ذات الأولوية المنخفضة، بما في ذلك مهمة العرض 1668 ، لإكمال مهام التوجيه والتحكم الأساسية. أصدر مراقب التوجيه ستيف بيلز وفريق الدعم التابع له، والذي ضم جاك جارمان، عدة أوامر "انطلاق"، ونجحت عملية الهبوط. [ 39 ]
لم تكن المشكلة خطأً برمجيًا في وحدة التحكم الآلي بالتحكم (AGC)، ولا خطأً من الطيار، ولا عطلًا في الأجهزة. بل كان سببها خللًا في وثيقة التحكم بالواجهة (ICD) بين نظام التحكم في الشبكة العامة ( PGNCS) ووحدة التحكم في الاتجاه والحركة (ATCA)، حيث لم تُحدد تزامن الطور بين إشارتين بتردد 800 هرتز - وهي مشكلة معروفة وموثقة مسبقًا خلال اختبارات موقع الإطلاق لصاروخ LM-3 في مهمة أبولو 9. [ 40 ] ومع ذلك، ولأن المشكلة لم تحدث إلا مرة واحدة أثناء الاختبار، فقد استنتجوا أنه من الأسلم الطيران بالأجهزة الموجودة التي سبق اختبارها، بدلًا من الطيران بنظام رادار أحدث ولكنه غير مُختبر بشكل كافٍ . في الأجهزة الفعلية، تم ترميز موقع رادار الالتقاء باستخدام إشارات تزامن مُثارة بمصدر تيار متردد بتردد 800 هرتز مختلف عن المصدر الذي يستخدمه الحاسوب كمرجع زمني. كان مصدرا التردد 800 هرتز متزامنين في التردد، لكنهما لم يكونا متزامنين في الطور، وجعل انحراف الطور العشوائي الهوائي يبدو وكأنه "يهتز" بسرعة في موضعه، على الرغم من أنه كان ثابتًا تمامًا. ولّدت هذه الحركات الوهمية سلسلة سريعة من سرقة الدورات، وبالتالي الإشارة 1202. [ 40 ]
أنقذ تصميم البرمجيات والحاسوب الذي ابتكره ج. هالكومب لانينغ مهمة هبوط أبولو 11. ولولا تصميم لانينغ، لكان الهبوط قد أُلغي لعدم وجود حاسوب توجيه مستقر. [ 40 ] [ 41 ]
تطبيقات خارج أبولو

شكّل نظام التحكم الآلي (AGC) أساسًا لنظام تحكم تجريبي يعمل بالتحكم الإلكتروني (FBW) تم تركيبه في طائرة إف-8 كروسيدر لإثبات جدوى هذا النوع من التحكم. استُبدل نظام التحكم الآلي المستخدم في المرحلة الأولى من البرنامج بجهاز آخر في المرحلة الثانية، وأدت الأبحاث التي أُجريت على البرنامج إلى تطوير أنظمة تحكم بالتحكم الإلكتروني لمكوك الفضاء . كما ساهم نظام التحكم الآلي، وإن بشكل غير مباشر، في تطوير أنظمة تحكم بالتحكم الإلكتروني لجيل الطائرات المقاتلة الذي كان قيد التطوير آنذاك. [ 42 ]
إصدار شفرة المصدر
في عام ٢٠٠٣، أطلق رون بيركي مشروع Virtual AGC بهدف استعادة الشفرة المصدرية لحاسوب توجيه أبولو (AGC) وبناء محاكي وظيفي. [ ٤٣ ] [ ٤٤ ] وكجزء من هذا المشروع، أُتيحت الشفرة الأصلية، التي نُسخت ورُقمت من نسخ ورقية تعود إلى ستينيات القرن الماضي، [ ٤٥ ] من خلال مشروع Virtual AGC ومتحف معهد ماساتشوستس للتكنولوجيا . [ ٤٦ ] حظي هذا الجهد باهتمام متجدد في منتصف عام ٢٠١٦ عندما قام كريس غاري، المتدرب السابق في وكالة ناسا، بتحميل الشفرة على منصة GitHub، مما أثار اهتمامًا إعلاميًا واسعًا. [ ٤٧ ] [ ٤٨ ] [ ٤٩ ]
انظر أيضاً
- نظام التوجيه والملاحة الأساسي لأبولو ( Apollo PGNCS)
- أجهزة الكمبيوتر AP-101 (المشتقة من IBM S/360) المستخدمة في مكوك الفضاء
- حاسوب توجيه جيميني
- تاريخ أجهزة الكمبيوتر
ملحوظات
- ↑ وبشكلٍ أدق، يُوجّه الأمر 16 وحدة التحكم في الكسب التلقائي (AGC) لطباعة الاسم (في هذه الحالة، 68، دلتا) مرتين تقريبًا في الثانية. لو كان ألدرين على علمٍ بذلك، لكان الأمر 0668 البسيط (حساب وعرض دلتا، مرة واحدة) قد أضاف عبئًا على النظام بنسبة 5% تقريبًا، ولحدث ذلك مرة واحدة فقط، عند الضغط على زر الإدخال (ENTER).
مراجع
- ↑ دليل المبرمج، الكتلة 2 لغة التجميع AGC ، تم الاطلاع عليه في 27 أغسطس 2018
- 1 2 هول، إلدون سي. (1996)، رحلة إلى القمر: تاريخ حاسوب توجيه أبولو ، ريستون، فيرجينيا، الولايات المتحدة الأمريكية: AIAA ، ص 196، ISBN 1-56347-185-X
- ↑ إنتربارتولو، مايكل (يناير 2009). "نظرة عامة على أجهزة التوجيه والملاحة والتحكم في أبولو" (PDF) .
- 1 2 "1962: أنظمة الفضاء الجوي هي أولى تطبيقات الدوائر المتكاملة في الحواسيب" . متحف تاريخ الحاسوب . 2025. تم الاطلاع عليه في 13 مارس 2025 .
- 1 2 tluong (17 يوليو 2019). "رقائق السيليكون تنقل الإنسان إلى القمر" . CHM . تم الاسترجاع في 31 مارس 2025 .
- ↑ "كيف أوصلت حواسيب رحلات أبولو الرجال إلى القمر والعودة ؟" . 11 مارس 2017.
- ↑ جيمس إي. تومايكو (1988). "حاسوب توجيه أبولو: المكونات المادية" . الحواسيب في رحلات الفضاء: تجربة ناسا . ناسا. مؤرشف من الأصل في 29 ديسمبر 2023.
- 1 2 "حاسوب توجيه أبولو وأولى رقائق السيليكون" . المتحف الوطني للطيران والفضاء . مؤسسة سميثسونيان . 14 أكتوبر 2015. تم الاطلاع عليه في 1 سبتمبر 2019 .
- ↑ أغل، دي سي (سبتمبر 1998). "قيادة مركبة غوسموبيل" . مجلة الطيران والفضاء . تم الاطلاع عليه في 15 ديسمبر 2018 .
- ↑ "مقدمة رامون ألونسو" ، مشروع تاريخ AGC (أرشيف معهد كاليفورنيا للتكنولوجيا، الموقع الأصلي مغلق) ، معهد ماساتشوستس للتكنولوجيا، 27 يوليو 2001 ، تم الاطلاع عليه في 30 أغسطس 2009
- ^ "مقابلة رامون ألونسو (بالإسبانية)" ، رامون ألونسو، الأرجنتيني الذي يجذب أبولو 11 إلى لونا ، دياريو لا ناسيون، 7 مارس 2010
- ↑ "سيرة هيو بلير سميث" ، مشروع تاريخ الجمعية العامة (أرشيف معهد كاليفورنيا للتكنولوجيا، الموقع الأصلي مغلق) ، معهد ماساتشوستس للتكنولوجيا، يناير 2002 ، تم الاطلاع عليه في 30 أغسطس 2009
- ↑ "مقدمة عن هيرب ثالر" ، مشروع تاريخ الجمعية العامة للمقاولين (أرشيف معهد كاليفورنيا للتكنولوجيا، الموقع الأصلي مغلق) ، معهد ماساتشوستس للتكنولوجيا، 14 سبتمبر 2001 ، تم الاطلاع عليه في 30 أغسطس 2009
- ↑ كورينيك، سانتوش ك؛ إندوفينا، مارك؛ ماكنولتي، كارل؛ سيتز، ماثيو (2021). "إعادة كتابة التاريخ: صناعة الشريحة التي صعدت إلى القمر عام 1969 على متن أبولو 11" (ملف PDF) . معهد روتشستر للتكنولوجيا . ص 9. تاريخ الاطلاع: 29 أغسطس 2023 .
- ↑ "مجموعة وحدات المنطق رقم A1-A16" . مختبر الأجهزة في معهد ماساتشوستس للتكنولوجيا. 11 يوليو 1963. صفحة 1 من 2، ملاحظة 2.
- ↑ "متطلبات أبولو للتحكم في العمليات وتصنيع وحدات وتجميعات الدوائر الإلكترونية الملحومة بالمقاومة" . Archive.org . ناسا. 22 مايو 1963. تم الاطلاع عليه في 19 فبراير 2024 .
- ↑ بوتريكا، أندرو ج. (2015). "الفصل 3: دور ناسا في تصنيع الدوائر المتكاملة". في ديك، ستيفن ج. (محرر). دراسات تاريخية في الأثر المجتمعي لرحلات الفضاء (ملف PDF) . ناسا . الصفحات 149-250 . ISBN 978-1-62683-027-1.
- 1 2 3 4 5 هول، إلدون سي. (1972). دور معهد ماساتشوستس للتكنولوجيا في مشروع أبولو: التقرير النهائي عن العقدين NAS 9-163 وNAS 94065 (ملف PDF) . كامبريدج، ماساتشوستس: معهد ماساتشوستس للتكنولوجيا . تاريخ الاسترجاع: 15 يونيو 2021 .
- ↑ بيرس، سي إس (مخطوطة شتاء 1880-1881)، "جبر بولياني بثابت واحد"، نُشر عام 1933 في الأوراق المجمعة ، المجلد 4، الفقرات 12-20. أُعيد طبعه عام 1989 في كتابات تشارلز إس. بيرس ، المجلد 4، الصفحات 218-221، جوجلانظر روبرتس، دون د. (2009)، الرسوم البيانية الوجودية لتشارلز س. بيرس ، ص 131.
- ↑ "إعادة تشغيل جلسة نقاش أبولو دي إس كي واي: القصة الكاملة" . يوتيوب . 27 يوليو 2021.
- ↑ وينستوك، مايا (17 أغسطس 2016). "مشهد في معهد ماساتشوستس للتكنولوجيا: شفرة أبولو لمارغريت هاميلتون" . أخبار معهد ماساتشوستس للتكنولوجيا . تم الاطلاع عليه بتاريخ 17 أغسطس 2016 .
- ^ ميندل 2008 ، ص 154 ، 157.
- 1 2 3 هوغ، ديفيد (سبتمبر 1976). "تاريخ التوجيه والملاحة والتحكم على متن مركبات أبولو" (ملف PDF) . مختبر تشارلز ستارك درابر.
- 1 2 ميندل 2008 ، ص. 149.
- ↑ "هبوط الإنسان على سطح القمر" . الجمعية المترية البريطانية. 18 أكتوبر 2018.
- ↑ "حكايات من حاسوب توجيه الوحدة القمرية" . klabs.org .
- ↑ "مقدمة هيو بلير سميث" ، مشروع تاريخ الجمعية العامة للمقاولين (أرشيف معهد كاليفورنيا للتكنولوجيا، الموقع الأصلي مغلق) ، معهد ماساتشوستس للتكنولوجيا، 30 نوفمبر 2001 ، تم الاطلاع عليه في 21 مارس 2010
- ↑ "وكالة ناسا تكرم مهندس أبولو" (بيان صحفي). 3 سبتمبر 2003.
- ↑ "صفحة الشخصيات البارزة الافتراضية في AGC" .
- 1 2 هارفي الرابع، هاري غولد (13 أكتوبر 2015). "شفرتها أوصلت البشر إلى القمر - واخترعت البرمجيات نفسها" . وايرد . تم الاطلاع عليه في 25 نوفمبر 2018 .
- ↑ "حول مارغريت هاميلتون" . مكتب تصميم المنطق التابع لوكالة ناسا. 3 فبراير 2010.
- ↑ إيه جيه إس رايل. "مهندسو وعلماء ناسا - تحويل الأحلام إلى واقع" . مؤرشف من الأصل في 16 مايو 2016.
- ↑ فونغ ، كيفن (2019). "13 دقيقة إلى القمر: الحلقة 5 رائد الفضاء الرابع" . bbc.co.uk. خدمة بي بي سي العالمية .
- ↑ أوبراين، فرانك (25 يونيو 2010). حاسوب توجيه أبولو: البنية والتشغيل . سبرينغر ساينس آند بيزنس ميديا. ISBN 978-1-4419-0877-3.
- ↑ كولينز، مايكل؛ ألدرين، إدوين (1975)، "ضوء تحذير أصفر" ، في كورترايت، إدغار م. (محرر)، ناسا SP-350، رحلات أبولو إلى القمر ، واشنطن العاصمة: ناسا، ص. الفصل 11.4، ISBN 978-0486471754تم الاطلاع عليه بتاريخ 30 أغسطس 2009
- ^ "كريسلجاري / أبولو 11" . جيثب . تم الاسترجاع 17 يوليو، 2016 .
- ↑ أدلر، بيتر (1998)، جونز، إريك م. (محرر)، "إنذارات برنامج أبولو 11" ، مجلة سطح القمر لأبولو 11 ، ناسا ، تم الاطلاع عليه في 1 سبتمبر 2009
- ↑ مارتن، فريد هـ. (يوليو 1994)، جونز، إريك م. (محرر)، "أبولو 11 : بعد 25 عامًا" ، مجلة سطح القمر لأبولو 11 ، ناسا ، تم الاطلاع عليه في 1 سبتمبر 2009
- ↑ كورترايت، إدغار م.، محرر (1975)، "حاسوب المركبة القمرية" ، مجلة سطح القمر لأبولو 11 ، ناسا ، تم الاطلاع عليه في 4 فبراير 2010
- 1 2 3 إيلز، دون (6 فبراير 2004)، "حكايات من حاسوب توجيه المركبة القمرية" ، المؤتمر السنوي السابع والعشرون للتوجيه والتحكم ، بريكنريدج، كولورادو: الجمعية الأمريكية للملاحة الفضائية
- ↑ ويت، ستيفن (24 يونيو 2019). "أبولو 11: مهمة خارجة عن السيطرة" . وايرد . سان فرانسيسكو: منشورات كوندي ناست . تم الاطلاع عليه في 18 سبتمبر 2019 .
- ↑ تومايكو، جيمس إي. (2000)، "NASA SP-2000-4224 — الحواسيب تحلق: تاريخ مشروع ناسا الرائد للتحكم الرقمي السلكي" (ملف PDF) ، سلسلة تاريخ ناسا ، واشنطن العاصمة: ناسا ، تم الاطلاع عليه في 1 سبتمبر 2009
- ↑ بيركي، رون. "VirtualAGC" . iBiblio . تم الاسترجاع في 10 أبريل 2021 .
- ↑ "مجموعة شفرة المصدر AGC على GitHub، تتم صيانتها بواسطة iBiblio" . GitHub . مؤرشفة من الأصل في 7 مايو 2021.رابط بديل
- ↑ "أرشفة شفرة مصدر أبولو والرجوع إليها" . www.softwareheritage.org . 20 يوليو 2019. تم الاطلاع عليه في 9 سبتمبر 2021 .
- ↑ "الصفحة الرئيسية الافتراضية لـ AGC" . ibiblio.org . تم الاطلاع عليه في 9 سبتمبر 2021 .
- ↑ كولينز، كيث (9 يوليو 2016). "نُشر الكود الذي أوصل أمريكا إلى القمر على منصة GitHub، وهو أشبه بكبسولة زمنية من ستينيات القرن الماضي" . كوارتز . تاريخ الاطلاع: 19 أغسطس 2016 .
- ↑ غاري، كريس. "شفرة المصدر الأصلية لحاسوب التوجيه (AGC) لوحدة القيادة ووحدة الهبوط القمرية في مهمة أبولو 11" . جيت هاب . مؤرشف من الأصل في 12 أبريل 2021.رابط بديل
- ↑ "شفرة المصدر الخاصة بمهمة أبولو 11 متاحة الآن على GitHub" . Engadget . 10 يوليو 2016. تم الاطلاع عليه بتاريخ 9 سبتمبر 2021 .
مصادر
- ميندل، ديفيد أ. (2008). أبولو الرقمية: الإنسان والآلة في رحلات الفضاء . كامبريدج، ماساتشوستس: مطبعة معهد ماساتشوستس للتكنولوجيا. ISBN 978-0-262-26668-0.
روابط خارجية
- وثائق حول AGC وتطورها
- مذكرة AGC4 رقم 9، تعليمات الكتلة الثانية – المذكرة سيئة السمعة التي كانت بمثابة الوثيقة الرسمية الفعلية لمجموعة التعليمات
- الحواسيب في رحلات الفضاء: تجربة ناسا - بقلم جيمس تومايكو (الفصل 2، الجزء 5، حاسوب توجيه أبولو: الأجهزة )
- الحواسيب تحلق عالياً – بقلم جيمس تومايكو
- حاسوب توجيه أبولو - وجهة نظر المستخدم ( ملف PDF ) - بقلم ديفيد سكوت، رائد فضاء مهمة أبولو
- معالجة مدخلات تجميع وحدة التحكم في وضعية المركبة القمرية ( ملف PDF ) - بقلم خوسيه بورتيلو لوغو
- مشروع MIT AGC – مع أرشيف وثائق شامل
- قائمة شفرة المصدر لبرنامج Luminary ، الخاص بحاسوب توجيه المركبة القمرية. (ملاحظة: 622 ميجابايت)
- قائمة شفرة المصدر لبرنامج كولوسوس ، لجهاز توجيه وحدة القيادة. (ملاحظة: 83 ميجابايت)
- مبنى AGC الأول في المتحف الوطني للطيران والفضاء و Dsky
- تعليقات على كتاب إلدون هول "رحلة إلى القمر" - يناقش مبرمج نظام التحكم التلقائي في الكسب (AGC) بعض التفاصيل الغامضة لتطوير نظام AGC، بما في ذلك تفاصيل مقاطعة إد.
- توثيق تصميم أجهزة التحكم التلقائي في الكسب، وخاصة استخدام الدوائر المتكاملة الجديدة بدلاً من الترانزستورات
- توثيق تشغيل برنامج التحكم التلقائي في الكسب
- شركة ديلكو للإلكترونيات، أبولو 15 - دليل برنامج التحكم الآلي في الكسب (AGC) الخاص بوحدة القيادة والخدمة (CSM) ووحدة الهبوط القمرية (LEM) المستخدم في مهمة أبولو 15، ويتضمن إجراءات مفصلة لواجهة المستخدم، وشرحًا للعديد من الخوارزميات الأساسية، ومعلومات محدودة عن الأجهزة. يُرجى ملاحظة أن هذا المستند يتجاوز 500 صفحة، وحجمه يزيد عن 150 ميجابايت.
- شفرة المصدر لرمز وحدة القيادة (Comanche054) ورمز وحدة الهبوط القمرية (Luminary099) كنص.
- شفرة المصدر الكاملة على GitHub: شفرة المصدر الأصلية لجهاز التوجيه Apollo 11 (AGC) لوحدات القيادة والهبوط على القمر.
- بعض المشاريع والمحاكيات القائمة على AGC
- نسخة طبق الأصل من جهاز التحكم التلقائي في الكسب (AGC) - مشروع جون بولتوراك الناجح لبناء نسخة طبق الأصل من جهاز التحكم التلقائي في الكسب (AGC) من طراز Block I في قبو منزله. الموقع البديل: AGC Replica .
- الصفحة الرئيسية الافتراضية لـ AGC - محاكي AGC الخاص برونالد بيركي، بالإضافة إلى استعادة الكود المصدري والثنائي لبرنامج Colossus (CSM) و Luminary (LEM).
- Moonjs – محاكي AGC قائم على الويب يعتمد على Virtual AGC.
- برنامج Eagle Lander 3D التجريبي لمحاكاة هبوط القمر مع نظام تحكم آلي في الكسب (AGC) وشاشة عرض رقمية (DSKY) يعملان (لنظام التشغيل Windows فقط).
- أُعيد تشغيل AGC بعد 45 عامًا - يوتيوب
قصص مميزة
- حاسوب أبولو (1965) - مراسل العلوم في معهد ماساتشوستس للتكنولوجيا - يوتيوب
- شق الطريق إلى القمر (بي بي سي نيوز)
- يحاول القائمون على الإصلاحات تشغيل جهاز توجيه المركبة القمرية ( صحيفة وول ستريت جورنال )
- فيديو عن حاسوب أبولو - يوتيوب
- أجهزة الكمبيوتر الإرشادية
- أجهزة برنامج أبولو
- مقدمات متعلقة بالحاسوب في عام 1966
- برنامج مبرمج بلغة التجميع
- معهد ماساتشوستس للتكنولوجيا
- إلغاء المؤسسات الدينية عام 1975
- أجهزة الملاحة في المركبة الفضائية
- أجهزة كمبيوتر 16 بت
