| Article: 19864
From: [email protected] (Kenneth C. Jenks)
Newsgroups: sci.space.shuttle
Subject: Brand New Shuttle General Purpose Computer FAQ file
Date: 19 May 1994 21:07:55 GMT
Organization: NASA/Johnson Space Center
Howdy. I've just made a major update to the Shuttle GPC FAQ left to me
by Brad Mears when he departed from NASA a few months back. It doesn't
look like this one will pass the "Mom test" -- I usually try to write
these things so that my Mother ([email protected]) can understand
them. However, I hope you fellow space enthusiasts and computer
junkies can get something out of the revised FAQ file. (Ya gotta love
the Internet. My own mother now has an e-mail address!)
Since I know only what a one-time flight controller can be expected to
know about the GPC's, I ran Brad's original document by the experts
here at JSC. Ms. Elizabeth Fountain and Ms. Kaylene Kindt were kind
enough to assist me in bringing the straight poop on Shuttle computers
to you fellow dwellers of the Internet.
Enjoy -- KJ
------------------------------------------------------------------
Frequently Asked Questions about the Space Shuttle computers
------------------------------------------------------------
This is the FAQ list just for the Space Shuttle computer systems.
The information here was collected by Brad Mears during several
years of working in the shuttle flight software arena, then expanded
by Ken Jenks with major assistance from Kaylene Kindt of the
NASA/Johnson Space Center's Engineering Directorate. If you believe
any part of this document is in error, contact me and I'll try to
resolve the issue thru further research. My email address is
[email protected].
The latest version of this document is now available via anonymous FTP
at ftp://explorer.arc.nasa.gov:pub/SPACE/FAQ/shuttle-GPC-FAQ.txt
1) What kind of computer does the shuttle use?
All of the flight-critical software is executed on five IBM
AP-101 General Purpose Computers (GPCs). The crew may use
commercially available laptops and programmable calculators for
non-critical applications.
The AP-101 is a descendant of the IBM 360/370 family that was
specially redesigned for use on the shuttle. By today's standards,
the AP-101 is incredibly slow. The original shuttle computers,
AP-101B, were replaced in 1991 by an upgraded version, the
AP-101S. The AP-101S is three times faster than the AP101B and
is half the size and weight. The AP101S also decreased power
consumption by 100 Watts per computer. The AP101S first flew
on STS-37, April 5-11, 1991. The computers were manufactured
by IBM in Owego, New York, IBM has since sold its Federal
Systems Company to Loral Space Information Systems.
2) Tell me more about the GPCs
The AP-101 is a very different computer than what most people
are familiar with. Like most computers used in aerospace
applications, it does not have a keyboard or CRT. It is a black
box with chips and a power supply.
Relax - there *are* keyboards and CRTs available for the crew,
but they aren't considered part of the GPC. In fact, there
isn't even a one-to-one correspondence between computers and
keyboards. Any CRT or keyboard can be addressed by any GPC,
depending on the state of cockpit switches. BTW, the keyboards
aren't your typical QWERTY keyboard. They are a funky hexadecimal
keypad with several special-purpose function keys.
Besides the CPU, the GPC has twenty-five (25) additional
processors. All of the processors besides the CPU are dedicated
to I/O. There is one processor for each of the twenty-four serial
data busses the AP-101 uses to control and monitor the vehicle.
Each of the I/O processors can be programmed independently to
handle incoming/outgoing data transfers for its respective data
bus. The twenty-fifth processor is a master I/O scheduler. It
serves as an interface between the CPU and the other I/O processors.
The use of truly independent I/O processors allows the CPU to
concentrate on number-crunching and not get bogged down with
I/O. This is very important considering the hard real-time
requirements the software must meet.
3) How much memory do the GPCs have?
The amount of memory available in the AP-101B is 212,992 16-bit
words. The AP-101S holds up to 524,288 words. Yes, this is
ludicrously small by today's standards. These numbers do not
include error detection bits.
The memory in the original AP-101B was honest-to-gosh ferrite
core. Since core memory is non-volatile (meaning it retains
its state when it loses power), a GPC can be turned off and
turned on later without losing its mind. The AP-101S uses normal
RAM with battery backup to achieve the same result.
The fact that the AP-101B used non-volatile memory was put to
use after the Challenger accident. Once the GPCs were recovered
from the ocean floor, NASA was able to clean them up and recover
a significant percentage of the memory contents. This data was
used to help confirm what happened.
The AP101S uses a solid state CMOS memory with battery backup.
Because the CMOS memory can be altered by radiation which the
Shuttle encounters in orbit, the memory was designed with error
detection and correction (EDAC) logic. Whenever the GPC is
powered, a hardware process called "scrub" continually checks
the GPC's memory for alterations. Scrub is capable of detecting
and correcting single bit errors. Multi-bit errors can be
detected, but not corrected. Scrub checks all of the GPC's
memory in 1.7 seconds. Each memory location is also checked by
EDAC prior to being executed by the GPC.
With the non-volatile memory of the old AP101B, the crew would
configure one GPC for De-orbit and Entry, then shut off its
power. This is called "freeze-drying" and will be discussed
later. With the AP101S, the crew configures one GPC with software
for the De-orbit and Entry phases of Shuttle flight then puts
the GPC to "Sleep." Sleep is a reduced power mode in the GPC
which uses only 10% of its rated power. This reduced power mode
reduces the amount of electricity which must be generated by
the Orbiter's Fuel Cell system, but allows the EDAC logic to
continually scrub the GPC's memory.
4) How much disk space do the computers have?
None. All secondary storage for the flight software is on tape.
There are two Mass Memory Units (MMU) that hold all of the
software and data that the GPCs require during flight.
At the time the shuttle was designed and built, disk drive
technology was pretty young. No disk drive at the time could
withstand the rigors of launch and Entry.
5) How big are the GPCs?
The GPC's are housed in air transport racks (ATR), whose dimensions
are 10.2 inches wide, 7.625 inches high and 19.52 inches long.
The original APS101B was packaged in two such boxes, one for
the CPU and anouther for the Input/Output Processor (IOP), but
the newer AP101S combines both processors into one ATR.
6) OK, so now I know what a GPC *is*. What does it *do*?
The shuttle is a fly-by-wire vehicle (like the F-16). This
means that there are no direct connections between the cockpit
controls and the vehicle. Every switch and every button is
connected to the computers. The engines, SRBs, flaps, payload
bay doors, etc are all controlled by the software.
The entire flight, from pre-launch to roll-out, is under computer
control. This isn't to say that the crew is unnecessary. They are
needed, but the software is between them and everything they do.
When the software detects a change of state in a switch, it
determines what that switch is used for, what the new state
means, and if the command is legal at this time. Once it has
done all that, then the software will issue the appropriate
command via the serial data busses.
An example - If the commander wants to push the nose down during
flight, he pushes forward on the joystick in front of him. The
GPC reads this input, determines what it means, and then issues
commands to the proper control surfaces. These commands are
electronic signals that go to an actuator. The actuator is what
actually moves the aero-surface. The actuator uses hydraulics
to move the aero-surface.
It is very important to realize that the shuttle is completely
fly-by-wire. If the flight software fails to operate, the
vehicle will crash. There are two versions of the software
on-board: the Primary Avionics Software System (PASS) and the
Backup Flight Software (BFS). If the PASS should fail to operate
correctly, the crew can engage the BFS. More about that later.
7) Can the astronauts override the software?
Yes and no. Yes the astronauts can override decisions made by
the software. But the mechanism used to perform the override
is in SOFTWARE! Do you see the catch? If the software is fouled
up badly enough, the override won't work.
8) Why five computers?
Redundancy. Every aspect of the shuttle is designed with
redundant systems (when possible). The goal of the shuttle is
to withstand any two failures and still maintain crew safety.
This goal is met with very few exceptions. For the computer
system, there are two levels of redundancy. The first level of
redundancy is thru the use of multiple computers running the
same software. The second level is thru the use of two completely
independent sets of software.
The five General Purpose Computers (GPCs) are all running
simultaneously during Ascent and Entry. Four of them are running
the Primary Avionics Shuttle Software and one of them is running
the Backup Flight Software. The four PASS machines run the
exact same software, using the exact same inputs. Each of the
four has equal responsibility for controlling the vehicle. If
any of them fail, the others will override it and the vehicle
is still safe.
If the four PASS machines have failed for some reason (hardware
or software), the crew can engage the Backup Flight Software.
During normal flight, the BFS is running, but the settings of
certain hardware switches prevent it from taking control of the
vehicle. After BFS engage, this changes - the four PASS machines
are prevented from issuing commands to the vehicle and the BFS
machine is now in full control.
The previous discussion applies only to Ascent and Entry. While
On-orbit, the computers are put into a different configuration.
As soon as the Ascent phase is over and the vehicle is safely
in orbit, the crew will perform an operation called "freeze-drying"
a GPC. As discussed earlier, this operation consists of
configuring one GPC for De-orbit and Entry and then putting it
in Sleep mode. This computer can be used for a safe return to
earth, even if all the other GPC's and MMU tape drives have
failed. In addition to the freeze-dried GPC, a copy of the
Entry software is contained in the upper memory of the four PASS
GPC's. This allows quick access to the Entry software without
using the MMU's. The BFS computer also contains Entry software
and can be configured for Entry without accessing the MMU's.
9) How does the crew engage the Backup Flight Software?
The Commander and Pilot each have a bright red switch located
prominently in front of them on their Rotational Hand Controller
(joystick). At any time during flight, either or both of them can
depress this switch. At that time, an irreversible process begins.
Some special purpose boxes called Backup Flight Controllers
detect this event and turn certain discrete signals to the GPCs
off or on. These hardware signals are what actually allow any
given GPC to issue control commands to the vehicle.
Within 40 milliseconds, all of the PASS computers will be disabled
from sending commands to the vehicle and the BFS computer will
be in control. Other than some changes on the CRTs, the transition
to BFS is mostly transparent.
There is a reluctance to actually engage BFS and the crew will
not do so until some very specific conditions arise. The reason
is that the BFS has never been proven in flight. Yes, it has
been tested in simulators a zillion times and people have a
fairly high confidence in it. But a warm feeling is no substitute
for actual flight tests.
10) Who wrote the software and what language is it in?
The PASS was written by IBM Federal Systems Division. Most of
it is written in an obscure language called HAL/S and some of
it in assembly. HAL/S is something like a cross between Pascal
and FORTRAN. It has built in support for vector and matrix
arithmetic. This is useful since all guidance & navigation
calculations make heavy use of these structures. Another nice
feature is very strong support for real-time scheduling.
The BFS was written by three companies: Rockwell International,
Charles S. Draper Lab, and Intermetrics. It is also largely
HAL/S with some assembly.
11) What Operating System do the GPCs use?
A non-standard one of course. :-) Seriously, the PASS and BFS
each have their very own custom designed OS. It ain't like
nothin' else in the world.
12) How is the software tested?
Testing flight software is a multi-stage process. NASA has
several simulators (of varying fidelities) that are built around
one or more of the flight computers. This allows the tester to
run the actual flight software in real-time on a real computer.
After a programmer changes a module, he tests that module on
the first level (lowest fidelity) simulator. If it behaves as
expected, it is given to the people who do integration testing.
Eventually, an entire release of the flight software is delivered
to the Shuttle Avionics Integration Laboratory (SAIL). SAIL is
the best avionics simulator in the world. It uses real flight-ready
hardware tied into environment simulators. That is, it has 5
real GPCs, 3 CRTs, real multiplexers, etc. A full-up simulation
in SAIL has an astronaut in the simulator cockpit and about 30
engineers at various test stations supporting the effort. The
SAIL is capable of simulating all phases of Shuttle flight. It
is the final arbiter of whether or not the software is ready to fly.
13) Why doesn't NASA use more modern computers?!?!?!?!
This issue really bugs a lot of people. A $2000 486 PC is quite
a bit faster than the AP-101 and can hold a whole lot more memory.
So why doesn't NASA yank out the AP-101 and stuff in a PC?
There are several reasons - reliability, certification, and performance.
Reliability - The AP-101 has been built to withstand extremes
in temperature, vibration, radiation, etc. PCs aren't.
Certification - Before ANY piece of hardware is allowed on the
shuttle, it has to undergo extensive testing. Does the case
release toxic fumes if it catches on fire? Does it operate the
same in zero-G as it does on Earth? How about at 3-G? Are
there sharp edges that can cut anything? Is it compatible with
the orbiter's power system? There are thousands of questions
like this. For a complex piece of flight-critical hardware,
the certification process can be very expensive. For example,
the upgrade from the AP-101B to the AP-101S took several years
and untold millions of dollars. And this was for an UPGRADE!
Can you imagine how much longer it would take for a completely
new design?
Performance - It is not clear to me that even a fast 486 could
meet the real-time requirements for the shuttle flight software.
The GPCs have to process a LOT of input data. If it fails to
provide an output on time, very bad things could happen. The
use of multiple processors in the GPCs is something a PC just
can't compare with.
Besides the issues of reliability, certification, and performance,
there is one more very good reason to stick with the current
computers. They work! Yes, they're old and slow and new
computers are "better". So what? The current setup does the
job in an acceptable manner. If NASA had infinite money, then
replacing the GPCs could be justified. But right now, there
are other things the money could be used for.
References:
Newsgroups: sci.space.shuttle
From: [email protected] (Ed Taft)
Subject: Re: I'd like a copy of the GPC FAQ...
Organization: Adobe Systems Incorporated, Mountain View, CA
Date: Fri, 29 Apr 1994 17:47:19 GMT
Just as a footnote to this excellent FAQ, I'd like to mention that
there were several interesting in-depth articles on the development
of the GPC software in the September 1984 issue of Communications of
the ACM. This is a publication of the Association for Computing
Machinery which should be available in any technical library. Perhaps
this bibliographic reference should be added to the FAQ.
--
Ed Taft [email protected]
-- Ken Jenks, NASA/JSC/SD5, Space Biomedical Research Institute
[email protected] (713) 483-4368
"The man who makes no mistakes does not usually make anything."
-- Edward John Phelps, American Diplomat/Lawyer (1825-1895)
|
| Article: 1186
From: [email protected] (Jordan Gold)
Newsgroups: sci.space.science
Subject: Special Offer - Computers in Space
Date: Fri, 26 Aug 1994 00:10:38 GMT
Organization: SSS
[Mod Note: Feedback about the appropriateness of ads of this nature
will be listened to. The subject is appropriate, at least. -gwh]
Alpha Books is offering Computers in Space - Journeys With NASA by
James Tomayko at a special 20% discount to Internet users. Computers
in Space is a gorgeous full-color visual tour of the computer
technology used in space flight. The book provides a behind-the-scenes
look at NASA's computer technology, illustrating the vital role
computers play in space flight and features many full- color photos
from NASAs photography library.
Featuring a foreword from astronaut Buzz Aldrin, the book shows
readers how computers contribute to each phase of the preparation and
launch of spacecraft- -using the Galileo space mission to Jupiter as
the central theme--from training the crews, countdown, mission control
and flying the shuttle, to the final mission itself. At each relevant
point, the historical background of a specific device or technique is
explained and compared to the use of computers in earth- based
applications. All technical information is presented in a language
that the layperson can understand and enjoy.
Content Summary
1. Basic Virtual Reality - Computers Simulating Space Flight
2. Ready for Liftoff - Using Computers to Preflight Giant Rockets
3. Automated Launch Processing for the Space Shuttle
4. Mission Control Centers
5. Capsule Computers
6. To the Moon
7. Computer Technology for the Shuttle
8. Programming and Flying the Space Shuttle Computers
9. Twin Bases on the Red Planet
10. The Grand Tour of the Solar System
11. Galileos Decade of Flight
Epilogue: NASAs Legacy and Computers in Future Space Flight
Ordering Information:
ISBN: 1-56761-463-9
List Price: $ 20.00
Internet Special Offer: $16 plus shipping and handling
Page Count: 197
To order, send electronic mail to [email protected] with your name,
address, credit card number and expiration date. Or send a fax with
the same information to 317-581-4669 to Jordan Gold, Publisher of
Online Services, Macmillan Publishing, 201 West 103rd Street,
Indianapolis, IN 46290. Or call our order department at 800-428-5331.
In all cases, mention the code NASA to get the special offer price.
|