Ch. 5 Slides - Computer Science

Download Report

Transcript Ch. 5 Slides - Computer Science

Chapter 5: Computer Systems
Organization
Invitation to Computer Science,
C++ Version, Third & Fourth Edition
Added to by S. Steinfadt - Spring 2008
Additional source from J. Baker and M.
Scherger’s slides
Objectives
In this chapter, you will learn about:

The components of a computer system

Putting all the pieces together – the Von
Neumann architecture

The future: non-Von Neumann architectures
Invitation to Computer Science C++, Fourth Edition - Spring 2008
2
Machine Language Instructions
Instruction
0
Load
1
Store
2
Clear
3
Add
4
Increment
5
Subtract
6
Decrement
7
Compare
8
Jump
9
Jump GT
10
Jump EQ
11
Jump LT
12
Jump NEQ
13
In
14
Out
15
Halt
Binary Op Code Meaning
Invitation to Computer Science C++, Fourth Edition - Spring 2008
3
Introduction

Computer organization examines the computer
as a collection of interacting “functional units”

Functional units may be built out of the circuits
already studied

Higher level of abstraction assists in
understanding by reducing complexity
Invitation to Computer Science C++, Fourth Edition - Spring 2008
4
Figure 5.1
The Concept of Abstraction
Invitation to Computer Science C++, Fourth Edition - Spring 2008
5
The Components of a Computer
System

Von Neumann architecture has four functional
units:

Memory

Input/Output

Arithmetic/Logic unit

Control unit

Sequential execution of instructions

Stored program concept
Invitation to Computer Science C++, Fourth Edition - Spring 2008
6
Figure 5.2
Components of the Von Neumann Architecture
Invitation to Computer Science C++, Fourth Edition - Spring 2008
7
Computer Organization

Logical organization of computer
Memory
Input
CPU
ALU
Output
Secondary
Storage
Invitation to Computer Science C++, Fourth Edition - Spring 2008
8
Memory and Cache

Information stored and fetched from memory
subsystem

Random Access Memory maps addresses to
memory locations

Cache memory keeps values currently in use in
faster memory to speed access times
Invitation to Computer Science C++, Fourth Edition - Spring 2008
9
Memory and Cache (continued)

RAM (Random Access Memory) Often called
memory, primary memory

Memory made of addressable “cells”

Current standard cell size is 8 bits

All memory cells accessed in equal time

Memory address

Unsigned binary number N long

Address space is then 2N cells
Invitation to Computer Science C++, Fourth Edition - Spring 2008
10
Memory and Cache (continued)



Rapid access, low capacity “warehouse”
Retains information entered through input unit
Retains info that has already been processed until
can be sent to output unit
Invitation to Computer Science C++, Fourth Edition - Spring 2008
11
Figure 5.3
Structure of Random Access Memory
Invitation to Computer Science C++, Fourth Edition - Spring 2008
12
Powers of 2 - How much
information?
10





2 = 1K = 1024
1KB = 1 kilobyte
220 = 1M = 1,048,576
1MB = 1 megabyte
230 = 1G = 1,073,741,824 1GB = 1 gigabyte
240 = 1T = 1,099,511,627,776 1TB = 1 terabyte
250 = 1P = 1,125,899,906,842,624 1PB = 1 petabyte
If you have 16 address bits to address bytes…
 216 = 26 * 210 = 64 * 210 = 64KB = 65,536 bytes
 How many bits is that?
Invitation to Computer Science C++, Fourth Edition - Spring 2008
13
Powers of 10
Quantity in Bytes
Base-10
Value
Amount of Textual
Information
1 byte
100
One character
1 kilobyte
103 ≈ 210
One typed page
1 megabyte
106 ≈ 220
Two or three novels
1 gigabyte
109 ≈ 230
A departmental library or a
large personal library
1 terabyte
1012 ≈ 240
The library of a major
academic research
university
More examples and information at http://www2.sims.berkeley.edu/research/projects/howmuch-info/datapowers.html
Invitation to Computer Science C++, Fourth Edition - Spring 2008
14
Memory and Cache (continued)

