4 วันหลังการปล่อย Saturn V ออกจากฐาน 39A Kennedy Space Center, วันที่ 20 กรกฎาคม คริสต์ศักราช 1969 Landing Module “Eagle” ของ Apollo 11 ลงจอดบนดวงจันทร์ได้สำเร็จ หลังจากนั้นไม่กี่ชั่วโมง นีล อาร์มสตรองได้ปีนบันไดลงมาจากยาน, เหยียบลงบนพื้นและกลายเป็นมนุษย์คนแรกบนดวงจันทร์
จากจรวดมหึมาน้ำหนัก 2.8 ล้านกิโลกรัม หนึ่งในสิ่งสำคัญที่อยู่เบื้องหลังความสำเร็จนี้คือคอมพิวเตอร์เครื่องเล็ก ๆ น้ำหนัก 32 กิโลกรัมที่ติดตั้งอยู่บน Lunar Module และ Command Module ของยาน, คอมพิวเตอร์เครื่องนั้นมีชื่อว่า Apollo Guidance Computer (AGC) เพื่อการคำนวณ, ควบคุมและนำทางยานอพอลโล
9 สิงหาคม 1961 ในยุคที่คอมพิวเตอร์ยังเป็นเทคโนโลยีระดับสูงเกินกว่าคนปกติจะเอื้อมถึง คอมพิวเตอร์ที่หนึ่งเครื่องกินอาณาเขตเป็นห้องใหญ่ ถูกใช้งานเฉพาะโดยผู้เชี่ยวชาญ NASA ได้ทำสัญญากับ MIT Instrumentation Lab ให้ออกแบบ พัฒนาและสร้างระบบนำทางและควบคุมยานอพอลโลโดยไม่มีแม้แต่สเปคที่ต้องการจากการที่ในสมัยนั้นยังไม่มีใครที่เคยประดิษฐ์เครื่องนี้หรือคิดออกว่าควรจะให้เครื่องมือชิ้นนี้ทำอะไรจากข้อจำกัดทางด้านเทคโนโลยี
เมื่อพิจารณาจากข้อจำกัดด้านพื้นที่จากที่กล่าวไปในข้างต้นว่าคอมพิวเตอร์สมัยนั้นต้องใช้พื้นที่มหาศาลในขณะที่ยานอพอลโลมีข้อจำกัดด้านพื้นที่สูงมาก ทำให้ส่งผลไปในอีกหลายเรื่องเช่นการเก็บข้อมูลหรือความสามารถในการทำงาน (ในภายหลัง เอลดอน ฮอลล์หัวหน้าทีมออกแบบ AGC ได้ออกมากล่าวว่าถ้าทีมงานรู้สเปคงานที่แน่นอนในปี 1961 พวกเขาคงจะสรุปว่าไม่มีทางสร้างได้จากเทคโนโลยีในสมัยนั้น)
โขคดีที่การพัฒนาของเทคโนโลยีในช่วงนั้นเป็นไปอย่างรวดเร็วและที่ฮอลล์รู้จักกับบริษัท Fairchild Semiconductor บริษัทที่ได้พัฒนา Integrated Circuit (IC) แผงวงจรซิลิคอนที่มีขนาดเล็กและประมวลผลได้รวดเร็วเป็นบริษัทแรกของโลกและตัดสินใจนำมันมาใช้พัฒนา AGC แทนที่ท่อสุญญากาศ (แม้จะได้รับเสียงคัดค้านจาก IBM ที่ไม่เห็นด้วยกับการเอาเทคโนโลยีที่ไหนก็ไม่รู้ที่ยังเชื่อถือไม่ได้มาใช้) โดยในช่วงปีนั้นแล็บได้ใช้ 2/3 ของซัพพลาย IC ที่มีทั้งหมดในโลกไป กลายเป็นคอมพิวเตอร์เครื่องแรกของโลกที่ใช้ IC
เพื่อประโยชน์สูงสุดในการใช้งานและน้ำหนักที่เบาลง AGC ถูกออกแบบมาใช้ทำงานเฉพาะด้านโดยเฉพาะแทนที่จะเป็นคอมพิวเตอร์ทั่ว ๆ ไปที่ใช้ควบคุมการเดินทาง โดยมีลักษณะเฉพาะที่น่าสนใจหลายอย่างเช่น
การเก็บข้อมูล ROM (Read Only Memory) : เมื่อการเก็บข้อมูลแบบปกติที่ใช้กันในสมัยนั้นอย่างการใช้บัตรเจาะรูหรือคลื่นเสียงภายในหลอดปรอท (delay line) ไม่สามารถใช้ได้ในเชิงปฏิบัติ วิธีการที่แล็บเลือกจะใช้คือวิธี Core Rope Memory โดยสายทองแดงกับห่วงโลหะ ถ้าลอดภายในห่วงคือค่าเท่ากับ 1 ถ้าอยู่นอกห่วงแสดงว่าค่าเท่ากับ 0 โดยจะเก็บได้ประมาณ 2.5Mb ต่อตารางเมตร ซึ่งการร้อยสายทองแดงนี้ต้องร้อยด้วยมือทั้งหมดเหมือนการร้อยผ้า (ทำให้โปรแกรมเมอร์ตั้งชื่อเล่นวิธีนี้ว่า LOL – Little Old Lady Method) ผลลัพธ์ที่ได้คือหน่วยเก็บข้อมูลที่คงทน ลบหรือเปลี่ยนแปลงไม่ได้
Interface : ส่วนอินพุต/เอาท์พุตของ AGC มีชื่อว่า DSKY (อ่านว่าดิสกี้) ย่อมาจากคำว่า display and keyboard ส่วนอินพุตประกอบด้วยปุ่มจำนวน 19 ปุ่ม ได้แก่ปุ่มเลข 0-9, +, – , NOUN, VERB, CLR, PRO, KEY REL, ENTR, RSET คำสั่งในการอินพุตจะประกอบด้วยสองส่วนคือ Verb (ให้ทำอะไร) และ Noun (ทำกับอะไร) เช่น V (Verb) 05 N (Noun) 09 E (Enter) : Display Alarm Code หรือ V01N02E : ดูข้อมูลที่ช่องข้อมูลประเภทลบได้ R3 (แถวล่าง) ในรูปเลขฐานแปด
ซอฟต์แวร์ : ต่างจากในปัจจุบันที่เราสามารถเขียนโปรแกรมไปรันบนคอมพิวเตอร์ได้โดยตรง ในสมัยนั้นโปรแกรมจะถูกเขียนด้วยมือก่อนนำไปแปลงเป็นบัตรเจาะรูเพื่อทดสอบหรือใช้งานกับคอมพิวเตอร์ต่อไป (กลายเป็นภาพที่หลาย ๆ คนอาจจะเคยเห็นที่มาร์กาเร็ต ฮามิลตันหัวหน้าหน่วยพัฒนาซอฟต์แวร์ยืนคู่กับกองเอกสารเกือบเท่ากับตัวเอง) ซึ่งซอฟต์แวร์ที่ใช้ในงานนี้เป็นภาษา Assembly จำนวนกว่าพันหน้ากระดาษ (ซึ่งในปัจจุบัน เราสามารถเข้าไปดูโค้ดเต็มได้ใน https://github.com/chrislgarry/Apollo-11)
โดยซอฟต์แวร์นี้เป็นส่วนสำคัญที่ทำให้งานวิศวกรรมซอฟต์แวร์เป็นที่ยอมรับมากขึ้นในเวลาต่อมา
ในภารกิจอพอลโล 11 เกิดการผิดพลาดของ AGC ในช่วงก่อนการลงจอดบนดวงจันทร์ เกิดการ executive overflow (alarm 1202) ขึ้นขณะที่อัลดรินกำลังทำตามแผนงาน หลังจากนั้นระบบก็ทำการ reset ตัวเองและจากการลักษณะทำงานโดยไล่ตามลำดับความสำคัญ ศูนย์ควบคุมที่โลกได้สั่งให้เปลี่ยน Rendezvous Radar Switch มาเป็น Manual เพื่อลดภาระงานที่ไม่จำเป็นต้องให้คอมพิวเตอร์คำนวณ หลังจากนั้นการลงจอดก็เป็นไปได้อย่างปลอดภัย
AGC ได้ถูกใช้ในภารกิจที่มีมนุษย์รวม 15 ภารกิจ นับเป็นภารกิจไปดวงจันทร์ 9 ภารกิจ ลงจอดดวงจันทร์ 6 ภารกิจ ภารกิจกับ Skylab 3 ภารกิจและการเทสภารกิจ Apollo-Soyuz ในปี 1975
ท้ายสุดแล้ว AGC นั้นกลายมาเป็นพื้นฐานของการออกแบบคอมพิวเตอร์ที่เราใช้กันอยู่ในปัจจุบัน รวมถึงแนวคิดของ AGC เองก็ยังได้ถูกพัฒนามาเป็นซอฟแวร์ที่ใช้ในโครงการอวกาศทุกวันนี้คือ GNC หรือ Guiance Navigation and Control ที่เป็นสถาปัตยกรรมซอฟแวร์ที่ควบคุมการทำงานของยานอวกาศทุกวันนี้
ในวันที่มนุษย์ ไม่รู้ว่าเทคโนโลยีคอมพิวเตอร์ที่เพิ่งถูกสร้างขึ้นมาจะใช้ทำอะไร ในวันที่มนุษย์ไม่รู้ว่าเราจะไปดวงจันทร์ทำไม แต่ถ้าหากมนุษย์ล้มเลิกความพยายามในการไปดวงจันทร์ หรือทิ้งเทคโนโลยีที่เรียกว่าคอมพิวเตอร์ไป ทุกวันนี้โลกก็คงจะไม่ได้เป็นแบบที่เราเห็น สิ่งที่เกิดขึ้นในโครงการ Apollo ได้พิสูจน์แล้วว่ายังมีอีกหลายขีดจำกัดที่รอคอยให้มนุษย์ปลดล็อกผ่านการเดินทาง ผจญภัย และเรียนรู้
เผยแพร่ครั้งแรกที่ Facebook – Chayapatr Archiwaranguprok