View
220
Download
1
Category
Tags:
Preview:
Citation preview
1
Introduction to Information Technology
LECTURE 11: INTRODUCTION TO COMPUTER ARCHITECTURE AND SOFTWARE
IT 101 Section 3Department of Electrical and Computer Engineering
2
Introduction to Computer Architecture
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
Apple Mac1984
IBM PC1981
GOALS
3
Calculating Machines Through History
The Abacus 5000 years old Addition and subtraction
Mechanical Calculators Charles Babbage’s mechanical calculators
prefigured modern computers Electronic “Calculators”
Vacuum Tubes Transistors
Modern Computer Microprocessors
Charles Babbage’sDifference Machine(Picture courtesy of Science Museum/Science & Society Picture Library)
4
ENIAC
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
ENIAC
Electronic Numerical Integrator and Computer
5
Computer Generations
Vacuum Tubes 1946-1957
Transistors1958-1964
Small Scale Integration: 1960sUp to 100 devices per chip
Medium Scale Integration: Pre-1971100-3000 devices per chip
Large Scale Integration: 1971-773000- 100,000 devices per chip
Very Large Scale Integration: Post 1978100,000 - 100 million devices per chip
Ultra Large Scale Integration> 100 million devices per chip
INTEGRATED CIRCUIT
6
Moore’s Law
Intel pioneer, Gordon Moore, predicted in 1965 that the number of transistors on a chip would double every 18 months.
7
Some 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
8
Desktop Computer Hardware
Four main functional units of a computer Central Processing Unit (CPU) Memory Storage Input/Output
Input/OutputCentral Processing
Unit
Storage
Memory
From the optional textbook, The Digital Information Age
9
Central 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
10
Four Stages of CPU Operation Fetch - Seeks instructions from outside source Decode - Analyzes the instructions to determine which of the chip’s circuits should be used for processing Execute - Performs the actual instructions Store - Places processing result in appropriate place
Comparing a Dime to a Microprocessor
11
The CPU
Input/Output
Storage Memory
CacheMemory
ArithmeticLogical
Unit(ALU)
Flags
Registers
ControlUnit
Execution of instructions occurs here.Grouping of transistors (logic gates) that perform logical and mathematical functions
12
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
Computers require storage in order to process information.
TWO TYPES OF COMPUTER MEMORY
Temporary
Long-Term
13
Storage
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
14
Input/Output devices
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
Moves data between the computer and its external environment.
15
Input/Output
CPU
Sound Board
bus
Game Board
Graphics Board
Serial Port
Parallel Port
Serial Port
Network Port
ADC
input/output
Mode
Monitor
Local Area Network
Analog signal source
16
Computer Software
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
Programming Language(High Level Language)
Applications
Hierarchy of Software
Machine Language
17
Machine 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
Programming Language(High Level Language)
Application
Hierarchy of SoftwareHow does it relate to “Assembly Language?”
Machine Language
18
Assembly Code
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
Programming Language(High Level Language)
Application
Hierarchy of Software
Machine Language
19
Operating System 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?
Hierarchy of Software
Operating System
Assembly Code
Programming Language(High Level Language)
Application
Machine Language
20
Examples of Operating Systems
MS-DOSIntroduced in 1981Microsoft’s first O/S
Microsoft Disk Operating System (MS-DOS)
Text based O/S -- C:/>
Mac OSAppeared in 1984 Apple Macintosh
Icons and Graphical User Interface (GUI)
Microsoft WindowsDominates PC marketWindows 3.x in 1990Windows 95 and 98
Windows NTWindows 2000
Windows XP
IBM OS/2Roughly 1992
Split with Microsoft Never took off
Unix VariationsIBM’s AIX
Hewlett Packard’s HP/UXSun’s Solaris
LinuxOthers
21
The Linux Operating System
Linus Torvalds developed Linux in 1991. Linux’s 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?
What’s different about Linux? Why do we hear so much about this?
Key Concept: Open Source Code
22
Programming Languages
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
Programming Language(High Level Language)
Application
Hierarchy of Software
Machine Language
23
Programming Language Evolution
FORTRAN(Formula
Translator)Developed by IBM
Science/engineering
1957
COBOL(Common
Business Oriented Language)
Pushed by U.S. Govt.1960
Installed base of code in COBOL
still considerable
Basic(Dartmouth
College,Kemeny and Kurz)Simple language students could
learn1964
PascalOnce popular with
serious programmers
1970s
Appeal has diminished
C and C++Developed
originally as C/Unix in
1974C++ is object
oriented version
Visual BasicMicrosoft’s
“visual language”Provides an array
of tools that decrease
development time
HTMLHyperText Markup
Languagedescribes
documents on the Web
XMLeXtensible Markup
LanguageMore powerful
successor to HTML
JavaDeveloped by SunO/S independent
24
Key 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.
25
Application Software
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
“Shrink-wrapped software” available at the store
Operating System
Assembly Code
Programming Language(High Level Language)
Application
Hierarchy of Software
Machine Language
26
Recommended Optional Excursion
“Information Age” Exhibit at The Smithsonian’s American History Museum
Chronicles the birth and evolution of information technology
Contains many famous information technology artifacts: Samuel Morse’s telegraphs Alexander Bell’s telephones A Hollerith punched card machine The ENIAC computer Early personal computers
Recommended