0% found this document useful (0 votes)
2 views8 pages

Advanced Computer Systems Techniques

This document covers advanced topics in computer systems, including CPU pipelines, caches, compiler optimizations, multi-core and quantum computing. It outlines the learning outcomes for students, detailing how these technologies improve performance and resource sharing. The document also discusses the future of computer technology and poses questions regarding the potential of quantum computing to replace classical systems.

Uploaded by

slimemalawi
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views8 pages

Advanced Computer Systems Techniques

This document covers advanced topics in computer systems, including CPU pipelines, caches, compiler optimizations, multi-core and quantum computing. It outlines the learning outcomes for students, detailing how these technologies improve performance and resource sharing. The document also discusses the future of computer technology and poses questions regarding the potential of quantum computing to replace classical systems.

Uploaded by

slimemalawi
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Topic X – Topic Title Module Title

Module Title: Computer Systems


Topic: 12
Topic Title: Advanced Topics

© NCC Education Limited

Advanced Topics Topic 12 - 12.2

Scope and Coverage


This topic will cover
• CPU pipelines
• CPU caches
• Compiler optimisations
• Distributed computer systems
• Multi-core computer systems
• Quantum computers

Advanced Topics Topic 12 - 12.3

Learning Outcomes
By the end of this topic students will be able to:
• Describe how CPU pipeline can improve performance
• Describe how CPU cache functions
• Explain the role of compiler in improving CPU
performance
• Describe multi-core architecture and its benefits
• Explain benefits of networked resource sharing
• Assess the relative benefits of quantum computing

V0.0 Visuals Handout – Page 1


Topic X – Topic Title Module Title

Advanced Topics Topic 12 - 12.4

Computer systems - roadmap


Computer systems unit cannot be complete
without looking at the technology that
Advanced topics enhances and complements the hardware
Computer networks components looked at earlier in the unit.
Embedded systems
Digital logic
The advanced technology is required to
Computer systems software enhance the performance of computer
Computer programs systems that reached their limits in terms of
Numbers and logic increased CPU and memory speeds.
Operating systems 2
New technology covered here includes
Computer systems hardware
Computer systems
CPU caches, pipelines, multi-core CPUs,
compiler optimisations and quantum
computers.

Advanced Topics Topic 12 - 12.5

Cache memory
Memory bottleneck

CPU Memory
(RAM)
system bus

CPU Cache Memory


L1/L2/L3 system (RAM)
CPU bus

Advanced Topics Topic 12 - 12.6

Cache memory
Mapping primary memory to smaller cache memory
Memory
Cache
(RAM)
e.g. 2 KB
e.g. 64 KB
mapping (32 x 64 Bytes)
(1024 x 64
Bytes)
Cache mapping:
1. Direct mapping (uses fixed cache locations)
2. Fully associative mapping (uses any cache location)
3. Set-associative mapping (uses any location within sets)

V0.0 Visuals Handout – Page 2


Topic X – Topic Title Module Title

Advanced Topics Topic 12 - 12.7

CPU instruction stages


Breaking down the instructions into stages
Instructions are divided into
1 stage execute several distinct stages to
help speed up processing.
2 stages fetch execute

3 stages decode execute

5 stages decode inst. fetch opnds execute inst. write result

Advanced Topics Topic 12 - 12.8

CPU pipeline
No CPU instruction pipelining
I1: I2: I3:
time: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
FI DI FO EI WR FI DI FO EI WR FI DI FO EI WR

FI: Fetch Instruction, DI: Decode Instruction,


FO: Fetch Operand(s), EI: Execute Instruction, WR: Write Result

When instruction pipelining of CPU is not used then


the stages of the three instructions, I1, I2 and I3 are
executed in series, i.e. one after the other. In the
above case 3 instructions are executed in 15 time
units.

Advanced Topics Topic 12 - 12.9

CPU pipeline
CPU Instruction pipelining
time 1 2 3 4 5 6 7
I1: FI DI FO EI WR

I2: FI DI FO EI WR

I3: FI DI FO EI WR
The stages of the three instructions, I1, I2 and I3 are executed
in parallel.
For example, FO stage of I1, DI stage of I2 and FI stage of I3
are executed at the same at time 3.
In the above case 3 instructions are executed in 7 time units.

V0.0 Visuals Handout – Page 3


Topic X – Topic Title Module Title

Advanced Topics Topic 12 - 12.10

Multi-core CPU
• Multi-core CPU
has several CPUs
Superscalar or SMT

Superscalar or SMT

Superscalar or SMT
that run in parallel.CPU1

CPU2

CPUn
Each is able to run
different programs
at the same time.
• Each CPU will
have an instruction
L1-DC

L1-DC

L1-DC
L1-IC

L1-IC

L1-IC
and data caches.
• They share a L2 Cache (e.g. 256 KB)
larger cache and
the primary L1-IC: instruction cache, L1-DC: data cache
memory.

Advanced Topics Topic 12 - 12.11

Compiler optimization
Removing redundant code
Code before optimisation:
Consider the following simple MOV #1, R03
program p3. The variables MOV R03, R01
are a and b. MOV R01, R03
SUB #3, R03
program p3 MOV R03, R04
a=1 MOV R04, R02
b=a-3 Code after optimisation:
end MOV #1, R01
MOV R01, R03
R01 = a, R02 = b, SUB #3, R03
R03, R04 = temporary MOV R03, R02

