SlideShare a Scribd company logo
Fly me to the Moon*
On HW/SW used by Apollo missions to land on the Moon
April 1st 2015, Martin.Dvorak@mindforger.com* a song originally written by Brad Howard in 1954 and recorded by Frank Sinatra in1964
Why?
Aim for deep space / universe understanding?
Aim for technological advance with huge impact on humanity?
Seek a solution to a crucial problem enabling humans to alive?
Another purely practical reason?
…
Bring alien technology from the dark side of the Moon?
Why?
Space Race as a part of Cold War propaganda
Space Race Timeline
Space Race Timeline: Computers Evolution
Intel founded 1968
… 9x around the Moon & 6x on the Moon
Apollo Program: Mission(s) & Timeline
• Apollo 1 1966/02/22 - 1st flight of Saturn 1b
• Apollo 2 1966/07/05 - fuel tank test
• Apollo 3 1966/08/25 - sub-orbital Saturn 1b test
• Apollo 1 1967/01/27 - pre launch cabin fire (Block I)
• Apollo 4 1967/11/09 - 1st test of Saturn V booster
• Apollo 5 1968/01/22 - test of Saturn V booster & LM
• Apollo 6 1968/04/04 - test of Saturn V booster
• Apollo 7 1968/11/11 - 1st manned Saturn 1b
• Apollo 8 1968/12/21 - 1st manned Saturn V around Moon
• Apollo 9 1969/03/03 - 1st manned LM
• Apollo 10 1969/05/18 - 1st manned LM around Moon
• Apollo 11 1969/07/16 - 1st manned landing on the Moon
• Apollo 12 1969/12/14
• Apollo 13 1970/04/11 - SM explosion & LM as life boat
• Apollo 14 1970/01/31
• Apollo 15 1971/07/26 - 1st lunar rower excursion
• Apollo 16 1972/04/16
• Apollo 17 1972/12/07 - Final manned landing on M
3 stages, 111m, service + lunar + command modules
AGC Drill Down: Saturn 5
AGC Drill Down: Saturn 5
Žižkovská věž 213m
Apollo PGNCS
• PGNCS == inertial guidance system
• Navigation (speed, position, attitude):
• Inertial: Inertial Measurement Unit - vector & gyroscope
• Optical: Optical Unit - sextant (position & orientation)
• Radio: Radar(s) - radio beacon & Doppler (v; 10mm/s)
• AGC == PGNCS computer
• Both on CM and LM
• Developed by MIT, manufactured by GM
The Primary Guidance, Navigation and Control System aka “pings”
PGNCS w/ AGC @ Lunar Module
AGC: Apollo Guidance Computer
• Digital computer = DSKY + Block I/II
• Both on CM and LM
• Guidance + navigation + control
• NASA deep space net > vector > AGC
• DSKY = numeric display & keypad
• Numbers display: vectors
e.g. space craft attitude & velocity delta
• Commands: verb & noun
two XX numbers w/ action & data
• Units: metrics (internal) > US (DSKY)
• 2xCM & 1xLM
• Block I/Block II = digital computer
• Developed by MIT in 1966 w/ Raytheon
• fridges > WW2 > defense
AGC: Hardware
• Lead: Charles Stark Draper
• “father of inertial navigation”
• RAM 3.8kB (Apollo 14 reprogramming)
• ROM 74kB of LOL memory
• “little old lady” - core rope memory
• Registers: 4 central 15+1b + ~20 specific
• Instructions: 11, 3b+12b (opcode + addr)*
• Interrupts: 5, Bus: 16b RD + 16WR
• Logical module (not CPU):
• 4.100/2.800 (Block I/II) integrated circuits (1958)
ICs > logic modules > Block I/II
• Timing: 2.048 MHz referential + aux timers
• ~32kg, ~70W/55W + stand-by, 61x32x17cm
• Water cooling
RAM ROM
Logic module
ICs
AGC: Software
• Lead: Margaret Hamilton (31) @ MIT
• Exec OS w/ 8 jobs
• Cooperative multi-tasking
• Interrupt driven priority* job waitlist
• Margaret:
• Coined term software engineering & set dev standards
• Designed virtual machine ~ robust sophisticated interpreter
• new (pseudo) instructions & lower memory consumption
• buffer overflow & cycle stealing handling (RAM w/o CPU)
• Her robust AGC design avoided Apollo 11 crash
• … when landing on the Moon: 3’ > radar (activated by mistake) >
overload (interrupts) > alarms > … but still running* + 2’’ from death
Necessary software and programming techniques did NOT exist > to be designed
Margaret Hamilton
lead Apollo flight software engineer
AGC: Try it Yourself!
• AGC emulators:
• JavaScript
• http://svtsim.com/moonjs/agc.html
• Project Apollo NASSP emulator
• http://sourceforge.net/projects/nassp/
• Original AGC source code:
• https://code.google.com/p/virtualagc/
• Comments & thoughts & ideas:
• news.ycombinator.com
Lessons Learned
• Simple
• Reliable
• Robust
• Efficient … design
• Improvise
• Handle failure gracefully
• Work with users astronauts on UX
• Unit tests prove your code
• Trust in skilled crew, not in computers
They would not let as fly the moon today…

