Saturday, February 21, 2009

How to Build Your Own Pc - the Smart Way (part 1)

Even experienced vendors and system builders get it wrong with
all the tools and support they have. Although in some ways its
never been easier to build your own, there have also never been
so many choices and therefore pitfalls. A modern computer is a
complex system of interdependent components. The performance of
all components in the system is often limited by the capability
of the least common denominator. In other words, you can't have
a top performance graphics PC by installing the latest graphics
card (GPU) without also having a CPU powerful enough to keep the
GPU pipelines busy with work, and fast memory within which to
work.



With this in mind your approach to the architecture, design and
build of computers of any size needs to be the same. Carefully
select individual components that you know will all compliment
each other and work well together. Then thoroughly test and
benchmark your designs to ensure they work as well as you
expected them to. The last thing you want is an unexpected crash
at a vulnerable time. I’ve taken key snippets out of our own
internal build & design process and best practice
documentation to help you do your own.



There’s just too much to this subject to do it justice in one
article so I’ve split it into two parts which also makes it a
little more digestible. In this article we will look at the
heart of a PC build with:


  • The CPU
    (processor)
  • The Memory (RAM)
  • The Motherboard
    (or main board)
  • The Power supply (PSU)


In part 2 will continue by looking at the remainder of the
PC:



  • The Storage subsystem (hard disk or
    HDD)
  • The Graphics Processor (GPU)

  • The Case
  • The Cooling (HSF or heatsink
    & fan)




Why build your own?





The benefits to you of doing it yourself are:





Pros



  • You know best what you want and therefore you can
    build it exactly the way you want it
  • You can choose
    exactly the components you want and shop around for the best
    prices
  • If you built it you will know how to fix it
    yourself and might save time in the event something goes
    wrong
  • It can be fun!




Cons



  • If you get any component choices wrong then you
    might just have to settle for what you ended up with, or, sell
    it on at a loss
  • You will get limited support from
    component retailers in the event of compatibility or stability
    problems between components
  • Quality of advice on the
    best component selection from the retailers is highly variable,
    and sometimes downright dubious and self serving
  • You
    are the designer, builder, installer, tester and support
    engineer, be ready for the possibility of some long nights and a
    rough ride with little support
  • You will spend
    potentially a lot of time learning a lot of things you might
    never have wanted to know
  • Ill just say; drivers,
    drivers, drivers….




You might have expected me to put price or cost on the list of
Pros. I haven’t because generally it just isn’t true any more.
There are plenty of machines out there built ready for you to
buy that barely cost any more than it would cost if you bought
the component parts yourself. If you take labour cost hours into
account then it’s a no brainer, just buy it ready built.



Design...Select...Standardise...Optimise and
Build...




Assuming I haven’t put you off lets get on with looking at all
the component parts and the things you need to be thinking
about. For some of the components a bit of history is worthwhile
as believe it or not we are living today with the legacy of
design and architecture decisions made twenty or more years
ago.



The CPU (processor)



The CPU is probably the single most important element of the
computer. Everything the computer does is touched by the CPU
(Central Processing Unit). Modern processors are made up of
millions of transistors networked together to perform
instructions set by the operating system and software that runs
on your computer. Each instruction it can execute takes a
certain number of clock cycles to run through, so for example a
1GHz processor can run a thousand million cycles worth of
instructions a second. That sounds a lot, but when you consider
that the average application or game now contains millions upon
millions of instructions you can see that the processors have
their work cut out to keep up with demands. A concept known as
Moore's Law has accurately described an exponential increase in
computing performance and power since the early 1970's. You can
be pretty sure that a computer on the market in three years time
will be more or less twice as powerful as the equivalent
today.





Traditionally therefore the way for processor manufacturers to
increase performance was simply to increase the speed of the
clock for the processor. That way it could execute more
instructions in less time. Hence how the old Intel processors
between the 1980s and just a few years ago went up from 5MHz
clock speed and 20,000 transistors to the best single core
Pentium at 3.8GHz and 55 million transistors in 2006. At this
point Intel hit the buffers with the technology with a problem
known as silicon junction leakage. Where beyond these clock
speeds the semi-conductor technology we currently use simply
ceases to function correctly. Primarily due to the large amount
of energy leakage around the transistor junction and the heat
generated in operation. Hence also why over time CPU heatsinks
have got bigger and bigger, and fans more and more powerful, and
noisy.





Intel tackled the issue tangentially with the idea of running
multiple processors on a single silicon die with the Core 2 Duo
and Core 2 Quad technology (see picture right). As the picture
above shows this deals with the workload presented by games and
applications by processing it in parallel rather than having to
do instructions one at a time (known as multi-threading). The
multi-core processors until recently were still produced on the
65nm manufacturing process that the last Pentium was fabricated
on. Then in Q1 2008 Intel started producing 45nm processors
based on new Hafnium Hi-K semi-conductor technology using the
same Core 2 designs, codenamed Yorkfield, which runs cooler and
more efficiently than the old silicon technology. Now from, Q4
2008 we have a new processor architecture with Nehalem. It has
an integrated memory controller and the FSB has gone to be
replaced by a much master QPI (Quick path interconnect) and a
new socket (LGA1366). By 2010 we should see a new die shrink to
32nm with the Westmere codenamed processors, after that the
roadmap gets a bit more vague. See the Intel site for more
information.





You need to look closely at both Intel and AMD on processor
technology to careful assess how they can best deliver the
highest performance computing from the technology roadmap. The
new Core i7 and Yorkfield processors together with high
performance cooling have raised the bar again in Intel’s favour
in (this article being dated Q1 2009) by exceeding 3GHz clock
speeds in a quad core machine (33%+ over performance!), and
around 4GHz when overclocked. The Core i7 is a big hot CPU with
more going on in it than ever before with its built in memory
controller so you wont be able to take full advantage of its
performance ceiling without efficient and effective cooling
technology and delivery of clean stable power to the processor.
Mainstream PC's otherwise typically have a maximum factory clock
speed of 3.2GHz.



