Transcript now
Computer and Programming
Basic Structure of Computer
1
Types of Computer
•
•
•
•
•
Personal Computers
Desktop Computers
Notebook Computers (Laptop Computers)
Workstations
Enterprise Computers
– Servers
– Mainframes
– Supercomputers
• Network Computers
2
Computer Components
• Hardware
• Software
• Peopleware
• Data
• Procedure
3
Computer System Block Diagram
4
Hardware’s Functional Units
•
•
•
•
•
Input Unit
Memory Unit
Arithmetic and Logic Unit
Output Unit
Control Unit
5
Basic Functional Units of a Computer
Arithmetic
and
Logic
Input
Memory
Output
I/O
Control
Processor
6
Input Unit
•
•
•
•
•
•
•
•
Keyboard
Mouse
Trackball
Joystick
Touchscreen
Tablet
Microphone
Camera
7
Memory
• Primary Storage
– Semiconductor
– Random-Access Memory (RAM)
• Caches
• Main Memory
• Secondary Storage
– Magnetic Disks
– Tapes
– Optical Disks (CD-ROMs)
• *** Secondary Storage (Semiconductor)
– Thumb Drive (Flash Drive)
8
Arithmetic and Logic Unit (ALU)
• Numbers in Memory are executed in Processor (ALU)
• The result may be stored in Memory or Processor
• Operands are brought into Processor by storing in
“Registers”.
• Control and AL units are many times faster than
connected devices.
9
Output Unit
• Display
• Printer
• File (HardDisk)
10
Control Unit
• Coordinate the Memory, AL, Input, and
outputs
• Manage the control signal of these units
• Generate “Timing signals” to control
actions on other units
11
Operation of a computer
• Programs and data from the input unit are stored
in Memory
• Data from Memory is fetched into ALU
(under program control)
• Processed information is sent to Output unit
• All activities are directed by the Control unit.
12
Software
• Operating System
• Utility Programs
• User Programs
• Applications
13
Operating System
• Manage resources provided by hardware
–
–
–
–
Assign area of memory to programs to be run
Assign a program to run on CPU at a time
Control peripheral devices
etc…..
14
Utility Programs
•
Responsible for the logical interface with the user
– Typical utilities include such programs as shells, text editors,
compilers, debugger, and (sometimes) the file system.
• Shell is a “command interpreter”
– Text command (Dos shell, Bourne Shell, C shell, etc.)
– Graphical User Interface (Macintosh, MS-Windows, X-Windows)
• Text Editor is a program for entering programs and data
and storing them in the computer (file)
– vi, emacs, notepad, gedit, etc.
• Compiler is a program to convert a text program into an
executable machine codes
– gcc, g++, javac, etc.
15
User Programs
• A programmer can code a program to perform a specific
task using text editors, compilers, debuggers, etc.
• A program so written may make use of operating system
facilities
– For example to do I/O to interact with the program user.
– To read data from or write data to files.
16
Application Programs
• Not every one who uses computer is a programmer
• These days, packages of predefined software, or
Applications, are available
• Some widely used applications include:
–
–
–
–
–
Word processor
Speadsheet
Database Management
Image Editors
Web Browsers… etc.
17
Software
• System Software
– Operating System (OS)
– Translator Program (Compiler, Interpreter)
– Utility Program
• Application Software
• Package Software
18
System Software
• Receiving and interpreting user commands
• Entering, editing application program and storing them in
storage device
• Managing storage device
• Running application software (word processing,
spreadsheets, or games) with data supplied by users
• Controlling I/O units
• Translating source programs into machine instructions
• Linking and running application programs with existing
standard library.
19
Multiprocessors and Multicomputers
• Multiprocessors
– One computer contains a number of processor units
– Execute a number of different tasks or execute
subtasks of a single large tasks in parallel
– Use “shared-memory multiprocessor” system
• Multicomputers
– Groups of complete computers are connected to
achieve high total computational power.
– Each computer has its own memory unit
– Each exchanges its data over a communication
network (“message-passing multicomputers”)
20
Historical Perspective
• The First Generation (1945-1955)
• The Second Generation (1955-1965)
• The Third Generation (1965-1975)
• The fourth Generation (1975-Present)
21
The First Generation (1945-1955)
• Programs and their data were located in the same
memory
• Assembly language was used to prepare programs
• Translating Assembly to machine language for
execution
• Using vacuum tube technology to implement logic
function
• Magnetic core memories and magnetic tape
storage devices were developed
22
The Second Generation (1955-1965)
• Transistor was invented at AT&T Bell Lab
and used in this generation
• Used magnetic core memories and
magnetic drum storage devices
• High-level languages, such as Fortran
• Compiler translates high-level language
into Assembly and then machine language
• IBM became a major computer
manufacturer
23
The Third Generation (1965-1975)
• Many Transistors are fabricated on a single silicon chip
called “Integrated Circuit” (IC)
• Cheaper and faster Processors and memories
• IC Memories replaced the magnetic core memories
• Introduced microprogramming, parallelism, and
pipelining.
• Cache and virtual memories were developed
• System 360 mainframe (IBM) and PDP minicomputers
(Digital Equipment Corp.) were dominant products.
24
The Fourth Generation (1975-present)
• Tens of thousands of transistors could be placed
on a single chip called “Very Large Scale
Integration” (VLSI)
• A complete Processor was put into a single chip,
know as “a microprocessor”
• Concurrency, pipelining, caches, and virtual
memory are matured.
• Notebook, PC, workstations, LAN, WAN, Internet
become popular.
• Intel, National Semiconductor, Motorola, Texas
Instruments, and Advanced Micro Devices (AMD)
25
Beyond The Fourth Generation
•
•
•
•
•
•
•
Artificial Intelligence (AI)
Massively parallel machines
Extensively distributed systems.
Portable devices
Wireless technology (Wifi, Bluetooth)
Internet-oriented
High performance multi-media systems
26