Parts of the memory subsystem

Fetch/store controller

Fetch: retrieve a value from memory

Store: store a value into memory

Memory address register (MAR)

Memory data register (MDR)

Memory cells, with decoder(s) to select individual
cells
Invitation to Computer Science C++, Fourth Edition - Spring 2008
15
Memory and Cache (continued)

Fetch operation



The address of the desired memory cell is moved
into the MAR
Fetch/store controller signals a “fetch,” accessing
the memory cell
The value at the MAR’s location flows into the
MDR
Invitation to Computer Science C++, Fourth Edition - Spring 2008
16
Memory and Cache (continued)

Store operation

The address of the cell where the value should go
is placed in the MAR

The new value is placed in the MDR

Fetch/store controller signals a “store,” copying
the MDR’s value into the desired cell
Invitation to Computer Science C++, Fourth Edition - Spring 2008
17
Memory and Cache (continued)

Memory register

Very fast memory location

Given a name, not an address

Serves some special purpose

Modern computers have dozens or hundreds of
registers
Invitation to Computer Science C++, Fourth Edition - Spring 2008
18
Figure 5.7
Overall RAM Organization
Invitation to Computer Science C++, Fourth Edition - Spring 2008
19
Cache Memory

Memory access is much slower than processing
time

Faster memory is too expensive to use for all
memory cells

Locality principle


Once a value is used, it is likely to be used again
Small size, fast memory just for values currently
in use speeds computing time
Invitation to Computer Science C++, Fourth Edition - Spring 2008
20
Input/Output and Mass Storage

Communication with outside world and external data
storage

Input unit


“Receiving” section of computer
Obtains data from input devices



Usually a keyboard, mouse, disk or scanner
Places data at disposal of other units
2. Output unit


“Shipping” section of computer
Puts processed info on various output devices


Screens, paper printouts, speakers
Makes info available outside the computer
Invitation to Computer Science C++, Fourth Edition - Spring 2008
21
Input/Output and Mass Storage


Human interfaces: monitor, keyboard, mouse

Archival storage: not dependent on constant
power
External devices vary tremendously from each
other
Invitation to Computer Science C++, Fourth Edition - Spring 2008
22
Input/Output and Mass Storage
(continued)

Volatile storage



Information disappears when the power is turned
off
Example: RAM
Nonvolatile storage


Information does not disappear when the power is
turned off
Example: mass storage devices such as disks
and tapes
Invitation to Computer Science C++, Fourth Edition - Spring 2008
23
Input/Output and Mass Storage
(continued)

Mass (secondary) storage devices


Direct access storage device

Hard drive, CD-ROM, DVD, etc.

Uses its own addressing scheme to access data
Sequential access storage device

Tape drive, etc.

Stores data sequentially

Used for backup storage these days
Invitation to Computer Science C++, Fourth Edition - Spring 2008
24
Input/Output and Mass Storage
(continued)

Mass or Secondary storage unit

Long-term, high-capacity “warehouse”
Stores programs or data not currently being used by
other units on secondary storage devices (like discs)
Takes longer to access than primary memory

data location


Invitation to Computer Science C++, Fourth Edition - Spring 2008
25
Input/Output and Mass Storage
(continued)

Direct access storage devices

Data stored on a spinning disk

Disk divided into concentric rings (sectors)

Read/write head moves from one ring to another
while disk spins

Access time depends on:

Time to move head to correct sector

Time for sector to spin to data location
Invitation to Computer Science C++, Fourth Edition - Spring 2008
26
Figure 5.8
Overall Organization of a Typical Disk
Invitation to Computer Science C++, Fourth Edition - Spring 2008
27
Input/Output and Mass Storage
(continued)

I/O controller

Intermediary between central processor and I/O
devices

Processor sends request and data, then goes on
with its work

