0% found this document useful (0 votes)
145 views

Week 4 - Computer Organization & Architecture

The document provides an introduction to computer organization and architecture. It discusses the main components of a computer including the input unit, memory unit, processor, and output unit. It describes the functions of these components such as accepting input, processing and storing instructions and data, and providing output. The document also covers computer operations like data movement, storage, and processing from memory to I/O. It provides details on the structure of the central processing unit and how the control unit coordinates other components.

Uploaded by

dind
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
145 views

Week 4 - Computer Organization & Architecture

The document provides an introduction to computer organization and architecture. It discusses the main components of a computer including the input unit, memory unit, processor, and output unit. It describes the functions of these components such as accepting input, processing and storing instructions and data, and providing output. The document also covers computer operations like data movement, storage, and processing from memory to I/O. It provides details on the structure of the central processing unit and how the control unit coordinates other components.

Uploaded by

dind
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 59

Introduction to Computer Organization & Architecture

Dr. Kurnianingsih

1
Learning Objectives
You will learn about:
• Describe the general organization and architecture of computers.
• Identify computers’ major components and study their functions.
• Introduce hardware design issues of modern computer architectures.
• Build the required skills to read and research the current literature in
computer architecture.
• Learn the computer evolution

2
Textbooks
Computer Organization and Architecture: Designing for Performance, 8th
Ed., William Stallings, Prentice-Hall International, Inc., 2006,

“Computer Organization,” by Carl Hamacher, Zvonko Vranesic and Safwat


Zaky. Fifth Edition McGraw-Hill, 2002.

“SPARC Architecture, Assembly Language Programming and C,” Richard P.


Paul, Prentice Hall, 2000.

3
What is a computer?

Simply put, a computer is a sophisticated electronic calculating


machine that:
Accepts input information,
Processes the information according to a list of internally stored
instructions and
Produces the resulting output information.
Functions performed by a computer are:
Accepting information to be processed as input.
Storing a list of instructions to process the information.
Processing the information according to the list of instructions.
Providing the results of the processing as output.
What are the functional units of a computer? 4
Architecture & Organization
Architecture is those attributes visible to the
programmer
Instruction set, number of bits used for data
representation, I/O mechanisms, addressing
techniques.
e.g. Is there a multiply instruction?
Organization is how features are implemented
Control signals, interfaces, memory technology.
e.g. Is there a hardware multiply unit or is it done by
repeated addition?
5
Architecture & Organization

All Intel x86 family share the same basic architecture


The IBM System/370 family share the same basic
architecture

This gives code compatibility


At least backwards
Organization differs between different versions

6
Structure & Function

Structure is the way in which components relate to


each other
Function is the operation of individual components as
part of the structure

7
Function

All computer functions are:


Data processing
Data storage
Data movement
Control

8
Functional units of a computer
Arithmetic and logic unit(ALU):
Input unit accepts •Performs the desired
information: operations on the input
•Human operators, information as determined
•Electromechanical devices by instructions in the memory
•Other computers
Memory
Arithmetic
Input
Instr1 & Logic
Instr2
Instr3
Data1
Output Data2 Control

I/O Processor
Stores
Control unit coordinates
Output unit sends information:
various actions
results of processing: •Instructions,
•Input,
•To a monitor display, •Data
•Output
•To a printer •Processing 9
Functional View

10
Information in a computer -- Instructions

Instructions specify commands to:


Transfer information within a computer (e.g., from memory to
ALU)
Transfer of information between the computer and I/O devices
(e.g., from keyboard to computer, or computer to printer)
Perform arithmetic and logic operations (e.g., Add two numbers,
Perform a logical AND).
A sequence of instructions to perform a task is called a program,
which is stored in the memory.
Processor fetches instructions that make up a program from the
memory and performs the operations stated in those instructions.
What do the instructions operate upon?
11
Information in a computer -- Data

Data are the “operands” upon which instructions operate.


