01-Introduction to Functional Computer
01-Introduction to Functional Computer
[ Credits : https://witscad.com/course/computer-architecture/chapter/introduction-
to-functional-computer ]
[ Copyright : Witspry @ 2020 ]
We have come a long way from Computers being considered as powerful Calculation devices for automation, Data Entry
and Storage systems, Data processing Systems to being considered as Artificial Intelligence Devices. Unimaginable!
Computers were considered as devices to do routine jobs error-free, unlimited times, without fatigue, where humans are
most likely to be tired of monotonous and repetitive work. Some of us know the computers to be executing any
programmed logic for a solution, while the Millenials are introduced to intelligent computers. The Millenials will be amazed
to know the chronological invention and development of computers.
Evolution of Computers
If you don’t know history, then you don’t know anything. You are a leaf that doesn’t know it is part of a
tree
— Michael Crichton
One of the first calculation tool available was the Abacus, presumably invented sometime between 1000-500 B.C.
Around 1600, John Napier invented the Napier bones, a tool to find products and quotients. 1621, William Oughtred’s
slide rule exploited Napier’s logarithms calculations.
In 1822, Charles Babbage proposed a machine to calculate tables for logarithms and trigonometric functions, called the
Difference Engine. Before completing the machine, in 1833, he invented a more sophisticated Analytic Engine that used
Jacquard punch cards to control the arithmetic calculations. This machine was programmable, had storage capabilities, and
control flow mechanisms. It was a general-purpose computer. The Analytic Engine was never completed. Augusta Ada
Lovelace wrote the first program for the Analytical Engine (to calculate Bernoulli numbers). Some consider her as the first
programmer. Charles Babbage is credited for first conceiving the idea of Digital Programmable Computer.
In 1935, Konrad Zuse designs a special purpose electro-mechanical computer, the Z1. The Z1 computer was clocked at 1
Hz. The memory consisted of 64 words with 22 bits. A punch tape reader and a punch tape writer did input and output to
the computer. The computer had two registers of 22 bits length and was able to perform additions and subtractions (it was
not a general-purpose computer).
Zuse constructed the Z3, a fully programmable general-purpose computer, in 1939-1941. Remarkably, it contained a binary
floating-point arithmetic. It was clocked at 5.33 Hz, based on relays, and had 64 words of 22 bits length. The small memory
was not sufficient for storage of the program.
Presper Eckert and John Mauchly designed Electronic Numerical Integrator and Computer (ENIAC) during 1943-1946
with the following features:
5000 additions per second, 357 multiplications per second, and 38 divisions per second Decimal, not binary!
Von Neumann joined Eckert and Mauchly in the design of Electronic Discrete variable Automatic Computer (EDVAC). This
was the first Stored Program Computer ever designed. The stored program design is usually attributed to von Neumann.
The Microprocessors came into life from Intel. Intel 4004 was the first Microprocessor in the market around the year 1971
with the features:
In 1980, VLSI invention facilitated new processor architecture called RISC (Reduced Instruction Set Computer). Since
1985, commercial RISC Processors were introduced by many players creating Competition for the design of powerful
computers of the day. Few worth mentioning are MIPS from MIPS Corporation, Sparc from Sun Corporation, Power RISC
from IBM, PA-RISC from HP, Alpha from DEC. At the same time, Intel came up with its CISC (Complex Instruction Set
Computer) processors, Intel x86 Microprocessor. Everyone knows today that a simple PC clocks 3+ Mhz, 4MB Cache, 2GB
RAM.
Lots of information has been given here for the reader to appreciate how computers have evolved over a long period. It is
like man has evolved from the stone age! The reader has to take a deep breath and come out to today’s reality of amazingly
powerful systems.
Input
Datapath
Memory
Control Output
CPU 1/0
CPU, Memory, Hard Disk, Monitor, Keyboard, Mouse, Printer, Scanner, etc.
Integrated Circuits (ICs) such as CPU, Display boards, Combinational logic circuits, analog and digital interfaces
Printed Circuits (PCB) boards and its relevant parameters like a substrate for ICs and interconnection, distribution of
CLK, Vdd, and GND signals, heat dissipation.
Power Supplies that convert line AC voltage to regulated DC low voltage levels.
Chassis (rack, card case, ...) that holds boards, power supply, provides the physical interface to a user or other
systems.
As we understand, there are three stakeholders in the making of a computer .i.e. User, Computer Architect and Logic
Designer.
Software
Speed
Storage capacity
From the Computer Architect’s (one who designs the computer) view, he is concerned with :
From the Logic designer’s (one who implements the architects’ design of computer) view, he is concerned with the :
Instruction Set Architecture—the bridge between hardware and software (includes instruction set, CPU data path
and internal architecture- refer to figure 1.2 ). Instruction Set Architecture (ISA) describes the processor (CPU) in
terms of what the assembly language programmer sees, i.e. the instructions and registers and memory addressing
capability of the CPU. Processor design involves the instruction set design and the organisation of the processor.
More advanced processor implementations. The focus is on Pipelining, which is one of the most important ways to
improve performance.
Finally, Memory Systems and I/O design, and how to connect these with CPU.
In the context of computer hardware, frequently another term Computer Organization is used. Computer Organization is
concerned with the internal design of the processor, the design of the bus system and its interfaces, the design of memory
and so on with the chosen logic devices. It is possible for any two machines can have the same ISA, but different
organizations.
To have a complete understanding of Computer Architecture, we will be studying in detail about various topics like Data
Types of Computer Hardware, Instruction Set, Addressing Modes, Performance, Arithmetic and Logical Unit, Control Unit,
Memory Design, I/O Design.
[ Credits : https://witscad.com/course/computer-architecture/chapter/introduction-to-functional-computer ]
[ Copyright : Witspry @ 2020 ]
ALSO ON WITSCAD