158
D. Rocchesso: Sound Processing
control word
MUL
ALU
RM
RM
DMA
RM
DMB
ADR
ADR
to DAC
from
FUN
to
FUN
from
ADC
Zbus
Cbus
Wbus
Bbus
Abus
Figure 10: Block structure of the X20 processor
Insertion of the result back into the functional unit (by means of C and Z
busses) or memorization into the data memories (W bus).
B.5.1
Memory Management
The waveforms, tables, samples, or delay lines, are allocated in the external
memory
26
, that is organized in, at most, 16 banks of 1MWord
27
. Each word
is 16 bits long. In order to access the external memory we have to specify the
base address in a 16-bit control word. Those bits are divided into two variable-
length fields, separated by a zero bit. On the right there are ones, in a number
n such that 32 2
n
is the size of the table
28
. The field on the left is a binary
number that denotes the ordinal number of the 32 2
n
-words area allocated
in memory. For instance, the control word |0001|1101|1111|1111| (1DF F
16
in
hexadecimal) represents the eight area of 16 KWords. Summarizing, in order to
select an external table, the user has to specify the memory bank (0 to 15), the
table size in powers of two, the offset, i.e., the ordinal number of table of the
dimension that we are considering. The 16-bit control word is indeed only part
of the 24-bit CWO register, the remaining 8 bits being used to select a waveform
derived from reading the fourth part of a sine wave, memorized in 1024 words
of internal read-only memory.
In another 24-bit register, called VAD, the table-reading phase pointer is
stored. In order to access successive elements of the table, such register gets
summed with the content of a 24-bit increment register. For example, 4KWord
tables are accessed using an increment equal to 001000
16
, while for 2KWord
tables the increment is 002000
16
. A 4KWord table is not stored in contigu-
ous locations of the memory bank, but it uses locations that are seprated by
1024/4 = 0010
16
positions. The first 2 bytes of the increment account for this
distance. The extension of the phase to 3 bytes allows a fractional addressing,
with interpolations between logically-contiguous samples. For instance, consider
26
Called FUN or function memory
27
1MWord is equal to 2
20
1000000 words
28
The minimal number of words in a table is, therefore, 32
Next Page >>
<< Previous Page
Back to the Table of Contents