Computer Hardware and

Computer Hardware Software and Fundamentals Guy H. Simmons, Ph.D. Nuclear Medicine Administration Veterans Service Medical Associate Profess...
Author: Claire Park
60 downloads 0 Views 2MB Size
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