SlideShare a Scribd company logo
1 of 83
1
Computer System Overview
Chapter 1
2
What is Operating System??
3
Operating System
• Exploits the hardware resources of one
or more processors
• Provides a set of services to system users
• Manages secondary memory and I/O
devices
4
Basic Elements
• Processor
• Main Memory
– Volatile
– referred to as real memory or primary memory
• I/O modules
– secondary memory devices
– communications equipment
– terminals
• System bus
– communication among processors, memory, and
I/O modules
5
Basic Elements
• Processor: Controls the operation of the
computer
• Performs its data processing functions.
• When there is only one processor, it is often
referred to as the central processing unit
(CPU).
6
Basic Elements
• Main memory: Stores data and programs.
This memory is typically volatile; that is,
when the computer is shut down, the contents
of the memory are lost.
• In contrast, the contents of disk memory are
retained even when the computer system is
shut down.
• Main memory is also referred to as real
memory or primary memory.
7
Basic Elements
• I/O modules: Move data between the
computer and its external environment.
• The external environment consists of a variety
of devices, including secondary memory
devices (e.g., disks), communications
equipment, and terminals.
• System bus: Provides for communication
among processors, main memory, and I/O
modules.
8
Top-Level Components
PC MAR
IR MBR
I/O AR
I/O BR
CPU Main Memory
System
Bus
I/O Module
•
•
•
•
•
•
•
•
•
Buffers
Instruction
0
1
2
n - 2
n - 1
Data
Data
Data
Data
Instruction
Instruction
Figure 1.1 Computer Components: Top-Level View
PC = Program counter
IR = Instruction register
MAR = Memory address register
MBR = Memory buffer register
I/O AR = Input/output address register
I/O BR = Input/output buffer register
Execution
unit
9
Processor
• Two internal registers
– Memory address register (MAR)
• Specifies the address for the next read or write
– Memory buffer register (MBR)
• Contains data written into memory or receives
data read from memory
– I/O address register
– I/O buffer register
10
Processor Registers
• User-visible registers
– Enable programmer to minimize main-
memory references by optimizing register
use
• Control and status registers
– Used by processor to control operating of
the processor
– Used by privileged operating-system
routines to control the execution of
programs
11
User-Visible Registers
• May be referenced by machine language
• Available to all programs - application
programs and system programs
• Types of registers
– Data
– Address
• Index
• Segment pointer
• Stack pointer
12
User-Visible Registers
• Address Registers
– Index
• Involves adding an index to a base value to get
an address
– Segment pointer
• When memory is divided into segments,
memory is referenced by a segment and an
offset
– Stack pointer
• Points to top of stack
13
Control and Status Registers
• Program Counter (PC)
– Contains the address of an instruction to be fetched
• Instruction Register (IR)
– Contains the instruction most recently fetched
• Program Status Word (PSW)
– Condition codes
– Interrupt enable/disable
– Supervisor/user mode
14
Control and Status Registers
• Condition Codes or Flags
– Bits set by the processor hardware as a
result of operations
– Examples
• Positive result
• Negative result
• Zero
• Overflow
15
EVOLUTION OF THE MICROPROCESSOR
• Earlier : multichip processor
• Microprocessor: Contained a processor on a single
chip.
• They are now multiprocessors; each chip (called a
socket) contains multiple processors (called
cores), each with multiple levels of large memory
caches, and multiple logical processors sharing the
execution units of each core.
• Graphical Processing Units (GPUs) provide
efficient computation on arrays of data using
“Single-Instruction Multiple Data (SIMD)”
techniques pioneered in supercomputers.
16
EVOLUTION OF THE MICROPROCESSOR
• Digital Signal Processors (DSPs) are also
present, for dealing with streaming signals—
such as audio or video.
• DSPs used to be embedded in I/O devices, like
modems,
• but now becoming first-class computational
devices, especially in handhelds
• Summary:
• To satisfy the requirements of handheld devices, instead of
classic microprocessor “System on a Chip (SoC), CPUs and
caches are on the same chip + such as DSPs, GPUs, I/O devices
(such as radios and codecs), and main memory on single chip.
17
Instruction Execution
• Two steps
– Processor reads instructions from memory
• Fetches
– Processor executes each instruction
18
Instruction Cycle
19
Instruction Fetch and Execute
• The processor fetches the instruction
from memory
• Program counter (PC) holds address of
the instruction to be fetched next
• Program counter is incremented after
each fetch
20
Instruction Register
• Fetched instruction is placed in the instruction
register.
• The instruction contains bits that specify the
action the processor is to take.
• The processor interprets the instruction and
performs the required action .
• These actions generally grouped into four
categories.
21
Instruction Register
• Categories
– Processor-memory
• Transfer data between processor and memory
– Processor-I/O
• Data transferred to or from a peripheral device
– Data processing
• Arithmetic or logic operation on data
– Control
• Alter sequence of execution
22
Characteristics of a
Hypothetical Machine
Both
instructions and
data are 16 bits
long, and
memory is
organized as a
sequence of 16-
bit words.
23
• 300 1940
• 301 5940
• 302 2941
• 940 0002
• 941 0003
24
• The instruction format provides 4 bits for the
opcode, allowing as many as 24 16 different
opcodes
• (represented by a single hexadecimal 1 digit).
• The opcode defines the operation the processor
is to perform. With the remaining 12 bits of
the instruction format, up to 212 4,096 (4K)
words of memory (denoted by three
hexadecimal digits) can be directly addressed.
25
• The PC contains 300, the address of the first instruction. This instruction
(the value 1940 in hexadecimal) is loaded into the IR and the PC is
incremented.
• Note that this process involves the use of a memory address register
(MAR) and a memory buffer register (MBR).
• 2. The first 4 bits (first hexadecimal digit) in the IR indicate that the AC
is to be loaded from memory. The remaining 12 bits (three hexadecimal
digits) specify the address, which is 940.
• 3. The next instruction (5941) is fetched from location 301 and the PC is
• incremented.
• 4. The old contents of the AC and the contents of location 941 are added
and the result is stored in the AC.
• 5. The next instruction (2941) is fetched from location 302 and the PC is
• incremented.
• 6. The contents of the AC are stored in location 941.
26
Example of Program Execution
27
Interrupts
• What?
• A mechanism by which other modules (I/O,
memory) may interrupt the normal sequencing of
the processor.
28
Interrupts
• Why?
• Interrupts are provided primarily as a way to
improve processor utilization.
• When?
• Most I/O devices are slower than the processor
– Processor must pause to wait for device
– E.g processor-printer
29
Program Flow of Control
Without Interrupts
30
Program Flow of Control Without
Interrupts
• A sequence of instructions, to prepare for the actual I/O
operation.
– i.e This may include copying the data to be output into a special
buffer and preparing the parameters for a device command.
• The actual I/O command.
– Without the use of interrupts, once this command is issued, the
program must wait for the I/O device to perform the requested
function (or periodically check the status, or poll, the I/O
device).
– The program might wait by simply repeatedly performing a test
operation to determine if the I/O operation is done.
• A sequence of instructions, to complete the operation.
– This may include setting a flag indicating the success or failure
of the operation.
31
Program Flow of Control With
Interrupts, Short I/O Wait
User
Program
WRITE
WRITE
WRITE
I/O
Program
I/O
Command
Interrupt
Handler
END
1
2a
2b
3a
3b
4
5
(b) Interrupts; short I/O wait
32
Program Flow of Control With
Interrupts; Long I/O Wait
33
Interrupt Handler
• Program to service a particular I/O
device
• Generally part of the operating system
34
Interrupts
• Suspends the normal sequence of
execution
35
Interrupt Cycle
36
Interrupt Cycle
• Processor checks for interrupts
• If no interrupts fetch the next instruction
for the current program
• If an interrupt is pending, suspend
execution of the current program, and
execute the interrupt-handler routine
37
Timing Diagram Based on Short
I/O Wait
38
Timing Diagram Based on long
I/O Wait
39
Simple Interrupt Processing
40
Changes in Memory and
Registers for an Interrupt
41
Changes in Memory and
Registers for an Interrupt
42
Multiple Interrupts
• Disable interrupts while an interrupt is
being processed
43
Multiple Interrupts
• Define priorities for interrupts
44
Multiple Interrupts
45
Multiprogramming
• Processor has more than one program to
execute
• The sequence the programs are executed
depend on their relative priority and
whether they are waiting for I/O
• After an interrupt handler completes,
control may not return to the program
that was executing at the time of the
interrupt
46
Memory Hierarchy
• The design constraints on a computer’s memory can
be summed up by three questions:
• How much?
• How fast?
• How expensive? (Tradeoff)
• Faster access time, greater cost per bit
• Greater capacity, smaller cost per bit
• Greater capacity, slower access speed
47
Memory Hierarchy
48
Going Down the Hierarchy
• Decreasing cost per bit
• Increasing capacity
• Increasing access time
• Decreasing frequency of access of the
memory by the processor
– Locality of reference
49
Going Down the Hierarchy
• Locality of reference / principle of
locality:
– Tendency of the computer program to
access the same set of memory
locations for a particular time period.
– Spatial Locality
– Temporal Locality
50
Going Down the Hierarchy
– Temporal Locality :
• This type of optimization includes bringing in
the frequently accessed memory references
to a nearby memory location for a short
duration of time so that the future accesses
are much faster.
• Eg. if in an instruction set we have a
variable declared that is being accessed
very frequently we bring in that variable
in a memory register which is the nearest
in memory hierarchy for faster access.
51
Going Down the Hierarchy
– Spatial Locality :
• Assumes that if a memory location has been
accessed it is highly likely that a
nearby/consecutive memory location will be
accessed as well
• Hence we bring in the nearby memory
references too in a nearby memory location
for faster access.
• E.g : Traversal of a one-dimensional array
in any instruction set will benefit from this
optimization.
52
Going Down the Hierarchy
– Does the strategy of using two memory levels
works in principle, but only if
conditions(a) through (d) applies.
53
Exercise Given:
• Suppose that the processor has access to two levels of
memory. Level 1 contains 1,000 bytes and has an access
time of 0.1 ÎĽs; level 2 contains 100,000 bytes and has an
access time of 1 ÎĽs. Assume that if a byte to be accessed is
in level 1, then the processor accesses it directly. If it is in
level 2, then the byte is first transferred to level 1 and then
accessed by the processor. (for simplicity we ignore the
transfer time)
• In our example, suppose 95% of the memory accesses are
found in the cache . Then the average time to access a byte:
54
Exercise Given:
• Memory hit / Miss:
– A Memory hit refers to the situation wherein the memory is
able to successfully find data and supply to the application.
– Memory Hit Ratio :
• A hit ratio is a calculation of memory hits, and comparing
them with how many total content requests were
received.
55
Exercise Given:
• Average Time to access a byte:
• (0.95) *(0.1 s) + (0.05)* (0.1 s + 1 s)= 0.095 + 0.055 =
0.15 s
56
Memory
• Registers,Cache, and Primary memory
– Employs semi conductor technology
– Volatile
– May be visible to the programmer in terms of
individual bytes or words
• Secondary / Auxiliary memory
– Nonvolatile
– Used to store program and data files
– visible to the programmer only in terms of files
and records,
– A hard disk is also used to provide an extension to
main memory known as virtual memory
57
Disk Cache
• A portion of main memory used as a buffer to
temporarily to hold data for the disk.
• Rationale ????
• Disk writes are clustered
• Adv….
• Some data written out may be referenced
again. The data are retrieved rapidly from the
software cache instead of slowly from disk
58
Cache Memory
• Invisible to operating system
• But,Interacts with other memory management hardware.
• Motivation
• In every instruction cycle, processor access memory many
times (to fetch instruction, operands and store result).
• Problem: The rate at which the processor can execute
instructions is clearly limited by the memory cycle time
(Bottleneck)
• Ideally, Technology to built processor registers, should be
used to built main memory. (Expensive)
59
Cache Memory
• Solution:
• Exploit the principle of locality by providing a small, fast
memory between the processor and main memory.
• Increase the speed of memory access
• Still with a price of less expensive types.
• Exploit the principle of locality
• There is a relatively large and slow main memory together
with a smaller, faster cache memory.
60
Cache Memory
61
Cache Memory
• Contains a copy of a portion of main memory
• When processor wants a byte or word, cache is first
checked for it.
• If not found in cache, fixed number of blocks of
memory containing the needed information is
moved to the cache and delivered to the processor.
• Locality of reference plays role that this process is
not so frequent.
Cache/Main Memory System
Memory
address
0
1
2
0
1
2
C - 1
3
2n - 1
Word
Length
Block Length
(K Words)
Block
(K words)
Block
Line
Number Tag Block
(b) Main memory
(a) Cache
Figure 1.17 Cache/Main-Memory Structure
M(No. of Blocks)=2n/K
&
C<<<M
Cache/Main Memory System
As a simple example, suppose that we have a 6-bit address
and a 2-bit tag. The tag 01 refers to the block of locations
with the following addresses:
010000, 010001, 010010, 010011, 010100, 010101, 010110,
010111, 011000, 011001, 011010, 011011, 011100, 011101,
011110, 011111.
64
Cache Read Operation
65
Cache Design
• Cache size
– Small caches have a significant impact on
performance
• Block size
– The unit of data exchanged between cache and
main memory
– Larger block size more hits until probability of
using newly fetched data becomes less than the
probability of reusing data that have to be
moved out of cache
66
Cache Design
• Mapping function
– Determines which cache location the block
will occupy
– Once cache filled (which to replace?)
– Target – maximize hit ratio.
• Replacement algorithm
– Determines which block to replace
– Least-Recently-Used (LRU) algorithm
67
Cache Design
• Write policy
– When the memory write operation takes
place
– Can occur every time block is updated
– Can occur only when block is replaced
• Minimizes memory write operations
• Leaves main memory in an obsolete state
68
Programmed I/O
• I/O module performs the
action, not the processor
• Sets appropriate bits in the
I/O status register
• No interrupts occur
• Processor checks status until
operation is complete
69
Interrupt-Driven I/O
• Processor is interrupted when I/O
module ready to exchange data
• Processor saves context of
program executing and begins
executing interrupt-handler
• No needless waiting
• Consumes a lot of processor time
because every word read or
written passes through the
processor
70
Direct Memory Access
(DMA)
• I/O exchanges occur directly with
memory
• Processor grants I/O module authority to
read from or write to memory
• Relieves the processor responsibility for
the exchange
71
Direct Memory Access
• Transfers a block of data
directly to or from memory
• An interrupt is sent when
the transfer is complete
• Processor continues with
other work
72
MULTIPROCESSOR AND MULTICORE
ORGANIZATION
• The three most popular approaches to providing parallelism:
• How?
• by replicating processors:
symmetric multiprocessors (SMPs),
multicore computers,
clusters.
73
MULTIPROCESSOR AND MULTICORE
ORGANIZATION
• An SMP can be defined as a stand-alone computer system with the
• following characteristics:
• 1. There are two or more similar processors of comparable capability.
• 2. These processors share the same main memory and I/O facilities and
are interconnected by a bus or other internal connection scheme, such
that memory access time is approximately the same for each processor.
• 3. All processors share access to I/O devices, either through the same
channels or through different channels that provide paths to the same
device.
• 4. All processors can perform the same functions (hence the term
symmetric ).
• 5. The system is controlled by an integrated operating system that
provides interaction between processors and their programs at the job,
task, file, and data element levels.
74
MULTIPROCESSOR AND MULTICORE
ORGANIZATION
Symmetric Multiprocessor
75
MULTIPROCESSOR AND MULTICORE
ORGANIZATION
• Cache Coherence Problem :
Problem :
• Processors generally have at least one level of cache
• This use of cache introduces some new design considerations.
• Local cache contains an image of a portion of main memory, if a
word is altered in one cache, it could invalidate a word in another
cache.
Solution :
• Other processors must be alerted that an update has taken place.
• Addressed in hardware rather than by the OS. 6
76
MULTIPROCESSOR AND MULTICORE
ORGANIZATION
• SMP Vs Uniprocessor Organization (Potential Advantages)
– Performance: some portions of the work can be done in parallel (If
the work to be done by a computer can be organized in such a way)
– Availability : The failure of a single processor does not halt the
machine. Instead, the system can continue to function at reduced
performance (all processors can perform the same functions.)
– Incremental growth: A user can enhance the performance of a
system by adding an additional processor. Incrementally
– Scaling: Vendors can offer a range of products with different price
and performance characteristics based on the number of processors
configured in the system.
77
MULTIPROCESSOR AND MULTICORE
ORGANIZATION
Multicore Computers (chip multiprocessor) :
– combines two or more processors (called cores) on a single piece of
silicon (called a die).
– Typically, each core consists of all of the components of an
independent processor
• Registers
• ALU
• pipeline hardware
• control unit
• L1 instruction and data caches.
• Contemporary multicore chips also contain L2 cache and sometimes
even L3.
78
MULTIPROCESSOR AND MULTICORE
ORGANIZATION
Multicore Computers (chip multiprocessor) :
79
Where you stand?????
Now you are able to:
• Describe the basic elements of a computer system and their
interrelationship.
• Explain the steps taken by a processor to execute an instruction.
• Understand the concept of interrupts and how and why a processor
uses interrupts.
• List and describe the levels of a typical computer memory
hierarchy.
• Explain the basic characteristics of multiprocessor and multicore
organizations.
• Discuss the concept of locality and analyse the performance of a
multilevel memory hierarchy.
• Understand the operation of a stack and its use to support
procedure call and return.
80
Practice Exercise 1:
• Consider a hypothetical 32-bit microprocessor having 32-bit
instructions composed of two fields. The first byte contains
the opcode and the remainder an immediate operand or an
operand address.
• a. What is the maximum directly addressable memory
capacity (in bytes)?
• b. Discuss the impact on the system speed if the
Microprocessor bus has
– 1. a 32-bit local address bus and a 16-bit local data bus, or
– 2. a 16-bit local address bus and a 16-bit local data bus.
• c. How many bits are needed for the program counter and
the instruction register?
81
Practice Exercise 1: (Solution)
• a. 2^(32-8) = 2^24 = 16,777,216 bytes = 16 MB
–(8 bits = 1 byte for the opcode).
b.1. a 32-bit local address bus and a 16-bit local data bus.
Instruction and data transfers would take three bus cycles
each, one for the address and two for the data. Since If the
address bus is 32 bits, the whole address can be transferred
to memory at once and decoded there; however, since the
data bus is only 16 bits, it will require 2 bus cycles (accesses
to memory) to fetch the 32-bit instruction or operand.
.
82
Practice Exercise 1: (Solution)
• b.2. a 16-bit local address bus and a 16-bit local data bus.
Instruction and data transfers would take four bus cycles each, two
for the address and two for the data. Therefore, that will have the
processor perform two transmissions in order to send to memory
the whole 32-bit address; this will require more complex memory
interface control to latch the two halves of the address before it
performs an access to it. In addition to this two-step address issue,
since the data bus is also 16 bits, the microprocessor will need 2
bus cycles to fetch the 32-bit instruction or operand.
c. For the PC needs 24 bits (24-bit addresses), and for the IR needs
32 bits (32-bit addresses).
83
Practice Exercise : 2
• Suppose the hypothetical processor of Figure 1.3 also has
two I/O instructions:
– 0011 Load AC from I/O
– 0111 Store AC to I/O
• In these cases, the 12-bit address identifies a particular
external device. Show the program execution (using format
of Figure 1.4 ) for the following program:
– 1. Load AC from device 5.
– 2. Add contents of memory location 940.
– 3. Store AC to device 6.
• Assume that the next value retrieved from device 5 is 3 and
that location 940 contains a value of 2

