بخش مهمی از نرمافزار کامپیوتر هدایت آپولو نه روی تراشه، بلکه در شبکهای از سیمهای مسی و هستههای مغناطیسی بافته شده بود.
امروز اگر بخواهیم برنامهای را روی کامپیوتر ذخیره کنیم، احتمالاً تصورمان به SSD یا حتی فضای ابری میرود؛ اما کامپیوتری که انسان را به ماه رساند، داستان کاملاً متفاوتی داشت. بخش مهمی از نرمافزار Apollo Guidance Computer یا AGC، نه روی تراشهای شبیه حافظههای امروزی، بلکه در شبکهای از سیمهای مسی و هستههای مغناطیسی ذخیره شده بود.
فناوری یادشده Core Rope Memory نام داشت؛ حافظهای فقطخواندنی که MIT برای کامپیوتر هدایت آپولو توسعه داد. ساختار آن از هستههای کوچک مغناطیسی و سیمهایی تشکیل میشد که به شکل بسیار دقیقی از میان آنها عبور میکردند. نحوهی عبور هر سیم از هستهها، اطلاعات ذخیرهشده را مشخص میکرد. اگر سیم از داخل هسته عبور میکرد، یک مقدار و اگر از کنار آن رد میشد، مقدار دیگری ثبت میشد. به این ترتیب، الگوی بافتن سیمها عملاً به کدهای نرمافزاری تبدیل میشد.
در اسناد فنی MIT آمده که حافظهی ثابت AGC از سه بخش یا Rope تشکیل میشد و هرکدام هزاران کلمهی ۱۶ بیتی را در خود جای میدادند. در مجموع، حافظهی ثابت نسخهی نهایی AGC حدود ۳۶ هزار کلمه ظرفیت داشت. این حافظه پس از ساخت، دیگر با روشهای معمول قابل تغییر نبود؛ اگر برنامهای نیاز به اصلاح داشت، باید بخش حافظه دوباره ساخته و سیمکشی میشد.
به همین دلیل، برنامهنویسی برای آپولو فقط نوشتن کد نبود. وقتی برنامه نهایی میشد، اطلاعات آن به دستورالعملهای لازم برای ساخت Core Rope تبدیل میشد و اپراتورها سیمها را با دقت بسیار بالا از میان هستههای مغناطیسی عبور میدادند. MIT در توضیح این فرایند، از سیمهایی صحبت میکند که در الگویی مشخص میان صدها هسته بافته میشدند. یک ماژول حافظه میتوانست صدها هسته و بیش از نیم مایل سیم داشته باشد.
این روش شاید امروز عجیب به نظر برسد، اما برای مأموریتهای فضایی مزیت بزرگی داشت: قابلیت اطمینان بالا و حفظ اطلاعات بدون نیاز به برق. در مقابل، تغییر دادن محتوای حافظه بسیار دشوار بود و هر اصلاح مهم میتوانست به ساخت دوبارهی ماژول حافظه نیاز داشته باشد.
همین کامپیوتر کوچک در یکی از حساسترین لحظات تاریخ بشر، یعنی فرود آپولو ۱۱ روی ماه، نقش حیاتی داشت.
در جریان فرود ماژول قمری Eagle، کامپیوتر چند بار هشدار ۱۲۰۲ صادر کرد. این هشدار نشان میداد صف وظایف کامپیوتر بیش از ظرفیت لحظهای آن شده، اما سیستم برای چنین شرایطی از قبل طراحی شده بود. AGC بهجای متوقفشدن، وظایف کماهمیتتر را کنار میگذاشت و منابع خود را در اختیار وظایف حیاتیتر قرار میداد. به همین دلیل، هدایت فضاپیما و محاسبات ضروری ادامه پیدا کردند.
با وجود این هشدارها، سیستم از کار نیفتاد و نیل آرمسترانگ و باز آلدرین توانستند فرود را کامل کنند. بررسیهای بعدی نشان دادند که واکنش AGC دقیقاً با همان سازوکاری که طراحان برای مدیریت اضافهبار در نظر گرفته بودند، انجام شده بود.
شاید عجیبترین بخش ماجرا این باشد که تمام این اتفاقات با کامپیوتری رخ داد که از نظر توان پردازشی با استانداردهای امروزی حتی قابل مقایسه نیست. در واقع، «نرمافزار آپولو» فقط مجموعهای از کدها نبود؛ بخشی از آن به شکل فیزیکی درون سختافزار بافته شده بود.
خانواده ما
دیدگاهها