Sunteți pe pagina 1din 22

Introduction 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 Applications Computer languages Operating systems Assembly code and machine language

Understanding of the hierarchy of computer software

ENIAC
What were computers like just over 50 years ago?

ENIAC
3

Computer 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/integrated_circuit/index.html

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
5

Desktop 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

Storage

Input/Output

Central Processing Unit

Memory
6

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

Components 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

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)

Memory
Computers require storage in order to process information.

TWO TYPES OF COMPUTER MEMORY

Temporary

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
10

Long-Term

Main (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
11

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

12

Input/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

13

Input/Output
Sound Board Game Board

CPU

Graphics Board

Serial Port
Parallel Port Serial Port

Network Port

Mode Local Area Network

ADC Analog signal source


14

bus

input/output

Monitor

Applications

Computer Software
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 15

Machine 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
How does it relate to Assembly Language? Hierarchy of Software
16

Assembly 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
17

Operating System

Application
Programming Language (High Level Language)

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

Operating System

Provides a user interface Manages memory Controls directory access Supports hardware Supports applications

Assembly Code

Machine Language
Hierarchy of Software 18

Examples of O/S?

Examples of Operating Systems


MS-DOS Mac OS IBM OS/2

Introduced in 1981 Microsofts first O/S Microsoft Disk Operating System (MS-DOS) Text based O/S -- C:/>

Appeared in 1984 Apple Macintosh Icons and Graphical User Interface (GUI)

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

IBMs AIX Hewlett Packards HP/UX Suns Solaris Linux Others


19

Unix Variations

The 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.

20

Programming 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
21

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.

22

Application Software

Application
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

Operating System

MS Word word processing MS Excel spreadsheet program MS PowerPoint presentations MS Access 2000 DBMS (database management system)

Assembly Code

AOL Instant Messenger Voice Recognition Software Oracle DBMS Netscape Navigator

Machine Language
Hierarchy of Software
23

S-ar putea să vă placă și