© Copr. 1949-1998 Hewlett-Packard Co.
Improved Accuracy and Convenience in
Oscilloscope Timing and Voltage
Timing measurements are made more easily and accurately
with the dual-delayed sweep of a new oscilloscope. An
internal microprocessor gives direct readout of time or
voltage, greatly simplifying measurement procedures.
by Walter A. Fischer and William B. Risley
that the oscilloscope is the most useful of test
instruments. They do not customarily expect a high
degree of precision in an oscilloscope, however, and
accept the 3 to 5% accuracy that most oscilloscopes
provide. The exception has been timing measurements.
Engineers concerned with measurement of very
short time intervals such as rise times, propagation
delay, clock phasing and other high-speed digital
events depend on the oscilloscope for their timing
measurements. To get accuracy in these measure
ments they have had to order instruments with spe
cial CRTs and specially linearized sweeps. But even
with the best of conventional oscilloscopes, a major
source of errors still remains in the measurement
technique. The engineer either has to count graticule
lines from one point on a waveform to another or, for
better accuracy, he has to position the starting point
at center screen with the sweep delay control, write
down the control setting, position the stopping point
at center screen, write down the new control setting,
take the difference between the two readings, and
multiply the result by the main time base setting to
get the answer. Although 1% accuracy can be ob
tained this way, the procedure obviously has the po
tential for many errors.
To eliminate this bother and at the same time to im
prove accuracy, a new technique has been developed
for the new HP 1722A Oscilloscope (Fig. 1). This os
cilloscope displays two intensified markers on the
waveform (Fig. 2). The operator positions the first
marker at the point where the time interval measure
ment is to start and the second marker at the stopping
point. A LED digital readout, automatically scaled to
the time base setting, then displays the time lapse be
tween the markers directly. The technique is fast and
accurate, and it considerably reduces the chance for
human error — there is no need to count graticule
lines or calculate results from readings.
Voltage Readings Too
Better timing measurements are only one of the
new capabilities of this instrument. It also makes fre
quency measurements and does so quickly by auto
matically converting a period measurement, made
with the use of the markers, to frequency (f = 1/t). In
addition, it makes measurements on the CRT vertical
Cover: The LED numeric
display on this oscilloscope
is an essential part of a new
way of measuring very short
time intervals, such as the
propagation delay of a flipflop breadboarded here on
the HP logic lab. A descrip
tion of the oscilloscope and
the new technique begins on this page; the logic
lab was described last month.
In this Issue:
Improved Accuracy and Convenience
in Oscilloscope Timing and Voltage
Measurements, by Walter A. Fischer
and William B. Fiisley . .... page 2
Laboratory Notebook— An Active
Loop-Holding Device
page 11
A Supersystem for BASIC Time
sharing, by Nealon Mack and Leonard
page 12
Deriving and Reporting Chromatograph Data with a MicroprocessorControlled Integrator, by Andrew
S t e f a n s k i
p a g e
1 8
Adapting a Calculator Microprocessor to
Instrumentation, by Hal Barraclough, page 22.
£ Hewlett-Packard Company 1974
Printed m U S A
© Copr. 1949-1998 Hewlett-Packard Co.
V -Jb¿ A t
axis, presenting a digital reading of the average dc val
ue of the displayed waveform or the voltage differ
ence between any two selected points on the wave
form, such as the overshoot on a pulse. It can also de
rive the percentage of a part of a waveform with re
spect to the whole, as in measuring modulation on a
Several developments combined to achieve these
capabilities. The first development is the basic oscil-
Fig. 1. Model 1722 A Oscil
loscope is a high-performance
dual-channel instrument with
1.3 ns rise time, 50ilor 1 Mil/1 1pF
input impedance, sweep times to
1 ns/div, and the dual-delayed
sweep that provides higher ac
curacy, resolution, and conve
nience in time-interval measure
ments. Its LED display gives direct
readout of time intervals, frequen
cy (t TIME/, and voltage.
loscope, which is the same as the laboratory-grade
275-MHz Model 1720A Oscilloscope, an advance in
cost-effectiveness described in the September issue
of the Hewlett-Packard Journal1. The second develop
ment is a proprietary technique known as "dual-de
layed sweep", which gives the capability for more
accurate determination of time intervals. The third is
the microprocessor used in the HP hand-heW calcula
tors2, which is built into this instrument to derive
answers from the information the instrument provides.
Dual-Delayed Sweep
Fig. 2. Two markers are positioned to indicate the start and
stop regions of a time-interval measurement and the digital
readout shows the time interval between the markers. The
example here shows the pulse width to be 18.80 ¿is
The basics of the dual-delayed sweep are shown in
Fig. 3. The delayed sweep circuit itself is conven
tional but it can be started by either of two compara
tors. These are enabled alternately such that the de
layed sweep starts on one main sweep when the
main sweep ramp reaches the El level, and on the
next sweep when the ramp reaches a level equal to
E, + EAt.
To make measurements using the dual-delayed
sweep, the oscilloscope is operated in the MAIN INTEN
SIFIED mode in which the main sweep drives the hori
zontal deflection system and the delayed sweep
merely intensifies the trace. The operator sets the
delayed sweep to intensify short segments of the
main sweep.
Ej and EAt are adjusted to place the two intensified
segments on the points of interest, as shown in Fig.
4a. Ej is set by the DELAY control and EA, by the
© Copr. 1949-1998 Hewlett-Packard Co.
Fig. 3. The dual delayed sweep
uses two comparators that are
enabled alternately. Comparator
A enables the mam sweep ramp
to trigger the delayed sweep when
the ramp reaches the E, level.
On the next main sweep, com
parator B enables the main sweep
to trigger the delayed sweep at a
later time when it reaches the
DEC-INC switches (Fig. 5) which, when held to one
side or the other, cause EAt to decrease or increase,
moving the right-hand marker to the left or right
along the waveform. The microprocessor reads the
value of EAt, converts it to the equivalent time interval
scaled according to the time base setting, and dis
plays the result.
Once the segments are positioned, higher accur
acy can be obtained by switching the oscilloscope to
the DELAYED SWEEP mode, which expands the intensi
fied segments to full screen width, displaying the
two segments overlapped as shown in Fig. 4b. The
operator can then adjust EAt to superimpose the two
waveform segments exactly, as shown in Fig. 4c. The
digital readout displays the time interval between
the two segments with 4-digit resolution which, on
the 20 ns/div sweep time range, can give 20-ps
The accuracy achievable by the Model 1722 A Os
cilloscope in time interval measurements is speci
fied conservatively as ±0.5% of reading ±0.05% of
full scale (full scale is 10 CRT divisions) on main
time-base settings between 100 ns/div and 20 ms/div.
When the time interval is equivalent to less than one
CRT division, however, the microprocessor automati
cally downranges, giving 10x greater resolution in
the reading. Accuracy then improves to ±0.5% of
reading ±0.02% of full scale (10 divisions). It is in
the measurement of very short time intervals that the
Model 1722A makes its greatest contribution to mea
surement accuracy.
Comparisons of the accuracy of the Model 1722 A
with that of a high-quality conventional oscilloscope
are shown in Fig. 6. Whereas the percent error is
about the same as a conventional high-quality scope
for time intervals approaching the full display width
of the CRT, the Model 1722A is superior for very
short time intervals.
Measurement accuracy is enhanced by the fact that
the start and stop waveform segments are displayed
simultaneously. With the segments overlapped as
in Fig. 4c, it would immediately become apparent if
Fig. the Oscilloscope. for making a time-interval measurement with the Model 1 722A Oscilloscope.
With the to set to operate in the VAIN INTENSIFIED mode, the DELAY control is used to posi
tion the DEC-INC brightened segment of the trace to cover the starting point and then the DEC-INC
switches are used to place the second segment over the stopping point, as in "a" (main sweep
time = 0.5 the and delayed sweep time = 20 ns/div). The instrument is then switched to the
delayed digital mode (b) and the DEC-INC switches used to superimpose the traces (c). The digital
readout in gives the time interval between the pulse leading edges with 4-digit resolution, in
this case 1.65 ¿¿s
© Copr. 1949-1998 Hewlett-Packard Co.
1 MO
r IN E
1 0
2 0
5 0
1 0 0
(a) Time Interval (ns)
; E C / S/ SEI C
E 9 . 5 D - B
(b) Time Interval in Div
Fig. 5. The microprocessor is activated by pressing one
of the function buttons <POSN. INPUT, TIME. ITME¡. li any oi
the oscilloscope controls are not set appropriately for the
measurement selected, the digital readout displays ".0".
sweep triggering had been affected by drift in the sig
nal. And, because the operator makes his measure
ment by superimposing the waveforms rather than
by noting where the waveform crosses graticule
lines, the CRT serves simply as a null indicator so
non-linearities and drift in the vertical and horizon
tal amplifiers do not affect measurement accuracy.
Accuracy is determined primarily by the sweep
ramp generator, which is accurate within 0.02%. The
delay potentiometer, which largely determines the
accuracy of measurements made by the conventional
differential delayed time base technique, does not
enter into the measurement. The accuracy with
which EAt is derived is better than 0.005% of full
scale, so EAt does not introduce significant errors into
the measurement.
Other Uses
The dual-delayed sweep gives added measure
ment flexibility to the oscilloscope by making it pos
sible to view two separate expanded portions of a dis
play simultaneously. In conjunction with the micro
processor, it can also be used as an indicator for ad
justing, say, a clock repetition rate to an exact value.
In this case, EAt is adjusted to cause the digital
readout to display the desired frequency in the i/TIME
Fig. 6. Specified measurement accuracy of the Model 1 722 A
Oscilloscope compared to a conventional high-quality oscil
loscope using the differential delay technique. Plot "a" is
for absolute values of time and plot "b11 is in terms of horizontal
deflection (in a range of 100 ns/div to 20 ms/div). The upward
discontinuity at 5 ns is where the accuracy specification
changes for sweep times shorter than 100 ns/div. The dis
continuity shown at 1 CRT division is where the micro
processor down-ranges to give ÃOx better resolution.
mode, which is interpreted internally as the desired
clock period. The clock repetition rate is then ad
justed to cause the two waveform segments to be
The dual-delayed sweep can also be used for mea
surements between points on two waveforms, such
as measurements of propagation delay. When the in
strument is displaying two waveforms in the ALTER
NATE SWEEP mode, the delayed sweep is started by Ej
when channel A is displayed and by E, + EAt when
channel B is displayed, giving the time interval be
tween the points selected on the two waveforms (Fig. 7).
The phase delay of a two-phase clock can be ad
justed, for example, by displaying the master clock
on one channel and the delayed clock on the other.
EAt is adjusted to cause the readout to display the
exact value of phase delay desired. The clock phase
delay is then adjusted to align the waveforms.
Measurements on the Vertical Axis
When the button labeled INPUT DC VOLTS (Fig. 5) is
pressed, the digital readout displays the average
© Copr. 1949-1998 Hewlett-Packard Co.
Fig. 7. In the ALTERNATE sweep
mode, the oscilloscope measures
the time interval between points
on two waveforms. Alignment ot
the two points on the same vertical
graticule, in this case the 50%
amplitude points as in the photo
at right, gives a precise measure
ment of time interval. (Main sweep:
0.1 fis/div; delayed sweep: 10ns/
div: time interval: 45.3 ns).
value of the input to channel A. The instrument then
functions as a 3V2-digit voltmeter with full-scale
ranges from 100 mV to 50V. If a 10:1 divider probe is
used, a front-panel switch compensates the reading,
giving full-scale readings from IV to 500V.
Pressing the REF SET button stores a reading as a
reference. The display will then show the difference
between the reference and a new voltage at the chan
nel A input. Normally, the REF SET button is pressed
while the input is grounded so subsequent readings
give absolute values. Since another voltage may be
used as the reference, differential readings are easily
The accuracy of dc voltage measurement, speci
fied conservatively as ±0.5% of reading ±0.5% of
full scale (full scale corresponds to 10 divisions even
though only 6 divisions are displayed), is dia
grammed in Fig. 8. As in the case of measurements
on the horizontal axis, the operator does not have to
count graticule lines nor multiply by range factors.
Accuracy is enhanced by the fact that unlike volt-
meters with decade ranges, the vertical deflection fac
tor ranges are in a 1 , 2 , 5 , 1 0 sequence, which makes it
possible to measure most voltages near full scale.
Pomt-to-Point Voltage Measurements
When the POSN (position) button is pressed, the
DVM circuits read the level of the position control
voltage. This makes it possible to measure the instan
taneous voltage of any part of a waveform through dc
substitution. To do this, a reference point on the
waveform is selected and brought to a convenient
horizontal graticule line (Fig. 9). The REF SET level is
pressed to establish this graticule line as the zero lev
el, then the position control is used to bring the
point to be measured to the same line. The digital
readout then displays the voltage level between this
point and the reference.
Since the reference can be set to any level, the tech
nique can be used to measure point-to-point voltages
on any part of a waveform. Here again, the CRT
serves simply as a null indicator with the reference
and measurement point both positioned to the same
graticule line, so vertical channel non-linearities, a
common source of oscilloscope measurement errors,
do not enter into these measurements.
9 10
Amplitude (div deflection)
Fig. 8. Curves show specified accuracy of the Model 1
Oscilloscope in voltage measurements (a and b) as com
pared to a conventional oscilloscope (c). Curve "a" is for
dc voltage measurements. Curve "b" is for point-to-point
© Copr. 1949-1998 Hewlett-Packard Co.
Fig. 9. Double-exposure photo shows how point-to-point
voltage measurements are made. The reference point is
first cen to a horizontal graticule line, in this case the cen
ter line (upper trace), with the vertical position control. The
REF SET button is pressed, and the other point is brought to
the same line (lower trace). The digital readout displays the
voltage difference between the two points .
and OAC
E, - E¿,
(To delayed
Fig. 10. Microprocessor related
Measuring Percent
Measurements of a voltage level as a percent of a
waveform are made by switching the channel A atten
uator vernier out of the GAL position. The vernier is
then used to establish a five-division separation be
tween the desired zero and 100% points of the wave
form on the CRT graticule. Next, the 7ern percent
level is positioned to a reference horizontal graticule
line, and the REF SET button is pressed. Positioning
any other part of the waveform to the reference line
then gives a reading of that waveform level in percent.
Besides quickly measuring such quantities as the
percent overshoot on a pulse, this technique is also
useful for defining percentage levels. For example, it
can show exactly where the 50% level is on a pulse
for consistent measurements of pulse width, or it can
define the 10% and 90% pulse levels for risetime
Enter the Microprocessor
There are a number of ways that logic may be
im plemented to perform these various functions.
The use of a microprocessor, however, turned out to
be the most efficient way in terms of hardware and
costs. It also provided a convenient means for broad
ening the capabilities of the instrument, such as en
abling the i TIME calculation.
The microprocessor developed for the HP hand
held calculators was an appropriate choice for this in
strument, primarily because it already had the means
for driving the digital readout. The decimal addersubtractor lends itself easily to the scaling problem,
and the internal flags of the calculator permit separat
ing and controlling the programs. The microproces
sor consists of the calculator's arithmetic-and-register and control-and-timing MOS/LSI circuits2 working
with two ROMs designed expressly for the programs
used in this instrument. The two ROMs contain a to
tal of 512 words.
A block diagram of the circuits related to the micro
processor is shown in Fig. 10. The initial problem
was to interface the calculator circuits to the oscil
loscope controls and to the digital-to-analog conver
ter that derives EAt. The front-panel controls serve as
the calculator "keyboard" with the controls encoded
and multiplexed to appear as keystrokes. As in the
hand-held calculators, the microprocessor con
tinuously scans the control settings to see what task
is called for (TIME, I/TIME, DC VOLTS, POSN, %) and what
range factors should enter into the calculations. The
input interface encodes the appropriate front-panel
control settings and these are presented to the micro
processor as particular memory addresses. Programs
stored at these addresses perform the indicated func
tions (compute time, increment, decrement, etc.)
The output interface converts the serial data to par
allel data for the digital-to-analog converter (DAC),
and retains it temporarily in buffer storage (the micro
processor uses words consisting of 14 BCD digits pre
sented serially on the data bus).
During a time- interval measurement, EAt (Fig. 3) is
stored as a digital number in the microprocessor. The
DEC-INC switches cause this number to be incre
mented or decremented, the size of the increment or
decrement being determined by which of the three
switches is activated. The digital number is con
verted to the equivalent dc voltage by the DAC.
The scaled value of EAt is presented in units of
seconds on the display in scientific notation (A x 10B)
where 10 is implied and only the exponent is given.
For example, 3.514 fj.s is displayed as 3.514 -6.
However, to simplify interpretation, only the values
9, 6, 3, and 0 are used for the exponent. With this ar
rangement, 128.6 ms would not be displayed as
1.286 -1, as it would be in pure scientific notation,
but as 128.6 -3, which is easily interpreted as milli
seconds. The same scheme is used for the display of
© Copr. 1949-1998 Hewlett-Packard Co.
Fig. 11. Flow diagram of a voltage measurement.
frequency and also for voltage, where the exponent
— 3 denotes millivolts.
A block diagram of the circuits involved in a timeinterval measurement was shown earlier in Fig. 3.
Not shown were the interfaces and the entries from
front-panel controls other than the time-base setting.
These other entries blank the digital readout if the
control settings are not appropriate for the measure
ment. This prevents the display of such ambiguous
information as would occur, for example, if the
sweep vernier were out of the GAL position, or if
MIXED SWEEP had been selected, or if the delayed
sweep TRIG LEVEL control were not in the STARTS
AFTER DELAY position.
Voltage Measurements
Voltage measurements are made by comparing the
input voltage Vin to a voltage derived by the micro
processor. The result of the comparison is reported
back to the calculator, closing the loop.
The derived voltage is stored as a digital number in
the microprocessor and converted to a dc voltage in
the DAC. The analog amplifier assembly provides
two pieces of information: (1) the polarity of the in
put voltage; and (2) whether the derived voltage is
greater or less than the input. In response to this in
formation, the derived voltage is incremented or
decremented until it is within one least significant
bit of the input. The value previously stored as the
zero reference is then subtracted from this value and
the result displayed.
To simplify the program and reduce the number of
processing steps, the derived voltage is obtained by a
successive approximation procedure. As shown by
the logic flow diagram of Fig. 11, at the start of a mea
surement the most significant digit is set to 5. If the
comparison shows this to be greater than the input,
the digit is decremented to 4 and the comparison re
This process continues until the comparison
shows the most significant digit to be less than the un
known. This digit is retained and now the next most
significant digit is set to 5 and comparisons made un
til the correct value for this digit is found. The pro
cess repeats for each digit until finally the derived
voltage is within one least significant bit of the input.
At most, only 20 iterations are required. The instru
ment makes about two readings per second.
If in the initial comparison the result shows the
most significant digit to be less than the unknown, it
is incremented upwards until it exceeds the un
known. It is then decremented one count before the
comparison switches to the next most significant
In a percent measurement, the microprocessor is
instructed to scale the measurement as 20V/div re
gardless of the attenuator setting. Thus, a voltage
equal to 5-cm vertical deflection is displayed as
100.0. A 5-cm deflection is thus equivalent to 100.0%
and all other voltage levels are displayed as a percent
of the 5-cm level.
High-Resolution DAC
The digital-to-analog converter obviously is a key
element in this system. Since measurement accuracy
depends upon its output, it needs superior resolu
tion and stability, but not necessarily fast response.
Available DACs that have the requisite resolution
and stability are quite fast, and also very expensive.
An alternate solution therefore was sought.
The DAC that evolved from this search is built
around a "rate multiplier", a device that outputs
pulses in proportion to the BCD number at its input.3
For example, if the number were 6, a rate multiplier
would output 6 pulses for every 10 input clock
© Copr. 1949-1998 Hewlett-Packard Co.
(140 kHz)
rate multiplier, which outputs 30 pulses. In the same
way, the rate multiplier for the least significant digit
outputs 2 pulses for every 10,000 clock pulses. The
pulses are interleaved such that 6432 discrete pulses
are supplied to the integrator, which outputs a dc
voltage proportional to the number of pulses.
Resolution is 1 part in 10,000.
Careful attention was paid to the design variables
that affect stability. For example, it was found that an
increase in ambient temperature slowed the pulse
transition times while at the same time slightly in
creasing pulse height. The clock repetition rate was
selected so these effects compensate each other,
maintaining the area under each pulse constant.
Overall stability of the DAC is 0.005%/°C, eliminat
ing it as a significant source of errors. Total cost of
the components, on the other hand, is of a very low
order (<$15).
The dual-delayed sweep concept was developed
by William Mordan. Product design was by George
Blinn, who rearranged the Model 1720A front panel
neatly to incorporate the added capabilities of the
Model 1722A. and industrial design was by Bill
Fischer. The authors also wish to acknowledge the
contributions of all those who developed the Model
1720A Oscilloscope1 used as the basis for the Model
1722A, including CRT designers Henry Ragsdale
and Ronald Larson and hybrid circuit production ex
pert Jay Cederleaf, and the many people in engineer
ing, marketing, manufacturing, and quality assur
ance who contributed valuable suggestions on what
form the 1722 A should take. 2
E.J, or
Vin (derived)
Fig. 12. Digital-to-analog converter achieves high resolution
and stability with inexpensive components.
1. P.K. Hardage, S.R. Kushnir, and T.J. Zamborelli, "Opti
mizing the Design of a High-Performance Oscilloscope",
Hewlett-Packard Journal, September 1974.
2. T.M. Whitney, F. Rodé, and C.C. Tung, "The 'Powerful
Pocketful': an Electronic Calculator Challenges the Slide
Rule", Hewlett-Packard Journal, June 1972.
3. See for example "Operation of the Digital Programma
ble Frequency Generator", Hewlett-Packard Journal, No
vember 1973, p. 14.
A block diagram is shown in Fig. 12. This includes
the storage buffers that store the parallel data derived
from the microprocessor's serial data (in BCD). If the
number stored in the buffer were 6432, then, for
every 10,000 clock pulses, the rate multiplier for the
most significant digit would output 6000 pulses.
This multiplier also gates the multiplier for the next
most significant digit so this multiplier accepts clock
pulses for 1/10 the time, thus outputting 400 pulses
for every 10,000 clock pulses. It in turn gates the next
© Copr. 1949-1998 Hewlett-Packard Co.
INTERNAL: dc to 100 MHz on signals causing 0.5 division or more vertical de
flection, increasing to 1 division of vertical deflection at 300 MHz in all display
modes. Triggering on line frequency is also selectable.
EXTERNAL: dcto 1 00 MHz on signals of 50 mV p-p or more increasing to 100 mV
p-p at 300 MHz.
EXTERNAL INPUT RC: approx 1 megohm shunted by approx 15 pF.
INTERNAL: at any point on vertical waveform displayed.
EXTERNAL: continuously variable from + 1 .0V to 1 .0V on either slope of trigger
signal, -10V to -10V in divide by 10 mode(^10).
AC: attenuates signals below approx 10 Hz.
LF REJ: attenuates signals below approx 15 kHz.
HF REJ: attenuates signals above approx 15 kHz.
TRIGGER HOLDOFF: time between sweeps continuously variable, exceeding one
full sweep from 10 ns/div to 50 ms/div.
MAIN expanded Intensifies that part of main time base to be expanded to full
screen adjust delayed time base mode. Delay and time interval controls adjust
position of intensified portions of sweep.
Model 1722A Oscilloscope
Complete specifications available on request
Vertical Display Modes
Channel A: channel B: channels A and B displayed alternately on successive
sweeps chan or by switching between channels at 1 MHz rate (CHOP): chan
nel A plus channel B (algebraic addition).
Vertical Amplifiers (2)
DC-COUPLED: dcto 275 MHz in both 50 ohm and high impedance input modes.
AC-COUPLED: approx 10 Hz to 275 MHz.
RISE TIME: -,1.3 ns
BANDWIDTH LIMIT: limits upper bandwidth to approx 20 MHz.
RANGES: 10 mV/div to 5 V/div in 1,2,5 sequence.
VERNIER: continuously variable between all ranges
INPUT RC (selectable)
AC AND DC: 1 megohm shunted by approx 1 1 pp.
50 OHM: 50 ohms ±2%.
AC AND DC: ±250V (dc + peak ac)
50 OHM: 5V rms or ±250V peak whichever is less.
Bandwidth and deflection factors are unchanged. Channel B maybe inverted
for A-B operation.
TRIGGER SOURCE: Selectable from channel A, channel B. or Composite.
Delayed Time Base
RANGES: 10 ns/div to 20 ms/div (20 ranges) in 1.2.5 sequence
MAGNIFIER: (0 to 55°C): same as main time base.
INTERNAL: same as main time base except there is no Line Frequency triggering.
STARTS AFTER DELAY: delayed sweep automatically starts at end of delay
TRIGGER: with delayed trigger level control out of detent (Starts After Delay)
delayed sweep is triggerable at end of delay period.
TIME two MEASUREMENTS: measures time interval between two events
on channel A (channel A display); between two events on channel B (channel B
display); or between two events starting from an event on channel A and ending
with an event on channel B (Alternate display).
Input - DC Volts (Channel A)
DISPLAY: light emitting diodes (LED).
• 1 RANGE: 100 mV to 50 V full scale vertical deflection (10 mV/div to 5 V/div).
• 10 RANGE: 1V to 500V full scale vertical deflection (100 mV/div to 50 V/div
with '10 probe).
ACCURACY: ±0.5% reading ±0.5% full scale (full scale = 10 cm), 20° C to
30 C.
STABILITY: temperature coefficient, <±0.02%/°C.
SAMPLE RATE: approx 21s.
REFERENCE SET: voltmeter circuits may be zeroed permitting dc voltage
measurements with respect to any voltage within selected range.
OVERRANGE: flashing display indicates overrange condition.
M a i n
T i m e
A c c u r a c y
Base Setting (-20°C to ±30°C)
100 ns/div to 20 ±0.5% of measurement ±0.02% of full scale for
ms/div measurements <1 cm. For measurements >1 cm,
±0.5% of measurement ±0.05% of full scale.
50 ns/div ±0.5% of measurement ±0.6% of full scale.
20 ns/div and 50 ±0.5% of measurement ±0.15% of full scale,
ms/div to 0.5 s/div
Position - Volts (Channel A)
"Starting after 3 cm of sweep.
(Channel A vernier in CAL detent.) With the following exceptions, specifications are
the same as Input - DC Volts.
MEASUREMENT: dc substitution method using channel A position control to
determine voltage of any point on displayed waveform using any graticule line as
DYNAMIC RANGE: ±6 cm from ground referenced to center screen.
REFERENCE SET: meter may be zeroed; permits instantaneous voltage measure
ments with respect to any voltage within selected range.
ACCURACY: ±1%reading ±0.5%offull scale(10 ' the volts/div range) measured
at dc.
RESOLUTION: intervals • 1 cm, -0.01% of full scale; intervals >1 cm, >0.1%of
full scale; maximum display resolution, 20 ps.
STABILITY: (0°C to +55"C): short term, <0.01%. Temperature, ±0.03%/°C
deviation from calibration temperature range.
1/TIME interval. calculates and displays reciprocal of measured time interval.
ACCURACY: same as Time Interval Measurements.
Mixed Time Base
Dual sweep base in which main time base drives first portion of sweep and delayed
time base completes sweep at the faster rate.
Position - % (Channel A)
(Channel A vernier out of CAL detent.)
MEASUREMENT: dc substitution method using channel A position control to
determine percent of any waveform point with respect to user defined 0 and
1 00% points.
RANGE: 0 to ±140% (calibrated with vernier so that 100% equals 5 div).
REFERENCE SET: voltmeter circuits may be zeroed to permit percent
measurements with respect to any waveform point.
Cathode Ray Tube and Controls
TYPE: post accelerator, approx 20.5 kV accelerating potential, aluminized P31
GRATICULE: 6 * 10 div internal graticule, 0.2 subdivision markings on major
horizontal and vertical axes. 1 div = 1 cm. Internal flood gun graticule illumination.
INTENSITY MODULATION: -8V ^50 ns width pulse blanks trace of any inten
sity, useable to 20 MHz for normal intensity. Input R. 1 kü ± 1 0%, Maximum input
- 10V (dc - peakac).
Horizontal Display Modes
SWEEP MODES: main, main intensified, mixed, delayed, and x 10.
RANGES: 10 ns/div to 0.5 s'div (24 ranges) in 1,2,5 sequence
MAGNIFIER: expands all sweeps by a factor of 10, extends fastest sweep to
1 nsdiv.
REAR PANEL OUTPUTS: main and delayed gates, vertical output.
TYPE: 1 kHz ~ 10% square wave.
VOLTAGE: 3V p-p ± 1%.
RISE TIME: <0.1 us.
POWER: 100. 120, 220, 240, -10% -5%; 48 to 440 Hz; 1 10 VA max.
WEIGHT: 29 Ib (13.2 kg).
DIMENSIONS: 13-3 16 W - 7-3/4 H ' 20 in. D. (335 < 197 * 508 mm).
PRICE IN U.S.A.: S4500
1900 Garden of the Gods Road
Colorado Springs. Colorado 80907
NORMAL: sweep is triggered by internal or external signal.
AUTOMATIC: bright baseline displayed in absence of input signal. Triggering is
same as normal above 40 Hz.
SINGLE: in Normal mode, sweep occurs once with same triggering as normal.
reset pushbutton arms sweep and lights indicator: in Auto mode, sweep
occurs once each time Reset pushbutton is pressed
© Copr. 1949-1998 Hewlett-Packard Co.
William B. Risley
A native of Trinidad, Colorado, Bill Risley earned an AB in
Physics at Princeton University in 1 968. He then went to work
at the Army's Fort Monmouth laboratories as a physicist
specializing in electronics but left two years later to do
graduate work at Colorado State University. On getting his
MSEE in 1972, he joined HP's Colorado Springs Division.
Spare-time activities include fishing and gardening. Bill
and his wife have a one-year-old son.
Walter A. Fischer
Walt Fischer joined the Boonton Radio Corp., then an
affiliate of Hewlett-Packard, in 1961 and worked on the 202J
FM/AM Signal Generator. He left the next year to fulfill his
military obligations but returned in 1964 and contributed to
the designs of the 3211 A Sweep Oscillator and the 3205A
Telemetry Signal Generator. In 1968 he accepted a position
as lab manager for an oscilloscope manufacturer but rejoined
HP in 1972, this time at the Colorado Springs Division where
he is now a group leader. Walt earned a BSEE at the Newark
Pniiogp nf Epg!ncerinn in 1961 and an MSEE at the same
institution in 1968. Free time activities include horseback
riding and skiing with his wife and two children, ages 13
and 11.
Laboratory Notebook
An Active Loop-Holding Device
For operation on switched telephone circuits, equipment
that terminates a line-pair must provide a dc path for the
holding current. The usuaJ holding device is an inductor, but
for a wideband precision measuring instrument, a prohibi
tively large value of inductance would be required.
For use on switched networks, an option for the Model
3770A Amplitude/Delay Distortion Analyzer provides for
the dc holding current without the use of any inductors (the
instrument normally presents an approximate 600Ã1 resis
tive impedance to inputs and outputs).
A diagram of the loop-holding device is shown in the draw
ing. Hi and Cl form a low-pass filter such that only the dc
component of the signal can turn on the Darlington pair.
When turned on, the Darlington pair can sink up to 100 mA
To the ac component, the Darlington pair in conjunction
with impedance Z appears as a current source (Z may be a
low-value resistance or. for higher impedance, another ac
tive current sink). Thus, ac currents "see" a high impedance
(50 kilj.
HI, fl2, and Z were chosen to ensure that the transistors do
not begin conduction until the dc voltage across the device is
sufficient to allow linear transistor operation with the largest
ac signal voltage expected. Thus, when there is no holding
current, the transistors are turned off and the device may be
left connected without causing signal distortion. Two cir
cuits connected in parallel opposition enable currents of
either polarity to be accommodated.
—David H. Guest
Hewlett-Packard Limited
© Copr. 1949-1998 Hewlett-Packard Co.
A Supersystem for BASIC Timesharing
This HP 3000 Computer System is optimized for BASIClanguage timesharing, but it also supports concurrent batch
processing in BASIC, FORTRAN, COBOL, and SPL.
by Nealon Mack and Leonard E. Shar
THE HP 3000 COMPUTER SYSTEM is a low-cost
general-purpose computer system capable of
concurrent batch processing and on-line terminal
processing. The system can be accessed by many
users simultaneously using any of several program
ming languages and applications library programs.
Operation is under the control of the Multiprogram
ming Executive (MPE/3000).1
To meet the needs of users who want a computer
system primarily for BASIC-language timesharing,
MPE has now been modified to emphasize the inter
active capabilities of the system. The result, called
Multiprogramming Executive for Timesharing
(MPET), provides the BASIC/3000 timesharing user
with the fastest possible response, yet retains the
ability to support concurrent multilingual batch
In its most modest form, MPET supports 16 BASIC
users and batch in the background (Fig. 1). Programs
written in BASIC, FORTRAN, COBOL, or SPL (HP
3000 Systems Programming Language) can be run in
batch mode. Calls to programs or subroutines that
have been batch-compiled in FORTRAN, COBOL, or
SPL can be included in BASIC user programs, a fea
ture that can greatly increase the speed of execution
of BASIC programs. Also unique among BASIC time
sharing systems is the new system's ability to store
and operate on integer, real, long-precision, and com
plex numbers in the same program. File systems are
identical for timesharing and batch processing, so all
files can be made available to any user in either opera
ting mode, as desired by the system or account
manager. Other features of MPET and MPE are a
simple command language, complete accounting of
resources, logging facilities, file backup and security,
dynamic resource allocation, and virtual memory.
Two standard hardware configurations capable of
running MPET are the HP 3000 Model 100CX and
Model 200CX Systems. The HP 3000 Model 100CX
includes an HP 3000 Computer with 48K memory, a
line printer, two 4.7-megabyte disc drives, a card
reader, and a magnetic tape drive. The HP 3000
Model 200CX consists of an HP 3000 with 64K mem
ory, a larger line printer, a 2-megabyte fixed-head
disc drive, a 47-megabyte mass-storage disc drive, a
card reader, and a magnetic tape drive.
What Was Done
The MPET project started with performance eva
luations of the HP 3000 running under the control of
the Multiprogramming Executive. The evaluation
was accomplished using special software and hard
ware measurement aids (these aids will be discussed
later) and some purely subjective reasoning. The re
sult of this evaluation indicated that to become an op
timal timesharing system, MPE would need im
provement in the following areas:
Log-on or session initiation
BASIC subsystem access
BASIC LIST command
BASIC GET and SAVE commands
BASIC run-time performance.
The Multiprogramming Executive performs sys
tem and user functions as a series of processes. It was
found that when a session was initiated at the termin
al or the BASIC subsystem loaded, several processes
had to be created. These processes would in turn
create other processes and transfer control of the sys
tem to the newly created processes. The process
switching was the main factor in the amount of
time required to initiate a session or load the BASIC
Fig. 2 illustrates how a typical user process (BASIC)
is created under the control of MPE. The processes
at or near the root of the process tree in Fig. 2 are highpriority processes. High priority means that the exe
cution of these processes takes precedence over all
other system and user code. Thus high-priority pro
cesses are executed rather quickly under MPE.
The nodes of the process tree in Fig. 2 that are be-
© Copr. 1949-1998 Hewlett-Packard Co.
Functional View of MPET/3000
• User Compiled Programs
• Languages Subsystem
i Data Management Subsystems
Fig. 1.MPE7", a modification of
the Multiprogramming Executive
(MPE) for HP 3000 Computer
Systems, optimizes the system
for B ASIC-language timesharing,
yet retains the ability to support
concurrent multilingual batch
Data and
entry into the BASIC subsystem.
Normally, initiating BASIC requires a complete
process creation with all the necessary linkage edit
ing. In MPET, however, since BASIC is invoked so of
ten, its creation can be speeded by permanently link
ing it as a part of the operating system. When the first
user requests B ASIC a "virgin" B ASIC process (which
is never executed) is created and linked into the oper
ating system's process structure as shown in Fig. 3.
Thereafter, when a user requests BASIC the virgin
process is merely copied and the copy on which he
executes is linked as a son of his SMP.
low the dotted line are low-priority processes. This
means that these processes are executed on the gener
al process queue with all other system and user code.
When a user initiates a session a unique session
main process (SMP) is created for him at high prior
ity. However, the SMP itself executes in the general
process queue. This queue is circular and is rotated in
a "round-robin" fashion to allow each active process
in turn to use the CPU for no more than one time
slice. The number of processes on this queue will,
of course, be large in a heavily loaded timeshared
To improve session-initiation time it is necessary
to force the newly created SMP to the head of the
general process queue so it can initialize itself im
mediately without having to wait for its turn. How
ever, the currently executing timeshare process is
allowed to complete its time slice to minimize thrash
ing (excessive moving of code into and out of main
memory), which could result from frequent pre
A queuing analysis was performed on this method
of modifying the scheduling algorithm. This study
showed that, in the restricted environment of singlelanguage timesharing, average response time could
be improved by judicious use of this technique. It
was felt that when a user interacts with the system he
should immediately get enough CPU time to execute
the majority of his requests. To achieve this the rele
vant process is forced to the head of the general pro
cess queue and is given a double-length time slice.
Also, when control is transferred between processes
on the general process queue, the newly active pro
cess is similarly forced to the head of the queue. This
improves response to commands that involve the
initiation of a new process — in particular, log-on and
The LIST Function
On heavily loaded HP 3000 Systems it was ob
served that, when listing BASIC programs or print-
G 3 C 9
Session Main
Fig. 2. In the original MPE process structure, BASIC is a lowpriority process that executes in the general process queue.
In MPET, the BASIC user's session main process (SMP) is
forced to the head of the queue when it is first created. This im
proves session-initiation time.
© Copr. 1949-1998 Hewlett-Packard Co.
save user BASIC program files interactively.
While the MPE file system is very general, BASIC
program files are very specific. That is, all BASIC pro
gram files have the same record width, 128 words,
and are in all other respects identical in structure. It
became obvious that a rather simple file system inter
face could be written to fetch and save BASIC pro
gram files. It could be simple because all the options
and record sizes handled by the MPE file system
would not have to be considered. This specialized in
terface was implemented, and as a result, most opera
tions on BASIC program files are completed within
the user's first time slice. Response times to these
commands are improved by a factor of five on a
loaded system.
In addition to the file system interface, certain
other economies resulted by allowing two extra re
cords for expansion of B ASIC program files. Previous
ly the BASIC subsystem created a program file of the
exact length of the program to be filed. When a pro
gram was modified, it became necessary to purge
the old file and create a new one of different length.
This is no longer necessary. With the extra space
allotted at the creation of the file, the program can
Fig. 3. Since BASIC is invoked so often in MPET. it is perma
nently linked into the operating system. A virgin BASIC pro
cess, created when the first user requests BASIC, is simply
copied for subsequent requests.
ing data, the output would often be in spurts of four
or five lines per time slice. Investigation showed that
the MPE terminal buffers could hold 32 ASCII char
acters each with a maximum of six buffers per termin
al, and that only one data transfer was made to these
terminal buffers per time slice, after which the user
process would be inactive until it went around the
general process queue.
It's important to note that terminal buffer I/O con
tinues after the process has lost its time slice. In other
words, once the data has been buffered, it becomes a
system process to output the data. With this in mind,
it was felt that if the terminal buffers were arranged
in a circular structure, then a process could continue
to fill those buffers that had been emptied during its
time slice. This guarantees that a process will have
six full terminal buffers to be emptied under the con
trol of the I/O system after it has lost its time slice.
With this method it was found that approximately
twice as much data could be output during and be
tween a user process's time slices. Fig. 4 shows how
this technique works.
Next Available
Unshaded Area
Empty Buffer
Terminal Buffer 3
Terminal Buffer 4
- Character
Printed Out
Loading and Saving BASIC Programs
The MPE file system is a highly generalized subsys
tem capable of handling files of practically any type,
size, or structure. A certain amount of overhead is the
price paid for these conveniences. Although the flex
ibility of the file system is one of the advantages of
MPE (and of MPET), it was obvious that the existing
file system was not the most efficient way to load and
Fig. 4. To speed up the LIST function, MPET terminal buffers
are arranged in a circular structure so they can be refilled as
data is printed out.
•© Copr. 1949-1998 Hewlett-Packard Co.
tive terminals so that terminal access no longer has to
go through the file system, and placing critical sec
tions of code in core when sufficient core is available.
The batch mode of MPE was left unchanged, ex
cept that jobs now run on a low-priority subqueue to
minimize the effect on the timesharing user. User pro
grams and any of the subsystems supported by MPE
may be run in batch mode.
expand and contract within the initial space without
having to waste time purging and creating files.
BASIC Interpreter
The BASIC/3000 interpreter presented special
problems. It had been well thought out by its de
signers and coded in a very efficient manner. Yet its
run-time performance had to be improved while
maintaining all the flexibility that has given this in
terpreter its outstanding reputation. (We feel that
BASIC/3000 is the most powerful BASIC interpreter
ever written.)
With the aid of measurement tools, it was deter
mined that the interpreter was spending large
amounts of time in a relatively small routine called
the expression evaluator. Further investigation
showed that a number of procedures were being
called by this routine and the amount of time spent
executing these procedure calls was significant.
These procedures, some of which were very small,
proved to be excellent candidates for optimization
and/or relocation. Many were placed in-line, thus eli
minating the time-consuming procedure calls and
providing a substantial increase in run-time perfor
mance. Also, computed GOTO statements were re
written in assembly code and this improved their exe
cution time significantly. These modifications yield
a 20% reduction of CPU load for the typical BASIC
MPET was a relatively short project that could not
have been successful without certain performance
evaluation and measurement tools developed for
in-house use at HP.
The Timesharing Event Performance Evaluator
(TEPE) is an HP 2100-Computer-based software sys
tem that is capable of simulating up to 32 timeshar
ing terminals simultaneously. To run the system, the
user provides a script that describes each terminal's
conversation with the system under test.
TEPE transmits data from the script file to the sys
tem under test and then collects data on response
time. This information is written to magnetic tape
and later analyzed by an off-line process.
To create realistic models or scripts for the TEPE
system and thus obtain reliable information, it was
necessary to define what the typical user of a time
sharing system does. The literature on this subject is
sometimes ambiguous and inconclusive. However,
there are a few studies on the subject that have made
real contributions. 2'3'4'5'6 These studies indicate that
the typical user loads a timeshare system as follows:
• Approximately 30 to 35% of interactions result in
CPU-bound jobs or tasks.
The user requires an average think time of about
25 seconds between entries (a mixture of getting,
running, modifying, and saving programs).
It was felt that if good response times were ob
tained from TEPE data using these two important
quantifiers then there was a good chance that actual
system performance would be good. In fact the typi
cal user defined for TEPE is a bit more demanding.
From Fig. 5, a typical TEPE user interaction, it can
be seen that the models include most of the opera
tions done at a BASIC timesharing terminal. For ex
ample, all models contain operations that are charac
terized as CPU-bound (e.g., running BASIC pro
grams). However, some are more CPU-bound than
others (e.g., shorter programs or more I/O). Fig. 5 also
illustrates a typical program file run by the TEPE sys
tem. By varying the loop parameter (N) these pro
grams can be made to provide a variable CPU load
that is in close agreement with statistics published in
the literature. The degree of CPU-boundedness of the
various simulated users was chosen to fit the curve
shown in Fig. 6, which was derived from the pub-
General Improvements
Certain modifications to MPE and the BASIC/3000
interpreter were aimed at a general improvement of
the timesharing environment, especially at increas
ing the number of simultaneous users of the system.
Some of these modifications were initially made to
solve particular problems and were later discovered
to have significant effects on total system perfor
Among the most important of these modifications
was the decision to restrict the types of operations
that could be done at a terminal, and to give higher
priority to interactive access than to batch access.
Allowing only one subsystem, BASIC, to run from
the terminals improves system throughput by maxi
mizing the code-sharing capability of MPET and
minimizing memory traffic. BASIC/3000 maintains
user data areas nicely in that it expands and contracts
them as needed, thus leaving more memory available
for code. It is also the most popular timesharing lan
guage for small machines. In addition to BASIC, all
the MPE commands that display system information,
manipulate files, and perform general user and oper
ator functions are still allowed from any terminal.
Other general performance modifications include
faster, more specialized routines to serve the interac
© Copr. 1949-1998 Hewlett-Packard Co.
THU. OCT 31. 1974. 1 1 : 1 S AM
HP320PI0C. X0.92
B A S I C 3 . 0
> G E T P Z 0 7 5
> 1 0 N= 1200
> L I S T 1 - 2 0 4
1 ¡-¡EM THIS IS P7.075
10 N = 1200
20 DIM At
3 0 M = 0
4 0
5 0
J = 5 0
L = 0
51 T=TIM(- 1 )
5 2
C = C P U ( 0 )
7 0
I F J o L
Fig. 6. TEPE interactions were adjusted to provide a CPU
lo_ad in agreement with this curve, which is derived from pub
lished statistics.
1 0 0
3 0 J = J + 5 0
9 0 G O T O 1 9 9
1 0 0 I F L < > N T H E N 6 0
110 At 10. 1) = 3. 1416
1 1 1 T = TIM(- 1 )-T
1 3
2 0
3 0
C = CPU(0)-C
P R I N T " C P U T I M E " ;
I F M = 4 T H E N 1 6 0
we feel that TEPE provides a realistic image of the
typical user of MPET.
C .
" E L A S P E
T I M E " l T
Another tool, the segment trace system, used a
hardware trace facility to collect data pertaining to
processes at the time of intersegment transfers.
These transfers are the result of procedure calls and
exits from procedures in user or system code. The
system collects data that, when reduced, reveals the
number of segment calls of the traced routines, tells
whether the segment called was absent or present,
and reveals the time spent in each segment.
Trace is handy for determining resegmentation
schemes to minimize segment faults, or absences, for
both user and system code.
1 5 0 G O T O 5 0
160 STOP
1 9 9 G O T O 1 0 0
2 0 0 P R I N T ' X X X X X X X X X X X X X X X X "
2 0 1
2 0 2
2 0 3 P R I N T
2 0 4 P R I N T
' X X X X X X X X X X X X X X X X "
' X X X X X X X X X X X X X X X X "
C P U T I M E 4 . 1 0 6
C P U T I M E 4 . 0 5
4 . 0 5 2
4 . 0 5 8
4 . 0 5 S
4 . 0 5 2
4 . 0 5
CPU C SEC) = 25
C O N N E C T ( M I N > = 5
T H U , O C T 3 1 , 1 9 7 4 ,
1 1 : 2 3
Fig. 5. TEPE, the Timesharing Event Performance Evaluator,
was one of the tools used in the MPET project. It simulates up
to 32 timesharing users simultaneously. This typical TEPE
user interaction includes most of the operations commonly
done at a BASIC terminal.
lished statistics.
The TEPE system uses a random think time be
tween one second and 100 seconds. The mean think
time is 23 seconds, which again is in close agreement
with published statistics. The think time distribu
tion is exponential, as shown in Fig. 7. In general,
The software sampling system is a useful tool for
measuring the relative time spent executing various
sections of code. A special external clock interface is
used to produce controlled random interrupts. The
interrupt receiver for this clock gathers information
about the environment prior to the interrupt and
dumps this data to magnetic tape. A data reduction
program provides reliable histograms of code execu
tion times. Resolution is selectable and can be as fine
as single instructions. With this information a pro
grammer can easily determine those sections of code
for which optimization will provide the greatest per
formance improvements. The sampler was especially
useful for fine-tuning the BASIC/3000 run-time ex
pression evaluator.
Because the goal of this project was superior inter
active performance, that is, fast response times to the
user, the results of the modifications as the user sees
them are of great importance. On the 16-user HP 3000
© Copr. 1949-1998 Hewlett-Packard Co.
32010A MPET Operating System (ordered separately). S5000.
Complete systems including MPET: HP 3000 Model 50CX, $99.500.
HP 3000 Model 100CX, $129.500.
HP 3000 Model 200CX, $171.000.
HP 3000 Model 300CX. $203.500
11000 Wolfe Road
Cupertino. California 95014 US. A.
40 50 60
T (seconds)
70 80 90 100
Fig. 7. TEPE simulates a random user think time between one
second and TOO seconds. The think time distribution is ex
ponential, and the mean value is 23 seconds, which agrees
closely with published statistics.
Model 100CX System, and using MPE as a standard
for comparison, we find that under MPET the BASIC
subsystem can be loaded approximately 14 times
faster. All other interactions are from 10% to 450%
faster than the same interactions under MPE.
MPET on the HP 3000 Model 200CX System can
support 24 or more simulated typical users with ap
proximately these improvements. Although through
put was not measured specifically on MPET, it is
evident that it has increased greatly over MPE for a
BASIC timesharing load. Of course, actual perfor
mance will depend on the system load imposed by
the particular user environment.
Nealon Mack (right)
Neal Mack joined HP's Data Systems Division in 1973. He's
worked on performance measurement, software quality
assurance, and performance and human engineering im
provements on MPE/3000. Born in Shreveport, Louisana,
Neal served in the U.S. Air Force from 1963 to 1967, then
attended California State University at Long Beach, gradu
ating in 1971 with a BA degree in mathematics. In 1973 he
received the MS degree in computer engineering from Stan
ford University. He also holds community college teaching
credentials in electrical engineering, computer science,
and mathematics. A resident of Sunnyvale, California, Neal
enjoys reading, sports car touring, and the active social life
of a bachelor.
We express our appreciation to the following peo
ple for their assistance in the implementation of
MPET/3000: Joel Harriett, Tom Blease, John Dieckman, and John Hawkes (TEPE).ff
1. T.A. Blease and A. Hewer, "Single Operating System
Serves All HP 3000 Users," Hewlett-Packard Journal, Janu
ary 1973.
2. G.E. Bryan "Joss: 20,000 Hours at a Console," Pro
ceedings of the 1967 Fall Joint Computer Conference,
AFIPS Press.
3. A.L. Scherr, "Time-Sharing Measurement," Data
mation, April 1966.
4. M. Parupudi and J. Winograd. "Interactive Task Be
havior in a Time-Sharing Environment," Proceedings of
the ACM 1972 Annual Conference, Association for Com
puting Machinery.
5. H.D. Schwetman and J.R. DeLine, "An Operational
Analysis of a Remote Console System," Proceedings of the
1969 Spring Joint Computer Conference, AFIPS Press.
6. S.J. Boies, "User Behavior on an Interactive Computer
System," IBM System Journal, Vol. 13 No. 1, 1974.
Leonard E. Shar (left)
A native of Johannesburg, South Africa, Len Shar received
his BSc degree in electrical engineering from the University
of the Witwatersrand in 1968. He came to the U.S.A. in 1969
to study computer science at Stanford University and received
his MS and PhD degrees in 1 970 and 1 972. Deciding that he
liked the San Francisco bay area so much that he wanted to
stay, Len joined HP's Data Systems Division in 1972. Now a
project manager there, he's been heavily involved with
HP 3000 performance measurements, diagnostics, and
interface design. He's a member of IEEE. Bachelor Shar,
who lives in Palo Alto, California, and enjoys hiking, reading,
and music, is currently "trying" to teach himself to play guitar.
© Copr. 1949-1998 Hewlett-Packard Co.
Deriving and Reporting Chromatograph
Data with a Microprocessor-Controlled
Printing retention times next to the peaks while plotting
the chromatogram, a new integrator measures the
chromatograph peak areas and, at the end of the run,
derives concentrations and prints the analysis on the
by Andrew Stefanski
provides fast and convenient means for ana
lyzing the chemical components of complicated mix
tures, identifying and quantifying the raw chromato
graph information requires a major effort.
The result of a chromatograph procedure is a chro
matogram (Fig. 1), usually made by a conventional
strip-chart recorder that monitors the output of the
chromatograph's detector. The substance to be ana
lyzed is injected at the input to the chromatograph's
column, a long tube packed with particles coated
with a particular liquid. The sample is carried
through the tube by a carrier gas or solvent and the
chemical components become separated on the basis
of the differences in their solubility in the liquid coat
ing. The lighter molecules arrive at the end of the col
umn first, the heavier molecules coming later.
The detector responds to the presence of
substances other than the carrier in the emerging
stream, tracing a peak on the chromatogram for each
chemical component detected. The time of occur
rence of each peak corresponds to the travel time
through the column and can be used to identify the
corresponding chemical component. The area en
closed by the peak corresponds to the concentration
of that chemical.
To calibrate the chromatogram. a known amount
of a known substance is usually mixed with the sam
ple. Reducing the data then requires the chromatographer to measure the retention times with a ruler,
using the known substance as a reference, and to mea
sure areas of the peaks by counting squares, using a
planimeter, or cutting out the peaks and weighing
the paper. Clearly, a lot of effort can go into reducing
the data.
Speeding Data Reduction
This task was eased somewhat by the development
Fig. 1. Typical gas chromatogram, this one resulting from
a mixture of chlorinated benzenes.
*See page Chromatography . Hewlett-Packard Journal. March 1973. page 4
© Copr. 1949-1998 Hewlett-Packard Co.
while enabling more sophisticated recognition of
peaks, but it soon became apparent that the availabil
ity of an internal digital processor would present op
portunities for new integrator capabilities. We there
fore considered means of adding automatic calibra
tion so the integrator could identify the peak belong
ing to the calibrating sample and then scale results ac
cordingly. The digital processor also provides means
for reducing the effects of detector noise, and for let
ting the instrument select the optimum slope sen
sitivity automatically so it can be sensitive to small
peaks while ignoring noise peaks.
We also considered including the recorder as part
of the integrator — combining the numerical data
with the graphical data on one piece of paper would
make it much easier for the chemist to relate the re
duced data to the raw chromatogram. There was one
major drawback to this idea: there was no suitablypriced recorder that could print as well as plot. There
fore, we developed our own (see box, page 20).
Fig. 2. Integrator printout with the corresponding chromatogram. The lower number of each pair gives the retention time
in hundredths of minutes. The upper number gives the area
count in fiV-seconds with the digit in the right-hand column
representing a power of 10 multiplier, e.g. 3311 2 means
33 i i x ¡O2.
Communicating with the Processor
Although the presence of a digital processor
would allow all integrating parameters to be en
tered through a calculator-type keyboard, it was re
alized that the instrument would be easier to operate
if certain parameters were entered by means of slide
switches. The switch positions are encoded internal
ly and the code is sent to the digital processor. By
their setting, the switches provide continuous dis
play of the integrating parameters.
In the final design (Fig. 3), the instrument is oper
ated entirely by the switches when end results are to
be printed as "area %" (the percent area that each
peak contributes to the total of all peak areas). The
keyboard is used only when further computations
are to be performed.
At the end of a run, the recorder prints a report on
the sample analysis. The analysis identifies each
peak by its retention time and gives area count and
amount or percent of concentration. It also lists the
integration parameters used, such as slope sensitiv
ity and the time between the sample injection and
the start of integration (start delay). Thus, the chro
matographer has on one chart a complete record that
includes the raw chromatogram and the reduced
data (Fig. 4).
of integrators that automatically compute the areas
under the peaks and print the area and retention time
for each peak (Fig. 2). The early electronic integrators
basically were voltage-to-frequency converters that
monitored the output of the chromatograph detector
and drove a counter activated by rather complex
peak-recognition logic. The chromatographer was
still required to scale the time base, however, and to
compute percentage or absolute concentration from
the area counts.
The next step was to derive final results with the
aid of a computer working directly from an analog-todigital converter. The cost of doing it this way, how
ever, was usually justified only by time-sharing the
computer with several chromatographs doing repeti
tive analyses, such as those for checking pesticide re
sidues or drugs.
There was an obvious need for a modestly-priced
single-channel instrument that incorporated digital
processing. As large-scale integrated-circuit tech
nology advanced during recent years, it was hoped
that eventually the cost of digital processing circuits
would become low enough to make the computing
integrator economically feasible. This hope was re
alized with the development of the digital processor
for the HP pocket calculators.1
Processing the Chromatogram
The new instrument's analog-to-digital converter
uses integrating digital voltmeter circuits to measure
the average amplitude of the chromatograph detec
tor output five times per second. The dual-slope tech
nique2 is used to convert the detector output voltage
to digital form. The voltmeter output consists of
bursts of 10-MHz pulses, the number of pulses in
New Concepts
In applying the digital processor to an integrator,
the initial goal was to simplify hardware design
© Copr. 1949-1998 Hewlett-Packard Co.
Fig. 3. Model 3380 A Integrator
records chromatogram and
analysis on the same sheet of
paper. Recording and integration
are controlled by the slide
switches. The keyboard is used
only for computations related to
calibration procedures.
A Printing Plotter
Instead of a pen, the printer-plotter in the new Model 3380A
Integrator uses a thermal print head. The print head, similar to
those used in the printers for the HP 9800 series desk-top calcu
lators,* has seven printing elements (heaters) in a row on a cer
amic is For normal recorder operation, one element is
left on continuously, tracing the chromatogram on heat-sensi-
live ap To write characters, the elements are pulsed at ap
propriate moments as the carriage is moved rapidly across the
paper (Fig. A).
When the integrator senses that the output of the chromatograph's detector has crested a peak, it commands the re
corder to "steal" a little time from the chromatogram to write out
the time of occurrence of the peak, or retention time as it is com
monly called. Each peak is thus clearly identified by the reten
tion time printed next to it.
Thermal Print Head
Fig . B. Thermal print-head mounts on the recorder's carriage.
At the end of a run, the plotter prints the analysis report, identi
fying each peak by its retention time. The integrator retains the
data until the next run so the plotter can be used to print addi
tional copies, or it can print the results of further processing of
the data by various calibration methods.
Control Lines
Fig. A. Heating elements are pulsed at appropriate times to
write letters and numbers. To trace a chromatogram, one
element is turned on continuously.
•D.B. Barney and J.R. Drehle. A Quiet. Low-Cost. High-Speed Line Pointer ". HewlettPackard Journal. May 1973
© Copr. 1949-1998 Hewlett-Packard Co.
Once the processor has made the decision that a
peak is being detected, a reversal of slope that contin
ues for several consecutive samples indicates that
the apex of the peak has been crossed. The processor
then commands the plotter to print the time elapsed
since the start of the run.
Counts continue to be totaled until the sample-tosample difference indicates that the detector output
has returned to the baseline. At this time the proces
sor stores the accumulated count, commands the
plotter to place a mark on the chart indicating the
end of integration for that peak, and starts looking for
a new peak.
The processor memory is capable of holding
counts obtained from 54 peaks in any one chromato
graph run. Because there are times when a peak does
not return to the starting baseline but returns to a
drifting baseline or merges with a following peak,
the processor also stores data pertinent to the slope re
versal for later evaluation.
Li ?
: 4 ~ -; T 9
Fig. 4. Typical chromatogram and report generated by the
Model 3380/4 Integrator. The retention time for each peak is
printed alongside the peak. The analysis report is printed
after the chromatograph run is completed. The final two lines
give the settings of the integration controls.
Automated Slope Sensitivity
As with earlier integrators, the chromatographer
can select the slope criterion (mV/min.). The use of a
digital processor, however, provides a new conven
ience: automatic slope sensitivity selection. To use
this feature, the chromatographer depresses the
SLOPE SENSITIVITY switch to the TEST position before
starting the chromatograph run. This causes the in
strument to monitor the detector output for 20 sec
onds and to store the maximum sample-to-sample
difference encountered during that time. This is
representative of the maximum noise to be expected,
and it becomes the threshold level of the peak-recog
nition criterion.
The processor compares the beginning and end of
each peak to detect baseline drift. It then adjusts the
readings to account for drift, if present. This results
in more accurate measurements than those made by
older instruments that assume a level baseline for
each peak.
Another convenience the digital processor offers
is operation controlled by an Automatic Sampler. The
Sampler starts the Integrator each time a new sample
is injected into the Chromatograph. The Integrator's
self-timer stops the integration at which time the re
port for that run is printed. The report includes the
identification number of the bottle from which the
sample was drawn. Thus long, repetitive analysis
may be made with the equipment unattended.
each burst being proportional to the amplitude of the
corresponding sample.
To smooth noisy chromatograrns, a running aver
age of consecutive samples is calculated by a
weighted averaging method. This smooths the highfrequency noise without distorting true peaks.
The system totals the counts obtained on succes
sive samples but it discards the stored count if it de
cides that it is not measuring a true peak. This deci
sion has always presented a dilemma to integrators.
Integrators universally select peaks on the basis of
slope. If the slope threshold is set too low, noise on
the baseline can trigger integration. If it is set too
high, integration starts high on the peak and a signifi
cant part of the peak is lost. The digital processor in
the new integrator starts integration at the slightest
hint of a peak but it discards the count if the peak pre
sence is not confirmed. Thus, even with the slope
threshold set high, total peak area is integrated.
Peak Criteria
The digital processor measures slope by contin
uously comparing each new averaged value to the
previous value. If the difference is positive and ex
ceeds a certain minimum for several successive sam
ples, the processor judges that a peak is being de
tected. It then commands the plotter to mark the
chart to indicate that a peak is being integrated, and
continues to accumulate counts.
If the sample-to-sample comparison indicates that
the slope reverses before the threshold criterion is
reached, then it is assumed that a noise peak had
been encountered and the total count is discarded.
Merged Peaks
A particular problem for integrators is finding the
true areas of peaks that overlap or merge on the chro
matogram. Two merged peaks are diagrammed in
Fig. 5. In the new Integrator, when the sample-to21
© Copr. 1949-1998 Hewlett-Packard Co.
Adapting a Calculator
Microprocessor to Instrumentation
by Hal Barraclough
While the advantages of digital implementation were being
considered for the next generation of chromatograph integra
tors, HP Labs was developing a microprocessor for a family of
hand-held calculators. This microprocessor was being de
signed specifically for the HP-35 and its descendants, and
consequently was severely limited in several characteristics es
sential for a complete processor structure. The cooperation of
the microprocessor development team, in particular, Kenneth
Peterson, was therefore most valuable in our effort at applying
this microprocessor to an instrumentation problem.
Because the chromatograph integrator receives its input da
ta in a continuous stream, the processor must be capable of
real-time operation. The HP-35 is, of course, designed for hu
man use, which signifies two fundamental characteristics: (1)
relatively slow speeds, and (2) closed-loop operation through
the human's own processor, for its data input rate. The first task
we faced, consequently, was to ensure that the microproces
sor could keep up with the required rate of data delivered from
any gas chromatograph detector. Fortunately that data rate
proved slow enough.
The next problem to solve was the instrument's requirement
for long-term data storage. This arises in an integrator for sever
al reasons, one of which is that several forms of relatively com
plex data anomalies, primarily overlapping waveforms, are in
herent in the raw measurements delivered to the integrator.
Their resolution can be automated accurately only by choosing
the most appropriate algorithm, and this choice must be post
poned typ all data in the vicinity of the anomaly is received; typ
ical examples of this are merged peaks requiring separation,
drifting baselines to be distinguished from the onset of a real
peak, and digital filtering of 1/f noise without loss of small
Two additional reasons for having large data storage are the
normalization of all peaks to percentage values at the end of the
run, and the printing of a final report covering the entire run.
Unfortunately, mass data storage is not a capability of calcu
lators. In our chosen microprocessor, for example, mass me
mory consists of one register, yielding a capacity of one data
word. We added 16K bits of data memory, organized as 512
words of 32 bits each. The data format is BCD, for compatibility
with the microprocessor; we interfaced to this at the most con
venient place, the A/D converter.
Next, moderate study indicated a data word of 8 digits would
give us more than sufficient resolution, and 512 words gave us
the capability to accept chromatograph runs considerably
more complex than our original objective. After a good deal of
trial designs for costing purposes, MOS shift registers were re
jected very the storage medium, although their initial cost is very
low and they fit nicely into the fully serial architecture of the mi
croprocessor. Magnetic core is not really appropriate for this
type of application, and the cost of static MOS was high while
yielding no advantage at the cycle times required for this instru
ment. The optimum choice for our integrator was dynamic MOS
RAM. We designed the addressing of our 1K-by-1-bit chips
to be counted sequentially through 32 steps, thereby per
forming the necessary serialization directly.
The most difficult problem remaining was the design of an
addressing scheme for all this memory. The choices involved
trade-offs between binary and BCD (our microprocessor is
strictly BCD), various address computation schemes, the mi
croprocessor's limitation of I/O to only one port, and the implica
tions of all methods upon the execution times of the real-time
program loop. Innumerable schemes were created, hardware
designed on paper, and the result measured for effectiveness
by microcoding the real-time procedures. At the end of all this
we selected binary addressing, with the data addresses stored
in ROM along with all the machine's instructions, and with a
substantial dose of TTL interjected between the microproces
sor and its program storage (i.e., ROM). The logic serves to oc
casionally fool the microprocessor by intercepting pseudo-in
structions and treating them as binary data addresses. For a
touch of elegance we included an index register, made it con
versant with BCD via the I/O port so its utilization by the pro
grammers is easy, and permitted it to be duplexed so it doubles
as a general-purpose register. Indexing is a very useful feature
for our application because of the episodic nature of much chro
matograph data, with repetitive kinds of data points common to
most peaks. Finally, code conversion from the index register's
BCD to our address register's binary, along with address com
putation (performed mainly by addition with some concatena
tion) was mixed with the address counter for serialization. We ul
timately eliminated this counter and used the system state
counter fora// timing. One can appreciate the number of timing
diagrams that went to the Palo Alto paper recycling center.
The limitation of only one I/O port was solved by assigning a
unique storage address to each of the following: (1) the A/D
converter, for input, (2) the printer-plotter, for output, (3) the
front-panel switches, for human control inputs, and (4) the in
dex register.
The last design phase, performed while accommodating to
the continuing changes made to the microprocessor by its
development group, was an absolute logic minimization endea
vor. All the digital processing was achieved on one 8" x 12"
two-layer PC board requiring an 8-package microprocessor.
16 packages of RAM, test capability, and all the TTL and CMOS
for the logic.
sample comparison indicates that the slope of the
chromatogram changes sense before it reaches the
baseline, the processor stores the count accumulated
up to that point, starts a new count, and draws a mark
on the chromatogram to indicate that a new integra
tion has been started. It also identifies the value of
the first sample in the new count for later use-
If the trace returns to the baseline on the next
downslope, the two counts obtained are stored as the
area counts for the two peaks. This is known as the
"dropline" method of merged peak separation. Dur
ing the final printout, the letter "VI" is printed on the
line for the second peak to indicate that it was merged
with the previous peak and that this method was used.
© Copr. 1949-1998 Hewlett-Packard Co.
tude of the second peak is less than one-half that of
the first peak, then the processor uses the tangent
skim method. The end of the second peak is deter
mined by continuously calculating the slope of a line
drawn from the start of the second peak to the latest
sample, and comparing the line's slope to the slope
of the chromatograph curve. When the two slopes
coincide, the end of the peak is indicated. The proces-
Merged Peaks
Tangent Skim Method
Fig. 5. Areas of merged peaks (left) are separated by a line
dropped from the valley to the baseline. The area of a small
peak riding on a tailing peak (right) is computed using the
tangent line as a baseline. The area in the trapezoid below
the tangent line is allocated to the tailing peak.
A common occurrence is that indicated in the right
hand plot of Fig. 5 where a small peak rides on the
tail of a larger peak. This calls for separation by a dif
ferent method, known as the "tangent skim" method.
The digital processor detects the presence of a tail
ing peak by storing the time elapsed between the
start of the peak and its apex, and comparing that to
the time from the apex to the end of the peak. A large
difference classifies the peak as "tailing".
If the first peak is a tailing peak, and if the ampli-
Andrew Stefanski
Andy Stefanski received his Master's degree in EE from the
Warsaw (Poland) Polytechnic Institute in 1962. He worked
for a time at the Institute of Telecommunications in Poland
designing TV oroadcast equipment but then came to the
United States where he worked on an optical print reader
and later on advanced consumer electronics while working
towards an advanced degree at the University of Pennsyl
vania. Obtaining his Ph.D. in EEin 1970, he came to work for
Hewlett-Packard's Avondale Division. Andy flatly states that
he has no hobbies to speak of.
Hal Barraclough
A sometime commercial pilot specializing in helicopters,
Hal Barraclough joined HP Labs in 1 970 to work on computer
architecture but he is presently on a leave of absence to teach
computer design in the graduate school at Santa Clara Uni
versity. Hal earned his BSEE degree at the University of Idaho
in 1961 and his MSEE degree at Stanford in the HP Honors
Co-op program. His most pleasant spare-time activity is
the time spent with his two sons but he also derives satis
faction from designing home electronics and tending a vege
table garden at the Barraclough home in San Jose.
Fig. 6. Typical calibration dialog. When the operator presses
the CALIB key, the integrator asks for the method. In this
case, the operator responds with ISTD (internal standard).
The integrator then asks for the width of the retention time
window (%fiTW) and the identification of the calibrating
peaks, which are identified by their retention times (RT) and
by the amount in the sample (AMT). The dialog is ended when
the operator presses 0 in response to a request for another
reference When the operator presses the LIST button, the
integrator confirms the calibration by listing the parameters
and the response factors, which it calculates.
© Copr. 1949-1998 Hewlett-Packard Co.
sor then calculates the area. In the final printout, the
letter "T" is placed on the line for the second peak.
The tangent-skim method can also be invoked manu
ally any time the chromatographer decides a more
accurate integration would be achieved.
By similar techniques, the processor derives
counts for two or more merged peaks on the tail of a
large peak by dropline to the tangent. The letters
"TM" will appear in the printout for these peaks.
When a run has been completed, the integrator pro
cesses the stored data according to the method se
lected. It retains the data until a new run is initiated,
so the chromatographer can make additional copies
of the analysis, or he can process the data again by an
HP Model 3380A Integrator
Input Characteristics
VOLTAGE INPUT: -001 to 1.0V
Output Characteristics
RESOLUTION: 1 area count - 1 nV sec
INPUT EXCEEDED: Warning printed in report
LOGIC MARKS: Peak recognition and termination marks
RETENTION TIME: Printed at peak apex on chromatogram in 0.01 min units,
maximum 330 mins
INTEGRATION: Automatic tangent skim on tailing peaks with manual forced
tangent skim possible; slope sensitivity may be selected manually or auto
matically; compensation for up/down drifting baselines is automatic
REPORT: Consists of a chromatogram, calculations, and listing of control settings.
All stored peaks are reported, but only those identified as calibrated peaks are
calculated to yield amountsReport is on 8!'2 - 11' sheets of Z-fold thermal writing paper. Area% calculation
format peak of four columns: retention time (as printed at peak apex); peak
type; Area%. Method calculation format consists of five columns: retention time
(as printed at peak apex); peak type: area: calibrated peak identifier (ID#);
ATTENUATOR: 1 to 1024 in binary steps, and log presentation
SLOPE SENSITIVITY: Six settings from 0.01 to 30 mV min, and auto/test posi
trons for automatic selection
other method if he so chooses.
When the slide switch labeled AREA%/METHOD is
moved to the METHOD position, the digital processor
initiates a dialog by way of the printer-plotter. This
guides the user through the steps required to estab
lish the calibrating parameters. An example is shown
in Fig. 6.2
1. T.M. Whitney, F. Rodé, and C.T. Tung, "The 'Powerful
Pocketful': an Electronic Calculator Challenges the Slide
Rule", Hewlett-Packard Journal, June 1972.
2. See, for example, A. Gookin, "Compactness and Ver
satility in a new Plug-Together Digital Multimeter",
Hewlett-Packard Journal, April 1972.
CHART: of and ON, OFF positions OFF position prevents plotting of
chromatogram so each run is reported by a calculation only
CHART SPEED: Four settings: 0.5-1-2-4 cm mm
STOP TIMER: Off, and nine settings to 90 mins for automatic termination of run
followed by report printout
START DELAY: Off. and nine settings to 64 mins to delay start of integration
METHOD: Selector for Area0» or Method calculation, keyboard is deactivated when
switch is in Area°b position
CALCULATIONS (keyboard controlled): Four are standard: Area%; Normali
zation; Internal standard: External standard. Latter three use automatically
determined or manually entered response factors. Single stored calibration
shared run methods permitting any method calculation report for stored run
data Special no limit to number of report copies, original or modified. Special key
for entry of amount of internal standard added to sample and for dilution factor.
Up to 54 peaks may be calibrated
PEAK peak Calibrated peaks other than reference peak are auto
matically identified by relative retention. In ESTO and NORM methods, identifica
tion by absolute retention time occurs automatically if reference peak is not found.
Analyst may deliberately select this alternate type of identification for all cali
brated peaks in ESTD and NORM methods.
DIMENSIONS: 20.6 H t 43.5W < 57.2 D cm (8-1/8 h
17-1/8w • 11-1/2dins)
WEIGHT: 17 kg (37 Ibs)
POWER: 100-120-220-240 (-5. -10%), 50/60 Hz, 1 SOW max
ENVIRONMENTAL: 10-50°, 0-95% rel. humidity up to45°C
PRICE IN U.S.A.: S5200
Route 41 and Starr Road
Avondale, Pennsylvania 19311
Bulk Rate
U.S. Postage
Hewlett-Packard Company, 1501 Page Mill
Road. Palo Alto, California 94304
DECEMBER 1974 Volume 26 • Number 4
Technical Information from the Laboratories of
Hewlett-Packard Company
Hewlett-Packard S.A.. CH-1217 Meyrin 2
Geneva. Switzerland
Yokogawa-Hewlett-Packard Ltd.. Shibuya-Ku
Tokyo 151 Japan
Editorial Director • Howard L. Roberts
Managing Editor • Richard P. Dolan
Art Director. Photographer • Arvid A. Danielson
Illustrator • Sue M. Perez
Administrative Services. Typography • Anne S. LoPresti
European Production Manager • Kurt Hungerbuhler
M R 3 '
' C I S O ? -
- L
nt .i
à 5 0 1 F Aüt
à ‰ -n
A PI Ã ‰ ^
1 5 7
b change your address or delete your name from our mailing list please send us your old address lable (it peels off)
Send changes to Hewlett-Packard Journal. 1501 Page Mill Road. Palo Alto. California 94304 U.S.A. Allow 60 days.
© Copr. 1949-1998 Hewlett-Packard Co.
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF