Download Workstation graphics capabilities for the 1990's and Zyda, Michael J.

Survey
yes no Was this document useful for you?
   Thank you for your participation!

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

Document related concepts

Intel GMA wikipedia , lookup

Spatial anti-aliasing wikipedia , lookup

General-purpose computing on graphics processing units wikipedia , lookup

Mesa (computer graphics) wikipedia , lookup

BSAVE (bitmap format) wikipedia , lookup

Original Chip Set wikipedia , lookup

Hold-And-Modify wikipedia , lookup

Free and open-source graphics device driver wikipedia , lookup

InfiniteReality wikipedia , lookup

2.5D wikipedia , lookup

Video card wikipedia , lookup

Apple II graphics wikipedia , lookup

Tektronix 4010 wikipedia , lookup

Graphics processing unit wikipedia , lookup

Waveform graphics wikipedia , lookup

Framebuffer wikipedia , lookup

Molecular graphics wikipedia , lookup

Transcript
Calhoun: The NPS Institutional Archive
Reports and Technical Reports
All Technical Reports Collection
1985-09
Workstation graphics capabilities for the 1990's and
beyond / [by] Michael J. Zyda.
Zyda, Michael J.
Monterey, California. Naval Postgraduate School
http://hdl.handle.net/10945/26340
NPS52-85-012
NAVAL POSTGRADUATE SCHOOL
Monterey, California
WORKSTATION GRAPHICS CAPABILITIES FOR THE 1990'S AND
BEYOND
MICHAEL J. ZYDA
SEPT 1985
Approved for public release; distribution unlimited
Prepared for:
f
FEDDOCS
D 208.14/2
NPS-52-85-012
of Naval Research
va
npt-on
g
'
,
NAVAL POSTGRADUATE SCHOOL
Monterey, California
Hear AHmirul K.H. Slmmakcr
Superintendent
A
Srhrariv
Provost*
The work reported herein was supported by in part
by the Foundation Research
Program of the Naval Postgraduate School with funds provided by the Chief of Nava
Research.
Reproduction of all or part of this report is authorized.
This report was prepared by:
s
—
-
UNCLASSIFIED
_______
.
SECURITY CLASSIFICATION OF THIS PAGE
ft»7i»n
Data Entered)
READ INSTRUCTORS
BEFORE COMPLETING FORM
FQSM
REPORT DOCUMENTATION PAGE
REPORT NUMBER
I.
2.
GOVT ACCESSION NO
3-
RECIPIENT'S CATALOG NUMBER
5.
TYPE OF REPORT
6.
PERFORMING ORG. REPORT NUMBER
•
CONTRACT OR GRANT NUMBER(t)
.
NPS52-85-012
TITLE (and
*.
Subtitle)
ft
PERIOD COVERED
WORKSTATION GRAPHICS CAPABILITIES FOR THE 1990'
AND BEYOND
AUTHORfiJ
7.
Michael J. Zyda
PERFORMING ORGANIZATION NAME AND ADDRESS
9.
PROGRAM ELEMENT. PROJECT, TASK
AREA WORK UNIT NUMBERS
10.
ft
Naval Postgraduate School
Monterey, CA 93943-5100
61152N: KR000-01-NP
N0001485WR41005
CONTROLLING OFFICE NAME AND ADDRESS
II
12.
Sept 1985
Chief of Naval Research
Arlington, VA 22217
14
MONITORING AGENCY NAME
13.
NUMBER OF PAGES
15.
SECURITY CLASS,
Jl5_
ft
ADDRESSf/f
dlllerent Irom Controlling Olllce)
15a.
16
DISTRIBUTION STATEMENT
REPORT DATE
(ol thle report)
DEC LASSIFI CATION /DOWN GRADING
SCHEDULE
(ol this Report)
Approved for public release; distribution unlimited
17.
DISTRIBUTION STATEMENT
18.
SUPPLEMENTARY NOTES
19.
KEY WORDS
(ol the abetract entered In
(Coniinu* on reverie elde
Block
20, II different Irom Report)
neceeeary and Identity by block number)
II
Algorithms, architecture, contour surface display generation, real-time display
generation, graphics workstations
20.
ABSTRACT
(Continue on reverae elde
II
neceeeary and Identity by block number)
We present in this paper a look at the future graphics capabilities of the
workstation. We begin by examining the cyccles of special hardware development
We show how the current
that have occurred for graphics systems in general.
to applications user
response
direct
is
a
workstation
evolution of the graphics
and hardware
software
The
systems.
graphics
desires for higher performance,
the workfor
operations
graphics
levels that perform the input and output
capabigraphics
future
station are described with an eye towards categorizing
DD
i
jan
73
1473
EDITION OF
S
I
NOV
65
IS
N 0192- LF-014-6601
OBSOLETE
UNCLASSIFIED
SECURITY CLASSIFICATION OF THIS PAGE (Whan Dmlm
Kntared)
IINPT
ASSTFTFD
SECURITY CLASSIFICATION OF THIS PAGE
<TH»«n
Dmtm Eni*t*d)
lities.
The implementation of those levels in the Silicon Graphics, Inc.
IRIS is cited as an example of the leading edge for graphics capabilities in
Current research leading to future enhancements of the graphics
a workstation.
workstation is presented as a continuation of the historical response to
applications user desires for ever higher performance, interactive systems.
S-N 0102- LF-014-6601
SECURITY CLASSIFICATION OF THIS PAGEfWhtt Dmtm Bnffd)
Workstation Graphics Capabilities
Beyond
Michael
J.
for the 1990's
and
|
Zyda
Naval Postgraduate School,
Code
52, Dept. of
Computer
Science,
Monterey, California 93943
ABSTRACT
We
present
workstation.
We
in
this
paper a look
at the future
that have occurred for graphics systems in general.
evolution of the graphics workstation
is
We
show how the current
a direct response to applications user
desires for higher performance, graphics systems.
els
graphics capabilities of the
begin by examining the cycles of special hardware development
The software and hardware
lev-
that perform the input and output graphics operations for the workstation are
an eye towards categorizing future graphics capabilities. The
implementation of those levels in the Silicon Graphics, Inc. IRIS is cited as an
example of the leading edge for graphics capabilities in a workstation. Current
described with
research leading to future enhancements of the graphics workstation
is
presented
as a continuation of the historical response to applications user desires for ever
higher performance, interactive systems.
Categories and Subject Descriptors:
1.3.1
[Hardware Architecture]:
architec-
VLSI implementations; 1.3.2 [Graphics Systems]:
multiprocessing systems; 1.3.3 [Picture/Image Generation]: surface visualization: 1.3.6 [Methodology and Techniques]: contouring, interactive systems,
parallel processing; 1.3.7 [Three- Dimensional Graphics and Realism]: line
tures,
parallel
processing.
drawings, line generation algorithms, real-time graphics, surface plotting, surface
visualization, surfaces: 1.3.m [Miscellaneous]:
VLSI;
General Terms: Algorithms, architecture;
Additional Key Words and Phrases: contour surface display generation, real-time
display generation, graphics workstations;
t This
at
work has been supported by the
NPS
Foundation Research Program. The work was originally presented
an Institute for Graphic Communication conference on Engineering Workstations, the 3rd of February 1985.
-
1.
-
2
Introduction
Graphics workstations represent the culmination of a long history of hardware developments
for purposes of real-time,
provide the
trol
human
demands
idea behind such systems
situations,
and other time-critical applications.
Historically,
to
the future capabilities of such systems,
we must examine the
In order to
It
effort
to
understand
cycles of hardware development.
days of computer graphics, applications users were happy
a picture to the display device.
the
a push-and-pull cycle of increasing applications
driving special hardware additions to the graphics system.
In the early
is
Such capabilities are an integral part of visual training simulators,
improve the capabilities of such systems has been
user
The
user immediate feedback of visual information in response to any physical con-
manipulations made.
command/control
interactive applications systems.
if
they could just get
did not to matter that the display device took
two to three
minutes for one picture as the alternative was to not be able to get the particular application
done.
In
those early days, the computer was generally a single user system, with the graphics
applications program consuming
tive
all
systems was that there was a
sequently, one of the
picture delivery.
first
available resources.
lot of idle user
The key problem with
respect to interac-
time during the waits for the next display.
Con-
problems that was solved with special hardware was the speeding up of
This can be considered the
first
cycle of special hardware for the graphics sys-
tem.
Applications users readily took to computer graphics once they saw that they could get their
picture to the display device in a reasonable
computer graphics with such
a
amount
of time.
fervor that they began
In fact, applications users took to
demanding what
to
them seemed
like the
next logical development, the addition of matrix multipliers for the real-time operations necessary
for rotating, scaling,
and translating vectors. This was the second cycle of special hardware addi-
tions to the graphics system.
This addition to the display system was quite important
in
that
it
allowed the development of real-time interactive applications not previously possible without the
special hardware.
(One example of
this has
been the near abandonment
of the use of hard models of large molecules for the
in
the field of chemistry
more readily manipulated computer models).
DUDLEY KNOX LIBRARY
NAVAL POSTGRADUATE SCHOOL
MONTEREY CA 93943-5101
3
Anyone who has
spent any
amount
The addition
they are never completely satisfied.
came towards
knows quite
of time with applications users
of the special
hardware
matrix multipliers
for
the end of the cycle of single user minicomputer systems.
well that
Applications program-
mers momentarily got used to the immediate response of the single user computer graphics
This capability was
tem, and then almost immediately lost that capability.
fact that the applications users
The
was
is
response to that
tion functionalities
tem.
The
move
to
third cycle of
improvements to the graphics system
typified by the offloading of the graphics
and interac-
from the host computer to a special processor dedicated to the graphics sys-
goal behind this
the
This cycle
loss.
due to the simple
outgrew the single user minicomputer systems, and moved onto
the larger, shared super-minicomputers.
in
lost
sys-
was
to reclaim the real-time, interactive capabilities lost during the
This cycle created the modern interactive graphics
shared super-minicomputer.
workstation.
2.
Interactive Graphics Workstation Organization
Current high performance graphics workstations have some variant of the organization depicted in Figure
In that figure,
1.
we
see a central bus, typically the
hang the CPU, the terminals, the disk
output devices.
On
IEEE
drives, the Ethernet interfaces,
the other side of the
CPU, we
Multibus, off of which
and the other miscellaneous
see a bus going to a unit labeled
DPU,
or
display processing unit, with that bus passing through and towards the actual display device, or
display surface.
Connected to the
DPU
are an array of interactive devices,
joysticks, dials, buttons, switches, data tablets, light pens,
study,
we
are primarily interested in the part of Figure
With
respect
to high
operations with which
gram
we
is
devices,
For
this
there are
two
directly concerned with graphics.
1,
are concerned: (1) Getting tht Picturf There (from the applications pro-
to the display surface),
There,
mouse
and perhaps, a keyboard.
performance graphics, and the top half of Figure
and (2) Manipulating
interactive devices such that a picture change
ture
1
i.e.
is
the Picture (by
generated).
most often termed the "output" function
in
means that we use some mathematical description encoded
The
way
first
of
some movement
operation, Getting the Pic-
the field of computer graphics.
in
of the
the applications
program
This
to put a
Display
Terms
Disks
Interactive
Devices
Mouse Devices
Joysticks
Dials
Buttons
Switches
Data Tablets
Light Pens
Keyboard
Output
Devices
Jthernet
Figure 1
Basic Block Diagram of a Typical Interactive Graphics Workstation
Applic
Graphics
Device
Program
Package
Driver To
DPU
(Software)
(Software)
(Lqw Level
Software)
Figure 2
Software for the Output Function
Applic
Data
Struct
Graphics
Data.
Struct
Device
Driver
Data
i
i
I
i
Applic
Graphics
Device
Program
Package
Driver To
DPU
Subroutine
Calls
Opcodes
Data
Figure 3
A Look at the Applications Program
-
4
visual display, or output, on the display surface.
tion,
we need
-
understand the output func-
In order to properly
examine both the software and the hardware currently used to perform that func-
to
tion.
Software
2.1.
A
ure
for the
sketch of the levels of software involved in performing the output function
we
In that figure,
2.
Output Function
see an applications
program (software) making
calls to
seen in Fig-
is
a graphics pack-
age (software), with those calls being converted into calls to a device driver (low level software).
Beyond
directed to
DPU's hardware.
the
The
gram
is
applications program
the set of
is
the start of the
design program, thai
is
it
applications program
This means that
the set of instructions that
makes
calls
to
the
Part of this transformation step
The
driver expects.
by the
DPU. The
to the
DPU. The
applications pro-
is
to
next step
the applications program
knows about
is
a
VLSI
transistors, registers, etc..
(Figure
The
3).
The
graphics package
and passes the transformed data onto the
it,
putting the data into an opcode format the dev-
pathway
final operations in the software
The device
the device driver.
if
graphics package
makes some transformations on the data passed
device driver.
pathway
computer instructions that maintain the abstract mathematical description, or
model, of the applications user's world.
ice
commands
the device driver are even lower level software calls, or perhaps,
to the
DPU
are performed by
driver converts the data received into the opcode streams required
in
the output function
is
a
hardware
step.
the
i.e.
DPI
's
conversion
of that stream into a form that can be sent to the display.
Hardware
2.2.
for the
Once we have
tion,
we then need
within the
the
DPU
a
Output Function
rough idea of the software pathway necessary to perform the output func-
to look at the
(Figure
pathway from the
4).
refresh
hardware pathway.
The only
The hardware pathway
part of the hardware
pathway that
subsystem to the display surface.
The
DPU
is
is
mostly contained
outside of the
is
DPU
comprised of the
is
fol-
lowing pieces of hardware: the display controller, the raster subsystem, the frame buffer, and the
5
-
refresh
subsystem.
DPU
we
if
discuss
We
can best understand the function of these different components of the
them
terms of their data flow.
in
The data
the device driver software.
lines
At the start of Figure
we
4,
see an
opcode
This stream contains the instructions and data output by
stream entering the display controller.
tem are
-
that leaves the the display controller for the raster subsys-
and polygons, and their associated colors and
The
fills.
raster subsystem, in turn,
converts those lines and polygons into the set of pixels necessary for their representation
frame
buffer.
The frame
pixels into electron
in
beam
With the above
DPU
mind, we can define the parts of the
We
the output function.
2.2.1.
begin by looking
in
brief overview of the data flow of the
DPU
with respect to the graphics capabilities needed for
more
detail at the display controller.
Graphics Capabilities for the Output Function: Display Controller
The
bilities.
by the refresh subsystem, which converts those
buffer's pixels are read
deflections.
in the
display controller
As seen
in
Figure
is
4,
best understood in terms of
its
text, colors, linestyles,
fills,
transformed coordinates
The operations
i.e.
etc..
is
i.e.
The data going out from the
familiar to those with a background
The
display
determines the operations
in
of display
describing the desired image.
opcode stream
it
display controller
text, colors, linestyles,
in is
comprised
is
comprised of
fills, etc..
the input data are the following: (1)
world coordinates to frame buffer coordinates.
operation, that
as formatted
rotations, scalings. translations, (2) coordinate system mappings,
perspective orthographic, and (4) display
the fourth
The stream coming
in,
a collection of untransformed coordinates, matricies,
the display controller performs on
matrix transformations,
clippings,
The data
frame buffer space,
in
operational capa-
its
the display controller has an opcode stream coming
by the device driver, and has vectors and polygons going out.
of opcodes followed by data.
data flow, and
list
management.
graphics
list
Now
The only one
management.
A
projections,
(3)
the
list
In reference to the previous discussion,
list
is
it
interpreted by the display controller.
in the
to
2D,
some explanation
set
is
of instructions
is
a
is
the data input as an
The
display controller
needs to perform on the input data from the display
on the remainder of the work to the next system
3D
three operations are
first
that requires
displax
i.e.
and
list,
and passes
hardware path, the raster subsystem.
X
ee
I—
a
co
•H
Q
CO
c
a
i
I
43
-^-
43
43
•H
S
rf
<o
03
rH
a)
CQ ^h
m
V
a
H
s
X!
•H
bO
•
G
H
0)
CO
(0
+3
V
CO
CO
(V
ll
>>
o
*H
(0
(0
J3
tf
3
u
Pu
Cfl
>>
CO
iI
T3
-#-
rH
i-H
a
ri
0)
CO
X
(0
•H
•H
OS
O
C
Ih
a)
0)
CO
<*H
+3
«H
ri
u
cd
3
fe
•H
bO
0Q
u
<o
a
o
CO
ii
43
0)
+3
-^~
.
-H
X
In
•H
Oh
>
a
CO
+3
3
o
S
0)
CO
(h
43
a>
-P
co
w
>>
43
Ih
CD
TO
J3
tf
3
W
CO
CO
c
43
bO
Oh
i1
-D
**
4-3
nj
.-i
CO
cu
u
d
0)
>
-o
1
>>
D
ti
X
f-H
03
•H
Q
5
3
£5
C;
3
CO
iI
§
~^-
CO
'
a
a
+3
CO
-
2.2.2.
6-
Graphics Capabilities for the Output Function: Raster Subsystem
The
raster subsystem
have been transformed into frame
receives lines and polygons that
buffer space, text, colors, linestyles, and polygon fillstyles from the display controller.
can discuss the operations performed by the raster subsystem,
buffer, the destination for the
The frame
buffer
is
drawn
be
at that position
system are
The data
at
memory.
segments into the
describe the frame
Each position
in
the frame buffer
each pixel location corresponds to the color that should
on the graphics display.
The operations performed by
The
destined for output to the frame buffer.
all
first
raster
set of pixels necessary for the display of those
the raster sub-
subsystem converts input
The
segments.
fills.
The
raster subsystem provides a similar treatment for text,
i.e.
line
raster subsystem
also converts input polygons to the set of pixels necessary for the display of their boundaries,
interior
we
output from the raster subsystem.
a two-dimensional array of
has a value, called a pixel.
we must
Before
it
fills
and
the frame
buffer with the appropriate patterns of pixels.
2.2.3.
Graphics Capabilities for the Output Function: The Refresh Subsystem
The
The
tron
final
pathway
part of the hardware
for the
output function
is
the refresh subsystem.
Tefresh subsystem reads rows of pixels from the frame buffer and produces the necessary elec-
beam
deflections on the cathode ray tube of the graphics display.
either every sixtieth or every thirtieth of a second,
It
performs this operation
depending on the cathode ray tube driver tech-
nology used.
2.3.
Software and Hardware for the Graphics Input Function
Wit h respect
is
to the graphics workstation, the second operation with
the input function (Figure
but
we
ices
at
It
is
more correctly termed the picture manipulation function
stick to the accepted terminology.
the applications program
function
5).
is
the
is
performing
really a feedback function,
DPU,
which we are concerned
is
i.e.
It
is
called the input function because the operation
reading a value from an interactive device.
we read some
The input
control values from the interactive dev-
pass those values back to the applications program,
make
a
change
in
the
>>
a
r—i
a
GO
•H
Q
0)
>
4
•H
01
d
-h
fc
>
o;
<d
0)
1
f
u
3
P
p Q
c
•
H
O
H
CL
P
a.
Q
P
bO
a
•H
CO
P
•—
3
i I
•
JS
PS
C
flj
10
(-1
o
•H
>
f
Q)
a
ri
<u
•H
>
0)
>
-H
Sh
3
^
a>
Q
Q
P
CO
S
3
o3
i—
PS
ri
V
w
u
h
C
•H
A
•
55
=
>
o
c
3
P
3
a
c
H
S,
M
™
-c
P
*y
o>
rf
^
~rt
°-
u
c
i
CO
i
p
m
•H
—
a
a
<
Jz
<*
<—
cd
rt
•H
t
>
v
U
•H
s
rt
U
hC
»h
Du
N
c
hD
O
new picture
picture at that level, and then send the
This
is
emphasized
Figure 5 by a pathway of directed arrows from the
in
the applications program, and another
The values read from
display.
program
tions
utilized
in
in
in the direction of
DPU
and then the
the interactive devices are typically passed back to the applica-
program, the raw values are
In the applications
an applications programmer written procedure to modify some aspect of the current
of this
is
the conversion of a dial value into an angle, with that angle being
command
plugged into a rotation matrix, or rotation
2.3.1.
DPU
towards the
of directed arrows back
set
an unchanged, or raw form.
An example
display.
pathway described above.
via the output
Hardware
for the
passed back to the
DPU.
Input Function
Other than the actual interactive device hardware, and the interfaces to support those devices,
there tends not to be
major exceptions:
(l)
much
special
direct cursor
modification hardware.
hardware to support the input function.
movement hardware
Cursor devices,
mouse
i.e.
There are two
support, and (2) display
devices, data tablet pens,
and
list
parameter
light pens,
some-
times have hardware support that eliminates the need to feed raw data values back to the applications program to change the position of the cursor.
the
DPU.
It
does not require
Display
direct cursor
ters
list
in
in
the
way
is
is
This hardware provides a mechanism by which modifications of parame-
display
lists
can be routed directly from the
the routing of a raw control value, or
value, as a direct replacement of an
angle value
in
a
generally carried out by
similar in goal to that of the hardware for
DPU
rotation
argument
command.
in
some simple
an instruction
of this type of
linear modification of that
in a
This type of operation
on interactive control move-
An example
ment, rather than through the longer applications program loop.
operation
is
of special hardware.
parameter modification hardware
movement
embedded
much
This operation
is
display
list.
similar in
i.e.
raw
replacing the
concept to the
ill-
thought-of practice of self-modifying code and requires some knowledge of the internal structure of
the selected graphics system's display
lists.
Besides hardware for the above two input operations, there
for the input function.
is
generally no special hardware
This lack of hardware limits the sophistication of the types of interactive
-p
U
co
<y
h c
H C3
•
C
>>
rH
h a
(0
to
o
p
•H
Q)
X!
O
B
3
P.
-O
•H
P
rH
CD
C
^
3
3
2
rH
CO
a;
u
3
•H
.-I
-p
hD-H
C
•HMO
O
fc
XH
P> O
Ctf
CO
«+-t
I
c
a c
ci
u
->
bDr-l
•H
C
Q •H
,* -P
-H
T5
rH T3
+3
we
operations
hardware
-
8
-
we
to support special input functions,
DPU
3.
Leading Edge Graphics Workstation Capabilities
to the applications
this point
We
bilities.
special
pathway from
are limited to the slow, feedback
the
To
Without
are currently capable of performing in the graphics workstation.
program and back.
we have not
talked about commercially available graphics workstations' capa-
have only given a generic description of the input and output functions with respect
hardware and software subsystems necessary to perform those functions. To show the lead-
to the
we
ing edge of technology for the graphics workstation,
back to some of those descriptions
refer
and point out how they are available on one high-performance graphics workstation.
The
3.1.
Silicon Graphics, Inc.
IRIS Workstation
on graphics capabilities
In the section
for the
output function of the display controller, we
listed the
operations that are performed by that part of the
mations,
(2)
coordinate system mappings, and clippings,
management.
tem of the
of the
Inc.
DPU
is
The
example of
best
component,
as
7,
and
five
[2
cies
this for a graphics workstation
').
The IRIS system has
major components,
shown
in
Figure
7, is a
chip pipeline for matrix multiplication.
all
fourth component
is
a
two chip
projection operation, and the
space.
The
final
(4)
display
list
component
i.e.
first
three functions
that of the Silicon Graphics.
"Geometry Pipeline"
for these opera-
special purpose
VLSI subsystem
floating point format.
The
third
top, bottom,
chips.
The second component
component
left,
VLSI
to convert uorld, or appli-
This part of the pipeline operates on
setup for rotations, translations, and scalings.
clippers that perform geometric clipping,
a
is
implemented via
special
Geometry Engine
cations program coordinates to
a four
and
projections,
(3)
the addition of a special pipeline processor to perform the
This pipeline has
first
are (l) matrix transfor-
of the leading edge developments that have been accomplished for this subsys-
IRIS (Figures 6 and
tions
The
list.
One
DPU. They
is
right, near,
a
six
and
4 x 4
is
matri-
chip pipeline of
far clipping.
The
pipeline, labeled scalers, that performs a perspective division, the
mapping
of the three-dimensional coordinates to two-dimensional
of the pipeline
is
a
VLSI subsystem
to convert back from
Geometry
W
w
0)
a;
ti
I I
c
•H
TJ
^*
CO
^
g
O
o
4->
7 *
1
w S
o >
CO
/- v
(h
CD
i—
a
°
rH
CO
D.
•
•
f>
c
-H
X!
)
cu
i- (
cU
'
co
03
+3
CD
a
o
cu
O
CO
H
to
OS
(0
a
o
o
0)
J2
•H
<—<
a
•H
Tt
o
co
•H
a
o
X
•H
CO
a
^
c
u
Js
J^
35
S
tT
CO
E
Ph
T3
C
•
rH
<-t~
i—l
U
C
T-H
10
V
r-H
*
C
T
O
-
9-
We
Engine floating point format to world coordinate format.
though not directly useful
Geometry Engine
ics,
Inc. for the
output operation,
for the graphics
note here that this operation,
somewhat
is
useful
when
The brochure produced by
pipeline as a computational engine.
IRIS-2400 model containing this pipeline
cites a capability for
utilizing the
Silicon
4x4
80K
Graph-
transfor-
mations per second.
The
Silicon Graphics, Inc.
One
hardware.
of these
is
in
IRIS-2400 has other leading edge functionalities present
DPU, polygon
the raster subsystem of the
hardware converts two and three-dimensional polygon data into the
pixels that represent the polygon
capability for filling polygons
at
in
hardware.
fill
set of textured
This
and colored
rate cited for the IRIS-2400
is
the
is
the
approximately 44 million pixels per second.
Another leading edge function of the IRIS
intensity modulation of line segments so that
brighter,
The
the frame buffer.
in special
is
Depth cueing
depth cueing hardware.
components of the segment near the viewer appear
The
and those farther away appear dim.
rate cited for this
hardware capability
is
from
1.5 to 3 million pixels per second.
Gouraud shading
algorithm useful
in
is
Gouraud shading
another feature of the IRIS-2400.
depicting surfaces via computer graphics.
is
a
smooth shading
This algorithm works by taking the
polygons that form the surface and shading those polygons by linear interpolation of the color
the verticies of the polygon
intensities specified at
tinuities
bility is
and produces
up
surface
hardware addition,
frame
same time
elimination
are
realistic surface.
buffer.
is
is
a
is
via
The
special
a special piece of
Depth information,
as color information
As each new
provided
is
called a Z-buffer.
the frame buffer, there
fashion.
smoother, more
rate cited for this
hardware capa-
to 3 million pixels per second
Hidden
as the
a
This technique eliminates intensity discon-
z
hardware on
memory
coordinate values,
written into the frame buffer.
matching
z
coordinate.
piece of the picture
compared against those already
in
is
is
the
the
The
IRIS-2400.
same two-dimensional
stored into this
memory
size
at the
This means that for each pixel
This information
is
used
in
in
the following
processed by the raster subsystem, the pixel values
the Z-buffer.
If
the
new
pixel
is
closer, the color associated
10
-
with that pixel replaces the old one
the Z-buffer.
is
the frame buffer, and the
in
farther
This special hardware addition
carded.
is
the new pixel
If
cited
IRIS literature
in the
for the
-
away than
z
coordinate
subsystem of the IRIS.
speed of this Z-buffering technique,
approximately the same rate as the polygon
written into
is
that indicated in the Z-buffer, the pixel
to the raster
is
new
it
is
dis-
Though no value
should operate at
hardware, with some degradation due to the addi-
fill
tional z coordinate value that needs to be propagated.
4.
Trends
Graphics Capabilities
in
The above
is
Workstation
for the
a quick overview of one leading edge graphics workstation.
There are others
that exhibit similar capabilities, though most are not nearly the speed of the IRIS.
brief look at the leading edge though,
performance graphics functionality
in
functionality,
is
see
two
The
first
past, the graphics applications user
We
new
technol-
hardware additions requested by
do not expect
became accustomed
to turn around almost immediately with
VLSI
trend, the increasing importance of high perfor-
a continuation of the cycles of
the ever unsatisfied graphics applications user.
this
trends, (1) the increasing importance of high
the workstation, and (2) the increasing use of
ogy to implement this functionality.
mance graphics
we
From
requests.
to
this trend to diminish.
new hardware additions
In the
rapidly, only
Given human nature, we do not expect
this to change.
To understand
the second trend, the increasing use of the
VLSI technology
to
enhance the
graphics capabilities of the workstation, we need to answer the question, what does VLSI provide?
VLSI provides
processors
We
8.
the capability for the parallel operation of large
111.
we
sometime between the years 1990 and 2001
these numbers, graphics researchers tend to see tens of processors per chip,
parallel
on some graphics algorithm
JSome landmarks
50,000
of relatively inexpensive
see 2 million transistors per chip in the research laboratory
are promised 10 million transistors per chip
From
chip
Currently,
numbers
in
|3|,
the
PLA
for transistor
and
ROM)
and 194,000 transistors
in
18,000 transistors
the Motorola
in
the
MC68020
in
the
Z8000
[7].
Motorola MC68000 (16,000 in the processor,
40,000 transistors in one Geometry Engine
14],
.
12;.
operating
$.
count are 68,000 transistors
[4j,
all
9
in
11
-
-
Fourth Cycle of Hardware Improvements to the Graphics System: Research
4.1.
Besides the improvement of the capabilities of the standard hardware that performs the
input and output functions of the graphics workstation,
hardware developments also
cial
work
is
The
(The need
algorithm.
for a
methodology
thrust of this research
and producing a
for taking a graphics algorithm
hardware development.
time
and
software engineering
is
engineering,
prominent
for the real-time display
is
the development of a
quite simply to save time for the next
is
to the other cycles of special graphics
software
cycle, the
system that performs that
silicon
through the hardware development process.) The scope of this work
graphics
new
In this
VLSI architectures
the design of special, application dependent
methodology
see the start of a fourth cycle of spe-
VLSI technology.
utilizing the
generation of select graphics algorithms.
we
VLSI computer
part of this effort in that before one
It
is
algorithm
quite large in comparison
encompasses the areas of
architectures.
commits
to
Real-time
real-
graphics
implementing a particular
graphics algorithm in silicon, one needs to be able to evaluate whether or not that algorithm can
be
computed
in
research effort
is
real-time
to
on
a
currently
available,
produce a system that can automatically model the desired algorithm such
that runtime parameters can be obtained for hypothetical architectures,
the
MC68000
is
processors like
VLSI.
in
The
research effort
is
twofold.
The
the determination and evaluation of a special architecture for the studied algorithm.
The detcrminat ion
by
known
architectures are part of this effort in that the hypothetical architectures
modeled are those capable of being implemented
part
i.e.
for subparts of the larger algorithm.
VLSI computer
first
The
high-performance graphics system.
of the architecture
is
accomplished through iterative design refinement driven
The evaluation
previous experience with such special processors.
runtime evaluation, and
died algorithm
is
a
technological evaluation.
capable of being executed
technological evaluation determines
current technological constraints.
if
in
The runtime evaluation determines
is
if
both a
the stu-
real-time on the hypothetical architecture.
the proposed architecture
Part of this
of the architecture
effort
is
is
The
capable of being built within
the examination of the changes required in
the design of the graphics system that receives the output of the real-time display generator.
12
-
The second
part of the research effort
in
-
the area of
VLSI computer architectures
is
the
evaluation and refinement of the software tools available for putting an architecture on silicon.
VLSI technology
Since
relatively new, the available software tools for producing special purpose
is
VLSI chips and systems
such software.
The
are crude.
Since this
research of the fourth cycle presupposes the existence of
clearly not the case, this research effort necessarily
is
encompasses the
refinement and development of such software tools.
We
Where
4.2.
The
Are Today
in
hardware
initial special
the Fourth Cycle
efforts of the fourth cycle are the construction of single
VLSI multiprocessors compatible with commercially
The
tations.
selection
of the
commercially
hardware additions cuts the research
effort
board
available, high-performance graphics works-
available workstation
as
bed for the special
the
with respect to real-time display generators
delaying for later consideration possible changes to the design of the display system
by
in half,
Such
\.
a
sectioning of the research effort allows the design and testing of single board parts of perhaps
much
larger
One such
VLSI systems.
underway
effort
design of a Multibus compatible, single board
at the
Naval Postgraduate School
VLSI multiprocessor
is
the
contour surface
for generating
displays in real-time 13i.
4.2.1.
Contour Surface Display Generator
The
goal of the contour surface display generator
surface of a
graphics workstation,
in
one-thirtieth
is
of a
to
produce and deliver to the display
second, the complete contour surface
display generated from a 30 x 30 x 30 three-dimensional grid.
system
is
in
mind
for this
one directly from X-ray crystallography, the determination of molecular structures from
electron density data
ics
The application
1
.
Such an operation
program that displays
a
Dreiding
is
(stick)
executed interact
i\
ely
by using a computer graph-
model of the molecule,
inside a contour surface
display of the corresponding region of the molecule's electron density grid.
In addition to the
graphics function, the computer program monitors a series of signals generated by the user, while
t
There are currently substantial research
efforts in the direction of the redesign of the graphics
system
|5,
10i
Figure 8
Contour Surface Display Generated from a Hydrogen Atom
Wavefunction Squared (3dz2 orbital)
13
-
the user
-
turning the various knobs on a control console
is
program
are interpreted by the
16,.
The values read from
these knobs
as modifications to either the molecule or the surface display.
Modifications to the molecule take the form of bond rotations or bond lengthenings.
Modifica-
tions to the contour surface display take the form of an increase or decrease of the contour level.
The
goal of this process
given electron density data
model of the molecule that best
to produce the stick
is
The
set.
user can determine whether or not the
model
fits
grid by modifying the contour level, shrinking the contour surface to the molecule.
user can
expand the contour surface from the
stick
model
inside the
fits
for better visibility.
the density
Similarly, the
This function
requires that the hardware have the capability to rapidly change the contour display as
its
con-
is
con-
tour level changes.
4.2.2.
Decomposable Algorithm
The algorithm around which
structed
is
presented
algorithm that
is
used to contour
three-dimensional
larger
Contouring Operation
the design of the contour surface display generator
That algorithm
14'.
in
for the
all
is
constructed from a two-dimensional contouring
the possible planar, orthogonal, two-dimensional grids of a
The two-dimensional contouring
grid.
algorithm
of
comprised of components, called algorithm components, that operate on individual
of a larger two-dimensional grid.
(Note: a 2 x 2 subgrid
dimensional grid bounded by four adjacent grid points.)
sar>
for
generating
required for any other
for all
2x2
2x2
2 \ 2
subgrid.
If
If
In the
2x2
we
study
2x2
subgrids
is
defined to be that portion of the two-
algorithm, the computations neces-
subgrid
are
independent
we compute the contours corresponding
subgrids of a two-dimensional grid, then
contours for that grid.
ble
contour lines for a single
the
is
that
will
from those
to contour level k
have determined the complete
we compute the contours corresponding
set of
to contour level k for all possi-
subgrids of the larger three-dimensional grid, then we will have the complete contour
surface display for that
simultaneous display of
dimensional
grid,
development of
grid.
all
The assemblage
the
of the contours created by this process,
contours created
for
all
2x2
subgrids of the
produces a "chicken-wire-like" contour surface display (Figure
this
algorithm can be found
in
14
.
V\ e refer to the results
i.e.
larger
8).
the
three-
The
full
of those studies, and
U)
•
A 2 x 2 Subgrid
2
A 2D Grid of Size
(1
-
1)
x
(m -
1)
A 3D Grid of Size
1
x
(m -
1)
x
(n
-
1)
2x2
+
m x
(1
-
2x2
1)
1
x m Has
2x2
1
x
Subgrids
x m x n Has
(n
1) - n x
(1
Subgrids
Figure 9
Subgrid Count for 2D and 3D Grids
1)
x
(m -
1)
-
do not
cover
algorithm
the
here
great
in
14
-
We
detail.
only
note
that
for
the
largest
three-
dimensional grid of interest for the above application, a 30 x 30 x 30 grid, this means the potential for
75,690 parallel operations (Figure
4.2.3.
Architectural Goals for the Contour Surface Display Generator
The
meets
first
the
goal
in
9).
the design of the contour surface display generator
performance
requirements,
30 x 30 x 30 grid, and delivered to a display device
tious goal but
it
sitions
in one-thirtieth of a
must be noted that one-thirtieth of a second
allowable for the operation.
Any
longer
to build a system that
new contour surface display computed from
a
i.e.
is
amount
the
is
second.
This
is
an ambi-
maximum amount
of time does not provide the viewer
a
of time
smooth tran-
between successive contour surface displays. This goal says nothing about the load time of
the 30 x 30 x 30 grid to the special piece of hardware that computes the contour surface display.
Consequently, we allow solut ions that pre-load the
The second
grid.
goal for the construction of the contour surface display generator
mentioned above, that we be able
hardware and software changes.
plug
it
into
an
For the purposes of
chosen to be the Silicon Graphics,
currently the highest
to
Inc.
existing
graphics system
this study,
IRIS workstation
the one
with minimal
graphics system
is
Silicon Graphics, Inc. IRIS
is
the target
The
[2j.
is
performance graphics system that best matches the selected application's
goals.
Architectural Outlines
4.2.4.
Given that we have
and given that our goal
wo can make about
arra\
(Note:
is
highly decomposable algorithm for contour surface display generation.
a single
board
\
LSI multiprocessor, there are some simple statements
the system's architecture.
of independent
(Figure 10)
a
The
first
statement
processors, each processor containing
we
call these processors,
is
that
it
is
some subpart of the
comprised of an
total algorithm
algorithm component processors.) In the case of the
contour surface display generation algorithm, this means that each processor contains one or more
2x2
subgrids taken from the larger three-dimensional grid
It
also
means
that each processor
is
System Bus
Ext .Port
Multibus
Figure 10 Contour Surface Display Generator
-
ir,
-
responsible for computing the pari of the surface" display represented by
performs these eornput
at
is
algorithm
in
each processor
in
the architecture for the contour surface display
though we compute the subparts of the contour surface display generation
that, even
parallel,
The system
subgrids.
ions in parallel.
The second statement we can make about
generator,
its
we need
a serial,
the coordinates and drawing instructions generated
to output
one processor
at
This statement
a time, fashion.
is
in
based upon the
requirement that the contour surface display generator be plugged into an existing graphics sys-
tem (Figure
11).
Currently available graphics systems only have
display processing units.
a
single data
path into their
Consequently, some mechanism needs to be provided to output the data
generated from the algorithm component processors, one
at
a time, to the display
processing unit
of the graphics system.
A
third statement
delivering the
2x2
we can make about the architecture
Subgrid delivery
subgrids.
ponent processor addressability
determined processor.
a
A
.
i.e.
we need
for this qualification
tiple
VLSI chips
lines
between
\
be able to put each set of subgrids
is
a
large
number
is
mechanism
based upon the knowledge that
scarce resource.
y
The output mechanism
is
pre-
that n must be
to run
between mul-
package pins
for control
for the coordinates
and
a similar processor addressa-
capability
A fourth statement we ran make about the architecture
is
that
we need some mechanism
delivenne the new contour level? to the algorithm component processors.
can be delivered either
serial,
com-
a
in
for
of control lines and arbitration circuitry.
that v\e expect the addressing
This qualification
LSI chips arc
a
drawing instructions of the contour surface display generator needs
bilit
we need some mechanism
qualification to ihi^ processor addressability capability
simple mechanism that doesn't require
The reason
that
qualified by the necessity for algorithm
is
to
is
in
parallel, to the
Since
we
are already putting one
system for loading data into the processors, we expect that
levels.
levels
complete system of processors during one cycle, or
to each processor on a separate cycle.
contour
The new contour
for
Consequently, the new contour
it
mechanism
in
in
the
can also be used to deliver the new
levels are delivered in serial, in a
manner
similar
d
•H
(0
a
CO
M
(V
to
fa
o
r—
fa
r-H
a
-P
fa
10
o m
+3
a
Q
T3
c
In
s
-P
X,
c
±>
Q)
•H
C
to
a
oj
(h
U
<
to
U
<
w
(D
to
to
o
B
hD
rH
cd
o
DQ
U
-P
d
CO
0)
CQ
c
4^
a
u
c:
H
-P
o
to
d
>>
CQ
C
rH
a
o
to
•H
Q
to
\
o
c
C
a
C
8
•H
>
P
c
o
o
in
Q
5-!
£J
O
P
c
O
SD-QHMOQ^Cfl
-
16
-
mechanism.
to the subgrid load
Architecture of the Contour Surface Display Generator
4.2.5.
The contour
surface display generator
rithm component processors,
ponent processor
and
itself,
is
comprised of four subsystems:
(2) the controller for that
(4)
(1) the
array of algo-
array of processors, (3) the algorithm com-
the interface to the graphics system.
how
Figure 11 shows
the
four subsystems relate to the target graphics system.
The Array of Algorithm Component Processors
4.2.5.1.
Figure 11 depicts the array of algorithm component processors as a single box, with three
connections to the outside environment, an input bus for contour levels and subgrids, an output
bus for coordinates and drawing instructions, and
dual bus configuration
autonomous nature
The input bus
to the array
is
bus for controlling the array of processors.
a
chosen to maximize the amount of concurrency
in
the system due to the
of the input with respect to the output.
is
the
medium
of algorithm
responsible for delivering subgrid definitions and contour levels
component
processors.
Because
ihis
is
the only data required to be
transmitted on the bus. the bandwidth of the input bus does not need to be very high.
at
A
The
rate
which subgrid definitions are loaded into the algorithm component processors does not directh
the real-time capabilities of the system.
affect
displax
generator are determined b>
component processor. This,
unit.
The output bus
is
in
The
real-time capabilities of the contour surface
the rate at which data can be produced in each algorithm
turn, directly affects the rate of output to the display processing
responsible for delivering the coordinates and drawing instructions to the
display processing unit.
The
sar\ to
control bus for the contour surface display generator contains
manage
the data flow on the input side of the system (Figure 12).
lines are required
the algorithm
12
all
the control lines neces-
Two
additional control
on the output side of the system to coordinate the two wire handshake between
component processors and the display processing
shows the signals that are needed
for all
unit
(Geometry Engines).
Figure
the pin assignments of the algorithm component
SYSTEMS
1
——A
Input
Bus
1BO 1B16
Control Bus
Reset
Mul t i bus \
I nt erf ace
86 Pins
Test
Load Subgrids
Compute Contours
Input Count Enable
Input Count Enable Return
Output Count Enable
CONTROLLER
Output Count Enable Return
Wait/Test Acknowledge
Write Enable
Error
nput
Bus
IBO-IB15
I
N
.ALGORITHM
Output
Bus
OBO OBI
Wait/Test
Acknowl edge
Reset
Write
Enable
Test
Load
Su bgr ids
Comput e
Contours
I r.
p at
Court
COMPONENT
.
Output Count
Enable Return
^
Enable Return
Output Count
Enabl
Input Count
En ab i e
PROCESSOR
ge req
ge ack
Figure 12
Functional Pin Diagrams of the Systems Controller
and the Algorithm Component Processor
-
17
-
processor.
Systems Controller
4.2.5.2.
Control of the array of algorithm component processors involves the integration of several
The one which coordinates
components.
different
The systems
systems controller.
places the
mands
controller converts
The Multibus bus master
commands on
of these processors
the Multibus.
the board
is
The systems
controller
in
is
the Multibus Backplane which
a slave in that
it
reacts to
that
is
responsible
for
the
is
is
the algorithm
component
an overview diagram of the key components of that processor.
is
interested
4.2.5.4.
in a
is
a
full
microprocessor of the Motorola
more complete treatment
We
is
referred to
do not go into great
MCG8000
It
should
The reader
class.
13
surface display generator
is
connected to the Silicon Graphics.
system b> means of the IEEF. standard Multibus Backplane Bus 6
all
inputs to the contour surface displa\ generator.
classifications of bus
different
mands, and
(2)
Slaves
Master module
module
Fig-
System Interfaces
The contour
provide.*
Each
processor.
identical and functions independently in the production of the outputs.
be noted that the processor
the
com-
production of the coordinates and drawing
detail about that processor other than to point out the items that appear in Figure 13.
two
the
incoming signals from the Multibus bus mas-
instructions for the contour surface display generator
ic K
is
Algorithm Component Processor
The component
1?.
other components
placed on the Multibus.
4.2.5.3.
ure
all
IRIS workstation into signals which make sense to the algorithm
ter of the Silicon Graphics, Inc.
component processors.
the operation of
in that
for
svstem.
-
modules:
(1)
those which respond to
the graphics system.
Masters
-
.
Inc.
IRIS graph-
This Multibus connection
The Multibus
interfaces to basically
those modules which generate com-
commands. The parent processor (MC68000)
The contour surface display generator
is
is
a slave
L
0)
P.-H
3
rt
to
c
C-H
H
+3
u
V
C
CD
O
>,
ci
u
/
1
(X
(0
\
•H
(0
tO
\
hD
QJ
O
J
CD
Pi
Cu
ci
*H
CD
CO
-p
CO
co
O
u
DQ
to
Du
S
en
+3
u
o
2S
c
o
H
to
CO
c
O
o
CO
-P
c
p
o
c
0)
a
PQ
O
43
CD
-D
(0
<
to
.
CO
"bO
*H
c
(1)
•H
Q
co
3>
<,
T3
•H
tf
P
hD
bD
u
Pu
T3
P
P
a
CO
C
43
c
«j
Xi
3
3
CO
^^
-p
a
o
a
o
e
43
•H
Jh
bD
t
d d c
C-H
IM
-
The output
of the contour surface display generator
The Private Bus
(Figure 11).
-
a unidirectional.
is
16
to the Private
is
bus dedicated to the provision of coordi-
bit
nate and drawing instructions to the high speed Geometry Engines.
of data
line
Bus of the IRIS system
Coordination of the transfer
between the algorithm component processors and the Geometry Engines
done via
is
a
two
handshake protocol.
System Implementation
4.2.5.5.
The IRIS graphics workstation
communications network and
hardware elements
(Figure
a
make up
that
is
MCoSO(K)
uses the Motorola
whose output
is
between devices
operating system, the Ethernet
real-time three-dimensional color-raster graphics system.
as a controller
and
Geometry Engine
a
done on the Multibus.
The terminal
terminal on the workstation.
a host
pipeline for matrix operations
destined for a high-resolution color raster-scan display.
is
The
the workstation are connected to one another via the Multibus
Graphics commands are issued by
(3).
UNIX
comprised of the
Graphics pipeline data
is
The communications
transferred on the Private
Bus.
Graphical output
pipeline.
initiated
is
l>\
the ('PI
sending
l>\
The Geometry Engines perform matrix
fonts,
The update controller does scan conversion of polygons,
The
lines
display
and constructs
and characters.
capabilities required
I
The
and polygons.
The results of those
2'.
Integration of the Contour Surface Display Generator
The Multibus Backplane
generator
lines
scaling.
controller fetches the picture-element
values from ihe frame buffer and draws them on the face of the color monitor
4.2.5.G.
to the graphics
transformations, clipping and
frame buffer controller interprets characters, controls
operations an- placed into the frame buffer.
commands and data
is
to
of that s\ stem.
IRIS supplies
t
In-
power and inter-board communications
implement an integrated graphics system.
constructed as
and memory device.
of the
a
peripheral board and
is
added
The contour
to the IRIS graphics
surface display
system as a slave
Figure 6 shows the contour surface display generator as an integral part
J
GE
=
=
MC68000
PROCESSOR
J
BOARD
3
(GF1)
J
2
BOARD
—
J
(PM1)
1
n
fo:
Figure 14a
Silicon Graphics, Inc. IRIS Pipeline Connection
the Private Bus (Courtesy of Silicon Graphics, Inc.)
GE
BOARD
—
CONTOUR
(GF1)
SURFACE
DISPLAY
—
GENERATOR
Figure 14b
The J3 Pipeline Connection of the Silicon Graphics, Inc
for the Contour Surface Display Generator
Private Bus
-
The
19-
use of the contour surface display generator in the graphics system involves the estab-
lishment of a physical connection between the peripheral board containing the algorithm com-
ponent processors and the display system.
This connection involves the Private Bus port which
transports the data directly to the Geometry Engines.
tem has
a
In its present configuration, the
IRIS sys-
connecting cable that directly connects the system processor to the Geometry Engines
(J3 connection of Figure 14a).
When
the contour surface display generator
must be shared by both
itself
added to the system,
is
To
and the system processor.
processor and generator data to the
Geometry Engines,
a
this physical connection
enable the user to alternatively route
hardware switch
added to the system.
is
This hardware provides the system with a way to multiplex the direct path of the Private Bus.
software switch then provides the control of the Private Bus
:
origin
A
When
and configuration.
activated, this switch establishes a path from the contour surface display generator (Figure 14b).
If
is
it
4.2.6.
not activated, the IRIS system remains
13
tem
.
is
the
a
quick overview of the architecture of the contour surface display generator.
in
this
system
is
obviously the algorithm component processor.
determined that 50 algorithm component processors are
to generate
mine the
is
components
of the key
it
original configuration.
Hardware Complexity Estimate
The above
One
in its
and deliver the average sized picture
feasibility of the
algorithm
complete system, we need
component
processor.
The derivation
equivalent devices necessary.
only that the total
660K devices
being produced
number
This number
in
Figure
is
well below the
research laboratories
is
less
J9'.
of the
a circuit
a
in less
in
the sys-
In order to deter-
complexity estimate for the
summary
numbers on
number
of the
that' figure
is
in
size of
of transistor
13
We
.
component processor
two million devices per chip
For
than 5 VLSI chips.
grasp of current technology.
is
that are needed
30 x 30 x 30 grid.
of devices required for one algorithm
rithm component processors can be built
per chip level, this
15
for a
all
In
level that
is
is
note
about
currently
this level of chip complexity, the array of algo-
than 25 VLSI chips.
The design
At the ten million devices
of this system
is
therefore
within the
(1)
RAM
space
8192
(2)
ROM
(2
devices 'bit)
32 bits
x
space
— Tree
-
--
(1
device
524,288 devices
'bit)
tables
=
2048 x 16 bits
--
Microcode
2048 x 32
(3)
—
--
ALU
—
Register block
--
Control section
— Data,
65,768 devices
bits
Processor space
—
32,768 devices
address and control buses
Refresh logic
23,000 devices
(4) Interface
Unit and Test Bed
— External
— Test
—
Interface Logic
circuitry
— Latches and
Drivers
15,000 devices
Device Total
660,582 devices
Figure 15
Algorithm Component Processor's Circuit Complexity Estimate
20
-
-
Conclusions
5.
The above
is
but one example of the fourth cycle of hardware developments for the graphics
The purpose behind
system
the presentation of this effort
One
limitations of research in this cycle.
is
to highlight the possibilities and
of the key points described at the start of this paper
is
that applications users are never satisfied with the graphics capabilities of the currently available
We
system.
need to reexamine this notion
We
display generator.
can be assured that once we produce such a system that the applications
user will return to us with further
in
demands
the already manufactured system.
demand,
make
or
cannot count on the widespread
The only
mance.
The
step
first
in
solution then
that process
is
we need
to
for
make
VLSI
set
to put together a
The
communit)
hardware
Once
after standard interfaces
for select graphics
hardware
effort
on the
If
for
We
which we desire real-time perfor-
methodology based upon experience with design-
design and production of special
the establishment of "silicon foundries".
cial
any algorithm
methodology
that
We
standards for the production of such systems.
design.
university
to either justify the special
the production of that special hardware inexpensive.
ing such special purpose display generators.
can then
respond to these desires for special hardware for
the production of that special hardware inexpensive.
demand
is
for either other algorithms, or additional capabilities
In order to
select applications graphics algorithms,
basis of widespread
of the production of the contour surface
light
in
is
sufficient ly developed,
can see an analogy
VLSI chips came within the
were defined
we extend
in
we
the world of
possibilities of the
for rhip production.
Hence, we saw
this idea to that of the production of spe-
algorithms of the applications user, this means that somewhere
the future there will be "real-time, graphics foundries".
It
is
toward*
this direction that
in
we can
expect future developments for workstation graphics capabilities to proceed.
G.
1.
References
Barry. C. D. and Sucher.
J.
H.
"Interactive Real-Time Contouring of Density Maps." Ameri-
can Crystallographic Association Winter Meeting, Honolulu. March 1979, Foster Session
2.
Clark.
J.
H and
Davis, T.
Electronics. October 20. 1983.
"Workstation
I
nites
Real-Time Graphics with
I nix. Ethernet."
21
3.
Clark.
4
"The Geometry Engine: A VLSI Geomctn
H.
J
A Quarterly Report
Graphics:
-
of
S1GGRAPH- ACM,
System
Computer
for Graphics,"
Vol. 16. No. 3 (July 1982).
127
p.
Frank. Edward H. and Sproull. Robert F. "Testing and Debugging Custom Integrated CirComputing Surveys. Vol 13. No. 4 (December 1981), p. 425.
cuits."
5.
Fuchs, Henry
ments
No. 3 (July 1985),
6.
Intel
"Fast Spheres, Shadows, Textures, Transparencies, and Image Enhance-
et al.
Pixel-Planes."
in
Computer Graphics: A Quarterly Report
of
S1GCR APH-ACM,
Vol. 19,
111.
p.
Corporation Technical Publication, Intel Multibus Specification, Intel Corporation, Santa
Clara, California, 1982.
7.
MacGregor.
4.
No. 4 (August 1984).
D.. Mothersole, D.,
"The Motorola MC68020," IEEE Micro,
and Moyer, B.
Mead, Carver and Conway. Lynn Introduction
Addison-Wesley Publishing Company. 1980.
8.
9.
Micronews "IBM Experimental Million
1984),
10.
p.
Vol.
p. 101.
Bit
to
VLSI Systems, Reading. Massachusetts:
Memory Chip," IEEE Micro,
Vol.
4.
No. 4 (August
119.
SIGGRAPH. VLSI for Computer
Graphics. Special Interest
Group on Computer Graphics An-
nual Meeting, San Francisco. July 1985, Notes for Course 20.
can.
I.E. and Mead, C.A.
September 1977. pp. 210-228.
12.
I hr.
11.
Sutherland.
Academic
13.
Leonard
"Microelectronics and
Algorithm-Structured
Computer
Computer Arrayt
and
Science," Scientific Ameri-
Networks,
Orlando.
\\ alker.
Robert A. and Zyda. Michael J "An Integrated Systems Architecture for Real-Time
Contour Surface Display Generation." Technical Report NPS52-85-010. Monterey.
Department of Computer Science. Naval Postgraduate School. August 1985.
14.
Florida:
Press. 1984.
"A Decomposable Algorithm
Zyda. Michael J
for
California:
Contour Surface Display Generation."
Technical Report NPS52-84-011. Monterey, California: Department of Computer Science. Naval
Postgraduate School. August 1984.
16.
Zyda.
Technical
November
Michael
J.
"Joystick
Memorandum
1980.
Driven Display
24. St. Louis:
Rotation and Control Console Management."
Department of Computer
Science.
Washington University,
Distribution List for Papers Written by Michael J. Zyda
Dr. Henrv Fuchs,
208 New West Hall (035A),
University of North Carolina,
Chapel Hill, NC 27514
Dr. Kent R. Wilson,
University of California, San Diego
B-014,
Dept. of Chemistry,
La Jolla, CA 92093
Dr.
Guy
L. Tribble, III
Apple Computer.
20525 Mariani Ave,
Cupertino,
CA
95014
Dr. Victor Lesser.
University of Massachusetts. Amherst
Dept. of Computer and Information Science,
Amherst,
MA
01003
Dr. Gunther Schrack.
Dept. of Electrical Engineering,
University of British Columbia.
Vancouver, B.C., Canada V6T 1W5
Dr. R. Daniel Bergeron.
Dept. of Computer Science.
University of New Hampshire.
Durham.
NH
03824
Dr. Ed Wegman.
Division Head.
Mathematical Sciences Division.
Office of Naval Research.
800 N. Quincy Street.
Arlington. VA 22217-5000
Dr. Gregory B. Smith.
ATT
Information Systems.
190 River Road,
Summit. NJ 07901
Dr.
Lynn Conway.
Defense Advanced Research Projects Agencv/IPTO,
1400 Wilson Blvd.,
Arlington. VA 22209
Dr. John Lowrance,
SRI International,
333 Ravenswood Ave.
Menlo Park, CA 94025
Dr. David Mizell,
Office of Naval Research,
1030 E. Green St.
CA
Pasadena,
91106
Dr. Richard Lau.
Office of Naval Research,
Code 411,
800 N. Quincy St.
Arlington, VA 22217-5000
Dr. Y.S.
Wu.
Naval Research Laboratory.
Code 7007,
Washington. D.C. 20375
Dr. Joel Trimble.
Office of Naval Research.
Code 251.
Arlington. VA 22217-5000
Robert A.
Ellis.
Calma Company,
527 Lakeside Drive.
Sunnyvale. CA 9408C
Dr.
James H. Clark,
Silicon Graphics, Inc.
630 Clyde Court.
Mountain View, CA 94043
Shinji
Dept
Tomita.
of Information Science.
Kyoto University.
.
Sakyo-ku. Kyoto, 606, Japan
Hiroshi Hagiwara.
Dept. of Information Science.
Kyoto University.
Sakyo-ku. Kyoto, 606. Japan
Dr. Alain Fournier.
Dept. of Computer Science.
University of Toronto.
Toronto. Ontario. Canada
M5S 1A4
Dr. Andries Van Dam.
Dcpt. of Computer Science,
Brown
University.
Providence. RI 02912
Dr. Brian A. Barsky,
Berkeley Computer Graphics Laboratory,
Computer Sciences Division,
Dept. of Electrical Engineering and Computer Sciences,
University of California,
Berkeley, CA 94720
Dr. Ivan E. Sutherland,
Carnegie Mellon University,
Pittsburg. PA 15213
Dr. Turner Whitted,
208 New West Hall (035 A),
University of North Carolina.
Chapel Hill, NX 27514
Dr. Robert B. Grafton.
Office of Naval Research,
Code 433.
Arlington. Virginia 22217-5000
Nakamae,
Machinery Laboratory.
Hiroshima University.
Higashihiroshima 724. Japan
Professor Eihachiro
Electric
Carl Machover.
Machover Associates.
199 Main Street.
White Plains. New York 10601
Buddy Dean.
Naval Postgraduate School,
Dr.
Code
52. Dept. of
Computer
Science.
Monterey. California 93943
Earl Billingsley.
43 Fort Hill Terrace.
Northhampton,
MA
01060
Dr. .Ian Cuny.
University of Massachusetts. Amherst
Dept. of Computer and Information Science,
Amherst.
MA
01003
Robert Luin.
Silicon Graphics. Inc.
630 Clyde Court.
Mountain View. CA 94043
-
4
-
Jeff Hausch,
Silicon Graphics, Inc.
630 Clyde Court,
Mountain View, CA 94043
Robert A. Walker,
Naval Sea Systems Command (SEA 61 YM),
Department of the Navy,
Washington, DC 20362-5101
Lt.
Dr. Barry L. Kalman,
Washington University,
Department of Computer Science,
Box 1045,
St. Louis, Missouri 63130
Dr.
W m.
7
Randolph Franklin,
Computer, and Systems Engineering Department,
Electrical,
Rensselaer Polvtechnic Institute,
Troy, New York 12180-3590
Dr. Gershon Kedem,
Microelectronics Center of North Carolina,
PO Box 12889,
3021 Cornwallis Road,
Research Triangle Park,
North Carolina 27709
Dr. Branko
J.
Gerovac.
Equipment Corporation.
150 Locke Drive LM04/H4. Box 1015
Digital
Marlboro, Massachusetts 01752-9115
Robert A. Schumacker,
Evans and Sutherland.
PO
Box 8700.
580 Arapeen Drive.
Salt Lake City. Utah 84108
R. A. Dammkoehler,
Washington University,
Department of Computer Science,
Box
1045.
St. Louis.
Missouri 63130
Dr. Lynn Ten Eyck,
Interface Software.
79521 Highway 99N,
Cottage Grove, Oregon 97424
-
5
-
Toshiaki Yoshinaga,
Hitachi Works, Hitachi Ltd.
1-1. Saiwaicho 3 Chome,
Hitachi-shi, Ibaraki-ken,
317 Japan
Takatoshi Kodaira,
Omika Works,
2-1,
Hitachi Ltd.
Omika-cho 5-chome,
Hitachi-shi, Ibaraki-ken,
319-12 Japan
Atsushi Suzuki,
Hitachi Engineering, Co. Ltd.
2-1, Saiwai-cho 3-Chome,
Hitachi-shi, Ibaraki-ken,
317 Japan
Toshiro Nishimura,
Hitachi Engineering, Co. Ltd.
Saiwai-cho 3-Chome,
Hitachi-shi. Ibaraki-ken,
2-1,
317 Japan
Dr. John Staudhammer.
Dept. of Electrical Engineering,
L'niversity of Florida.
Gainesville, Florida 32611
Dr. Lewis E. Hitchner.
Computer and Information Science Dept.
237 Applied Science Building,
University of California at Santa Cruz.
Santa Cruz. California 95064
Dr. Pat Mantey.
Computer Engineering Department,
University of California at Santa Cruz.
Santa Cruz. California 95064
Dr. Walter A. Burkhardt,
University of California, San Diego
Dept. of Computer Science,
La Jolla. California 92093
P. K. Rustagi,
Silicon Graphics. Inc.
630 Clyde Court.
Mountain View, CA 94043
Peter Broadwell,
Silicon Graphics, Inc.
630 Clyde Court,
Mountain View.
CA
94043
-
Norm
(i
Miller.
Silicon Graphics, Inc.
630 Clyde Court.
Mountain View, CA 94043
Dr. Tosiyasu L. Kunii,
Department of Information
Science,
Faculty of Science,
The University of Tokyo,
7-3-1 Hongo, Bunkyo-ku, Tokyo
Japan
113,
Dr. Kazuhiro Fuchi,
Institute for New Generation Computer Technology,
Mita-Kokusai Building 21FL.
1-4-28 Mita. Minato-ku, Tokyo 108, Japan
Defense Technical Information Center (2)
Attn:
DTIC-DDR
Cameron Station
Alexandria, VA 22314
Library, Code 1424 (2)
Postgraduate School
Monterey, CA 93943
Naval
Research Administration Office
Code 012
Naval Postgraduate School
Monterey, CA 93943
Center for Naval Analyses
2000 N. Beauregard Street
Alexandria, VA 22311
DUDLEY KNOX LIBRARY
3 2768 00347475