Data could be:
Numbers,
Encoded characters.
Data, in a broad sense means any digital information.
Computers use data that is encoded as a string of binary digits
called bits.

12
Operations (a) Data movement

13
Operations (b) Storage

14
Operation (c) Processing from/to storage

15
Operation (d) Processing from storage to
I/O

16
Structure – Top Level
Peripherals Computer

Central Main
Processing Memory
Unit

Computer
Systems
Interconnection

Input
Output
Communication
lines

17
Structure – The CPU
CPU

Computer Arithmetic
Registers and
I/O Logic Unit
System CPU
Bus
Internal CPU
Memory Interconnection

Control
Unit

18
Structure – The Control Unit
Control Unit

CPU
Sequencing
ALU Logic
Control
Internal
Unit
Bus
Control Unit
Registers Registers and
Decoders

Control
Memory

19
Binary information must be presented to a computer in a specific
Input unit format.
This task is performed by the input unit:
- Interfaces with input devices.
- Accepts binary information from the input devices.
- Presents this binary information in a format expected by the
computer.
- Transfers this information to the memory or processor.
Real world Computer
Memory

Keyboard
Audio input
…… Input Unit

Processor

20
Memory unit
Memory unit stores instructions and data.
Recall, data is represented as a series of bits.
To store data, memory unit thus stores bits.
Processor reads instructions and reads/writes data from/to the
memory during the execution of a program.
In theory, instructions and data could be fetched one bit at a time.
In practice, a group of bits is fetched at a time.
Group of bits stored or retrieved at a time is termed as “word”
Number of bits in a word is termed as the “word length” of a
computer.
In order to read/write to and from memory, a processor should know
where to look:
“Address” is associated with each word location. 21
Memory unit (contd..)
Processor reads/writes to/from memory based on the memory
address:
Access any word location in a short and fixed amount of time
based on the address.
Random Access Memory (RAM) provides fixed access time
independent of the location of the word.
Access time is known as “Memory Access Time”.
Memory and processor have to “communicate” with each other in
order to read/write information.
In order to reduce “communication time”, a small amount of RAM
(known as Cache) is tightly coupled with the processor.
Modern computers have three to four levels of RAM units with
different speeds and sizes:
Fastest, smallest known as Cache
22
Slowest, largest known as Main memory.
Memory unit (contd..)
Primary storage of the computer consists of RAM units.
Fastest, smallest unit is Cache.
Slowest, largest unit is Main Memory.
Primary storage is insufficient to store large amounts of data and programs.
Primary storage can be added, but it is expensive.
Store large amounts of data on secondary storage devices:
Magnetic disks and tapes,
Optical disks (CD-ROMS).
Access to the data stored in secondary storage in slower, but take
advantage of the fact that some information may be accessed
infrequently.
Cost of a memory unit depends on its access time, lesser access time implies
higher cost. 23
Arithmetic and Logic Unit (ALU)

Operations are executed in the Arithmetic and Logic Unit


(ALU).
Arithmetic operations such as addition, subtraction.
Logic operations such as comparison of numbers.
In order to execute an instruction, operands need to be
brought into the ALU from the memory.
Operands are stored in general purpose registers available
in the ALU.
Access times of general purpose registers are faster than
the cache.
Results of the operations are stored back in the memory or 24
Output unit
Computers represent information in a specific binary form. Output units:
- Interface with output devices.
- Accept processed results provided by the computer in specific binary form.
- Convert the information in binary form to a form understood by an
output device.
Computer Real world

Memory Printer
Graphics display
Speakers
……
Output Unit

Processor
25
Control unit

Operation of a computer can be summarized as:


Accepts information from the input units (Input unit).
Stores the information (Memory).
Processes the information (ALU).
Provides processed results through the output units
(Output unit).
Operations of Input unit, Memory, ALU and Output unit are
coordinated by Control unit.
Instructions control “what” operations take place (e.g. data
transfer, processing).
Control unit generates timing signals which determines “when”
a particular operation takes place. 26
How are the functional units connected?
• For a computer to achieve its operation, the functional units need to
communicate with each other.
• In order to communicate, they need to be connected.

