Professional Documents
Culture Documents
The MIT Press Computer Music Journal: This Content Downloaded From 111.119.185.16 On Sat, 09 May 2020 03:59:19 UTC
The MIT Press Computer Music Journal: This Content Downloaded From 111.119.185.16 On Sat, 09 May 2020 03:59:19 UTC
The MIT Press Computer Music Journal: This Content Downloaded From 111.119.185.16 On Sat, 09 May 2020 03:59:19 UTC
Processors
Author(s): Mark Kahrs
Source: Computer Music Journal, Vol. 5, No. 2 (Summer, 1981), pp. 20-28
Published by: The MIT Press
Stable URL: https://www.jstor.org/stable/3679876
Accessed: 09-05-2020 03:59 UTC
JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide
range of content in a trusted digital archive. We use information technology and tools to increase productivity and
facilitate new forms of scholarship. For more information about JSTOR, please contact support@jstor.org.
Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at
https://about.jstor.org/terms
The MIT Press is collaborating with JSTOR to digitize, preserve and extend access to
Computer Music Journal
This content downloaded from 111.119.185.16 on Sat, 09 May 2020 03:59:19 UTC
All use subject to https://about.jstor.org/terms
Mark Kahrs
Computer Science Department
Notes on Very-Large-
University of Rochester
Rochester, New York 14627
Scale Integration and
the Design of Real-Time
Digital Sound
Processors
New digital sound processor technologies are madeI began my research into VLSI and digital sound
possible by the introduction of VLSI technology. In processors by considering existing processors im-
plemented using MSI technology. The 4B Machine
a recent survey of integrated circuits and signal pro-
at the Institut de Recherche et Coordination Acous-
cessing, Hoff (1980) points out the increasing com-
plexity that is coming with the introduction of tique/Musique (IRCAM) (Alles 1976; 1980) and the
VLSI technology. At the present time, chips like theSystems Concepts Digital Synthesizer (Samson
Motorola MC68000, a 16-bit microprocessor with 1980) were examined for ideas usable in a VLSI
68,000 transistors, are at the upper limit of today's implementation.
mass production (Fig. 1). As the size of circuit fea- The 4B is a multiplexed machine, that is, it runs
tures decreases more in the next few years, one can fast enough to compute a number of voices of
expect to see dramatic increases in chip density and sound in the time between sample periods. Trans-
functional capacity. Some estimates place as many lating this machine into a single chip would not be
a terribly difficult job. The machine does have a
Computer Music Journal, Vol. 5, No. 2, Summer 1981,
problem, however. When generating line segments
0148-9267/81/020020-09 $04.00/0 for functions (e.g., envelope curves) the 4B allows
C 1981 Massachusetts Institute of Technology. timer interrupts to be set for the endpoints-of the
This content downloaded from 111.119.185.16 on Sat, 09 May 2020 03:59:19 UTC
All use subject to https://about.jstor.org/terms
Fig. 1. The MC68000 mi-
croprocessor chip. (Photo-
graph supplied by courtesy
of Motorola Semiconduc-
ter, Austin, Texas.)
m: (u i:m
input sources such as knobs and keyboards being
played by musicians. This real-time input problem
must be solved if such processors are to be used in
live performance. Designers of digital sound pro-
cessors will face other problems that will come up
as the designs become more refined.
i.::. ' l- i
,-I_) b. i8~ ~~ 1 IL _~wCurrent Algorithms
.
i: j4_"
1... :i.
II
As more processing power becomes available on
.ii~ ...: each chip and as the complexity of what musicians
want to accomplish with such chips increases, it
becomes necessary to think about processors dif-
ferently. Commonly used signal-processing al-
gorithms can be committed to firmware, thus
. ...m. m m.... . '. ... mm
. ......... m . . . .. m"m ... mm m I p . .
simplifying the software environment considerably.
Rather than consider, What algorithms can I imple-
ment using this beast? the chip designer must con-
sider, What algorithms should I implement in
silicon? Therefore, the designer of any new digital
sound processor must consider what algorithms the
user wants to implement. These might include lat-
line segments. This can put a considerable load on tice filtering, convolution, waveshaping, additive
the host processor, which is feeding parameters synthesis, and other algorithms useful for sound
from the score to the 4B to control the sound syn- generation. In the following sections, two VLSI ar-
thesis. In the case of the 4B the host computer is chitectures for music processing will be discussed
a slow LSI-11. The LSI-11 is constantly being in- that address the issues pointed out so far.
terrupted and asked to supply more data; this is
known as the parameter-update problem.
The Systems Concepts Digital Synthesizer is a A Command-Stream Processor
large, pipelined processor built using MSI technol-
ogy. It has 256 generators, 128 modifiers, and a mix- The purpose of the command-stream processor
ing memory called sum memory. Unfortunately, is to solve the real-time input problem. One needs
the machine appears to be designed mainly for fre- to be able to mix many external sources of com-
quency modulation (FM) and additive synthesis, mands and data into a single command stream. One
rather than as a truly general-purpose synthesizer. immediate difficulty is the instability of analog
Attempts to use the machine for synthesis tech- components often used in input devices such as
niques other than additive and FM synthesis are potentiometers. In particular, the reference levels of
sometimes successful, but implementation is analog-to-digital converts (ADCs) tend to wander.
somewhat contrived. As a stream processor, the Use of a hysteresis register is one way to solve this
Systems Concepts synthesizer has another prob- problem. The contents of this register are compared
lem. Commands to the synthesizer are read from against the current input (which is masked) and
memory and executed until a command is given to will match if the masked bits equal the last known
Kahrs 21
This content downloaded from 111.119.185.16 on Sat, 09 May 2020 03:59:19 UTC
All use subject to https://about.jstor.org/terms
Fig. 2. The internal bus is the coefficient ROM and rial input connected to a onto the central data bus.
a tri-state precharged bus. the register bank to the in- global clock. The slot-ad- The external world can
The multiplier and adder ternal bus. The output of dress bus contains the ad-
communicate by using the
are latched, allowing oper- the adder is connected to a dress broadcast by the slot latched "world" input.
ations to proceed while "breakpoint" detection cir- clock. When the slot of the This circuit has a "hys-
computations are being cuit that detects the end- chip is recognized by the teresis" circuit that allows
performed. There is one points of line segments. slot recognition logic, one for instability in ADCs
multiplexer that connects The time-tick bus is a se- byte from the FIFO is put and other inputs.
Time-Tick Bus
Outside World
Hysteresis Register
Counter I Latch
Alarm SlotOK Mask
FIFO ROM
Latch 16by8
Alarm Time 1 b 8 SLOT #
Sample differs
Alarm Clock a Output FIFO
Internal Tri-state Bus
L L
L LComparator
P-a a Memory
c
t t
c
DataP-
_`1k Bus Lt-h
Latch
h h " .L L Coefficient
Multiplier 128 by 8 64 by 8 c c
ROM Static RAM t I
Memories
This content downloaded from 111.119.185.16 on Sat, 09 May 2020 03:59:19 UTC
All use subject to https://about.jstor.org/terms
Fig. 3. This is a layout of area taken up is approx-
the command-stream-pro- imately 3000 by 4000
cessor chip without the in- microns.
put or output pads. The
Kahrs 23
This content downloaded from 111.119.185.16 on Sat, 09 May 2020 03:59:19 UTC
All use subject to https://about.jstor.org/terms
Fig. 4. In this rather con- allel throughout the chip. register. Note the bypasses
ventional sound processor, Notice also that the off- on the inputs to the ALU
notice that all the inputs board memory could be and multiplier. This al-
from the common bus are quite large, which is the lows results from the
latched. This one level of reason for placing it off the common bus to be used
pipelining allows the com- chip. External input is immediately in the next
putation to proceed in par- buffered in the external step of computation.
B Bus
A Bus
Common Bus
Bypass Bypass
MA MB ALUA ALUB MAR FMAR
From Outside
World
AOffboard Scratchpad
ALU Memory Memory External
MDR FMDR
FIFO Output
Buffer
To External World
plexity of the machine architecture. This lack of the processor should have as much raw speed as
branch instructions can prove to be a handicap in possible. Pipelining within the processor is one way
the implementation of algorithms such as matrix to achieve this. Multiple computation units that are
inversion or pitch extraction. spread across the task (such as found in the IBM
If the signal-processing lessons of the Digital Model 360/91) are another way to achieve higher
Voice Terminal are of any help (Gold 1974), then execution speeds (Tomasulo 1967).
This content downloaded from 111.119.185.16 on Sat, 09 May 2020 03:59:19 UTC
All use subject to https://about.jstor.org/terms
In Fig. 4, the data path of a rather ordinary sound up to 16 shared memory modules through a 16 by
processor that can be implemented in NMOS is 16 crosspoint switch (Jones and Schwartz 1980). Of
given. Notice that the processor has an "outboard" course, C.mmp's problem is well known: the num-
memory and an internal multiplier. Once again, the ber of switches increases as the square of the num-
processor is microprogrammed. This is more than a ber of inputs and the area increases likewise.
consideration for user programming of the control Another solution to the problem is to use a bus
store. As processors get more complicated, it gets and grant the bus (arbitrate it). Suppose each of the
more difficult to design the processor to be logically processors is connected in a chain. Then each pro-
correct. Using random logic only exacerbates this cessor could pass the control token to the next pro-
problem. The MC68000 is an example in which cessor when it was finished putting data on the bus.
microprogramming was used to avoid bugs in the But of course then the sound processor must know
control section of the processor (Stritter and Tre- which real-time input placed the data on the bus.
dennick 1979). Therefore, a new bus is needed that buses the pro-
Each unit of the processor has latches on the in- cessor ID of the input on the data bus. All pro-
put and the output so that processing may proceed cessors can sample the bus to find out which input
without a wait for the results of a given operation is there. The problem with this is that each pro-
(i.e., overlapped execution). The machine is syn- cessor must filter out the real-time requests on the
chronous, and results are latched when the execu- data bus. This again introduces the parameter-up-
tion unit finishes its action. Notice that the result date problem!
bus can be connected directly to the execution Other possible bus organizations include a time-
units. This allows the current results on the bus to division multiplexed (TDM) bus or an Ethernet-like
"bypass" the latches on the input side of the execu-network where each real-time input has a time slot
tion units. (an address in the Ethernet scheme) and they com-
municate by broadcasting to the other processor
(Metcalfe and Boggs 1976). Of course this too has
The One-Voice One-Processor Doctrine its problems-the TDM bus requires that pro-
cessors wait for the proper time slot. Ethernet was
In the processor organizations discussed so far, it designed to be "unreliable" in the sense that it
has been assumed that only one high-speed pro- keeps retransmitting a message over the network
cessor is available. With the advent of low-priced until it receives an acknowledgment; it does not as-
processors, lack of processor cycles should not be sume the message got through on the first trans-
permitted to be a problem. Unfortunately, some ofmission. Unfortunately, there is no upper bound on
the problems of computer networking are then in-the time it can take a packet of information to be
troduced. If we modify the existing architecture of transmitted and received. Because of the basically
the processor shown in Fig. 1 to have multiple pro-slow rate of change (with respect to the processor)
cessors, the interconnection of input modules and involved in parameter update, a TDM-bus scheme
the sound processor modules becomes a problem.was used in the command-stream processor.
It's not sufficient just to restrict each sound-pro- Notice that in Fig. 6 a new mixing processor has
cessor module to have one input module becausebeen added to the output of the three sound pro-
one might want a single input device to affect many cessors. There must be one mixing processor per
processors. A crossbar switch such as is shown inchannel of output sound. With a fast mixing pro-
Fig. 5 would be ideal. Such a switch was used in cessor, this could be simulated through the use of
C.mmp (Wulf and Bell 1972). C.mmp was com- multiplexing, since even at a 50-KHz sampling rate
posed of slightly modified DEC PDP-11/40 pro- for audio, the samples would have to be added at a
cessors augmented with a writable control store. rate of 20 psec each, well within the range of the
Up to 16 of these processors could be connected to processor's speed.
Kahrs 25
This content downloaded from 111.119.185.16 on Sat, 09 May 2020 03:59:19 UTC
All use subject to https://about.jstor.org/terms
Fig. 5. A musical crossbar problem with the network
processor (a" la C.mmp) is the second-order nature
that allows the command of the connections (N by
stream to be directed to M).
any sound processor. The
Command-List
Processors
Knob
Pedal
CLPJ
Keyboard
Finger Pad
Sound Processors
Designing the Processor for the Algorithm convolution box, and a discrete-Fourier-transform
Instead of Vice Versa (DFT) box. A special-purpose reverberation box
could use a convolution box to implement rever-
In the design of VLSI processors, a prominent con- beration using the impulse response of a hall. As
cern is to design the processor for the algorithm. more research is done into sound-generation al-
This is based on the belief that processors will de- gorithms, perhaps more of them can be placed into
crease in cost, and that by customizing the pro- systolic form.
cessor for the algorithm speed can be obtained. An
example of customizing the processor can be found Conclusion
in the work of Kung (1980). Systolic algorithms are
formed by arrays of processors that communicate In this article, I have explored a tip of the VLSI
with their neighbors and form rectilinear arrays. Foriceberg. Computer music's high computational re-
example, Kung has designed second-order filters, a quirements are an ideal problem for VLSI technol-
This content downloaded from 111.119.185.16 on Sat, 09 May 2020 03:59:19 UTC
All use subject to https://about.jstor.org/terms
Fig. 6. This figure demon- mands that are not depen- then feeds the sound pro-
strates the connections of dent on real-time inputs. cessors. The sound pro-
the various chips in a There is a global clock and cessors in turn feed
time-division multiplexed slot clock, which broad- another sound processor
system. Notice the addi- casts the current slot on that acts as a mixer. A
tion of a score processor, the slot bus. Data is gated DAC connects the signal
which generates com- to the stream bus, which back to analog levels.
Keyboard
Knob Pedalyboard Finger Pad
Stream Bus
Stream Bus
Slot Bus
Sample Bus
Sound
Processor
DAC
Kahrs 27
This content downloaded from 111.119.185.16 on Sat, 09 May 2020 03:59:19 UTC
All use subject to https://about.jstor.org/terms
ogy to solve. Research is required in many areas. on Digital Signal Processing." Proceedings of the
More research is needed into the structure of al- ICASSP, pp. 1-6.
gorithms used by computer musicians, particularly Jackson, L. B., J. F. Kaiser, and H. S. McDonald. 1967. "
Approach to the Implementation of Digital Filters."
the implementation of algorithms that are com-
IEEE Transactions on Audio and Electroacoustics
putationally expensive. Multiprocessor imple-
AU-16(3) :413-421.
mentation of complex algorithms would be of con-
Jones, A., and P. Schwartz. 1980. "Experience Using Mul-
siderable interest to VLSI designers. If computer tiprocessor Systems-A Status Report." Computing
musicians engage in a dialogue with VLSI design- Surveys 12(2): 121-165.
ers, then profitable results for both sides will surely Kung, H. T. 1980. "Special-purpose Devices for Signal and
follow. I hope this article will start some of that Image Processing: An Opportunity for VLSI." CMU
dialogue. Technical Report. Pittsburgh, Pennsylvania: Depart-
ment of Electrical Engineering and Computer Science,
Carnegie-Mellon University.
Acknowledgments LeBrun, M. 1979. "Digital Waveshaping Synthesis." Jour-
nal of the Audio Engineering Society 27(4):250-265.
Lyon, R. F. 1980. "Signal Processing with VLSI." Un-
Many of these ideas have been "in the air." I hope
published ms.
I haven't broken any feet by presenting them here. I
Markel, J. D., and A. H. Gray, Jr. 1976. Linear Prediction
appreciate the comments of John Snell, Peter Eastty, of Speech. New York: Springer-Verlag.
and Curtis Abbott, but I am solely responsible for Mead, C., and L. Conway. 1980. Introduction to VLSI
this article's content. This clandestine research has Systems. Reading, Massachusetts: Addison-Wesley.
been sponsored by the Sloan Foundation under Metcalfe, R. M., and D. R. Boggs. 1976. "Ethernet: Dis-
grant 78-4-15 and by the Defense Advanced Re- tributed Packet-switching for Local Networks." Com-
search Projects Agency under contract number munications of the ACM 19(7):395-404.
N00014-78-C-0164. Moorer, J. A. 1976. "The Synthesis of Complex Audio
Spectra by Means of Discrete Summation Formulas."
Journal of the Audio Engineering Society 24(9):717-
727.
References
Moorer, J. A. 1977. "Signal Processing Aspects of Com-
puter Music." Computer Music Journal 1(1): 4-37.
Alles, H. G. 1976. "A Portable Digital Sound Synthesis
Moorer, J. A. 1979. "About This Reverberation Business."
System." Computer Music Journal 1(4): 5-9.
Computer Music Journal 3(2): 13-27.
Alles, H. G. 1980. "Music Synthesis Using Real-time
Moorer, J. A. 1981. "Synthesizers I Have Known and
Digital Techniques." Proceedings of the IEEE
Loved." Computer Music Journal 5(1):4-12.
68(4) :436-449.
Myers, G. 1980. System Design with LSI Bit-slice Logic.
Arfib, D. 1979. "Digital Synthesis of Complex Spectra by
New York: Wiley Interscience.
Means of Multiplication of Nonlinear Distorted Sine
Samson, P. 1980. "A General-Purpose Digital Synthe-
Waves." Journal of the Audio Engineering Society
sizer." Journal of the Audio Engineering Society 28(3):
27(10): 757-768. 106-113.
Chowning, J. M. 1973. "The Synthesis of Complex Audio
Stritter, S., and N. Tredennick. 1979. "Microprogramm
Spectra by Means of Frequency Modulation." Journal of
Implementation of a Single Chip Microprocessor." In
the Audio Engineering Society 21(7): 526-534. Re-
11 th Micro Proceedings, pp. 8-16.
printed in Computer Music Journal 1(2):46-54.
Tomasulo, R. M. 1967. "An Efficient Algorithm for Ex
Freeny, S. L. 1975. "Special-purpose Hardware for Digital
ploiting Multiple Arithmetic Units." IBM Journal of
Filtering." Proceedings of the IEEE 63(4): 633-648.
Research and Development January:25-33.
Gold, B. 1974. "Parallel and Sequential Trade-Offs in Sig-
Wulf, W. A., and C. G. Bell. 1972. "C.mmp-A Multi
nal Processing Computers." In National Telecom-
Mini Processor." Proceedings of the Fall Joint Com-
munications Conference of 1974, pp. 491-495.
puter Conference 41: 765-777.
Hoff, M. E., Jr. 1980. "IC Technology: Trends and Impact
This content downloaded from 111.119.185.16 on Sat, 09 May 2020 03:59:19 UTC
All use subject to https://about.jstor.org/terms