6

Whether it is a laptop or a desktop, any computer is made up of several pieces of hardware that communicate with each other. Sending data back and forth to ensure that the user gets the desired results.

I have seen some theoretical stuff on computers & hardware, but I wonder how it all comes together.

  • CPU
  • RAM
  • Graphics Card
  • L1 CACHE
  • L2 CACHE
  • L3 CACHE
  • FSB
  • ...

And all other things. Which is the biggest bottle neck? Why would a person not want/need a big value in one of those categories in certain situations?

P.S.: when reading the specs of the i5 750 processor, I came across this description:

In place of the FSB, one or more high speed, point-to-point buses called Quick Path Interconnect (QPI) are used, formerly known as Common Serial Interconnect Bus or CSI. QPI features higher bandwidth than the traditional FSB and is better suited to system scaling.

What is this, and how does it compare to FSB?

EDIT: I am not planning to buy a computer at all. The goal of this question is to understand the internal relation of various hardware pieces, their specific functions and how they work together.

For instance, I have heard to a somewhat higher-than-usual amount of L2/L3 Cache can help speed up your computer. What's up with saying that? Also I forgot to mention Hard-disk RPM.

4
  • 2
  • First one isn't really related. With this question I wish to understand the internal relation of computer hardware for future reference.
    – KdgDev
    Nov 19, 2009 at 19:40
  • 1
    Alot of people forget about your hard drive. Get an Solid State Disc and see how much faster your programs load, and how fast you can move things around.
    – AskaGamer
    Nov 19, 2009 at 19:49
  • Side note: The item with probably the biggest increase in "bottleneckness" in recent years is memory latency. While almost all other parts of a computer have improved significantly over the years, memory latency has seen very little change. 10-15 years ago memory latency was not an issue at all (CPUs were too slow to run into this problem). These days we need CPU caches in multiple tiers to mitigate this problem.
    – user12889
    May 20, 2010 at 23:08

6 Answers 6

4

As always, it depends.

It helps to know what, exactly, you need the machine to do. Ask a couple of friends who use theirs the same way to let you look at their performance, and try to determine exactly what is the bottleneck for their machine. Then take you best guess.

I've generally found that it is worth given up a little bit of processor frequency in favor of more RAM or a faster hard-drive[*]. But that was for running medium-to-largish physics simulation and analysis codes. (These codes hold a lot in memory and do a lot of looking things up in on-disk databases, logging, and flushing of buffers to insure against large data losses in the event of a crash; thus the biggest demand is for RAM and fast disks...)

If you are trying to build a very general purpose machine, I would recommend trying to get all your components just below the price point where you hit diminishing returns for that widget. That should work out pretty well.

[*] "Fast" for hard drives means both high throughput and a large cache.

3

Bottlenecks, Performance loss and Crashes - explained.

A lot of computer parts can bottleneck another parts.
Here I will bring a list of what can cause bottlenecks, loss of performance, crashes, explain why, and how to fix it. The list is too long, and I will split them into two parts, software and hardware.

Note 1: As it's too long, I think you won't read all the text, jump to the part that interests you much ;)
Note 2: Feel free to edit, or tell me if I miss something or tell something wrong. Feedback is good.

Let's start from the software side.


Software:

  • Software/Game: In case of performance loss/bottlenecks first of all take a look at software/game specifications. Maybe that piece of software simply is not designed to run in your OS or hardware.
  • Drivers: Incompatible drivers may cause a lot of headache. Make sure you have latest drivers installed. New drivers can also cause troubles (most common example is videocard), in that case rolling back to more stable version is a solution.
    Some old hardware can have old drivers which are compatible with new OSes (e.g. using driver for Windows XP on Windows 7). They can be marked as compatible, but also can cause errors. If the manufacturer hasn't made new driver for new OS then changing hardware is the only option.
  • OS: A 64-bit OS with 64-bit CPU handles 4GB+ RAM more efficiently. A 32-bit OS may handle 4GB+ RAM and 64-bit OS may handle 4GB- RAM with a performance loss. But that's usually a little loss, and depends highly on CPU and OS.

Hardware:

Hard drives:

  • Note: speed of hard drive is usually visible when starting programs (because programs move to RAM), and when booting to OS. Shortly, if you have fast drives, your programs and games will load rapidly. (Not talking about servers or high-load computers)

  • When running low on RAM, drive speed can cause performance loss.
    OS moves memory pages from RAM to HDD (and vice versa) so if HDD speed is slow then performance will suffer a lot. If you're always running low on memory, set bigger page-file size, and if that doesn't help, the only way is to buy bigger RAM or faster HDD (or both).

  • Faulty/bad hard drives often cause very random crashes and bottlenecks. These errors can be various and it's not easy to see that the reason is hard drive. If you don't shut down computer properly or if you have unstable electricity then hard drive suffers a lot. Check disk for errors (e.g. run CheckDisk), that usually solves the problem.
  • Fragmentation may cause performance loss. Defragment it frequently. Some OSes (e.g. Windows 7+) defragment hard drives automatically, so usually you don't have to care about it.