Input Output Memory Processor

Bus

• Functional units may be connected by a group of parallel wires.


• The group of parallel wires is called a bus.
• Each wire in a bus can transfer one bit of information.
• The number of parallel wires in a bus is equal to the word length of a computer 27
Organization of cache and main
memory

Main Cache
memory memory Processor

Bus

Why is the access time of the cache memory lesser than the
access time of the main memory? 28
Computer Evolution - ENIAC
Electronic Numerical Integrator And Computer
Eckert and Mauchly
University of Pennsylvania
Trajectory tables for weapons
Started 1943
Finished 1946
Too late for war effort
Used until 1955

29
Computer Evolution - ENIAC

Decimal (not binary)


20 accumulators of 10 digits
Programmed manually by switches
18,000 vacuum tubes
30 tons
15,000 square feet
140 kW power consumption
5,000 additions per second

30
Computer Evolution - von Neumann/Turing

Stored Program concept


Main memory storing programs and data
ALU operating on binary data
Control unit interpreting instructions from memory
and executing
Input and output equipment operated by control unit
Princeton Institute for Advanced Studies
IAS
Completed 1952
31
Computer Evolution - Structure of von Neumann
machine

32
Computer Evolution - IAS
1000 x 40 bit words
Binary number
2 x 20 bit instructions
Set of registers (storage in CPU)
Memory Buffer Register
Memory Address Register
Instruction Register
Instruction Buffer Register
Program Counter
Accumulator
Multiplier Quotient 33
Computer Evolution

Structure of IAS

34
Computer Evolution - Commercial
Computers
1947 - Eckert-Mauchly Computer Corporation
UNIVAC I (Universal Automatic Computer)
US Bureau of Census 1950 calculations
Became part of Sperry-Rand Corporation
Late 1950s - UNIVAC II
Faster
More memory

35
Computer Evolution - IBM

Punched-card processing equipment


1953 - the 701
IBM’s first stored program computer
Scientific calculations
1955 - the 702
Business applications
Lead to 700/7000 series
36
Computer Evolution - Transistor

Replaced vacuum tubes


Smaller
Cheaper
Less heat dissipation
Solid State device
Made from Silicon (Sand)
Invented 1947 at Bell Labs
William Shockley et al.
37
Computer Evolution – Transistor Based
Computer

Second generation machines


NCR & RCA produced small transistor machines
IBM 7000
DEC - 1957
Produced PDP-1

38
Computer Evolution - Microelectronics

Literally - “small electronics”


A computer is made up of gates, memory cells and
interconnections
These can be manufactured on a semiconductor
e.g. silicon wafer

39
Generations of Computer
Vacuum tube - 1946-1957
Transistor - 1958-1964
Small scale integration - 1965 on
Up to 100 devices on a chip
Medium scale integration - to 1971
100-3,000 devices on a chip
Large scale integration - 1971-1977
3,000 - 100,000 devices on a chip
Very large scale integration - 1978 -1991
100,000 - 100,000,000 devices on a chip
Ultra large scale integration – 1991 -
Over 100,000,000 devices on a chip
40
Moore’s Law
Increased density of components on chip
Gordon Moore – co-founder of Intel
Number of transistors on a chip will double every year
Since 1970’s development has slowed a little
Number of transistors doubles every 18 months
Cost of a chip has remained almost unchanged
Higher packing density means shorter electrical paths, giving
higher performance
Smaller size gives increased flexibility
Reduced power and cooling requirements
Fewer interconnections increases reliability
41
Growth in CPU Transistor Count

42
IBM 360 series

