Apollo Guidance Computer - arsitektur dan perangkat lunak sistem. Bagian 1

Tautan ke Bagian 2

Dalam publikasi ini, kami membahas dasar-dasar arsitektur, struktur perangkat keras, dan struktur perangkat lunak sistem papan komputer misi Apollo - AGC (Apollo Guidance Computer). Bagi mereka yang ingin mempelajari topik secara rinci, saya merekomendasikan buku [ 1 ] dan bahan-bahan lain, tautan yang diberikan di akhir artikel.

Komputer petunjuk Apollo





Dalam program Apollo, komputer ini digunakan dalam dua pesawat ruang angkasa: dalam modul perintah dan dalam modul bulan. Dalam kedua kasus, itu dipasang di "piring dingin" dengan campuran glikol air yang beredar, untuk pendinginan.


Blok air dengan pipa pendingin

Fakta menarik: nama lengkap komputer yang digunakan dalam program Apollo adalah AGC-4, karena ada desain sebelumnya. Pendahulunya, AGC-3, dibangun di atas sel-sel transistor ferit.


Blokir diagram sistem navigasi

Singkatan Digunakan:

AOT - Alignment Optical Telescope
LR - Radar Pendaratan
RR - Rendezvous Radar
CDU - Unit Data Coupling
DSKY - (AGC) Tampilan dan Keyboard
LGC - LM Guidance Computer (atau AGC)
PTA - Majelis Torsi Pulsa
IMU - Unit Pengukuran Inersia
PSA - Perakitan Servo Daya
OSS - Subsistem Optik
ISS - Subsistem Inersia
Subsistem RS - Radar
Spesifikasi teknis

Spesifikasi


Panjang kata: 16 bit (14 bit + tanda + paritas)
Memori: ROM (rope rope) 36K kata; RAM (inti) kata 2K
Siklus akses memori (ROM dan RAM) - 11,72 μs
Perangkat I / O: DSKY (dua perangkat di kapal)
Kecepatan: waktu tambahan - 20 μs
Frekuensi jam: 2,048 MHz
Teknologi: RTL bipolar, rumah planar
Dimensi: AGC - 24 "x 12,5" x 6 "(HWD) (61 cm x 32 cm x 15 cm); DSKY - 8" x 8 "x 7" (HWD) (20 cm x 20 cm x 18 cm)
Berat: AGC - 70 pound (32 kg); DSKY - 17,5 lbs (8 kg)
Tegangan suplai 28 V.
Konsumsi: mode operasi: 70 W @ 28VDC; standby 15.0 W
Jumlah perangkat yang diproduksi: AGC: 75; DSKY: 138
Biaya: Tidak Diketahui. Pada tahun 2009, DSKY dilelang dengan harga $ 50.788.

Komputer sepenuhnya tertutup rapat dan tidak berisi komponen apa pun yang memerlukan pemeliharaan. Namun terlepas dari ini, para insinyur takut bahwa sirkuit mikro digital baru bisa gagal di ruang angkasa, sehingga dalam versi awal memberikan kemungkinan untuk mengganti blok. Dalam versi berikutnya, ketika semua orang yakin akan keandalan komputer, persyaratan untuk pemeliharaannya dikecualikan dari pernyataan kerja.


Gambar AGC dari dokumentasi teknis


AGC terbuka

Kasing AGC terdiri dari dua bagian, dengan modul yang terpasang. Bagian tubuh memiliki konektor yang menghubungkan sirkuit listrik satu sama lain. Di tengah-tengah bagian kanan kasing terdapat modul RAM yang tidak ada dalam foto. Mereka akan dibahas di bawah ini.

Dasar-dasar sirkuit




