The document provides an overview and introduction to computer and network technology. It discusses the history of computers from the abacus to modern machines. It covers the basic hardware components of a computer including the CPU, memory, input/output devices, and how they work together. It also examines the basic software components including operating systems, programming languages, utilities, and applications. Finally, it outlines the different types of computers and their uses as well as how computers can be connected in various configurations.
3. Lecture 1: Introduction
Basic Machine Hardware Architecture
CPU
Memory/Storage
Main Memory
Input/Output Devices
Basic Machine Software
Flowcharts
Languages
Operating Systems
System Utilities
Applications
What’s in Computer & Network Technology..?
Lecture 1: Introduction
3
4. Overview of Part 1
Number system: how is information
represented in a computer.
Boolean Algebra: the basis for logic design and
manipulation of information.
Logic gates: what are the gates used, and how
circuits can be made from gates.
Function simplification: to reduce the size of
design, increase speed, etc.
Lecture 1: Introduction
4
5. Overview of Part 1
Combinational circuits: simple circuit design
without memory.
Sequential circuits: circuit design with memory.
Disk: storage techniques.
Bus: internal communication.
I/O: devices, technology, etc.
Lecture 1: Introduction
5
6. History of Computers
Abacus invented in Babylonia in 3000BC
Adding machine by Blaise Pascal (1642)
Difference engine and the analytical engine by Charles
Babbage (1842)
IBM first electromechanical computer (using relays)
designed by Howard Aiken (1937) was based on
punched cards.
used to calculate tables of mathematical functions
Lecture 1: Introduction
6
7. History of Computers
1st Generation Computers (1940s to early 1950s) – based
on vacuum tubes technology.
1943 – ENIAC: first fully electronic computer, designed by John
Mauchly
1944 – Mark I: Howard Aiken
1946 – EDVAC: first stored program computers, designed by John
von Neumann
2nd Generation Computers (late 50s to early 60s) – based
on transistors technology.
more reliable, less expensive, low heat dissipation
IBM 7000 series, DEC PDP-1
Lecture 1: Introduction
7
8. History of Computers
3rd Generation Computers (late 60s to early 80s) –
integrated circuits (IC).
IBM 360 series, DEC PDP-8
IC – many transistors packed into single container
low prices, high packing density
4th Generation Computers (present day) LSI/VLSI
small size, low-cost, large memory, ultra-fast PCs to
supercomputers
5th Generation Computers (future)
massively parallel, large knowledge bases, intelligent
Japan, Europe and US advanced research programs
Lecture 1: Introduction
8
9. History of Computers
Web sites
History of Computers
(http://www.comp.nus.edu.sg/~sf100/c1f7.htm)
ACM Timeline of Computing History
(http://www.computer.org/computer/timeline)
The Virtual Museum of Computing
(http://www.comlab.ox.ac.uk/archive/other/museums/computin
g.html)
IEEE Annals of the History of Computing
(http://www.computer.org/annals/)
and others (surf the web)
Lecture 1: Introduction
9
10. Application Areas
Scientific: weather forecasting, simulation, spaceprogram.
one of the earliest application areas.
heavy computation but small amount of data.
Commercial: accounting, banking, inventory, sales.
changes nature of business – information is money.
high data throughput, simple calculations.
Manufacturing: numerical control, CAD/CAM, integration.
graphics, interfacing, device-drivers, networks.
Lecture 1: Introduction
10
11. Application Areas
Real-time & Control System: air-traffic control,
aircraft,nuclear power station.
real time, very fast, safety-critical.
Educational & Recreational
CAI software, multi-media, games, Internet, World Wide Web.
Telecommunication
Network, SCV, Singapore One.
Lecture 1: Introduction
11
12. Types of Computers
Supercomputers:
very fast (Gflops) but expensive machine($10m), vector or parallel
processors, used in scientific applications and simulations.
Mainframes:
fast (>10mips) but expensive ($1m), high-throughput, used in
large commercial organisations, support many concurrent users
interactively.
Mini-computers:
fast but affordable ($200k), used in medium-sized organisations
(e.g. SoC), support multiple users.
Lecture 1: Introduction
12
13. Types of Computers
Workstations:
affordable ($20k) and fast single-user systems (20 riscs mips),
good graphics capabilities, engineering, network-based
computing.
Micro/Personal/Home Computers:
cheap and affordable ($3k), transportable, home use, good for
games and as educational tool, word processing, suitable for
small enterprise.
Lecture 1: Introduction
13
17. Computers as Information Processors
Driver
Example: An automobile
augments our power of
locomotion.
A computer is a device
capable of solving problems
according to designed
program. It simply augments
our power of storage and
speed of calculation.
Lecture 1: Introduction
Programmer
17
18. Computers as Information Processors
Unlike previous inventions, computers are special because
they are general-purpose.
general-purpose
Could be used to perform a variety of tasks.
Computer = Hardware + Software.
Software
Hardware: physical components for computation/processing;
should be simple, fast, reliable.
Software: set of instructions to perform tasks to specifications;
should be flexible, user-friendly, sophisticated.
Lecture 1: Introduction
18
19. Computer as Information Processors
Computer are Information Processors
Raw
data
Computer
system
Processed
information
Data Units:
1 bit (binary digit): one of two values (0 or 1)
1 byte: 8-bits
1 word: 1, 2, or 4 bytes, or more (depends on ALU)
Lecture 1: Introduction
19
20. Basic Machine Hardware Architecture
Main Components:
CPU (Central Processing Unit: controls devices and processes
data).
Memory: stores programs and intermediate data.
Memory
Input Devices: accept data from outside world.
Devices
Output Devices: presents data to the outside world.
Devices
An analogy with Human Information Processors:
CPU – brain’s reasoning powers
Memory – brain’s memory
Input Devices – eyes, ears, sensory sub-system
Output Devices – mouth, hands, facial and body expressions
Lecture 1: Introduction
20
23. Hardware – CPU
CPU = control unit + ALU + registers
Control Unit : monitors and directs sequences of
instructions
Execution Cycle (repeated):
fetch (next instruction)
decode
execute
Lecture 1: Introduction
23
24. Hardware – CPU
ALU: performs simple arithmetic and logical operations.
Examples: Add, subtract, and, or, invert, increment etc.
A
select
B
R = A op B
ALU
n-bits operations
R
Lecture 1: Introduction
24
25. Hardware – CPU
Registers: temporary results + status information
ACC (accumulator) – current data
PC (program counter) – points to next instruction
IR (instruction register) – current instruction
MA (memory address) – address to read/write
MB (memory buffer) – data to read/write
Lecture 1: Introduction
25
26. Hardware – Memory/Storage
Purpose: to store program and data.
Desirable Traits: fast access, large capacity, economical,
non-volatile.
However, most memory devices do not have all these
traits.
Lecture 1: Introduction
26
27. Hardware – Memory/Storage
Solution: hierarchical combination
Fast, expensive
(small numbers),
volatile
registers
main memory
disk storage
magnetic tapes
Lecture 1: Introduction
Slow, cheap
(large numbers),
non-volatile
27
28. Hardware – Main Memory
Fast BUT volatile (need power to maintain data)
Logical structure – table of memory cells/units.
addresses
M
A
R
M
B
R
address
8 bits or more
0
1
2
3
memory
cells
data
2m-3
2m-2
2m-1
Lecture 1: Introduction
28
29. Hardware – Main Memory
Memory cells may be grouped into pages (say 512
consecutive words per page).
Units
1 KBytes = 1024 (or 210) bytes
1 MBytes = 1024 Kbytes (or 220 bytes)
1 GBytes = 1024 Mbytes (or 230 bytes)
Lecture 1: Introduction
29
31. Basic Machine Software
Software is the key to making computers general purpose.
Software are often built hierarchically, with layers of
software providing successive higher-level of abstractions.
This structure is reflected by the following onion layer
view of software.
Lecture 1: Introduction
31
33. Software – Flowcharts
The sequence of instructions of a software/program can
be graphically specified using flowcharts.
flowcharts
The flowchart technique maybe a little outdated but could
still be used in a clear manner for simple problems.
As an example, the procedure to find the roots of a
quadratic equation, ax2 + bx + c = 0, can be written using
the following equation:
roots = (−b ± b 2 − 4ac ) / 2a
Lecture 1: Introduction
33
34. Software – Flowcharts
This procedure can be coded in the following flowchart:
Read
a,b,c
roots = (−b ± b 2 − 4ac ) / 2a
a=0?
yes
Write
not quadratic
no
d:=b2 - 4ac
=
Write
real root
Lecture 1: Introduction
d>0
d=0
d<0
>
Write
real roots
<
Write
complex roots
34
35. Software – Languages
All programs will have to be coded in some programming
language – usually text-based.
The native language of machine is called machine
language.
language
This consists of a set of primitive instructions, coded in
numbers.
An example is "0310 0412 0512". But can you understand
what it does?
Lecture 1: Introduction
35
36. Software – Languages
Possible to use more human-readable mnemonic
instructions.
These are know as assembly language instructions.
Mnem onic
Descript ion
ADD 10
AC:= AC+ C(10)
SUB 12
AC:= AC-C(12)
STO 12
C(12)= AC
Normally, assembly language has a 1-to-1
correspondence with machine language.
Lecture 1: Introduction
36
37. Software – Languages
Assembly language is still very primitive.
Higher-level Languages, like Pascal, C, Fortran, which are a
Languages
little closer to English language have been developed.
Lecture 1: Introduction
37
38. Software – Languages
An example Pascal program to find roots of quadratic
equation:
read(a,b,c);
if a=0
then writeln ("not a quadratic equation")
else
begin
d := sqr(b)-4*a*c;
if d>0 then writeln ("complex roots")
else if d=0 then writeln("single root =",-b/(2*a))
else writeln ("root1=",-b+sqrt(d)/(2*a),
"root2=", -b-sqrt(d)/(2*a));
end;
Lecture 1: Introduction
38
39. Software – Operating Systems
Operating System (OS) is situated directly above
hardware. It controls and manages the available
hardware resources.
Often, OS has special access privileges to certain
categories of instructions and certain hardware
User programs have to go through OS for these privileges.
Lecture 1: Introduction
39
40. Software – Operating Systems
Associated Functions/Tasks:
boots up machine
loads user program
allocates main memory/storage space
schedules concurrent user programs
drivers to service various devices (terminals, printers, etc.)
Lecture 1: Introduction
40
41. Software – System Utilities
Above the OS, there is a set of frequently executed
programs,called System Utilities. These utilities are often
Utilities
packaged with OS.
Used by programmers/analyst to help develop applications.
Some examples
Editor: compose/edit user programs or data files
Assembler: translates assembly to machine code
Compiler: translates high-level language to assembler/machine
code
Spooler: temporary stores print files for queuing
Lecture 1: Introduction
41
42. Software – System Utilities
Some examples (continued)
Mailer: forwards/receives mails between users
DBMS (Data-Base Management System): centralised
management of data at a more abstract level than files
Window Management System: multiple windows can appear on
single screen. These together with various graphical entities (e.g.
menus,panels, buttons) can be managed by WMS.
Lecture 1: Introduction
42