1964
Replaced (& not compatible with) 7000 series
First planned “family” of computers
Similar or identical instruction sets
Similar or identical O/S
Increasing speed
Increasing number of I/O ports (i.e. more terminals)
Increased memory size
Increased cost
Multiplexed switch structure
43
DEC PDP-8
1964
First minicomputer (after miniskirt!)
Did not need air conditioned room
Small enough to sit on a lab bench
$16,000
$100k+ for IBM 360
Embedded applications & OEM
BUS STRUCTURE

44
DEC - PDP-8 Bus Structure

45
Semiconductor Memory

1970
Fairchild
Size of a single core
i.e. 1 bit of magnetic core storage
Holds 256 bits
Non-destructive read
Much faster than core
Capacity approximately doubles each year
46
Intel
1971 - 4004
First microprocessor
All CPU components on a single chip
4 bit
Followed in 1972 by 8008
8 bit
Both designed for specific applications
1974 - 8080
Intel’s first general purpose microprocessor
47
Speeding it up

Pipelining
On board cache
On board L1 & L2 cache
Branch prediction
Data flow analysis
Speculative execution

48
Performance Balance

Processor speed increased


Memory capacity increased
Memory speed lags behind processor speed

49
x86 Evolution (1)
8080
first general purpose microprocessor
8 bit data path
Used in first personal computer – Altair
8086 – 5MHz – 29,000 transistors
much more powerful
16 bit
instruction cache, prefetch few instructions
8088 (8 bit external bus) used in first IBM PC
80286
16 Mbyte memory addressable
up from 1Mb
80386
32 bit
Support for multitasking
80486
sophisticated powerful cache and instruction pipelining
built in maths co-processor
50
x86 Evolution (2)
Pentium
Superscalar
Multiple instructions executed in parallel
Pentium Pro
Increased superscalar organization
Aggressive register renaming
branch prediction
data flow analysis
speculative execution
Pentium II
MMX technology
graphics, video & audio processing
Pentium III
Additional floating point instructions for 3D graphics
51
x86 Evolution (3)
Pentium 4
Note Arabic rather than Roman numerals
Further floating point and multimedia enhancements
Core
First x86 with dual core
Core 2
64 bit architecture
Core 2 Quad – 3GHz – 820 million transistors
Four processors on chip
x86 architecture dominant outside embedded systems
Organization and technology changed dramatically
Instruction set architecture evolved with backwards compatibility
~1 instruction per month added
500 instructions available
See Intel web pages for detailed information on processors
52
Embedded Systems
ARM

ARM evolved from RISC design


Used mainly in embedded systems
Used within product
Not general purpose computer
Dedicated function
E.g. Anti-lock brakes in car

53
ARM Evolution
Designed by ARM Inc., Cambridge, England
Licensed to manufacturers
High speed, small die, low power consumption
PDAs, hand held games, phones
E.g. iPod, iPhone
Acorn produced ARM1 & ARM2 in 1985 and ARM3 in
1989
Acorn, VLSI and Apple Computer founded ARM Ltd.

54
ARM Systems Categories

Embedded real time


Application platform
Linux, Palm OS, Symbian OS, Windows mobile
Secure applications

55
ARM Systems Categories

Embedded real time


Application platform
Linux, Palm OS, Symbian OS, Windows mobile
Secure applications

56
Amdahl’s Law

Gene Amdahl [AMDA67]


Potential speed up of program using multiple processors
Concluded that:
Code needs to be parallelizable
Speed up is bound, giving diminishing returns for more
processors
Task dependent
Servers gain by maintaining multiple connections on multiple
processors
Databases can be split into parallel tasks
57
Amdahl’s Law Formula
• For program running on single processor
— Fraction f of code infinitely parallelizable with no scheduling overhead
— Fraction (1-f) of code inherently serial
— T is total execution time for program on single processor
— N is number of processors that fully exploit parralle portions of code

Conclusions
f small, parallel processors has little effect
N ->∞, speedup bound by 1/(1 – f)
Diminishing returns for using more processors
58
59

You might also like