Komputer ini sepenuhnya dibangun di atas sirkuit mikro yang mengandung dua elemen NOR-3 (tipe alarm OR-NOT), dan dibuat menggunakan teknologi resistor-transistor. Diagram sirkuit ditunjukkan pada gambar di atas. Prinsip operasi elemen seperti itu sederhana: jika pin 5 terhubung ke 0, dan pin 10 terhubung ke power plus, maka jika ada nol pada input 2-4, maka transistor 1-3 (penghitungan dari kiri ke kanan) akan ditutup, dan output 1 akan log. 1 sejak Ini tertarik ke plus oleh sebuah resistor. Jika setidaknya satu input diterapkan 1, maka transistor yang sesuai akan terbuka, dan akan menarik output 1 ke nol.

Sangat mudah untuk melihat bahwa ketika dua atau lebih output dari elemen-elemen ini terhubung, fungsi AND dihasilkan. Dalam hal ini, cukup untuk membiarkan daya (terminal 10) terhubung hanya dengan satu elemen. Tetapi kadang-kadang daya dibiarkan terhubung ke semua elemen yang terhubung oleh output, ini memungkinkan Anda untuk mendapatkan kapasitas beban output yang meningkat.



Sebuah elemen dengan kekuatan yang tidak terhubung digambarkan dalam diagram dengan ujung berbayang (lihat Gambar.).

Versi pertama komputer berisi 4100 microcircuits, satu elemen OR-NOT di masing-masing, di versi kedua, yang digunakan dalam penerbangan, ada 2800 microcircuits, dua elemen OR-NOT dalam kasus ini.



Memori


Memori AGC terdiri dari 2K kata RAM dan 36K kata ROM. Hanya 12 bit yang dialokasikan untuk bidang alamat, yang memungkinkan 4Kword untuk diatasi, dan memori dibagi menjadi bank. Untuk berpindah bank, register 4-bit khusus digunakan, yang menghasilkan alamat 16-bit yang memungkinkan 64Kword ditangani.

Memory bank akan dibahas secara lebih rinci di bagian perangkat lunak sistem.

ROM


ROM komputer dibuat menggunakan teknologi memori tali (lihat foto di bawah).



Penampilan modul memori Rope:



Prinsip pengoperasian "memory rope" diilustrasikan pada gambar di bawah ini:



Sayangnya, dokumentasi untuk blok Core Rope Memory tidak tersimpan, tetapi para penggemar berhasil menemukan antarmuka, menghubungkan blok ke komputer dan membaca konten, dan kemudian menjalankannya di simulator.

Volume total AGC ROM adalah 36.864 kata dengan 16 bit. AGC memiliki 6 blok ROM, masing-masing 6 kiloslovol (mis. Sekitar 12 kb). Hingga 192 kabel data pengkodean dilewatkan (atau tidak dilewatkan) melalui masing-masing inti setiap inti mengkodekan 192 bit.

Firmware setiap unit ROM membutuhkan waktu 8 minggu dan biaya $ 15.000. Semua ini dilakukan secara manual.

RAM


AGC RAM memiliki kapasitas 2048 kata 16-bit. RAM komputer dibuat pada inti magnetik, seperti kebanyakan komputer pada waktu itu.


Modul RAM dipasang di komputer.

Dapat dilihat bahwa modul RAM menempati lebar dua modul logika biasa. RAM terdiri dari "pesawat", yang masing-masing sesuai dengan sedikit dalam kata data, total pesawat 16. Setiap bidang mewakili kisi 64x32 dering, 2048 dering total. Empat konduktor melewati masing-masing cincin: garis koordinat X dan Y, garis baca, dan garis penghambat. Garis X dan Y berjalan masing-masing secara vertikal dan horizontal, garis baca melewati semua cincin pada bidang yang sama dalam arah diagonal, dan garis larangan penulisan juga melewati semua cincin pada bidang secara vertikal.

Juga, pesawat itu disebut "tikar" (mat). Gambar di bawah ini menunjukkan satu pesawat dengan ukuran cincin 64x32.


Membaca Tata Letak Garis


Modul RAM bagian


Modul RAM. Sinar-X


Buka modul RAM


Perakitan modul RAM

DSKY




DSKY adalah singkatan dari Display and Keyboard Unit, modul display dan keyboard, dan dirancang untuk memungkinkan interaksi AGC dan kru.