More Related Content

Similar to Chapter01 (1).ppt

Ch 01 os8e
Ch 01  os8eCh 01  os8e
Ch 01 os8eSyed Faisal
 
Computer Organisation & Architecture (chapter 1)
Computer Organisation & Architecture (chapter 1) Computer Organisation & Architecture (chapter 1)
Computer Organisation & Architecture (chapter 1) Subhasis Dash
 
03_Buses (1).ppt
03_Buses (1).ppt03_Buses (1).ppt
03_Buses (1).pptWanizaSiddiqui
 
Unit 1 processormemoryorganisation
Unit 1 processormemoryorganisationUnit 1 processormemoryorganisation
Unit 1 processormemoryorganisationKarunamoorthy B
 
Unit 2 processor&amp;memory-organisation
Unit 2 processor&amp;memory-organisationUnit 2 processor&amp;memory-organisation
Unit 2 processor&amp;memory-organisationPavithra S
 
computer system structure
computer system structurecomputer system structure
computer system structureHAMZA AHMED
 
I/O systems chapter 12 OS
I/O systems chapter 12 OS I/O systems chapter 12 OS
I/O systems chapter 12 OS ssuser45ae56
 
Embedded systems 101 final
Embedded systems 101 finalEmbedded systems 101 final
Embedded systems 101 finalKhalid Elmeadawy
 