More Related Content

Similar to Fly Me to the Moon

Isee3 Reboot
Isee3 RebootIsee3 Reboot
Isee3 Reboot
hybr1s
 
ScilabTEC 2015 - CNES
ScilabTEC 2015 - CNESScilabTEC 2015 - CNES
ScilabTEC 2015 - CNES
Scilab
 
Voyager 1
Voyager 1Voyager 1
Voyager 1
chintanajoshi
 
TECHNOLOGY MISSIONS
TECHNOLOGY MISSIONSTECHNOLOGY MISSIONS
TECHNOLOGY MISSIONS
Shivanand Vanjire
 
Lecture 1 Introduction to robotics (1).pptx
Lecture 1 Introduction to robotics (1).pptxLecture 1 Introduction to robotics (1).pptx
Lecture 1 Introduction to robotics (1).pptx
KadiriIbrahim2
 
Space shuttles and Disasters
Space shuttles and DisastersSpace shuttles and Disasters
Space shuttles and Disasters
Shalini Guha
 
Senior Design - Europa Lander Mission Presentation
Senior Design - Europa Lander Mission PresentationSenior Design - Europa Lander Mission Presentation
Senior Design - Europa Lander Mission Presentation
Matt Bergman
 
Indian Space Transportation Systems : Present and Future Scenarios
Indian Space Transportation Systems : Present and Future ScenariosIndian Space Transportation Systems : Present and Future Scenarios
Indian Space Transportation Systems : Present and Future Scenarios
Kurup Kurup
 
Curiosity (Mars Rover)
Curiosity (Mars Rover)Curiosity (Mars Rover)
Curiosity (Mars Rover)
Sharandhass Radakrishnan
 
Satellite....(Use Only Office 2010 and above)..Plese
Satellite....(Use Only Office 2010 and above)..Plese Satellite....(Use Only Office 2010 and above)..Plese
Satellite....(Use Only Office 2010 and above)..Plese
CMS College Science And Commerce
 
History of GIS
History of GISHistory of GIS
History of GIS
Walter Simonazzi
 
Astronauts and Robots 2015: Mike Gernhardt, NASA
Astronauts and Robots 2015: Mike Gernhardt, NASAAstronauts and Robots 2015: Mike Gernhardt, NASA
Astronauts and Robots 2015: Mike Gernhardt, NASA
American Astronautical Society
 
Embry Riddle Final
Embry Riddle FinalEmbry Riddle Final
Embry Riddle Final
jschrell
 
Satellite Hacking — Intro by Indianz (2012)
Satellite Hacking — Intro by Indianz (2012)Satellite Hacking — Intro by Indianz (2012)
Satellite Hacking — Intro by Indianz (2012)
Jim Geovedi
 
Space Station
Space StationSpace Station
Space Station
Bong Tong
 
The Operation Of Space Shuttle
The Operation Of Space ShuttleThe Operation Of Space Shuttle
The Operation Of Space Shuttle
Gokul Lakshmanan
 
Project Tranquility
Project TranquilityProject Tranquility
Project Tranquility
Jordan Lampard
 
To themoon
To themoonTo themoon
To themoon
Serendipity Seraph
 
Prompt
PromptPrompt
Priority Inversion on Mars
Priority Inversion on MarsPriority Inversion on Mars
Priority Inversion on Mars
National Cheng Kung University
 

Similar to Fly Me to the Moon (20)

Isee3 Reboot
Isee3 RebootIsee3 Reboot
Isee3 Reboot
 