DSKY dibongkar

Intinya, DSKY hanyalah terminal sederhana untuk AGC. Itu dibangun atas dasar relay yang mengganti segmen dari indikator luminescent, ditenagai oleh tegangan 250VAC dengan frekuensi 800 Hz, dan pada transistor. Dalam versi DSKY kemudian, relay elektromekanis digantikan oleh thyristor, karena mereka memperkenalkan penundaan yang signifikan dalam tampilan informasi.


Diagram blok DSKY


Diagram Fungsional DSKY



Gambar menunjukkan diagram koneksi tampilan. Relai terpolarisasi bekas dengan dua belitan, mengingat statusnya. Denyut nadi yang diterapkan pada satu belitan akan menyalakan indikator, sedangkan yang lainnya mematikan. Gulungan relai termasuk dalam matriks.

AGC memberikan nomor 15-bit ke saluran keluaran 010 (nomor saluran oktal). Bit 12-15 diumpankan ke decoder yang memiliki 12 output termasuk baris matriks.

Unit ini juga memiliki indikator terpisah untuk menampilkan sinyal PROG, TRACKER, GIMBAL LOCK dan NO ATT, dan sinyal lainnya.

Informasi dimasukkan menggunakan keyboard. Setiap tombol menyala dengan lampu pada tegangan 115VAC pada frekuensi 400 Hz. Ketika setiap tombol ditekan, kecuali untuk PRO, kode 5-bit dihasilkan. Kode dikirim ke port komputer, dan interupsi dihasilkan oleh kode yang dibaca. Ketika tombol dilepaskan, sinyal reset khusus dihasilkan. Tombol STBY digunakan untuk mengalihkan komputer ke mode siaga, dan kembali ke mode pengoperasian, saat ditekan lagi.

Keyboard memiliki 10 tombol angka, dan 9 tombol tambahan: KATA KERJA, KATA BENDA, CLR, PRO, KEY REL, ENTR, RESET, +, dan -.



Tombol-tombol tersebut berisi switching kontak yang dihidupkan sedemikian rupa untuk mengecualikan pembuatan dua kode secara bersamaan (lihat gambar di bawah). Kode kunci masuk ke port input AGC.



Tegangan + 28V terhubung ke sirkuit tombol. Menghubungkan ke komputer sebagai berikut:



Filter saluran masuk melindungi sistem dari pantulan kontak dan gangguan yang tidak disengaja.


Tampak belakang DSKY

Prosedur standar untuk memasukkan perintah dalam DSKY adalah urutannya: VERB-DIGIT-DIGIT, NOUN-DIGIT-DIGIT dan ENTR. Ini mencerminkan ideologi interaksi pengguna dengan AGC: kata kerja (KATA KERJA) dimasukkan, dan nomor tindakan yang harus dilakukan, dan kata benda (KATA BENDA), juga dikodekan oleh nomor, yang menunjukkan objek tindakan yang diarahkan. Daftar kode kata kerja dan kata benda terkandung dalam instruksi yang dimiliki para astronot.

Menekan tombol VERB pada keyboard akan menghapus indikator VERB. Kemudian astronot memperkenalkan dua angka, yang diartikan sebagai nomor kata kerja, maka hal yang sama dilakukan dengan kata benda (KATA BENDA). Sampai tombol ENTR ditekan, kode dapat diperbaiki dengan mengulangi entri KATA BENDA atau KATA KERJA. Setelah menekan ENTR, angka pada indikator VERB dan KATA BENDA berkedip setiap 1,5 detik, ini berarti bahwa operator harus memasukkan data yang tergantung pada operasi. Setelah itu, operasi dimulai.


Di dalam DSKY

Data dapat dimasukkan dalam oktal dan desimal. Komputer percaya bahwa jika tanda "+" atau "-" tidak dimasukkan, maka data akan berada dalam bentuk oktal. Jika Anda menekan tombol 8 atau 9 saat memasukkan angka oktal, indikator OPR ERR berkedip. Jika tombol "+" atau "-" ditekan, tanda yang sesuai muncul di layar, artinya komputer siap menerima angka desimal. Jika operator melakukan kesalahan, ia dapat menekan tombol CLR dan mengulangi entri. Menekan ENTR melengkapi entri. Untuk mengatur ulang sinyal OPR ERR dan kembali ke mode input, gunakan tombol RSET.