I/O controller interrupts processor when request is
complete
Invitation to Computer Science C++, Fourth Edition - Spring 2008
28
Figure 5.9
Organization of an I/O Controller
Invitation to Computer Science C++, Fourth Edition - Spring 2008
29
The Arithmetic/Logic Unit

Arithmetic and Logic Unit


“Manufacturing” section of computer
Contains decision mechanisms and can make comparisons

Actual computations are performed

Primitive operation circuits

Arithmetic [+, -, *, /]

Comparison [equality or CE, GT, LT, NEQ]

Logic [AND, OR, NOT, XOR]

Data inputs and results stored in registers

Multiplexor selects desired output
Invitation to Computer Science C++, Fourth Edition - Spring 2008
30
Figure 5.12
Using a Multiplexor Circuit to Select the Proper ALU Result
Invitation to Computer Science C++, Fourth Edition - Spring 2008
31
The Arithmetic/Logic Unit
(continued)

ALU process

Values for operations copied into ALU’s input
register locations

All circuits compute results for those inputs

Multiplexor selects the one desired result from all
values

Result value copied to desired result register
Invitation to Computer Science C++, Fourth Edition - Spring 2008
32
The Control Unit

Manages stored program execution

Task

Fetch from memory the next instruction to be
executed

Decode it: determine what is to be done

Execute it: issue appropriate command to ALU,
memory, and I/O controllers
Invitation to Computer Science C++, Fourth Edition - Spring 2008
33
Machine Language Instructions

Can be decoded and executed by control unit

Parts of instructions

Operation code (op code)


Unique unsigned-integer code assigned to each
machine language operation
Address field(s)

Memory addresses of the values on which
operation will work
Invitation to Computer Science C++, Fourth Edition - Spring 2008
34
Figure 5.14
Typical Machine Language Instruction Format
Invitation to Computer Science C++, Fourth Edition - Spring 2008
35
Machine Language Instructions
(continued)

Operations of machine language

Data transfer


Move values to and from memory and registers
Arithmetic/logic

Perform ALU operations that produce numeric
values
Invitation to Computer Science C++, Fourth Edition - Spring 2008
36
Machine Language Instructions
(continued)

Operations of machine language (continued)

Compares


Set bits of compare register to hold result
Branches

Jump to a new memory address to continue
processing
Invitation to Computer Science C++, Fourth Edition - Spring 2008
37
Control Unit Registers And Circuits

Parts of control unit

Links to other subsystems

Instruction decoder circuit

Two special registers:

Program Counter (PC)


Stores the memory address of the next instruction to
be executed
Instruction Register (IR)

Stores the code for the current instruction
Invitation to Computer Science C++, Fourth Edition - Spring 2008
38
Figure 5.16
Organization of the Control Unit Registers and Circuits
Invitation to Computer Science C++, Fourth Edition - Spring 2008
39
Putting All the Pieces Together—the
Von Neumann Architecture

Subsystems connected by a bus

Bus: wires that permit data transfer among them

At this level, ignore the details of circuits that
perform these tasks: Abstraction!

Computer repeats fetch-decode-execute cycle
indefinitely
Invitation to Computer Science C++, Fourth Edition - Spring 2008
40
Figure 5.18
The Organization
of a Von Neumann
Computer
Invitation to Computer Science C++, Fourth Edition - Spring 2008
41
The Future: Non-Von Neumann
Architectures

Physical limitations on speed of Von Neumann
computers

Non-Von Neumann architectures explored to
bypass these limitations

Parallel computing architectures can provide
improvements: multiple operations occur at the
same time
Invitation to Computer Science C++, Fourth Edition - Spring 2008
42
The Future: Non-Von Neumann
Architectures (continued)

SIMD architecture

Single instruction/Multiple data

Multiple processors running in parallel

All processors execute same operation at one
time

Each processor operates on its own data

