Chapter Two
Chapter Two
✓ Ancient Calculating Tools: The earliest devices for computation include the abacus,
which dates back thousands of years and was used for basic arithmetic;
✓ Mechanical Calculators (17th Century): Inventors like Blaise Pascal and Got-
tfried Wilhelm Leibniz developed mechanical calculators in the 17th century. These
machines could perform addition and subtraction;
✓ Charles Babbage and Analytical Engine (19th Century): Often considered the
"father of the computer," Charles Babbage conceptualized the Analytical Engine
in the 1830s. Although it was never built during his lifetime, his designs laid the
groundwork for modern computing concepts;
✓ Home Computers and the Internet (1980s): The 1980s saw the rise of home
computers like the Commodore 64 and the IBM PC. Additionally, the development
of the internet began during this period;
✓ Mobile Computing and Smart Devices (21st Century): The 21st century brought
about the era of mobile computing, with smartphones and tablets becoming ubiqui-
tous. Cloud computing also became a significant trend;
▶ Mainframe Computers: They are large, powerful, and centrally managed comput-
ing systems designed for handling massive volumes of data and complex computing
tasks. They are Used for data processing, handling large databases, and running
enterprise-level applications.
▶ Minicomputerss: This category was popular in the 1960s and 1970s, and its role is
now absorbed by other categories of computers.
2.3.1 Microprocessor
It is the primary component of a computer responsible for executing instructions and
performing calculations. It acts as the brain of the computer, processing data and controlling
other hardware components. Its main components include:
• Arithmetic and Logic Unit (ALU): The ALU performs arithmetic (+,-,x,/) and
logical (AND, OR, NOT, XOR,..) operations.
• Control Unit (CU): The Control Unit manages the execution of instructions. It
fetches instructions from memory, decodes them, and controls the flow of data
between the CPU and other components.
32 Chapter 2. History and Evolution of Computers
• Registers: Registers are small, fast storage locations within the CPU used for
temporarily holding data that is being processed..
2.3.2 Memory
Memory stores such binary information as instructions and data, and provides that informa-
tion to the microprocessor whenever necessary. To execute programs, the microprocessor
reads instructions and data from memory and performs the computing operations in its
ALU section. Results are either transferred to the output section for display or stored in
memory for later use.
ROM memory: ROM provides a reliable and non-volatile storage solution for the
fundamental instructions and data that are integral to the system. such as bootstrap
and firmware.
RAM memory: It is a volatile storage used to temporarily store data and instructions
actively being processed by the system. It provides fast access times, allowing the
processor to quickly retrieve and modify data during program execution.
2.3.3 Input/Output
Input/Output (I/O) allows the transfer of information between the microcomputer sys-
tem and an external device. This transfer can be accomplished through three methods:
programmed I/O, interrupt I/O, and direct memory access (DMA).
2.5 Microprocessor
In 1971, Intel successfully integrated all the transistors that constitute a processor onto a
single integrated circuit, giving rise to the microprocessor. A microprocessor executes in-
structions and performs arithmetic and logic operations, playing a crucial role in processing
data and controlling other components within a computer system.
The main characteristics of a microprocessor are:
(a) Instruction Set : The instruction set of a microprocessor is the list of commands it
is designed to execute. Typical instructions include ADD, SUBTRACT, and STORE.
Each instruction is coded as a unique bit pattern, recognized and executed by the
microprocessor. If a microprocessor allocates 3 bits for instruction representation, it
can recognize a maximum of 23 instructions in its instruction set. The instructions
set varies depending on the microprocessor type and manufacturer. Microprocessor
can execute from several tens to thousands of instructions.
(c) Data Bus Width: It indicates the number of bits that can be transferred between the
microprocessor and memory in a single operation. It also reflects the number of bits
the processor can process simultaneously. The first microprocessors began with 4
bits, and currently, they have widths of 64 bits.
(d) Address Bus Width: The number of bits used to address memory locations, deter-
mining the maximum addressable memory.
(e) Clock Speed: The speed at which the microprocessor can execute instructions;
the higher the clock speed, the more instructions the microprocessor executes, it is
measured in hertz (Hz) or gigahertz (GHz).
(f) Cache Memory: Microprocessors often have small, high-speed memory caches to
store frequently accessed instructions and data, reducing the need to fetch them from
slower main memory. This feature was introduced in more advanced microprocessor.
(g) Multicore Capability: Many modern microprocessors are multicore, meaning they
have multiple processing units on a single chip, allowing for parallel processing and
improved performance.
Note: The metric used to express the processing speed of a microprocessor is how many
Million Instructions Per Second (MIPS) it can execute.
Exemple:
This architecture is often used in Digital Signal Processing (DSP) and microcontrollers,
notably Microchip’s PIC and Atmel’s AVR.
Example:
LDA 2000H Load the content of the address into the accumulator
The LDA instruction and the address 2000H are in the same memory for Von Neumann.
For Harvard, LDA is in the instruction memory, and 2000H is in the data memory.