Tombol RSET digunakan untuk membungkam semua sinyal peringatan: TEMP, GIMBAL LOCK, PROG, RESTART, dan TRACKER. Ini bisa bermanfaat untuk mengetahui apakah sinyal peringatan itu jangka pendek atau apakah ada kesalahan yang menyebabkannya.


Di dalam DSKY

Dekoder berisi empat driver jalur relai dan array dioda, serta kunci eksitasi untuk baris matriks relai. Bit 12-15 memilih salah satu baris dari matriks relai.


Relay decoder matriks

Mari kita perhatikan bagaimana baris 1 dihidupkan. Kode 0001 sesuai dengan itu. Ini disediakan melalui antarmuka A25 dan konektor J9 pada case DSKY, dan pada baris CE225 - CE228. Sinyal terbalik, mis. CE226 - CE228 menerima nilai log. 1, dan CE225 adalah log. 0. Logika 1 pada input menutup transistor Q1, transistor Q2 juga tertutup, dan transistor Q3 terbuka. Dengan demikian, untuk output dari garis X CE226-CE228 dan untuk output dari garis Y CE225, negara akan menjadi log. 1. Matriks dioda memiliki 8 input yang terhubung ke output langsung dan terbalik dari switch transistor (output X dan Y pada gambar). Dalam kasus kami, dioda CR53 dari modul D2, D3 dan D4, serta dioda CR63 dari modul D5, harus dibiaskan ke arah yang berlawanan. Jika dioda ini ditutup, blok CKT004 menyala, baris 1 yang menarik, sedangkan tegangan + 28V melewati sirkuit Q1 (CKT011), R8, CR44, R9 (CKT004) dan membuka transistor Q4, Q5 (CKT004). Ketika transistor terbuka, mereka menghubungkan baris relay pertama ke nol, yang berarti bahwa baris dipilih.

Baris bawah dioda dalam array dioda (CR54 dalam modul D2-D5) digunakan untuk mendeteksi keberadaan log. 0 dalam bit 12-15 dari saluran 10. Jika sekurang-kurangnya satu nol hadir, setidaknya satu dioda terbuka dan tegangan 0VDC disuplai ke sumber tegangan pengandar pengambilan baris. Jika keempat bit 0, maka keempat dioda ditutup, dan tegangan + 28VDC diterapkan ke input driver daya. Transistor Q2 terbuka dan transistor Q3 ditutup. Transistor Q1 ditutup, dan output driver adalah sirkuit terbuka, dan tidak ada tegangan yang diberikan ke driver garis.


Tampilan bawah DSKY

Untuk mengontrol status dan indikator kesalahan, matriks relai dalam modul driver indikator digunakan (Gbr.). Selain relay, ini berisi 6 driver transistor identik (D1-D6).


Modul Driver Indikator DSKY

Matriks relai ditunjukkan pada gambar di bawah ini:


Matriks relai

Setiap driver relai menerima dari bit 1-11 saluran 10. Pertimbangkan bit 11 (sirkuit 006 dalam modul D6). Jika bit 1 dari saluran 10 diatur ke log. 1, itu terbalik ke sirkuit antarmuka A25, ke konektor J9 di sirkuit CE224. Ini membuka transistor Q8, yang menutup transistor Q9. Tegangan 28V hadir di terminal 10 kolom relai, termasuk tanda-tanda "+" dan "-" pada layar. Baris dipilih oleh matriks dioda. Dengan memilih baris dan kolom, komputer dapat mengganti masing-masing relai individu dalam matriks.

Matriks relay kontrol indikator DSKY. Baris 12 mengontrol indikator status dan alarm.


Relay Kode Matriks

