Memory Management In IBM, Atari, And Macintosh
Methods of RAM management are among the most important aspects of computer operation, but I can find practically no information on this. How does one computer compare with another in memory management? Why is it that even in the IBM 16-bit computer, BASIC RAM is limited to 60864 bytes with 256K memory installed? How fast would IBM load a program? I am told that IBM drives use 512-byte sectors, 9 per track. Does this mean a fourfold increase in speed (from Atari's 128 bytes per sector)? What about the new Apple Macintosh? More than anything else, the speed with which swaps in memory are made determines the horsepower of a computer.
Orville E. Bean
The factors which determine how effectively a computer can manage memory are the amount of memory the central processing (CPU) chip can address directly, and the number of bits the CPU can transfer to or from memory at one time. To use your phrase, a 16-bit machine has more horsepower, since it can grab 16 bits at a time from memory, instead of 8 bits. Most home computer CPUs, like the 6502 chip used in the Apple, Atari, and Commodore, can directly address 64K bytes and transfer 8 bits at a time. The 8088 CPU in the IBM PC and PCjr can directly address 1024K bytes (or one megabyte). However, it organizes this memory into 16 blocks (called segments) of 64K each. IBM's Microsoft BASIC was written to operate within one segment, which is why only 60K is available for programming after the computer takes away what it needs for its own operations. (There is at least one third-party BASIC for the PC that supports all available memory.) Although the PC and PCjr are usually called 16-bit computers, their CPUs can actually transfer only 8 bits at a time. The CPU in the new Macintosh can directly address 16 megabytes (16384K) and can transfer data to or from memory 16 bits at a time.
As to disk access, the most important limitation to speed is in the disk interface. Even if you had a hard disk—and they're extremely fast—you would still be limited by how quickly your computer and disk drive could communicate. Many home computers use serial interfaces, both for economy and to comply with FCC regulations. (A serial interface transfers one bit at a time, using few wires, whereas a parallel interface transfers a whole byte (8 bits) at a time, over many wires. Too many wires amplify the tendency of a cable to act as a transmitting antenna of radio-frequency interference.)
The IBM computer uses a parallel, high-speed, direct-memory access (DMA) interface. The computer hardware can directly interact with the disk controller. Other computers have to treat the disk drive as a remote peripheral, communicating and buffering data. Again, the interface limits the speed, but disk formats vary in efficiency. An IBM drive can read one 512-byte sector without moving the head, whereas you have to locate four 128-byte sectors to read as much data on an Atari disk drive. Since the Macintosh uses a small 3¼-inch disk, with data tightly packed (400K), less movement of the head is needed to find information, so these new drives are usually faster.