Computer Organization and Architechuture basics
Computer Organization and Architechuture basicsComputer Organization and Architechuture basics
Computer Organization and Architechuture basicsLucky Sithole
 
5120224.ppt
5120224.ppt5120224.ppt
5120224.pptdedanndege
 
Wk 4 top_level_view_of_computer_function_and_interconnection
Wk 4 top_level_view_of_computer_function_and_interconnectionWk 4 top_level_view_of_computer_function_and_interconnection
Wk 4 top_level_view_of_computer_function_and_interconnectionlimyamahgoub
 
03 top level view of computer function and interconnection
03 top level view of computer function and interconnection03 top level view of computer function and interconnection
03 top level view of computer function and interconnectionSher Shah Merkhel
 
computer devices and memory unit 2 notes.pdf
computer devices and memory unit 2 notes.pdfcomputer devices and memory unit 2 notes.pdf
computer devices and memory unit 2 notes.pdfshubhangisonawane6
 
Computer system architecture
Computer system architectureComputer system architecture
Computer system architecturejeetesh036
 
introduction COA(M1).pptx
introduction COA(M1).pptxintroduction COA(M1).pptx
introduction COA(M1).pptxBhavanaMinchu
 
Os introduction
Os introductionOs introduction
Os introductionKanika Garg
 

