Hardware Components
The larger or more complex the computing device, the more expensive it is, the greater the processing power it offers, and the higher the electrical energy it consumes. Regardless of the size, shape, power and capabilities, all computing devices have a similar set of components connected similarly to provide computing capability to allow you to build, deploy and use computing solutions.
All computing devices have the following core components:
- A CPU (central processing unit) that executes instructions (programs).
- Memory, where the data used by the programs is stored.
- Input and Output (I/O) connections to communicate with peripherals such as the keyboard and mouse for input, monitors for output, and other devices.
Central Processing Unit (CPU)
The CPU is the brain of the computer. The CPUcomprise of multiple components but the two main ones are:
- Control Unit (CU) The CU fetches, decodes and executes instructions, issues control signals that control hardware, and moves data around the system.
- Arithmetic logic Unit (ALU) The ALU performs arithmetic and logical operations (decisions).
While the basic design remains the same, there are multiple types of processors with different characteristics, each suitable for specific purposes. Processors today are manufactured by multiple companies, the well-known ones being Intel, AMD and ARM.
Processors are graded by the following parameters:
-
Clock Speed
The clock speed of a processor determines how quickly the processor can complete one instruction cycle (which is defined as fetch-decode-execute) instructions. Clock speeds are measured in gigahertz (GHz). A higher clock speed indicates that the processor will be able to execute the tasks faster. This in turn means your applications will run faster, providing a better user experience.
-
Cores
Cores are multiple processing units within a single processor. Each core in a processor executes instructions in parallel, thus improving the overall performance. Processors initially had only one core. As the technology evolved, processor designers and manufacturers were able to add more cores to a single processor thus improving its performance without increasing the overall size of the processor. Today processors have a minimum of 2 cores (dual core) and go higher in high-performance computers to 4 cores (quad-core), 8 cores (octa-core) and even higher.
-
Cache Memory
In addition to the memory in a computer, processors come with their own memory, known as cache memory, to improve performance by buffering transfers between the processor and relatively slow main memory. As you learn about the types of computer memory, remember that cache memory is the fastest but the most expensive so is generally very small compared to the main memory.
-
32-bit and 64-bit Architecture
When processing instructions, processors almost always also need to fetch data. The 32-bit and 64-bit processor architectures define how much data can be fetched in one cycle. Fetching more data in a single cycle will result in reducing the number of instruction cycles that need to be executed, thereby improving overall performance.
32-bit vs 64-bit architectures also determine how much of the main memory is accessible. With a 32-bit architecture the maximum of 4GB RAM, while 64-bit processors can utilize significantly more. To achieve this, all the computer components and the operating system also needs to be designed to be capable of accessing the larger memory.
Image by Bruno /Germany from Pixabay
This is what a typical modern processor looks like. It has the Intel brand and model embossed on it (INTEL CORE i5). This model has a clock speed of 2.9 GHz and 6 cores. With advanced technology processors pack a lot of power in a small size. But powerful processors also generate a lot of heat so they are mounted on components known as "heatsinks" to dissipate the heat and prevent damage to the rest of the circuit. In a computer, a processor is mounted on what is known as a "motherboard". The RAM and Input/Output interfaces are also mounted on the motherboard along with other electronic components that are needed for a computer to work.
Computer Memory
Non-volatile memory is a type of computer memory that can retain stored information even after power is removed. In contrast, volatile memory needs continuous power, if the power goes off the data is erased.
There are three kinds of memory used in all computing devices, the first two are volatile and the third is non-volatile:
-
ROM (Read-only memory) stores instructions pre-programmed for the microcontroller or processor to execute depending on what functionality it is designed for. As the name suggests, you cannot write new instructions to this memory, and you cannot delete or modify instructions on it.
-
RAM (Random-access memory) stores instructions and data used by the programs running on the computing device. These instructions and data in this memory can be written, modified, and deleted by a program. RAM is volatile memory, so it is erased if the computing device is shut down.
-
Permanent External Storage, usually known as a hard disk or a flash drive, is a long-term, non-volatile storage for instructions and data. Programs can read, write and modify instructions and data stored on any external storage. It is called external because while generally bundled into a computing device, it can also be portable and connected as a peripheral.
Other than the read-write capability and volatility of each memory type, their cost and speed are considerations when determining what memory should be used. ROM, RAM, and external storage are slower and less expensive in that order. Therefore, having a large RAM can improve performance, which will also cost more. Permanent storage is slow but inexpensive and may have a high capacity, but will reduce performance. While RAM and permanent storage capacities can be increased or decreased, ROM is built into the device as a part of its design and generally cannot be increased or decreased by the end-user.
Input Peripherals
An input peripheral is what a computer uses to allow users to send data to the computer. Computers usually have two input peripherals:
-
The Keyboard: The keyboard is used to type in data that your application needs. It has alphanumeric characters and some special keys referred to as control or function keys. The keyboard is also used to send control signals to your computer's operating system using a combination of the control or function keys and teh alphanumeric keys (such as Ctrl-C to stop a running program, or Ctrl-Alt-Delete to shutdown or restart your computer.) On smartphones, the physical keyboard is replaced by an on-screen keypad which provides the same functions.
-
The Mouse: A mouse is an additional input peripheral that is essential for computing devices with a graphical user interface (GUI) - which is almost every device today. The mouse displays what is known as a cursor to indicate a position on the screen and has button which when clicked take specific action depending on the GUI and the position of the cursor. Several actions can be taken by moving the mouse cursor and clicking on the mouse buttons instead of using the function or control keys. Input data still has to be typed in using the keyboard. On smartphones, a mouse is no longer required since they have touchscreens. Tapping on the touchcreen with your fingers is equivalent to a mouse click.
Output Peripherals
An output peripheral is what a computers uses to display data to the user. Computers usually have two output peripherals:
-
The Monitor or Display: The monitor is the screen attached to your computer on which you can see data that you are entering using the keyboard, the data processed by the computer, and the GUI used to interact with the computer. Smartphones have touchscreen displays which act as both input and ouput peripherals.
-
The Printer: Computers can have printers connected to them if the data needs to be printed on physical paper.
Networking Components
Since computers today rarely work independently and almost always need to be connected to other computers, a network, and even the Internet, they need a component known as a Network Interface Card. There are multiple types of these cards, one for each connection type the computer needs (wired or wireless). While computers have wired and wireless options, smartphones generally have only wireless connection capabilities.
Graphics Processing Unit
While CPUs are very powerful and can perform a lot of computational tasks, there are some tasks, specifically involving images and video that required even more processing power than what a CPU has. If the computer is required to work extensively in image processing, it has an additional component known as the GPU which is designed specifically to perform intensive image and video manipulation computations. These are most widely used in computer used for gaming and video editing.