A Weird Imagination

Building a computer (1 of 2): part selection

Posted in

The problem#

I recently helped a friend with building a computer. While there's plenty of guides online, I thought I'd write down my own thoughts of everything I was considering for this recent computer build.

The intended use of the computer was as an inexpensive but expandable gaming PC. Meaning it should be able to comfortably play relatively recent games at an acceptable framerate, but not at max settings. And hopefully that should continue to be true for at least a year or two. And when it does get to be too underpowered for even low-end gaming, it should be possible to fix that by replacing parts, not the entire computer.

The solution#

Most of planning a computer build is using PCPartPicker and NewEgg to search for the components and NewEgg and Tom's Hardware for reviews (the former for specific components, the latter for selecting things like how powerful a CPU/GPU you need).

I am intentionally avoiding specific component recommendations in this post because those would be out-of-date pretty much immediately.

The PCPartPicker interface will guide you to what categories of components you will need, and help you determine which parts are compatible with each other. The required components for a functioning computer are a motherboard, a CPU (and cooler if not included), memory (RAM), and a power supply. You will almost always also want storage (an SSD), a case, and additional cooling (usually fans to install in the case). Most of the time you will also want a video card (GPU), but modern processors often have a very underpowered one built-in, which is usually sufficient if you aren't playing games or otherwise using a GPU.

Note that I am not including peripherals. To actually use the computer, you will probably want a keyboard, mouse, monitor, and possibly speakers. But those are easily moved among different computers.

The details#

Motherboard#

The motherboard is the main circuit board that everything else connects to. Because of that, selecting a motherboard is mainly about determining what connections you want it to support and selecting the cheapest matching one with good reviews. Since my goal was to build a computer that would continue to upgradable for a long time, I was looking for a motherboard that would have the latest features (e.g. the latest USB version) or at least expansion slots so they could be added later (e.g. future USB versions). Of course, if you expect to repurpose the computer before you would get around upgrading it, then you may be less worried about expandability.

Size#

I went for a standard ATX size motherboard. Smaller motherboards are noticeably limited on expansion slots, and are small enough that they're somewhat harder to work on. Larger motherboards are significantly more expensive and a standard desktop sized case is already big to fit under a desk.

CPU socket#

I wanted the CPU to be replaceable, which means selecting a CPU socket that is likely to continue to be used for several years. In practice, I've never actually replaced a CPU with one using the same socket. Partially this is because old CPUs work just fine for many uses and it often makes more sense to repurpose the CPU and motherboard together than to remove the CPU either discard it or put it into a different motherboard. But it is also because most of my computers have been built using Intel CPUs and Intel changes their sockets much more frequently than AMD, which means that replacing an Intel CPU with a sufficiently newer one to be noticeably better almost certainly requires a different CPU socket.

To that end, I targeted the most recent AMD desktop socket, which was Socket AM5, which effectively guarantees some motherboard features as the motherboard has to have a compatible chipset.

PCI Express slots#

PCI Express (PCIe) is the main internal interconnect for modern computers. Most computers will have a video card and SSD connected via PCIe. It could also be used for other expansions like networking cards and additional USB ports.

PCIe connectors have different sizes that offer up to 16 lanes (so a x16 connection is 16 times as fast as a x1 connection). Most motherboard have a single x16 slot for a graphics card and some collection of additional slots, usually x1 or x4, but it varies, for other expansion cards. Additionally, there's new versions of PCIe released every few years, each approximately doubling the speed of the previous version. It's backwards compatible, so any PCIe card will work in any PCIe slot, but the PCIe version used will be the whichever is the lower version between the two. Which means a much newer graphics card or SSD will work in an older computer that only supports and older PCIe version, but the slower connection might mean it won't perform as well, so that component might not be worth using.

For common components, the speed of PCIe is only going to relevant for graphics cards and SSDs. Even a PCIe 1.0 x1 connection is plenty for a sound card or network card excepting specialized scenarios. On the other hand, the latest USB4 standard goes up to 80 Gbit/s, which exceeds the throughput of a PCIe 4.0 x4 slot (~63 Gbit/s), and USB also keeps getting new versions with higher speeds. So if you're hoping to update to a future USB version by adding an expansion card, it may not be possible to achieve full speed1. Not that I know what you could even plug into your computer that could make use of that much bandwidth, so I'm not worrying about that too much.

The takeaway from all of this being that since there's a good chance you'll be able to extend the life of a computer by upgrading the video card and/or SSD, it's probably worth making sure the motherboard isn't limited to an older PCIe version. Currently that means PCIe 5.0 despite only a few cutting edge components making use of it at the moment. Also, it's good to make sure there's a few other PCIe slots for unplanned expansions.

M.2 slots#

PCIe connections have a second physical form factor, M.22, which is much smaller and M.2 cards lie flat against the motherboard instead of being perpendicular to it. They are primarily used for SSDs. And modern SSDs really are able to take advantage of the high speeds of PCIe, so it's important to make sure your motherboard supports the PCIe version that your SSD supports, and possibly the PCIe version that your next SSD might support.

You'll want to make sure there's enough M.2 slots for however many SSDs you might want in the future, but all of the motherboards I saw have many such slots (varying in speed and how directly connected to the processor they are), so that's unlikely to be an issue for any common use. Also, since they are the same electrically, you can get converters that will convert PCIe slots to M.2 or M.2 slots to PCIe x4 if necessary.