ScilabTEC 2015 - CNES
ScilabTEC 2015 - CNESScilabTEC 2015 - CNES
ScilabTEC 2015 - CNES
 
Voyager 1
Voyager 1Voyager 1
Voyager 1
 
TECHNOLOGY MISSIONS
TECHNOLOGY MISSIONSTECHNOLOGY MISSIONS
TECHNOLOGY MISSIONS
 
Lecture 1 Introduction to robotics (1).pptx
Lecture 1 Introduction to robotics (1).pptxLecture 1 Introduction to robotics (1).pptx
Lecture 1 Introduction to robotics (1).pptx
 
Space shuttles and Disasters
Space shuttles and DisastersSpace shuttles and Disasters
Space shuttles and Disasters
 
Senior Design - Europa Lander Mission Presentation
Senior Design - Europa Lander Mission PresentationSenior Design - Europa Lander Mission Presentation
Senior Design - Europa Lander Mission Presentation
 
Indian Space Transportation Systems : Present and Future Scenarios
Indian Space Transportation Systems : Present and Future ScenariosIndian Space Transportation Systems : Present and Future Scenarios
Indian Space Transportation Systems : Present and Future Scenarios
 
Curiosity (Mars Rover)
Curiosity (Mars Rover)Curiosity (Mars Rover)
Curiosity (Mars Rover)
 
Satellite....(Use Only Office 2010 and above)..Plese
Satellite....(Use Only Office 2010 and above)..Plese Satellite....(Use Only Office 2010 and above)..Plese
Satellite....(Use Only Office 2010 and above)..Plese
 
History of GIS
History of GISHistory of GIS
History of GIS
 
Astronauts and Robots 2015: Mike Gernhardt, NASA
Astronauts and Robots 2015: Mike Gernhardt, NASAAstronauts and Robots 2015: Mike Gernhardt, NASA
Astronauts and Robots 2015: Mike Gernhardt, NASA
 
Embry Riddle Final
Embry Riddle FinalEmbry Riddle Final
Embry Riddle Final
 
Satellite Hacking — Intro by Indianz (2012)
Satellite Hacking — Intro by Indianz (2012)Satellite Hacking — Intro by Indianz (2012)
Satellite Hacking — Intro by Indianz (2012)
 
Space Station
Space StationSpace Station
Space Station
 
The Operation Of Space Shuttle
The Operation Of Space ShuttleThe Operation Of Space Shuttle
The Operation Of Space Shuttle
 
Project Tranquility
Project TranquilityProject Tranquility
Project Tranquility
 
To themoon
To themoonTo themoon
To themoon
 
Prompt
PromptPrompt
Prompt
 
Priority Inversion on Mars
Priority Inversion on MarsPriority Inversion on Mars
Priority Inversion on Mars
 

Recently uploaded

Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 

Recently uploaded (20)

Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 