Suitable for “vector” operations
Invitation to Computer Science C++, Fourth Edition - Spring 2008
43
Figure 5.21
A SIMD Parallel Processing System
Invitation to Computer Science C++, Fourth Edition - Spring 2008
44
Kent State ASsociative Computing
Model (ASC)
Associative Computer: A SIMD computer with a few
additional features supported in hardware.
 These additional features can be supported (less
efficiently) in traditional SIMDs in software.
 The name “associative” is due to its ability to locate
items in the memory of PEs by content rather than
location.
Invitation to Computer Science C++, Fourth Edition - Spring 2008
45
Typical Data Structure for ASC Model
PE1
Make
Color
Year
Dodge
red
1994
PE2
PE3
IS
PE4
Price
Busyidle
1
1
0
0
Ford
blue
1996
1
1
Ford
white
1998
0
1
PE5
PE6
PE7
Model
On
lot
Subaru
red
1997
0
0
0
0
1
1
Make, Color – etc. are fields the programmer establishes
Various data types are supported. Some examples will show
string data, but they are not supported in the ASC simulator.
Invitation to Computer Science C++, Fourth Edition - Spring 2008
46
The Associative Search
PE1
Make
Color
Year
Dodge
red
1994
Model
PE2
PE3
IS
PE4
Busyidle
1
1
0
0
Ford
blue
1996
1
1
Ford
white
1998
0
1
PE5
PE6
PE7
Price
On
lot
Subaru
red
1997
0
0
0
0
1
1
IS asks for all cars that are red and on the lot.
PE1 and PE7 respond by setting a mask bit in their PE.
Invitation to Computer Science C++, Fourth Edition - Spring 2008
47
Modern SIMD-like Hardware
NVIDIA Tesla C870
GPU Computing
Processor
ClearSpeed Advance
X620 PCI-X Parallel
Accelerator
Invitation to Computer Science C++, Fourth Edition - Spring 2008
48
The Future: Non-Von Neumann
Architectures (continued)

MIMD architecture

Multiple instruction/Multiple data

Multiple processors running in parallel

Each processor performs its own operations on its
own data

Processors communicate with each other
Invitation to Computer Science C++, Fourth Edition - Spring 2008
49
Figure 5.22
Model of MIMD Parallel Processing
Invitation to Computer Science C++, Fourth Edition - Spring 2008
50
Cluster Computing
Rack Mount cluster:
24 nodes with 1 gateway node
Total 4TB of hard disk space
http://www.tik.ee.ethz.ch/~ddosvax/cluster/
22 cluster nodes: Athlon XP "Barton"
•2.8 GHz 1 GB RAM,
•120 GB Hard disk
•CD-ROM Drive
•1 Gbit/s-Ethernet
One single gateway node: Athlon XP "Barton" 2.8 GHz
•1 GB RAM
• 2x 200GB Hard disk (200 GB RAID-1 mirrored)
http://www-cs.canisius.edu/facilities.shtml
•CDROM
•1 Gbit/s-Ethernet internal; 100 Mbit/s external.
Invitation to Computer Science C++, Fourth Edition - Spring 2008
51
Quantum Computing


Online introduction for class reading
http://computer.howstuffworks.com/quantumcomputer.htm/printable
For a slightly more in-depth introduction
http://www.cs.caltech.edu/~westside/quantum-intro.html
Invitation to Computer Science C++, Fourth Edition - Spring 2008
52
Summary of Level 2

Focus on how to design and build computer
systems

Chapter 4

Binary codes

Transistors

Gates

Circuits
Invitation to Computer Science C++, Fourth Edition - Spring 2008
53
Summary of Level 2 (continued)

Chapter 5

Von Neumann architecture

Shortcomings of the sequential model of
computing

Parallel computers
Invitation to Computer Science C++, Fourth Edition - Spring 2008
54
Summary




Computer organization examines different
subsystems of a computer: memory,
input/output, arithmetic/logic unit, and control
unit
Machine language gives codes for each
primitive instruction the computer can perform,
and its arguments
Von Neumann machine: sequential execution of
stored program
Parallel computers improve speed by doing
multiple tasks at one time
Invitation to Computer Science C++, Fourth Edition - Spring 2008
55