Advanced Topics Topic 12 - 12.12

Compiler optimization
Constant folding
Consider the following simple Code without optimisation:
program p2. ‘a’ is a variable. MOV #2, R02
ADD #8, R02
program p2 SUB #4, R02
a=2+8-4 MOV R02, R01
end
R01 = a, R02 = temporary

Code with optimisation:


MOV #6, R01

V0.0 Visuals Handout – Page 4


Topic X – Topic Title Module Title

Advanced Topics Topic 12 - 12.13

Compiler optimization
Out of sequence code (removes dependency)
Consider the following simple Code without optimisation:
program p1. The three MOV #2, R01 ;a = 2
dependency
variables are a, b and c. MOV R01, R02 ;c = a
MOV #1, R03 ;b = 1
program p1 out of sequence instruction
R01 = a, R02 = c, R03 = b
a=2
c=a Code with optimisation:
b=1 MOV #2, R01 ;a = 2
end MOV #1, R03 ;b = 1
MOV R01, R02 ;c = a

Advanced Topics Topic 12 - 12.14

Distributed computer systems


Motivation
• Resource Sharing (both hardware and software)
• Increased Computational Power
• Remote process management
• Increased Reliability (or Fault Tolerance)
• Scalability (or Incremental Growth)
• Multiple platform interoperability

Advanced Topics Topic 12 - 12.15

Distributed computer systems


S1

S2

Sn

Unified view of distributed Distributed applications are


systems S1 to Sn, sharing shared through the
resources. distributed systems support.

V0.0 Visuals Handout – Page 5


Topic X – Topic Title Module Title

Advanced Topics Topic 12 - 12.16

Quantum computing
• Relies on principles to quantum mechanics, a branch of modern
physics. That is the weird world of the very tiny particles that
make up everything we see in the universe.
• Two principles are important:
o The superposition of quantum states
A particle can be in two different states at the same
time, e.g. charge or direction of spin. It can flip from one
state to the other instantly. The states are inherently
unstable and are difficult to control.
o Entanglement
If a particle changes its state its effect on others is
instantaneous no mater how far away, they are.

Advanced Topics Topic 12 - 12.17

Quantum Computers
• The principle of superposition and the states flipping
from one to other suggests this can be the basis of a
‘NOT gate’ that functions instantaneously without a delay.
• This requires a particle such as an electron to be isolated
and states are held long enough to be useful which are
proving to be difficult.
• The principle of entanglement suggests that information
can be transferred between the ‘gates’ instantaneously
eliminating delays unlike the delays along the VLSI wires
no matter how short they are.

Advanced Topics Topic 12 - 12.18

Quantum computers
• Quantum computers are currently research projects. They
have the potential of vastly surpassing the speeds of classical
computers, i.e. von Neuman type, in solving certain problems,
e.g. cryptographic algorithms.
• Some quantum computers have been developed as proofs of
concept but in a very limited scale, solving only some select
problems.
• Quantum computers are not currently able to outperform
classical computers and are unlikely to replace classical
computing in the near future.

V0.0 Visuals Handout – Page 6


Topic X – Topic Title Module Title

Advanced Topics Topic 12 - 12.19

Future of computer technology 


• Not long ago the race was on for accelerating the
performances of computer CPU chips by simply increasing
clock rates at the expense of increased heat and reducing the
geometry of the logic circuits to levels approaching the size of
an atom!
• When the inevitable limits are reached, the architects turned to
the performance enhancing techniques, including multi-core
systems and the ones we looked at in this topic.
• So, what is next? Quantum computing is one possibility but
what if it does not turn out to be a success? The challenge is
on !

Advanced Topics Topic 12 - 12.20

Discussion
In this topic we briefly touched on some advanced
technologies that are developed to improve computing
performance over the years as chip densities increased.
You are now asked to investigate what led to the need for
developing this technology and to investigate the answers to
the following questions:
“Have classical computers reached their sell-by-date and how
much further can they be advanced?”
“Is quantum computer likely to be commercial reality and
manage to replace the classical computer in the future?”

Advanced Topics Topic 12 - 12.21

Summary of the unit


This unit looks at computer systems in a general way and tries to
encompass a wide area of related technology such as:
• Hardware, operating system, binary numbers, the
structure of computer programs including CPU
instructions, system software, digital logic design,
microcontrollers as embedded systems, computer
networks and advanced architectures.
• It discussed connections between them whenever
possible and tries to stay in the confines of a system view.
• This provides a firm foundation for more advanced and
detailed study of Computer Science.

V0.0 Visuals Handout – Page 7


Topic X – Topic Title Module Title

Advanced Topics Topic 12 - 12.22

References
• Abd-El-Barr, M., El-Rewini, H. (2005) Fundamentals of
Computer Organization and Architecture. 1st edition. John
Wiley & Sons Inc.
• Baer, J. (2010) Microprocessor Architecture – From simple
pipelines to chip multiprocessors. 1st edition. Cambridge
University Press.
• Harris, S.L. and Harris, D.M. (2016) Digital Design and
Computer Architecture – ARM edition. Morgan Kaufmann.

• [Link]
• [Link]
computing-300551/

Topic 12 – Advanced Topics

Any Questions?

V0.0 Visuals Handout – Page 8

You might also like