589:
1411:. The memory cycle took 12 timing pulses (11.72 Ī¼s). The cycle began at timing pulse 1 (TP1) when the AGC loaded the memory address to be fetched into the S register. The memory hardware retrieved the data word from memory at the address specified by the S register. Words from erasable memory were deposited into the G register by timing pulse 6 (TP6); words from fixed memory were available by timing pulse 7. The retrieved memory word was then available in the G register for AGC access during timing pulses 7 through 10. After timing pulse 10, the data in the G register was written back to memory.
1800:. The address spaces were extended by employing the Bank (fixed) and Ebank (erasable) registers, so the only memory of either type that could be addressed at any given time was the current bank, plus the small amount of fixed-fixed memory and the erasable memory. In addition, the bank register could address a maximum of 32 kilowords, so an Sbank (super-bank) register was required to access the last 4 kilowords. All across-bank subroutine calls had to be initiated from fixed-fixed memory through special functions to restore the original bank during the return: essentially a system of
820:
1575:
1844:
1652:(matrix Ć vector) instruction, could be mixed with native AGC code. While the execution time of the pseudo-instructions was increased (due to the need to interpret these instructions at runtime) the interpreter provided many more instructions than AGC natively supported and the memory requirements were much lower than in the case of adding these instructions to the AGC native language which would require additional memory built into the computer (in
597:
3975:
3851:
832:
361:
1705:. The first command module flight was controlled by a software package called CORONA whose development was led by Alex Kosmala. Software for lunar missions consisted of COLOSSUS for the command module, whose development was led by Frederic Martin, and LUMINARY on the lunar module led by George Cherry. Details of these programs were implemented by a team under the direction of
1945:
840:
417:
409:
1377:
401:
38:
353:
3255:
3251:
1929:
excited by a different source of 800 Hz AC than the one used by the computer as a timing reference. The two 800 Hz sources were frequency locked but not phase locked, and the small random phase variations made it appear as though the antenna was rapidly "dithering" in position, even though
1238:
in such a way as to propagate a carry for multi-precision add/subtract. If the result has no overflow (leftmost 2 bits of A the same), nothing special happens; if there is overflow (those 2 bits differ), the leftmost one goes the memory as the sign bit, register A is changed to +1 or ā1 accordingly,
1388:
Block I AGC memory was organized into 1 kiloword banks. The lowest bank (bank 0) was erasable memory (RAM). All banks above bank 0 were fixed memory (ROM). Each AGC instruction had a 12-bit address field. The lower bits (1-10) addressed the memory inside each bank. Bits 11 and 12 selected the bank:
1924:
The problem was not a programming error in the AGC, nor was it pilot error. It was a peripheral hardware design bug that had already been known and documented by Apollo 5 engineers. However, because the problem had only occurred once during testing, they concluded that it was safer to fly with the
1628:
called the 'Waitlist' which scheduled timer-driven 'tasks', controlled the computer. Tasks were short threads of execution which could reschedule themselves for re-execution on the
Waitlist, or could kick off a longer operation by starting a 'job' with the Exec. Calculations were carried out using
1526:
The AGC had a 16-bit read bus and a 16-bit write bus. Data from central registers (A, Q, Z, or LP), or other internal registers could be gated onto the read bus with a control signal. The read bus connected to the write bus through a non-inverting buffer, so any data appearing on the read bus also
1513:
In the standby mode, the AGC slept most of the time; therefore it was not awake to perform the Pinc instruction needed to update the AGC's real time clock at 10 ms intervals. To compensate, one of the functions performed by the AGC each time it awoke in the standby mode was to update the real
1323:
were treated as fractions (notional decimal point just to right of the sign bit), so you could produce garbage if the divisor was not larger than the dividend; there was no protection against that situation. In the Block II AGC, a double-precision dividend started in A and L (the Block II LP), and
1767:
The decision to expand the memory and instruction set for Block II, but to retain the Block I's restrictive three-bit op. code and 12-bit address had interesting design consequences. Various tricks were employed to squeeze in additional instructions, such as having special memory addresses which,
1530:
Data transfers worked like this: To move the address of the next instruction from the B register to the S register, an RB (read B) control signal was issued; this caused the address to move from register B to the read bus, and then to the write bus. A WS (write S) control signal moved the address
1509:
switch. This mode turned off the AGC power, except for the 2.048 MHz clock and the scaler. The F17 signal from the scaler turned the AGC power and the AGC back on at 1.28 second intervals. In this mode, the AGC performed essential functions, checked the standby allowed switch, and, if still
1418:
The lower 15 bits of each memory word held AGC instructions or data, with each word being protected by a 16th odd parity bit. This bit was set to 1 or 0 by a parity generator circuit so a count of the 1s in each memory word would always produce an odd number. A parity checking circuit tested the
1884:
During this part of the approach, the processor would normally be almost 85% loaded. The extra 6,400 cycle steals per second added the equivalent of 13% load, leaving just enough time for all scheduled tasks to run to completion. Five minutes into the descent, Buzz Aldrin gave the computer the
1207:
Exchange the contents of memory with the contents of the A register. If the specified memory address is in fixed (read-only) memory, the memory contents are not affected, and this instruction simply loads register A. If it is in erasable memory, overflow "correction" is achieved by storing the
1751:
A Block II version of the AGC was designed in 1966. It retained the basic Block I architecture, but increased erasable memory from 1 to 2 kilowords. Fixed memory was expanded from 24 to 36 kilowords. Instructions were expanded from 11 to 34 and I/O channels were implemented to replace the I/O
1414:
The AGC memory cycle occurred continuously during AGC operation. Instructions needing memory data had to access it during timing pulses 7ā10. If the AGC changed the memory word in the G register, the changed word was written back to memory after timing pulse 10. In this way, data words cycled
1496:
Interrupts could be triggered when the counters overflowed. The T3rupt and Dsrupt interrupts were produced when their counters, driven by a 100 Hz hardware clock, overflowed after executing many Pinc subsequences. The Uprupt interrupt was triggered after its counter, executing the Shinc
1973:
In 2003, Ron Burkey initiated the
Virtual AGC Project, aiming to recover the Apollo Guidance Computer (AGC) source code and build a functional emulator. As part of this project, the original code, transcribed and digitized from 1960s hard copies, was made available through the
810:
because whatever was stored there would emerge shifted or rotated by one bit position, except for one that shifted right seven bit positions, to extract one of the seven-bit interpretive op. codes that were packed two to a word. This was common to Block I and Block II AGCs.
1667:
A set of interrupt-driven user interface routines called 'Pinball' provided keyboard and display services for the jobs and tasks running on the AGC. A set of user-accessible routines were provided to let the astronauts display the contents of various memory locations in
3293:- Manual for CSM and LEM AGC software used on the Apollo 15 mission, including detailed user interface procedures, explanation of many underlying algorithms and limited hardware information. Note that this document has over 500 pages and is over 150 megabytes in size.
1700:
decision capability. When the design requirements for the AGC were defined, necessary software and programming techniques did not exist so they had to be designed from scratch. Many of the trajectory and guidance algorithms used were based on earlier work by
729:, first by five using a ring counter to produce a 102.4 kHz signal. This was then divided by two through 17 successive stages called F1 (51.2 kHz) through F17 (0.78125 Hz). The F10 stage (100 Hz) was fed back into the AGC to increment the
3243:
3237:
1093:
means "decremented but not below zero". Therefore, when the AGC performs the DABS function, positive numbers will head toward plus zero, and so will negative numbers but first revealing their negativity via the four-way skip below. The final step in
1089:(DABS) of the data was then computed and stored in the A register. If the number was greater than zero, the DABS decrements the value by 1; if the number was negative, it is complemented before the decrement is appliedāthis is the absolute value.
1960:
to demonstrate the practicality of computer driven FBW. The AGC used in the first phase of the program was replaced with another machine in the second phase, and research done on the program led to the development of fly-by-wire systems for the
1517:
The standby mode was designed to reduce power by 5 to 10 W (from 70 W) during midcourse flight when the AGC was not needed. However, in practice, the AGC was left on during all phases of the mission and this feature was never used.
304:
Astronauts communicated with the AGC using a numeric display and keyboard called the DSKY (for "display and keyboard", pronounced "DIS-kee"). The AGC and its DSKY user interface were developed in the early 1960s for the Apollo program by the
1182:. This method is used to implement arrays and table look-ups; since the addition was done on both whole words, it was also used to modify the op. code in a following (extracode) instruction, and on rare occasions both functions at once.
1161:
when the value being tested was known to be never positive, which occurred more often than one might suppose. That left two whole words unoccupied, and a special committee was responsible for assigning data constants to these
1672:
or decimal in groups of 1, 2, or 3 registers at a time. 'Monitor' routines were provided so the operator could initiate a task to periodically redisplay the contents of certain memory locations. Jobs could be initiated.
1819:, the programmer who requested it). This instruction does not generate an interrupt, rather it performs two actions that are common to interrupt processing. The first action, inhibits further interrupts (and requires a
1709:. Hamilton was very interested in how the astronauts would interact with the software and predicted the types of errors that could occur due to human error. In total, software development on the project comprised 1400
1288:. The fact that overflow is a state rather than an event forgives limited extents of overflow when adding more than two numbers, as long as none of the intermediate totals exceed twice the capacity of a word.
1309:
Multiply the contents of register A by the data at the referenced memory address and store the high-order product in register A and the low-order product in register LP. The parts of the product agree in
1827:
register is loaded with the current value of the program counter (Z). It was only used once in the Apollo software, for setting up the DAP cycle termination sequence in the
Digital Autopilot of the
341:
which did not need a lunar module for its lunar orbit mission. The AGC in the command module was the center of its guidance, navigation and control (GNC) system. The AGC in the lunar module ran its
1319:
Divide the contents of register A by the data at the referenced memory address. Store the quotient in register A and the absolute value of the remainder in register Q. Unlike modern machines,
1368:. The control pulses were the signals which did the actual work of the instruction, such as reading the contents of a register onto the bus, or writing data from the bus into a register.
1925:
existing hardware that they had already tested, than to fly with a newer but largely untested radar system. In the actual hardware, the position of the rendezvous radar was encoded with
1481:. These were memory locations which functioned as up/down counters, or shift registers. The counters would increment, decrement, or shift in response to internal inputs. The increment (
404:
Photograph of the dual NOR gate chip used to build the Block II Apollo
Guidance Computer. Connections (clockwise from top center) ground, inputs (3), output, power, output, inputs (3).
1404:
The Block I AGC initially had 12 kilowords of fixed memory, but this was later increased to 24 kilowords. Block II had 36 kilowords of fixed memory and 2 kilowords of erasable memory.
468:
According to
Kurinec et al, the chips were welded onto the boards rather than soldered as might be expected. Apollo Guidance Computer logic module drawings specify resistance-welding.
1936:'s software and computer design saved the Apollo 11 landing mission. Had it not been for Laning's design, the landing would have been aborted for lack of a stable guidance computer.
495:, the later Block II version (used in the crewed flights) used about 2,800 ICs, mostly dual three-input NOR gates and smaller numbers of expanders and sense amplifiers. The ICs, from
391:) of the lunar module, to be used in the event of failure of the LM PGNCS. The AGS could be used to take off from the Moon, and to rendezvous with the command module, but not to land.
356:
The display and keyboard (DSKY) interface of the Apollo
Guidance Computer mounted on the control panel of the command module, with the flight director attitude indicator (FDAI) above
5037:
1644:
with more complex and capable pseudo-instructions than the native AGC. These instructions simplified the navigational programs. Interpreted code, which featured double precision
2090:
1474:
The AGC responded to each interrupt by temporarily suspending the current program, executing a short interrupt service routine, and then resuming the interrupted program.
1653:
1597:. The bulk of the software was on read-only rope memory and thus could not be changed in operation, but some key parts of the software were stored in standard read-write
3411:
3374:
4009:
1714:
1345:. Simple instructions, such as TC, executed in a single subsequence of 12 pulses. More complex instructions required several subsequences. The multiply instruction (
5950:
5960:
5148:
4331:
4850:
3689:
2011:
3068:
251:(LM). The AGC provided computation and electronic interfaces for guidance, navigation, and control of the spacecraft. The AGC was the first computer based on
3885:
1073:
A complex conditional branch instruction. The A register was loaded with data retrieved from the address specified by the instruction. (Because the AGC uses
5007:
4573:
4390:
5970:
2038:(calculate and display DELTAH, once) would have only added approximately 5% load to the system, and would have only done so once, when ENTER was pressed.
3231:
1889:, which instructed it to periodically calculate and display DELTAH (the difference between altitude sensed by the radar and the computed altitude). The
2354:
1982:. This effort gained renewed attention in mid-2016 when former NASA intern Chris Garry uploaded the code to GitHub, generating significant media buzz.
1965:. The AGC also led, albeit indirectly, to the development of fly-by-wire systems for the generation of fighters that were being developed at the time.
1881:
from the rendezvous radar (tracking the orbiting command module), intentionally left on standby during the descent in case it was needed for an abort.
1284:
Add the contents of memory to register A and store the result in A. The 2 leftmost bits of A may be different (overflow state) before and/or after the
685:
The command module has two DSKYs connected to its AGC: one located on the main instrument panel and a second located in the lower equipment bay near a
4353:
1138:. The absolute value function was deemed important enough to be built into this instruction; when used for only this purpose, the sequence after the
5002:
3694:
3669:
3007:
1877:("Executive overflow - NO VAC AREAS"). The response of the AGC to either alarm was a soft restart. The cause was a rapid, steady stream of spurious
588:
1389:
00 selected the erasable memory bank; 01 selected the lowest bank (bank 1) of fixed memory; 10 selected the next one (bank 2); and 11 selected the
5074:
716:
which the AGC used to perform internal operations. The 1.024 MHz clock was also divided by two to produce a 512 kHz signal called the
4827:
733:
and other involuntary counters using Pinc (discussed below). The F17 stage was used to intermittently run the AGC when it was operating in the
3404:
3158:
2740:
2371:
1625:
1578:
876:(super-bank): 1-bit extension to Fbank, required because the last 4 kilowords of the 36-kiloword ROM was not reachable using Fbank alone
5771:
4895:
4158:
4002:
3741:
3684:
3679:
3319:
1909:
up". The AGC software had been designed with priority scheduling, and automatically recovered, deleting lower priority tasks including the
1060:
An unconditional branch to the address specified by the instruction. The return address was automatically stored in the Q register, so the
1633:, but display readouts were in units of feet, feet per second, and nautical miles ā units that the Apollo astronauts were accustomed to.
5955:
5781:
4922:
3657:
3199:
2463:
2457:
2259:
2193:
936:: General-purpose buffer register, also used to pre-fetch the next instruction. At the start of the next instruction, the upper bits of
454:
4049:
3711:
2769:
2593:
518:
The use of a single type of IC (the dual NOR3) throughout the AGC avoided problems that plagued another early IC computer design, the
481:
325:, but computers flew most of Project Apollo except briefly during lunar landings. Each Moon flight carried two AGCs, one each in the
5089:
4917:
4890:
4269:
3664:
2688:
2098:
4240:
1731:
The Apollo
Guidance computer has been called "The fourth astronaut" for its role in helping the three astronauts who relied on it:
1419:
parity bit during each memory cycle; if the bit didn't match the expected value, the memory word was assumed to be corrupted and a
2235:
189:
DSKY, IMU, Hand
Controller, Rendezvous Radar (CM), Landing Radar (LM), Telemetry Receiver, Engine Command, Reaction Control System
5945:
5904:
5467:
4360:
4326:
4321:
4205:
3878:
3854:
3397:
3019:
2387:
1333:
Subtract (ones' complement) the data at the referenced memory address from the contents of register A and store the result in A.
1267:
to fixed memory) to complete the formation of the carry (+1, 0, or ā1) into the next higher-precision word. Angles were kept in
5965:
5879:
5776:
5177:
5084:
4885:
4128:
4106:
3995:
3957:
3482:
373:
51:
3107:
2284:
364:
Partial list of numeric codes for verbs and nouns in the Apollo
Guidance Computer, printed for quick reference on a side panel
4624:
4059:
3772:
3652:
3622:
3179:
2327:
1677:
1637:
1324:
the correctly signed remainder was delivered in L. That considerably simplified the subroutine for double precision division.
434:
306:
3260:
1534:
Several registers could be read onto the read bus simultaneously. When this occurred, data from each register was inclusive-
500:
134:
2146:
1752:
registers on Block I. The Block II version is the one that actually flew to the moon. Block I was used during the uncrewed
1397:
memory, because they were always available, regardless of the contents of the Bank register. Banks 3 and above were called
5079:
4927:
4761:
4375:
4336:
4193:
3762:
3731:
3706:
3263:ā An AGC system programmer discusses some obscure details of the development of AGC, including specifics of Ed's Interrupt
2392:
1706:
679:
675:
2353:
Butrica, Andrew J. (2015). "Chapter 3: NASA's Role in the
Manufacture of Integrated Circuits". In Dick, Steven J. (ed.).
2313:
5516:
5361:
5356:
5278:
4754:
4715:
4370:
4365:
4299:
4111:
3906:
3831:
3551:
2328:"Apollo Requirements for Process Control and Fabrication of Resistance-Welded Electronic Circuit Modules and Assemblies"
278:
4235:
3296:
1198:
25). This is the instruction used to return from interrupts. It causes execution to resume at the interrupted location.
5940:
5143:
4840:
4538:
3978:
3871:
3810:
3642:
3094:
2992:
2790:
2730:
1740:
3962:
3268:
Documentation of AGC hardware design, and particularly the use of the new integrated circuits in place of transistors
526:
484:(IMP) in 1963, IC technology was later adopted for the AGC. The Apollo flight computer was the first computer to use
5793:
5440:
4857:
4348:
4316:
4086:
4074:
4054:
3777:
3721:
3328:ā Ronald Burkey's AGC simulator, plus source and binary code recovery for the Colossus (CSM) and Luminary (LEM) SW.
1609:
785:
694:
644:
556:. Both had cycle times of 11.72 microseconds. The memory word length was 16 bits: 15 bits of data and one odd-
3318:ā John Pultorak's successful project to build a hardware replica of the Block I AGC in his basement. Mirror site:
5975:
5884:
5847:
5837:
4225:
3726:
3674:
3586:
2579:
1656:
memory was very expensive). The average pseudo-instruction required about 24 ms to execute. The assembler, named
1905:
alarm occurred. When reporting the second alarm, Aldrin added the comment "It appears to come up when we have a
1122:. The primary purpose of the count was to allow an ordinary loop, controlled by a positive counter, to end in a
5899:
5242:
5219:
5069:
5031:
4867:
4817:
4812:
4289:
4183:
4091:
3916:
3757:
3716:
3591:
3556:
3477:
3225:
3213:
2006:
1617:
4096:
1098:
is a four-way skip, depending upon the data in register A before the DABS. If register A was greater than 0,
5852:
5635:
5529:
5493:
5410:
5394:
5236:
5025:
4984:
4972:
4835:
4749:
4670:
4435:
4039:
3699:
3612:
3509:
2505:
2397:
824:
761:
561:
496:
3119:
1689:
5658:
5630:
5540:
5505:
5254:
5248:
5230:
4964:
4958:
4862:
4766:
4657:
4596:
4458:
4101:
3576:
2131:
1320:
1208:
leftmost of the 16 bits in A as the sign bit in memory, but there is no exceptional behavior like that of
870:: 3-bit RAM bank register, to select the 256-word RAM bank when addressing in the erasable-switchable mode
504:
420:
3069:"The code that took America to the moon was just published to GitHub, and it's like a 1960s time capsule"
1693:
5832:
5741:
5487:
5199:
5017:
4776:
4744:
4702:
4614:
4415:
4230:
4220:
4210:
4200:
4170:
4153:
4018:
3517:
3503:
2169:
2114:
2001:
1341:. The timing pulses were named TP1 through TP12. Each set of 12 timing pulses was called an instruction
647:
446:
384:
326:
244:
3278:
2940:"NASA SP-2000-4224 ā Computers Take Flight: A History of NASA's Pioneering Digital Fly-By-Wire Project"
2455:
Peirce, C. S. (manuscript winter of 1880ā81), "A Boolian Algebra with One Constant", published 1933 in
1832:
819:
2893:
2815:
5862:
5798:
5384:
5106:
4996:
4943:
4475:
4188:
4044:
4026:
3826:
3736:
3647:
2939:
1685:
1681:
1598:
1493:) was handled by one subsequence of microinstructions inserted between any two regular instructions.
546:
438:
164:
160:
5909:
5511:
1527:
appeared on the write bus. Other control signals could copy write bus data back into the registers.
1251:
to the no-overflow logic; when it is a normal possibility (as in multi-precision add/subtract), the
697:(FDAI), controlled by the AGC, was located above the DSKY on the commander's console and on the LM.
5894:
5714:
5565:
5547:
5499:
5153:
5100:
4905:
4900:
4877:
4793:
4675:
4530:
4425:
4284:
3798:
3767:
3522:
3498:
1574:
1555:
1235:
1074:
919:
899:
577:
569:
330:
248:
1930:
it was completely stationary. These phantom movements generated the rapid series of cycle steals.
221:
24 in Ć 12.5 in Ć 6.5 in (61 cm Ć 32 cm Ć 17 cm)
5766:
5758:
5610:
5585:
5389:
5264:
4788:
4729:
4609:
4341:
4069:
3528:
3187:
1933:
1852:
1613:
1221:
Load register A with the ones' complement of the data referenced by the specified memory address.
746:
706:
477:
450:
426:
255:
130:
2912:
2468:
2649:
2058:
1816:
1077:
notation, there are two representations of zero. When all bits are set to zero, this is called
5719:
5686:
5602:
5534:
5435:
5425:
5415:
5346:
5341:
5336:
5259:
5188:
5094:
5054:
4687:
4637:
4587:
4563:
4445:
4385:
4380:
4262:
4178:
3154:
2765:
2736:
2715:
2367:
2094:
1697:
1590:
1478:
690:
667:
663:
5889:
5822:
5663:
5570:
5524:
5331:
5326:
5321:
5316:
5311:
5301:
5171:
5138:
5049:
5044:
4953:
4805:
4800:
4783:
4771:
4710:
4274:
4252:
4138:
4116:
4034:
3804:
3596:
3581:
3219:
3148:
2034:(in this case, 68, DELTAH) approximately twice per second. Had Aldrin known this, a simple
1843:
1381:
1272:
1268:
1170:
Add the data retrieved at the address specified by the instruction to the next instruction.
553:
550:
519:
290:
286:
236:
175:
171:
1407:
The AGC transferred data to and from memory through the G register in a process called the
5803:
5788:
5736:
5640:
5615:
5452:
5445:
5296:
5291:
5286:
5225:
5133:
5123:
4845:
4680:
4632:
4395:
4279:
4247:
4148:
4143:
4064:
3942:
3921:
3207:
3095:"Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules"
2547:
1641:
1461:
980:
771:
730:
3305:
Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules.
3184:ā The infamous memo that served as de facto official documentation of the instruction set
2692:
17:
5914:
5748:
5731:
5724:
5620:
5477:
5214:
5128:
5059:
4642:
4604:
4553:
4548:
4543:
4257:
4081:
3472:
3467:
3420:
1913:
display task, to complete its critical guidance and control tasks. Guidance controller
1878:
1732:
1702:
1582:
847:
The AGC had additional registers that were used internally in the course of operation:
654:, limiting the update rate. Three five-digit signed numbers could also be displayed in
605:
458:
318:
240:
2217:
596:
5934:
5709:
5625:
4665:
4647:
4440:
4133:
3434:
3273:
2617:
2484:
2082:
1962:
1725:
1630:
725:
442:
322:
294:
271:
259:
1601:
and could be overwritten by the astronauts using the DSKY interface, as was done on
5919:
5857:
5673:
5650:
5462:
5183:
4121:
3793:
3571:
2840:
1991:
1957:
1862:
1828:
1792:). Other instructions were implemented by preceding them with a special version of
1710:
1645:
1175:
713:
342:
3299:
for Command Module code (Comanche054) and Lunar Module code (Luminary099) as text.
2865:
2429:
1393:
register that could be used to select any bank above 2. Banks 1 and 2 were called
831:
360:
345:(primary guidance, navigation and control system), with the acronym pronounced as
3290:
5704:
5668:
5379:
5351:
5209:
5064:
3837:
2887:
2885:
2285:"Recreating History: Making the Chip that went on the Moon in 1969 on Apollo 11"
2154:
1953:
1918:
1914:
1848:
1801:
1736:
1594:
1581:
standing next to listings of the software she and her MIT team produced for the
1510:
enabled, turned off the power and went back to sleep until the next F17 signal.
1035:, were directly accessed by the 3-bit op. code. The final three were denoted as
640:
specified which data were affected by the action specified by the Verb command.
530:
298:
2757:
2631:
2431:
MIT's Role in Project Apollo: Final report on contracts NAS 9-163 and NAS 94065
1713:
of effort, with a peak workforce of 350 people. In 2016, Hamilton received the
537:
from which any other gate can be made, though at the cost of using more gates.
491:
While the Block I version used 4,100 ICs, each containing a single three-input
5590:
5580:
5575:
5557:
5457:
5430:
4692:
4525:
4495:
4215:
3926:
3617:
3380:
3356:
3343:
1979:
1893:
added another 10% to the processor workload, causing executive overflow and a
1131:
709:
621:
557:
534:
282:
1470:
was generated each time a 16-bit word of uplink data was loaded into the AGC.
1460:
was generated at regular intervals from a hardware timer to update the AGC's
888:: 16-bit memory buffer register, to hold data words moving to and from memory
643:
Each digit was displayed via a green (specified as 530 nm) high-voltage
461:, Ramon Alonso, and Hugh Blair-Smith. The flight hardware was fabricated by
5681:
5678:
5420:
4490:
4468:
3444:
3340:
Shareware Lunar Lander Simulator with a working AGC and DSKY (Windows only).
3302:
3102:
2707:
1866:
1621:
1602:
1432:
508:
3325:
3002:
1554:
through the bus and could complement (invert) data through the C register,
3389:
2673:
2283:
Kurinec, Santosh K; Indovina, Mark; McNulty, Karl; Seitz, Matthew (2021).
1415:
continuously from memory to the G register and then back again to memory.
806:
There were also four locations in core memory, at addresses 20ā23, dubbed
720:; this signal was used to synchronize external Apollo spacecraft systems.
624:-style keyboard. Commands were entered numerically, as two-digit numbers:
5696:
4568:
4515:
3987:
3449:
3439:
3368:
2132:"How did the Apollo flight computers get men to the moon and back ?"
1948:
Fly By Wire testbed aircraft. The AGC DSKY is visible in the avionics bay
1761:
1757:
1753:
1562:. This was accomplished by inverting both operands, performing a logical
861:
854:: 12-bit memory address register, the lower portion of the memory address
573:
492:
462:
377:
338:
334:
263:
110:
61:
3331:
1944:
1542:
feature was used to implement the Mask instruction, which was a logical
4505:
4463:
3043:
2489:
2316:. MIT Instrumentation Lab. July 11, 1963. p. Sheet 1 of 2, Note 2.
1975:
1926:
686:
671:
659:
485:
423:
258:. The computer's performance was comparable to the first generation of
252:
127:
3315:
1831:. It is believed to be responsible for problems emulating the LEM AGC
1768:
when referenced, would implement a certain function. For instance, an
839:
416:
408:
5808:
4520:
4485:
4450:
3947:
3863:
2997:
1997:
1721:
1688:āparticularly for the design of more reliable systems that relied on
1442:
was triggered at regular intervals to update the user display (DSKY).
984:
565:
267:
1636:
The AGC had a sophisticated software interpreter, developed by the
1376:
400:
37:
2756:
Collins, Michael; Aldrin, Edwin (1975), Cortright, Edgar M. (ed.),
1664:, enforced proper transitions between native and interpreted code.
1497:
subsequence, had shifted 16 bits of uplink data into the AGC.
4978:
4510:
4480:
3952:
3375:
Restorers try to get lunar module guidance computer up and running
2967:
2548:"The History of Apollo On-board Guidance, Navigation, and Control"
1943:
1842:
1669:
1573:
1357:
subsequence which was repeated 6 times, and then terminated by an
838:
830:
818:
655:
651:
595:
522:
512:
415:
407:
399:
359:
351:
1546:
operation. Because the AGC had no native ability to do a logical
5842:
4990:
4910:
4500:
3566:
3337:
2689:"NASA Engineers and Scientists-Transforming Dreams Into Reality"
2363:
2087:
Journey to the Moon: The History of the Apollo Guidance Computer
629:
625:
3991:
3867:
3393:
1897:
alarm. After being given the "GO" from Houston, Aldrin entered
1720:
The Apollo Guidance Computer software influenced the design of
1401:
because the selected bank was determined by the bank register.
352:
4430:
4420:
3362:
2650:"Her Code Got Humans on the MoonāAnd Invented Software Itself"
1114:. Less than zero causes a skip to the third instruction after
2993:"AGC source code collection on Github, maintained by iBiblio"
2222:
RamĆ³n Alonso, el argentino que llevĆ³ a la Apollo 11 a la Luna
1823:
instruction to enable them again). In the second action, the
1361:
subsequence. This was reduced to 3 subsequences in Block II.
1300:
of memory with register A and store the result in register A.
682:. This calculator-style interface was the first of its kind.
620:
It has an array of indicator lights, numeric displays, and a
1337:
Instructions were implemented in groups of 12 steps, called
693:
platform. The lunar module had a single DSKY for its AGC. A
2598:
AGC History Project (Caltech archive, original site closed)
2264:
AGC History Project (Caltech archive, original site closed)
2240:
AGC History Project (Caltech archive, original site closed)
2198:
AGC History Project (Caltech archive, original site closed)
2115:"Apollo Guidance, Navigation and Control Hardware Overview"
1039:
because they were accessed by performing a special type of
954:: Not a separate register, but the ones' complement of the
3221:
Lunar Module Attitude Controller Assembly Input Processing
2030:
More specifically, verb 16 instructs the AGC to print the
1921:
issued several "GO" calls and the landing was successful.
1243:. Whenever overflow is a possible but abnormal event, the
1239:
and control skips to the second instruction following the
918:: Not really a register, but the output of the adder (the
27:
Guidance and navigation computer used in Apollo spacecraft
2562:
2560:
1364:
Each timing pulse in a subsequence could trigger up to 5
1178:
specified by the operand of the instruction that follows
1050:
The Block I AGC instructions consisted of the following:
285:. Most of the software on the AGC is stored in a special
2900:, Breckenridge, Colorado: American Astronautical Society
2732:
The Apollo Guidance Computer: Architecture and Operation
2708:"13 minutes to the moon: Episode 5 The fourth astronaut"
2356:
Historical Studies in the Societal Impact of Spaceflight
1648:, scalar and vector arithmetic (16 and 24-bit), even an
987:, and 12 bits for address. Block I had 11 instructions:
465:, whose Herb Thaler was also on the architectural team.
1616:
consisting of the 'Exec', a batch job-scheduling using
1154:
ONE. A curious side effect was the creation and use of
1118:, and minus zero skips to the fourth instruction after
2388:"Apollo Guidance Computer and the First Silicon Chips"
1448:
was generated by various hardware failures or alarms.
1174:
can be used to add or subtract an index value to the
902:
arithmetic) or the increment to the program counter (
864:
ROM bank when addressing in the fixed-switchable mode
774:ā the address of the next instruction to be executed
705:
The AGC timing reference came from a 2.048 MHz
5872:
5821:
5757:
5695:
5649:
5601:
5556:
5476:
5403:
5372:
5277:
5198:
5162:
5116:
5016:
4942:
4876:
4826:
4737:
4728:
4701:
4656:
4623:
4595:
4586:
4406:
4309:
4298:
4169:
4025:
3935:
3899:
3819:
3786:
3750:
3633:
3605:
3542:
3491:
3458:
3427:
3279:
Integrated Circuits in the Apollo Guidance Computer
3246:, for Command Module guidance computer. (nb. 83 Mb)
2839:Martin, Fred H. (July 1994), Jones, Eric M. (ed.),
1994:- the Apollo Primary Guidance and Navigation System
1776:instruction to return from an interrupt. Likewise,
723:The master frequency was further divided through a
217:
209:
201:
193:
185:
149:
141:
122:
103:
85:
67:
57:
47:
3240:, for Lunar Module guidance computer. (nb. 622 Mb)
3020:"Archiving and referencing the Apollo source code"
2060:Programmer's Manual, Block 2 AGC Assembly Language
1873:("Executive overflow - NO CORE SETS"), and then a
1558:was used to implement the equivalent of a logical
1230:Store register A at the specified memory address.
944:, and the lower bits (the address) were copied to
882:: 4-bit sequence register; the current instruction
827:. The AGC is opened up, showing its logic modules.
3334:ā A web-based AGC simulator based on Virtual AGC.
1728:and early fly-by-wire fighter aircraft systems.
1102:skips to the first instruction immediately after
636:described the type of action to be performed and
368:Each lunar mission had two additional computers:
3572:Primary guidance, navigation, and control system
3228:) ā By JosĆ© Portillo Lugo, History of Technology
3150:Digital Apollo: Human and Machine in Spaceflight
2676:. NASA Office of Logic Design. February 3, 2010.
1566:through the bus, and then inverting the result.
1505:The AGC had a power-saving mode controlled by a
860:: 4-bit ROM bank register, to select the 1
293:, fashioned by weaving wires through and around
3261:Annotations to Eldon Hall's Journey to the Moon
2894:"Tales From The Lunar Module Guidance Computer"
2764:, Washington, DC: NASA, pp. Chapter 11.4,
2506:"Scene at MIT: Margaret Hamilton's Apollo code"
2423:
2421:
2419:
2417:
2415:
1676:The design principles developed for the AGC by
1130:to the beginning of the loop, equivalent to an
1064:instruction could be used for subroutine calls.
1717:for her role in creating the flight software.
1454:signaled a key press from the user's keyboard.
940:(containing the next op. code) were copied to
4003:
3879:
3690:Charged Particle Lunar Environment Experiment
3405:
3189:Computers in Spaceflight: The NASA Experience
2151:Computers in Spaceflight: The NASA Experience
1349:) used 8 subsequences: an initial one called
1081:. If all bits are set to one, this is called
429:welded to PCB in the Apollo guidance computer
8:
3216:) ā By David Scott, Apollo mission astronaut
3174:Documentation on the AGC and its development
1952:The AGC formed the basis of an experimental
712:. The clock was divided by two to produce a
30:
5008:Computer performance by orders of magnitude
3252:National Air and Space Museum's AGC Block I
3209:The Apollo Guidance Computer - A Users View
3153:. Cambridge, Massachusetts: The MIT Press.
2898:27th annual Guidance and Control Conference
2814:Adler, Peter (1998), Jones, Eric M. (ed.),
2762:NASA SP-350, Apollo Expeditions to the Moon
2485:"Apollo DSKY panel relight: The full story"
2472:The Existential Graphs of Charles S. Peirce
2077:
2075:
511:, and the wiring was then embedded in cast
5473:
5113:
4734:
4592:
4306:
4010:
3996:
3988:
3886:
3872:
3864:
3412:
3398:
3390:
3120:"Apollo 11's source code is now on GitHub"
2648:Harvey IV, Harry Gould (13 October 2015).
2461:v. 4, paragraphs 12ā20. Reprinted 1989 in
2000:(IBM S/360-derived) computers used in the
1811:instruction (the name is a contraction of
823:DSKY and AGC prototypes on display at the
749:for general computational use, called the
674:). Although data was stored internally in
36:
2735:. Springer Science & Business Media.
2582:. UK Metric Association. 18 October 2018.
843:Block II logic module, with flat-pack ICs
650:; these were driven by electromechanical
545:The computer had 2,048 words of erasable
3670:Apollo Lunar Surface Experiments Package
2919:. San Francisco: CondƩ Nast Publications
2147:"The Apollo guidance computer: Hardware"
1865:generated unanticipated warnings during
1784:instruction (inhibit interrupts), while
1760:flights, and was on board the ill-fated
1531:from the write bus into the S register.
1375:
592:Apollo computer DSKY user interface unit
587:
3285:Documentation of AGC software operation
3192:ā By James Tomayko (Chapter 2, Part 5,
2566:
2541:
2539:
2537:
2528:
2050:
2023:
1275:, and elapsed time in triple precision.
835:Prototype logic module from Block I AGC
5951:Computer-related introductions in 1966
3695:Lunar Ejecta and Meteorites Experiment
3310:Some AGC-based projects and simulators
3234:ā With comprehensive document archive
3194:The Apollo guidance computer: Hardware
2113:Interbartolo, Michael (January 2009).
1110:skips to the second instruction after
1047:) immediately before the instruction.
297:, though a small amount of read/write
29:
5961:Massachusetts Institute of Technology
3244:Colossus software source code listing
3238:Luminary software source code listing
2643:
2641:
1106:. If register A contained plus zero,
662:, and were typically used to display
568:word format was 14 bits of data, one
337:which was an Earth orbit mission and
7:
4979:Floating-point operations per second
3742:Suprathermal Ion Detector Experiment
3685:Apollo 14 Passive Seismic Experiment
3680:Apollo 12 Passive Seismic Experiment
2218:"Ramon Alonso's interview (Spanish)"
912:: The other ('y') input to the adder
3181:AGC4 Memo #9, Block II Instructions
2913:"Apollo 11: Mission Out of Control"
2620:(Press release). September 3, 2003.
1917:and his support team that included
1427:Interrupts and involuntary counters
898:(the adder was used to perform all
412:AGC dual 3-input NOR gate schematic
3712:Lunar Seismic Profiling Experiment
3700:Solar Wind Spectrometer Experiment
2553:. Charles Stark Draper Laboratory.
2314:"LOGIC MODULE ASSEMBLY NO. A1-A16"
695:flight director attitude indicator
482:Interplanetary Monitoring Platform
281:length, with 15 data bits and one
25:
5971:Spacecraft navigation instruments
3665:Solar Wind Composition Experiment
2864:Cortright, Edgar M., ed. (1975),
2841:"Apollo 11 : 25 Years Later"
2594:"Hugh Blair-Smith's Introduction"
2292:Rochester Institute of Technology
2224:, Diario La Nacion, March 7, 2010
1031:(extra). The first eight, called
922:sum of the contents of registers
262:from the late 1970s, such as the
243:that was installed on board each
42:Apollo Guidance Computer and DSKY
5905:Semiconductor device fabrication
3974:
3973:
3855:Category:Apollo program hardware
3850:
3849:
1589:AGC software was written in AGC
1538:ed onto the bus. This inclusive-
1477:The AGC also had 20 involuntary
1234:also detects, and corrects for,
156:15-bit wordlength + 1-bit parity
5880:History of general-purpose CPUs
4107:Nondeterministic Turing machine
3963:Universal Space Guidance System
3958:Launch Vehicle Digital Computer
3483:Launch Vehicle Digital Computer
3274:AGC Integrated Circuit Packages
2911:Witt, Stephen (June 24, 2019).
2892:Eyles, Don (February 6, 2004),
2870:Apollo 11 Lunar Surface Journal
2845:Apollo 11 Lunar Surface Journal
2820:Apollo 11 Lunar Surface Journal
714:four-phase 1.024 MHz clock
670:or a required velocity change (
374:Launch Vehicle Digital Computer
52:Charles Stark Draper Laboratory
4060:Deterministic finite automaton
3773:Lunar Landing Research Vehicle
3653:Lunar Laser Ranging experiment
3623:Thermal Micrometeoroid Garment
3067:Collins, Keith (9 July 2016).
2546:Hoag, David (September 1976).
2504:Weinstock, Maia (2016-08-17).
2470:. See Roberts, Don D. (2009),
1807:The Block II AGC also has the
1678:MIT Instrumentation Laboratory
1638:MIT Instrumentation Laboratory
1271:, distances and velocities in
970:: Five 16-bit output registers
441:, with hardware design led by
435:MIT Instrumentation Laboratory
307:MIT Instrumentation Laboratory
1:
4851:Simultaneous and heterogenous
3732:Cold Cathode Gauge Experiment
3707:Modular Equipment Transporter
2729:O'Brien, Frank (2010-06-25).
2618:"NASA Honors Apollo Engineer"
2464:Writings of Charles S. Peirce
2393:National Air and Space Museum
2194:"Ramon Alonso's introduction"
2168:Agle, D.C. (September 1998).
1715:Presidential Medal of Freedom
1423:panel light was illuminated.
1296:Perform a bit-wise (boolean)
964:: Four 16-bit input registers
680:United States customary units
5535:Integrated memory controller
5517:Translation lookaside buffer
4716:Memory dependence prediction
4159:Random-access stored program
4112:Probabilistic Turing machine
3907:Apollo Abort Guidance System
3832:Rendezvous Docking Simulator
3643:Portable Life Support System
3552:Apollo Abort Guidance System
3344:AGC restarted 45 years later
3291:Delco Electronics, Apollo 15
2236:"Hugh Blair-Smith biography"
2012:History of computer hardware
1839:1201 and 1202 program alarms
1772:to address 25 triggered the
1680:, directed in late 1960s by
1514:time clock by 1.28 seconds.
433:The AGC was designed at the
380:booster instrumentation ring
4991:Synaptic updates per second
3979:Category:Guidance computers
3811:Apollo 11 goodwill messages
3369:Weaving the way to the Moon
3303:GitHub Complete Source Code
2866:"The Lunar Module Computer"
2632:"Virtual AGC Luminary Page"
1940:Applications outside Apollo
91:; 49 years ago
73:; 58 years ago
5992:
5956:Assembly language software
5395:Heterogeneous architecture
4317:Orthogonal instruction set
4087:Alternating Turing machine
4075:Quantum cellular automaton
3778:Mobile quarantine facility
3722:Lunar Surface Magnetometer
3365:Science Reporter ā youtube
3147:Mindell, David A. (2008).
2938:Tomayko, James E. (2000),
2816:"Apollo 11 Program Alarms"
2260:"Herb Thaler introduction"
1610:real-time operating system
1431:The AGC had five vectored
1070:(count, compare, and skip)
798:: The lower product after
507:. They were connected via
5885:Microprocessor chronology
5848:Dynamic frequency scaling
5003:Cache performance metrics
3971:
3847:
3727:Lunar Traverse Gravimeter
3675:Active Seismic Experiment
3587:Descent propulsion system
2674:"About Margaret Hamilton"
2467:v. 4, pp. 218ā21, Google
2145:James E. Tomayko (1988).
2089:, Reston, Virginia, USA:
1956:system installed into an
1869:, with the AGC showing a
1867:Apollo 11's lunar descent
1684:, became foundational to
1618:cooperative multi-tasking
1550:, but could do a logical
1087:diminished absolute value
780:: The remainder from the
764:, for general computation
678:, they were displayed as
600:LM DSKY interface diagram
501:resistorātransistor logic
499:, were implemented using
317:Astronauts manually flew
35:
5900:Hardware security module
5243:Digital signal processor
5220:Graphics processing unit
5032:Graphics processing unit
3917:Gemini Guidance Computer
3912:Apollo Guidance Computer
3717:Lunar Surface Gravimeter
3592:Ascent propulsion system
3567:Lunar Sounder Experiment
3562:Apollo Guidance Computer
3557:Apollo Docking Mechanism
3024:www.softwareheritage.org
2949:, Washington, D.C.: NASA
2758:"A Yellow Caution Light"
2266:, MIT, 14 September 2001
2007:Gemini Guidance Computer
745:The AGC had four 16-bit
333:, with the exception of
309:and first flew in 1966.
229:Apollo Guidance Computer
31:Apollo Guidance Computer
18:Apollo guidance computer
5946:Apollo program hardware
5853:Dynamic voltage scaling
5636:Memory address register
5530:Branch target predictor
5494:Address generation unit
5237:Physics processing unit
5026:Central processing unit
4985:Transactions per second
4973:Instructions per second
4896:Array processing (SIMT)
4040:Stored-program computer
3658:list of retroreflectors
3421:Apollo program hardware
3044:"Virtual AGC Home Page"
2947:The NASA History Series
2791:"chrislgarry/Apollo-11"
2600:, MIT, 30 November 2001
2428:Hall, Eldon C. (1972).
2398:Smithsonian Institution
1660:for an early prototype
894:: The 'x' input to the
825:Computer History Museum
616:and usually pronounced
497:Fairchild Semiconductor
213:70 lb (32 kg)
5966:1975 disestablishments
5659:Hardwired control unit
5541:Memory management unit
5506:Memory management unit
5255:Secure cryptoprocessor
5249:Tensor Processing Unit
5231:Vision processing unit
4965:Cycles per instruction
4959:Instructions per cycle
4906:Associative processing
4597:Instruction pipelining
4019:Processor technologies
3763:Launch Umbilical Tower
3577:Apollo Telescope Mount
2170:"Flying the Gusmobile"
2153:. NASA. Archived from
1949:
1859:
1586:
1385:
1190:A special instance of
1037:extracode instructions
844:
836:
828:
689:used for aligning the
601:
593:
527:diodeātransistor logic
525:, which used a mix of
430:
413:
405:
365:
357:
5742:Sum-addressed decoder
5488:Arithmetic logic unit
4615:Classic RISC pipeline
4569:Epiphany architecture
4416:Motorola 68000 series
3518:Apollo service module
3504:Apollo command module
3377:(Wall Street Journal)
3326:Virtual AGC Home Page
3201:Computers Take Flight
2157:on December 29, 2023.
1947:
1846:
1690:asynchronous software
1640:, that implemented a
1626:pre-emptive scheduler
1577:
1379:
1227:(transfer to storage)
842:
834:
822:
784:instruction, and the
648:seven-segment display
599:
591:
535:universal logic gates
533:gates. NOR gates are
476:Following the use of
419:
411:
403:
385:Abort Guidance System
363:
355:
277:The AGC has a 16-bit
245:Apollo command module
205:AGC Assembly Language
5863:Performance per watt
5441:replacement policies
5107:Package on a package
4997:Performance per watt
4901:Pipelined processing
4671:Tomasulo's algorithm
4476:Clipper architecture
4332:Application-specific
4045:Finite-state machine
3900:On crewed spacecraft
3827:Lunar escape systems
3737:Heat Flow Experiment
3648:Lunar Roving Vehicle
2706:Fong, Kevin (2019).
2531:, pp. 154, 157.
2437:. Cambridge, MA: MIT
2366:. pp. 149ā250.
2334:. NASA. May 22, 1963
2200:, MIT, July 27, 2001
1858:en route to the Moon
1686:software engineering
1599:magnetic-core memory
1218:(clear and subtract)
1043:instruction (called
666:such as space craft
614:display and keyboard
549:and 36,864 words of
547:magnetic-core memory
439:Charles Stark Draper
165:magnetic-core memory
5895:Digital electronics
5548:Instruction decoder
5500:Floating-point unit
5154:Soft microprocessor
5101:System in a package
4676:Reservation station
4206:Transport-triggered
3799:Lunar Flag Assembly
3768:Crawler-transporter
3523:Apollo Lunar Module
3382:Computer for Apollo
3358:Computer for Apollo
3232:The MIT AGC Project
2580:"The Moon landings"
2242:, MIT, January 2002
1976:Virtual AGC Project
1969:Source code release
1788:16 reenabled them (
1694:priority scheduling
1556:De Morgan's theorem
1321:fixed-point numbers
608:to the AGC was the
427:integrated circuits
331:Apollo Lunar Module
256:integrated circuits
249:Apollo Lunar Module
32:
5941:Guidance computers
5767:Integrated circuit
5611:Processor register
5265:Baseband processor
4610:Operand forwarding
4070:Cellular automaton
3936:On launch vehicles
3894:Guidance computers
3204:ā By James Tomayko
1950:
1934:J. Halcombe Laning
1901:again and another
1860:
1662:Christmas Computer
1614:J. Halcombe Laning
1587:
1386:
1247:was followed by a
1057:(transfer control)
1033:basic instructions
981:instruction format
845:
837:
829:
645:electroluminescent
602:
594:
480:(IC) chips in the
478:integrated circuit
447:architectural work
431:
414:
406:
366:
358:
131:integrated circuit
5928:
5927:
5817:
5816:
5436:Instruction cache
5426:Scratchpad memory
5273:
5272:
5260:Network processor
5189:Network on a chip
5144:Ultra-low-voltage
5095:Multi-chip module
4938:
4937:
4724:
4723:
4711:Branch prediction
4688:Register renaming
4582:
4581:
4564:VISC architecture
4386:Quantum computing
4381:VISC architecture
4263:Secondary storage
4179:Microarchitecture
4139:Register machines
3985:
3984:
3861:
3860:
3613:Apollo/Skylab A7L
3160:978-0-262-26668-0
3105:on 12 April 2021.
2742:978-1-4419-0877-3
2716:BBC World Service
2400:. 14 October 2015
2373:978-1-62683-027-1
1954:fly-by-wire (FBW)
1851:on the Apollo 11
1833:Luminary software
1707:Margaret Hamilton
1698:human-in-the-loop
1591:assembly language
1579:Margaret Hamilton
1353:, followed by an
808:editing locations
751:central registers
741:Central registers
691:inertial guidance
580:representation).
523:guidance computer
387:(AGS, pronounced
239:produced for the
225:
224:
194:Power consumption
115:Guidance computer
16:(Redirected from
5983:
5976:16-bit computers
5890:Processor design
5782:Power management
5664:Instruction unit
5525:Branch predictor
5474:
5172:System on a chip
5114:
4954:Transistor count
4878:Flynn's taxonomy
4735:
4593:
4396:Addressing modes
4307:
4253:Memory hierarchy
4117:Hypercomputation
4035:Abstract machine
4012:
4005:
3998:
3989:
3977:
3976:
3888:
3881:
3874:
3865:
3853:
3852:
3805:Fallen Astronaut
3597:Scimitar antenna
3582:Apollo TV camera
3414:
3407:
3400:
3391:
3164:
3135:
3134:
3132:
3131:
3116:
3110:
3106:
3101:. Archived from
3090:
3084:
3083:
3081:
3079:
3064:
3058:
3057:
3055:
3054:
3040:
3034:
3033:
3031:
3030:
3016:
3010:
3006:
3001:. Archived from
2989:
2983:
2982:
2980:
2978:
2963:
2957:
2956:
2955:
2954:
2944:
2935:
2929:
2928:
2926:
2924:
2908:
2902:
2901:
2889:
2880:
2879:
2878:
2877:
2861:
2855:
2854:
2853:
2852:
2836:
2830:
2829:
2828:
2827:
2811:
2805:
2804:
2802:
2801:
2787:
2781:
2780:
2779:
2778:
2753:
2747:
2746:
2726:
2720:
2719:
2703:
2697:
2696:
2695:on May 16, 2016.
2691:. Archived from
2684:
2678:
2677:
2670:
2664:
2663:
2661:
2660:
2645:
2636:
2635:
2628:
2622:
2621:
2614:
2608:
2607:
2606:
2605:
2590:
2584:
2583:
2576:
2570:
2564:
2555:
2554:
2552:
2543:
2532:
2526:
2520:
2519:
2517:
2516:
2501:
2495:
2494:
2481:
2475:
2458:Collected Papers
2453:
2447:
2446:
2444:
2442:
2436:
2425:
2410:
2409:
2407:
2405:
2384:
2378:
2377:
2361:
2350:
2344:
2343:
2341:
2339:
2324:
2318:
2317:
2310:
2304:
2303:
2301:
2299:
2289:
2280:
2274:
2273:
2272:
2271:
2256:
2250:
2249:
2248:
2247:
2232:
2226:
2225:
2214:
2208:
2207:
2206:
2205:
2190:
2184:
2183:
2181:
2180:
2165:
2159:
2158:
2142:
2136:
2135:
2134:. 11 March 2017.
2128:
2122:
2121:
2119:
2110:
2104:
2103:
2079:
2070:
2069:
2068:
2067:
2055:
2039:
2028:
1826:
1822:
1810:
1799:
1795:
1791:
1787:
1783:
1780:17 performed an
1779:
1775:
1771:
1651:
1399:fixed-switchable
1382:core rope memory
1360:
1356:
1352:
1348:
1329:
1315:
1305:
1293:
1287:
1280:
1273:double precision
1269:single precision
1266:
1262:
1258:
1254:
1250:
1246:
1242:
1233:
1226:
1217:
1211:
1203:
1197:
1193:
1187:
1181:
1173:
1167:
1158:
1153:
1149:
1145:
1141:
1137:
1129:
1125:
1121:
1117:
1113:
1109:
1105:
1101:
1097:
1075:ones' complement
1069:
1063:
1056:
1046:
1042:
1030:
1026:
1022:
1018:
1014:
1010:
1006:
1002:
998:
994:
990:
983:used 3 bits for
920:ones' complement
801:
791:
783:
718:master frequency
578:ones' complement
554:core rope memory
451:J. H. Laning Jr.
291:core rope memory
287:read-only memory
237:digital computer
176:core rope memory
99:
97:
92:
81:
79:
74:
71:August 1966
40:
33:
21:
5991:
5990:
5986:
5985:
5984:
5982:
5981:
5980:
5931:
5930:
5929:
5924:
5910:Tickātock model
5868:
5824:
5813:
5753:
5737:Address decoder
5691:
5645:
5641:Program counter
5616:Status register
5597:
5552:
5512:Loadāstore unit
5479:
5472:
5399:
5368:
5269:
5226:Image processor
5201:
5194:
5164:
5158:
5134:Microcontroller
5124:Embedded system
5112:
5012:
4945:
4934:
4872:
4822:
4720:
4697:
4681:Re-order buffer
4652:
4633:Data dependency
4619:
4578:
4408:
4402:
4301:
4300:Instruction set
4294:
4280:Multiprocessing
4248:Cache hierarchy
4241:Register/memory
4165:
4065:Queue automaton
4021:
4016:
3986:
3981:
3967:
3943:ATHENA computer
3931:
3895:
3892:
3862:
3857:
3843:
3815:
3782:
3758:Mobile Launcher
3746:
3635:
3629:
3601:
3544:
3538:
3487:
3478:Instrument unit
3460:
3454:
3428:Launch vehicles
3423:
3418:
3351:Feature Stories
3338:Eagle Lander 3D
3171:
3161:
3146:
3143:
3138:
3129:
3127:
3118:
3117:
3113:
3092:
3091:
3087:
3077:
3075:
3066:
3065:
3061:
3052:
3050:
3042:
3041:
3037:
3028:
3026:
3018:
3017:
3013:
2991:
2990:
2986:
2976:
2974:
2965:
2964:
2960:
2952:
2950:
2942:
2937:
2936:
2932:
2922:
2920:
2910:
2909:
2905:
2891:
2890:
2883:
2875:
2873:
2863:
2862:
2858:
2850:
2848:
2838:
2837:
2833:
2825:
2823:
2813:
2812:
2808:
2799:
2797:
2789:
2788:
2784:
2776:
2774:
2772:
2755:
2754:
2750:
2743:
2728:
2727:
2723:
2705:
2704:
2700:
2686:
2685:
2681:
2672:
2671:
2667:
2658:
2656:
2647:
2646:
2639:
2630:
2629:
2625:
2616:
2615:
2611:
2603:
2601:
2592:
2591:
2587:
2578:
2577:
2573:
2565:
2558:
2550:
2545:
2544:
2535:
2527:
2523:
2514:
2512:
2503:
2502:
2498:
2493:. 27 July 2021.
2483:
2482:
2478:
2454:
2450:
2440:
2438:
2434:
2427:
2426:
2413:
2403:
2401:
2386:
2385:
2381:
2374:
2359:
2352:
2351:
2347:
2337:
2335:
2326:
2325:
2321:
2312:
2311:
2307:
2297:
2295:
2287:
2282:
2281:
2277:
2269:
2267:
2258:
2257:
2253:
2245:
2243:
2234:
2233:
2229:
2216:
2215:
2211:
2203:
2201:
2192:
2191:
2187:
2178:
2176:
2174:Air & Space
2167:
2166:
2162:
2144:
2143:
2139:
2130:
2129:
2125:
2117:
2112:
2111:
2107:
2101:
2093:, p. 196,
2081:
2080:
2073:
2065:
2063:
2057:
2056:
2052:
2048:
2043:
2042:
2029:
2025:
2020:
1988:
1971:
1942:
1841:
1824:
1820:
1808:
1797:
1793:
1789:
1785:
1781:
1777:
1773:
1769:
1749:
1741:Michael Collins
1696:, testing, and
1649:
1642:virtual machine
1572:
1524:
1507:standby allowed
1503:
1462:real-time clock
1429:
1374:
1358:
1354:
1350:
1346:
1327:
1313:
1303:
1291:
1285:
1278:
1264:
1260:
1256:
1255:is followed by
1252:
1248:
1244:
1240:
1231:
1224:
1215:
1209:
1201:
1195:
1191:
1185:
1179:
1171:
1165:
1156:
1151:
1147:
1143:
1139:
1135:
1127:
1123:
1119:
1115:
1111:
1107:
1103:
1099:
1095:
1067:
1061:
1054:
1044:
1040:
1028:
1024:
1020:
1016:
1012:
1008:
1004:
1000:
996:
992:
988:
977:
975:Instruction set
817:
815:Other registers
799:
789:
781:
772:program counter
743:
731:real-time clock
703:
612:, standing for
586:
543:
474:
398:
315:
181:
118:
95:
93:
90:
77:
75:
72:
43:
28:
23:
22:
15:
12:
11:
5:
5989:
5987:
5979:
5978:
5973:
5968:
5963:
5958:
5953:
5948:
5943:
5933:
5932:
5926:
5925:
5923:
5922:
5917:
5915:Pin grid array
5912:
5907:
5902:
5897:
5892:
5887:
5882:
5876:
5874:
5870:
5869:
5867:
5866:
5860:
5855:
5850:
5845:
5840:
5835:
5829:
5827:
5819:
5818:
5815:
5814:
5812:
5811:
5806:
5801:
5796:
5791:
5786:
5785:
5784:
5779:
5774:
5763:
5761:
5755:
5754:
5752:
5751:
5749:Barrel shifter
5746:
5745:
5744:
5739:
5732:Binary decoder
5729:
5728:
5727:
5717:
5712:
5707:
5701:
5699:
5693:
5692:
5690:
5689:
5684:
5676:
5671:
5666:
5661:
5655:
5653:
5647:
5646:
5644:
5643:
5638:
5633:
5628:
5623:
5621:Stack register
5618:
5613:
5607:
5605:
5599:
5598:
5596:
5595:
5594:
5593:
5588:
5578:
5573:
5568:
5562:
5560:
5554:
5553:
5551:
5550:
5545:
5544:
5543:
5532:
5527:
5522:
5521:
5520:
5514:
5503:
5497:
5491:
5484:
5482:
5471:
5470:
5465:
5460:
5455:
5450:
5449:
5448:
5443:
5438:
5433:
5428:
5423:
5413:
5407:
5405:
5401:
5400:
5398:
5397:
5392:
5387:
5382:
5376:
5374:
5370:
5369:
5367:
5366:
5365:
5364:
5354:
5349:
5344:
5339:
5334:
5329:
5324:
5319:
5314:
5309:
5304:
5299:
5294:
5289:
5283:
5281:
5275:
5274:
5271:
5270:
5268:
5267:
5262:
5257:
5252:
5246:
5240:
5234:
5228:
5223:
5217:
5215:AI accelerator
5212:
5206:
5204:
5196:
5195:
5193:
5192:
5186:
5181:
5178:Multiprocessor
5175:
5168:
5166:
5160:
5159:
5157:
5156:
5151:
5146:
5141:
5136:
5131:
5129:Microprocessor
5126:
5120:
5118:
5117:By application
5111:
5110:
5104:
5098:
5092:
5087:
5082:
5077:
5072:
5067:
5062:
5060:Tile processor
5057:
5052:
5047:
5042:
5041:
5040:
5029:
5022:
5020:
5014:
5013:
5011:
5010:
5005:
5000:
4994:
4988:
4982:
4976:
4970:
4969:
4968:
4956:
4950:
4948:
4940:
4939:
4936:
4935:
4933:
4932:
4931:
4930:
4920:
4915:
4914:
4913:
4908:
4903:
4898:
4888:
4882:
4880:
4874:
4873:
4871:
4870:
4865:
4860:
4855:
4854:
4853:
4848:
4846:Hyperthreading
4838:
4832:
4830:
4828:Multithreading
4824:
4823:
4821:
4820:
4815:
4810:
4809:
4808:
4798:
4797:
4796:
4791:
4781:
4780:
4779:
4774:
4764:
4759:
4758:
4757:
4752:
4741:
4739:
4732:
4726:
4725:
4722:
4721:
4719:
4718:
4713:
4707:
4705:
4699:
4698:
4696:
4695:
4690:
4685:
4684:
4683:
4678:
4668:
4662:
4660:
4654:
4653:
4651:
4650:
4645:
4640:
4635:
4629:
4627:
4621:
4620:
4618:
4617:
4612:
4607:
4605:Pipeline stall
4601:
4599:
4590:
4584:
4583:
4580:
4579:
4577:
4576:
4571:
4566:
4561:
4558:
4557:
4556:
4554:z/Architecture
4551:
4546:
4541:
4533:
4528:
4523:
4518:
4513:
4508:
4503:
4498:
4493:
4488:
4483:
4478:
4473:
4472:
4471:
4466:
4461:
4453:
4448:
4443:
4438:
4433:
4428:
4423:
4418:
4412:
4410:
4404:
4403:
4401:
4400:
4399:
4398:
4388:
4383:
4378:
4373:
4368:
4363:
4358:
4357:
4356:
4346:
4345:
4344:
4334:
4329:
4324:
4319:
4313:
4311:
4304:
4296:
4295:
4293:
4292:
4287:
4282:
4277:
4272:
4267:
4266:
4265:
4260:
4258:Virtual memory
4250:
4245:
4244:
4243:
4238:
4233:
4228:
4218:
4213:
4208:
4203:
4198:
4197:
4196:
4186:
4181:
4175:
4173:
4167:
4166:
4164:
4163:
4162:
4161:
4156:
4151:
4146:
4136:
4131:
4126:
4125:
4124:
4119:
4114:
4109:
4104:
4099:
4094:
4089:
4082:Turing machine
4079:
4078:
4077:
4072:
4067:
4062:
4057:
4052:
4042:
4037:
4031:
4029:
4023:
4022:
4017:
4015:
4014:
4007:
4000:
3992:
3983:
3982:
3972:
3969:
3968:
3966:
3965:
3960:
3955:
3950:
3945:
3939:
3937:
3933:
3932:
3930:
3929:
3924:
3919:
3914:
3909:
3903:
3901:
3897:
3896:
3893:
3891:
3890:
3883:
3876:
3868:
3859:
3858:
3848:
3845:
3844:
3842:
3841:
3834:
3829:
3823:
3821:
3817:
3816:
3814:
3813:
3808:
3801:
3796:
3790:
3788:
3784:
3783:
3781:
3780:
3775:
3770:
3765:
3760:
3754:
3752:
3751:Ground support
3748:
3747:
3745:
3744:
3739:
3734:
3729:
3724:
3719:
3714:
3709:
3704:
3703:
3702:
3697:
3692:
3687:
3682:
3677:
3667:
3662:
3661:
3660:
3650:
3645:
3639:
3637:
3631:
3630:
3628:
3627:
3626:
3625:
3620:
3609:
3607:
3603:
3602:
3600:
3599:
3594:
3589:
3584:
3579:
3574:
3569:
3564:
3559:
3554:
3548:
3546:
3540:
3539:
3537:
3536:
3535:
3534:
3533:
3532:
3520:
3515:
3514:
3513:
3495:
3493:
3489:
3488:
3486:
3485:
3480:
3475:
3470:
3464:
3462:
3459:Launch vehicle
3456:
3455:
3453:
3452:
3447:
3442:
3437:
3431:
3429:
3425:
3424:
3419:
3417:
3416:
3409:
3402:
3394:
3388:
3387:
3378:
3372:
3366:
3348:
3347:
3341:
3335:
3329:
3323:
3312:
3311:
3307:
3306:
3300:
3294:
3287:
3286:
3282:
3281:
3276:
3270:
3269:
3265:
3264:
3258:
3249:
3248:
3247:
3241:
3229:
3217:
3205:
3197:
3185:
3176:
3175:
3170:
3169:External links
3167:
3166:
3165:
3159:
3142:
3139:
3137:
3136:
3126:. 10 July 2016
3111:
3093:Garry, Chris.
3085:
3059:
3035:
3011:
3005:on 7 May 2021.
2984:
2958:
2930:
2903:
2881:
2856:
2831:
2806:
2782:
2771:978-0486471754
2770:
2748:
2741:
2721:
2698:
2679:
2665:
2637:
2623:
2609:
2585:
2571:
2569:, p. 149.
2556:
2533:
2521:
2496:
2476:
2448:
2411:
2379:
2372:
2345:
2319:
2305:
2275:
2251:
2227:
2209:
2185:
2160:
2137:
2123:
2105:
2099:
2083:Hall, Eldon C.
2071:
2049:
2047:
2044:
2041:
2040:
2022:
2021:
2019:
2016:
2015:
2014:
2009:
2004:
1995:
1987:
1984:
1970:
1967:
1941:
1938:
1840:
1837:
1813:Ed's Interrupt
1748:
1745:
1733:Neil Armstrong
1703:Richard Battin
1682:Charles Draper
1593:and stored on
1583:Apollo Project
1571:
1568:
1523:
1520:
1502:
1499:
1485:), decrement (
1472:
1471:
1465:
1455:
1449:
1443:
1428:
1425:
1373:
1370:
1366:control pulses
1335:
1334:
1331:
1325:
1317:
1311:
1307:
1301:
1294:
1289:
1282:
1276:
1228:
1222:
1219:
1213:
1205:
1199:
1188:
1183:
1168:
1163:
1071:
1065:
1058:
976:
973:
972:
971:
965:
959:
949:
931:
913:
907:
900:1's complement
889:
883:
877:
871:
865:
855:
816:
813:
804:
803:
793:
786:return address
775:
765:
742:
739:
702:
699:
606:user interface
585:
584:DSKY interface
582:
542:
539:
473:
472:Logic hardware
470:
459:Richard Battin
455:Albert Hopkins
397:
394:
393:
392:
381:
376:(LVDC) on the
327:command module
323:control sticks
319:Project Gemini
314:
311:
301:is available.
295:magnetic cores
260:home computers
241:Apollo program
223:
222:
219:
215:
214:
211:
207:
206:
203:
199:
198:
195:
191:
190:
187:
183:
182:
180:
179:
168:
157:
153:
151:
147:
146:
143:
139:
138:
124:
120:
119:
117:
116:
113:
107:
105:
101:
100:
89:July 1975
87:
83:
82:
69:
65:
64:
59:
55:
54:
49:
45:
44:
41:
26:
24:
14:
13:
10:
9:
6:
4:
3:
2:
5988:
5977:
5974:
5972:
5969:
5967:
5964:
5962:
5959:
5957:
5954:
5952:
5949:
5947:
5944:
5942:
5939:
5938:
5936:
5921:
5918:
5916:
5913:
5911:
5908:
5906:
5903:
5901:
5898:
5896:
5893:
5891:
5888:
5886:
5883:
5881:
5878:
5877:
5875:
5871:
5864:
5861:
5859:
5856:
5854:
5851:
5849:
5846:
5844:
5841:
5839:
5836:
5834:
5831:
5830:
5828:
5826:
5820:
5810:
5807:
5805:
5802:
5800:
5797:
5795:
5792:
5790:
5787:
5783:
5780:
5778:
5775:
5773:
5770:
5769:
5768:
5765:
5764:
5762:
5760:
5756:
5750:
5747:
5743:
5740:
5738:
5735:
5734:
5733:
5730:
5726:
5723:
5722:
5721:
5718:
5716:
5713:
5711:
5710:Demultiplexer
5708:
5706:
5703:
5702:
5700:
5698:
5694:
5688:
5685:
5683:
5680:
5677:
5675:
5672:
5670:
5667:
5665:
5662:
5660:
5657:
5656:
5654:
5652:
5648:
5642:
5639:
5637:
5634:
5632:
5631:Memory buffer
5629:
5627:
5626:Register file
5624:
5622:
5619:
5617:
5614:
5612:
5609:
5608:
5606:
5604:
5600:
5592:
5589:
5587:
5584:
5583:
5582:
5579:
5577:
5574:
5572:
5569:
5567:
5566:Combinational
5564:
5563:
5561:
5559:
5555:
5549:
5546:
5542:
5539:
5538:
5536:
5533:
5531:
5528:
5526:
5523:
5518:
5515:
5513:
5510:
5509:
5507:
5504:
5501:
5498:
5495:
5492:
5489:
5486:
5485:
5483:
5481:
5475:
5469:
5466:
5464:
5461:
5459:
5456:
5454:
5451:
5447:
5444:
5442:
5439:
5437:
5434:
5432:
5429:
5427:
5424:
5422:
5419:
5418:
5417:
5414:
5412:
5409:
5408:
5406:
5402:
5396:
5393:
5391:
5388:
5386:
5383:
5381:
5378:
5377:
5375:
5371:
5363:
5360:
5359:
5358:
5355:
5353:
5350:
5348:
5345:
5343:
5340:
5338:
5335:
5333:
5330:
5328:
5325:
5323:
5320:
5318:
5315:
5313:
5310:
5308:
5305:
5303:
5300:
5298:
5295:
5293:
5290:
5288:
5285:
5284:
5282:
5280:
5276:
5266:
5263:
5261:
5258:
5256:
5253:
5250:
5247:
5244:
5241:
5238:
5235:
5232:
5229:
5227:
5224:
5221:
5218:
5216:
5213:
5211:
5208:
5207:
5205:
5203:
5197:
5190:
5187:
5185:
5182:
5179:
5176:
5173:
5170:
5169:
5167:
5161:
5155:
5152:
5150:
5147:
5145:
5142:
5140:
5137:
5135:
5132:
5130:
5127:
5125:
5122:
5121:
5119:
5115:
5108:
5105:
5102:
5099:
5096:
5093:
5091:
5088:
5086:
5083:
5081:
5078:
5076:
5073:
5071:
5068:
5066:
5063:
5061:
5058:
5056:
5053:
5051:
5048:
5046:
5043:
5039:
5036:
5035:
5033:
5030:
5027:
5024:
5023:
5021:
5019:
5015:
5009:
5006:
5004:
5001:
4998:
4995:
4992:
4989:
4986:
4983:
4980:
4977:
4974:
4971:
4966:
4963:
4962:
4960:
4957:
4955:
4952:
4951:
4949:
4947:
4941:
4929:
4926:
4925:
4924:
4921:
4919:
4916:
4912:
4909:
4907:
4904:
4902:
4899:
4897:
4894:
4893:
4892:
4889:
4887:
4884:
4883:
4881:
4879:
4875:
4869:
4866:
4864:
4861:
4859:
4856:
4852:
4849:
4847:
4844:
4843:
4842:
4839:
4837:
4834:
4833:
4831:
4829:
4825:
4819:
4816:
4814:
4811:
4807:
4804:
4803:
4802:
4799:
4795:
4792:
4790:
4787:
4786:
4785:
4782:
4778:
4775:
4773:
4770:
4769:
4768:
4765:
4763:
4760:
4756:
4753:
4751:
4748:
4747:
4746:
4743:
4742:
4740:
4736:
4733:
4731:
4727:
4717:
4714:
4712:
4709:
4708:
4706:
4704:
4700:
4694:
4691:
4689:
4686:
4682:
4679:
4677:
4674:
4673:
4672:
4669:
4667:
4666:Scoreboarding
4664:
4663:
4661:
4659:
4655:
4649:
4648:False sharing
4646:
4644:
4641:
4639:
4636:
4634:
4631:
4630:
4628:
4626:
4622:
4616:
4613:
4611:
4608:
4606:
4603:
4602:
4600:
4598:
4594:
4591:
4589:
4585:
4575:
4572:
4570:
4567:
4565:
4562:
4559:
4555:
4552:
4550:
4547:
4545:
4542:
4540:
4537:
4536:
4534:
4532:
4529:
4527:
4524:
4522:
4519:
4517:
4514:
4512:
4509:
4507:
4504:
4502:
4499:
4497:
4494:
4492:
4489:
4487:
4484:
4482:
4479:
4477:
4474:
4470:
4467:
4465:
4462:
4460:
4457:
4456:
4454:
4452:
4449:
4447:
4444:
4442:
4441:Stanford MIPS
4439:
4437:
4434:
4432:
4429:
4427:
4424:
4422:
4419:
4417:
4414:
4413:
4411:
4405:
4397:
4394:
4393:
4392:
4389:
4387:
4384:
4382:
4379:
4377:
4374:
4372:
4369:
4367:
4364:
4362:
4359:
4355:
4352:
4351:
4350:
4347:
4343:
4340:
4339:
4338:
4335:
4333:
4330:
4328:
4325:
4323:
4320:
4318:
4315:
4314:
4312:
4308:
4305:
4303:
4302:architectures
4297:
4291:
4288:
4286:
4283:
4281:
4278:
4276:
4273:
4271:
4270:Heterogeneous
4268:
4264:
4261:
4259:
4256:
4255:
4254:
4251:
4249:
4246:
4242:
4239:
4237:
4234:
4232:
4229:
4227:
4224:
4223:
4222:
4221:Memory access
4219:
4217:
4214:
4212:
4209:
4207:
4204:
4202:
4199:
4195:
4192:
4191:
4190:
4187:
4185:
4182:
4180:
4177:
4176:
4174:
4172:
4168:
4160:
4157:
4155:
4154:Random-access
4152:
4150:
4147:
4145:
4142:
4141:
4140:
4137:
4135:
4134:Stack machine
4132:
4130:
4127:
4123:
4120:
4118:
4115:
4113:
4110:
4108:
4105:
4103:
4100:
4098:
4095:
4093:
4090:
4088:
4085:
4084:
4083:
4080:
4076:
4073:
4071:
4068:
4066:
4063:
4061:
4058:
4056:
4053:
4051:
4050:with datapath
4048:
4047:
4046:
4043:
4041:
4038:
4036:
4033:
4032:
4030:
4028:
4024:
4020:
4013:
4008:
4006:
4001:
3999:
3994:
3993:
3990:
3980:
3970:
3964:
3961:
3959:
3956:
3954:
3951:
3949:
3946:
3944:
3941:
3940:
3938:
3934:
3928:
3925:
3923:
3920:
3918:
3915:
3913:
3910:
3908:
3905:
3904:
3902:
3898:
3889:
3884:
3882:
3877:
3875:
3870:
3869:
3866:
3856:
3846:
3840:
3839:
3835:
3833:
3830:
3828:
3825:
3824:
3822:
3818:
3812:
3809:
3807:
3806:
3802:
3800:
3797:
3795:
3792:
3791:
3789:
3785:
3779:
3776:
3774:
3771:
3769:
3766:
3764:
3761:
3759:
3756:
3755:
3753:
3749:
3743:
3740:
3738:
3735:
3733:
3730:
3728:
3725:
3723:
3720:
3718:
3715:
3713:
3710:
3708:
3705:
3701:
3698:
3696:
3693:
3691:
3688:
3686:
3683:
3681:
3678:
3676:
3673:
3672:
3671:
3668:
3666:
3663:
3659:
3656:
3655:
3654:
3651:
3649:
3646:
3644:
3641:
3640:
3638:
3634:Lunar surface
3632:
3624:
3621:
3619:
3616:
3615:
3614:
3611:
3610:
3608:
3604:
3598:
3595:
3593:
3590:
3588:
3585:
3583:
3580:
3578:
3575:
3573:
3570:
3568:
3565:
3563:
3560:
3558:
3555:
3553:
3550:
3549:
3547:
3541:
3531:
3530:
3526:
3525:
3524:
3521:
3519:
3516:
3512:
3511:
3507:
3506:
3505:
3502:
3501:
3500:
3497:
3496:
3494:
3490:
3484:
3481:
3479:
3476:
3474:
3471:
3469:
3466:
3465:
3463:
3457:
3451:
3448:
3446:
3443:
3441:
3438:
3436:
3435:Little Joe II
3433:
3432:
3430:
3426:
3422:
3415:
3410:
3408:
3403:
3401:
3396:
3395:
3392:
3385:
3383:
3379:
3376:
3373:
3370:
3367:
3364:
3360:
3359:
3355:
3354:
3353:
3352:
3345:
3342:
3339:
3336:
3333:
3330:
3327:
3324:
3321:
3317:
3314:
3313:
3309:
3308:
3304:
3301:
3298:
3295:
3292:
3289:
3288:
3284:
3283:
3280:
3277:
3275:
3272:
3271:
3267:
3266:
3262:
3259:
3257:
3253:
3250:
3245:
3242:
3239:
3236:
3235:
3233:
3230:
3227:
3223:
3222:
3218:
3215:
3211:
3210:
3206:
3203:
3202:
3198:
3195:
3191:
3190:
3186:
3183:
3182:
3178:
3177:
3173:
3172:
3168:
3162:
3156:
3152:
3151:
3145:
3144:
3140:
3125:
3121:
3115:
3112:
3109:
3104:
3100:
3096:
3089:
3086:
3074:
3070:
3063:
3060:
3049:
3045:
3039:
3036:
3025:
3021:
3015:
3012:
3009:
3004:
3000:
2999:
2994:
2988:
2985:
2973:
2969:
2966:Burkey, Ron.
2962:
2959:
2948:
2941:
2934:
2931:
2923:September 18,
2918:
2914:
2907:
2904:
2899:
2895:
2888:
2886:
2882:
2871:
2867:
2860:
2857:
2846:
2842:
2835:
2832:
2821:
2817:
2810:
2807:
2796:
2792:
2786:
2783:
2773:
2767:
2763:
2759:
2752:
2749:
2744:
2738:
2734:
2733:
2725:
2722:
2717:
2713:
2709:
2702:
2699:
2694:
2690:
2687:A.J.S. Rayl.
2683:
2680:
2675:
2669:
2666:
2655:
2651:
2644:
2642:
2638:
2633:
2627:
2624:
2619:
2613:
2610:
2599:
2595:
2589:
2586:
2581:
2575:
2572:
2568:
2563:
2561:
2557:
2549:
2542:
2540:
2538:
2534:
2530:
2525:
2522:
2511:
2507:
2500:
2497:
2492:
2491:
2486:
2480:
2477:
2473:
2469:
2466:
2465:
2460:
2459:
2452:
2449:
2433:
2432:
2424:
2422:
2420:
2418:
2416:
2412:
2399:
2395:
2394:
2389:
2383:
2380:
2375:
2369:
2365:
2358:
2357:
2349:
2346:
2333:
2329:
2323:
2320:
2315:
2309:
2306:
2293:
2286:
2279:
2276:
2265:
2261:
2255:
2252:
2241:
2237:
2231:
2228:
2223:
2219:
2213:
2210:
2199:
2195:
2189:
2186:
2175:
2171:
2164:
2161:
2156:
2152:
2148:
2141:
2138:
2133:
2127:
2124:
2116:
2109:
2106:
2102:
2100:1-56347-185-X
2096:
2092:
2088:
2084:
2078:
2076:
2072:
2062:
2061:
2054:
2051:
2045:
2037:
2033:
2027:
2024:
2017:
2013:
2010:
2008:
2005:
2003:
2002:Space Shuttle
1999:
1996:
1993:
1990:
1989:
1985:
1983:
1981:
1977:
1968:
1966:
1964:
1963:Space Shuttle
1959:
1955:
1946:
1939:
1937:
1935:
1931:
1928:
1922:
1920:
1916:
1912:
1908:
1904:
1900:
1896:
1892:
1888:
1882:
1880:
1876:
1872:
1868:
1864:
1857:
1856:
1853:Lunar Module
1850:
1845:
1838:
1836:
1834:
1830:
1818:
1814:
1805:
1803:
1765:
1763:
1759:
1755:
1746:
1744:
1742:
1738:
1734:
1729:
1727:
1726:Space Shuttle
1723:
1718:
1716:
1712:
1708:
1704:
1699:
1695:
1691:
1687:
1683:
1679:
1674:
1671:
1665:
1663:
1659:
1655:
1647:
1646:trigonometric
1643:
1639:
1634:
1632:
1631:metric system
1627:
1623:
1619:
1615:
1611:
1606:
1604:
1600:
1596:
1592:
1584:
1580:
1576:
1569:
1567:
1565:
1561:
1557:
1553:
1549:
1545:
1541:
1537:
1532:
1528:
1521:
1519:
1515:
1511:
1508:
1500:
1498:
1494:
1492:
1489:), or shift (
1488:
1484:
1480:
1475:
1469:
1466:
1463:
1459:
1456:
1453:
1450:
1447:
1444:
1441:
1438:
1437:
1436:
1434:
1426:
1424:
1422:
1416:
1412:
1410:
1405:
1402:
1400:
1396:
1392:
1383:
1378:
1371:
1369:
1367:
1362:
1344:
1340:
1339:timing pulses
1332:
1326:
1322:
1318:
1312:
1308:
1302:
1299:
1295:
1290:
1283:
1277:
1274:
1270:
1237:
1229:
1223:
1220:
1214:
1206:
1200:
1189:
1184:
1177:
1169:
1164:
1160:
1133:
1092:
1088:
1084:
1080:
1076:
1072:
1066:
1059:
1053:
1052:
1051:
1048:
1038:
1034:
1019:(basic), and
986:
982:
974:
969:
966:
963:
960:
957:
953:
950:
947:
943:
939:
935:
932:
929:
925:
921:
917:
914:
911:
908:
905:
901:
897:
893:
890:
887:
884:
881:
878:
875:
872:
869:
866:
863:
859:
856:
853:
850:
849:
848:
841:
833:
826:
821:
814:
812:
809:
797:
794:
787:
779:
776:
773:
769:
766:
763:
759:
756:
755:
754:
752:
748:
740:
738:
736:
732:
728:
727:
721:
719:
715:
711:
708:
700:
698:
696:
692:
688:
683:
681:
677:
673:
669:
665:
661:
657:
653:
649:
646:
641:
639:
635:
631:
627:
623:
619:
615:
611:
607:
598:
590:
583:
581:
579:
575:
572:bit, and one
571:
567:
563:
559:
555:
552:
548:
540:
538:
536:
532:
528:
524:
521:
516:
514:
510:
506:
502:
498:
494:
489:
487:
483:
479:
471:
469:
466:
464:
460:
456:
452:
448:
444:
443:Eldon C. Hall
440:
436:
428:
425:
422:
418:
410:
402:
395:
390:
386:
382:
379:
375:
371:
370:
369:
362:
354:
350:
348:
344:
340:
336:
332:
328:
324:
320:
312:
310:
308:
302:
300:
296:
292:
288:
284:
280:
275:
273:
272:Commodore PET
269:
265:
261:
257:
254:
250:
246:
242:
238:
234:
230:
220:
216:
212:
208:
204:
200:
196:
192:
188:
184:
177:
173:
170:36,864 words
169:
166:
162:
158:
155:
154:
152:
148:
144:
140:
136:
132:
129:
125:
121:
114:
112:
109:
108:
106:
102:
88:
84:
70:
66:
63:
60:
56:
53:
50:
46:
39:
34:
19:
5920:Chip carrier
5858:Clock gating
5777:Mixed-signal
5674:Write buffer
5651:Control unit
5463:Clock signal
5306:
5202:accelerators
5184:Cypress PSoC
4841:Simultaneous
4658:Out-of-order
4290:Neuromorphic
4171:Architecture
4129:Belt machine
4122:Zeno machine
4055:Hierarchical
3911:
3836:
3803:
3794:Lunar plaque
3561:
3527:
3508:
3381:
3357:
3350:
3349:
3220:
3208:
3200:
3193:
3188:
3180:
3149:
3128:. Retrieved
3123:
3114:
3103:the original
3098:
3088:
3076:. Retrieved
3072:
3062:
3051:. Retrieved
3047:
3038:
3027:. Retrieved
3023:
3014:
3003:the original
2996:
2987:
2975:. Retrieved
2971:
2968:"VirtualAGC"
2961:
2951:, retrieved
2946:
2933:
2921:. Retrieved
2916:
2906:
2897:
2874:, retrieved
2869:
2859:
2849:, retrieved
2844:
2834:
2824:, retrieved
2819:
2809:
2798:. Retrieved
2794:
2785:
2775:, retrieved
2761:
2751:
2731:
2724:
2711:
2701:
2693:the original
2682:
2668:
2657:. Retrieved
2653:
2626:
2612:
2602:, retrieved
2597:
2588:
2574:
2567:Mindell 2008
2529:Mindell 2008
2524:
2513:. Retrieved
2509:
2499:
2488:
2479:
2471:
2462:
2456:
2451:
2439:. Retrieved
2430:
2402:. Retrieved
2391:
2382:
2355:
2348:
2336:. Retrieved
2331:
2322:
2308:
2296:. Retrieved
2291:
2278:
2268:, retrieved
2263:
2254:
2244:, retrieved
2239:
2230:
2221:
2212:
2202:, retrieved
2197:
2188:
2177:. Retrieved
2173:
2163:
2155:the original
2150:
2140:
2126:
2108:
2086:
2064:, retrieved
2059:
2053:
2035:
2031:
2026:
1992:Apollo PGNCS
1972:
1958:F-8 Crusader
1951:
1932:
1923:
1910:
1906:
1902:
1898:
1894:
1890:
1886:
1883:
1879:cycle steals
1874:
1870:
1861:
1854:
1829:lunar module
1812:
1806:
1802:far pointers
1766:
1750:
1730:
1719:
1711:person-years
1675:
1666:
1661:
1657:
1635:
1612:designed by
1607:
1588:
1563:
1559:
1551:
1547:
1543:
1539:
1535:
1533:
1529:
1525:
1516:
1512:
1506:
1504:
1501:Standby mode
1495:
1490:
1486:
1482:
1476:
1473:
1467:
1457:
1451:
1445:
1439:
1430:
1421:parity alarm
1420:
1417:
1413:
1409:memory cycle
1408:
1406:
1403:
1398:
1394:
1390:
1387:
1365:
1363:
1342:
1338:
1336:
1297:
1176:base address
1155:
1090:
1086:
1082:
1078:
1049:
1036:
1032:
978:
967:
961:
955:
951:
945:
941:
937:
933:
927:
923:
915:
909:
903:
895:
891:
885:
879:
873:
867:
857:
851:
846:
807:
805:
802:instructions
795:
792:instructions
777:
767:
757:
750:
744:
734:
724:
722:
717:
704:
684:
676:metric units
642:
637:
633:
617:
613:
609:
603:
544:
520:Minuteman II
517:
490:
475:
467:
432:
388:
367:
346:
343:Apollo PGNCS
316:
303:
276:
232:
228:
226:
133:(IC) chips (
86:Discontinued
58:Manufacturer
5705:Multiplexer
5669:Data buffer
5380:Single-core
5352:bit slicing
5210:Coprocessor
5065:Coprocessor
4946:performance
4868:Cooperative
4858:Speculative
4818:Distributed
4777:Superscalar
4762:Instruction
4730:Parallelism
4703:Speculative
4535:System/3x0
4407:Instruction
4184:Von Neumann
4097:PostāTuring
3838:Moon Museum
3606:Space suits
3320:AGC Replica
3316:AGC Replica
3297:Source code
3048:ibiblio.org
2404:1 September
2338:19 February
2332:Archive.org
2294:. p. 9
1919:Jack Garman
1915:Steve Bales
1849:Buzz Aldrin
1737:Buzz Aldrin
1595:rope memory
1395:fixed-fixed
1343:subsequence
762:accumulator
531:diode logic
503:(RTL) in a
299:core memory
159:2048 words
48:Invented by
5935:Categories
5825:management
5720:Multiplier
5581:Logic gate
5571:Sequential
5478:Functional
5458:Clock rate
5431:Data cache
5404:Components
5385:Multi-core
5373:Core count
4863:Preemptive
4767:Pipelining
4750:Bit-serial
4693:Wide-issue
4638:Structural
4560:Tilera ISA
4526:MicroBlaze
4496:ETRAX CRIS
4391:Comparison
4236:Loadāstore
4216:Endianness
3927:IBM AP-101
3787:Ceremonial
3618:Beta cloth
3545:components
3543:Spacecraft
3492:Spacecraft
3473:J-2 engine
3468:F-1 engine
3461:components
3371:(BBC News)
3130:2021-09-09
3053:2021-09-09
3029:2021-09-09
2953:2009-09-01
2876:2010-02-04
2851:2009-09-01
2826:2009-09-01
2800:2016-07-17
2777:2009-08-30
2659:2018-11-25
2604:2010-03-21
2515:2016-08-17
2270:2009-08-30
2246:2009-08-30
2204:2009-08-30
2179:2018-12-15
2066:2018-08-27
2046:References
1980:MIT Museum
1875:1201 alarm
1871:1202 alarm
1522:Data buses
1433:interrupts
1330:(subtract)
1306:(multiply)
1204:(exchange)
1091:Diminished
1083:minus zero
858:Bank/Fbank
622:calculator
618:"DIS-kee".
564:-internal
558:parity bit
488:IC chips.
449:came from
283:parity bit
218:Dimensions
68:Introduced
5759:Circuitry
5679:Microcode
5603:Registers
5446:coherence
5421:CPU cache
5279:Word size
4944:Processor
4588:Execution
4491:DEC Alpha
4469:Power ISA
4285:Cognitive
4092:Universal
3636:equipment
3445:Saturn IB
3386:ā youtube
3346:ā youtube
3078:19 August
2712:bbc.co.uk
2474:, p. 131.
2298:29 August
1847:DSKY and
1817:Ed Smally
1654:the 1960s
1622:interrupt
1620:, and an
1608:A simple
1603:Apollo 14
1236:overflows
1079:plus zero
906:register)
747:registers
551:read-only
515:plastic.
509:wire wrap
505:flat-pack
313:Operation
289:known as
247:(CM) and
145:2.048 MHz
142:Frequency
126:Discrete
123:Processor
5697:Datapath
5390:Manycore
5362:variable
5200:Hardware
4836:Temporal
4516:OpenRISC
4211:Cellular
4201:Dataflow
4194:modified
3922:IBM TC-1
3510:Columbia
3450:Saturn V
3440:Saturn I
3124:Engadget
2977:10 April
2510:MIT News
2085:(1996),
1986:See also
1927:synchros
1885:command
1815:, after
1762:Apollo 1
1754:Apollo 4
1747:Block II
1624:-driven
1570:Software
1479:counters
1316:(divide)
958:register
862:kiloword
668:attitude
574:sign bit
570:overflow
493:NOR gate
463:Raytheon
445:. Early
421:Flatpack
378:Saturn V
339:Apollo 8
335:Apollo 7
329:and the
264:Apple II
235:) was a
202:Language
111:Avionics
62:Raytheon
5873:Related
5804:Quantum
5794:Digital
5789:Boolean
5687:Counter
5586:Quantum
5347:512-bit
5342:256-bit
5337:128-bit
5180:(MPSoC)
5165:on chip
5163:Systems
4981:(FLOPS)
4794:Process
4643:Control
4625:Hazards
4511:Itanium
4506:Unicore
4464:PowerPC
4189:Harvard
4149:Pointer
4144:Counter
4102:Quantum
3820:Related
3499:Apollo
3361:(1965)
3141:Sources
3108:Alt URL
3008:Alt URL
2972:iBiblio
2490:YouTube
2441:15 June
1796:called
1458:T3Rrupt
1452:Keyrupt
1132:IBM 360
1085:.) The
735:standby
707:crystal
687:sextant
672:delta-V
664:vectors
660:decimal
486:silicon
424:silicon
253:silicon
128:silicon
96:1975-07
94: (
78:1966-08
76: (
5809:Switch
5799:Analog
5537:(IMC)
5508:(MMU)
5357:others
5332:64-bit
5327:48-bit
5322:32-bit
5317:24-bit
5312:16-bit
5307:15-bit
5302:12-bit
5139:Mobile
5055:Stream
5050:Barrel
5045:Vector
5034:(GPU)
4993:(SUPS)
4961:(IPC)
4813:Memory
4806:Vector
4789:Thread
4772:Scalar
4574:Others
4521:RISC-V
4486:SuperH
4455:Power
4451:MIPS-X
4426:PDP-11
4275:Fabric
4027:Models
3948:ASC-15
3332:Moonjs
3157:
3099:GitHub
3073:Quartz
2998:GitHub
2872:, NASA
2847:, NASA
2822:, NASA
2795:GitHub
2768:
2739:
2370:
2097:
1998:AP-101
1821:RESUME
1809:EDRUPT
1798:EXTEND
1790:RELINT
1782:INHINT
1774:RESUME
1722:Skylab
1468:Uprupt
1440:Dsrupt
1372:Memory
1259:ZERO (
1186:RESUME
1162:holes.
1159:-holes
1126:and a
1045:EXTEND
1027:, and
1015:, and
985:opcode
788:after
770:: The
760:: The
737:mode.
726:scaler
701:Timing
652:relays
628:, and
566:16-bit
560:. The
541:Memory
437:under
396:Design
270:, and
268:TRS-80
210:Weight
150:Memory
137:based)
5865:(PPW)
5823:Power
5715:Adder
5591:Array
5558:Logic
5519:(TLB)
5502:(FPU)
5496:(AGU)
5490:(ALU)
5480:units
5416:Cache
5297:8-bit
5292:4-bit
5287:1-bit
5251:(TPU)
5245:(DSP)
5239:(PPU)
5233:(VPU)
5222:(GPU)
5191:(NoC)
5174:(SoC)
5109:(PoP)
5103:(SiP)
5097:(MCM)
5038:GPGPU
5028:(CPU)
5018:Types
4999:(PPW)
4987:(TPS)
4975:(IPS)
4967:(CPI)
4738:Level
4549:S/390
4544:S/370
4539:S/360
4481:SPARC
4459:POWER
4342:TRIPS
4310:Types
3529:Eagle
3384:video
2943:(PDF)
2917:Wired
2654:WIRED
2551:(PDF)
2435:(PDF)
2360:(PDF)
2288:(PDF)
2118:(PDF)
2018:Notes
1863:PGNCS
1855:Eagle
1825:ZRUPT
1786:INDEX
1778:INDEX
1770:INDEX
1670:octal
1491:Shinc
1446:Erupt
1384:(ROM)
1310:sign.
1281:(add)
1196:INDEX
1192:INDEX
1180:INDEX
1172:INDEX
1166:INDEX
1150:*+2,
1146:*+2,
997:INDEX
896:adder
874:Sbank
868:Ebank
710:clock
656:octal
513:epoxy
347:pings
321:with
186:Ports
5843:ACPI
5576:Glue
5468:FIFO
5411:Core
5149:ASIP
5090:CPLD
5085:FPOA
5080:FPGA
5075:ASIC
4928:SPMD
4923:MIMD
4918:MISD
4911:SWAR
4891:SIMD
4886:SISD
4801:Data
4784:Task
4755:Word
4501:M32R
4446:MIPS
4409:sets
4376:ZISC
4371:NISC
4366:OISC
4361:MISC
4354:EPIC
4349:VLIW
4337:EDGE
4327:RISC
4322:CISC
4231:HUMA
4226:NUMA
3953:D-17
3256:Dsky
3254:and
3155:ISBN
3080:2016
2979:2021
2925:2019
2766:ISBN
2737:ISBN
2443:2021
2406:2019
2368:ISBN
2364:NASA
2340:2024
2300:2023
2095:ISBN
2091:AIAA
2036:0668
2032:noun
1978:and
1911:1668
1907:1668
1903:1202
1899:1668
1895:1202
1891:1668
1887:1668
1756:and
1739:and
1629:the
1487:Minc
1483:Pinc
1391:Bank
1380:AGC
1292:MASK
1142:was
1017:MASK
979:The
926:and
638:Noun
634:Verb
630:Noun
626:Verb
610:DSKY
604:The
529:and
383:the
372:The
279:word
227:The
197:55 W
104:Type
5838:APM
5833:PMU
5725:CPU
5682:ROM
5453:Bus
5070:PAL
4745:Bit
4531:LMC
4436:ARM
4431:x86
4421:VAX
3363:MIT
3226:PDF
3214:PDF
1658:YUL
1650:MXV
1560:AND
1548:AND
1544:AND
1359:MP3
1355:MP1
1351:MP0
1298:and
1265:XCH
1261:CAF
1257:CAF
1202:XCH
1157:CCS
1140:CCS
1136:BCT
1134:'s
1124:CCS
1120:CCS
1116:CCS
1112:CCS
1108:CCS
1104:CCS
1100:CCS
1096:CCS
1068:CCS
1001:XCH
993:CCS
968:OUT
658:or
562:CPU
389:ags
233:AGC
172:ROM
161:RAM
135:RTL
5937::
5772:3D
3122:.
3097:.
3071:.
3046:.
3022:.
2995:.
2970:.
2945:,
2915:.
2896:,
2884:^
2868:,
2843:,
2818:,
2793:.
2760:,
2714:.
2710:.
2652:.
2640:^
2596:,
2559:^
2536:^
2508:.
2487:.
2414:^
2396:.
2390:.
2362:.
2330:.
2290:.
2262:,
2238:,
2220:,
2196:,
2172:.
2149:.
2074:^
1835:.
1804:.
1794:TC
1764:.
1743:.
1735:,
1724:,
1692:,
1605:.
1564:OR
1552:OR
1540:OR
1536:OR
1435::
1347:MP
1328:SU
1314:DV
1304:MP
1286:AD
1279:AD
1263:=
1253:TS
1249:TC
1245:TS
1241:TS
1232:TS
1225:TS
1216:CS
1210:TS
1152:AD
1148:TC
1144:TC
1128:TC
1062:TC
1055:TC
1041:TC
1029:DV
1025:MP
1023:,
1021:SU
1013:AD
1011:,
1009:TS
1007:,
1005:CS
1003:,
999:,
995:,
991:,
989:TC
962:IN
942:SQ
880:SQ
800:MP
796:LP
790:TC
782:DV
753::
632:.
457:,
453:,
349:.
274:.
266:,
4011:e
4004:t
3997:v
3887:e
3880:t
3873:v
3413:e
3406:t
3399:v
3322:.
3224:(
3212:(
3196:)
3163:.
3133:.
3082:.
3056:.
3032:.
2981:.
2927:.
2803:.
2745:.
2718:.
2662:.
2634:.
2518:.
2445:.
2408:.
2376:.
2342:.
2302:.
2182:.
2120:.
1758:6
1585:.
1464:.
1212:.
1194:(
956:B
952:C
948:.
946:S
938:B
934:B
930:)
928:Y
924:X
916:U
910:Y
904:Z
892:X
886:G
852:S
778:Q
768:Z
758:A
576:(
231:(
178:)
174:(
167:)
163:(
98:)
80:)
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.