Title: Introduction to Information Technology
1Introduction to Information Technology
- INTRODUCTION TO COMPUTER ARCHITECTURE AND
SOFTWARE - IT 101
-
2Introduction to Computer Architecture
GOALS
- Knowledge of some computer history milestones
- Basic understanding of computer hardware and
software - Understanding of basic hardware elements in a
desktop computer - CPU
- Memory
- Storage
- Input/Output
- Understanding of the hierarchy of computer
software - Applications
- Computer languages
- Operating systems
- Assembly code and machine language
3Calculating Machines Through History
- The Abacus
- 5000 years old
- Addition and subtraction
- Mechanical Calculators
- Charles Babbages mechanical calculators
prefigured modern computers - Electronic Calculators
- Vacuum Tubes
- Transistors
- Modern Computer
- Microprocessors
Charles Babbages Difference Machine (Picture
courtesy of Science Museum/Science Society
Picture Library)
4ENIAC
- What were computers like just over 50 years ago?
- 1946 - ENIAC
- Used plugboards and switches to program
- Used vacuum tubes
- Developed at UPenn
- Funded by U.S. government
Electronic Numerical Integrator and Computer
ENIAC
5Computer Generations
Ultra Large Scale Integration 100 million
devices per chip
Very Large Scale Integration Post 1978 100,000 -
100 million devices per chip
Vacuum Tubes 1946-1957
Transistors 1958-1964
Large Scale Integration 1971-77 3000- 100,000
devices per chip
Medium Scale Integration Pre-1971 100-3000
devices per chip
Small Scale Integration 1960s Up to 100 devices
per chip
INTEGRATED CIRCUIT
http//nobelprize.org/physics/educational/integrat
ed_circuit/index.html
6Moores Law
- Intel pioneer, Gordon Moore, predicted in 1965
that the number of transistors on a chip would
double every 18 months.
7Some Computer Hardware
- Inside the Computer
- CPU, Memory Chips
- Floppy drive, Hard disk, CD-ROM, DVD Player
- Motherboard, Expansion Slots, Power Supply
- Back of Computer
- Cooling Fan, Power Connector
- Keyboard and Mouse Connectors
- Parallel Printer Port
- Video Connector
8Desktop Computer Hardware
From the optional textbook, The Digital
Information Age
- Four main functional units of a computer
- Central Processing Unit (CPU)
- Memory
- Storage
- Input/Output
9Central Processing Unit - CPU
- The Microprocessor
- The brains, or main processing unit, of the
computer - Performs calculations and completes instructions
- Performance based on clock speed
- Pentium 4 -- 2.8 GHz chip operates at 2.8 billion
cycles per second
10Four Stages of CPU Operation
- Fetch - Seeks instructions from outside source
- Decode - Analyzes the instructions to determine
which of the chips circuits should be used for
processing - Execute - Performs the actual instructions
- Store - Places processing result in appropriate
place
Comparing a Dime to a Microprocessor
11The CPU
Execution of instructions occurs here. Grouping
of transistors (logic gates) that perform logical
and mathematical functions
12Components of the CPU
- Arithmetic and Logic Unit (ALU) processes the
data in the registers according to instructions
issued by the control unit. Performs arithmetic
(addition, subtraction, etc..) and logical
(comparison) operations - Registers provides temporary storage for data
and instructions. It handles instructions and
data at 10 times the speed of cache memory.
Registers facilitate the movement of data and
instructions between RAM, the control unit and
the ALU - Internal CPU interconnection some mechanism
that provides for communication among the
different components of the CPU
13- Control Unit controls the operation of the CPU
and hence the computer. Interprets instructions,
moves data to/from memory and registers,
instructs ALU to perform certain operations, etc.
During program execution, instructions in a
program are moved from the RAM into the control
unit, where it is decoded and interpreted by the
decoder - Flags 1-bit memory, or 1-bit registers and hold
information on what has recently happened in the
CPU. These are set to 1 or 0 depending on the
results of internal operations such as results of
ALU operations (zero or negative result) or
external operations such as interrupts (commands
that tell the processor to stop execution and
wait for further instruction)
14Memory
Computers require storage in order to process
information.
TWO TYPES OF COMPUTER MEMORY
- RAM Random Access Memory
- Can read or write data
- E.g. cache memory (on the CPU)
- Measured in MegaBytes (MB)
- Volatile memory erased when computer powered off
- ROM Read only memory
- Permanently stored information used repeatedly by
computer - Can never accept new information
- Normally installed by system manufacturer
- Non-volatile
Temporary
Long-Term
15Main (Internal) Memory
- RAM Random Access Memory. Temporary read/write
memory. Applications are typically loaded into
RAM during computer use. Types of RAM include - SRAM (static) and DRAM (dynamic )
- SRAM is called static because the memory retains
its contents as long as power is supplied -- It
does not have to be periodically refreshed as in
DRAM. It is faster than DRAM (The contents of the
memory can be read much faster), however is more
expensive and is larger in size - DRAM is called Dynamic RAM because the memory
content needs to be refreshed periodically (every
few milliseconds) due to leakage of electrical
charge. It is slower than SRAM, but cheaper and
smaller in size
16Storage
- Provides long-term retention of data on magnetic
or optical disk - Hard Drive
- Disc capacity currently measured in GigaBytes
(GB) - Floppy Disc
- Typical capacity of 1.44 MegaBytes (MB)
- Compact Disc
- 650 MB
- Zip Drive
- Removable floppy discs that store up to 250 MB
- DVD
- Optical storage
17Input/Output devices
Moves data between the computer and its external
environment.
- Input Devices - Accepts data from external
sources and converts to electric signal - Keyboard, Mouse, Touch screen, Voice activation,
Video Camera, Microphone, Scanner, JoyStick - Output Devices - Accepts electric signals from
CPU and converts them to an output device. - Monitor
- Printer
- Speakers
- Communication ports
18Input/Output
?
Sound Board
?
Game Board
CPU
?Monitor
Graphics Board
?
Serial Port
Parallel Port
?Mode
Serial Port
Local Area Network
Network Port
?
ADC
Analog signal source
input/output
bus
19Computer Software
Applications
Programming Language (High Level Language)
- Software consists of instructions and application
programs that permit computers to accomplish
tasks. - It is called software because, unlike hardware
that has fixed configurations, connections, and
operation, software is flexible and easily
modified.
Operating System
Assembly Code
Machine Language
Hierarchy of Software
20Machine Language
Application
Programming Language (High Level Language)
- 01100100100101010
- Lowest level language
- Consists of elementary instructions directly
recognized by the CPU - Provides numerical codes directly recognized by
the CPU - Machine language programming produces a string of
numbers - Not commonly used anymore
Operating System
Assembly Code
Machine Language
Hierarchy of Software
How does it relate to Assembly Language?
21Assembly Code
Application
Programming Language (High Level Language)
- Also called Assembly Language
- Also consists of elementary instructions directly
recognized by the CPU, but uses codes rather than
numbers. - Assembly code is different for every type of
computer. (i.e. it is CPU specific) - Cumbersome to develop.
- Difficult to later read and modify
- An assembler converts assembly language to
machine language.
Operating System
Assembly Code
Machine Language
Hierarchy of Software
22Operating System
Application
- Computer program that links various hardware
components to one another - Stored on hard disk
- Loaded to memory when the computer is turned on
- Once in memory, the operating system takes over
and manages the system - Provides a user interface
- Manages memory
- Controls directory access
- Supports hardware
- Supports applications
- Examples of O/S?
Programming Language (High Level Language)
Operating System
Assembly Code
Machine Language
Hierarchy of Software
23Examples of Operating Systems
MS-DOS Introduced in 1981 Microsofts first
O/S Microsoft Disk Operating System (MS-DOS) Text
based O/S -- C/
Mac OS Appeared in 1984 Apple Macintosh Icons
and Graphical User Interface (GUI)
IBM OS/2 Roughly 1992 Split with Microsoft Never
took off
Microsoft Windows Dominates PC market Windows 3.x
in 1990 Windows 95 and 98 Windows NT Windows
2000 Windows XP
Unix Variations IBMs AIX Hewlett Packards
HP/UX Suns Solaris Linux Others
24The Linux Operating System
Whats different about Linux? Why do we hear so
much about this?
- Linus Torvalds developed Linux in 1991.
- Linuxs open source code is freely available on
the web. - Most software is in a compiled,
computer-readable, ready-to-run format that
conceals how the software was developed. - Open source code is source code that anyone can
view/modify. - Linux is a competitor to Windows NT/2000,
especially in the business server space. - Other software based on open source code includes
the Apache web server and PERL, a web scripting
language. - What are the advantages and disadvantages of open
source code?
Key Concept Open Source Code
25Programming Languages
Application
Programming Language (High Level Language)
- A computer program tells a computer what to do.
- Needs to be written in a programming language the
computer can understand. - A compiler translates almost human syntax into
lower level code the computer can execute. - Theoretically no longer CPU-specific like
assembly code. - What are some examples of programming languages?
Operating System
Assembly Code
Machine Language
Hierarchy of Software
26Programming Language Evolution
Visual Basic Microsofts visual
language Provides an array of tools that
decrease development time
Basic (Dartmouth College, Kemeny and Kurz) Simple
language students could learn 1964
C and C Developed originally as C/Unix
in 1974 C is object oriented version
FORTRAN (Formula Translator) Developed by
IBM Science/engineering 1957
Pascal Once popular with serious
programmers 1970s Appeal has diminished
COBOL (Common Business Oriented Language) Pushed
by U.S. Govt. 1960 Installed base of code in
COBOL still considerable
Java Developed by Sun O/S independent
HTML HyperText Markup Language describes
documents on the Web
XML eXtensible Markup Language More powerful
successor to HTML
27Key Programming Terms
- Programming is telling the computer what to do.
- Source Code is a series of commands written in a
programming language. - Programming languages are sometimes divided into
4 categories - 1GL (first generation language) - Machine
language - 2GL (second generation language) - Assembly
language - 3GL (third generation languages) - Cobol, Pascal,
C, Basic - 4GL (fourth generation languages) - vague,
diverse term that includes object oriented
programming languages, visual languages, and
markup languages.
28Application Software
Application
Shrink-wrapped software available at the store
Programming Language (High Level Language)
- Program at the command of the user.
- Application programs can be downloaded from web
sites or installed from a CD-ROM. They install
almost automatically. - Microsoft Office
- MS Word word processing
- MS Excel spreadsheet program
- MS PowerPoint presentations
- MS Access 2000 DBMS (database management
system) - AOL Instant Messenger
- Voice Recognition Software
- Oracle DBMS
- Netscape Navigator
Operating System
Assembly Code
Machine Language
Hierarchy of Software
29Recommended Optional Excursion
- Information Age Exhibit at The Smithsonians
American History Museum - Chronicles the birth and evolution of information
technology - Contains many famous information technology
artifacts - Samuel Morses telegraphs
- Alexander Bells telephones
- A Hollerith punched card machine
- The ENIAC computer
- Early personal computers