This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
CS35101 L01 Introduction Steinfadt, KSU, SP081
CS 35101 Computer Architecture
Spring 2008
Lecture 01: Introduction
Created by Shannon SteinfadtIndicates slide was adapted from :Kevin Schaffer*, Mary Jane Irwinº, and
The Syllabus is located there athttp://www.cs.kent.edu/~ssteinfa/classes/arch.sp08/syllabus.html
CS35101 L01 Introduction Steinfadt, KSU, SP083
What You Should Know Create, compile, and run C (C++, Java) programs
Create, organize, and edit files and run programs onUnix/Linux
CS35101 L01 Introduction Steinfadt, KSU, SP084
Classes of Computing Applications Different applications - different requirements
Combine performance with stringent limitations on cost orpower
Desktop Computers Emphasize good performance for a single user
Servers Modern form of mainframes, minicomputers and
supercomputers Large workloads Greater emphasis on reliability Widest range in cost and performance http://top500.org/
CS35101 L01 Introduction Steinfadt, KSU, SP085
Classes of Computing Applications (con’t) Embedded Computers
Largest class of computers Widest range of applications and performance Usually have unique application requirements
- Combine a minimum performance with stringent limitations oncost or power
Despite low cost, least tolerance for failure In consumer-oriented applications
- Do 1 function as perfectly as possible
Which class (among 16- and 32-bit processors) is thefastest growing?
CS35101 L01 Introduction Steinfadt, KSU, SP086
Where is the Market?°
290
93
3
488
114
3
892
135
4
862
129
4
1122
131
50
200
400
600
800
1000
1200
1998 1999 2000 2001 2002
Embedded
Desktop
Servers
Mill
ions
of C
ompu
ters
CS35101 L01 Introduction Steinfadt, KSU, SP087
System Software*
Computers can only perform simple tasks on theirown; in order to accomplish any real work severallayers are software are required
Application software is the highest layer, this is thesoftware that the user interacts with
System software sits between application software andthe hardware and provides support to the applicationsoftware
Fig. 1.3: simplifiedhierarchicalabstraction
CS35101 L01 Introduction Steinfadt, KSU, SP088
Below Your Program*
An operating system is the interface tohardware resource and provides a number ofservices Input and output Memory management, file system Support for multiple programs running at once
A compiler translates high-level language codeinto machine instructions
CS35101 L01 Introduction Steinfadt, KSU, SP089
Bits and Bytes *
Computer hardware operates using just twosignals: on and off (or true and false)
We represent these signals using binarynumbers
A single binary digit, or bit, can only be either a 0or a 1, so multiple bits are needed to encodemore complex information
A sequence of 8 bits is called a byte (or octet)
32 bits are typically referred to as a word
CS35101 L01 Introduction Steinfadt, KSU, SP0810
Instructions *
Binary numbers are also used to encode theinstructions which the computer understands
1000110010100000 is an instruction that tellsone computer to add two numbers
The instructions of a computer, encoded inbinary, make up the machine language of thatcomputer
The earliest programmers had no choice but towrite software directly in machine language
CS35101 L01 Introduction Steinfadt, KSU, SP0811
Assembly Language *
It didn't take long for those early programmers tofind a way to avoid writing programs in machinelanguage
Assembly language replaces the binarynumbers of machine language with symbols thatare easier to understand Example: add A, B
The computer only understands machinelanguage; a program called an assembler isneeded to translate assembly code to machinelanguage
CS35101 L01 Introduction Steinfadt, KSU, SP0812
High-Level Languages *
Assembly language statements still map directlyto machine instructions
High-level programming languages let you writecode in a more natural way using algebraicnotation, structured programming, etc.
This means that a statement in a high-levellanguage may map to several machineinstructions
A compiler translates the code into machineinstructions
CS35101 L01 Introduction Steinfadt, KSU, SP0813
High-Level Languages *
Advantages Easier to understand Fewer statements to accomplish a task Machine independence
Disadvantage Some machine features can only be
accessed through assembly/machinelanguage
CS35101 L01 Introduction Steinfadt, KSU, SP0814
C Program Translation
Figure 1.4: C programcompiled into assemblylanguage and thenassembled into binarymachine language
CS35101 L01 Introduction Steinfadt, KSU, SP0815
Computer Organization *
ProcessorControl unitDatapath
Memory systemMain memoryCache
Input/output (I/O) devices
CS35101 L01 Introduction Steinfadt, KSU, SP0817
I/O Devices *
Keyboards
Mice
Video displays
Sound cards
Network interface cards
Modems
CS35101 L01 Introduction Steinfadt, KSU, SP0818
Processor *
The processor is where most of the work insidea computer is done
Also known as a central processor unit (CPU)
It is an integrated circuit (IC) or chip attached tothe computer's motherboard
Inside the processor, the control coordinates theprocessor's activities while the datapath followsthe commands of the control unit
CS35101 L01 Introduction Steinfadt, KSU, SP0819
Memory *
A computer's main memory is made up ofdynamic random access memory (DRAM)
DRAM chips are grouped together intomodules called DIMMs (dual inlinememory modules)
DIMMs attach to the motherboard
CS35101 L01 Introduction Steinfadt, KSU, SP0820
Cache *
Cache is a special type of fast memorythat is used to hold data that the processoris currently using
Cache is made from static random accessmemory (SRAM)
Cache is typically connected directly to themotherboard or integrated into theprocessor
CS35101 L01 Introduction Steinfadt, KSU, SP0822
Instruction Set Architecture (ISA) ISA: An abstract interface between the hardware and
the lowest level software of a machine Encompasses all the information necessary to write a machine
language program that will run correctly, including instructions,registers, memory access, I/O, and so on.
Enables implementations of varying cost and performance to runidentical software
- Implementation: hardware that “obeys” the architecture abstraction
ABI (application binary interface): The basic instructionset and the operating system interface combined Provided for application programmers Defines a standard for binary portability across computers.
CS35101 L01 Introduction Steinfadt, KSU, SP0823
By the architecture of a system, I mean the complete anddetailed specification of the user interface. … AsBlaauw has said, “Where architecture tells whathappens, implementation tells how it is made tohappen.”
The Mythical Man-Month, Brooks, pg 45
°
CS35101 L01 Introduction Steinfadt, KSU, SP0824
ISA Type Sales
0
200
400
600
800
1000
1200
1400
1998 1999 2000 2001 2002
Other
SPARC
Hitachi SH
PowerPC
Motorola 68K
MIPS
IA-32
ARM
PowerPoint “comic” bar chart with approximate values (seeFigure 1.2 in text for correct values)
Mill
ions
of P
roce
ssor
CS35101 L01 Introduction Steinfadt, KSU, SP0825
Storage
Volatile storage like DRAM and SRAM onlyretain data while receiving power
Nonvolatile storage like magnetic disks maintaindata even without power (Figure 1.11) Optical disks (CDs, DVDs) are a form of removable,
nonvolatile storage FLASH-based (USB/Jump drives) are another form of
removable, nonvolatile storage
Typically a computer has primary (or main)memory which is volatile and secondary memorywhich is nonvolatile
CS35101 L01 Introduction Steinfadt, KSU, SP0826
Communicating with Other Computers:Computer Networks Major advantages to being networked:
Communication at high speeds Resource sharing (such as I/O devices) Nonlocal access allows remote use of machine
CS35101 L01 Introduction Steinfadt, KSU, SP0827
Integrated Circuits*
ICs are built from electrically controlled switches calledtransistors Transistors are an on/off switch controlled by electricity
The feature size of an IC tells us how small thetransistors are and so a smaller feature size means moretransistors in the same area
Improvement in processor performance is due in largepart to shrinking transistor sizes
VLSI, very large scale integrated circuits - millions oftransistors or better
CS35101 L01 Introduction Steinfadt, KSU, SP0828
Moore’s Law°
In 1965, Gordon Moore predicted that the number oftransistors that can be integrated on a die would doubleevery 18 to 24 months (i.e., grow exponentially withtime).
Amazingly visionary – million transistor/chip barrier wascrossed in the 1980’s. 2300 transistors, 1 MHz clock (Intel 4004) - 1971 16 Million transistors (Ultra Sparc III) 42 Million transistors, 2 GHz clock (Intel Xeon) – 2001 55 Million transistors, 3 GHz, 130nm technology, 250mm2 die
(Intel Pentium 4) - 2004 140 Million transistor (HP PA-8500) 1.72 billion transistors, 1.6GHz, 90nm tech. 596 mm² die