One non-obvious consideration is how easy it is to access the M.2 slots. On some motherboards they are positioned so they are difficult to access once the CPU and video card have been installed. That is somewhat unavoidable as a fast direct connection to the CPU really does mean being physically close to the CPU, but it may affect the choice of which M.2 slots you actually want to use.

Ports#

Motherboards tend to have a lot of built-in ports: usually at least sound, networking (wired and often wireless as well), and a lot of USB ports. The main future-proofing I did here was to make sure it had USB-C ports including the connection for a USB-C port on the front of the computer. It's good to check the built-in networking matches your current needs, but that can be easily upgraded later with PCIe cards.

Memory#

DDR version#

Every several years, there's a new version of DDR RAM (currently DDR5 is the most recent). There is no compatibility between versions, so which DDR version your computer is on is fixed by the motherboard. But since there's several years between versions, it's not usually much of a choice except when a version is new maybe considering not getting the components still around of the previous version.

On the other hand, DDR4 should probably be avoided for new builds as DDR5 adds limited error-correction as a standard feature, which should improve stability and provide some protection from rowhammer-style attacks, although it has been shown to be insufficient. Actually protecting against such issues requires ECC memory. For consumer hardware, generally only AMD motherboards support ECC as Intel reserves ECC support for their server-targeted components.

Amount#

Since ATX motherboards usually have 4 slots for RAM and it's recommended to be installed in pairs, it's easy to aim on the low end of how much RAM you expect to need (but not too low; RAM is pretty cheap) and be prepared to buy another pair later as RAM requirements inevitably rise over time.

Specs#

RAM specs are somewhat complicated because it varies both in throughput and latency. The latency is important because for many usage patterns modern CPUs spend a lot of their time waiting on the RAM to locate the next piece of information needed to continue the computation and the latency measures the worst case of how long the CPU is left with nothing to do each time that happens. Since latency is usually listed in a count of cycles, not wall clock time, it's not straightforward to compare latency of two different sticks of RAM with different speeds. The Wikipedia page on CAS latency does a good job explaining the concept including a table showing latency in nanoseconds for many common combinations. Generally you want the lowest "first word latency" measured in nanoseconds within your budget.

Case#

The case is the part that you see, so selecting one is largely about aesthetics, not technical specs. Other than being the appropriate size to fit the other components, the specs to pay attention to are what front ports it has and what front drive spaces it has. As CDs/DVDs have been replaced by downloads and flash drives, most cases sold today don't have a space to install an optical drive. And that space could also be used to add initial front ports or an SD card reader, so I did go out of my way to select a case that could have an optical drive installed. Exactly what ports are on the front of the case also varies; as devices that use USB-C are becoming more common, I made sure to get a case with a USB-C port on the front.

Cases with clear sides so you can see the inside of the computer are quite popular these days, but they mean both that anyone looking at your computer will see exactly how poor your cable management is and that any lights inside the case will be lighting up the room the computer is in. The light could be a consideration if the computer will be in a bedroom or a TV room (in which case you will probably also want to tape over or not connect the power LED as well).

Case fans#

You need some fans to keep air flowing through the case. The case may come with some. But if you want the computer to be as quiet as possible, then Noctua fans are the best choice. They're a little pricey, but extremely quiet. Whatever fans you buy, make sure to get the 4-pin ones as the fourth pin is the speed control so they'll run slower (i.e. quieter) when not needed.

Power supply#

Not much to say here other than make sure you get a "modular" power supply, which mean the power supply comes as a brick and a bunch of cables that plug into that brick. The alternative is one with all of the cables hardwired into it, even though you'll probably only actually plug half of them into anything.

The parts that use a lot of power in a modern computer are the CPU and video card. And the power usage stays relatively steady within tiers, so if you're expecting to upgrade from the current mid-tier graphics card to mid-tier graphics card of a few years from now, it's likely it will have similar power requirements. So while there should be some headroom on the amount of power, it's unlikely to go up a lot with upgrades.

CPU, video card, SSD#

You'll notice I went into a lot of detail and haven't mentioned the three components that make up the vast majority of the cost. That's mainly because since they are more expensive, there's a lot fewer choices and a lot more in-depth reviews available on each one. Really all there is to making that choice is looking at a reputable review site like Tom's Hardware, looking to see if there's some performance cliff in their benchmarks comparing different models, and selecting the highest rated one in your price range (or the cheapest one before a major fall-off in performance).

My only extra comment here is to not cheap out on the SSD as, like the RAM, computers tend to spend a lot of time doing nothing because they're waiting on the main storage. So a faster SSD means your computer will waste less time waiting on the SSD. And upgrading an SSD means either having multiple drives or copying everything over to a new drive, both of which are sorta annoying:w compared to a video card upgrade which is just pulling out the old one and putting in the new one and you're done.


  1. Not to be confused with the USB Full Speed the famously poorly named USB standard for 12 Mbit/s. 

  2. Technically, M.2 is not just PCIe. In practice, in desktops, they are almost entirely used as PCIe x4 slots for SSDs. 

Comments

Have something to add? Post a comment by sending an email to comments@aweirdimagination.net. You may use Markdown for formatting.

There are no comments yet.