A direct memory access controller is provided which utilizes a single
dedicated controller to control all or substantially all memory accesses
in a computer system, both memory-to-memory accesses within the system and
transfers between system memory and various system peripherals. At least
portions of the controller are time shared by various channels, each
channel performing data transfers in a selected direction between a system
memory component and a second component which may be a peripheral, another
memory component or the like. An arbiter is provided as part of the
controller for determining the channel using shared resources at any given
time. Where one of the peripherals is a variable length packetized data
source, multiple subchannels may be provided for transfers of data for
such source into system memory, each such subehannel being for transfers
to buffers of different size. Efficient memory utilization is achieved by
determining the size of an incoming variable length packet and having the
transfer performed through the channel servicing the smallest available
buffer in which incoming variable length packetized data will fit.
Сразу регулятор доступа к памяти обеспечен использует одиночный преданный регулятор для того чтобы контролировать все или существенн все доступы к памяти в системе компьютера, оба доступа памят-к-pam4ti внутри система и переходы между памятью системы и различными peripherals системы. По крайней мере частями регулятора будут время, котор делят различные каналы, каждый канал выполняя передачи данных в выбранном направлении между компонентом памяти системы и вторым компонентом который могут быть peripheral, другим компонентом памяти или подобием. Арбитр обеспечен как часть регулятора для обусловливать канал использующ, котор делят ресурсы на любом, котор дали времени. Где один из peripherals переменная длина packetized источник данных, множественные подканалы может быть обеспечена для переходов данных для такого источника в память системы, каждого такого subehannel для переходов к буферам по-разному размера. Эффективное использование памяти достигано путем обусловливать размер входящего пакета переменной длины и иметь переход выполненный через канал обслуживая самый малый имеющийся буфер в входящяя переменная длина packetized данные приспособит.