Memory (RAM):

  • Note: RAM speed and size are essential for building fast computer because most of computer parts talk with RAM frequently. So, slow and little RAM usually reduces overall performance. For example, if you have Core i7, fast hard drive but have 1GB RAM on DDR3-1333MHz, you will not feel the full power of your "fast" computer. Look at frequency, size and CAS Latency (CL) when buying RAMs.

  • Two different RAMs sometimes may crash or work with errors when put together. When buying 2 or more RAM chips, consider buying a RAM kit.

  • Paging file (or swap) size may cause performance loss. OS moves inactive memory pages from RAM to paging file (on HDD) and vice versa to allocate more memory for active processes. When RAM is not big and page file size is little, then you may run out of memory. On the other hand if RAM size is big then big paging file can slow down computer. So if page file size is selected correctly, it will improve performance, otherwise it can slow down computer.

  • Fast RAM on slower frequency slot is another mistake. In that case RAM will run on slow frequency (e.g. DDR3-2133 may run on 1600MHz), and you will not notice fast performance until you overclock it. Make sure that motherboard supports your RAM speed before buying it.

CPU:

  • CPU overheating can cause crash, performance loss, computer freeze, BSOD and so on. Overheating is the most common issue when talking about CPU. So buy quality fans /make sure your fans are running properly and remember to change thermal paste when necessary. Use tools like this to monitor your CPU temperature and fan speeds, and change thermal paste when CPU temperature is close to maximum allowed temperature.

  • Note: (for newbies only!) obviously, CPU frequency, core and thread count are the most important things for computer performance. Nothing will help your fast drives, memory, videocard, if your CPU is still Pentium 3.

Graphics card (videocard, GPU):

  • GPU overheating can lead to unexpected results (even to crash and burn). Make sure to have good cooling on your graphics card or you will lose them at all.
  • When buying PSU (power supply unit), make sure you have a lot of headroom for your graphics card. Some videocards may tell that they use X watts, but in full load they may run up to e.g. 70+x watts, and then you may experience sudden crash/freeze/black screen/blue screen or just lag in game (if you're lucky). Read reviews about your videocard to find out the maximum wattage and check if your PSU can take it.
  • Fast videocards on slow slots will cause bottlenecks. Make sure your motherboard has exactly the same slot which is required by videocard. For example, if your graphics card requires PCI-E2 x16 slot, then it may run on PCI-E2 speeds, so putting it on PCI-E1 x8 (yes, it's possible) slot will cause about 4x performance loss.
    PCI-Express slots are forward and backward compatible, so PCI-E3 card can be put on PCI-E1.x slot, but you will lose a lot of performance (also some new videocards may not work on PCI-E1.x). Putting PCI-E3 card on PCIE-2 slot will cause a little performance loss, because today's cards are not really running on high PCI-E3 speeds. But it can change tomorrow.
    Read this good article to understand all this mess about PCI-Express.

PSU (Power Supply Unit) - The ignored father of random crashes:

  • Note: It seems that PSU is less important and not harmful part of any computer, but in fact it can cause a lot of random crashes/black screens/freeze/and even burn hardware when it's not chosen properly!
  • Some CPUs, videocards (and other parts) may use more watts when in high load or in high temperature, and if PSU can't supply enough energy for computer, it may behave in 3 ways:
    1) Power off - in this case, you know, your work will not be saved. Also some computer parts may struggle a little bit. But it's the best thing that can happen.
    2) PSU doesn't care, and supplies low wattage - here you may see sudden crash/slow performance/freeze/lag/black or blue screen. Sometimes it can decrease hardware lifetime.
    3) PSU doesn't care at all - some low quality PSUs can really burn your hardware! They can simply ignore it and supply more current to your wires, then wires can get hot or melt or even burn! Anyway, it may immediately kill the hardware if it gets out of control.

  • So, when buying a PSU make sure it can supply enough power to your computer when computer is in full load, and leave about 50-100 watts for headroom.

  • On top of that, pay attention to PSU efficiency and constant/continuous wattage.
    PSU efficiency shows how much energy PSU supplies to computer. For example, if it's 80% then it only 80% of energy will be supplied to computer, and other 20% will be wasted (on heating or fans).
    Continuous wattage shows how much energy PSU can supply to computer, no matter how much PC is loaded. For example, if continuous wattage is 500W then you can be sure that it will stay stable even if computer is on high load. But cheap manufacturers often write maximum wattage on specification, and not the real stable wattage. So be sure to add another 50-100W headroom if you buy a cheap PSU. For more info about PSU, check this article.

