A Comprehensive Introduction to Computer Hardware


The nature of technology is that of constant evolution. While that is true, there are some foundational concepts that have remained relatively constant regarding computer hardware. In this article, we will look at the fundamental components of a computer and investigate their purpose. There are 11 key components and concepts that will be discussed, all of which combined will give you a solid foundation in computer hardware:


The Network Interface Card (NIC) is one of the most important pieces of hardware in modern times. Without a NIC you cannot communicate on the Internet! There are two primary NICs types; the wired NIC, and the wireless NIC. Wired NICs are more reliable and capable of faster speeds, though it requires the machine to be near a RJ-45 (Ethernet) jack. WiFi technology has solved this problem as it does not require a physical wire to be run to the machine, but issues with reliability and slower speeds can occur.

Hard Drives

The Hard Drive has passed through many evolutionary stages over the past two decades. The hard drive is an enclosure that houses solid, or hard, disks that can be manipulated with electromagnetic components. Because of the hard disks we have called hard drives Hard Disk Drives (HDD) for a long time. The basic operation of a HDD involves the internal discs spinning up and beginning to rotate. Different quality HDDs rotate at different speeds. If you are doing basic office work like sending emails and editing spreadsheets then something like a 5400 rpm (rotations per minute) HDD will do fine. If you are doing video or audio editing you may want a faster 7200 rpm drive and there are even faster drives for the most demanding tasks (some servers use 15000 rpm HDDs for example).

The HDD is not the final statement on hard drives, however. While HDDs are capable of holding large amounts of data, there is another option available that offers speed over capacity. Solid State Drives (SSDs) are hitting the computer market in a big way. The SSD does not have any moving parts so you do not have to wait for any disks to get up to speed before accessing data and data transfer rates are not limited by the rotation of a physical disk. SSDs are not capable of holding as much data as the HDDs, but the increase in speed makes it desirable for certain implementations.


Random Access Memory (RAM) is a frequently upgraded component and for good reason. In order to understand RAM it is important to think of the basics of how an application works behind the scenes. When you use a calculator program to add two numbers together, for example 2 + 5, you will get the result of 7. What we have are three separate values. These values are not written onto your hard drive, they are stored in RAM. The calculator program sees those values as belonging to a variable:

first_number = 2
second_number = 5
result = first_number + second_number

When we use the calculator program it adds the values of the first_number and second_number variables and assigns that result to our result variable; then the value of the result variable is displayed as output to the user (you). It is important to note that all three variables still exist in RAM until that program closes or another line of code specifically destroys those variables, thus clearing them from the RAM. This is why it is important to have a significant amount of RAM if you are dealing with applications where a lot of information is being manipulated on the fly. RAM is also known as volatile memory which means that it will lose all of its stored data when the electricity is turned off (volatile memory, 2006). This is different from the SSD which is a non-volatile memory and retains data even if there is no power to it (non-volatile memory, 2003).


Read Only Memory (ROM) is important to understand, but is not as commonly discussed as RAM. ROM is memory that cannot be written to, hence the ‘read-only’ in the name. The most common form or ROM is the BIOS chip that runs the Power On Self Test (POST) program when your computer boots. This chip, and all other ROMs, cannot be written to like with RAM or SSDs and fall under the non-volatile memory category (non-volatile memory, 2003). Another ROM medium is the CD/DVD-ROM; the data on a CD/DVD-ROM cannot be changed.


CMOS is a chip that stores your BIOS settings. These are low-level settings that include boot settings, hard drive configurations, and many others depending on that particular machine. The Basic Input/Output System (BIOS) is an application that is permanently written on a ROM chip on the motherboard. CMOS stands for Complimentary Metal-Oxide Semiconductor and is where the BIOS settings are actually stored (CMOS, 2006). CMOS is volatile memory and is accompanied by a small battery to keep its settings. If the battery dies the BIOS settings revert back to their original state.

Video Card

