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