Friday, March 27, 2015

Inc Motherboard


Once again - If you want more information on how motherboards work How Stuff Works provides a great description of all the different parts and pieces. http://computer.howstuffworks.com/motherboard.htm

Motherboards are really difficult to write about in terms of purchasing. There are so many different boards with varying features. It would take forever to describe all of them and the fluff associated with them. Sadly the integrated functionalities on most these boards aren't even used. Thus in an effort to simplify things I’m going to breakdown the choice into the following categories:

  1. CPU Socket
  2. Chipset
  3. Supported Memory
  4. RAID Controller
  5. BIOS
  6. Number and Type of slots/connections (PCI-e, USB, SATA)
  7. Interesting Features 
So as we learned in the Inc CPU section CPU’s directly impact which motherboards can be used. This boils down to the cpu socket. The CPU we selected contains a LGA 2011-v3 socket.

There are two primary types of CPU sockets, Pin Grid Array (PGA) or Land Grid Array (LGA). Fundamentally the difference between the two are where the pins exist. LGA’s have the pins on the socket rather than the CPU chip. PGA’s are the exact opposite. The socket forms the connection that allows the CPU to function in coordination with the rest of the board components.

Traditionally, CPU sockets would connect to two different microchips called the northbridge and the southbridge; however, because the northbridge needs to be fast most modern CPU architectures actually include the northbridge functionality within the CPU. (Hence the architecture name SandyBridge and IvyBridge on the Intel Processors) Collectively these microchips along with a few others on the board are known as the chipset. Typically these chips match the processor family (In our case Intel) and work in tandem to pass data throughout the board.

To better understand how data travels and how different chips interact we are going to go through a fresh power cycle.

There are a couple of points I’m going to address prior to explaining the power cycle process.
  1. In the future there may exist a low level explanation on the magic of physics and electrical engineering, but for now physics is just that... magic! 
  2. There are absolutely going to be more steps than what I describe. If you want to know more ask and I’ll try to make follow up posts to describe things in greater detail. 
  3. If it weren’t obvious from the above two points...because I’m basically just repeating it over and over again - this is a very simple explanation and more information will be given later 
  4. The process that is about to be described is a perfect world scenario - all pieces and parts are functioning as intended and the fully functional computer is already pieced together. 
Once the computer has power it first does a check. It comes to the first chip which has some super awesome electrical engineering logic that checks and makes sure that all the paths exist to all the parts it needs to run. This process is called POST or Power-On Self-Test. Each piece of hardware is told to initialize via the firmware that is pre-installed. As per point 4 listed above, all of the hardware and firmware are good so we hear a single beep. More EE magic happens which leads us to BIOS or Basic Input-Output System. BIOS is essentially a program which is stored on a separate flash memory chip usually attached to the motherboard. It (like it says in the name) provides the user basic interactive functionality with the computer hardware and its settings.

OK well you may be thinking my PC doesn't have BIOS it uses UEFI (Unified Extensible Firmware Interface). Both UEFI and BIOS accomplish the same task just in two very different ways. In fact you can actually run both UEFI and BIOS alongside each other (Which is actually how most motherboards operate currently). Why would you ever want to run both? Well, UEFI provides several enhancements that are not available in BIOS because of the limitations. So why not just run UEFI? Unfortunately, UEFI only provides some support for legacy BIOS services. So understanding what you need is crucial for determining what you use. A prime example is operating systems. Let’s say you want to run Windows 8. One of the requirements for Windows 8 is UEFI. This is due to a UEFI feature called Secure boot. Secure boot forces a user to use authentic signed drivers for the hardware. This is a big deal for the “typical user” in terms of security and computers, because it makes it significantly more difficult to compromise a computer from a hardware perspective.

So whether it is UEFI or BIOS the next step in the process is the boot step. Both UEFI and BIOS set a boot order. The boot device is selected and depending on both the device and the firmware interface (BIOS or UEFI) information is then loaded into memory and finally the processor. Note that in between all of these junctions lots of physics EE magic happens within the microchips on the motherboard.

One said magical microchip could be a RAID controller or Redundant Array of Independent Disks controller. RAID essentially does exactly what it states. It takes several individual disks attaches them to a controller that creates an array. The RAID controller then determines based on the settings a user provides how data will be distributed to those disks. This is a fairly common feature on most motherboards and directly impacts the how different components see disks.

So we have drives and CPU what about memory? The memory controller often is located within the northbridge, which as we already know is typically inside the CPU. Each channel has a 64 bit bus to the socket (Once upon a time this was 32 - hence the difference between 32 bit and 64 OS). The number of channels supported by the CPU will determine the number of memory slots you will see on the motherboard. For example the CPU we selected supports 4 channels. Typically 4 channels equates to 8 slots. Each channel is associated with two slots on the motherboard. Only one of the two slots may be accessed during a single cycle, making 4 slots accessible total for each cycle. As mentioned in my post on memory a single cycle is relative to the speed of the RAM, since RAM speed is significantly slower than CPU.


4 Channel Architecture
o+o ----64bit bus----|------------|
o+o ----64bit bus----|    CPU    |
o+o ----64bit bus----|   SOCK  |
o+o ----64bit bus----|------------|

each o is a memory socket
SO - o+o is two memory sockets

Going to repeat what I stated in the CPU and memory posts - there are limiting factors that exist within all three elements - making sure CPU, memory and motherboard match with those limitations is the most difficult part when building a PC.

Speed, channels, connection type, type <-
^^^^^^^

Speed (Frequency) - the MHz number usually tagged at the end of the RAM type example DDR4-2133, 2133 is the RAM speed in MHz - Usually the CPU will indicate the supported speeds.

Channels - RAM works best when you buy it in preconfigured channel packs - so if you purchase a motherboard and cpu that both support 4 channels - you will see the best performance out of a RAM set that comes with 4 sticks of RAM for 4 channels. Note - this is not a requirement just a recommendation for an optimized system

Connection type - how many pins does your ram and motherboard contain - do they match? If so WIN!

Type - DDR#, All the #’s have to match for CPU, Motherboard and RAM. No bueno if they don’t so just don’t.

So once all the main components are happy we can start to add the parts all gamers love: Network and Graphics Cards!

Many ages ago there was a slot called AGP or Accelerated Graphics Port. Gamers such as myself thought it was the greatest thing since sliced bread. A bus and slot we could dedicate to making our games look amazing. PCI at the time was shared and the bus speed was not quite what we needed to render what I thought to be intense graphics and textures. Textures were the main selling point of AGP - it provided the ability to access a systems RAM to directly read textures.

So where did AGP go wrong? It just became obsolete. PCI-e supports higher data transfer rates and is not limited to just graphics cards. Board developers saw the benefits of providing a fast, dynamic, multi-channeled slot. AGP is still around but support is very limited and used only for specific types of machines.

Both network and graphics cards now use PCI-e. There really isn't much too it - ultimately you want to make sure your CPU has enough PCI-e channels to support the cards you wish to put in your system and you have enough slots on the motherboard for all of the additional cards.

Note - both of these cards are auxiliary. A large number of motherboards come with integrated networking at a minimum and although graphics isn't as common it too can still be found.

There really are so many things that could be discussed when talking about a motherboard. I found myself going on and on about topics and then deleting because there was just too much. I feel like what was described is a good basis for many more posts to come.