Apollo 11 เทียบกับที่ชาร์จ USB-C (ปี 2020)
(forrestheller.com)- ไมโครคอนโทรลเลอร์ภายในที่ชาร์จติดผนัง USB-C สมัยใหม่มีความเร็วสัญญาณนาฬิกา หน่วยความจำ และพื้นที่เก็บข้อมูลมากขึ้นจนสามารถนำไปเทียบกับ Apollo 11 Guidance Computer ปี 1969 ได้
- CYPD4225 ใน Anker PowerPort Atom PD 2 ใช้ 48MHz ARM Cortex-M0, Flash 128KB, RAM 8KB และมีการคำนวณว่ามัน เร็วกว่า AGC ราว 563 เท่า เมื่อวัดจากการรันคำสั่งส่วนใหญ่
- พื้นที่เก็บโปรแกรมขึ้นอยู่กับสมมติฐานเรื่องการเข้ารหัสคำสั่ง โดย CYPD4225 อยู่ในระดับที่เก็บคำสั่งได้มากกว่า AGC 1.19~1.78 เท่า
- Apollo 11 มี คอมพิวเตอร์ 4 เครื่อง ได้แก่ AGC 2 เครื่อง, LVDC 1 เครื่อง, AGS 1 เครื่อง และถ้าไม่เปลี่ยนสถาปัตยกรรมเดิมมากนัก ก็ยากที่จะใช้ชิปในที่ชาร์จเพียงตัวเดียวแทนทั้งหมดได้
- หากดูเฉพาะพลังประมวลผล ที่ชาร์จ Anker 4 ตัวก็ดูเหมือนจะให้สมรรถนะระดับ Apollo 11 ได้ แต่ยังมีข้อจำกัดแยกต่างหาก เช่น การรับรองสำหรับสภาพแวดล้อมอวกาศ, อุปกรณ์ต่อพ่วง, ระดับแรงดันไฟฟ้า และลอจิกแบบ triple-redundant ของ LVDC
สิ่งที่นำมาเปรียบเทียบและสเปกพื้นฐาน
- สิ่งที่นำมาเปรียบเทียบคือ Apollo 11 Guidance Computer และที่ชาร์จ USB-C รุ่นใหม่ 3 รุ่น
- Google Pixel 18W Charger: Weltrend WT6630P, 10MHz, RAM 512 ไบต์, พื้นที่เก็บข้อมูล 8KB
- Huawei 40W SuperCharge: Richtek RT7205, 22.7MHz, RAM “0.75kB”, พื้นที่เก็บข้อมูล 24KB
- Anker PowerPort Atom PD 2: Cypress CYPD4225, 48MHz, RAM 8KB, Flash 128KB
- Apollo 11 Guidance Computer: สร้างจากชิ้นส่วนดิสครีต, 1.024MHz, RAM 2,048 คำแบบ 15 บิต, พื้นที่เก็บโปรแกรม 36,864 คำแบบ 15 บิต
- AGC รองรับการบินไปดวงจันทร์เกือบทั้งหมดของ CSM, การลงจอดและทะยานขึ้นของ LEM, และการเดินทางกลับโลกของ CSM
- CPU ที่ทรงพลังที่สุดในตารางคือ CYPD4225 ของ Anker PowerPort Atom PD 2
- ความถี่สัญญาณนาฬิกาสูงกว่า AGC ราว 48 เท่า
- พื้นที่เก็บโปรแกรมมากกว่าราว 1.8 เท่า
เปรียบเทียบความเร็วในการรันคำสั่ง
- AGC ใช้ 1.024MHz master clock และต้องใช้ขั้นต่ำ 12 clock cycle ต่อหนึ่งคำสั่ง
- การคำนวณจำนวนเต็มใช้ 1's complement
- ไม่มี floating point
- การคำนวณทางคณิตศาสตร์ใช้ accumulator register เพียงตัวเดียว
- CYPD4225 ใช้ CPU ARM Cortex-M0
- ทั้ง AGC และ Cortex-M0 ไม่มีแคช, ใช้เวลาเข้าถึงหน่วยความจำคงที่, และรันคำสั่งตามลำดับ
- ทั้งคู่ไม่มีฮาร์ดแวร์ floating point และไม่มีฮาร์ดแวร์เวกเตอร์/เมทริกซ์อย่าง AVX, SSE, NEON
- เมื่อเทียบจำนวน cycle ของคำสั่งที่คล้ายกัน Cortex-M0 ได้เปรียบอย่างมาก
- บวก/ลบ 15 บิต: AGC 24 cycle, Cortex-M0 1 cycle
- บวก/ลบ 31 บิต: AGC 36 cycle, Cortex-M0 1 cycle
- คูณ: AGC 36 cycle, Cortex-M0 1 cycle
- กระโดดเมื่อเป็น 0: AGC 24 cycle, Cortex-M0 ใช้ 1~4 cycle หากไม่มี CMP และ 2~5 cycle หากรวม CMP
- เก็บ/โหลดหน่วยความจำ: AGC 24 cycle, Cortex-M0 2 cycle
- คำสั่งส่วนใหญ่ของ AGC ใช้ clock cycle มากกว่า Cortex-M0 ราว 12 เท่า และ Cortex-M0 ทำงานที่ 48MHz
- สูตรคำนวณคือ
12 * 48MHz / 1.024MHz - ตามเกณฑ์นี้ CPU ในที่ชาร์จ USB-C Anker PowerPort Atom PD 2 เร็วกว่า AGC 563 เท่า สำหรับแอปพลิเคชันส่วนใหญ่
- สูตรคำนวณคือ
- คำสั่งที่ Cortex-M0 ไม่ได้เหนือกว่า AGC อย่างชัดเจนคือ การหาร
- การหารของ AGC ใช้ 72 cycle หรือประมาณ 70.3µs
- ในเวลาเท่ากัน CYPD4225 สามารถรันคำสั่งคณิตศาสตร์ได้ประมาณ 3,374 คำสั่ง
- เนื่องจากต้นทุนของ branch อยู่ราว 3 cycle จึงมีโอกาสทำซอฟต์แวร์หารได้
พื้นที่เก็บโปรแกรมและการเข้ารหัสคำสั่ง
- โปรแกรมเมอร์ Apollo ต้องเขียน virtual machine/interpreter เพราะ พื้นที่เก็บข้อมูล ของ Guidance Computer ไม่พอ
- ข้อจำกัดด้านพื้นที่รุนแรงถึงขั้นยอมแลกความเร็วเพื่อประหยัดเนื้อที่
- AGC เก็บได้ 36,864 คำแบบ 15 บิต ขณะที่ CYPD4225 ใช้ Flash 128KB เป็นพื้นที่เก็บโปรแกรม
- หากวัดจากปริมาณข้อมูลล้วน ๆ CYPD4225 เก็บข้อมูลได้มากกว่า AGC 1.90 เท่า
- คำสั่งของ AGC เป็นคำสั่งความกว้างคงที่ 15 บิต
- Cortex-M0 รองรับ ชุดคำสั่ง THUMB2 และใช้คำสั่ง 16 บิตกับ 32 บิต
- คำสั่ง 16 บิตครอบคลุมงานทั่วไปส่วนใหญ่ เช่น คณิตศาสตร์, branch, load/store
- หากสมมติอย่างง่ายว่าทุกคำสั่งเป็น 16 บิต CYPD4225 จะเก็บได้ 65,536 คำสั่ง
- คิดเป็นสูงสุด 1.78 เท่า ของ AGC ที่มี 36,864 คำสั่ง
- หากใช้สมมติฐานสุดโต่งกว่านั้นว่า ครึ่งหนึ่งเป็น 16 บิต และอีกครึ่งเป็น 32 บิต จะเก็บได้รวม 43,690 คำสั่ง
- เท่ากับ 1.19 เท่า ของ AGC
- การเปรียบเทียบความหนาแน่นของคำสั่งไม่ใช่เรื่องง่าย
- Cortex-M0 มี general-purpose register 12 ตัวสำหรับเก็บผลลัพธ์ทางคณิตศาสตร์
- AGC ใช้ accumulator เดียว แต่สามารถเก็บผลลัพธ์ทางคณิตศาสตร์ลงตำแหน่งหน่วยความจำได้โดยตรง
- Cortex-M0 ต้องมีคำสั่ง store แยกต่างหาก
- bank switching ของ AGC ทำให้เข้ารหัสที่อยู่หน่วยความจำได้มากขึ้นโดยตรงในคำสั่งคณิตศาสตร์
- Cortex-M0 มีโครงสร้างหน่วยความจำง่ายกว่าและไม่ต้องใช้ bank switching
- CYPD4225 เก็บคำสั่งได้มากกว่า 1.19~1.78 เท่า จึงดูว่าน่าจะรองรับโปรแกรมที่เทียบเท่า AGC ได้
- ที่ชาร์จ USB-C รุ่นอื่นมีความจุโปรแกรมน้อยกว่า AGC
- การไปดวงจันทร์ด้วย 8KB ดูเป็นเรื่องยาก
- เดิม AGC เองก็ถูกออกแบบมาพร้อมพื้นที่เก็บโปรแกรมที่เล็กกว่านี้ แต่สุดท้ายต้องเพิ่มขึ้น
- ดังนั้น CPU ของที่ชาร์จรุ่นอื่นจึงถูกตัดออกจากการเป็นตัวเลือกสำหรับไปดวงจันทร์
เปรียบเทียบ RAM
- AGC เก็บข้อมูลได้ 2,048 คำแบบ 15 บิต
- CYPD4225 มี RAM 8KB
- หากวัดเป็นไบต์ จะมี RAM มากกว่า AGC เล็กน้อยเกิน 2 เท่า
- AGC คำนวณเป็นหลักด้วยหน่วยคำ 15 บิต
- การคำนวณที่เทียบเท่ากันบน Cortex-M0 จะทำด้วยหน่วยคำ 16 บิต
- หากวัดตามหน่วยคำนวณ CYPD4225 มี 4,096 คำแบบ 16 บิต ส่วน AGC มี 2,048 คำแบบ 15 บิต จึงมากกว่าเท่าตัวพอดี
คอมพิวเตอร์ทั้งหมดบน Apollo 11 และจำนวนที่ชาร์จที่ต้องใช้
- ตาม Wikipedia ยานอวกาศ Apollo 11 มี คอมพิวเตอร์ 4 เครื่อง
- AGC 2 เครื่อง: LEM 1 เครื่อง, CSM 1 เครื่อง
- Saturn Launch Vehicle Digital Computer 1 เครื่อง
- Apollo Abort Guidance System 1 เครื่อง
- เนื่องจากคอมพิวเตอร์ทั้ง 4 เครื่องอยู่คนละส่วนของยานอวกาศ จึงยากที่จะใช้ CYPD4225 ตัวเดียวแทนทั้งหมด
- ภายใต้เงื่อนไขว่าไม่เปลี่ยนแบบของ Apollo 11 ไปมากนัก จึงสมมติว่ายังต้องใช้คอมพิวเตอร์ 4 เครื่อง
- คอมพิวเตอร์แต่ละเครื่องของ Apollo 11 ที่อยู่ในตาราง มีสมรรถนะและหน่วยความจำน้อยกว่า Anker PowerPort Atom PD 2
- AGC: 1.024MHz, RAM 2,048 คำแบบ 15 บิต, พื้นที่เก็บโปรแกรม 36,864 คำแบบ 15 บิต
- LVDC: 2.048MHz, RAM 4,096 คำแบบ 13 บิต, พื้นที่เก็บโปรแกรม 32,768 คำแบบ 13 บิต
- AGS: 1.024MHz, RAM 2,048 คำแบบ 18 บิต, พื้นที่เก็บโปรแกรม 2,048 คำแบบ 18 บิต
- สมมติว่า LVDC และ AGS ไม่ใช้คำสั่งเฉพาะทางที่ Cortex-M0 ทำได้ยาก
- การหารอาจใช้เวลานานกว่าการคูณ
- CYPD4225 สามารถรันคำสั่งคณิตศาสตร์ได้หลายพันคำสั่งในเวลาที่เท่ากับคอมพิวเตอร์ Apollo 11 เครื่องใดเครื่องหนึ่งใช้ทำการคูณเพียงครั้งเดียว
- หากดูเฉพาะพลังประมวลผล ที่ชาร์จ USB-C Anker PowerPort Atom PD 2 จำนวน 4 ตัว ก็น่าจะให้พลังประมวลผลพอสำหรับไปดวงจันทร์ได้
ข้อจำกัดที่ยังเหลือและประเด็นถกเถียง
- CYPD4225 ไม่ได้เป็นชิ้นส่วนที่ผ่านการรับรองสำหรับอวกาศ
- จึงไม่รู้ว่าจะทำงานในอวกาศได้หรือไม่
- ยังไม่ได้ตรวจสอบอุปกรณ์ต่อพ่วงที่คอมพิวเตอร์ Apollo 11 ใช้
- CYPD4225 มีสัญญาณ GPIO 30 เส้น และรองรับ UART, I2C, SPI
- ต้องตรวจสอบเพิ่มเติมว่า AGC รองรับอุปกรณ์ต่อพ่วง 100 ตัว, 10 ตัว หรือมากกว่านั้นหรือไม่
- ระดับแรงดันไฟฟ้าในยุค 1960 อาจสูงเกินกว่าจะต่อเข้ากับ CYPD4225 โดยตรงได้
- LVDC มี ลอจิกแบบ triple-redundant อยู่จริง
- โครงสร้างคือมีลอจิก 3 ชุดให้คำตอบ 3 ชุด แล้วใช้กลไกโหวตเลือกคำตอบที่ชนะ
- ดังนั้นถ้าจะเทียบกับ LVDC อาจต้องใช้ที่ชาร์จ USB-C 3 ตัว
- ความซ้ำซ้อนนี้มีไว้เพื่อความน่าเชื่อถือ และในการคำนวณทั้งหมดนี้ไม่ได้คำนึงถึงความน่าเชื่อถือ
- แม้จะเลียนแบบแนวทางนี้ด้วยไมโครคอนโทรลเลอร์ 3 ตัวและไมโครคอนโทรลเลอร์ตัวที่ 4 สำหรับโหวต ก็ไม่ได้หมายความว่าความน่าเชื่อถือของระบบจะสูงขึ้น
- ประเด็นนี้อาจเป็นที่ถกเถียงกันได้
ความซับซ้อนที่เกิดจากการจ่ายไฟแบบ USB-C
- ราวปี 2012~2013 เฟิร์มแวร์ของ Structure Sensor ใช้ การตรวจจับที่ชาร์จ USB ซึ่งเป็นสิ่งที่มีอยู่ในที่ชาร์จ USB ส่วนใหญ่ในเวลานั้น
- เป็นวิธีใช้เครือข่ายตัวต้านทานระหว่างสัญญาณ USB D+ / D- และไม่มีการสื่อสารดิจิทัล
- จำได้ว่าการทำเฟิร์มแวร์นั้นทำได้ง่าย
- ในปี 2020 เมื่อ USB-C กลายเป็นเรื่องแพร่หลาย ที่ชาร์จ USB จำนวนมากจึงมี ไมโครคอนโทรลเลอร์ ที่มี CPU อยู่ภายใน
- บางรุ่นมีพลังน้อยกว่า AGC
- บางรุ่นมีพลังมากกว่า AGC
- ส่วนใหญ่มีความถี่สัญญาณนาฬิกาเร็วกว่าอย่างน้อยประมาณ 10 เท่า
- USB-C Power Delivery ช่วยแก้ปัญหาและเพิ่มความสามารถใหม่ ๆ แต่ก็เพิ่มความซับซ้อนด้วย
- ทำให้ในกระบวนการผลิตต้องมีเฟิร์มแวร์และชิปเพิ่มขึ้นอีกหนึ่งชุด
- แต่ก็ยังไม่มีการเสนอทางเลือกที่ใช้สายเพียง 1 เส้นในเคเบิล และทำให้ที่ชาร์จ USB-C สามารถกำหนดกระแสและแรงดันชาร์จได้อย่างอิสระ
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
คอมพิวเตอร์แอนะล็อก ก็ควรได้รับการยกย่องอย่างเหมาะสมด้วย ยานอวกาศ Apollo 11 มีคอมพิวเตอร์อีกตัวหนึ่ง นั่นคือ FCC(Flight Control Computer) ซึ่งเป็นคอมพิวเตอร์แอนะล็อกที่ใช้ควบคุมกิมบอลของจรวดบน Saturn V
มันเป็นอุปกรณ์ทรงกระบอกยาว 2 ฟุต และหนักเกือบ 100 ปอนด์
ที่ทั้งสองอย่างได้ชื่อเดียวกันก็เพราะเดิมทีทั้งคู่ถูกสร้างขึ้นมาเพื่อแทนที่คนที่คำนวณด้วยเครื่องคิดเลขตั้งโต๊ะแบบกลไก หรือก็คืองานของ “computer” ในความหมายเดิม
“คอมพิวเตอร์” ควบคุมการบินนั้นใกล้เคียงกับ โมดูลซินธิไซเซอร์แอนะล็อก มากกว่า Cray-1, AGC, Arduino, แล็ปท็อป หรือที่ชาร์จ ส่วนอุปกรณ์ดิจิทัลที่นำมาเทียบกันนั้นจริง ๆ แล้วคล้ายกันมากจนแทบแยกไม่ออก
“Flight Control Computer(FCC) เป็นอุปกรณ์ประมวลผลสัญญาณแอนะล็อกเต็มรูปแบบ และใช้รีเลย์ที่ควบคุมโดย Saturn V Switch Selector Unit เพื่อจัดการความซ้ำซ้อนภายในและการเลือกชุดตัวกรอง FCC มีเส้นทางประมวลผลสัญญาณซ้ำซ้อนหลายชุดในโครงสร้างสามชั้น และสามารถสลับไปยังช่องสำรองได้เมื่อการเปรียบเทียบช่องหลักล้มเหลว คอมพิวเตอร์ควบคุมการบินนี้ใช้ฟีดแบ็กแบบสัดส่วน-อนุพันธ์พื้นฐานสำหรับการควบคุมเวกเตอร์แรงขับระหว่างช่วงบินที่มีแรงขับ และยังมีตรรกะแบบ phase-plane สำหรับควบคุม S-IVB auxiliary propulsion system(APS) ด้วย”
“ระหว่างช่วงบินที่มีแรงขับ FCC ใช้กฎการควบคุม $ \beta_c = a_0 H_0(s) \theta_e + a_1 H_1(s) \dot{\theta} $ โดยที่ $ a_0 $ และ $ a_1 $ คือค่าเกนแบบสัดส่วนและอนุพันธ์ และ $ H_0(s) $ คือฟังก์ชันถ่ายโอนแบบเวลาต่อเนื่องของตัวกรองการโก่งตัวเชิงโครงสร้างในช่องมุมท่าทางและอัตราการเปลี่ยนแปลงมุมท่าทาง สำหรับโครงแบบ Saturn V ค่าเกน $ a_0 $ และ $ a_1 $ ไม่ได้เปลี่ยนตามตาราง แต่มีสวิตช์เกนแบบไม่ต่อเนื่อง FCC ของ Saturn V ยังมีฟังก์ชันเอนเวกเตอร์แรงขับแบบอิเล็กทรอนิกส์โดยใช้ตัวสร้างสัญญาณแบบแรมป์ และตั้งแต่ 20 วินาทีหลังปล่อยตัว มันจะเวกเตอร์เครื่องยนต์ S-IC ออกด้านนอกประมาณ 2 องศา เพื่อลดความไวต่อความไม่ตรงแนวของเวกเตอร์แรงขับ”
https://ntrs.nasa.gov/api/citations/20200002830/downloads/20...
[1] https://imgur.com/qscoWrR
[2] https://imgur.com/HHg5ohS
ใครกันที่บอกว่าผู้หญิงเก่งคณิตศาสตร์ไม่ได้?
https://www.smithsonianmag.com/science-nature/history-human-...
เริ่มเบื่อบทความแนวชวนตื่นเต้นประเภท “เปรียบเทียบอุปกรณ์ที่ลงจอดบนดวงจันทร์กับฮาร์ดแวร์ปัจจุบัน” แล้ว เครื่องบินลำแรกไม่มีคอมพิวเตอร์ชนิดใดเลย ดังนั้น พลังการคำนวณ ไม่ใช่ปัจจัยเดียวที่กำหนดประสิทธิภาพและความสำเร็จของเรื่องแบบนี้
ซอฟต์แวร์และฮาร์ดแวร์ของภารกิจ Apollo ถูกออกแบบมาอย่างยอดเยี่ยม ทุกคนก็รู้ดีว่าตั้งแต่นั้นมาพลังการคำนวณเพิ่มขึ้นอย่างเหลือเชื่อ แต่ก็ไม่ได้แปลว่าวันนี้เราจะทำเรื่องแบบเดียวกันได้ง่าย ๆ เมื่อประสิทธิภาพดีขึ้น ก็ไม่ได้หมายความว่าความจำเป็นของ วิศวกรรมที่ดี จะหายไป แต่บางคนดูเหมือนจะพึ่งพาสมมตินั้นมากเกินไป
สิ่งที่น่าสนใจกว่าคือการเปรียบเทียบว่าเทคโนโลยีที่เราไม่ใส่ใจนั้นซับซ้อนขึ้นแค่ไหน ไม่ใช่อุปกรณ์อัจฉริยะ ไม่ใช่นาฬิกาดิจิทัลยุค 80 แต่เป็น สายเคเบิล จริง ๆ เส้นหนึ่งที่มีเทคโนโลยีระดับเดียวกับ Apollo 11 อยู่ในนั้น และเรายังไม่ทันสังเกตด้วยซ้ำ
ถ้าจะลองโต้แย้งแทน เหตุผลหนึ่งที่การไปดวงจันทร์ยากกว่าการชาร์จอุปกรณ์ USB ก็เพราะการบินอวกาศไม่มีชิ้นส่วนสำเร็จรูปให้ใช้ ถ้าทุกครั้งที่ชาร์จโทรศัพท์คุณต้องสร้างที่ชาร์จ USB ขึ้นมาใหม่ตั้งแต่ศูนย์ และยังต้องนิยามมาตรฐาน USB ขึ้นมาเองด้วย สาย USB ก็คงถูกเรียกว่าเป็น ปัญหาที่ยาก เหมือนกัน
ข้อความสำคัญที่สุดจากบทความแบบนี้ไม่ใช่ว่า Apollo 11 ไม่ได้เป็นความสำเร็จทางวิศวกรรมที่ยิ่งใหญ่ แต่คือมีวิศวกรรมมหาศาลในชีวิตประจำวันของเราที่ถูกผลิตจำนวนมากจนแทบมองไม่เห็น
ถ้าวิศวกรเหล่านั้นข้ามเวลามาถึงปัจจุบัน พวกเขาก็น่าจะเรียนรู้ฮาร์ดแวร์ใหม่ได้โดยไม่มีปัญหา เรายังเป็นมนุษย์เหมือนเดิมและยังใช้สมองมนุษย์แบบเดิม
ข้อความที่ว่า “พลังการคำนวณไม่ใช่ปัจจัยกำหนดเพียงอย่างเดียว” ใช้กับงานอย่างการชาร์จโทรศัพท์ด้วยหรือไม่?
ตอนนี้การคำนวณเรื่องน้ำหนักและต้นทุนดีขึ้นมากพอแล้วหรือยัง จนการป้องกันทั้งโปรเซสเซอร์ด้วย การทำฉนวนกันรังสี ถูกกว่าการทำให้วงจรเองทนรังสี? วงจรทนรังสีใช้ชิ้นส่วนสำเร็จรูปได้ยาก และยังถูกจำกัดในการใช้เทคโนโลยีใหม่ ๆ เลยแพงกว่ามาก
ถ้าจำไม่ผิด เหมือนว่านี่จะเป็นหนึ่งในประเด็นที่มีการศึกษากันในโดรนสำหรับดาวอังคาร แต่ก็ไม่แน่ใจว่าความกังวลเรื่องรังสีบนพื้นผิวดาวอังคารต่างจากกรณีใช้งานในอวกาศแค่ไหน
“ซอฟต์แวร์การบินเขียนด้วย C/C++ และรันบนสภาพแวดล้อม x86 ในการคำนวณ/ตัดสินใจแต่ละครั้ง ‘flight string’ จะเปรียบเทียบผลลัพธ์จากสองคอร์ ถ้าไม่ตรงกัน string นั้นจะถือว่าเสียและจะไม่ส่งคำสั่งออกไป ถ้าสองคอร์ตอบกลับเหมือนกัน string จะส่งคำสั่งไปยังไมโครคอนโทรลเลอร์หลายตัวของจรวดที่ควบคุมสิ่งต่าง ๆ อย่างเช่นเครื่องยนต์และ grid fin”
https://space.stackexchange.com/a/9446/53026
ยานสำรวจ Galileo ใช้แผ่นทังสเตนเพื่อป้องกันโปรเซสเซอร์ของตัวรับรีเลย์บนยาน และอุปกรณ์พลาสมาของ Galileo ก็ใช้ฉนวนแทนทาลัม พอดีกำลังอ่านเรื่องการป้องกันรังสีอยู่
แทบทุก ชิป USB ถ้าดูใน datasheet จะมี CPU ที่ตั้งโปรแกรมได้เต็มรูปแบบอยู่ภายใน สำหรับอุปกรณ์ HID ธรรมดาหรืออุปกรณ์ชาร์จอาจดูตลกหน่อย แต่ไมโครคอนโทรลเลอร์พื้นฐานมีราคาถูกและช่วยลดต้นทุนได้จริงเมื่อเทียบกับ ASIC
ประโยคที่ว่า “LVDC มีตรรกะแบบสามชุดซ้ำจริง ๆ” เป็นจุดเล็กมาก แต่แค่มีอะไรอยู่ 3 ชุดไม่ได้แปลว่าเป็นการทำซ้ำสามชั้น ตามเกณฑ์ของ ความซ้ำซ้อน ถ้ามี 3 ชุดคือซ้ำซ้อนสองชั้น, ถ้ามี 2 ชุดคือซ้ำซ้อนชั้นเดียว, และถ้ามี 1 ชุดคือไม่มีความซ้ำซ้อน
ถ้ากลไกการโหวตไม่ได้สามารถสร้างคำตอบที่ถูกต้องขึ้นมาได้ somehow แม้ทั้งสามชุดจะให้คำตอบต่างกันทั้งหมด ก็ไม่แน่ใจว่าจะเรียกว่าเป็นการทำซ้ำสามชั้นได้อย่างไร หรือว่ากลไกการโหวตเองนับเป็น implementation ที่สี่ในเชิงหน้าที่?
LVDC เป็นคอมพิวเตอร์แบบอนุกรม จัดการทีละบิตในแต่ละครั้ง จึงทำให้การทำกลไกโหวตง่ายขึ้น
LVDC เป็นการออกแบบที่มีความซ้ำซ้อนสูงเพราะห้ามล้มเหลว ส่วน AGC ไม่มีความซ้ำซ้อน แต่ถูกออกแบบให้กู้คืนได้เร็วเมื่อเกิดความล้มเหลว
สงสัยว่ามีวิธีไหนบ้างที่จะรู้ได้ว่าอุปกรณ์ขนาดเล็กที่ปกติไม่ถูกมองว่าเป็นคอมพิวเตอร์ เช่น ที่ชาร์จสมาร์ตโฟน ใช้ฮาร์ดแวร์อะไรอยู่บ้าง โดยไม่ต้องแกะดู
มีเอกสารอย่าง datasheet เฉพาะทางหรือเอกสารรับรองจากรัฐอะไรแบบนั้นไหม? ปกติชอบฮาร์ดแวร์สเปกขั้นต่ำที่ใช้ขับเคลื่อนอุปกรณ์อิเล็กทรอนิกส์รอบตัวอยู่แล้ว เลยอยากรู้ว่าผู้เขียนไปเอาข้อมูลพวกนี้มาจากไหน
แม้แต่คีย์บอร์ดเก่า ๆ ในทศวรรษ 1970 ก็มี CPU ที่ตั้งโปรแกรมได้เต็มรูปแบบอยู่ข้างใน โดยมากเป็นตระกูล Intel MCS-48 https://en.wikipedia.org/wiki/Intel_MCS-48#Uses
ทุกวันนี้ยิ่งชัดเจนกว่าเดิม ทั้งคีย์บอร์ด แทร็กแพด เมาส์ และอุปกรณ์ USB ทุกชนิด ต่างก็มี CPU ที่ตั้งโปรแกรมได้เต็มรูปแบบอยู่ภายใน
น่าทึ่งที่ CPU ของ Anker PowerPort Atom PD 2 USB-C Wall Charger เร็วกว่า Apollo 11 Guidance Computer ถึง 563 เท่า พอคิดว่าถ้าโปรแกรมของที่ใช้ชาร์จอุปกรณ์ของฉันได้ ก็อาจส่งคนไปดวงจันทร์ได้เหมือนกันก็ยิ่งน่าทึ่ง
วิศวกรจำนวนมากที่อยู่ภาคพื้นไม่มีคอมพิวเตอร์ใช้เลย และคนที่โชคดีก็ได้ใช้เพียงเมนเฟรม ไม่ใช่คอมพิวเตอร์ส่วนบุคคล
คอมพิวเตอร์มีราคาแพงและหายากมาก จึงถูกใช้เฉพาะงานที่จำเป็นต้องใช้จริง ๆ โดยเฉพาะงานที่ความแม่นยำหรือความเร็วในการคำนวณสำคัญ
นี่แสดงให้เห็นว่าถ้าให้ ทรัพยากรระดับเมนเฟรม แก่คนที่เดิมก็ทำงานด้านอากาศยานอวกาศด้วย slide rule ได้เก่งอยู่แล้ว จะเกิดอะไรขึ้น
การลงจอดทุกครั้งมีนักบินจับคันบังคับอยู่ และระบบขับดันเป็นแบบ fly-by-wire ที่ซอฟต์แวร์ควบคุม
https://www.quora.com/Could-the-Apollo-Guidance-Computer-hav...:
“P64. ที่ระดับความสูงราว 7,000 ฟุต จุดที่เรียกว่า ‘high gate’ คอมพิวเตอร์จะสลับไป P64 โดยอัตโนมัติ คอมพิวเตอร์ยังคงทำการบินทั้งหมดและนำทาง LM ไปยังเป้าหมายการลงจอด แต่ Commander สามารถมองจุดลงจอดได้ และถ้าไม่ชอบก็เลือกเป้าหมายอื่นได้ จากนั้นคอมพิวเตอร์จะเปลี่ยนเส้นทางและนำไปยังเป้าหมายนั้น
จากจุดนี้ จะใช้หนึ่งในสามโปรแกรมเพื่อให้การลงจอดเสร็จสมบูรณ์
P66. นี่คือโปรแกรมที่ถูกใช้จริงในการลงจอดบนดวงจันทร์ทั้งหกครั้ง ที่ระดับความสูงไม่กี่ร้อยฟุตเหนือพื้นผิว Commander จะสั่งคอมพิวเตอร์ให้สลับไป P66 มักถูกเรียกว่า ‘โหมดแมนนวล’ แต่จริง ๆ ไม่ได้แมนนวลทั้งหมด ในโหมดนี้ Commander ควบคุม LM โดยบอกคอมพิวเตอร์ว่าต้องการให้เคลื่อนที่อย่างไร และคอมพิวเตอร์เป็นผู้ดำเนินการให้ สิ่งนี้ดำเนินต่อไปจนลงจอด
P65. นี่คือโหมดอัตโนมัติที่ถูกถามถึง ถ้าคอมพิวเตอร์ยังอยู่ใน P64 จนถึงระดับประมาณ 150 ฟุตเหนือพื้น มันจะสลับไป P65 โดยอัตโนมัติ และ P65 จะพา LM ลงถึงพื้นภายใต้การควบคุมของคอมพิวเตอร์ ปัญหาคือคอมพิวเตอร์ไม่มีวิธีตรวจหาสิ่งกีดขวาง หรือประเมินว่าพื้นที่ลงจอดเป้าหมายเรียบแค่ไหน ในทุกเที่ยวบิน Commander ต้องการเลือกจุดลงจอดอื่นแทนจุดที่คอมพิวเตอร์กำลังพาไป จึงสลับเป็น P66 ก่อนที่คอมพิวเตอร์จะเปลี่ยนเป็น P65 โดยอัตโนมัติ [อัปเดต: ในเที่ยวบินหลังจากนั้น โค้ด P65 ถูกลบออกจาก AGC เพราะโปรแกรมเมอร์ต้องการหน่วยความจำสำหรับโค้ดอื่น และ AGC มีหน่วยความจำจำกัดมาก การเพิ่มโค้ดในที่หนึ่งจึงต้องเอาบางอย่างออกจากอีกที่หนึ่ง ณ เวลานั้นชัดเจนแล้วว่าไม่มีลูกเรือคนไหนจะใช้โหมดลงจอดอัตโนมัติ จึงลบ P65 ออก]
P67. นี่คือโหมดแมนนวลเต็มรูปแบบจริง ๆ ใน P66 แม้นักบินจะเป็นผู้บังคับ แต่คอมพิวเตอร์ยังอยู่ในลูป ใน P67 คอมพิวเตอร์ถูกตัดออกอย่างสมบูรณ์ มันยังคงให้ข้อมูลอย่างระดับความสูงและอัตราการลดระดับ แต่จะไม่ควบคุมยาน”
อีก 50 ปีข้างหน้า สิ่งที่เทียบได้กับ GPT-4 training cluster ในดาต้าเซ็นเตอร์ปัจจุบันจะอยู่ในสายเคเบิลราคาถูกเส้นหนึ่ง และทำงานได้เร็วกว่าคลัสเตอร์ทั้งชุดในตอนนี้มากกว่า 100 เท่า
ถ้าคิดว่าการฝึก GPT-4 ใช้เวลาราว 100 วัน ก็แปลว่าอีก 50 ปี อุปกรณ์ระดับโทรศัพท์มือถือธรรมดาอาจฝึกโมเดลระดับ GPT-4 ตั้งแต่ต้นได้ในเวลาไม่ถึง 1 วินาที
ไม่เคยรู้มาก่อนว่าเฉพาะ LVDC เท่านั้นที่มี ตรรกะแบบสามชุดซ้ำซ้อน
ประโยคที่ว่า “ต่อให้จำลองการโหวตนี้ด้วยไมโครคอนโทรลเลอร์ 3 ตัวและตัวควบคุมตัวที่ 4 สำหรับนับผลโหวต ก็ไม่ได้เพิ่มความน่าเชื่อถือของระบบ” นั้นชัดเจนพอแล้ว เพราะตัวนับผลโหวตกลายเป็น จุดล้มเหลวเพียงจุดเดียว
ฉันไม่แน่ใจว่า Tandem กับ Stratus จัดการความไม่ตรงกันระหว่างโปรเซสเซอร์สองตัวอย่างไร Stratus ใช้โปรเซสเซอร์ OTC 68K เป็นคู่ แต่ดูเหมือนจะไม่ใช่การโหวต และถ้ามีผู้โหวตแค่สองคน ก็ไม่รู้จะตัดสินความไม่ตรงกันได้อย่างไร
มองไม่ค่อยออกว่าจะสร้างโปรเซสเซอร์ “ที่เชื่อถือได้” แบบอิงการโหวตจากชิป CPU ทั่วไปได้อย่างไร ดูเหมือนว่า CPU แต่ละตัวต้องคอยสังเกตผลลัพธ์ของอีกสองตัว และถ้าตัวเองแพ้โหวตก็ต้องหยุดโหวตเอง ซึ่งฟังดูเหมือนฮาร์ดแวร์ CPU แบบสั่งทำพิเศษ
ฮาร์ดแวร์ภายนอกที่ใช้เปรียบเทียบผลโหวต บอก CPU ให้หยุดโหวต และส่งต่อผลลัพธ์ที่ชนะ สุดท้ายก็คือตัวนับผลโหวตอยู่ดี ซึ่งนั่นเป็นจุดล้มเหลวเพียงจุดเดียว จะใส่ตัวนับผลโหวตสามตัวให้คอยตรวจสอบกันเองก็ได้ แต่ถ้าทำแบบนั้นก็ต้องมีตัวนับผลโหวตของตัวนับผลโหวตอีก สุดท้ายก็เหมือนเต่าวางซ้อนลงไปไม่รู้จบ
โดยทั่วไป วิธีให้ CPU หลายตัวมาโหวตกันเพื่อเพิ่มความน่าเชื่อถือดูเสี่ยง เพราะมันเพิ่มความซับซ้อนและอาจกลับทำให้ความน่าเชื่อถือลดลง
การสร้างโปรเซสเซอร์ที่เชื่อถือได้ อาจสุดท้ายแล้วก็คือการสร้างโปรเซสเซอร์ที่ไว้ใจได้นั่นเอง
เสียดายที่ลิงก์ประวัติของ Jonny Kim เสีย ลิงก์ที่ใช้ได้คือ https://www.nasa.gov/people/jonny-kim/
เขาน่าจะเป็นหนึ่งในมนุษย์ที่น่าทึ่งที่สุดในประวัติศาสตร์ มีทั้งประวัติเป็น Navy SEAL ผู้ได้รับเหรียญกล้าหาญ แพทย์จาก Harvard นักบินอวกาศ และอื่น ๆ อีกมาก ฟังดูเหมือนเด็กสักคนประกอบ G.I. Joe เวอร์ชันสุดยอดขึ้นมาจริง ๆ