Computer
Hardware
Software
and
Fundamentals Guy
H. Simmons,
Ph.D.
Nuclear Medicine Administration
Veterans
Service Medical
Associate Professor Department of Radiation University
Center
Medicine
of Kentucky Medical Lexington, Kentucky
G. Kereiakes,
James Professor
of Radiology
University
Department of Cincinnati
Ph.D.
(Radiologic
Physics)
of Radiology College of Medicine
Cincinnati,
David
Center
Ohio
R. Pickens,
Assistant
Professor
and
Radiological
Ph.D.
of Radiology Sciences
and
John Assistant
J.
Erickson,
Professor
Ph.D. of Radiology
and Radiological Sciences Department of Radiology and Vanderbilt
Radiological University Nashville,
Volume
5, Number
1
January
1985
RadioGraphics
Sciences Medical
Center
Tennessee
11
Hardware
and
Software
Simmons
Fundamentals
Computer
Hardware
Software
et al.
and
Fundamentals Contents
I
IV
Introduction
Input,
Output
and
A. Keyboard B. II
Terminology
III
Hardware Fundamentals A. Data acquisition
V
B.
Central
1. Primary
2. Read
Factors Devices
devices
Devices in selection of display device for interaction with display
memory unit
and
registers
VI
Array
VII
Software Fundamentals A. Vendor supplied
of instructions
Processors
1. Operating
system software software
2. Applications B.
Introduction use
of computers
in radiology
has
grown
from
limited applications in nuclear medicine in the mid to late sixties to routine use in almost every facet of medical imaging in the eighties. It is and will be increasingly difficult for radiologists to function without some understanding of the way computers work and how to use them to advantage
presented,
are
left
devices
used
for
clinical
data
to the chapters
on specific
clinical
applications.
Terminology the large
accumulated, knowledge standing computers. respectively
12
glossary
a few are used of their definitions of
most
written
The terms to computer
analysis,
two numbering 1 are available;
bit, byte,
and
nature
daily
word;
of individual (base
2) digit
other
three
units
and
computer
computer
memory
computers megabyte)
used in radiology is the standard
bank.
imused
locations
corresponds
to an
bank. A bit can exist in one to the binary digits 0 and operations
are done
system in which only a requirement dictated
of hardware
household
Some
addressable
storage
A typical
in the
the numerals 0 by the dicho-
devices.
A byte is a collection of a specified utive bits and is the smallest addressable
number of consecentity within a
byte
length
for many
is 8 bits. The byte unit for specifying
(kilobyte or memory
size.
A word Within
include
the capacity
1. In the final
Some basic software concepts are also descriptions of software functions
are almost elaboration.
individual element in a memory of two possible states corresponding
tomous
peripheral
processing. but detailed
terms
programs no further
in computer memories. A bit is a binary
including
the
require
to specify
base and
and
developed
called
and
portant
for acquiring and processing clinical data. This chapter explains the functions of the various hardware components that comprise the essential elements of a digital computer, storage
User
of instructions words
The
Devices
and line printers
unit
3. Control unit 4. Arithmetic logic
C. Execution
storage
Display
A. B.
memory only
Image
interface
processing
Bulk
Storage
terminal
of computer
terms
so frequently prerequisite
information hardware machinery
on
that
has
as to render to the underthe
and software, and orderly
subject referring collections
of
secutive
bytes;
although
some
as thirty-two the magnitude word spends
location
is a collection of a specified number of contypically two eight-bit bytes or sixteen bits, small
within
to a power
RadioGraphics
computers
use word
lengths
of as many
bits. The number of bits in a word determines of the largest integer that can be stored in a the
of two,
January
memory. a 16-bit
1985
Since word
each
bit
can be used
Volume
correto rep-
5, Number
1
Simmons
resent
et al.
Hardware
a maximum
of 216 different
of base 10 integer numbers, + or signs) integer value (recognizing
that
0 is one
of possible
word location applications,
numbers
that
is ±32,767 or ±(2’ the computer word
values of optical 3, the maximum
is 216
1 or
the sign of the number, can be stored
in a 16-bit
1). In clinical radiology length determines the
-
following quantities: 1, the maximum pixel in nuclear medicine procedures, different ography,
Fundamentals
In terms
integer)
65,535. If one bit is used to represent the range
Software
the maximum unsigned (without that can be stored in a 16-bit word
-
location
characteristics.
and
number of counts 2, the number
per of
density per pixel in digital radirange of CT numbers that can be
stored
in a single location, etc. The computer word length also determines of directly addressable storage locations within
the number the primary
memory. Individual memory locations have unique dresses and can be written to or read by the computer cessor
as is shown
in Figure
1. When
the processor
Figure 1 Schematic
adpro-
needs
to
read the information stored in a particular location in memory or needs to write information into a location, it first forms
an address
organized mailbox,
for
that
location.
Computer
memory
like mail boxes on a street. To find the processor must know its address.
representation
ofmain
memory
Main
mem-
ory in a computer is organized like mailboxes on a street. Each has its own unique address. The CPU can generate an address and read from or write information to a memory space. Each memory space holds one word that corresponds to the word size of the CPU.
is
the right A 16-bit
computer processor can directly address 65,536 or 216 different locations. This number can be increased by the factor four on memory tify
some computers by means of an option called management that uses a separate module to iden-
different
banks
of memory.
binary numbers are multiplied by a power (8192) is shortened puter can address which,
In computer
truncated to integer of ten; e.g., 212 (40%)
the
of two 4K, 2’
to 8K, etc. Hence, a 16-bit word coma maximum of 65,536 different locations
expressed
in integer
powers
becomes 64K without memory tions with memory management. addressable
jargon, powers is called
entity,
such
of 2 times
a power
management Since a byte
a computer
can
of 10,
or 256K locais the smallest
have
a maximum
primary memory of 64 kilobytes or 256 kilobytes depending on whether or not memory management is present. Figure
2 shows
schematically
the
relationship
between
bits,
bytes
and
words. The 16-bit word in Figure 2 is depicted as an addressable location oriented vertically with respect to the memory plane. This representation is compatible with the concept
of a digital
image
corresponds
to one
contains numbers image can have way
of representing
in which pixel.
each
between a maximum
Volume
bits
are
a word
5, Number
“cleared”
1
(or byte)
location
in a word-mode
image
representation
of
a section
of
computer
Each square in the plane represents one addressable word location or two addressable bytes. Only one word is illustrated for clarity.
0 and 65,535, while a byte-mode pixel value of 255. The usual or byte
poses is by a horizontal string The shaded bits are “set” and shaded
word
A pixel
Figure 2 Schematic memory
and
January
for programming
pur-
of bits as shown in Figure 3. represent ones while the unrepresent
1985
zeros.
Since
RadioGraphics
bit
13
Hardware
and
numbering bits that
Software
Fundamentals
Simmons
goes from right to left and starts with zero, are set are 1, 3, 6, 8, 10, 13, 15. If the location
picted
in Figure
location
3 contains
is addressed
sented
unsigned
using
word
integer
mode,
data
the de-
the
the
alog
and
the number
repre-
is;
If the same bytes,
memory
the
2’ -I- 2
26
byte
is addressed
contains
the
as two integer
while
the
the binary
signals
number
represented
by the
exponents
are now
high-order
0, 1, 2
.
.
byte
(in
7 from
.
right
165.
interface,
data,
in which
bits
in a given program
a given
case
rel)reSents
processor
stored
of a software a coded
as part
combination
instruction
of a software
-
memory
rather
4
(3
2
H
0
(8
Figure
cleared
executed
by
the
program.
9
8
I I I I I 1 1 7
6
5
4
3
2
(
IBIT
used
x-y positioning
convert
them
to
to
address
a given
number
is stored
in
the camera
a section
are stored
of
“on-line.
coordinates counts
the design
adds
over
that
computer
“
one
Each
count
unit
to the
memory
time,
in the memory. with an image
are
x-y coordinates
in the corresponding
By integrating
is accumulated imaging device
since
from
discrete
locations
the data
set of x-y
that
this “digiconverter is ultimately
on the type of acquisition in a scintillation camera
signals
to generate
in which
point
in the
matrix
array
The interface
-I
3
A sixteen-bit word (or two eight-bit bytes) represented according to programming convention The shaaed bits are set and represent ones, and the unshaded bits are Cleared and represent zeros.
analog
image.
to form
a digitized
location
a digitized
image
In the case of an intensifier/video-camera
x-ray
information is obtained beam in the video camera
1, conversion
speed
digitized
numbers
pixels
stored
in a
the
acquisition
be
resolution (This determines the number which the raw data matrix can be
of di-
unit
(the
are
image.
can
per
2, conversion
Fundamentals
The
primary factors associated with that affect performance are:
number
of signals
that
time)
accuracy
3, conversion Hardware
inthe an-
as it scans the input photoconductor of the camera. The video signal itself is then digitized to obtain a discrete number that is proportional to the optical density at each
O”NUMBERS
LOW ORDER BYTE (8 BITS)
BITS)
and
chapters,
depends example,
combination, the x-y positioning from the position of the electron
-1
HIGH ORDER-II BYTE
j
the
(pixel).
6 BITS)
I I 1 1 1 1 1 1 5
numerical
of set and
WORD (
location
than
to be
acquisition is to take
memory and subsequently displayed device is called a “digitized” image. of interfaces for specific systems are
of the specialty
in order
memory with
information
data
by the device
and function of interfaces device employed. For
are
be part
generated
is the
of the interface
discrete numbers that can be used either as x-y addresses (coordinates) or as numerical optical density data. The
digitized
is;
The
hardware
function
left to the authors
2#{176}-t-22+25+27=
may
first
stored in the computer on a suitable display Detailed descriptions
separate
value;
74
which to left)
location
low-order
system
The
component within the interface that performs tizing” function is called an “analog-to-digital” (ADC). The resulting array of numbers that
=42,314.
21 t23+26+28+2b0+213+215
computer
terface.
et al.
into
vided.)
DATA
Figure erized in
imaging
moving
scintillation bination,
14
4
ACQUISITION
shows
a block
system.
from
The
a medical
camera, CT scanner,
image
4,
INTERFACE
diagram
of a typical
first component imaging
acquisition
intensifier/video
ultrasound
unit
or MRI
computdevice
machine)
for multiple
5, provision ternal
one encounters caniera
provision
acquisition
for synchronizing physiologic
data
timing
device acquisition
inputs with
ex-
signals.
(i.e.,
cominto
These specific
factors
are discussed
acquisition
RadioGraphics
in the subsequent
chapters
for
devices.
January
1985
Volume
5, Number
1
Simmons
et at.
Hardware
L
____________
Storage
___________
F
Acquisition __________________ Device
I
Bulk
4,
Software
Fundamentals
__________
J
I
Acquisition] ________________ interface
1
and
Cpu [isPlaY ___________ ______________
II
L 1
cintii:tthflI
IC
Keyboard
amera
External physiologic
Fluoroscopic
signal
system
with
(optional)
video
output
CT
I
term ina 1
Figure 4 Block diagram of the essential components ofa computerized Imaging system
scanner
Ultrasound unit
NMR
unit
CENTRAL
PROCESSING
UNIT
Figure 5 shows a simplified elements of a digital computer. dashed
line,
controlling parts:
the
“central
center
instructions
diagram of the basic part encased in the
processing
of the computer.
1, the control
shown in Figure memory, main memory storage
block The
unit;
(CPU)
unit” The
or CPU,
is the
consists
of two
CPU
2, the arithmetic/logic
unit.
and
data
during
the
execution
of individual
programs. Secondary or bulk storage devices and tape drives and are used for permanent manent storage of data and software. These described in more detail chapter. A type of specialized computers is exactly can only
Also
5 is the primary memory (also called CPU memory, or internal memory). Primary is used in a transient manner to contain
in a subsequent memory
that
include disk or semiperdevices are section
is found
of this in many
is called a read-only memory (ROM). Its function what the name implies: it contains information that be read; nothing can be stored in place of the in-
formation that is already to store instructions that
there. Read-only will be used often
Volume
January
5, Number
1
1985
memory and must
RadioGraphics
is used not be
destroyed
by power
computer.
Often,
computer maximum that
start
failure
or electronic
read-only
problems is used
memory
the computer
after
power
has been
strap loader”) or, as part of an intelligent to provide the instructions for the subsystem’s control
unit
directs
and
computer system in executing reside in the primary memory leader,
the
to perform the same operations over and over speed. Typical uses are for storage of instructions
“boot
The
in the
to permit
the control
unit
coordinates
the program at any time.
does
not execute
at
on (the
turned
subsystem, operation. the
entire
instructions that Like an orchestra the instructions
it-
self; rather, it directs other parts of the system to do so. The control unit receives instructions one at a time from the primary memory, interprets the instruction, determines what data, if any, should be sent and directs the arithmetic/logic kinds that
of operations
that
The arithmetic/logic controls all arithmetic
are
to the arithmetic/logic unit with respect
to be performed
unit (ALU) and logical
unit, to the
on the data.
contains the circuitry operations. The four
arithmetic operations performed by the ALU subtraction, multiplication and division. The ations performed by the ALU are usually
are addition, logical opercomparative
15
Hardware
and
Software
Fundamentals
Simmons
et al.
DATA
PROGI111111
MEMORY
r
OUTPUT
_____
:
_j
1cAj!
I L
CENTRAL
PROCESSING
-I
Figure 5 Essential elements
functions.
The
ALU
is able
to compare
numbers,
letters
other characters and take alternative actions depending the result. The comparison capability is a very important that adds tremendously to the power of the computer. Connected ters-temporary (Registers are housed locations
directly storage not shown
or on one
to the ALU are a number of regisareas for instructions or data. in Figure 5 because they are not
in a discrete piece of hardware They are, in fact, in the primary memory that are used for temporary
storage. ) Registers afford the advantage of speed in accepting, holding and transferring instructions or data, or in performing arithmetic operations or comparisons, all under the direction of the control unit of the CPU. The different types
16
UNIT
--------
of registers
ofa
digital
computer
1 An accumulator,
which
temporarily
contains
the results
of computations; 2 a storage or sent
register,
which
to primary
3 an address
holds
information
read
from
memory;
register,
which
or byte location) instruction;
of an item
4 one or more general used for temporary tions and addresses
holds
the address
of data
called
(a word for by an
purpose registers, which can be storage of the results of computaduring program execution.
include:
RadioGraphics
January
1985
Volume
5, Number
1
Simmons
et al.
Hardware
EXECUTION
To start
OF
the execution
in a command.
For
INSTRUCTIONS
of a program,
most
systems
takes
types
a form
“R” or “Run” followed by the name of the steps in the execution of each single instruction
such
called
as
control
mary
unit
“fetches”
the
program. The by the CPU
instruction
from
pri-
2, The control unit decodes the instruction, reads any data from the primary memory needed to execute the instruction and places it in the storage register, thus
3,
The
it available
control
unit
struction,
then
whatever
time
4, The
result
to the directs turns
the
is required
of the
operation
time,
time. set of operations
The time is called
pending
arithmetic
on the
PDP-11/34
CPU
to execute
over
to the
to perform
the ALU
in-
numbers
for
of numbers. this chapter Medicine,
the operation.
is stored
in the
the
The
commonly
last two
to perform time, and being
are
termed
a complete. it vanes de-
performed
average used
for each are often
cycle CPU
and
time for
for a
nuclear
about 3 microseconds, with multiply requiring more time than addition and reason, systems that are used for aplarge numbers of multiply and divide
have become commonplace ners and other tomographic
ALU
while
function
of the processor. (a
out in succession first two steps
required the cycle
on the speed
Fundamentals
operations often have a separate device called a hardware multiply/divide unit or floating paint processor for performing these functions. In recent years array processors
ALU.
control
instruction
medicine systems) is and divide operations subtraction. For this plications that involve
memory.
making
the
execution
are as follows:
1, The
Software
This sequence of events is carried instruction in the program. The
the operator
this
and
of such
in systems imaging
computations
are
used with CT scandevices where large
performed
on matrices
Array processors are discussed briefly later in and in more detail in the chapters on Nuclear CT Scanning and Digital Radiography.
primary
memory.
Input/Output A great
and
variety
Storage
of devices
Devices
exist for communicating
with
computers, for storing and for outputting data. For practical reasons, only a few are useful for systems in a radiological environment. ode-ray disks,
They tube
are:
(CRT)
5, magnetic tape, In order to acquire
is necessary memory. entered
that
be resident
to create
of a typewriter
previously such
or CRT
entered
as a disk
cartridge
in the
a new
program,
and
line-by-line
it
processor it must
via
If the
is stored
or tape,
4, floppy
a computer,
terminal.
and
2, cath-
disks,
and 6, line printers. or process data with
character-by-character
has been
terminals,
3, magnetic
a program
If one wishes
keyboard
device
1, typewriter
terminals,
be the
program
on a peripheral
it can
be read
from
the device into the memory by typing a single command from the keyboard. The keyboard terminal may be regarded as a primary start-up
on other
Volume
5, Number
1
January
1985
communications
a system
peripheral
initially
devices
RadioGraphics
device, and
to call-up
(Figure
since software
6). The
usual
it is used that
to
resides
procedure
17
Hardware
Figure
and
Software
Simmons
Fundamentals
et al.
6
(A) A typical remote computer terminal and (B) detail of its keyboard and controls CM = color monitor; B/WM = black and white monitor; M = menu screen monitor; K = keyboard; S = on/off switch; C = contrast enhancement control; B = background subtraction control; J = joystick; E = new line key (execute command). The terminal illustrated is designed for nuclear medicine and is manufactured by Medical Data Systems (Ann Arbor, Ml). It is representative of terminals being offered by a host of different manufacturers for radiologic applications.
For the benefit of any readers who may not actually have had occasion to use a computer terminal and who find cornputer jargon a bit vague, the following description of the use of this terminal is included. The description applies specifically to a Medical Data Systems terminal. Other terminals may accomplish the same ends by other and equally effective means (See Cradduck and Busemann-Sokole, page 71).
A
B
18
RadioGraphics
January
1985
Volume
5, Number
1
Simmons
et al.
Hardware
and
Software
Fundamentals
In order to access the main frame computer, the remote terminal mustfirst be switched on by ttowin switch S. Once this is done, the question, “What master partftion name?” appears on the menu screen monftor M. To reply, the operator types on the keyboard K a 4 character code that is arbitrarily chosen at the time of installaben and that acts as a password. He then strikes the “new line” key E, which causes the command to be executed. A “Home Menu” (BC) then appears on the menu screen monitor. This “Home Menu” consists of generic terms for the various computer functions, each preceded by a two letter code. For example, “AC.Acquisition; DI-Display”, etc. By striking the appropriate code letters and the “new line” key, the operator brings up a more specific menu on the menu screen monitor. Thus, typIng Dl plus “new line” brings up a Display Menu which includes among other entries, “STStatic image display; SX-Sixteen view static display”, etc.; whereas, “AN plus new line” brings up the Analysis Menu (60) which includes “IM.Image manipulation, and RI-Region of interest selection”, among other options. Menus in this second level of the hierarchy; i.e., Acquisition, Display and Analysis Menus, are subdivided and indude a section on “Patient Functions” (6D). To access the data of the particular patient in whom bela interested, the operator follows a procedure similarto that described above. Typin9 “l.P plus new ins” brings up a list of patients whose data is in memory.Each name is linked to a numeric code. Again entering the code plus “new line” brings up the name of the indMdual patient and lists the studies on file.By typ-
ing in the appropriate codes on progressively more specific menus,the operator can access in turn the patient, the type of study and the frame of the particular study that he wants to operate on. The image appears on the black and white, B/WM, and color, CM, monitors. Once the data to be operated on has been identified, the computer automatically reverts to the “second order” (Display, Analysis, etc.) menu, and the op. erator, by typing appropriate code letters plus “new line”, calls up progressively more specific function menus (6E and 6F) until he ultimately is able to identify procisely the function he wants to have performed. Uftimately, the final, most specific menu (F) includes a section on “Program Control”. Typing “GO plus new line” then causes the selected function to be performed on the selected data and the resuft appears on the black and whfte and color monitors. Figres BC, D, E and F represent the succession of menus “called up” by the operator to cause the computer to perform the function of “Activity Curve Generation” on whatever data he has identified for analysis. Had one of the “Create Regions” codes been entered instead of “CG.Curve Generation,” and had the operator responded to a subsequent frame by identifying an anatomic area, a cursor would have appeared on the displayed image and the desired region of interest could have been drawn with the joystick, J. (Figures 6C, D, E and F courtesy of Cradduck and Busemann.Sokole)-Ed.
is to mount ware, push
software
section
resides municate
in the with
terminal
and
a disk cartridge that contains some buttons on the processor
so-called “bootstrap” reads a “monitor” collection tem.
“
Volume
program from the disk which, in turn, or “executive” program that is part of a
of individual The
terms
5, Number
the desired softconsole to read a
programs
in quotation
1
January
called marks
1985
an “operating are
defined
RadioGraphics
sysin the
sides
of this chapter.
Once
primary memory, the the computer processor can
on the disk. A keyboard
call-up terminal
any may
executable also
the monitor
program
operator can cornvia the keyboard program be used
that
re-
as an output
19
Hardware
device;
and
e.g.,
Software
displaying
Fundamentals
text
Simmons
on a CRT
terminal
in word processing applications. Typewriter terminals are sometimes used for outputting program listings during software development and for generating hard copies of clinical data. They present a serious drawback for such applications,
however,
because
they
are “serial”
devices;
i.e.,
they type one character at a time, and the time required to output voluminous data or long program listings is excesA much
better
printer,
it prints
device
which
an entire
in the range of typewriter
for generating
is a “parallel” line at once.
of 300-600 terminals
second,
which
minute. whether
The decision or not the
corresponds
hard
device. Parallel
lines per is typically to
to purchase system will
This
means
line printers
minute, 180-200 about
copies
that
operate
while the characters
100-150
is a
lines
speed per per
a line printer depends on be used for large volume
STORAGE
DEVICES
Bulk storage is necessary because the primary is usually not sufficient to contain all of the data in a clinical study. For example, some systems
memory collected used for
digital radiography have as much as 2.2 million bytes of primary acquisition memory available; but this is sufficient to store only 8 frames of 512 X 512 byte data, which is less than
sive. line
BULK
for editing
et al.
0.3 seconds
total
another example, most today have a maximum available
for data
acquisition
time
at 30 frames/sec.
nuclear medicine computers of 248 kilobytes of primary
acquisition
8kB of the 256kB
(about
are required for resident software). in a 128 X 128 byte format, only
As
in use memory total
If one is recording 15 frames
data
(248,000/1282
This
15) can
be contained in the 248kB of primary memory. is not nearly enough for most dynamic nuclear medi-
=
cine
studies.
software development or routine output of clinical data onto hardcopy. If so, a line printer should be seriously considered. If the user writes only occasional short routines, a high speed
both data
in digital angiography and nuclear medicine, to write onto a bulk storage device during acquisition. The most often used bulk storage device for recording
typewriter
data
“on-line”
terminal
will suffice.
It is, therefore,
is the magnetic
A)
necessary
disk
in dynamic
(Figure
MAGNETIC
7A).
studies,
The
mag-
HEAD
.
MAGNET1C
DISK
) MOTOR
B)
Flgure7A&B (A) Schematic drawing of the magnetic disk The disk rotates while magnetic read/write heads are positioned radially over the disk in order to detect the varying magnetic fields that represent digital information. (B) Schematic drawing ofa multiple platter magnetic disk drive Several magnetic disks can be mounted on a single spindle. Multiple heads move together to access both sides of each disk, permitting increased storage compared to single disk systems.
20
DISK
I
DISK
2
DISK
3
MOTOR
TO
CPU
RadioGraphics
January
1985
Volume
5, Number
1
Simmons
et al.
netic
is coated
disk
Hardware
with
a material
that
can be magnetized
and demagnetized by a minute electrical current. Once it is magnetized, the magnetic state can be read by an electric coil positioned near the disk. This gives the magnetic medium the ability to store “on-off” magnetic states that correspond to the binary numbers 1 and write head can store digital information ones
and
zeros
on the
magnetic
0. A magnetic by writing
surface,
and
read/ series of
can
detect
digital information previously recorded on such a surface. The head can be moved randomly to different parts of the disk by a positioning mechanism as the disk rotates, so all parts
few
years
medicine
and
together
real-time
digital
the magnetic
head
very
quickly.
By stacking
under
several
platters
on a single rotating spindle, it is possible to access both sides of each platter with a single moving positioner (Fig. 7B). By reading or writing information on more than one side at a time,
much
a single
more
information
can be transferred
than
from
platter.
On-line recording flopping between two
of data is accomplished regions of primary memory,
by flipsay re-
gions
region
the
A and
previously vice-versa.
B. While
A is accumulating,
recorded in region B are This method prevents
“dumping”
time.
The
“disk
write”
data
read to the disk, and data losses due to
speed
places
a limitation
disk technology in the future. Magnetic disk
drives
available
wrote
per bit (about writing speed
CT
applications,
angiography.
offers
at a speed
12 microseconds was sufficient
for
but
al-
precluded
Magnetic
a 2.5 MB
purchase
disk drives
fluorography
disk
have
system
capable of storing at 30 frames/sec.
of even
faster
increased
dramatically
For an investment
that would
drive
of 80-100
drives
the promise
drives
as well as speed.
bought
a few
years
ago,
MB capacity.
is available
73 seconds
with
one
disk in have
can
now
In fact, one digital
a 677 MB disk capacity
of 512 X 512 angiographic
data
Rigid disk systems are relatively inexpensive for the amount of storage they provide, but they can be less reliable than the all-electronic main memory. Since the disk system contains mechanical parts, there can be problems associated with these. A potential problem is that the platters and heads must be kept scrupulously clean. Special filters and an airtight container around the platters and heads help to keep out
dust,
but
sometimes
dust
and
get into the sealed chamber. heads, which normally are
SECTOR
Fundamentals
are now available with writing speeds of about 1.5 X 108 sec per bit; this is sufficient to write 512 X 512 data in /o sec.
capacity
of the disk to come
fastest
1.5 microseconds byte). This disk
nuclear
per minute
all parts
ago the
of about per 8-bit
Laser drives
permits
Software
on the frame rate. The minimum acquisition time per frame can be no less than the time required to write one frame of data onto the disk. Since disk technology changes almost monthly, the writing speeds are continually increasing. A
of the disk can be accessed by the magnetic head. Hard disks are designed to be rigid like a phonograph record. The disk platter spins at several thousand revolutions which
and
above result
the rotating platters, is called a “head crash,”
the head
cuts a groove
both the head and platter is generally
other
small
particles
can
When this occurs, the disk positioned just micro-inches may contact the platter. The and since the disk is spinning,
in the magnetic
the platter. The not recoverable.
material,
damaging
information
stored
on the
Hard disk systems are designed in two ways. Some permit removal of the disk so that another disk with other information on it can be mounted in the drive. The ability to remove and
the disk tends
the removal
contamination disk
even
spins.
many
The
disk
great
cartridges
DISK Figure 8 Magnetic length
in a fixed
Volume
is greatly
disk platter
showing
track
within
block-length
5, Number
sectors
a sector
and
constitutes
tracks one
format.
1
January
The block
of this moving compared
1985
RadioGraphics
and
removable
type the
the disk
filtered
advantage
Since
and
with
while
the disk platter the platter of either
of the same
disks
a single cannot
size.
to the
is that
drive. and
heads
are
be removed,
the heads
the disks can be designed disks
the heads
air is present
of removable
be used
of contamination
reduced
than
though
designs,
the drive.
the likelihood
PLATTER
data
of a single
into
the cost of the disk drive
exposes
can
In nonremovable
sealed
to increase
of a disk
or platters
to hold A popular
more drive
is the Winchester design. Mechanisms for redisks are not required, resulting in lower cost to removable
disk
systems.
21
Hardware
and
Software
Magnetic certain
disk
number
dially
from
surfaces
The
are
of pie-shaped
the center
length
usually
formatted
sectors
of the
circular tracks similar ord, except that each spiral.
Simmons
Fundamentals
disk,
(Figure
with
into
8) going
ra-
number
of
a fixed
to the grooves on a phonograph track is a closed circle rather
of a single
track
within
a
recthan a
one sector
consti-
of disk space. Peripheral “blocks” are obthan central “blocks,” but both are traversed
tutes a “block” viously longer
by the head in exactly the same time, and both contain the same number of bits. The packing density (bits/cm) is, of course, much higher for central than for peripheral blocks. The block is the smallest division on the disk surface that can be addressed by the CPU. Block lengths are typically 256 words or 512 bytes, although some systems use variable block lengths. Any block can be accessed directly by the disk read/write
heads
reason,
by means
the magnetic
of software
disk is called
commands.
For
a “random-access”
this
device
as opposed to a magnetic tape drive which is a “serial” device and must, therefore, read and write sequentially. If a facility has need for long-term storage of clinical
data,
less expensive
media such as magnetic tape disks may be recommended. The latter gets its the flexibility of the disk which resembles a 45 graph record. The magnetic medium is bonded mylar disk that is held in a flexible cover. The within
the cover
which
the disk
is removed
permits
the head
touches
the
about
high tape
the drive.
contamination
An opening
to access the disk surface.
‘ho as fast
disk
so there
as the hard
tape
because
is a suitable
The
is wear
when
in the cover head
on the
actually head
compared to hard disk the disk at 300 rpm, or
mylar
one side. A read/write the tape by detecting is moved
over
material
with
for archiving relative
digital
to disks,
a magnetic
has
compound
head can read the information the magnetic state on the tape. the head,
information
one byte the tape.
at a time on parallel tracks Tape drives can be designed
densities
on the tape.
A 2400
foot
reel
is written
on from As the
or read
that run the length of to write with different (the
usual
maximum
Nine-track
per unit length and complex. magnetic
tape
of tape, offers
but
they
the advantage
are
also
of being
the only medium for which there is an industry “standard”, format. This means that data or programs from a tape re-
22
drive
can
be read
on any
software
from
other
sites
and
data. One word of caution-being transfer its contents to a different
antee
that the data or if it is software, system. Differences
other
industry-
between
unlike
required
to make
is akin
clinical
by the second computer; will run on the second environments may not
from one file format to another. allows only the transfer of data
systems, the
to exchange
able to read a tape and computer does not guar-
can be processed that the programs in the software
allow it without converting Magnetic tape compatibility
and
file
additional
formats
software
compatible.
may
The
to the copying of a manuscript by a person who or speak the language in which it is written. can be transcribed, but their interpretation
quires
a person Floppy
retrieve, patibility
who disks
knows
own encoding and formatting recorded on one type of drive
whereas
magnetic
a tape
all the way
through
be time
portant
consuming. the same
depends
disk.
are easy
to store
tape
that
or not
head,
stored.
that
storage
detect the presence a metallic material
device.
optical
Playing end,
choice
cost
generally
will experience data
can
disks
compatibility
is similar disk
floppy
The
of clinical
of detecting the
and
industry
this device
instead
do offer one imporare random-access
is a serial tape
to the user. An emerging technology Conceptually,
for comuses his
to get at a file at the very
per unit of data
for archival
and
scheme, and as a rule, disks cannot be read on any other
Magnetic
on whether
except
shaped shines
and
software. Floppy disks over magnetic tape-they
devices,
does The re-
the language.
are convenient
but they are the worst possible medium with other systems. Every manufacturer
without special tant advantage
be
situation
not read characters
read/write
size) written at 1600 bits per inch (bpi) will store about 46 megabytes of data, while the same reel at 6250 bpi would store 180 megabytes. The higher density drives permit more archival storage more expensive
acquire
in the future
disk drives. medium
it is inexpensive
on one
compatible drive provided the densities (bpi) of the drives match. The obvious advantage to the user is the ability to
about
and,
capacity, long life, and is easy to use and store. Magnetic is very similar to the tape used in home audio systems;
it is a flexible
tape
it from
the disk spins slowly floppy drives rotate
Magnetic
information
from
rotating
for this reason, systems. Most
protects
or “floppy” name from rpm phonoto a flexible disk rotates
corded
et al.
is imgrowth
is the optical
to a magnetic
disk
magnetic changes with a drive has a laser system to
or absence of minute that is sandwiched
holes burned between two
plates of glass or plastic. As the disk on the disk surface. Its light is reflected
into disk-
rotates, a laser to a photocell
detector where no holes are present, and does not reflect where a hole exists. An important characteristic of the optical disk, at the present stage of development, is that once something is written onto the disk (by burning holes), the information is permanently stored, so the optical disk is a medium that can not be erased. This would be a disadvantage were it not for the fact that a single platter 14 inches diameter can store more than 1 billion bytes of information at a cost much lower capacity. Furthermore,
than a magnetic disk system of similar the disks are expected to have at least
a 10 year life span making data. The design of optical
RadioGraphics
in
January
them disk
ideal for archiving patient systems makes them rela-
1985
Volume
5, Number
1
Simmons
Hardware
et al.
TABLE STORAGE
CAPACITY
MAGNETIC
DISK
OF
Software
Fundamentals
I
SOME
SYSTEMS
TYPE FLOPPY
and
SIZE (inches)
DISKETTE
8
DISK
SINGLE HARD (Nonremovable)
DISK
(bytes)
400,000 400,000 1,500,000
3 5I/4
SINGLE HARD (Removable)
STORAGE
-
1,200,000
10,000,000
4
5,000,000
31/2
MULTI PLATTER HARD DISK (Removable)
14
300,000,000
MULTI PLATTER HARD DISK (Nonremovable)
14
675,000,000
STORAGE CAPACITY OF HALF- INCH REEL TO REEL MAGNETIC TAPE -
.
LENGTH
DENSITY 1600
BPI
6250
BPI
STORAGE DISK
CAPACITY
600 1200 2400
23,000,000
600 1200 2400
45,000,000 90,000,000 180,000,000
( bytes)
I 1,500,000
46,000,000
SYSTEM
SINGLE DUAL
5, Number
STORAGE
OF OPTICAL
TYPE
Volume
(feet)
1
SIZE
SIDE SIDE
January
1985
RadioCraphics
(inches)
STORAGE
(bytes)
4
I ,000,000,000
4
2,000,000,000
23
Hardware
tively
and
immune
fast as with floppy
Software
Simmons
Fundamentals
to the effects of dirt. Access speed is not so the fastest magnetic disks, but is faster than with
disks or magnetic
tape.
Data
can be transferred
computer’s memory at speeds that are comparable achieved with magnetic disk systems. Read-write can be used over and over like magnetic disks development. Table different
I compares bulk
the
storage
video
Display
The display device for clinical imaging signal
operational
to the
to those disks that are under
characteristics
Synchronization Signal
of
devices.
Image
used
et al.
Devices
on virtually applications
is generated
through
all computer systems is a video monitor. The a “video
controller”
Figure 9 Block diagram digital-to-analog
of a video convertor.
display
system
The
DAC is a
via
software instructions from the CPU or other control device (such as an ROM chip). Figure 8 shows a block diagram of a typical video display system. a “digital-to-analog” convertor function of the analog-to-digital interface. The conversion back to display the numerical image on a monitor.
The box labelled “DAC” is that performs the reverse convertor in the acquisition to analog is necessary in order
matrix
IN
SELECTION
DISPLAY
play
as a gray
tone
or color Display imag on monitor
FACTORS
Some
data
important
Form scaled image matrix
I
OF
DEVICES
factors
to evaluate
relative
Translate scaled image data into intensity points
to the dis-
are: Figure 10 Steps In displaying Images uously as long as a particular
1, Display resolution: The display resolution number image. that
of pixels It depends
is dedicated
2, Number of gray This is determined
determines
the
that can be displayed primarily on the amount to operating
troller
into
3, Availability Windowing displaying
256
the display.
in
etc.
of “windowing”: is the term only
a portion
contin-
maximum
levels or color bands available: by the number of bits available
levels,
The process cycles image is displayed.
in a single of memory
the video controller for performing the scaling function; i.e., a 7-bit controller can divide any range of numbers into 128 (2) different levels, an 8-bit con-
given
to
of a digitized
the
process image.
of Win-
dowing may be applied two ways; in the first, limits are applied to the range of matrix numbers to be displayed, such as optical density values, counts per pixel
24
Call image matrix from display memory
!,,,II,
65
126
192
0
1
2
54
567
504
0
7
7
270
345
476
3
4
6
original
matrix
scaled
na4rix
Figure 11 An example of linear scaling using a 3 bit display controller The range of raw data numbers is divided into 8 (2) equal parts.
RadioGraphics
January
1985
Volume
5, Number
1
Simmons
et al.
Hardware
in nuclear acoustic
images,
CT
intensity,
numbers,
etc.
Ti
An example
and
T2
in which
values,
display
this kind
except
of windowing numbers have
is essential is CT scanning. Since CT a possible range of ±1000, it is necessary
to display
a portion
only
of the maximum
range
time to prevent loss of contrast resolution. mum number of different CT numbers displayed without reducing the contrast
small
can
areas
also be applied
of a digital
image
The maxithat can be resolution
in a spatial
sense;
can be enlarged
windowing
is sometimes
that
equivocal
appear
helpful
i.e.,
to fill the
entire monitor viewing area. A combination windowing and display dynamic range in evaluating
The
1 1. The through
gray-level
scaling
function
areas
image.
is illustrated
example is for a 3 X S image a 3-bit video controller (8 grey
dimentary
display
images,
system
of course,
function. The
but
scaled
would
it is suitable
matrix
values
not
be used
for
clinical
are determined
by dividing
subrange.
original
Each
subrange
scaled example
levels
equals 0-70
subrange 1, etc. through in Figure 11 is a linear
scaling possible example
how
the
use of color
into
number colors
thinking
real
In addition
differences
artificial
to conventional
isocontour
maps
Volume
5, Number
of displaying and
isometric
1
January
of interest
This from
matrix matrix,
intensity other projections.
1985
parts
some
regions
means
of interest
is required
for obtaining
of an image
(e.g.,
as input
are used so extensively
in video
game
systems
all points
on its boundary.
Software
allow the data within the defined region processed separately from the remainder
to be of the
image. pens
interact
screen.
A beam
screen.
As the electron
of light
beam
the location beam
directly
Both multiple in more
joysticks
with
is pointed
in the monitor
of the light
the
beam.
x-y coordinate
and
the
light
video
at a desired
in memory. Regions of interest connecting straight line segments within the entire region.
scans Upon
interruption
is marked
allow
on the
the screen and
must be formed or by marking
pens
monitor
location
stored
either by each pixel
for the selection
regions within the same image. They detail in the chapter on CT and MR
Array
they
do not.
level
displays
parameters
In
of
are discussed imaging.
These
modes
RadioCraphics
as of
processors to perform
are used
in such
are
Processors hardware
advantage interpreted
devices
that
are
algebraic
operations
on matrix
systems
as transmission
and
CT scanners and MRI units in which petitive calculations are performed
device
most such
Array They
value of 141 would while the original
when
function,
to identify
function
selected
by marking
commands read and
grammed
boundaries
the adverse effect of discrete color bands, should be used in color display systems.
are capable
data
display
to the construction of time-varying curves) and for spatial windowing purposes. Two devices that have received widespread use for creating regions of interest are joysticks and light pens.
and exponential) are also It is easy to see from the
exist
be available.
numerical
INTERACTION
the display
= subrange 7. The operation. Nonlinear
creates
to date
0; 71-140
142 would be scaled to the number 2. If the are contrasting, the effect can deceive one
order to minimize at least 256 levels systems
of the
subrange
498-560 scaling
operations (e.g., logarithmic with most display systems.
in displayed images. An original have a value of 1 in the scaled matrix adjacent
70 levels
scaled
application
DISPLAY
to the image with
of the light
by the a gray to each
Original
must
it detects
the scaling
the range 0-567 into 8 equal subranges (determined assumed 3 bit video controller; 2 8) and assigning level value (or hue in the case of color displays) matrix.
In addition of interacting
Light
displayed Such a ru-
for illustrating
FOR WITH
in Figure
matrix levels).
practical
Fundamentals
that most people are quite familiar with their operating characteristics. A stick-type handle or spherical ball is used to position a dot cursor on the monitor screen. By pressing a button the x-y coordinate of the dot is marked and stored in a certain section of memory. The operator defines a region
Note in Figure 9 the display memory which is separate from the CPU memory. This configuration avoids the need to monopolize the CPU memory to run the display. Figure 10 diagrams the steps in calling up and displaying a digitized image.
little
DEVICES
J oysticks
of spatial (contrast)
on an unwindowed
received
Software
in radiotherapy.
at one
inherent in the digital data depends on the contrast resolution of the CT scanner and on the number of gray levels the video controller is capable of generating. Windowing
have
and
prodata.
emission
a great number on matrix data.
of reTheir
is speed, since no software instructions must be by a CPU. The host computer or bulk storage merely
feeds
data
to the array
processor
which
does
the rest all on its own. It is treated as any other peripheral device by the CPU, and the computed images output by the array processor are stored retrieval and display.
on a bulk
storage
device
for later
25
Hardware
and
Software
A detailed is not within
description the scope
use is discussed
Simmons
Fundamentals
of array
processor
of this manuscript.
in the chapter
on CT and
(programs that must be resident in primary memory in order to use a device) as they are needed, etc. 2, execution of
technology
Their
design
MR
imaging.
and
computer programs, and control programs minimize enabling without
Software VENDOR
SUPPLIED
A diagram
System
of the software
system.
The
provided
operating
by the manufac-
system
to a “traffic control; i.e.,
may
analogous 1, system
cop. It has communicating
The
three main with the
operator resources
about work to be done, keeping track of available such as peripheral devices, loading device handlers
“
memory
_
_
Programs
such
as primary
memory,
most
important
program
and im-
jobs in a the com-
the CPU
and
pe-
and translator or another.
in the operating
system
while
they
are executing
but do not remain
A typical operating system storage to hold the software
there, requires that must
or Executive
UIIm
Program
Modules
Utility
to flow smoothly an operating system
devices; and 2, by invoking utility that all users employ at one time
thus conserving space. about 8 MB of primary
Monitor
Control _
operations In addition,
is the monitor or executive program most of which resides in primary memory any time the system is up and running. It controls the entire operating system and calls in other operating system programs from disk storage as needed (e.g., utility programs). These other programs reside in primary
be regarded
as being functions:
l*
resources
ripheral programs
hirer in a typical system used in radiology is shown in Figure 12. The combination of the monitor or executive program, the utility programs and the control modules comprises the operating
the computer interruption.
3, the management of data. The operator intervention, thereby
proves efficiency in two ways: 1, by scheduling multiuser environment; i.e., helping users share
SOFTWARE
puter Operating
et al.
J
High
Level
Language
p
Applications Software
1
L ] Assemb1e
Compilers
and/or Interpreters
Figure 12 Diagram of vendor
26
supplied
software.
RadioGraphics
January
1985
Volume
5, Number
1
Hardware
Simmons
et al.
be resident of calling
for the system in the monitor
beginning
its execution
to be up and running. program from disk is called
“bootstrapping”
ing” the system, and the program is called a “bootstrap loader.” Utility
programs
2.
that
perform
1. transfer files (other vice to another
The process storage and
performs
the following
programs
and
or “boot-
functions:
data)
from
and giving inadequate This is especially true
attention in nuclear
graphy
where
and
purchased. plications
this function
1,
ultrasound Some software software
puter
background
software
modify
program
“libraries”
of
individual modules that are used frequently in program development; by having them available in a iibrary they can be called and “linked” to other programs, thus avoiding repetitive rewriting) 4.
“link”
(connect)
modules
binary program or “executable” module. 5. other izing
functions
such
disks
tapes,
and
disk to eliminate deletion
from
modules, binary
program
libraries
and
vacant
disk
compressing
areas
that
packs, the
package
result
from
The
software
the
3, Are the source they
of
well
documented;
instructions
i.e., are
to allow
a comwithout vendor?
well
programs
available
documented?
to the user,
Source
programs
and
are
will be dis-
on a
supplied
selective
software.
should
This
modify
the
is not
software.
to imply To
that
the
all users
contrary,
most
upon
in the user-produced
prior
to purchase).
For those
who
Applications
Software
for sophisticated having access
applications to acquire
software the
process
consists data
ultrasound. different,
do have
the
development, programs
is a
vendors are even to so-
users.
of
for the
4,
for which the system was purchased. that the same operating system may be used in nuclear medicine, CT, digital
NMR and be altogether
software to the source
Are
the
compiling,
assembling,
available and sufficiently can successfully perform to modifying the source the compiler,
The applications softhowever, for the dif-
next
assembler
and
well documented, those operations programs? (The and
linker
linking
files
so the user subsequent functions of
are explained
in the
section.)
modalities.
the
gramming plications
Volume
written
must. It is a sad commentary that some unwilling to release their source programs
required
It is also the
made
the so-
cussed in more detail in the section on user-produced software. Suffice to say here that they are the modules required to make any modifications in the vendor-
A major effort should be spent in eva!applications software prior to purchasing a computer for clinical imaging. From the user standpoint this is the single most important component in the system. ferent uating
is to match to the capabilities
of this chapter.
specific applications It is highly likely used on computers radiography, ware would
thing
expertise however,
vendor-supplied
programs
important
software
sufficient
phisticated The
it is. If sufficient
users probably should not attempt such modifications (another reason to evaluate the applications software
4 are expanded
section
com-
software is best user-friendly a
puter operator to use the software effectively having to continually request help from the
of files.
3 and
much
of the user?
is available among the opersoftware structure may
of the software
2, Is the applications there
to ap-
personnel.
carefully Functions
how
on the part
is, the less efficient
level
available
initialfiles
and
is required
are often
relative
to
thus, creating a “runnable” module called a “load”
as formatting
“user-friendly”
be preferred.
(collections
computers
considerations
computer sophistication ators, a-”learned-command” phistication
and
Fundamentals
to applications software. medicine, digital fluoro-
“add-on”
important are:
Is the
Software
This does not imply that user-friendly in all situations. In general, the more
one de-
provide editing functions for program development, modification and “debugging” (correcting errors).
3. create
and
most
expensive
to develop
time required to develop software package. Serious
by selecting
5, Number
a system
1
based
January
because
of the pro-
a comprehensive aperrors are sometimes
on hardware
1985
specifications
RadioGraphics
5,
What
is the committment
port and software? system
use a standard
other applications is discontinued, written
of the company
continued development And a closely related
by
an
operating
to the sup-
of the applications question-does the system
that
could
run
software in the event a product line or is it a special operating system OEM
(original
equipment
manufac-
27
Hardware
and
turer)
Software
Fundamentals
for a specific
be supported
area
beyond
Simmons
of application
the
that
may
life of the product
not
line?
An “interpreter” module. Consequently, each
6,
Does
a mechanism
back
into
7, And
subsequent
of course,
does
the
clinical
exist
the
software most
applications work
for incorporating
feed-
releases?
important software
you wish
user
question allow
you
of allto do the
to do, and do it accurately
expeditiously? The software form at the time of evaluation.
should Time
and
be in complete projections given
by sales personnel for completing unfinished software packages should be taken with a “grain of salt. This last statement may appear harsh, but it is most unfortunately true with very few exceptions. “
time
the program
are examples
necessary for performing cluded in the interpreter, gramming. An important
If an applications most of the computer be provided.
software operations
when
one gets an idea of a different way to do something wants to write a program to try it out. For discussion
and pur-
program
invariably
package is chosen carefully, one needs to perform will however,
poses grams
There
SOFTWARE
comes
we may divide software and binary or machine is one
that
is written
a time,
into two groups; source prolanguage modules. A source in either
a “high
level”
lan-
guage such as FORTRAN or BASIC or a system dependent “assembly” language. Source programs are not executable by the CPU. To be executed they must be converted to a machine language or “binary” module in which the instructions are presented as strings zeros). The conversion programs pilers, interpreters, and assemblers.
of binary digits (ones and are of three types; cornA source program may
be defined as one that is input to one of the conversion programs. A compiler receives as input, a source program written in a high level language such as FORTRAN and converts it into an executable binary module that can be stored permanently on a bulk storage device. Hence, the compiling operation must be done only once for each source program. Such a language is convenient for the user, because the subroutines and matical operations module created
subprograms required to perform matheare stored in a “library” and the binary by the compiler is “linked” with those li-
brary
required
modules
to
execute
the
program,
thus
forming a complete executable binary module that can be stored permanently on a disk or tape. Most of the intricate, detailed programming required to perform complicated mathematical functions is, thus, eliminated with a high-level compiler language.
28
a permanent binary must be interpreted
Some
versions
language.
The
of BASIC subroutines
mathematical operations are inthus providing for ease of prodistinction between compilers and
interpreters is the fact that the compiler need not be loaded into the CPU memory to execute compiler-generated programs, whereas, the interpreter must be resident or no execution is possible. For this reason the memory “overhead” is much higher for interpretative languages in the sense that they are more wasteful of CPU memory. The execution time is longer struction
as well for is interpreted
sational DEVELOPED
is executed.
of an interpretive
of the interpreter USER
does not produce each instruction
et al.
and
interpreter at run
time.
languages
require
programs, since The advantage
is that
they
less programming source
“assembler”
the conversion
performs
binary module. The particular computer machine
language
more
expertise
compiler languages. “Assembly” language that
are
each inof most
programs
conver-
than
do the
are input
assembly language instructions bear a direct correspondence
(binary)
to an
to an executable
instructions;
for a to the
the difference
being
that the assembly language uses an alphabet mnemonic code to represent the binary instruction set. Because of the oneto-one
correspondence
machine gramming
between
memory requirements In applications acquisition language, level
assembly from both
standpoints. software used
language
languages
is not
tolerable
proand
imaging,
data
in medical
for the
are also written Many applications
in assembly software
high-level
and
assembly
cessing. The gramming
main are
language packages language
in assembly with highrates
successfully often those
encounusing modules
for the sake of speed. use a combination of programs
for data
pro-
disadvantages of assembly language prothe level of expertise required to write or
programs
programs computer
data
be done but very
and
language the run-time
programs are nearly always written because the time overhead associated
tered. Data processing can high-level language programs,
modify
assembly
language instructions, is the most efficient
and
the time
required
to do so. High
can be written by neophytes with knowledge. Assembly language
level
a minimum programming,
of
to be efficient and reliable, must be done by bona fide experts in whatever assembly language the system uses. The user must be aware that he may not be able to modify assembly in-house. with which
language routines unless such Applications software should,
extreme
care
the system
RadioGraphics
to be certain
a person therefore,
it performs
is available be chosen
the functions
for
is intended.
January
1985
Volume
5, Number
1
Simmons
et al.
Hardware
The following between high-level
example is presented and assembly language
Suppose
to write
defined
one wishes values
a routine
of the variables
by C with the result stored SWER. The PDP-1 1 assembly lows: MOV
#0.,
A,
variable version
the sum name ANis as fol-
;Initialize the variable under which the result is to be stored
ANSWER
equal
;Add
B
A to B and
B, C
MOV
C,
store
;Multiply B by C and result in C
ANSWER
the value
;Move
variable The
same
operation
written
ANSWER
in FORTRAN
ANSWER ANSWER
Volume
5, Number
1
=
=
January
the result
store
the
of C into the and store it is:
RadioGraphics
Fundamentals
same
form
hence
the name
to execute, however, because the addition and operations are done by accessing modules that
have
FORTRAN
been
version
FORmUla
take longer multiplication
from the FORTRAN library to the main program.
The
as the mathe-
for the language.
previously
would
linked
Readings 1. Capron HL, Williams BK. Computers and data processing. Benjamin/Cummings, Inc. Menlo Park, CA, 1982. 2. Barden W. How to buy and use minicomputers and microcomputers. Howard W. Sams & Co. Indianapolis, IN, 1977. 3. Spencer DD. Computers and programming guide for engineers. Howard W. Sams & Co. Indianapolis, IN, 1973. 4. Vickery BL. Computing principles and techniques. (Medical physics handbook; 2). Adam Highier Ltd, Bristol, England, 1979. 5. Carrick A. Computers and instrumentation. Heyden & Son Ltd., 6.
(A + B)C
has the
for the operation,
(set
in
Software
TRANslation
Philadelphia,
0.0
1985
formula
to 0)
B MUL
statement
FORTRAN
matical
the previously
A and B and multiply
ANSWER ADD
to add
under the language
The
as a comparison programming.
and
1979.
Liberman DE. Computer nuclear medicine. C.V.
methods; Mosby,
the fundamentals 1977.
of digital
St. Louis,
29