1

In my personal experience the slowest component of any modern PC is the hard drive.

Proof: pay attention to what operations make you wait the most in front of the PC, and note if HDD diode is flashing or not during those wait times.

So if you intend to max-out all the components of your new PC as far as performance per dollar is concerned, your HDD will be the slowest component.

RAID could help, but that really adds noise and vibration - unless you make a RAID of SSDs.

5
  • It is certainly the case that the hard drive crawls, but for some uses hard drive access are a rare event, and for others they happen a lot. You have to know what you're going to be doing. Nov 19, 2009 at 18:35
  • I agree, that some specific uses/tasks will need very little HDD performance. But most day-to-day tasks are hampered by HDDs: OS loading/startup, archiving/extracting (unless using 7Z Ultra or similar), starting up any common applications (office/internet/media/games), compiling, copying/moving files between partitions or to/from external devices, navigating directories full of photos/videos in 'thumbnails' mode, ... I believe I could continue for a while. Even if you never have CPU use under 90%, you will still be very often limited by the HDD.
    – chronos
    Nov 19, 2009 at 22:58
  • 1
    Hard drive and RAM are not independent. If you have not enough RAM the OS will use the hardrive to extend memory (very slow). If you have more than enough RAM the OS will use spare RAM as cache for the harddrive. So, unless you write a lot of data to the drive, more RAM can mitigate the slowness of harddrives.
    – user12889
    May 20, 2010 at 23:03
  • It's your "personal experience". It means your HDD is the slowest part of your computer. Generally, you could have fast HDD but slow CPU,RAM,GPU.
    – Jet
    May 6, 2015 at 10:32
  • Jet, I'm sure that after 6 more years things may change even more than they already had with SSD prices! :D (And no, my 6 year old answer doesn't say anything about my HDDs or my computers - it only conveys that most of my use patterns involve a lot of I/O activity.)
    – chronos
    May 7, 2015 at 11:31
0

Jeff wrote a blog on the very subject. It's constantly in flux, depending on what you use it for.

I could have a 3rpm hdd, but if I used only webapps in lynx, I probably wouldn't mind too much.

2
  • Ouch, webapps in lynx? Did you mean to say 'websites'? Also, I wonder if lynx does any disk-based caching - 3rpm HDD wouldn't be at all funny then.
    – chronos
    Nov 19, 2009 at 23:01
  • Some builds of lynx can do a little javascript, and many webapps basically work without it. I think you can easily turn any caching off, too! :D (Of course, to use webapps in lynx you'd HAVE to be mentally unstable or burdened with a HDD that barely spins.
    – Phoshi
    Nov 20, 2009 at 8:17
0

Even though this topic is going on two years old, I agree that (even two years later) the hard drive is generally the biggest bottleneck. My home computer is running a Core i3 with an SSD and my work computer is running a quad core i7 with a HDD. My home computer boots up and logs in in literally 10 seconds or less, and my work computer sometimes takes several minutes. Granted my work computer is a managed machine so it requires some scripts to run, but even day to day functionality is significantly slower on the i7 machine. In my opinion, at least in the business world, HDD's are by far the single biggest cause of computer slowness and, ultimately, user frustration, particularly on laptops (5400 RPM hard drives should be made illegal.)

1
  • Even though this answer is 3 years old, I agree that HDD is not the biggest bottleneck if you have slower CPU, RAM with fast HDD. Usually the slowest part is the oldest part of your computer.
    – Jet
    May 6, 2015 at 10:41
-1

Q: Which is the biggest bottleneck?

A: The hard disk. Most of the PC users still use the good old rotating hard disks. Those are the real bottlenecks when it comes to data transfer.

The CPU, the RAM, the Cache and the GPU are pretty much "fast" except the HDD.

Try getting your hands on an SSD and you'll see the difference: http://www.youtube.com/watch?v=T_Jz7IMwBt4&feature=related

2
  • It's not so obvious. For example, if you have DDR2 RAM your computer will be slow, even if you have SSD.
    – Jet
    May 6, 2015 at 10:19
  • By the way, DDR3 is only slightly faster than DDR2 (<10%?), so adding an SSD instead of an HDD (at least 2x impovement in speed and even more in access times) will actually make both DDR2 and DDR3 systems much faster.
    – chronos
    May 7, 2015 at 11:36

Not the answer you're looking for? Browse other questions tagged .