Similar to Chapter01 (1).ppt (20)

ch1.pptx
ch1.pptxch1.pptx
ch1.pptx
 
CAO.pptx
CAO.pptxCAO.pptx
CAO.pptx
 
Ch 01 os8e
Ch 01  os8eCh 01  os8e
Ch 01 os8e
 
Computer Organisation & Architecture (chapter 1)
Computer Organisation & Architecture (chapter 1) Computer Organisation & Architecture (chapter 1)
Computer Organisation & Architecture (chapter 1)
 
03_Buses (1).ppt
03_Buses (1).ppt03_Buses (1).ppt
03_Buses (1).ppt
 
Unit 1 processormemoryorganisation
Unit 1 processormemoryorganisationUnit 1 processormemoryorganisation
Unit 1 processormemoryorganisation
 
Unit 2 processor&amp;memory-organisation
Unit 2 processor&amp;memory-organisationUnit 2 processor&amp;memory-organisation
Unit 2 processor&amp;memory-organisation
 
computer system structure
computer system structurecomputer system structure
computer system structure
 
I/O systems chapter 12 OS
I/O systems chapter 12 OS I/O systems chapter 12 OS
I/O systems chapter 12 OS
 
Embedded systems 101 final
Embedded systems 101 finalEmbedded systems 101 final
Embedded systems 101 final
 
