Ở hai phần trước, cách core rope cùng với những bảng mạch điện tử vận hành trong Apollo đã được diễn giải. Vậy AGC trên tàu Apollo thực sự vận hành như thế nào? Thực ra thì, trên tàu Apollo, không có khái niệm ‘update phần mềm’. Mọi chương trình mà phi hành gia dùng đều đã được dệt sẵn vào dây từ trước khi tàu rời mặt đất.
Đọc chậm: Core rope, bộ não đã đưa con người lên Mặt Trăng trong Apollo hoạt động ra sao? - Phần 1
Anh Hiệp vài hôm trước có chia sẻ một bài viết hay về những con chip chạy bằng lõi dây. Mình tìm hiểu một chút để viết chi tiết hơn cho anh em về cách nó hoạt động cũng như vai trò của nó trong sứ mạng Apollo. Bài này sẽ rất dài nên mình chia nó...
tinhte.vn
Đọc chậm: Các mạch xử lý dữ liệu trong AGC hoạt động thế nào với Core Rope - Phần 2
Ở bài trước, anh em đã biết rằng core rope có mỗi lõi là một vòng vật liệu từ, có thể bị từ hóa theo hai chiều ổn định, và cách vận hành để xác định bit 0 và 1. Anh em cũng biết được quá trình đọc dữ liệu từ core rope nhưng đằng sau đó là cả một...
tinhte.vn
Trên tàu: AGC, core rope và các chương trình Pxx
Trong mỗi chuyến bay Apollo, AGC trên Command Module (CM) và Lunar Module (LM) đều mang sẵn trong core rope một “bộ não nhiệm vụ” gồm hàng chục nghìn dòng mã, được tổ chức thành các Program hai chữ số như P01, P11, P52, P63, P64, P66, v.v. Mỗi chương trình sẽ gắn với một chức năng cụ thể: chuẩn bị phóng, chuyển quỹ đạo, hiệu chỉnh giữa hành trình, vào quỹ đạo Mặt Trăng, hạ cánh, cất cánh, quay về Trái Đất.Ở cấp độ rất thô, hành trình của sứ mệnh sẽ như thế này: trước khi phóng, AGC chạy các chương trình prelaunch để căn chỉnh nền quán tính và kiểm tra hệ thống. Sau khi tên lửa đẩy đưa tàu vào quỹ đạo Trái Đất và quỹ đạo đã ổn định, AGC chuyển sang các chương trình điều khiển cú đẩy rời quỹ đạo Trái Đất, đưa tàu vào quỹ đạo chuyển tiếp tới Mặt Trăng. Giữa đường, các chương trình hiệu chỉnh quỹ đạo (mid‑course correction) dùng dữ liệu từ radar, đo sao và thông số từ mặt đất để tinh chỉnh; đến khi tiến gần Mặt Trăng, các chương trình quỹ đạo Mặt Trăng tương ứng điều khiển đẩy tàu vào quỹ đạo vòng quanh Mặt Trăng, và các chương trình hạ cánh/cất cánh điều khiển Lunar Module lên xuống bề mặt.
![[IMG]](https://photo2.tinhte.vn/data/attachment-files/2026/01/8954652_Apollo-display-and-keyboard-unit-DSKY-used-on-F-8-DFBW-DVIDS683588_1.jpeg)
Toàn bộ mã lệnh cho những Program này nằm cố định trong core rope ROM, còn các biến trạng thái như vector vận tốc, vị trí, thời điểm burn, tham số mục tiêu, được lưu tạm thời trong 2K word RAM để có thể cập nhật liên tục. Từ góc nhìn của bài 2: mỗi khi phi hành gia gọi một Program mới, AGC đơn giản là bắt đầu thực thi code ở một vùng địa chỉ khác trong rope; phần cứng mà chúng ta đã tìm hiểu: từ mạch giải mã địa chỉ, rope driver cho đến sense amplifier, sẽ đảm bảo mỗi lệnh và mỗi hằng số trong ROM đều được đọc ra đúng từng bit mỗi khi CPU cần.
Vậy phi hành gia tương tác với toàn bộ hệ thống này như thế nào? Họ làm điều đó qua DSKY, với ngôn ngữ Program, Verb và Noun. Phi hành gia không “gõ lệnh” dạng text; họ nói chuyện với AGC qua DSKY bằng một ngôn ngữ gồm Program, Verb và Noun. Trên DSKY, góc trên bên phải là số Program đang chạy, gồm hai chữ số như 11, 63, 64, v.v.; bên dưới là hai ô VERB và NOUN, mỗi ô hiển thị một mã hai chữ số biểu diễn hành động và loại dữ liệu.
Cách thao tác cơ bản như sau:
- Để chọn một Program, phi hành gia nhấn phím PROG, nhập số chương trình, rồi nhấn ENTR; ví dụ P63 là chương trình hạ cánh tự động giai đoạn đầu.
- Để yêu cầu AGC làm một hành động trên một tập dữ liệu, họ nhập VERB (hành động), rồi NOUN (loại dữ liệu), ví dụ Verb 06 Noun 33 để hiển thị thời điểm kích nổ hoặc Verb 06 Noun 63 để hiển thị các biến giám sát hạ cánh trong P63.
Ở bên trong, nếu đơn giản hóa mọi thứ thì mỗi mã Program/Verb/Noun là một entry trong bảng mã được lưu trong core rope; khi bạn nhấn phím, AGC đọc mã đó, tra bảng, rồi nhảy đến đúng đoạn code ROM tương ứng để thực hiện hành động cần thiết, đồng thời dùng RAM để giữ các tham số đầu vào/đầu ra. Điều thú vị là ‘ngôn ngữ’ VERB/NOUN nhìn thì giống giao diện cho người, nhưng cấu trúc bên trong lại gần như map thẳng xuống cách chương trình được bố trí trong core rope: mỗi Verb thực chất là một nhãn trỏ vào một nhóm routine, còn mỗi Noun mô tả cấu trúc dữ liệu và cách hiển thị, cả hai đều là chỉ số dùng để index vào các bảng hàm và bảng dữ liệu đã được dệt cứng trong rope.
Dưới đất: Mission Control với máy tính lớn nhưng AGC vẫn tự chủ hoạt động
Tàu Apollo và AGC không thể hoạt động một mình mà sẽ luôn kết hợp với Mission Control ở Houston. Thực tế thì AGC trên tàu không phải tự nghĩ ra quỹ đạo từ đầu đến cuối; phần lớn bài toán quỹ đạo và tối ưu lực đốt được tính trước bằng máy tính lớn IBM 360 và các hệ thống dẫn đường mặt đất. Đội dẫn đường dùng các mô hình động lực bay chi tiết, số liệu radar và telemetry để tính toán thời điểm cần đốt, vector vận tốc mục tiêu, hướng nozzle, thời lượng đốt, các giới hạn về góc và gia tốc.Quảng cáo
Mission Control trong sứ mạng Apollo 11
Kết quả những tính toán đó được gửi lên tàu dưới dạng tham số: các con số cụ thể như thời điểm ignition (Tig), delta‑V cần thiết, hướng mục tiêu thông qua liên lạc vô tuyến. Phi hành gia sau đó đọc từ checklist và nhập vào AGC thông qua các Verb/Noun tương ứng. Ví dụ, trong pha hạ cánh, P63 cho phép phi hành gia hiển thị và cập nhật các thông tin như thời điểm ignition, vận tốc, delta‑V tích lũy bằng các Verb/Noun mà kế hoạch bay đã quy định sẵn. Hiểu nôm na thì core rope đóng vai trò “bộ luật và công thức” cố định, còn mặt đất bơm vào dữ liệu cụ thể cho mỗi nhiệm vụ.
Tuy vậy, AGC không chỉ là một ‘thiết bị hiển thị và nhập số’; nó có mức tự chủ rất cao, đặc biệt khi tàu ở phía khuất Mặt Trăng, không liên lạc được với Trái Đất. Trong những khoảng thời gian mất liên lạc đó, các Program dẫn đường trên AGC phải tự theo dõi quán tính, giữ quỹ đạo, cập nhật trạng thái và chuẩn bị cho lần đốt tiếp theo; nếu sai số vượt quá giới hạn, nó có thể báo cho phi hành gia để cân nhắc correction sau khi trở lại vùng liên lạc. Nói cách khác, core rope mang sẵn đủ thông tin cần thiết để tàu có thể tự “sống sót” và tiếp tục nhiệm vụ trong những khoảng im lặng radio, không cần sự “cầm tay chỉ việc” liên tục từ mặt đất.
Tình huống thực tế: Apollo 11 hạ cánh với P63–P64–P66 và alarm 1201/1202
Trong chuyến Apollo 11, chuỗi chương trình hạ cánh trên Lunar Module là một ví dụ rất đẹp về cách AGC với core rope vận hành dưới áp lực cực lớn. Đầu tiên, module Mặt Trăng của tàu Apollo là tàu đổ bộ chuyên dùng để tách ra từ tàu mẹ trên quỹ đạo Mặt Trăng, chở hai phi hành gia xuống bề mặt rồi đưa họ bay lên lại quỹ đạo gặp lại Command/Service Module. Nó gồm hai tầng: tầng hạ cánh (descent stage) ở lại trên Mặt Trăng làm “bệ” và tầng thăng thiên (ascent stage) mang phi hành gia quay lại quỹ đạo. Khi đó, P63 là chương trình ‘Powered Descent Initiation’: nó điều khiển động cơ hạ cánh từ lúc bắt đầu đốt cho đến giai đoạn tiếp cận ban đầu, liên tục cập nhật quỹ đạo từ cảm biến và hiển thị các tham số như thời điểm ignition, độ cao, tốc độ, delta‑V.
Quảng cáo
Đây là bức ảnh đầu tiên con người chụp được từ bề mặt Mặt Trăng, trong đó có thể thấy một chân hạ cánh của Eagle và chiếc túi thiết bị được vứt bỏ khỏi tàu đổ bộ.
Khi tàu đạt khoảng vài nghìn feet và cách điểm hạ cánh mục tiêu vài dặm, AGC tự động chuyển sang P64, chương trình “Approach”, cho phép phi hành gia nghiêng tàu để nhìn bề mặt và quan sát vị trí hạ cánh, đồng thời vẫn tự động điều chỉnh quỹ đạo. Nếu phi hành gia quyết định tiếp tục hạ cánh và muốn tự tay điều khiển đoạn cuối, họ chuyển sang P66, chương trình “Landing”, cho phép điều khiển thủ công nhiều hơn nhưng vẫn dựa trên dữ liệu và hỗ trợ từ AGC như giữ ổn định, cung cấp số liệu tốc độ, độ cao.
Armstrong ghi lại giây phút Buzz Aldrin từ từ bước ra khỏi cửa khoang của tàu đổ bộ.
Trong quá trình hạ cánh, AGC trên LM đã gặp các alarm nổi tiếng 1201 và 1202 – về bản chất là báo “quá tải, không kịp xử lý hết việc” (executive overflow). Nguyên nhân gốc là radar rendezvous, loại radar dùng để gặp lại tàu mẹ, vẫn đang bật và đều đặn xin CPU xử lý thêm dữ liệu, chiếm bớt thời gian mà AGC dự kiến để chạy các nhiệm vụ khác. Bộ lập lịch xử lý (Executive) bên trong hệ điều hành nhận ra rằng với lượng thời gian còn lại trong mỗi chu kỳ, nó không thể hoàn thành hết danh sách công việc đã lên, nên phát ra alarm 1201/1202 để cảnh báo “không đủ thời gian xử lý, phải bỏ bớt việc”.
Aldrin cẩn thận di chuyển qua khu vực “hiên trước” và chiếc thang của tàu đổ bộ.
Nhờ thiết kế hệ điều hành trong core rope, AGC có khả năng restart mềm: khi 1201/1202 xảy ra, Executive khởi động lại nhưng bảo toàn các dữ liệu dẫn đường quan trọng và tiếp tục chạy lại các job ưu tiên cao nhất, như điều khiển điều hướng và hiển thị số liệu cho phi hành gia. Điều này cho phép Armstrong và Aldrin tiếp tục hạ cánh, dù máy tính đang ở sát ngưỡng quá tải; các task ít quan trọng hơn bị bỏ, nhưng các vòng điều khiển quỹ đạo vẫn chạy. Đây là một ví dụ rất trực tiếp cho thấy việc tổ chức code trong rope (các job, mức ưu tiên, xử lý alarm) không chỉ là lý thuyết, mà thực sự cứu sứ mệnh trong vài giây căng thẳng đó.
Hồi sinh AGC với Retread 50, khi chương trình “dệt sẵn” sống lại
Một câu chuyện khác giúp nhìn core rope “gần gũi” hơn là dự án đọc lại và chạy chương trình Retread 50 từ một module core rope ở Computer History Museum. Module này chứa một phiên bản sớm của phần mềm Lunar Module, được dệt vào rope từ thời đang phát triển hệ thống.
Giao diện mô phỏng chức năng AGC trong sứ mạng Apollo
Nhóm kỹ sư và các nhà sử học đã mang một AGC đã phục chế đến bảo tàng, kết nối trực tiếp với module rope Retread 50 và đọc từng bit dữ liệu bằng chính phần cứng rope driver, sense amp và bus dữ liệu của AGC, sau đó so sánh với các bản dump phần mềm lưu trữ để xác nhận tính toàn vẹn. Sau khi xác nhận, họ cho AGC thực thi Retread 50, nghĩa là, sau hơn nửa thế kỷ, code dệt trong những lõi từ đó lại được chạy trên đúng kiến trúc mà nó từng được viết cho.
AGC được phục chế
Về mặt kỹ thuật, case này là minh họa rất đẹp cho những gì đã được giải thích ở hai bài trước: không cần “firmware mới”, không cần các bản vá, chỉ cần được cấp nguồn, clock và gửi địa chỉ, mạch giải mã, strand select, rope driver và sense amp sẽ phối hợp để trả ra đúng word 16 bit mà các lập trình viên MIT Instrumentation Lab đã “dệt” vào dây từ thập niên 1960. Về mặt cảm xúc, nó cho thấy core rope không chỉ là công nghệ, mà là một dạng “văn khắc”, một loại code được ghi cứng vào vật chất, có thể ngủ yên hàng chục năm rồi sống lại chính xác như chưa có bất kì điều gì xảy ra.
Nguồn: [1][2][3][4][5][6]