Tabel di atas menunjukkan korespondensi antara isi saluran 10 dan digit indikator yang dikendalikan oleh relai yang sesuai. Lima relay mengendalikan satu digit. Bit 6-10 digunakan untuk mengontrol digit pertama, bit 1-5 mengontrol digit kedua, bit 11 mengontrol tanda ("+" atau "-"). Kode digit diberikan dalam tabel:


Kode Digit

Log 1 berkorespondensi dengan relay.



Tabel di atas menunjukkan korespondensi kode dan angka yang ditunjukkan.

Diagram koneksi indikator ke relai ditunjukkan pada gambar di bawah ini.


Diagram dari matriks relai indikator

Sirkuit status dan alarm terdiri dari driver dan relay yang tidak terpolarisasi.


Sirkuit Status dan Alarm

Misalnya, ketika sinyal ISS WARNING ada dalam log. 0, ia membuka transistor Q13 dan memasok + 28V untuk menyampaikan K21. Relay K21 dihidupkan dan melewati sinyal input ALARM COMMON ke display dan ke bagian PGNCS sebagai sinyal ISS WARNING.


Kabel DSKY untuk sistem komputer dan on-board

DSKY ditenagai oleh 28V dan 14V DC dari komputer, dan sinyal sinkronisasi 800 Hz digunakan, yang digunakan untuk menghasilkan tegangan 250VAC dengan frekuensi 400 Hz untuk memberi daya pada tampilan.


Diagram Power Supply DSKY

Sumber daya terdiri dari tiga tahap transistor push-pull, yang diisolasi oleh transformer. Sinyal persegi panjang dengan tegangan sekitar 14V dan frekuensi 800 Hz diumpankan ke input. Level tegangan dapat dikontrol dari panel pesawat ruang angkasa dan berfungsi untuk mengatur kecerahan indikator. Transformer T1 dan T2 menambah tegangan, pada output ada choke dengan saturasi L2. Induktor diperlukan untuk menstabilkan tegangan pada indikator. Indikator adalah beban kapasitif, nilai kapasitas tergantung pada jumlah indikator. Perubahan beban menyebabkan perubahan tegangan di sirkuit umpan balik, yang diumpankan melalui penyearah jembatan ke L2 lilitan kontrol. Jika lebih banyak indikator dihidupkan, tegangan pada belitan kontrol meningkat, inti mulai menjadi jenuh, jika jumlah indikator dihidupkan menurun, tegangan pada belitan kontrol berkurang, inti keluar dari saturasi, sehingga tegangan output dijaga konstan.


Versi awal DSKY. Opsi ini belum digunakan dalam penerbangan.

Sastra dan referensi:



1. Komputer Bimbingan Apollo: Arsitektur dan Operasi. Frank O'Brien, Springer Praxis Books, 2010

2. Konsep AGC

3. http://www.righto.com/ Blog dengan banyak artikel tentang AGC

4. https://hackaday.com/2016/09/02/decoding-rediscovered-rope-memory-from-the-apollo-guidance-computer/ - Decoding Memory Rope yang Ditemukan Kembali Dari Apollo Guidance Computer

5. https://hackaday.com/2016/07/05/don-eyles-walks-us-through-the-lunar-module-source-code/ - Don Eyles Memandu Kami Melalui Modul Lunar Source Code

6. https://github.com/chrislgarry/Apollo-11 - repositori dengan kode sumber perangkat lunak

7. https://github.com/shirriff/rope-simulator - repositori dengan sirkuit simulator ROM.

8. https://dodlithr.blogspot.com/search/label/Apollo%20Systems - banyak pilihan materi tentang AGC dan DSKY.

9. http://www.ibiblio.org/apollo/ - simulator AGC online.

10. https://github.com/virtualagc - repositori dengan banyak informasi berguna, termasuk versi AGL Verlog, serta sirkuit dan papan replika AGC, dan skema AGC dan DSKY asli (dalam repositori https://github.com/virtualagc / virtualagc )

Source: https://habr.com/ru/post/id461095/


All Articles