Fly Me to the Moon

  • 1. Fly me to the Moon* On HW/SW used by Apollo missions to land on the Moon April 1st 2015, Martin.Dvorak@mindforger.com* a song originally written by Brad Howard in 1954 and recorded by Frank Sinatra in1964
  • 2. Why? Aim for deep space / universe understanding? Aim for technological advance with huge impact on humanity? Seek a solution to a crucial problem enabling humans to alive? Another purely practical reason? …
  • 3. Bring alien technology from the dark side of the Moon? Why?
  • 4. Space Race as a part of Cold War propaganda
  • 6. Space Race Timeline: Computers Evolution Intel founded 1968
  • 7. … 9x around the Moon & 6x on the Moon Apollo Program: Mission(s) & Timeline • Apollo 1 1966/02/22 - 1st flight of Saturn 1b • Apollo 2 1966/07/05 - fuel tank test • Apollo 3 1966/08/25 - sub-orbital Saturn 1b test • Apollo 1 1967/01/27 - pre launch cabin fire (Block I) • Apollo 4 1967/11/09 - 1st test of Saturn V booster • Apollo 5 1968/01/22 - test of Saturn V booster & LM • Apollo 6 1968/04/04 - test of Saturn V booster • Apollo 7 1968/11/11 - 1st manned Saturn 1b • Apollo 8 1968/12/21 - 1st manned Saturn V around Moon • Apollo 9 1969/03/03 - 1st manned LM • Apollo 10 1969/05/18 - 1st manned LM around Moon • Apollo 11 1969/07/16 - 1st manned landing on the Moon • Apollo 12 1969/12/14 • Apollo 13 1970/04/11 - SM explosion & LM as life boat • Apollo 14 1970/01/31 • Apollo 15 1971/07/26 - 1st lunar rower excursion • Apollo 16 1972/04/16 • Apollo 17 1972/12/07 - Final manned landing on M
  • 8. 3 stages, 111m, service + lunar + command modules AGC Drill Down: Saturn 5
  • 9. AGC Drill Down: Saturn 5 Žižkovská věž 213m
  • 10. Apollo PGNCS • PGNCS == inertial guidance system • Navigation (speed, position, attitude): • Inertial: Inertial Measurement Unit - vector & gyroscope • Optical: Optical Unit - sextant (position & orientation) • Radio: Radar(s) - radio beacon & Doppler (v; 10mm/s) • AGC == PGNCS computer • Both on CM and LM • Developed by MIT, manufactured by GM The Primary Guidance, Navigation and Control System aka “pings” PGNCS w/ AGC @ Lunar Module
  • 11. AGC: Apollo Guidance Computer • Digital computer = DSKY + Block I/II • Both on CM and LM • Guidance + navigation + control • NASA deep space net > vector > AGC • DSKY = numeric display & keypad • Numbers display: vectors e.g. space craft attitude & velocity delta • Commands: verb & noun two XX numbers w/ action & data • Units: metrics (internal) > US (DSKY) • 2xCM & 1xLM • Block I/Block II = digital computer • Developed by MIT in 1966 w/ Raytheon • fridges > WW2 > defense
  • 12. AGC: Hardware • Lead: Charles Stark Draper • “father of inertial navigation” • RAM 3.8kB (Apollo 14 reprogramming) • ROM 74kB of LOL memory • “little old lady” - core rope memory • Registers: 4 central 15+1b + ~20 specific • Instructions: 11, 3b+12b (opcode + addr)* • Interrupts: 5, Bus: 16b RD + 16WR • Logical module (not CPU): • 4.100/2.800 (Block I/II) integrated circuits (1958) ICs > logic modules > Block I/II • Timing: 2.048 MHz referential + aux timers • ~32kg, ~70W/55W + stand-by, 61x32x17cm • Water cooling RAM ROM Logic module ICs
  • 13.
  • 14. AGC: Software • Lead: Margaret Hamilton (31) @ MIT • Exec OS w/ 8 jobs • Cooperative multi-tasking • Interrupt driven priority* job waitlist • Margaret: • Coined term software engineering & set dev standards • Designed virtual machine ~ robust sophisticated interpreter • new (pseudo) instructions & lower memory consumption • buffer overflow & cycle stealing handling (RAM w/o CPU) • Her robust AGC design avoided Apollo 11 crash • … when landing on the Moon: 3’ > radar (activated by mistake) > overload (interrupts) > alarms > … but still running* + 2’’ from death Necessary software and programming techniques did NOT exist > to be designed Margaret Hamilton lead Apollo flight software engineer
  • 15. AGC: Try it Yourself! • AGC emulators: • JavaScript • http://svtsim.com/moonjs/agc.html • Project Apollo NASSP emulator • http://sourceforge.net/projects/nassp/ • Original AGC source code: • https://code.google.com/p/virtualagc/ • Comments & thoughts & ideas: • news.ycombinator.com
  • 16. Lessons Learned • Simple • Reliable • Robust • Efficient … design • Improvise • Handle failure gracefully • Work with users astronauts on UX • Unit tests prove your code • Trust in skilled crew, not in computers They would not let as fly the moon today…

Editor's Notes

  1. What WAS the motivation to invest so much resources?
  2. Technological advance Work from 100.000s of people NASA heritage: spread around US vs. Space X rocket factory
  3. - Saturn 1b was Saturn V predecessor w/ one stage - used before Saturn V was ready
  4. - 3 stages - Service module, lunar module, command module
  5. The AGC also used the novel integrated circuits for its digital logic. It was a risky choice, as the technology was considered untested at the time, but was necessary to fit the system into the small weight and size required for the Apollo mission.
  6. - cycle stealing: accessing RAM without interfering CPU - leveraging idle CPU time - CPU/bus timing exploitation may allow to sneak in between, use bus while CPU is running full speed (DMA like)
  7. Eugene Kranz - Apollo missions Flight Director is NOT author of the quote