Upgrading your PC hardware
My previous pages dealt with speeding up your PC (by adding extra RAM and things you can do in software). However there will come a time when you need a faster CPU (to play games, edit HD movies) or a bigger C: hard drive - and whilst the latest CPUs have multiple 'cores' and todays hard drives (SATA 3) are faster than those of 10 years ago, chances are your motherboard won't support much in the way of a faster CPU (or more cores) or higher speed drives.
Faster CPU's
As your system gets older you will discover that the $200+ (when released) 'Extreme Edition' CPU's are now available for $20 (or less) on eBay and you may be tempted to fit one. However, major manufacturers (such as HP, Dell) do not ship systems with motherboards that support much in the way of CPU 'upgradability' - i.e. if your Dell PC shipped with a 2.8GHz / 85W CPU chances are the motherboard is limited to 3GHz (or less) and that the existing heat-sink and fan is not going to support a 105W 'EE' CPU at 3.2GHz anyway.
The only real exception to the 'limited motherboard' is when you originally purchased the 'entry level' (eg 1GHz 'Celeron') version of a 'range' that was also shipped in a 'top end' 3.2GHz 'dual core' version. In this case, chances are you can swap out your Celeron for a 3.2 dual core 'upgrade' (but you still need to watch out for heat-sink and fan issues)
Whilst the 'CPU Socket' may be 'common' for more than one product 'family', faster CPU's often require different 'voltage settings' - and whilst these are set by the BIOS, there is no real reason for the mass market sellers (such as Dell) to release a BIOS update that can detect a newer CPU and set the correct voltages. After all, when you 'outgrow' your existing PC every vendor want to sell you a totally new PC rather than have you 'swap out' the old CPU (for a fraction of the cost). So, when upgrading, even within the same CPU 'family', you are best off sticking to those with the same voltage settings as your current CPU
Generally, it's better to have more cores than HT (HyperThreading), and better to have HT than a few extra MHz. HT is 'worth' about +20% whilst a second core is potentially 'worth' +100% = so go for 3GHz HT over a 3.4GHz non-HT and take a 2.4 Dual Core over both. Needless to say, if your motherboard will take a Quad Core, I would suggest 'go for it' even if it's only at 1.8GHz
The exception is, of course, if you mainly use applications that are 'single threaded' (as are most older 32bit apps, such as MS PhotoStory 3). In that case you need the maximum GHz CPU, not the maximum core count :-)
Windows XP is limited to 'sockets' not cores. XP Home will run up to 32 cores in a single socket. XP Pro will run up to 32 cores split between 2 sockets (i.e. a 32 core CPU in one socket or a pair of 16 core CPU's). XP 'counts' a CPU running HT as 2 cores, so multi-core CPU's with HT enabled are 'double counted'. Note that, unlike the 4Gb address limit, the 32 core limit is a fundamental limitation of the XP 32 bit operating system (and not some artificial limit imposed by your Microsoft Windows XP Licence)
New motherboard
Eventually you will have to replace the motherboard - and this is when most of us will have to face Microsoft's "OEM Licencing" restrictions. In short, if you purchased a Dell, the only motherboard your Microsoft OEM Licence will immediately work with is another Dell motherboard (and not a HP, and for sure never a 'retail' motherboard).
If you have (for example) a Dell OEM Windows XP "licence sticker" on the back of your PC, then you might expect that to apply to the box, no matter how much you change the contents (so long as you stick to an 'OEM' rather than a 'retail' motherboard). However you will discover that your Microsoft OEM Licence will only work with the original box manufacturers OEM motherboards. Since the Licence 'stays with the box' you might well feel this is a bit unfair - after all, you paid for an OEM Licence when you purchased the box so why should MS care who you purchased it from ? After all, they always get their cut (from Dell, HP etc). Well, in fact it IS (just about) possible to "swap" from one OEM motherboard for another, however it does mean some fiddling about manually changing your system 'ID' files to match the new OEM motherboard BIOS. For 'how to' see my Upgrading a Dell Dimension 3100 page
Eventually it will become more cost effective to 'upgrade' to the 'latest generation' computer by purchasing the cheapest 'bare bones' box available from your existing manufacturer (and move your XP Licence and sticker) - however with MS no longer supporting XP, OEM's such as Dell have also dropped it. So you need to watch out - modern motherboards default to UEFI BIOS mode (which won't support XP) and some even have chip-sets (especially those with Intel chipsets that support USB 3.0) for which there are no 32bit drivers. So you will have to stick to the slightly older (or 'business') motherboards.
Whilst you are limited to older motherboards or those aimed at businesses that are still using XP, there are plenty of XP compatible motherboards that are 'modern enough' to support the Intel i5 and i7 v6 CPU chips (as well as DDR4 RAM) = all you need do is find one that is XP compatible
The most modern motherboard will be 'UEFI Class 3' and these ONLY support 64bit operating systems (XP can't handle any type of UEFI mode - which also requires GPT partitioned disks - anyway). However almost all slightly older (UEFI Class 1/2) motherboards can be set to 'BIOS', 'MBR' or 'Legacy mode' for XP compatibility (you also need to disable 'Secure Boot')
To install XP from standard CD/DVD media, the hard disk (SATA) mode for the boot device must be set to non-AHCI mode (i.e. usually 'MBR', but may be 'ATA' or 'Legacy' etc). It is possible to change your hard disk drivers for AHCI drivers after installing XP (see at end below) If you can select non-UEFI BIOS but discover this only supports AHCI disk mode, then you will have no choice but to install using the 'F6 special drivers' or 'slip-stream' the drivers onto the install media (see at end below) Many modern motherboard will allow you to install XP from a bootable USB memory stack. It's plainly easier to add the required drivers to such a stick, so I highly recommend preparing a bootable USB for XP install ().
An alternative approach is to copy your XP system to a 'Virtual Hard Disk' and run it 'virtually' on a modern 64bit computer using Virtual PC (Win7) or Hyper-V (Win8 and 10) = see my Going virtual page
Speeding up disk i/o
WARNING. Whilst newer drives (SATA III) are 'backwards compatible', ancient motherboards with SATA I and SATA II chip-sets may run a 'faster' SATA III drive in 'sector at a time' mode. This can reduce SATA 3 hard drive read (and especially write) speeds by up to 90% i.e. make them run SLOWER than the SATA I / II drive you are replacing ! So before putting in a 'faster' drive, check what your motherboard supports !
Some vendors of SATA II drives have taken to headline advertising the 'bit speed' (300gbps) in what I can only assume is a 'marketing decision' aimed at the unwary (i.e. an attempt to confuse and fool you into thinking that you are buying a SATA 3 drive). Just be aware that plain 'SATA' is 150gbps, SATA II is 300, and SATA III (or SATA 3) is 600.
If your motherboard doesn't support SATA 3 drives, you can purchase a PCI / PCIe card with SATA 3 capability. However, the cheaper (i.e. affordable) ones tend to support 'data drives' (D: E: etc) only i.e. they can't be used to 'boot' a C: drive. Getting a PCI/e card with both 'boot' and RAID capability is even more expensive
The first step to improving disk speeds is to add a second C: drive to form a RAID 'mirror' (so you can keep working when your system drive fails). Unless you have a RAM disk, you should take advantage of the 'double read speed' offered by the RAID mirror to place your Virtual Memory Paging file on C:
As a 'rule of thumb', a single hard drive will typically deliver about 75MB/s, RAID Mirror up to 140MB/s, a SSD SATA III from 250MB/s (on a SATA II motherboard) up to 500MB/s (on a SATA III motherboard), whilst a RAM Disk will typically deliver 5GB/s (PC2-5300) to 13GB/s (PC3-12800) ! SO, for real speed, focus on RAM Disk
Note that when I refer to C: / D: etc. I mean SEPARATE DRIVES not simply different 'partitions' on the same drive. Many new PC's have large single drives that are 'partitioned' into two (or even more) drive 'letters'.
XP on AHCI BIOS
You can perform a brand-new XP install, or use an old XP 'clone', if the BIOS offers "ATA mode". After install you can add the AHCI drivers, switch the BIOS setting and reboot
To boot an old 'clone' XP the BIOS must be in "ATA mode". You can then boot up in 'Safe Mode' and replace the driver
For example, to run the cloned XP on an Optiplex 790 :- Find the Optiplex 790 "Pre-OS" driver, INTEL_RAPID-STORAGE-TECHNOLO_A07_R291720 on the Dell site, download and unpack it. In Safe Mode, go to device manager, find IDE/ATA ATAPI-controllers section. Manually replace the disk controller driver (it's the second in the list, leave the bottom one for CD/DVD). Browse to unpacked driver, select "iaStor". Choose Intel (R) Desktop/Workstation/Server Express Chipset SATA AHCI Controller. When the system asks for reboot, shut down. Power-on and F10 to open the BIOS settings. Change setting in BIOS to AHCI, continue into a Safe Mode boot. XP will detect the new controller and ask for a reboot (ignore all other missing driver messages) Reboot into normal mode, the SATA controller should then be in place Finally, install the other drivers (chipset, video, network, HD audio etc.
Installing without ATA mode
Normally, to install XP the BIOS must be set to ATA Mode. However modern motherboards do not offer this option. The problem is that the Microsoft Disk Drivers included with XP install do not support AHCI mode. So, after the first phase of XP install, when the MS drivers take over, you get 'Stop 0x0000007B Inaccessible_boot_device'
AHCI Drivers can be installed during the first bot phase by using the "F6 other disk driver" option. This can be used to load AHCI drivers from a 'Floppy disk' - however modern Motherboard don't have a floppy disk connection either. Instead they offer 'emulation' via USB .. and often that won't work either ... The only USB Floppy Disks that are supported are those listed in the "Txtsetup.sif" file. These are :- Plug and Play ID USB floppy disk drive model USB\VID_03EE&PID_6901 Mitsumi USB\VID_057B&PID_0000 Y-E Data; Sony part number 09K9835 USB\VID_0644&PID_0000 TEAC; IBM option part number 27L4226, FRU 05K9283
For those who don't edit movies
Then your applications (& any movie you view) should reside on your RAID mirror C: and your paging file should be placed on totally separate drive (D:)
If you can afford a RAID mirror for your D: drive (as well as C:), so much the better - whilst a 'mirror' has minimal effect on page file 'writes', the read speed should almost double
If you find that loading applications from the hard drive is still a 'bottle neck', you might want to consider the use of a small Solid State Disk (SSD) for C: (see detail below)
Are SSD's 'worth it ?'. I would say 'yes, for any sort of Video edit', but otherwise, I would say 'no' - or at least 'not until you've already spent on a RAID Mirror for C: and extra RAM'. Further, SSD's have a 'lifetime write limit' = this makes then unsuitable for Page File (or heavy video edit) use ! Indeed, even for use as C: you should consider configuring the SSD to eliminate all 'normal' write operations (see below)
If you edit movies
Then you should always try to ensure the 'source' video file is on a separate drive to the edit 'destination'. Since RAID Mirror can double read speeds, the movie 'source' should be on C: (and thus the 'destination' on D:).
One problem you will run into is that almost all simple 'movie edit' (and transcoding) software will place their Temp files in your Profile 'tree' (which will be on C:) and not offer any option in their GUI to change this. Whilst you can 'choose' the 'final destination' as D:, such simplistic software will typically 'build' your movie on C:/temp first ... and then waste even more time as it has to physically move it to D: !
Fortunately, MOST software also checks the Environment Variable 'TEMP=' for your preferred temp file location. So if your movie 'source' is C: (and the destination D:) make sure to change 'TEMP=' to D: before launching the application :-)
Page file read/writes will 'clash' with a movie edit no matter where you place it = unless, that is, you have 3rd 'drive' (a RAM disk or E:). If all you have is two drives (or a RAID pair and one data drive), to 'balance' the load, the 'least worse' choice is usually C: where a RAID system will at least double the Pagefile read speeds
Using a SSD (Solid State Disk) as C:
After adding as much RAM as possible and upgrading your CPU, the only remaining bottleneck is your hard drive. Whilst RAID (and a new SATA 3 drive on plug-in PCI card) can help, the only drive replacement that's going to make a real difference is a Solid State Disk (SSD). However, using a SSD as C: - and preventing Windows from trashing it - is so complicated that using a SSD has it's own page
A final note on RAM disks
In any 32bit system you really need to use as much as possible of the 4GB licence address limit RAM for running software. So it's generatlly 'a bad idea;' to use any of that precious first 3.75Gb as a RAM Disk. However any RAM not 'seen' by XP (and all RAM above the 4Gb limit) SHOULD be used as a 'RAM disk'
As you run more and more software ayt the same time, applications will strat to be 'swapped out' into 'virtual memory' (i.e. onto your hard disk). If you place the 'swap file' on your RAM disk, you will, in effect, be 'getting around' the Microsoft Licence limit. However if you are manipulating large amounts of image data - i.e. building photo-slide-shows, editing movies and especially when converting from one movie format to another, chances are using a RAM disk for your /temp files will result in a faster overall system than using it for the swap file In practice I discovered that the major 'speed up' came from using the RAM disk as a destination for 'save project' (version), 'temp files' and as a 'destination' for movie edits etc. Using it for a 'swap file' had almost no effect For more on using the RAM mapped out by your BIOS, see below
(+) Using missing RAM
USB 3.0 on XP ?
Not with an Intel chip-set (which is built into 99% of all Intel CPU motherboards) you can't. Intel refuse to support XP (or Vista) and their USB 3.0 32bit (Win 7, 10) drivers won't install on XP. At best, you may be able to set your motherboard's BIOS to switch your Intel USB 3.0 ports into USB 2 mode. Intel will tell you that :-
The Intel USB 3.0 eXtensible Host Controller Driver is not supported in Windows XP or Windows Vista. For these operating systems, make sure your BIOS settings have the xHCI Mode set to Auto or Smart Auto. This step reconfigures the USB 3.0 ports to function as USB 2.0 ports using the native Windows EHCI driver.
As of today (early 2018) it is possible to find XP drivers that CLAIM to support Windows XP on Intel. However the sites offering these drivers are all 'Eastern European' and whilst it's possible they have 'reverse engineered' the Win 7 32 bit Intel Driver in order to build a legal XP version, I have my doubts.
Currently, the only way to get USB 3.0 on XP is to find a PCIe card (that uses a non-Intel chipset). Such things do exist (eBay, China) however you MUST stick to those that come with driver disks and actually state that XP is supported. Even then, it's quite possible the card will end up running in 'compatibility mode' (i.e. USB 2 mode)
Windows 7
Many older PC's shipped with XP are quite capable of running Windows 7, however installing Win 7 will result in your previous system being 'moved' to a folder 'widows.old' (from which there is no easy way to restore it) so you need to 'image' your system hard drive first.
If you decide to 'give it a go', you can install and use Win 7 for 30 days without needing a Licence
If you purchased a new motherboard that contains a Win 7 BIOS, be aware that the BIOS signatures are specific to the Win 7 Editions (so you can't validate Win 7 Ultimate on a BIOS that's limited to Win 7 Pro) and also 'by Manufacturer' (so you can't use a Dell OEM Licence on a non-Dell (eg HP) motherboard). Note also that an OEM Licence is not valid for a Retail install (and vise-versa).
Microsoft, in it's infinite wisdom, no longer allows OEM users of Windows 7 to download a legitimate copy of the Windows 7 distribution media (only those with Retail licence keys are allowed to perform the download). Fortunately, there are ways around this stupid restriction (without resorting to the virus and root kit infected 'Torrents') - see, for example, this web page
A file - ei.cfg - determines the 'version' (Retail, OEM, Home, Pro etc.). If you delete this file before burning the DVD, you will be asked to choose the version at install time. NOTE the OEM version only works with a motherboard BIOS that has the Win7 'signature', the Retail version only works if you have a valid Licence Key.
Downgrading Win7 'Ultimate' to 'Pro'
Most Windows 10 OEM shipped PC's come with a motherboard BIOS that supports Windows 7. You can use 'any' Windows 7 OEM install media, just make sure you select the right 'version' = 10 Pro supports a 'downgrade' to 7 Pro, (and 10 Home to 7 Home etc) = 7 Pro won't 'activate' on a Windows 10 Home motherboard, although you can install for a 30 day 'trial'
When 'downgrading' your Win10 to Win7, it's tempting to choose the 'Ultimate' version of Win 7.
However, whilst your hardware may work fine with Win 7 'Ultimate', chances are you will discover your Motherboard BIOS only supports 'Home' (or Pro) and refuses to 'validate' your installation. Since Microsoft expects you to pay an arm and a leg for a 'retail' Ultimate licence, chances are you will then decide that Pro or Home will be all you need :-) It's at this point you will discover you can't 'downgrade' = if you try to do so, you will get the ever-so-helpful "Your version of Windows is more recent than the one you are trying to upgrade to. Windows cannot complete the upgrade." message. To avoid having to do a complete re-install, see my 'Downgrading Windows 7' note below WARNING. If you want 32bit WinXP 'emulation' you will need at least Win 7 Pro. NOTE ALSO, if you used 'bit locker' (which is only in Ultimate) to encrypt your drive, you had better decrypt it before downgrading :-)
(+) Downgrading Windows 7
Windows 10
When this was released, Microsoft offered 'free upgrades' to users of older systems. The 'free upgrade' offer is now 'closed', however it is still possible to re-install Win 10 onto a PC that was previously upgraded
The problem is, you MUST generate your 're-install' system disk from your already upgraded system ! If your hard drive crashes before you generate the re-install disk, too bad, you will have to pay for a full Licence
Win 10 Home to Pro
The free upgrade was on a 'like for like' basis = so if you started with Win 7/8 Home, your got Win 10 Home (and Win 7/8 Pro got you Win 10 Pro).
Microsoft allows a Win 10 Home user to 'upgrade' to Win 10 Pro on payment of a fee. They even allow you to 'test' Win 10 Pro on your Home system before paying the fee. There is no time limit on the 'test' = you can run Pro 'for ever' (so far) without paying the upgrade fee. During the 'test' you can't change the 'look and feel' of the desktop as 'nag' text appears in the bottom right-hand corner.