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.

742 MUSICAL ApPLICATIONS OF MICROPROCESSORS<br />

to be dynamically changed in the data memory while the DMX-lOOO<br />

program is running without interfering with it. The host can also read back<br />

computed results or they can be sent directly to the D-to-A converters.<br />

The computation logic is actually quite simple and consists <strong>of</strong> a 16­<br />

word register file, 16-bit arithmetic logic unit (ALU), a 16 X 16 parallel<br />

multiplier, and numerous "pipeline" registers. In the block diagram, all data<br />

paths are 16 bits wide. The register file and ALU, which is implemented<br />

with four 2901 type bipolar bit-slice chips, can select any pair <strong>of</strong> the general<br />

registers as its inputs and can add, subtract, and, or, exclusive-or, etc., them<br />

together. The ALU result can be written directly back into one <strong>of</strong> the general<br />

registers and also appears on the Y bus. Other data paths internal to the ALU<br />

for shifting and a 17th Q register are also present but not shown. The Y bus<br />

leaving the ALU is the main output bus .<strong>of</strong> the machine and can be latched<br />

into any <strong>of</strong> the data and delay memory source registers, the multiplier<br />

operand registers, or the D-to-A converters. The S registers <strong>of</strong> the memories<br />

hold a 16-bit address, while the W registers hold data to be written, if any,<br />

on the next machine cycle. The D bus is the main input bus onto which data<br />

read from either data memory, either half <strong>of</strong> the 32-bit product, or the A-to­<br />

D converters may be gated. The D bus then wraps around to the ALU general<br />

register inputs.<br />

The DMX-lOOO operates with a machine cycle time <strong>of</strong> 200 nsec, and all<br />

instructions require one machine cycle to execute. Every element <strong>of</strong> the<br />

system, except the delay memory, can perform its function in one machine<br />

cycle. Program memory is organized as a simple linear list <strong>of</strong> 256 sequential<br />

instructions with no branching except for one implied branch from the end <strong>of</strong><br />

the program to the beginning. At the beginning <strong>of</strong> a sample period, four<br />

machine cycles are used to allow external access to the memories, trigger the<br />

ADCs, and other setup. Thereafter, instructions are executed sequentially at a<br />

5-MHz rate until a halt instruction is encountered. At that point, the<br />

program may either loop immediately to the beginning or wait for the next<br />

sample pulse. Thus, one program loop is equal to one sample period. For a<br />

completely full program memory with 256 steps, the maximum sample rate<br />

is 19.3 ks/s. Program decision-making, which is necessary when computing<br />

line segment approximations, for example, is implemented by conditional<br />

execution according to the ALU condition codes. A failed conditional<br />

instruction simply performs as a one-cycle no-op.<br />

Programming the DMX-lOOO consists <strong>of</strong> establishing a bit pattern for<br />

each instruction in the sample loop. The 32 instruction bits are divided into a<br />

number <strong>of</strong> fields. For example, two 4-bit fields and another 3-bit field<br />

determine which general registers or other data sources are selected for the<br />

ALU inputs, while a 6-bit field determines the ALU operation. Additional<br />

fields determine which <strong>of</strong> the Y bus registers are loaded and which <strong>of</strong> the D<br />

bus registers are selected for the current machine cycle. Unlike most generalpurpose<br />

computers, each element <strong>of</strong> the DMX-lOOO can be performing

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

Saved successfully!

Ooh no, something went wrong!