Cao u1
Cao u1Cao u1
Cao u1
 
Computer Organization and Architechuture basics
Computer Organization and Architechuture basicsComputer Organization and Architechuture basics
Computer Organization and Architechuture basics
 
5120224.ppt
5120224.ppt5120224.ppt
5120224.ppt
 
Wk 4 top_level_view_of_computer_function_and_interconnection
Wk 4 top_level_view_of_computer_function_and_interconnectionWk 4 top_level_view_of_computer_function_and_interconnection
Wk 4 top_level_view_of_computer_function_and_interconnection
 
03 top level view of computer function and interconnection
03 top level view of computer function and interconnection03 top level view of computer function and interconnection
03 top level view of computer function and interconnection
 
computer devices and memory unit 2 notes.pdf
computer devices and memory unit 2 notes.pdfcomputer devices and memory unit 2 notes.pdf
computer devices and memory unit 2 notes.pdf
 
Computer Architecture
Computer ArchitectureComputer Architecture
Computer Architecture
 
Computer system architecture
Computer system architectureComputer system architecture
Computer system architecture
 
introduction COA(M1).pptx
introduction COA(M1).pptxintroduction COA(M1).pptx
introduction COA(M1).pptx
 
Os introduction
Os introductionOs introduction
Os introduction
 

Recently uploaded

Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxJiesonDelaCerna
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 

Recently uploaded (20)

Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptx
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 

