London
London
University of Mosul
Done By :
Abdullah Omar Salah-Aldien
Gorup : C
Computer hardware components : can generally be broken down into three categories:
- Processing – Processing components are responsible for actually carrying out actions
in the computer. The main processing component is the Central Processing Unit (CPU).
We will take an extensive look at the CPU later in this lecture. In addition, modern
consumer laptops, desktop computers, and smartphones including a separate
Graphics Processing Unit (GPU), which we will take a brief look at.
- Input/Output– A variety of devices are used to get information to and from the
computer. On a consumer laptop or desktop, these are primarily the keyboard,
mouse, and computer display (also sometimes referred to on desktop computers as
the computer monitor). In addition, devices like printers and scanners also fall into
this category. Input/Output is commonly abbreviated as I/O or simply io (pronounced
as “eye-oh”).
While all computers have some sort of processing unit, the actual components do vary. The most
common computers in the world are neither desktop nor laptop computers; instead they are
embedded computers or embedded systems, which do not have a keyboard or mouse, and in some
cases don’t even have a display for output. These are the computers that are embedded in mundane
everyday devices from microwave ovens, coffee makers, and vending machines up to automobiles and
airplanes. Their inputs come from sensor devices, and their outputs are electronic signals, which
control the devices in which they are embedded.
Common Tasks on the Computer :
- Let’s take a look at how some common tasks on the computer relate to the Computer
Components we’ve just listed. Installing a Program on the Computer
- Typically, the installation files will be compressed, particularly if the application installer is
downloaded from the Internet, so they will need to be decompressed before the installation
progress can begin.
- The installation process copies the instructions for your new program onto your computer’s
secondary storage device (e.g., Solid State Drive or Hard Drive).
- At this point, the instructions are now decompressed and in permanent, non-volatile storage.
Running a Program on the Computer
- When we execute a program, the instructions for the program are copied from our secondary
storage device into primary memory.
- The instructions must be in primary memory for the CPU to access and execute them.
- In addition, storage space is set aside in primary memory for the program’s variables and other
information Saving a File from a Program
- When we create data or documents in our program, the data is stored just in primary memory
unless we explicitly save the documents.
- As previously noted, primary memory is volatile and if the power goes out, your data will be lost.
- Saving a file copies the data from primary memory to secondary memory where it is permanently
saved.
- Opening a file from our program copies the data in the file from secondary storage
into primary memory where it can be operated on by the program.
- Generally, a program will want all data in primary memory before it can manipulate
it.
Exploring the CPU :
We will now take a closer look at the CPU. The most important things to take
away from this discussion are :
1) The primitive nature of the CPU in comparison to how we view computers
(either as programmers or as users).
2) Some understanding of what Machine Language and Assembly Language are.
3) The distinction between High-Level Languages and Low-Level Languages.
4) How Compilers and Interpreters allow us to execute High-Level Languages on
a computer that actually only understands Machine Language.
Components of the CPU include:
Machine Language :
- Each type of computer processor has its own internal machine language. So
an ARM processor used in an Apple iPhone speaks an entirely different
language than a MacBook Pro, which has an Intel x86 processor in it.
- The actual language of all CPUs is quite primitive. Let’s take a look at some
sample instructions from the MIPS processor.
Example Arithmetic and Boolean Instructions:
- ADD $d, $s, $t
o Takes the contents of the $s register adds it to the $t register, using the
Arithmetic Logic Unit (ALU), and stores the results in the $d register.
- OR $d, $s, $t
o Takes the contents of the $s register and perform a bitwise OR operation
with the contents of the $t register then stores the results in the $d register.
what they look like. There are arithmetic instructions to subtract, multiple, and
divide, for example, as well as arithmetic instructions for the floating point registers;
more branch include testing if something is less than zero or greater than zero; and
the memory instructions allow transfers in 16-bit chunks in addition to the 8-bit and
- The Instruction Counter keeps track of the address in Main Memory for the
Here is the basic cycle the CPU uses to carry out a program. This is sometimes
Instruction Counter will be fetched from Main Memory and placed in the
Instruction Register.
- 2) The Control Unit contains logic circuitry, which will decode the contents of
the Instruction Register to determine the instruction’s type and the registers it
operates on; it will then send the contents of those registers into the Arithmetic
Logic Unit; finally it will send the resulting value to the destination register.
There are some exceptions. Branching will require changing the instruction counter.
Loading and storing operations will use different circuitry than the ALU. However,
There are two languages that work at the CPU level. They are:
binary codes.
This means take the contents of register t2 add it to the contents of register t3
and store it in
00000001010010110100100000100000
Going from right-to-left the 100000 at the end is the code for ADD. The code for
SUB
(subtract) would be 100010, the code for DIV would be 011010. The CPU uses
The next set of bits (again going right-to-left) is 00000. These bits would be used
used by our ADD operation. 01001 is the destination register. The 01011 is the
first source register, and the 01010 is the second source register. Note that these
register codes are five bits long 25 = 32 and MIPS has 32 registers for integer
values.
The final six bits set to 000000 are not needed for basic arithmetic operations.
- Each line of Assembly Code can be translated directly into the binary Machine
Code that the MIPS processor actually uses. However “ADD t1, t2, t3” is much
easier for a human to write and much harder to make a mistake with than
writing “00000001010010110100100000100000”.
Multicore Processors :
Electrical Engineers are having difficulty further increasing the speed of the CPU.
- You can think of each Core as consisting of an entirely separate CPU with their
own registers, their own Arithmetic Logic Unit, and their own instruction register and
instruction counter.
- Having multiple cores doesn’t necessarily lead to faster programs however. Let’s
can assign one core to one program, and a different core to another program.
(We’ll take a look at how programs are scheduled in another lecture this
week.)
multiple cores. Some programs that work well for multiple cores include:
Web servers with multiple cores can assign different cores to different visitors.
The visitors don’t generally interact, so the cores can operate more or less
independently.
Photo processing can assign different cores to different parts of the image. For
example, if I have four cores, I can assign one to the top-left, one to the top-
multiple cores. While having a few cores is probably useful (because as we’ll
see next lecture you always have the Operating System running in addition to
anything else executing on your computer), the ability for someone to really
take advantage of four, six, eight or more cores really depends on the type of
- Modern desktop, laptop, and mobile devices all include a Graphics Processing
- While CPUs with 2, 4, 6, and 8 cores are common, GPUs have many more
cores. For example , NVidia’s GeForce GTX 960, a consumer-level GPU, has
1024 cores and their high end-consumer models have as many as 3,584 cores
as of this writing.
- What is the difference between the many, many cores in a GPU and the much
GPU and all the cores will perform the same action simultaneously in all their
cores.
-dimensional arrays)
and on matrices.
used for many other purposes including Neural Networks, Code Cracking, and
Bitcoin Mining.
- For the right type of operation, a GPU gives is tremendous power, but it
Processor :
The processor or the CPU is the main component of the computer. Select a
processor based on factors like its speed, performance, reliability and motherboard
support. Pentium Pro, Pentium 2 and Pentium 4 are some of the processors.
Developments of Processors:
The Intel 4004 was a 4-bit processor which had a speed of 740 kHz. In 1976, Intel
introduced the 16-bit 8086 processor which had a speed of 5 MHz. A later version
of the 8086 was used to build the first personal computer by IBM. This was followed
by the Intel 486, which was a 32-bit processor which had a speed of 16 MHz.
During this time, several improvements in technology were made. For instance,
processors could run in both real mode and protected mode, which introduced the
concept of multitasking. Power-saving features, such as the System Management
Mode (SMM), meant that the computer could power down various components.
Computers finally went from command-line interaction to WIMP (Window, Icon,
Menu, Pointing device) interaction.
In 1993, Intel introduced the Pentium processor which has a speed of 60 MHz. This
was followed by the Pentium II which has a speed of 233 MHz, and the Pentium III
which has a speed of 450 MHz, and the Pentium 4 which has a speed of 1.3 GHz.
Later, Intel brought out the Celeron processor, which has a speed of 266 MHz and
which is used in affordable low-end computers. In 2003, Intel inaugurated the
Pentium M processor, which ushered in a new era of mobile computing, under the
Centrino platform. The Pentium M is slower, at 900 MHz, so that energy
consumption is reduced and the battery of the laptop lasts longer. In 2006, Intel
introduced the Core processor which has a speed of 1.6 GHz. It has more than one
core, like in the case of Core Duo (which has two cores) and has virtualization
capability which allows multiple copies of an operating system to be run on the
same computer.
While Intel is the leading company in the manufacturing of processors, there are
other companies such as AMD that make processors too. In 1991, AMD had
brought out the Am386 processor and its speed is 40 MHz. It is compatible with the
Intel 386 processor. In 1999, AMD introduced the Athlon processor which has a
speed of 500 MHz. Athlon was a legitimate competitor to Intel Pentium III because it
was faster. As a matter of fact, AMD Athlon was the first processor to reach the
speed of 1 GHz. The future for the computer processor industry is promising, as
processors will continue to get faster and cheaper. According to Moore‘s Law, the
number of transistors on a chip used to double every year, and from 1975, it used
to double every two years.
In the future, processors will have more cores that will be blistering fast and reduce
power consumption. Software programmers will have to create multi-threaded
applications to utilize the multiple cores. Computers with such processors will be
faster for multimedia applications such as graphics software, audio players and
video players. There is also a possibility that optical computing will increase
processor speeds exponentially. All these signs point to a brighter future for
processors, which will be to the benefit of everyone.
President from 2000- 2016, earned the Turing Award (Computer Science’s
equivalent of a Nobel Prize) in 2018. Let’s take a look at the work he earned it for.
register and stored it back in the memory location specified by a third register. This
Computing (CISC). President Hennessy, along with his co-Turing Award winner
Professor Dave Patterson (at Berkeley), concluded that this was the wrong
approach. They advocated that instructions should become simpler, not more
RISC architectures.
A small instruction set allows us to easily optimize and overlap instructions in ways
that CISC cannot do without difficulty. Two important innovations that followed were
Pipelined CPUs are based on the insight that during the execution of a CPU
instruction, different
parts of the CPU are used at different times. We’ve previously seen a CPU cycle
decoding circuits and the ALU (Arithmetic Logic Unit) sit fallow; and while the ALU
runs, the fetching and decoding circuits are wasted. Pipelining will overlap these
Here while we are decoding an instruction, we are simultaneously fetching the next
instruction. When we execute an instruction in the ALU, we are decoding the next
instruction and fetching the third instruction. We can continue to overlap all
instructions until we hit a condition branch (e.g., an if statement), which does
cause issues with pipelining, since we’ve already started fetching and decoding an
instruction which might not actually be executed depending on what happens with
our condition. There are a variety of ways of handling this, which we will not go into
a = b + c;
x = y + z;
between the two lines of code. We can look at execution of a Superscalar CPU like
this:
Ports are nothing but it is connections between external and internal input/output
devices such as keyboards, mice, mouse, Disk Drive, and many more with
In this article, we are going to discuss about different types of physical computer
Characteristics of Ports
External devices like keyboards, mice, and other devices are connected by
Computer ports are the slots in the motherboard in which cables of the
Many examples of external devices that can be attached via ports are
Internal port -Internal ports are used to connect internal devices like disk
Serial Port
Parallel Port
USB Port
PS/2 Port
VGA Port
Modem Port
FireWire Port
Sockets
Infrared Port
Game Port
Ethernet Port
A serial port is also called a communication port and they are used for connection
Serial cables are cheaper to make in comparison to parallel cables and they are
easier to shield from interference. There are two versions of the serial port, which
are the 9-pin serial port model and the 25-pin serial port model. The rate of
Serial ports are used for external modems and older computer mice.
The speed of data in the serial port is 115 kilobits per second.
Parallel ports are generally used for connecting scanners and printers. It can send
several bits at the same time as it uses parallel communication. Its data transfer
speed is much higher in comparison with the serial port. It is a 25-pin model. It is
In 1997 USB was first introduced. This can connect all kinds of external USB
devices, like external hard disk, printer, scanner, mouse, keyboard, etc. There are a
minimum of two USB Ports provided in most of the computer systems. It is a kind of
new type serial connection Port that is much faster than the old serial Ports These
USB Ports are much smarter and more versatile, as they allow the “daisy chaining”
of up to 127 USB peripherals connected to one port. The data transfer rate in this is
The data transmission rate in the USB port is 12 megabits per second.
4. PS/2 Port
PS/2 ports are special ports used for connecting old computer keyboard and
mouse. It was invented by IBM. In old computers, there are a minimum of two PS/2
Ports, each for the keyboard and the mouse. It is a 6-pin mini Din connector.
PS/2 ports are used for old computer keyboard and mouse.
Most of the old computers have two PS/2 ports one for the mouse and one for
the keyboard.
5. VGA Port
VGA ports also known as Video Graphic Array connectors are those which connect
the monitor to a computer’s video card. VGA port has 15 holes and it is similar to
the serial port connector. But VGA Ports have holes in it and the serial port
VGA ports are similar to serial port connectors only difference is, that serial
6. Sockets
Microphones and speakers are connected with the help of Sockets to the sound
The IEEE 1394 interface, which is developed in the late 1980s and early 1990s by
Apple as FireWire. It can transfer large amounts of data at very high speed. It is
with three variants which are 4-Pin FireWire 400 connector, 6-Pin FireWire 400
FireWire has three models: 4-Pin FireWire 400 connector, 6-Pin FireWire 400
receive infrared signals from other devices. The range of connectivity of the infrared
connection.
9. Game Port
These ports are used previously to connect a joystick to a PC. But nowadays it is
As the name suggests, a Modem port is used to connect a PC’s modem to the
telephone network.
11. Digital Video Interface(DVI) Port
DVI Port is used to connect an LCD(flat panel) monitor to the computer’s high-end
video graphic cards and it is very popular among video card manufacturers.
LAN or other sources). It connects the network cable to a computer and resides in
per second.
It is used to connect users with LAN (Local Area Network) and provide high-
speed internet.
The data transmission rate is 10 to 1000 megabits per second depending upon
Conclusion
As we discussed there are two types of computer ports physical and virtual. These
ports are used to connect internal and external devices to the motherboard for
communication. Examples of physical ports are USB Ports, Ethernet ports, DVI
ports, and many more. Examples of virtual ports include port 20, port 21, port 80,
etc.