Computers in Spaceflight: The NASA
- [377-392] Appendix I: Glossary
Of Computer Terms
- Accumulator ---The register in the central processing unit of a
computer used to store the current results of calculations.
- Algorithm ---A step-by-step solution to a problem that is the
basis for writing the code that will enable the computer to solve
- Analog Circuit ---An electrical circuit that models the behavior of
a real object or force, providing a nondigital means of
- Analog Computer ---A machine that computes by modeling objects and
forces using either mechanical or electrical means.
- Assembly Language ---A low-level programming language for computers
that express algorithtms in statements consisting of mnemonics
representing actions and numbers representing addresses. For
example, the statement "ADD A,7FFF" tells a computer to add the
contents of location 7FFF (a hexadecimal number) to the contents
of the accumulator and leave the result in the accumulator. The
specific mnemonics for assembly languages may be different for
different processors but are closely related. Programs written in
assembly languages, although conservative of machine resources and
quite fast, are much more difficult to write and maintain than
those written in high-level languages such as FORTRAN, Pascal, and
- Asynchronous ---Occurrences happening at no set time.
Asynchronous interrupts mean that signals to a computer to start a
specified process may come at any time.
- Backup Program ---A computer program shorter and with less
functionality than the primary program that performs only critical
functions in case the primary program or the hardware in which it
- Bandwidth ---The amount of information that can be transferred
in a discrete amount of time. The higher the bandwidth, the more
- Batch Processing ---A method of executing programs on a computer that
reserves resources for the use of a particular program and
releases them upon completion. Older batch systems could process
only one program at a time.
- Binary Object Code ---The result of an assembler processing an assembly
language program or a compiler processing a high level language
program. It consists of binary numbers in the machine language of
the specific computer on which the program is to run.
- Bit ---A
binary digit, representing either a one or a zero.
- Breadboard ---A prototype of a computer or other electronic
device built by the design group to test the device before it is
packaged for production.
- Bubble Memory ---A type of nonvolatile computer memory using
materials that can retain a specific magnetic polarity when
electrical power is cut off. The polarity determines whether a one
or zero is being stored.
- Buffer ---A cache of memory used to store information
temporarily during transfer operations. It is usually used to
adjust for differences in operating speed between devices.
- Buffer Register ---A register used to temporarily store information
in transit to another device.
- Bug ---Common term for an error in a computer program or
- Bus ---An interconnection device that can be used to
speed up information transfer (as when a bus made up of multiple
wires carries the bits of an entire computer word in parallel) and
to act as a connector for multiple devices (as when several
devices that do not need to transmit simultaneously time-share the
use of the bus for intercommunication). Also used to refer to
heavy-duty electrical power cables or bars supplying power to many
- Byte ---A collection of bits, commonly eight.
Processor ---The portion of a computer that contains the
control circuits and does the actual calculations.
- CMOS ---Complimentary metal-oxide silicon circuits,
characterized by low-power requirements, tolerance of wide
variation in voltages, and susceptibility to damage from
discharges of static electricity.
Processor---A microcomputer built of CMOS circuits.
- Coding---The act of writing a program for a
- Compiler---A computer program that accepts statements of a
high-level language as input and generates machine code that will
execute those statements as output.
- Condition Code---A message several bits in length used to
communicate the physical status of one device to another
- Contiguous Memory
Locations---Addresses in a machine
memory located adjacent to one another.
- Core Memory---A type of computer memory constructed of a series
of two-dimensional planes containing networks of wires with
ferrite rings called "cores" at their intersections. The magnetic
polarity of the cores can be changed by electrical pulses. Each
core stores 1 bit of information. Core memory is nonvolatile; when
power is cut off, it does not lose information.
Destructive-readout core memory loses the information stored in a
core when the core is read, so a temporary register must be used
to intermediately store the information before writing it back to
its original location as it is simultaneously sent to other parts
of the computer. Nondestructive-readout core memory can be read
without the information being changed.
- Core Rope---A type of core memory that stores entire computer
words rather than individual bits. Each core in a core rope is
permanently charged to represent a "one." A number of wires equal
to the number of bits in a word is weaved through the cores. When
a bit within a word is to represent a one, its wire is connected
to a core. Bits representing zeroes are not connected. Thus, by
selecting the correct core and sensing which wires represent ones
and which zeroes, the word can be reconstructed. More than one
word can be attached to a core by adding more wires to the rope.
Core rope, once constructed, can only be read.
- Core Storage---Another name for core memory.
- Core Transistor Logic---Circuits made up of discrete transistors used to
form the control unit in the central processor of a
- Cycle Time---The length of time it takes for a computer to do
a fundamental operation, such as reading a word from memory into
the central processor. Some instructions, such as multiply, take
- Data Flow Diagram---A software design tool that uses circles to
represent operations and arrows to represent data movement. It is
used to determine the ordering of processes and input and output
- Data Formatters---Hardware or software that takes raw data from
devices and puts it into a uniform format for transmission,
usually adding some special error detection bits.
- Data Word---A computer word containing only data, not
- Demultiplexer---A device that receives data transmitted on a bus
and routes it to the correct device.
- Digital Circuit---A circuit constructed to handle discrete units of
information that can represent ones and zeroes.
- Digital Computer---A calculating device using digital circuits,
usually consisting of a central processing unit, memory, and input
and output devices.
- Diode Transistor Logic Integrated
Circuit---A type of miniaturized
digital circuit used to construct logic units in the central
processor of a computer.
- Direct Addressing---Using the absolute address of a memory location
to access data within it. For example, in a hypothetical machine
with a word size of 4 bits, up to 16 memory locations can be
directly addressed, simply by matching them one for one with the
16 numbers 4 bits can represent. Thus, memory location 1011 is the
twelfth location in the memory. Since it is often necessary to
have more memory than the number of locations a single word can
represent, indirect addressing schemes must be devised. The 4 bit
computer can indirectly represent a memory location by using two
words; one word can indicate which bank of l6 words to access, the
second word can indicate which of the 16 addresses in that bank to
- Direct Memory Access---Reading or writing to a memory location in a
computer without passing the information through the central
processing unit for disposition.
- Discrete Component---A component containing a single entity, such as a
transistor, as opposed to containing many entities, such as an
integrated circuit with thousands of transistors.
Drive---A type of mass storage device in which bits are
represented by magnetized areas on a plane, or disk, covered with
a suitable material of the same type used for magnetic tape. A
disk drive may have one or many disks.
Precision---Using two computer words to represent a number
instead of one.
- Drum Memory---A type of mass storage device in which the
material (similar to material used to make magnetic tape) that
contains the information is placed on a rotating drum.
- Emulator---A device that can be programmed to replicate the
logic and functions of another device and operate at the same
- Erasable Memory---Memory in which information can be overwritten by
Word---A word of information containing code to activate
devices or functions.
collection of related information, such as a computer program or
imaging data, which can be thought of as a unit.
- Firmware---Software stored in read-only memory devices used
to control logic flow in a computer. Changing the firmware changes
the nature of the computer.
Memory---Memory that can only be read.
- Fixed Point---A method of representing numbers in a computer in
which the decimal point is permanently fixed. Therefore, numbers
used in calculations must be properly scaled relative to the
location of their decimal point or the results will be
meaningless. Such scaling is usually left to the
- Flat Packs---Collections of integrated circuits packaged in
modules for use in a computer.
- Flip-Flop---A logic device that can change from containing a
one to a zero and vice-versa depending on inputs. Hip-flops are
often used in the central processing unit of a computer.
- Floating Point---A method of storing numbers in a computer in
which the location of the decimal point is stored with the values
of the individual places.
- Flowchart---A method of program design in which algorithms
are represented by specific two-dimensional shapes and connecting
arrows. Each shape represents a specific logical act. For example,
a diamond indicates a true/false decision.
Word---All the bits of a computer's word size.
logic device. For example, an "AND Gate" returns the result of a
Boolean AND operation on its inputs.
Register---A register in the
central processing unit of a computer not assigned to a specific
task but that can be dynamically required to act as an
accumulator, program counter, or index register.
- Half Word---One half of the bits of a computer's word
- Hard-Wired Logic
Circuits---Logic implemented in
hardware, as opposed to implementation in software.
- Hard-Wiring---Permanently representing logic in
- Hard Logic---Logic permanently represented in hardware.
- Hardware---Physical components of a computer system or other
device, such as memories, registers, and control logic
- Hexadecimal---Base 16. One-digit numbers include 0 through 9
and A through F.
- High-Level Language---A language in which algorithms can be represented
in a series of structured, formal statements using selected easily
recognizable words from a natural language. For example, "IF
VALVE_POSITION = 2 THEN SET FUEL_FLAG TO TRUE" is a high-level
- Image Processing---Using computers to operate on the digital
information that represents images to enhance its value for
specific purposes. Most images are represented by collections of
8-bit "gray scale" values, which contain a number ranging from 0
to 255 indicating the level of darkness in one picture element, or
dot, in an image. Image processing works on these 8-bit values to
increase contrast, translate oblique images to vertical images,
and emphasize certain colors.
- Imaging---The process of acquiring images using vidicon
tubes and digital circuits.
- Index Register---A register in the central processing unit of a
computer that contains the value of the memory bank currently
- Instruction Set---The list of instructions that a computer can
execute. It varies from a few to several hundred depending on the
- Instruction Word---A word in a computer containing the bits
representing an instruction and an address on which the
instruction is to operate.
- Integrated Circuit---An electronic circuit containing hundreds,
thousands, or millions of components, such as transistors, and
used for a specific purpose, such as logic or memory.
- Interactive Processing---Executing computer programs so that the user can
actively send information to the program and receive information
from it while the program is running.
- Interface---The connection between two devices for the
exchange of data.
- Interface Table---A collection of information containing
instructions for connecting devices so that data can be
- Interpreter---A computer program that executes statements
written in a high-level language one at a time.
- Interrupt Stack---Storage of interrupts so that they can be handled
in a last-in first-out fashion.
- Interrupt-Driven System---A computer that is programmed to execute
processes on demand, the demand taking the form of signals sent
from other devices or itself that cause processes of lower
priority to halt execution and be replaced by processes of higher
priority. If the interrupt is of a lower priority than the current
process, it is saved for later execution.
- Kilobyte---One thousand twenty-four (1,024) 8-bit bytes.
Abbreviated "Kb" or, more commonly, "K."
- Listing---The content of a computer program, often used to
refer to the printed result of sending a program through a
- Logic Channels---Hardware that represents logic and through which
data flows for processing.
- Logic Circuit Board---A board containing electrical connections into
which circuits are plugged representing the logic of a
- Logic Gate---See Gate.
Code---The representation of instructions as a series of
bits, which cause the computer to execute the specified actions.
Machine code is idiosyncratic to a particular type of
- Machine Cycle---See Cycle Time.
- Machine Time---The amount of time a computer takes to execute a
program or function.
- Macro---A subroutine in assembly language that can be
invoked by name.
- Magnetic Tape---A mass storage device in which bits are
represented in areas on a magnetic surface.
- Main Memory---The memory of a computer used for both reading
and writing operations, and of a faster type than secondary
storage devices, such as magnetic tape or disk. Main memory is
often made from core or semiconductor devices.
- Mainframe Computer---A large, fast computer system capable of
supporting hundreds of individual users, usually with a long word
size, millions of words of main memory, and many
several thousand transistors or other devices on a single chip.
- Megabyte---One million 8-bit bytes. Abbreviated "Mb" or,
more commonly, "M."
- Microprocessor---A small computer built of integrated circuits,
often on a single chip. Usually a microprocessor will support a
single user or function.
- Microcode---The programs used to create firmware.
- Microsecond---One millionth of a second.
- Millisecond---One thousandth of a second.
- Minicomputer---A computer sized between a microprocessor and a
mainframe computer, capable of supporting from one to several
dozen users or tasks.
- Mnemonics---Short groups of letters representing instructions
in an assembly language. The mnemonic for "decrement the number in
the specified register by one and branch to another address if the
number is zero" is "DBZ."
- Modularization---A technique for creating large computer programs
based on the principle of "divide and conquer." Each module of a
large program performs one task, can be entered at only one point
and exited at only one point. For example, the "BOOST THROTTLING
TASK" module of the Shuttle on-board software handles the
throttling of the main engines during the ascent phase of a
mission. It is scheduled to execute many times each second. By
isolating the function to this one module, it can be tested more
easily and also reused in software loads for many Shuttle
- Multiplexer---A device that controls the time-sharing of a bus
so that many devices can send information over the same
- Multitasking---A method of using computer resources so that more
than one program can be in the process of execution at one time.
The operating system of the computer will do calculations for one
program while another is using the printer, for instance.
- Nanosecond---One billionth of a second.
- Networking---The process of interconnecting several computers
together so that they can share data and programs.
- Noise---Stray electromagnetic signals that may or may not
interfere with data transmission and calculations. Noise may be
generated locally, as when devices that leak electromagnetic
radiation are placed next to one another, or from radiation fields
- NOR Gate---A type of logic gate that executes a Boolean OR
operation on its inputs and then complements the result (reverses
the value) before outputting it.
- Object Code---See Binary Object Code.
- Octal---Representation of numbers in base eight. Octal
digits range from 0 through 7.
- One's Complement---A method of storing binary numbers in which each
bit in a word is complemented (reversed in value). The one's
complement of 101 is 010.
- Operation Code---That part of an instruction word that contains
the bits that represent the specific mnemonic to be
- Parallel Data---Data transmitted in several bits at once.
- Parameter---Data made available as input or output to a
module or procedure. In general, the current value of specific
information, such as fuel remaining, angle of flight, or re-entry
- Parity---A method of ensuring accurate data transfer. The
number of ones or zeroes in a specific computer word is kept
either even or odd by the addition of a changeable "parity bit."
If the device is using even parity based on the number of ones, or
if the number of ones in the word is odd, then the parity bit is
set to one. When the transfer to another device is complete, that
device examines all incoming words for even parity. If it detects
odd parity, it requests a retransmission of the data that failed
the parity test.
- Parity Bit---See Parity.
- Peripheral Device---Hardware associated with a computer used for
input, output, or memory functions, such as disk drives, printers,
terminals, and card readers.
- Pixel---Short for picture element. One dot of a digital
- Plated-Wire Memory---A type of nonvolatile computer memory using areas
of wires plated with material that can be magnetically polarized
to store bits. Its function and advantages are similar to core
- Primary Memory---See Main Memory.
- Primary Storage---See Main Memory.
- Procedural Language---A computer language that can represent
algorithms, such as FORTRAN, Pascal, or Ada.
- Processor---Alternative term for computer.
- Propagation Time---The amount of time it takes for a signal to get
from one part of a device to another, or to another device.
- Pseudocode---A program design tool using structured English to
represent algorithms. It has the advantage of being easily
understandable and independent of the syntax of a particular
Chips---Integrated circuits that
have been protected from the effects of radiation, either by
shielding, decreasing the density of components, or both.
- Random Access Memory---A computer memory in which data can be written to
or read from any location directly.
- Read---The process of moving information from a storage
device to some other place.
- Read Only Memory---A type of computer memory that can only be read
from, not written to, such as core rope.
- Real-Time Processing---A type of processing in which the computer
accepts or initiates continuous asynchronous inputs and