Chapter01 (1).ppt

  • 3. 3 Operating System • Exploits the hardware resources of one or more processors • Provides a set of services to system users • Manages secondary memory and I/O devices
  • 4. 4 Basic Elements • Processor • Main Memory – Volatile – referred to as real memory or primary memory • I/O modules – secondary memory devices – communications equipment – terminals • System bus – communication among processors, memory, and I/O modules
  • 5. 5 Basic Elements • Processor: Controls the operation of the computer • Performs its data processing functions. • When there is only one processor, it is often referred to as the central processing unit (CPU).
  • 6. 6 Basic Elements • Main memory: Stores data and programs. This memory is typically volatile; that is, when the computer is shut down, the contents of the memory are lost. • In contrast, the contents of disk memory are retained even when the computer system is shut down. • Main memory is also referred to as real memory or primary memory.
  • 7. 7 Basic Elements • I/O modules: Move data between the computer and its external environment. • The external environment consists of a variety of devices, including secondary memory devices (e.g., disks), communications equipment, and terminals. • System bus: Provides for communication among processors, main memory, and I/O modules.
  • 8. 8 Top-Level Components PC MAR IR MBR I/O AR I/O BR CPU Main Memory System Bus I/O Module • • • • • • • • • Buffers Instruction 0 1 2 n - 2 n - 1 Data Data Data Data Instruction Instruction Figure 1.1 Computer Components: Top-Level View PC = Program counter IR = Instruction register MAR = Memory address register MBR = Memory buffer register I/O AR = Input/output address register I/O BR = Input/output buffer register Execution unit
  • 9. 9 Processor • Two internal registers – Memory address register (MAR) • Specifies the address for the next read or write – Memory buffer register (MBR) • Contains data written into memory or receives data read from memory – I/O address register – I/O buffer register
  • 10. 10 Processor Registers • User-visible registers – Enable programmer to minimize main- memory references by optimizing register use • Control and status registers – Used by processor to control operating of the processor – Used by privileged operating-system routines to control the execution of programs
  • 11. 11 User-Visible Registers • May be referenced by machine language • Available to all programs - application programs and system programs • Types of registers – Data – Address • Index • Segment pointer • Stack pointer
  • 12. 12 User-Visible Registers • Address Registers – Index • Involves adding an index to a base value to get an address – Segment pointer • When memory is divided into segments, memory is referenced by a segment and an offset – Stack pointer • Points to top of stack
  • 13. 13 Control and Status Registers • Program Counter (PC) – Contains the address of an instruction to be fetched • Instruction Register (IR) – Contains the instruction most recently fetched • Program Status Word (PSW) – Condition codes – Interrupt enable/disable – Supervisor/user mode
  • 14. 14 Control and Status Registers • Condition Codes or Flags – Bits set by the processor hardware as a result of operations – Examples • Positive result • Negative result • Zero • Overflow
  • 15. 15 EVOLUTION OF THE MICROPROCESSOR • Earlier : multichip processor • Microprocessor: Contained a processor on a single chip. • They are now multiprocessors; each chip (called a socket) contains multiple processors (called cores), each with multiple levels of large memory caches, and multiple logical processors sharing the execution units of each core. • Graphical Processing Units (GPUs) provide efficient computation on arrays of data using “Single-Instruction Multiple Data (SIMD)” techniques pioneered in supercomputers.
  • 16. 16 EVOLUTION OF THE MICROPROCESSOR • Digital Signal Processors (DSPs) are also present, for dealing with streaming signals— such as audio or video. • DSPs used to be embedded in I/O devices, like modems, • but now becoming first-class computational devices, especially in handhelds • Summary: • To satisfy the requirements of handheld devices, instead of classic microprocessor “System on a Chip (SoC), CPUs and caches are on the same chip + such as DSPs, GPUs, I/O devices (such as radios and codecs), and main memory on single chip.
  • 17. 17 Instruction Execution • Two steps – Processor reads instructions from memory • Fetches – Processor executes each instruction
  • 19. 19 Instruction Fetch and Execute • The processor fetches the instruction from memory • Program counter (PC) holds address of the instruction to be fetched next • Program counter is incremented after each fetch
  • 20. 20 Instruction Register • Fetched instruction is placed in the instruction register. • The instruction contains bits that specify the action the processor is to take. • The processor interprets the instruction and performs the required action . • These actions generally grouped into four categories.
  • 21. 21 Instruction Register • Categories – Processor-memory • Transfer data between processor and memory – Processor-I/O • Data transferred to or from a peripheral device – Data processing • Arithmetic or logic operation on data – Control • Alter sequence of execution
  • 22. 22 Characteristics of a Hypothetical Machine Both instructions and data are 16 bits long, and memory is organized as a sequence of 16- bit words.
  • 23. 23 • 300 1940 • 301 5940 • 302 2941 • 940 0002 • 941 0003
  • 24. 24 • The instruction format provides 4 bits for the opcode, allowing as many as 24 16 different opcodes • (represented by a single hexadecimal 1 digit). • The opcode defines the operation the processor is to perform. With the remaining 12 bits of the instruction format, up to 212 4,096 (4K) words of memory (denoted by three hexadecimal digits) can be directly addressed.
  • 25. 25 • The PC contains 300, the address of the first instruction. This instruction (the value 1940 in hexadecimal) is loaded into the IR and the PC is incremented. • Note that this process involves the use of a memory address register (MAR) and a memory buffer register (MBR). • 2. The first 4 bits (first hexadecimal digit) in the IR indicate that the AC is to be loaded from memory. The remaining 12 bits (three hexadecimal digits) specify the address, which is 940. • 3. The next instruction (5941) is fetched from location 301 and the PC is • incremented. • 4. The old contents of the AC and the contents of location 941 are added and the result is stored in the AC. • 5. The next instruction (2941) is fetched from location 302 and the PC is • incremented. • 6. The contents of the AC are stored in location 941.
  • 27. 27 Interrupts • What? • A mechanism by which other modules (I/O, memory) may interrupt the normal sequencing of the processor.
  • 28. 28 Interrupts • Why? • Interrupts are provided primarily as a way to improve processor utilization. • When? • Most I/O devices are slower than the processor – Processor must pause to wait for device – E.g processor-printer
  • 29. 29 Program Flow of Control Without Interrupts
  • 30. 30 Program Flow of Control Without Interrupts • A sequence of instructions, to prepare for the actual I/O operation. – i.e This may include copying the data to be output into a special buffer and preparing the parameters for a device command. • The actual I/O command. – Without the use of interrupts, once this command is issued, the program must wait for the I/O device to perform the requested function (or periodically check the status, or poll, the I/O device). – The program might wait by simply repeatedly performing a test operation to determine if the I/O operation is done. • A sequence of instructions, to complete the operation. – This may include setting a flag indicating the success or failure of the operation.
  • 31. 31 Program Flow of Control With Interrupts, Short I/O Wait User Program WRITE WRITE WRITE I/O Program I/O Command Interrupt Handler END 1 2a 2b 3a 3b 4 5 (b) Interrupts; short I/O wait
  • 32. 32 Program Flow of Control With Interrupts; Long I/O Wait
  • 33. 33 Interrupt Handler • Program to service a particular I/O device • Generally part of the operating system
  • 34. 34 Interrupts • Suspends the normal sequence of execution
  • 36. 36 Interrupt Cycle • Processor checks for interrupts • If no interrupts fetch the next instruction for the current program • If an interrupt is pending, suspend execution of the current program, and execute the interrupt-handler routine
  • 37. 37 Timing Diagram Based on Short I/O Wait
  • 38. 38 Timing Diagram Based on long I/O Wait
  • 40. 40 Changes in Memory and Registers for an Interrupt
  • 41. 41 Changes in Memory and Registers for an Interrupt
  • 42. 42 Multiple Interrupts • Disable interrupts while an interrupt is being processed
  • 43. 43 Multiple Interrupts • Define priorities for interrupts
  • 45. 45 Multiprogramming • Processor has more than one program to execute • The sequence the programs are executed depend on their relative priority and whether they are waiting for I/O • After an interrupt handler completes, control may not return to the program that was executing at the time of the interrupt
  • 46. 46 Memory Hierarchy • The design constraints on a computer’s memory can be summed up by three questions: • How much? • How fast? • How expensive? (Tradeoff) • Faster access time, greater cost per bit • Greater capacity, smaller cost per bit • Greater capacity, slower access speed
  • 48. 48 Going Down the Hierarchy • Decreasing cost per bit • Increasing capacity • Increasing access time • Decreasing frequency of access of the memory by the processor – Locality of reference
  • 49. 49 Going Down the Hierarchy • Locality of reference / principle of locality: – Tendency of the computer program to access the same set of memory locations for a particular time period. – Spatial Locality – Temporal Locality
  • 50. 50 Going Down the Hierarchy – Temporal Locality : • This type of optimization includes bringing in the frequently accessed memory references to a nearby memory location for a short duration of time so that the future accesses are much faster. • Eg. if in an instruction set we have a variable declared that is being accessed very frequently we bring in that variable in a memory register which is the nearest in memory hierarchy for faster access.
  • 51. 51 Going Down the Hierarchy – Spatial Locality : • Assumes that if a memory location has been accessed it is highly likely that a nearby/consecutive memory location will be accessed as well • Hence we bring in the nearby memory references too in a nearby memory location for faster access. • E.g : Traversal of a one-dimensional array in any instruction set will benefit from this optimization.
  • 52. 52 Going Down the Hierarchy – Does the strategy of using two memory levels works in principle, but only if conditions(a) through (d) applies.
  • 53. 53 Exercise Given: • Suppose that the processor has access to two levels of memory. Level 1 contains 1,000 bytes and has an access time of 0.1 ÎĽs; level 2 contains 100,000 bytes and has an access time of 1 ÎĽs. Assume that if a byte to be accessed is in level 1, then the processor accesses it directly. If it is in level 2, then the byte is first transferred to level 1 and then accessed by the processor. (for simplicity we ignore the transfer time) • In our example, suppose 95% of the memory accesses are found in the cache . Then the average time to access a byte:
  • 54. 54 Exercise Given: • Memory hit / Miss: – A Memory hit refers to the situation wherein the memory is able to successfully find data and supply to the application. – Memory Hit Ratio : • A hit ratio is a calculation of memory hits, and comparing them with how many total content requests were received.
  • 55. 55 Exercise Given: • Average Time to access a byte: • (0.95) *(0.1 s) + (0.05)* (0.1 s + 1 s)= 0.095 + 0.055 = 0.15 s
  • 56. 56 Memory • Registers,Cache, and Primary memory – Employs semi conductor technology – Volatile – May be visible to the programmer in terms of individual bytes or words • Secondary / Auxiliary memory – Nonvolatile – Used to store program and data files – visible to the programmer only in terms of files and records, – A hard disk is also used to provide an extension to main memory known as virtual memory
  • 57. 57 Disk Cache • A portion of main memory used as a buffer to temporarily to hold data for the disk. • Rationale ???? • Disk writes are clustered • Adv…. • Some data written out may be referenced again. The data are retrieved rapidly from the software cache instead of slowly from disk
  • 58. 58 Cache Memory • Invisible to operating system • But,Interacts with other memory management hardware. • Motivation • In every instruction cycle, processor access memory many times (to fetch instruction, operands and store result). • Problem: The rate at which the processor can execute instructions is clearly limited by the memory cycle time (Bottleneck) • Ideally, Technology to built processor registers, should be used to built main memory. (Expensive)
  • 59. 59 Cache Memory • Solution: • Exploit the principle of locality by providing a small, fast memory between the processor and main memory. • Increase the speed of memory access • Still with a price of less expensive types. • Exploit the principle of locality • There is a relatively large and slow main memory together with a smaller, faster cache memory.
  • 61. 61 Cache Memory • Contains a copy of a portion of main memory • When processor wants a byte or word, cache is first checked for it. • If not found in cache, fixed number of blocks of memory containing the needed information is moved to the cache and delivered to the processor. • Locality of reference plays role that this process is not so frequent.
  • 62. Cache/Main Memory System Memory address 0 1 2 0 1 2 C - 1 3 2n - 1 Word Length Block Length (K Words) Block (K words) Block Line Number Tag Block (b) Main memory (a) Cache Figure 1.17 Cache/Main-Memory Structure M(No. of Blocks)=2n/K & C<<<M
  • 63. Cache/Main Memory System As a simple example, suppose that we have a 6-bit address and a 2-bit tag. The tag 01 refers to the block of locations with the following addresses: 010000, 010001, 010010, 010011, 010100, 010101, 010110, 010111, 011000, 011001, 011010, 011011, 011100, 011101, 011110, 011111.
  • 65. 65 Cache Design • Cache size – Small caches have a significant impact on performance • Block size – The unit of data exchanged between cache and main memory – Larger block size more hits until probability of using newly fetched data becomes less than the probability of reusing data that have to be moved out of cache
  • 66. 66 Cache Design • Mapping function – Determines which cache location the block will occupy – Once cache filled (which to replace?) – Target – maximize hit ratio. • Replacement algorithm – Determines which block to replace – Least-Recently-Used (LRU) algorithm
  • 67. 67 Cache Design • Write policy – When the memory write operation takes place – Can occur every time block is updated – Can occur only when block is replaced • Minimizes memory write operations • Leaves main memory in an obsolete state
  • 68. 68 Programmed I/O • I/O module performs the action, not the processor • Sets appropriate bits in the I/O status register • No interrupts occur • Processor checks status until operation is complete
  • 69. 69 Interrupt-Driven I/O • Processor is interrupted when I/O module ready to exchange data • Processor saves context of program executing and begins executing interrupt-handler • No needless waiting • Consumes a lot of processor time because every word read or written passes through the processor
  • 70. 70 Direct Memory Access (DMA) • I/O exchanges occur directly with memory • Processor grants I/O module authority to read from or write to memory • Relieves the processor responsibility for the exchange
  • 71. 71 Direct Memory Access • Transfers a block of data directly to or from memory • An interrupt is sent when the transfer is complete • Processor continues with other work
  • 72. 72 MULTIPROCESSOR AND MULTICORE ORGANIZATION • The three most popular approaches to providing parallelism: • How? • by replicating processors: symmetric multiprocessors (SMPs), multicore computers, clusters.
  • 73. 73 MULTIPROCESSOR AND MULTICORE ORGANIZATION • An SMP can be defined as a stand-alone computer system with the • following characteristics: • 1. There are two or more similar processors of comparable capability. • 2. These processors share the same main memory and I/O facilities and are interconnected by a bus or other internal connection scheme, such that memory access time is approximately the same for each processor. • 3. All processors share access to I/O devices, either through the same channels or through different channels that provide paths to the same device. • 4. All processors can perform the same functions (hence the term symmetric ). • 5. The system is controlled by an integrated operating system that provides interaction between processors and their programs at the job, task, file, and data element levels.
  • 75. 75 MULTIPROCESSOR AND MULTICORE ORGANIZATION • Cache Coherence Problem : Problem : • Processors generally have at least one level of cache • This use of cache introduces some new design considerations. • Local cache contains an image of a portion of main memory, if a word is altered in one cache, it could invalidate a word in another cache. Solution : • Other processors must be alerted that an update has taken place. • Addressed in hardware rather than by the OS. 6
  • 76. 76 MULTIPROCESSOR AND MULTICORE ORGANIZATION • SMP Vs Uniprocessor Organization (Potential Advantages) – Performance: some portions of the work can be done in parallel (If the work to be done by a computer can be organized in such a way) – Availability : The failure of a single processor does not halt the machine. Instead, the system can continue to function at reduced performance (all processors can perform the same functions.) – Incremental growth: A user can enhance the performance of a system by adding an additional processor. Incrementally – Scaling: Vendors can offer a range of products with different price and performance characteristics based on the number of processors configured in the system.
  • 77. 77 MULTIPROCESSOR AND MULTICORE ORGANIZATION Multicore Computers (chip multiprocessor) : – combines two or more processors (called cores) on a single piece of silicon (called a die). – Typically, each core consists of all of the components of an independent processor • Registers • ALU • pipeline hardware • control unit • L1 instruction and data caches. • Contemporary multicore chips also contain L2 cache and sometimes even L3.
  • 78. 78 MULTIPROCESSOR AND MULTICORE ORGANIZATION Multicore Computers (chip multiprocessor) :
  • 79. 79 Where you stand????? Now you are able to: • Describe the basic elements of a computer system and their interrelationship. • Explain the steps taken by a processor to execute an instruction. • Understand the concept of interrupts and how and why a processor uses interrupts. • List and describe the levels of a typical computer memory hierarchy. • Explain the basic characteristics of multiprocessor and multicore organizations. • Discuss the concept of locality and analyse the performance of a multilevel memory hierarchy. • Understand the operation of a stack and its use to support procedure call and return.
  • 80. 80 Practice Exercise 1: • Consider a hypothetical 32-bit microprocessor having 32-bit instructions composed of two fields. The first byte contains the opcode and the remainder an immediate operand or an operand address. • a. What is the maximum directly addressable memory capacity (in bytes)? • b. Discuss the impact on the system speed if the Microprocessor bus has – 1. a 32-bit local address bus and a 16-bit local data bus, or – 2. a 16-bit local address bus and a 16-bit local data bus. • c. How many bits are needed for the program counter and the instruction register?
  • 81. 81 Practice Exercise 1: (Solution) • a. 2^(32-8) = 2^24 = 16,777,216 bytes = 16 MB –(8 bits = 1 byte for the opcode). b.1. a 32-bit local address bus and a 16-bit local data bus. Instruction and data transfers would take three bus cycles each, one for the address and two for the data. Since If the address bus is 32 bits, the whole address can be transferred to memory at once and decoded there; however, since the data bus is only 16 bits, it will require 2 bus cycles (accesses to memory) to fetch the 32-bit instruction or operand. .
  • 82. 82 Practice Exercise 1: (Solution) • b.2. a 16-bit local address bus and a 16-bit local data bus. Instruction and data transfers would take four bus cycles each, two for the address and two for the data. Therefore, that will have the processor perform two transmissions in order to send to memory the whole 32-bit address; this will require more complex memory interface control to latch the two halves of the address before it performs an access to it. In addition to this two-step address issue, since the data bus is also 16 bits, the microprocessor will need 2 bus cycles to fetch the 32-bit instruction or operand. c. For the PC needs 24 bits (24-bit addresses), and for the IR needs 32 bits (32-bit addresses).
  • 83. 83 Practice Exercise : 2 • Suppose the hypothetical processor of Figure 1.3 also has two I/O instructions: – 0011 Load AC from I/O – 0111 Store AC to I/O • In these cases, the 12-bit address identifies a particular external device. Show the program execution (using format of Figure 1.4 ) for the following program: – 1. Load AC from device 5. – 2. Add contents of memory location 940. – 3. Store AC to device 6. • Assume that the next value retrieved from device 5 is 3 and that location 940 contains a value of 2