The Memory



Memory can be a crucial bottleneck to potential performance and
is rarely paid much attention at all by main stream system
builders. Memory comes in a variety of forms and bandwidths from
PC2-3200 to PC3-16000 and up. Where PC2 or PC3 indicates DDR2 or
DDR3 memory respectively, and 3200 or 16000 refers to the
bandwidth in MB/s. Of course it goes without saying that you
should use the highest bandwidth memory you can afford whether
in double bus speed DDR2 or quad bus speed DDR3 forms. If you
are planning to use your self built PC for video, photography,
CAD, 3D graphics or gaming the memory speed does make a
difference. However there are a number of other qualities that
hugely impact on memory performance and we also take these into
careful consideration:



  • Core clock speed - the speed the memory bus runs
    at (adjusted for DDR2/3)
  • Data rate (DDR, DDR2, DDR3)
    core memory bus speed multiplier
  • Latency (access cycle
    delays) - memory can be made to run at higher clock speeds but
    also with higher latency delays, making it on occasions actually
    slower than high quality memory running at lower frequencies
    with lower latencies. For example PC2-6400 memory at 800MHz and
    latencies of 4-4-3-5 will generally perform better than PC2-8500
    at 1066MHz and latencies of 5-5-5-15




A lot of manufacturers currently ship PC's with memory of
PC2-5300 (667MHz) specification with average latencies in
standard packages. That’s usually because they have a heap of it
in a warehouse to shift. The minimum specification memory you
should use is PC2-8500 (1066MHz). With low latencies in an
enhanced package for better cooling it can even outperform even
some of the faster DDR3 memory. The highest specification memory
available often runs ahead of being specified in terms of JDEC
standards. If you want to be future proof you should consider
some mid range DDR3 memory (say 1600MHz C8).





Clearly you need to make sure you’ve got enough as well. For
dual channel boards the minimum to consider ought to be 2GB -
4GB and for triple channel boards (DDR3 only) . Bearing in mind
if you are stuck with a 32-bit OS (Windows) you have a practical
limit of around 3GB anyway, for 64-bit fill your boots.



The Motherboard (main board)



Critical to good performance between the components of a PC is
the motherboard on which it is all installed and interconnected.
The motherboard chipset (usually either nVidia or Intel based,
known as Northbridge and Southbridge) hosts all the vital
interfaces such as the PCI bus (PCIe 2.0, for the graphics and
sound cards), the network (USB2, Firewire IEEE1394, WiFi and
Ethernet), the storage (IDE, SATA-II, RAID), BIOS configuration,
bus clock management, memory controller, hardware management and
monitoring, power supply regulation to the CPU and memory. The
motherboard chipset dictates which CPU's it supports, the
maximum FSB (front side bus) speed supported, the range of CPU's
supported (by socket such as Intel LGA775, or AMD). Intel’s
Nehalem and X58 Chipset has changed all this now that the memory
controller has moved off the motherboard and inside the CPU.
This unlocks a phenomenal amount of additional memory
bandwidth.





A sophisticated BIOS is important to allow fine enough control
and monitoring of system components for the high degree of
performance tuning required. Due to the compatibility and
support dependencies most manufacturers tend to choose fairly
mature motherboards and chipsets, perhaps a year or two old. You
could choose the low risk approach and do the same thing, or, go
high risk and try the bleeding edge technology. Whatever you
decide make sure it’s a board that has a reputation for being
overclock friendly if that’s what you want to do (you will need
flexible Base Clock speeds for Core i7). Make sure it supports
the latest CPU's, high bandwidth storage and PCI bus, highly
flexible BIOS and preferably DDR3 high speed memory. However a
good DDR2 board is now excellent value for money and can match
some DDR3.





Pay careful attention to the PCI express lanes. Every Intel
chipset has a set number of total lanes that can be allocated
across all the PCIe slots the board designers have chosen to
give you. The more lanes a given slot has the faster it can run
as they move data to and form the card in parallel. I’ve listed
below some of the current main chipsets and how many lanes they
provide:



  • P45 - 16 lanes (2 of PCIe x8)
  • P55 – 16
    lanes (2 of PCIe x8)
  • X48 – 32 lanes (2 of PCIe
    x16)
  • X38 – 32 lanes (2 of PCIe x16)
  • X58 – 32
    lanes (2 of PCIe x16, or 4 of PCIe x8)
  • nVidia 680 – 46
    lanes (2 of PCIe x16, 1 of PCIe x8, 6 of PCIe x1)

  • nVidia 750 – 32 lanes (2 of PCIe x 16)
  • nVidia 780 -
    48 lanes (2 of PCIe x16, 1 of PCIe x16 (1.0))
  • nVidia
    790 – 48 lanes (2 of PCIe x16, 1 of PCIe x16 (1.0))




If you’re hoping for a smoking big SLI setup you will need as
many x16 lane PCIe slots as you can get. At the least aim for a
board with 2 PCIe x16 slots then you have an upgrade path if you
need it.



The Power supply (PSU)



To give yourself a bit of upgradability headroom you want to be
buying 600-800W or more and exceed the ATX standard
requirements. Most modern switch mode power supplies are
multi-rail as it’s an easier and cheaper design to use. However
a single rail at over 100A of current gives your build more
flexibility, otherwise you have to be careful which rails you
use for what as they all have individual current limits. Not to
compromise on noise you should prefer to use power supplies with
large 120-140mm fans to increase air flow, and reduce air speed
in turn reducing cooling noise.