Dealer Focus - Memory: A trip down memory lane

It ain?t what you?ve got, it?s how you use it. That?s the deal when you are considering PC memory. We take a close look at the various options available for memory management to ensure you can get the best out of a machine

PC memory works like a dream. It?s that dream where no matter how hard you try to run you can never get away from whatever it is that is chasing you. Essentially, no matter how much memory you have in your computer it is still likely to be a nightmare.

So managing that memory is very important, and balancing the different parts of the computer?s memory is important for getting the best performance out of it.

The PC?s memory model was originally defined by the 16bit Intel 8080, and developed through the 8086 then the 8088. The 80186 didn?t do much and the 286 stuck with a 16bit bus but introduced a 24bit address bus, allowing it to access larger amounts of memory.

The 386 shifted things along. It brought various design improvements including a multitasking virtual 386 mode and a 32bit bus, bringing the memory addressing range to 4Gb.

Despite their power increases, processors since the 386 haven?t brought significant improvements to memory management, allthough the Pentium and Pentium II family have introduced a 64bit data bus.

Now things are supposed to be easier ? we have a brand new operating system that is supposed to make using a PC much easier. Ironically, for such a modern operating system, Windows 95 continues to be supported through the Dos configurations files config.sys and autoexec.bat. Although Windows 95 offers flat address space through its Win32 memory management, it still uses these files in its attempt at compatibility with the Dos and Win16-based applications (and hence the lash-up).

Few people realise that you can continue using the Memmaker Dos memory auto configuration utility with Windows 95. The program options are the same as those you would use under Dos since if you are upgrading a Dos system, the Dos Memmaker program will be copied into the sub-directory command of Windows (although not if you are loading Windows 95 on to a ?clean? system). Just like Windows 3.x, modifying autoexec.bat and config.sys is simplest by using sysedit (type sysedit in the Run dialogue box).

Previous versions of autoexec.bat and config.sys will be renamed with the .dos extension when running Windows 95 (if you boot in to your previous Dos system after loading Windows 95, the Windows 95 files will be given a .W95 extension, while the Dos files will be renamed with the .sys and .bat extensions).

It is worth noting that Microsoft has released an upgrade to the Windows kernel which resolves one or two memory problems in the first release of Windows 95. It is distributed with the OEM Service Pack 2 (but you can download it separately if you wish ? and you don?t need the OEM version of Windows 95 to use it). These files are located on the Microsoft Web site (www.microsoft.com).

To test the memory we decided to move down to a more functional level and as such tested FPM, EDO and SDRam-type memories with the Sysmark benchmarking program, which executes various 32bit applications such as Coreldraw, Excel, Word, Wordpro (all the tests were carried out under Windows 95).

The first significant piece of information thrown up is that the more memory, the better the performance (not necessarily news, but at least we confirmed it). The fastest memory according to our tests is SDRam, which we tested in 16Mb modules. This memory offers a synchronous channel of communication with the processor. Then, a short way behind, there is EDO and then the traditional FPM. Interestingly, according to our tests, Windows 95 doesn?t seem to work particularly well with 128Mb of Ram, and even by increasing the amount of cache to 512Kb it still fails to achieve a performance on a par with that obtained with 32Mb. This only occurred with Windows 95 and not NT.

As can be observed, the performance increases with the speed of the processor and the most striking case is that of the 150MHz chip. If used with a speed of 60MHz x 2.5, a performance can be obtained which is almost on a par with that of the 133 micro with a speed of 66 MHz x 2. In addition, the figures show that the clock doubled to 75MHz (running at 150MHz) got better results than the 66MHz processor multiplied 2.5 times to 166MHz. This suggests that the bus speed of the motherboard is as significant as that of the processor.

We can see that a system is severely affected by the annulment of the second-level cache. But on the other hand, if you go from 256 to 512Kb, you hardly notice the difference. In this case, the choice of a system with one amount or the other is subordinate to the price of the expansion.

From the results of the tests we can say that in order to work comfortably both in Dos and in the 3.x versions of Windows, as well as Windows 95, the best thing is to have a minimum of 16Mb installed in the system. And if we intensively use multi-space programs in Windows 95, it would be advisable to have 32Mb. The benefits of having the correct amount of memory installed is noticeable when switching between active tasks and when loading programs, since continuous access to the hard disk (which is used as a virtual memory) is avoided.

