Apollo 11 so với bộ sạc USB-C (2020)
(forrestheller.com)- Vi điều khiển bên trong bộ sạc tường USB-C hiện đại đã có xung nhịp, bộ nhớ và dung lượng lưu trữ lớn đến mức có thể so sánh với Apollo 11 Guidance Computer năm 1969
- CYPD4225 trong Anker PowerPort Atom PD 2 có ARM Cortex-M0 48MHz, Flash 128KB, RAM 8KB; tính toán cho thấy theo tiêu chí thực thi phần lớn lệnh, nó nhanh hơn AGC khoảng 563 lần
- Dung lượng lưu trữ thay đổi tùy giả định về mã hóa lệnh; CYPD4225 có thể chứa số lệnh nhiều hơn AGC khoảng 1,19~1,78 lần
- Apollo 11 có 4 máy tính, gồm 2 AGC, 1 LVDC, 1 AGS; nếu không thay đổi đáng kể thiết kế gốc thì khó thay thế tất cả bằng một chip sạc duy nhất
- Chỉ xét hiệu năng tính toán, 4 bộ sạc Anker dường như có thể đáp ứng mức điện toán của Apollo 11, nhưng chứng nhận cho môi trường không gian, thiết bị ngoại vi, mức điện áp và logic dự phòng ba của LVDC vẫn là các ràng buộc riêng
Đối tượng so sánh và thông số cơ bản
- Đối tượng so sánh là Apollo 11 Guidance Computer và 3 mẫu bộ sạc USB-C gần đây
- Google Pixel 18W Charger: Weltrend WT6630P, 10MHz, RAM 512 byte, dung lượng lưu trữ 8KB
- Huawei 40W SuperCharge: Richtek RT7205, 22,7MHz, RAM “0,75kB”, dung lượng lưu trữ 24KB
- Anker PowerPort Atom PD 2: Cypress CYPD4225, 48MHz, RAM 8KB, Flash 128KB
- Apollo 11 Guidance Computer: dựa trên linh kiện rời, 1,024MHz, RAM 2.048 word 15-bit, dung lượng lưu trữ chương trình 36.864 word 15-bit
- AGC đã hỗ trợ phần lớn chuyến bay tới Mặt Trăng của CSM, việc hạ cánh và cất cánh khỏi Mặt Trăng của LEM, cũng như chuyến trở về Trái Đất của CSM
- CPU mạnh nhất trong bảng là CYPD4225 của Anker PowerPort Atom PD 2
- Xung nhịp cao hơn AGC khoảng 48 lần
- Dung lượng lưu trữ chương trình lớn hơn khoảng 1,8 lần
So sánh tốc độ thực thi lệnh
- AGC dùng xung nhịp chủ 1,024MHz, và mỗi lệnh cần tối thiểu 12 chu kỳ xung nhịp
- Phép toán số nguyên dùng bù một (one's complement)
- Không có số thực dấu phẩy động
- Phép toán số học dùng một thanh ghi tích lũy duy nhất
- CYPD4225 có CPU ARM Cortex-M0
- Cả AGC và Cortex-M0 đều không có cache, thời gian truy cập bộ nhớ cố định và thực thi lệnh theo thứ tự
- Cả hai đều không có phần cứng dấu phẩy động và phần cứng vector/ma trận như AVX, SSE, NEON
- Khi so sánh số chu kỳ của các lệnh tương tự, Cortex-M0 có lợi thế lớn
- Cộng/trừ 15-bit: AGC 24 chu kỳ, Cortex-M0 1 chu kỳ
- Cộng/trừ 31-bit: AGC 36 chu kỳ, Cortex-M0 1 chu kỳ
- Nhân: AGC 36 chu kỳ, Cortex-M0 1 chu kỳ
- Rẽ nhánh khi bằng 0: AGC 24 chu kỳ, Cortex-M0 1~4 chu kỳ nếu không có CMP, 2~5 chu kỳ nếu có CMP
- Lưu/tải bộ nhớ: AGC 24 chu kỳ, Cortex-M0 2 chu kỳ
- Phần lớn lệnh AGC dùng nhiều hơn Cortex-M0 khoảng 12 lần số chu kỳ xung nhịp, trong khi Cortex-M0 hoạt động ở 48MHz
- Công thức tính là
12 * 48MHz / 1.024MHz - Theo tiêu chí này, CPU trong bộ sạc USB-C Anker PowerPort Atom PD 2 nhanh hơn AGC 563 lần trong phần lớn ứng dụng
- Công thức tính là
- Lệnh thiếu đáng chú ý trên Cortex-M0 so với AGC là phép chia
- Phép chia của AGC mất 72 chu kỳ, khoảng 70,3µs
- Trong cùng khoảng thời gian đó, CYPD4225 có thể thực thi khoảng 3.374 lệnh số học
- Chi phí rẽ nhánh khoảng 3 chu kỳ, nên vẫn có dư địa triển khai phép chia bằng phần mềm
Dung lượng lưu trữ chương trình và mã hóa lệnh
- Các lập trình viên Apollo đã viết máy ảo/trình thông dịch vì thiếu dung lượng lưu trữ trên Guidance Computer
- Ràng buộc dung lượng lớn đến mức họ phải hy sinh tốc độ để tiết kiệm không gian
- AGC lưu trữ 36.864 word 15-bit, còn CYPD4225 có Flash 128KB làm dung lượng lưu trữ
- Chỉ xét lượng thông tin đơn thuần, CYPD4225 có thể lưu nhiều thông tin hơn AGC 1,90 lần
- Lệnh AGC là lệnh độ rộng cố định 15-bit
- Cortex-M0 triển khai tập lệnh THUMB2, dùng lệnh 16-bit và 32-bit
- Lệnh 16-bit bao gồm phần lớn tác vụ phổ biến như số học, rẽ nhánh, load/store
- Nếu giả định đơn giản mọi lệnh đều là 16-bit, CYPD4225 có thể lưu 65.536 lệnh
- Tối đa 1,78 lần so với 36.864 lệnh của AGC
- Trong giả định cực đoan hơn rằng một nửa là 16-bit, một nửa là 32-bit, tổng cộng có thể lưu 43.690 lệnh
- Bằng 1,19 lần so với AGC
- Việc so sánh mật độ lệnh không đơn giản
- Cortex-M0 có 12 thanh ghi đa dụng có thể chứa kết quả số học
- AGC dùng một thanh ghi tích lũy duy nhất, nhưng có thể lưu trực tiếp kết quả số học vào vị trí bộ nhớ
- Cortex-M0 cần lệnh store riêng
- Chuyển bank của AGC cho phép mã hóa trực tiếp nhiều địa chỉ bộ nhớ hơn trong lệnh số học
- Cortex-M0 có bộ nhớ đơn giản hơn và không cần chuyển bank
- CYPD4225 có thể chứa nhiều lệnh hơn 1,19~1,78 lần, nên được cho là có thể tiếp nhận cả chương trình tương đương AGC
- Các bộ sạc USB-C khác có dung lượng chương trình nhỏ hơn AGC
- Lên Mặt Trăng với 8KB có vẻ khó
- Ban đầu AGC cũng được thiết kế với dung lượng lưu trữ chương trình nhỏ hơn, nhưng đã phải tăng lên
- Vì vậy các CPU trong những bộ sạc khác bị loại khỏi danh sách ứng viên đi tới Mặt Trăng
So sánh RAM
- AGC có thể lưu 2.048 word 15-bit
- CYPD4225 có RAM 8KB
- Tính theo byte, RAM của nó nhỉnh hơn gấp đôi AGC một chút
- AGC chủ yếu tính toán theo đơn vị word 15-bit
- Phép tính tương đương trên Cortex-M0 được thực hiện theo đơn vị word 16-bit
- Tính theo đơn vị tính toán, CYPD4225 có 4.096 word 16-bit, còn AGC có 2.048 word 15-bit, tức chính xác gấp 2 lần
Toàn bộ máy tính của Apollo 11 và số bộ sạc cần thiết
- Theo Wikipedia, tàu vũ trụ Apollo 11 có 4 máy tính
- 2 AGC: 1 trên LEM, 1 trên CSM
- 1 Saturn Launch Vehicle Digital Computer
- 1 Apollo Abort Guidance System
- Vì 4 máy tính nằm ở các phần khác nhau của tàu vũ trụ, khó thay thế tất cả bằng một CYPD4225 duy nhất
- Với điều kiện không thay đổi lớn thiết kế Apollo 11, giả định rằng cần 4 máy tính
- Mỗi máy tính của Apollo 11 trong bảng đều có hiệu năng và bộ nhớ thấp hơn Anker PowerPort Atom PD 2
- AGC: 1,024MHz, RAM 2.048 word 15-bit, dung lượng lưu trữ chương trình 36.864 word 15-bit
- LVDC: 2,048MHz, RAM 4.096 word 13-bit, dung lượng lưu trữ chương trình 32.768 word 13-bit
- AGS: 1,024MHz, RAM 2.048 word 18-bit, dung lượng lưu trữ chương trình 2.048 word 18-bit
- Giả định rằng LVDC và AGS không dùng lệnh đặc thù nào khó thực hiện trên Cortex-M0
- Phép chia có khả năng mất nhiều thời gian hơn phép nhân
- CYPD4225 có thể thực thi hàng nghìn lệnh số học trong thời gian một máy tính bất kỳ của Apollo 11 thực hiện một phép nhân đơn lẻ
- Nếu chỉ xét hiệu năng tính toán, năng lực xử lý của 4 bộ sạc USB-C Anker PowerPort Atom PD 2 có thể đủ để đi tới Mặt Trăng
Các ràng buộc và điểm tranh luận còn lại
- CYPD4225 không phải linh kiện được chứng nhận dùng trong không gian
- Không thể biết liệu nó có hoạt động trong không gian hay không
- Các thiết bị ngoại vi mà máy tính Apollo 11 sử dụng chưa được xem xét riêng
- CYPD4225 có 30 tín hiệu GPIO và hỗ trợ UART, I2C, SPI
- Cần kiểm tra thêm AGC hỗ trợ 100 thiết bị ngoại vi, 10 thiết bị, hay nhiều hơn thế
- Mức điện áp của thập niên 1960 có khả năng quá cao để kết nối trực tiếp với CYPD4225
- LVDC thực tế có logic dự phòng ba
- Cấu trúc là logic đưa ra 3 đáp án và cơ chế bỏ phiếu chọn đáp án thắng
- Có thể xem rằng để so sánh với LVDC thì cần 3 bộ sạc USB-C
- Tính dự phòng này nhằm tăng độ tin cậy, còn trong toàn bộ phép tính thì độ tin cậy bị bỏ qua
- Ngay cả khi mô phỏng cách này bằng 3 vi điều khiển và vi điều khiển thứ 4 để bỏ phiếu, hệ thống được cho là cũng không đáng tin cậy hơn
- Phần này có thể gây tranh luận
Độ phức tạp do cấp nguồn USB-C tạo ra
- Khoảng năm 2012~2013, firmware của Structure Sensor dùng phát hiện bộ sạc USB có trong phần lớn bộ sạc USB thời đó
- Đó là cách dùng mạng điện trở giữa các tín hiệu USB D+ / D-, không có truyền thông số
- Theo ký ức, việc triển khai firmware khá dễ
- Đến năm 2020, khi USB-C trở nên phổ biến, nhiều bộ sạc USB có vi điều khiển kèm CPU bên trong
- Một số kém mạnh hơn AGC
- Một số mạnh hơn AGC
- Phần lớn có tốc độ xung nhịp nhanh hơn ít nhất khoảng 10 lần
- USB-C Power Delivery giải quyết vấn đề và cung cấp tính năng mới, nhưng cũng làm tăng độ phức tạp
- Có thêm một firmware và một con chip phải xử lý trong quá trình sản xuất
- Bài viết không đưa ra được phương án thay thế dùng 1 dây trong cáp và cho phép bộ sạc USB-C đề xuất dòng sạc cũng như điện áp sạc tùy ý
1 bình luận
Ý kiến trên Hacker News
Máy tính analog cũng xứng đáng được đánh giá đúng mức. Trên tàu vũ trụ Apollo 11 còn có thêm một máy tính nữa, đó là FCC (Flight Control Computer), một máy tính analog điều khiển gimbal tên lửa trên Saturn V.
Đó là một thiết bị hình trụ dài 2 feet, nặng gần 100 pound.
Hai thứ có cùng tên là vì ban đầu cả hai đều được tạo ra để thay thế những người làm công việc tính toán bằng máy tính để bàn cơ học, tức những người được gọi là “computer”.
“Máy tính” điều khiển bay gần với một mô-đun synthesizer analog hơn là Cray-1, AGC, Arduino, laptop hay bộ sạc. Các thiết bị số được đem ra so sánh thì khá giống nhau, gần như khó phân biệt.
“Flight Control Computer (FCC) là một thiết bị xử lý tín hiệu hoàn toàn analog, dùng các rơ-le do Saturn V Switch Selector Unit điều khiển để quản lý tính dự phòng nội bộ và lựa chọn các bank lọc. FCC có nhiều đường xử lý tín hiệu dự phòng theo cấu hình bộ ba, và có thể chuyển sang kênh chờ khi so sánh kênh chính thất bại. Máy tính điều khiển bay triển khai phản hồi tỉ lệ-vi phân cơ bản cho điều khiển vector lực đẩy trong giai đoạn bay có động lực, đồng thời cũng bao gồm logic mặt phẳng pha để điều khiển Hệ thống Đẩy Phụ S-IVB (APS).”
“Trong giai đoạn bay có động lực, FCC triển khai luật điều khiển $ \beta_c = a_0 H_0(s) \theta_e + a_1 H_1(s) \dot{\theta} $. Trong đó $ a_0 $ và $ a_1 $ là các hệ số khuếch đại tỉ lệ và vi phân, còn $ H_0(s) $ là hàm truyền liên tục theo thời gian của bộ lọc uốn kết cấu trên kênh tư thế và tốc độ thay đổi tư thế. Trong cấu hình Saturn V, các hệ số khuếch đại $ a_0 $ và $ a_1 $ không thay đổi theo lịch trình, mà có các công tắc hệ số khuếch đại rời rạc. FCC của Saturn V cũng triển khai chức năng nghiêng vector lực đẩy điện tử bằng bộ tạo ramp, bắt đầu từ 20 giây sau khi cất cánh, vector hóa các động cơ S-IC ra ngoài khoảng 2 độ để giảm độ nhạy với sai lệch căn chỉnh vector lực đẩy.”
https://ntrs.nasa.gov/api/citations/20200002830/downloads/20...
[1] https://imgur.com/qscoWrR
[2] https://imgur.com/HHg5ohS
Ai nói phụ nữ không giỏi toán?
https://www.smithsonianmag.com/science-nature/history-human-...
Tôi hơi chán những bài giật gân kiểu “so sánh thiết bị hạ cánh lên Mặt Trăng với phần cứng ngày nay”. Chiếc máy bay đầu tiên không có bất kỳ loại máy tính nào, nên năng lực tính toán không phải là yếu tố duy nhất quyết định hiệu năng và thành công của những việc như thế này.
Phần mềm và phần cứng của các nhiệm vụ Apollo được thiết kế rất tốt. Ai cũng biết năng lực tính toán đã tăng đến mức phi lý trong thời gian đó, nhưng điều đó không có nghĩa là ngày nay làm cùng việc sẽ dễ dàng. Hiệu năng tốt hơn không làm mất đi nhu cầu về kỹ thuật tốt. Tuy vậy, một số người có vẻ dựa khá nhiều vào tiền đề đó.
Điều thú vị hơn là phần so sánh cho thấy những công nghệ ta chẳng mấy để ý đã trở nên phức tạp đến mức nào. Thật đáng kinh ngạc khi trong đúng nghĩa là một sợi cáp — không phải thiết bị thông minh, cũng không phải đồng hồ số thập niên 80 — lại có lượng công nghệ ngang Apollo 11 mà chúng ta không nhận ra.
Nếu thử phản biện thay bạn, một trong những lý do việc lên Mặt Trăng khó hơn sạc thiết bị USB là trong bay vũ trụ không có linh kiện bán sẵn. Nếu mỗi lần sạc điện thoại bạn phải chế tạo bộ sạc USB từ đầu, và còn phải định nghĩa cả chuẩn USB từ đầu, thì cáp USB cũng sẽ sớm được gọi là một bài toán khó.
Thông điệp lớn nhất nên rút ra từ những bài như vậy không phải là Apollo 11 không phải một thành tựu kỹ thuật vĩ đại. Mà là trong đời sống hằng ngày của chúng ta có một lượng kỹ thuật khổng lồ được sản xuất hàng loạt và trở nên vô hình.
Nếu những kỹ sư đó du hành thời gian đến hiện tại, họ cũng sẽ học phần cứng mới không vấn đề gì. Chúng ta vẫn là cùng một loài người và vẫn dùng cùng bộ não con người.
“Năng lực tính toán không phải là yếu tố quyết định duy nhất” có áp dụng cho nhiệm vụ sạc điện thoại không?
Giờ đây, khi các tính toán về trọng lượng và chi phí đã được cải thiện đủ nhiều, tôi tự hỏi liệu che chắn toàn bộ bộ xử lý có rẻ hơn so với việc làm cho chính mạch chịu bức xạ hay không. Mạch chịu bức xạ khó dùng linh kiện có sẵn và cũng bị hạn chế trong việc dùng công nghệ mới nhất, nên đắt hơn nhiều
Nếu tôi nhớ không nhầm thì đây có vẻ là một trong những hướng được nghiên cứu trong drone Mars, nhưng tôi không rõ mối lo về bức xạ trên bề mặt Mars có khác với trường hợp dùng trong không gian hay không
“Phần mềm bay được viết bằng C/C++ và chạy trong môi trường x86. Với mỗi phép tính/quyết định, ‘flight string’ so sánh kết quả của hai core. Nếu có bất đồng, string đó bị xem là lỗi và không gửi lệnh. Nếu hai core trả về cùng một phản hồi, string sẽ gửi lệnh đến nhiều vi điều khiển trên tên lửa để điều khiển những thứ như động cơ và grid fin.”
https://space.stackexchange.com/a/9446/53026
Tàu thăm dò Galileo dùng tấm tungsten để bảo vệ bộ xử lý của máy thu relay trên tàu, còn thiết bị plasma Galileo dùng lớp che chắn tantalum. Tình cờ là tôi cũng đang tìm hiểu về che chắn bức xạ
Gần như mọi chip USB, nếu xem datasheet, đều có một CPU hoàn toàn lập trình được. Với một HID đơn giản hay thiết bị sạc thì trông hơi buồn cười, nhưng vi điều khiển cơ bản rất rẻ và thực tế còn giúp giảm chi phí so với ASIC
Câu “LVDC thực ra có logic dự phòng bộ ba” là một chi tiết rất nhỏ, nhưng không phải cứ có ba thứ gì đó là thành dự phòng ba lần. Theo tiêu chí dự phòng, có 3 cái là dự phòng kép, 2 cái là dự phòng đơn, 1 cái là không có dự phòng
Nếu cơ chế bỏ phiếu không thể somehow tạo ra đáp án đúng khi cả ba triển khai đều cho ra ba đáp án khác nhau, thì tôi không hiểu sao có thể gọi đó là dự phòng ba lần. Bản thân cơ chế bỏ phiếu có phải là một triển khai thứ tư về mặt chức năng không?
LVDC là máy tính nối tiếp, nên mỗi lần chỉ cần xử lý một bit, nhờ đó việc triển khai bỏ phiếu đơn giản hơn
LVDC là thiết kế có mức dự phòng cao, không được phép lỗi, còn AGC không có dự phòng nhưng được thiết kế để phục hồi nhanh khi xảy ra lỗi
Tôi tự hỏi có cách nào để biết chính xác phần cứng nào được dùng trong các thiết bị nhỏ thường không được xem là máy tính, chẳng hạn như sạc smartphone, mà không cần tháo tung chúng ra không
Có loại datasheet đặc thù hay tài liệu chứng nhận của chính phủ nào không? Tôi luôn bị hấp dẫn bởi phần cứng cấu hình tối thiểu vận hành các thiết bị điện tử hằng ngày, nên muốn biết tác giả lấy thông tin đó từ đâu
Ngay cả các bàn phím cũ từ thập niên 1970 cũng có CPU hoàn toàn lập trình được, thường là biến thể Intel MCS-48 https://en.wikipedia.org/wiki/Intel_MCS-48#Uses
Ngày nay thì còn hơn thế. Bàn phím, trackpad, chuột, mọi thiết bị USB, v.v. đều có CPU hoàn toàn lập trình được bên trong
CPU của Anker PowerPort Atom PD 2 USB-C Wall Charger nhanh hơn Apollo 11 Guidance Computer tới 563 lần; thật đáng kinh ngạc khi nghĩ rằng nếu lập trình được thứ dùng để sạc thiết bị của mình, có lẽ cũng có thể đưa con người lên Mặt Trăng
Rất nhiều kỹ sư ở mặt đất không có máy tính, và ngay cả những người may mắn được dùng thì đó cũng là máy tính mainframe chứ không phải máy tính cá nhân
Máy tính khi ấy quá quý hiếm nên chỉ được dùng cho những việc nhất thiết cần máy tính, đặc biệt là các việc mà độ chính xác hoặc tốc độ tính toán là quan trọng
Nó cho thấy chuyện gì xảy ra khi trao tài nguyên cấp mainframe cho những người vốn đã làm hàng không vũ trụ rất giỏi bằng thước tính trượt
Tất cả các lần hạ cánh đều theo kiểu fly-by-wire, phi công nắm cần điều khiển còn các thruster do phần mềm điều khiển
https://www.quora.com/Could-the-Apollo-Guidance-Computer-hav...:
“P64. Ở độ cao khoảng 7.000 feet, tại điểm gọi là ‘high gate’, máy tính tự động chuyển sang P64. Máy tính vẫn thực hiện toàn bộ chuyến bay và dẫn LM tới mục tiêu hạ cánh. Tuy nhiên, Commander có thể quan sát điểm hạ cánh và nếu không ưng ý thì chọn mục tiêu khác; máy tính sẽ đổi quỹ đạo và dẫn tới mục tiêu đó.
Từ thời điểm này, một trong ba chương trình được dùng để hoàn tất hạ cánh.
P66. Đây là chương trình thực sự được dùng trong cả sáu lần hạ cánh lên Mặt Trăng. Ở độ cao vài trăm feet phía trên bề mặt, Commander ra lệnh cho máy tính chuyển sang P66. Nó thường được gọi là ‘chế độ thủ công’, nhưng thực ra không hoàn toàn thủ công. Trong chế độ này, Commander điều khiển LM bằng cách ra lệnh cho máy tính thực hiện chuyển động mình muốn, và máy tính sẽ thực thi. Việc này tiếp tục cho đến khi hạ cánh.
P65. Đây là chế độ tự động mà câu hỏi đề cập. Nếu máy tính vẫn ở P64 cho đến khoảng 150 feet trên bề mặt, nó sẽ tự động chuyển sang P65; P65 đưa LM xuống bề mặt dưới sự điều khiển của máy tính. Vấn đề là máy tính không có cách nào phát hiện chướng ngại vật hoặc đánh giá điểm hạ cánh mục tiêu bằng phẳng đến đâu. Trong mọi chuyến bay, Commander đều muốn chọn một điểm khác với nơi máy tính đang đưa tới, nên họ đã chuyển sang P66 trước khi máy tính tự động chuyển sang P65. [Cập nhật: Trong các chuyến bay sau đó, mã P65 đã bị loại khỏi AGC. Các lập trình viên cần bộ nhớ cho mã khác, và AGC có bộ nhớ quá hạn chế nên muốn thêm mã ở một chỗ thì phải bỏ thứ gì đó ở chỗ khác. Đến thời điểm đó, rõ ràng không phi hành đoàn nào sẽ dùng chế độ hạ cánh tự động, nên P65 bị loại bỏ.]
P67. Đây mới là chế độ hoàn toàn thủ công thật sự. Ở P66, dù phi công điều khiển, máy tính vẫn nằm trong vòng điều khiển. Ở P67, máy tính bị tách ra hoàn toàn. Nó vẫn cung cấp dữ liệu như độ cao và tốc độ hạ xuống, nhưng không điều khiển phương tiện.”
50 năm nữa, thứ tương đương với cụm huấn luyện GPT-4 trong trung tâm dữ liệu ngày nay sẽ nằm trong một sợi cáp rẻ tiền, và chạy nhanh hơn toàn bộ cụm hiện tại hơn 100 lần
Nếu coi việc huấn luyện GPT-4 mất khoảng 100 ngày, thì điều đó có nghĩa là 50 năm nữa, một thiết bị cỡ điện thoại phổ thông có thể huấn luyện một mô hình cấp GPT-4 từ đầu trong chưa tới 1 giây
Tôi không biết rằng chỉ riêng LVDC đã có logic dự phòng ba tầng
Câu “dù mô phỏng cơ chế bỏ phiếu này bằng ba vi điều khiển và một bộ điều khiển thứ tư để tổng hợp phiếu, độ tin cậy của hệ thống cũng không tăng” là đủ rõ. Vì bộ tổng hợp phiếu trở thành điểm lỗi đơn
Tôi không rõ Tandem và Stratus đã xử lý bất đồng giữa hai bộ xử lý như thế nào. Stratus dùng một cặp bộ xử lý OTC 68K, nhưng có vẻ đó không phải là bỏ phiếu. Nếu chỉ có hai bên bỏ phiếu thì tôi không biết làm sao giải quyết bất đồng
Tôi không thấy rõ cách tạo một bộ xử lý “đáng tin cậy” dựa trên bỏ phiếu bằng các chip CPU có sẵn. Có lẽ mỗi CPU phải quan sát đầu ra của hai CPU còn lại, và nếu thua trong cuộc bỏ phiếu thì tự ngừng bỏ phiếu; nhưng nghe như vậy là phần cứng CPU tùy biến
Phần cứng bên ngoài để so sánh phiếu, báo cho CPU ngừng bỏ phiếu và định tuyến sang đầu ra thắng cuộc rốt cuộc vẫn là bộ tổng hợp phiếu, và đó là điểm lỗi đơn. Có thể đặt ba bộ tổng hợp phiếu để chúng giám sát lẫn nhau, nhưng khi đó lại cần một bộ tổng hợp cho các bộ tổng hợp phiếu. Bên dưới là rùa xếp chồng vô tận
Nói chung, cách cho nhiều CPU bỏ phiếu để tăng độ tin cậy trông có vẻ nguy hiểm vì nó làm tăng độ phức tạp và có thể lại làm giảm độ tin cậy
Có lẽ tạo ra một bộ xử lý đáng tin cậy rốt cuộc chỉ là tạo ra một bộ xử lý mà ta có thể tin được
Tiếc là liên kết tiểu sử Jonny Kim bị hỏng. Liên kết còn hoạt động là https://www.nasa.gov/people/jonny-kim/
Có lẽ anh ấy là một trong những con người ấn tượng nhất lịch sử. Anh có nhiều lý lịch như Navy SEAL được trao huân chương, bác sĩ Harvard, phi hành gia, v.v. Nghe như một đứa trẻ đã lắp ghép nên G.I. Joe tối thượng vậy