How the Big Blue Grinch Stole the Apollo Guidance Computer … Only They Didn’t! Hugh Blair-Smith MAPLD 2005.

Slides:



Advertisements
Similar presentations
Chapter 2: Data Manipulation
Advertisements

The CPU The Central Presentation Unit What is the CPU?
Computer Architecture
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
REGISTER TRANSFER LANGUAGE (RTL)
INSTRUCTION SET ARCHITECTURES
Computer Organization and Architecture
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Computer Organization and Architecture
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
UNIVERSITY OF MASSACHUSETTS Dept
Processor Technology and Architecture
Chapter 7 Interupts DMA Channels Context Switching.
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
Midterm Tuesday October 23 Covers Chapters 3 through 6 - Buses, Clocks, Timing, Edge Triggering, Level Triggering - Cache Memory Systems - Internal Memory.
Computer Organization and Assembly language
(6.1) Central Processing Unit Architecture  Architecture overview  Machine organization – von Neumann  Speeding up CPU operations – multiple registers.
Micro controllers A self-contained system in which a processor, support, memory, and input/output (I/O) are all contained in a single package.
Lecture 18 Last Lecture Today’s Topic Instruction formats
CS-334: Computer Architecture
Computer Architecture and Organization
Computer Architecture and Organization Introduction.
Command and Data Handling (C&DH)
Programmer's view on Computer Architecture by Istvan Haller.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Top Level View of Computer Function and Interconnection.
Computer Architecture Lecture 2 System Buses. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given.
EEE440 Computer Architecture
Module : Algorithmic state machines. Machine language Machine language is built up from discrete statements or instructions. On the processing architecture,
ECEG-3202 Computer Architecture and Organization Chapter 3 Top Level View of Computer Function and Interconnection.
Computer Architecture Lecture 32 Fasih ur Rehman.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
In1210/01-PDS 1 TU-Delft Instructions and addressing.
MICROOCESSORS AND MICROCONTROLLER:
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
System Unit Working of CPU. The CPU CPU The CPU CPU stands for central processing unit. it is brain of computer It is most important component of the.
Dr Mohamed Menacer College of Computer Science and Engineering, Taibah University CE-321: Computer.
Von Neumann Computers Article Authors: Rudolf Eigenman & David Lilja
Group 1 chapter 3 Alex Francisco Mario Palomino Mohammed Ur-Rehman Maria Lopez.
MICROPROCESSOR DETAILS 1 Updated April 2011 ©Paul R. Godin prgodin gmail.com.
MODULE 5 INTEL TODAY WE ARE GOING TO DISCUSS ABOUT, FEATURES OF 8086 LOGICAL PIN DIAGRAM INTERNAL ARCHITECTURE REGISTERS AND FLAGS OPERATING MODES.
Chapter 1_0 Registers & Register Transfer. Chapter 1- Registers & Register Transfer  Chapter 7 in textbook.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
1 3 Computing System Fundamentals 3.2 Computer Architecture.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
MAPLD 2005/213Kakarla & Katkoori Partial Evaluation Based Redundancy for SEU Mitigation in Combinational Circuits MAPLD 2005 Sujana Kakarla Srinivas Katkoori.
Addressing modes, memory architecture, interrupt and exception handling, and external I/O. An ISA includes a specification of the set of opcodes (machine.
CSCE451/851 Introduction to Operating Systems
Chapter 12 Processor Structure and Function. Central Processing Unit CPU architecture, Register organization, Instruction formats and addressing modes(Intel.
Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir. A.C. Verschueren Eindhoven University of Technology Section of Digital.
Central Processing Unit Architecture
UNIT – Microcontroller.
UNIVERSITY OF MASSACHUSETTS Dept
William Stallings Computer Organization and Architecture
Microcomputer Programming
Chapter 3 Top Level View of Computer Function and Interconnection
Introduction to Microprocessors and Microcontrollers
ECEG-3202 Computer Architecture and Organization
Chapter 8 Central Processing Unit
Five Key Computer Components
Registers.
Computer Architecture
ADSP 21065L.
Presentation transcript:

How the Big Blue Grinch Stole the Apollo Guidance Computer … Only They Didn’t! Hugh Blair-Smith MAPLD 2005

Replace MIT’s AGC with IBM’s LVDC?? IBM FSD’s self-image “Established” Boost Guidance Taking sides: Industry vs. Academe TMR for fault tolerance Consultant role of Bellcomm

LVDC Architecture (1) Serial logic –Reduces transistor count –Performance penalty –Core memory access is still parallel –Bits in low-to-high sequence for carry propagation “Word time” is thus determined by carry propagation rate My estimate: 3 word times per memory cycle –Forces 2’s complement notation: logical negation is separate –Separate multiplication subsystem, reminiscent of 1940s 7 (I think) instructions needed to fill time until product is ready

LVDC Architecture (2) Pedestrian instruction set –No exchange-with-memory –No divide –No facility for indexing or indirect addressing –Not easily supportive of multiple precision –Adequate for evaluating Adaptive Polynomials: the “APE” Mediocre at best as a general purpose computer

LVDC Architecture (3) Triple Modular Redundancy (TMR) –Fail-operational rule (FO) –Appropriate for high-risk environment inside booster –Forces serial logic to save triplicated transistor count –No clear route to a degraded fail-safe (FS) state –My guess: this was the clincher for Bellcomm

LVDC Architecture (4) Interfaces –Inputs: IMU, ground commands, other? –Outputs: IMU, engine on-off & gimbals, other? –No general crew interface –Not readily expandable beyond boost functions

MIT Reactions to Proposal General purpose architecture is required –High performance in many applications Reliability can be achieved –Spacecraft environment is low-risk Has to be, with humans present! –MIT’s Polaris experience Interface requires flexibility, expandability –Crew interface, additional subsystems

AGC Architecture (1) Parallel logic –Greater transistor (or gate) count Eased by availability of Fairchild NOR-gate ICs –High performance, especially complex instructions 12 pulse times per memory cycle –Core memory access is parallel anyway –Allows 1’s or 2’s complement notation: MIT took 1’s Logical negation same as numerical negation 1’s complement implies end-around carry –Multiply and divide share normal CPU resources

AGC Architecture (2) Powerful and elegant instruction set –XCH to facilitate time-sharing of erasable (RAM) locations –DV with signed remainder –CCS = (Count, Compare & Skip) for flexible testing & looping –INDEX for indexing and indirect addressing –Support multiple precision (with independent signs per word) –Support general purpose applications, including: Multitasking “executive” to schedule jobs by priority Interpretive code for vector-matrix operations

AGC Architecture (3) Reliable “single string” –No fail-operational (FO) capability for hard failures Restarts handle transient faults gracefully –Takes advantage of low-risk spacecraft environment –Allows use of parallel logic with moderate gate count –Fail-safe (FS) capability provided by AGS –Spacecraft has to have a lot of single-string subsystems anyway IMU and sextant, for instance

AGC Architecture (4) Interfaces –Inputs: flexible set of subsystems and transfer modes PINC/MINC counters and timers UART Channels –Outputs: flexible set of subsystems and transfer modes DINC down-counters UART: SHINC-SHANC Channels –General crew interface (DSKY) Also shared by uplink (the “mechanical boy”)

Summary of the Issue’s Resolution MIT response was nothing if not emphatic –“We are astonished that Bellcomm could have come to this conclusion” – Dick Battin An odd battlefield for so epic a struggle –MSC wasn’t built yet, nor was IAH –MIT, Bellcomm, and NASA met in a motel room across from Hobby Airport People and paper slides perched on 2 king beds

… It Could Have Been Even Better AGC architecture really should have used 2’s complement notation –Easier handling of CDU angles (circle divided into parts) –Could have done logical negation with a central register access Could have had a square root instruction –With a remainder to facilitate multiple precision Wish I’d known then how to build a (CORDIC) simultaneous sine-cosine instruction –Both this and square root are about as complex, and take about the same time, as divide!