With NT, we must differentiate between the Workstation and Server versions. With the first, it is possible to work with 16Mb but 32Mb is more realistic. With the second, the band is set at 32Mb, while 64Mb or more is recommended, depending on the number of users and the applications running on the machine.

In conclusion, for the best performance memory size is more important than the memory type.

Despite the considerable drop in memory prices over the past year, the modern operating systems with graphic interface require more memory than is usually installed. At this point it is possible to use part of the hard disk as a virtual memory to top up your physical memory. The mechanisms for its use began to be implemented in the 286s but it was not until the appearance of the 386s and beyond that there was a flexible method for using it. The key to the virtual memory management mechanism is the paging, and with this system up to 64 terabytes of hard disk memory can be used in 386 machines and above.

Any Dos program can use virtual memory provided it implements the appropriate controller. In the case of Windows 3.x, it is possible to manually configure the space which the Windows environment gives over to this method of storage. To do this, you have to get into the options of the icon 386 extended in the virtual memory section of the control panel. You can close the location of the virtual memory file (a hidden file called 386spart.par). You can also select the file type ? temporary or permanent ? the latter option is advisable.

In Windows 95 you can also configure the space allocated to the virtual memory. The file which will contain this data is in Win386.swp (icon system which is in the control panel). Getting into the performance section, we then press the virtual memory button, where various options will be given to us. It is then possible to choose the unit where the file will be configured and its size or deactivate the virtual memory, which is not advisable. In any case, the most comfortable thing to do is to let Windows administer the space automatically.

It is also possible under NT to configure the space of each partition which will be intended for the paging file which, in this case, is pagefile.sys.

One of the cases in which it may be profitable to modify the location of the virtual memory file is when there are several partitions or units of hard disk of different sizes. We know that the size of the clusters or allocation units varies in relation to the size of the unit and the file system used. In the case of Windows, the most normal thing is to have a file system based on FAT and, under these conditions, it would be no surprise to find that a partition has a size of more than 512Mb with the size of the cluster at 32Kb.

We usually use a partition of some 300Mb at the end of the disk, in which we configure the virtual memory file and temporarily store files. The advantage gained here is that the size of the cluster is more feasible (16Kb) wasting less disk space and avoiding excessive fragmentation of the paging file on the disk, with a slight improvement in the speed of the system.

It?s a setup

Windows does its best to help and there are a series of operations which Windows performs automatically, where it has a go at setting up config.sys and autoexec.bat itself. This is what Windows sets up automatically:

HIMEM.SYS

IFSHELP.SYS

SETVER.EXE

DOS=HIGH.UMB

FILES=60

BUFFERS=30

FCBS=4

LASTDRIVE=Z

STACKS=9.256

SHELL=COMMAND.COM/P

Cache me if you can

There is a type of memory called cache which helps to optimise data access. This is interposed between the main system memory and that of the micro, and usually offers an extremely rapid access time, with a capacity of 256 or 512Kb. Moreover, it is possible to define a zone of the standard Ram of the computer so that it also has cache functions and hard disk access is accelerated, by operating as a store for the most recently used data.

To configure this memory space it is necessary to use a type of program which manages access to it and which is called a cache controller. For Dos, the cache manager par excellence is Smartdrive, which is included in the Microsoft operating system. This is a resident program which can be initiated from the autoexec.bat or config.sys configuration files, in which the size of the storage space for Dos and Windows 3.x can be defined.

In Windows 3.11 the size of the cache software can be configured from the virtual memory menu within the options of the icon 386 extended from the control panel. In Windows 95, in principle, it is not possible to configure the size of the physical memory to be used as cache but, by adding a certain option in the system.ini file we can choose this parameter.

To do this, we must add the following entry, where size represents the maximum space which Windows can assign to the cache Kb and without putting dots between the numbers.

The best option consists of allowing Windows to do its work, but if we are adventurous we can test with different configurations and see which is the most appropriate one for us.

We should also mention the fact that you can adjust the cache size which Windows will give over to the reading of CDs, by going into the performance options from the icon system on the control panel.

The low-speed units behave better with high caches but you must take into account that this method can use up a valuable megabyte of system memory.

Finally, if we use Windows NT, it is not possible to configure the features of the disk cache. This is a service which in this operating system is carried out so that it remains at all times under the strict control of the system.