22.09.2015 Views

of Microprocessors

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MICROPROCESSORS 151<br />

well as application programming. For example, an <strong>of</strong>ten-required program<br />

function is incrementing a variable. Most languages require a whole<br />

statement <strong>of</strong> the form A = A + I! which when compiled will almost<br />

invariably result in at least three machine instructions: load from A, add<br />

constant 1, store into A. In C, a variable can be incremented by writing A +<br />

in an expression, which would normally compile into a single "increment<br />

memory" machine instruction. There is also an excellent facility for handling<br />

addresses (pointers), <strong>of</strong>ten lacking in other languages. Because <strong>of</strong> its<br />

efficiency, C is <strong>of</strong>ten used in direct synthesis applications and in fact is<br />

recommended for that application. The only real drawbacks to C are its<br />

sometimes cryptic appearance and lack <strong>of</strong> direct support for sophisticated<br />

data structures.<br />

Many other languages are used as well. Pascal is becoming a very<br />

popular teaching language in formal computer science courses. FORTRAN,<br />

a very old language, is <strong>of</strong>ten available to make the task <strong>of</strong> converting<br />

mainframe scientific s<strong>of</strong>tware to microcomputers straightforward if not easy.<br />

Other specialized mainframe languages such as COBOL (business) and LISP<br />

(artificial intelligence) have microcomputer versions. A very large and<br />

comprehensive language developed for the Department <strong>of</strong> Defense called Ada<br />

is being implemented on large microcomputers and shows a promising<br />

future.<br />

As microprocessors become faster and microcomputers incorporate<br />

mote memory, there is more interest now in writing all s<strong>of</strong>tware in high-level<br />

languages, not just specialized applications or one-shot problem solutions. In<br />

many cases (but certainly not all!), the system's grearer power hides the<br />

inefficiencies that can occur when system programs such as editors,<br />

compilers, and even disk-operating systems. are written in a high-level<br />

language.<br />

Example Microprocessor Descriptions<br />

The first edition <strong>of</strong> this book, completed in 1979, selected three major<br />

musical application areas <strong>of</strong> microprocess.ors and then described the characteristics<br />

<strong>of</strong> the "best" microprocessor for each. These were logic replacement,<br />

synthesizer control, and direct synthesis for which the 6502, 8080, and<br />

LS1-11, tespectively, were recommended. Besides the apparent one-for-three<br />

shooting performance (the 8080 became obsolete and the LSI-11 was never<br />

popular), most microprocessor applications now seem better divided into just<br />

two areas: general-purpose systems and dedicated-function systems. Generalpurpose<br />

systems, in which the user is aware <strong>of</strong> the operating system and <strong>of</strong>ten<br />

does programming, are extensively used to control synthesizers and do direct<br />

synthesis. Dedicated-function systems, in which the microprocessor is<br />

"hidden" from the user, certainly cover logic replacement but also synthesizer<br />

control and, to a growing extent, even direct synthesis.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!