The Video Card is another frequently upgraded component and can greatly improve a system’s performance during certain tasks. Traditionally the video card has its own processor known as the Graphics Processing Unit (GPU) and its own memory (similar to RAM). This remains true with high-end video cards, but there have been more and more video cards built directly onto the motherboard that use the same Central Processing Unit (CPU) and RAM as the rest of the system. The more video output you require (i.e. multiple monitors) or graphical rendering you require (i.e. video games or 3D modeling software) the more performance you will require from your video card. A high-end video card can make all the difference in those implementations. On the other hand, the improved performance for simple office tasks like email or document editing is negligible.


The Central Processing Unit(CPU) is the mathematician of your computer. The CPU runs massive amounts of calculations required to run our Operating Systems(OS) and the applications that run on top of the OS. The CPU isn’t always the only thing crunching numbers as stated before when describing the video card and GPU. There are even high-end sound cards that have their own processors to ease the burden on the CPU. While that is true, the CPU generally gets credit as the chief processor and is one of the most significant bottlenecks when speaking of computer performance in general. With the advent of multi-core processors, the speed and power of modern CPUs is staggering compared to a decade ago.


The CD-ROM/DVD-ROM drive is a technology that is losing popularity. Many laptops, and even some desktops, are being designed, built, and sold without them recently. In fact, the laptop typing this article is sans-CD/DVD-ROM drive. The increase in Internet speeds and advent of Universal Serial Bus (USB) flash drives, small non-volatile memory sticks, have made them less of a requirement. Some CD/DVD drives are not true ROM drives because they can also write data to blank CDs or DVDs, which is still a useful way to store and share data at times (like if the network is down).


A Cache enables the computer to keep frequently used data close at hand. If a calculation is required often in an application or routine, then the result may be stored in a cache and referred to without having to use the system resources to recalculate the result. An analogy: If you live far from your water source it is inefficient to travel there each time you want a glass of water. It makes much more sense to fill a water can that you can bring back to your home. The water can now act as your ‘water cache’ and allows you to drink many glasses of water before traveling back to the water source. This is the basic principal of a computer cache. RAM can store or ‘cache’ frequently accessed application data for instance (Christenson, 2013).


The Motherboard can be thought of as the physical infrastructure of the computer. The motherboard is what inter-connects all of the components discussed so far and allows them to communicate with each other. By allowing the physical components to communicate, the Operating System (OS) can in turn communicate with each of these components. The OS can now run applications and direct the input/output of data and calculations to the appropriate component; RAM, CPU, hard drive, video card, etc…


Another important topic to cover is Standardization. Without standards, like Ethernet, there would not be universal NIC connections. This would mean that each individual company might make a different connector and an entirely proprietary set of hardware. This would make scalability and system upgrades difficult and with very limited options. Standardization allows different companies to create products that will work with each other based on predefined standards. Organizations like the International Organization for Standardization work towards researching and creating these standards (ISO, na).

Putting these concepts together you can see how these concepts and components interact with one another. This should de-mystify the subject of computer hardware. 


Christensson, P. (2013, June 8). Cache Definition. Retrieved 2017, Apr 13, from https://techterms.com

CMOS. (2006). In High definition: A-Z guide to personal technology. Boston, MA: Houghton Mifflin. Retrieved from http://search.credoreference.com.proxy.cecybrary.com/content/entry/hmhighdef/cmos/0?institutionId=556

ISO. (na). About ISO. Retrieved from https://www.iso.org/about-us.html

non-volatile memory. (2003). In B. Pfaffenberger, Webster’s new World&Trade; Computer Dictionary (10th ed.). Boston, MA: Houghton Mifflin Harcourt. Retrieved from http://search.credoreference.com.proxy.cecybrary.com/content/entry/webstercom/non_volatile_memory/0?institutionId=556

volatile memory. (2006). In High definition: A-Z guide to personal technology. Boston, MA: Houghton Mifflin. Retrieved from http://search.credoreference.com.proxy.cecybrary.com/content/entry/hmhighdef/volatile_memory/0?institutionId=556


About Author

James Cathcart has a Bachelors of Science for Software Application Programming and is currently pursuing his Masters of Science for Software Engineering. He became a computer enthusiast before his teenage years and is passionate about software development.

Leave A Reply