The original IBM PC was an 8/16 bit machine. Starting with the Intel 386, hardware and software interfaces started using 32 bit data and address width. 32 bit hardware provides greater bandwidth for data. 32 bit software provides more efficient data accessing than "16 bit" addressing. 16 Bit addressing actually uses 32 bits to provide 20 bits of address in a fashion that might be generously described as bizarre. For the most part, Windows 3 uses 16 bit interfaces and Windows 95 is a 32 bit OS. However, the transition from 16 to 32 bits has been gradual. "32 bit" interfaces are supported by some aspects of Win3 and Win95 still includes and supports 16 bit code -- as do all Intel and Intel compatible 80x8x type CPUs.
The original IBM PC XT offered access to the hard drive via INT 13 calls. INT 13 was to be, and often is, used by operating systems to read/write and manage the hard drive. However, INT13 is moderately inefficient, and is limited to disks with 1024 or fewer cylinders. This limits hard drives to 528 Mb unless special translation/disk addressing schemes (CHS and/or LBA) are provided in the BIOS. Over and above the BIOS, MSDOS provides a number of disk services as part of the INT21 interface. These also are moderately inefficient.
Most modern operating systems bypass INT 13 or have an option to bypass INT13. They may require -- as Unix does -- that LBA/CHS be suppressed so that initial disk parameters can be obtained through INT 13. Late versions of Windows 3 have two provisions for bypassing INT 13. Both are called -- for unknowable reasons -- "32 bit":
"32 Bit Disk Access" bypasses the DOS disk handlers.
"32 Bit File Access" bypasses the BIOS disk handlers.
Over and above the two software 32 bit capabilities, the widely used IDE disk drives have a set of extensions adapted in the early 1990s that include a 32 bit wide data path to the drive.
Finally, WIN32S is a software package that provides some 32 bit addressing in a Windows 3 environment -- thus allowing some software destined for a WIN95 environment to run under the older OS version.
Thus "32 bit" may refer to data path widths in hardware or to the use of 32 bit operands/addressing in software. Use of wider interfaces and/or 32 bit software often improves speed -- doubling it in some cases; having little or no affect in other cases; actually degrading it in a few cases.
Return To Index Copyright 1994-2008 by Donald Kenney.