by D. Glen Cardenas and Jose M. Catena Cont. from Page 5; Back to TOC |
||||
|
DMA may seem like
a new idea, but actually it has been around sense before the first PC was
ever designed. In the PC, sound cards, floppy drives and even SCSI controllers
have been using DMA on the ISA
bus for a long time. This method requires the ISA chip to referee the DMA
transfers between the devices and RAM and thus is called "third party"
DMA. However, the ISA bus is slow. This doesn't bother low throughput devices
like the floppy drive and sound cards, but to make DMA effective for high
speed disk drives, the ISA bus is useless. The world had to wait for the
development of the "local bus" to get the job done. This local
bus technology is being implemented today on newer mother boards by the
PCI bus. With PCI,
third party DMA is fast enough to become a useful disk access alternative
to PIO. Another ability of the PCI bus is the ability for a device connected
to it to take control of the bus and perform the transfers without the use
of a DMA controller chip. This is referred to as "first party"
DMA or more commonly, bus mastering. Using bus mastering, the peripheral
device can access system memory the same way as the CPU itself. Just about
everything on the PCI bus (and its offshoot, the AGP connector) can use
bus mastering if the designers wish it to.This includes Ethernet controllers,
sound cards, Win-modems, display adapters, and so on, although due to little
demand for high speed data transfer by these adapters, most of them still
stick to PIO. It's important to understand that disk controllers are the
bus the master devices on the PCI bus, not the drives themselves. However,
for most disk controllers, to be operated in bus master mode, they require
that the drives themselves at least support multiword DMA mode 2 so the
data handshaking controls
can be implemented between the drive and the bus mastering controller. Bus mastering, being an advanced form of DMA, demands very specific mother board chip set support as well as specific support from the hardware attempting to use it. The operating system must also be able to support it by loading special "bus mastering aware" drivers. This may sound rather complicated, and it is. However, the gain in data transfer speeds and CPU overhead reduction associated with bus mastering is such that there is no way modern digital audio applications could perform acceptably without it. Luckily, Intel and Windows support it on the board and in the system and most if not all SCSI and IDE controllers can operate using it. Don't think that these manufacturers went through all of this trouble just for us musicians. Be assured, they didn't. This improvement was to facilitate network server applications. However, we can also reap the benefits of this technology. Most all modern SCSI controllers connect to the PCI bus and use bus mastering. This has been SCSI's largest advantage in terms of DAW performance, but that all changed with the advent of IDE's entry into PCI bus mastering. For the record though, from this point on, we will limit the definition of PCI bus mastering to a system whereby the IDE controller transfers data to and from the drive using an enhanced DMA protocol. It is usually referred to as Ultra DMA (or DMA-33/66) or Ultra ATA (UATA or ATA33/66). In the past, there were a lot of problems getting this to work. The Intel drivers shipped with many mother boards were "behind the curve" in terms of functionality when compared to the Intel drivers installed with Windows. Also, Windows 95 didn't start off supporting bus mastering. Upgrading to 95B was necessary to provide this feature. The same goes for NT4. Service Pack 3 must be installed to provide bus mastering. Many people were tempted, not knowing any better, to install the drivers shipped with the mother board during setup because, well, they were shipped with the mother board! It seemed the thing to do. Unfortunately, these drivers gave poor performance, and sometimes none at all. Even after discovering the mistake and attempting to remove them from Windows, they wouldn't de-install cleanly. This left no alternative but to wipe the drive and re-install Windows and all of the software that came after it. Not fun! As it turns out, just using the native Windows drivers seems the way to go. There was some early confusion as to which drives would or would not work under bus mastering. In that there are currently 2 types of Ultra DMA in common use, UDMA-33 and UDMA-66 (see the chart below), one needs to check the specs. With UDMA-33, this isn't much of an issue any more as almost any disk drive manufactured in the past 2 years is capable of multiword DMA mode 2 or better transfers and thus will run under bus mastering. The same can be said for current mother boards. Most using the Intel 430 FX, HX, VX, TX or 440 FX, LX, EX, BX, GX Pentium chip set will support bus mastering as well as those using the VIA chip set (naturally, the Intel 810, 820 and 840 chip sets support bus mastering, but this chip set family is plagued with problems in the memory department and so at this point, a DAW using a motherboard with either of these three chip sets is a dicey matter). Make sure that both the mother board and disk drive support the newer UDMA-66 if you want this higher performance transfer feature. UDMA-33 will use the same IDE cable between the drive and mother board as the older PIO system, so if you currently have a newer drive and mother board but don't use bus mastering, likely all you need to do is go to Windows and switch it on. As mentioned above, UDMA-66 uses a different cable and chip set, so you must make some real effort to upgrade to UDMA-66 from PIO or UDMA-33 even if the drive supports it. If your current motherboard isn't UDMA-66 capable, you can get a separate IDE controller board designed for UDMA-66 which plugs into your PCI bus to get UDMA-66 up and running on your current system. What is the big deal with the new cable, you ask? As it turns out, the cable is 80 conductor instead of the usual 40 conductor. Both ends still have 40 pin connectors. Huh? Here's the deal. The extra 40 wires are grounds and lie in between the other 40 signal lines acting as shielding. This reduces crosstalk on the lines and enhances reliability. UDMA-66 drives will not function at 66 MB/s without this 80 conductor cable, and will default back down to 33 MB/s if they sense a 40 conductor cable. On the other hand, using an 80 conductor cable on a UDMA-33 drive will likely enhance its performance too, due to the more reliable connection and thus fewer transfer retries.
Go to Page 7 (Part 3); Back to TOC |
||||
|
|