Download - Lecture 1
Computer & Network Technology
Chamila FernandoBSc(Eng) Hons,MBA,MIEEE
Lecture 1: Introduction
Overview
History of Computers
Application Areas
Types of Computers
Computer Configurations
Computers as Information Processors
Lecture 1: Introduction 2
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
Overview of Part 1
Number system:Number system: how is information represented in a computer.
Boolean Algebra:Boolean Algebra: the basis for logic design and manipulation of information.
Logic gates:Logic gates: what are the gates used, and how circuits can be made from gates.
Function simplification:Function simplification: to reduce the size of design, increase speed, etc.
Lecture 1: Introduction 4
Overview of Part 1
Combinational circuits:Combinational circuits: simple circuit design without memory.
Sequential circuits:Sequential circuits: circuit design with memory. Disk:Disk: storage techniques. Bus:Bus: internal communication. I/O:I/O: devices, technology, etc.
Lecture 1: Introduction 5
History of Computers
AbacusAbacus 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
History of Computers 1st Generation Computers (1940s to early 1950s) – based
on vacuum tubesvacuum 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 transistorstransistors technology. more reliable, less expensive, low heat dissipation IBM 7000 series, DEC PDP-1
Lecture 1: Introduction 7
History of Computers
3rd Generation Computers (late 60s to early 80s) – integrated circuitsintegrated 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
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/computing.html)
IEEE Annals of the History of Computing (http://www.computer.org/annals/)
and others (surf the web)
Lecture 1: Introduction 9
Application Areas
Scientific:Scientific: weather forecasting, simulation, space-program. one of the earliest application areas. heavy computation but small amount of data.
Commercial:Commercial: accounting, banking, inventory, sales. changes nature of business – information is money. high data throughput, simple calculations.
Manufacturing:Manufacturing: numerical control, CAD/CAM, integration. graphics, interfacing, device-drivers, networks.
Lecture 1: Introduction 10
Application Areas
Real-time & Control System:Real-time & Control System: air-traffic control, aircraft,nuclear power station. real time, very fast, safety-critical.
Educational & RecreationalEducational & Recreational CAI software, multi-media, games, Internet, World Wide Web.
TelecommunicationTelecommunication Network, SCV, Singapore One.
Lecture 1: Introduction 11
Types of Computers
Supercomputers:Supercomputers: very fast (Gflops) but expensive machine($10m), vector or parallel
processors, used in scientific applications and simulations.
Mainframes:Mainframes: fast (>10mips) but expensive ($1m), high-throughput, used in
large commercial organisations, support many concurrent users interactively.
Mini-computers:Mini-computers: fast but affordable ($200k), used in medium-sized organisations
(e.g. SoC), support multiple users.
Lecture 1: Introduction 12
Types of Computers
Workstations:Workstations: affordable ($20k) and fast single-user systems (20 riscs mips),
good graphics capabilities, engineering, network-based computing.
Micro/Personal/Home Computers: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
Computer Configurations Stand-alone computer systemStand-alone computer system
Modem connectionModem connection
Lecture 1: Introduction 14
Computer Configurations
Terminals-host connectionsTerminals-host connections
Lecture 1: Introduction 15
Computer Configurations
Network of computersNetwork of computers
Lecture 1: Introduction 16
Computers as Information Processors
Lecture 1: Introduction 17
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.
Driver
Programmer
Computers as Information Processors
Unlike previous inventions, computers are special because they are general-purposegeneral-purpose. Could be used to perform a variety of tasks.
Computer = Hardware + SoftwareHardware + 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
Computer as Information Processors
Lecture 1: Introduction 19
Computer are Information Processors
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)
Computer system
Raw data
Processed information
Basic Machine Hardware Architecture
Main Components: CPUCPU (Central Processing Unit: controls devices and processes
data). MemoryMemory: stores programs and intermediate data. Input DevicesInput Devices: accept data from outside world. Output DevicesOutput Devices: presents data to the outside world.
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
Basic Machine Hardware Architecture
Lecture 1: Introduction 21
Monitor (Output)
Mouse and Keyboard (Input)
Headphone (Output)
Hardware box (contains processor, memory, buses etc.)
Basic Machine Hardware Architecture
Lecture 1: Introduction 22
Motherboard (Printed Circuit Board)
Processor
Slots for RAM chips
Network card and CRT card
Cage for mounting drives
Floppy disk drive and Hard disk drive
© above picture: Patterson and Hennessy
Hardware – CPU
CPU = control unit + ALU + registers
Control Unit :Control Unit : monitors and directs sequences of instructions
Execution CycleExecution Cycle (repeated): fetch (next instruction) decode execute
Lecture 1: Introduction 23
Hardware – CPU
ALU:ALU: performs simple arithmetic and logical operations. Examples: Add, subtract, and, or, invert, increment etc.
Lecture 1: Introduction 24
A B
ALUselect
R = A op B
n-bits operations
R
Hardware – CPU
Registers: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
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
Hardware – Memory/Storage
Solution: hierarchical combination
Lecture 1: Introduction 27
registers
main memory
disk storage
magnetic tapes
Fast, expensive (small numbers), volatile
Slow, cheap (large numbers), non-volatile
Hardware – Main Memory
Fast BUT volatile (need power to maintain data)
Logical structure – table of memory cells/units.
Lecture 1: Introduction 28
0123
2m-32m-22m-1
addresses
memory cells
8 bits or more
MAR
MBR
address
data
Hardware – Main Memory
Memory cells may be grouped into pagespages (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
Hardware – Input/Output Devices
Input devicesInput devices: read/accept data (into computer) obsolete: card reader, paper tape reader present: keyboard, mouse, light-pen, optical char reader future: voice and vision recognition.
Output devicesOutput devices: write/display data (to users) obsolete: card & paper punch, teletype present: VDU (visual display unit), printers, plotters, graphics
display, sound future: voice synthesis.
Lecture 1: Introduction 30
Basic Machine Software
SoftwareSoftware 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
Basic Machine Software
Lecture 1: Introduction 32
HardwareOperating system
System utilities
Applications/User programs
Software – Flowcharts The sequence of instructions of a software/program can
be graphically specified using flowchartsflowcharts.
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:
Lecture 1: Introduction 33
aacbbroots 2/)4( 2
Software – Flowcharts This procedure can be coded in the following flowchart:
Lecture 1: Introduction 34
aacbbroots 2/)4( 2
Read a,b,c
a=0?
d:=b2 - 4ac
d>0d=0d<0
Writereal root
Writecomplex roots
Writereal roots
= <
>
no
yes Writenot quadratic
Software – Languages
All programs will have to be coded in some programming language – usually text-based.
The native language of machine is called machine machine languagelanguage.
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
Software – Languages
Possible to use more human-readable mnemonic instructions.
These are know as assembly languageassembly language instructions.
Normally, assembly language has a 1-to-1 correspondence with machine language.
Lecture 1: Introduction 36
Mnemonic Description
ADD 10 AC:=AC+C(10)
SUB 12 AC:=AC-C(12)
STO 12 C(12)=AC
Software – Languages
Assembly language is still very primitive.
Higher-level LanguagesHigher-level Languages, like Pascal, C, Fortran, which are a little closer to English language have been developed.
Lecture 1: Introduction 37
Software – Languages
An example Pascal program to find roots of quadratic equation:
Lecture 1: Introduction 38
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;
Software – Operating Systems
Operating SystemOperating 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
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
Software – System Utilities
Above the OS, there is a set of frequently executed programs,called System UtilitiesSystem Utilities. These utilities are often 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
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
Software – Applications
Word-ProcessorsWord-Processors: compose/edit reports/articles
Accounting PackageAccounting Package: keeps track of accounting transactions, produces daily/weekly/monthly (profit/loss) reports
Inventory SystemInventory System: keeps track of stock levels
Personnel/Payroll SystemPersonnel/Payroll System: staff records, monthly salary
CS1104-1 Lecture 1: Introduction 43
What’s in Computer & Network Technology..?
CS1104-1 Lecture 1: Introduction 44
I/O systemProcessor
Compiler
OperatingSystem
(Windows XP)Instruction Set Architecture
Datapath & Control
Memory
Software
Assembler
Computer Architecture
Application (Netscape)
Digital Designtransistors
HardwareDigital Logic Design
Thank youThank you
Lecture 1: Introduction 45