Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 43

Computer Organization and

Assembly Language
CPT213: Lecture Slides 1
Objectives

In this slides, you will learn about the following:

 The components of a computer system

 Putting all the pieces together—the Von


Neumann architecture

 Non-Von Neumann architectures

2
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

3
Figure 1.1
The Concept
of Abstraction

4
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
5
Figure 1.2
Components of the Von Neumann Architecture

6
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

7
Memory and Cache (continued)

 RAM (random access 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

8
Figure 1.3
Structure of Random Access Memory

9
Main Memory

Unit Exact Number of bytes Approximation


------------ ------------------------ ------------
kilobyte 210 bytes 103 bytes
megabyte 220 bytes 106 bytes
gigabyte 230 bytes 109 bytes
terabyte 240 bytes 1012 bytes
petabyte 250 bytes 1015 bytes
exabyte 260 bytes 1018 bytes

Table 5.1 Memory units


Address as bit pattern

Note:

Memory addresses are defined using


unsigned binary integers.
Example 1
A computer has 32 MB (megabytes) of memory.
How many bits are needed to address any single
byte in memory?
Solution
The memory address space is 32 MB, or 2 25 (25
x 220). This means you need log2 225 or 25 bits,
to address each byte.
Example 2
A computer has 128 MB of memory. Each word
in this computer is 8 bytes. How many bits are
needed to address any single word in memory?
Solution
The memory address space is 128 MB, which
means 227. However, each word is 8 (23) bytes,
which means that you have 224 words. This
means you need log2 224 or 24 bits, to address
each word.
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

14
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

15
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

16
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

17
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

18
Input/Output and Mass Storage

 Communication with outside world and external


data storage

 Human interfaces: Monitor, keyboard, mouse

 Archival storage: Not dependent on constant


power

 External devices vary tremendously from each


other

19
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,
flash and tapes
20
Input/Output and Mass Storage
(continued)
 Mass storage devices
 Direct access storage device
 Hard drive, CD-ROM, DVD
 Uses its own addressing scheme to access data
 Sequential access storage device
 Tape drive
 Stores data sequentially
 Used for backup storage these days

21
Input/Output and Mass Storage
(continued)
 Direct access storage devices
 Data stored on a spinning disk
 Disk divided into concentric rings (tracks)
 Read/write head moves from one track to another
while disk spins
 Access time depends on:
 Seek time: time needed to position head over track
 Latency: time needed for sector to rotate to head
 Transfer time: time for sector to be read by head

22
Figure 1.4
Overall Organization of a Typical Disk

23
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

24
Figure 5.9
Organization of an I/O Controller

25
The Arithmetic/Logic Unit

 Actual computations are performed


 Primitive operation circuits
 Arithmetic (ADD)
 Comparison (CE)
 Logic (AND)
 Data inputs and results stored in registers
 Multiplexor selects desired output

26
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

27
Figure 1.5
Using a Multiplexor Circuit to Select the Proper ALU Result

28
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

29
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 fields
 Memory addresses of the values on which
operation will work

30
Pentium Machine Language Instruction Format
Figure 5.14
Typical Machine Language Instruction Format

31
Machine Language Instructions
(continued)
 Operations of machine language
 Data transfer operations
 Move values to and from memory and registers

 Arithmetic/logic operations
 Perform ALU operations that produce numeric
values

32
Machine Language Instructions
(continued)
 Operations of machine language (continued)
 Compare operations
 Compare two values and set an indicator on the
basis of the results of the compare; set register bits

 Branch operations
 Jump to a new memory address to continue
processing

33
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

34
Figure 1.6
Organization of the Control Unit Registers and Circuits

35
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

36
Figure 1.8
The Organization
of a Von Neumann
Computer

37
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

38
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
39
Figure 1.9
A SIMD Parallel Processing System

40
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


41
Figure 1.10
Model of MIMD Parallel Processing

42
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
a stored program
 Parallel computers improve speed by doing
multiple tasks at one time

43

You might also like