Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
26 views17 pages

1 Arch Intro

The document provides an introduction to computer architecture, covering topics such as assembly programming, pipelining, memory hierarchy, parallelism, abstraction, Moore's law, multiprocessors, and the layers below programs including hardware, system software and application software.
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)
26 views17 pages

1 Arch Intro

The document provides an introduction to computer architecture, covering topics such as assembly programming, pipelining, memory hierarchy, parallelism, abstraction, Moore's law, multiprocessors, and the layers below programs including hardware, system software and application software.
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
You are on page 1/ 17

Computer Architecture

Introduction

Lynolan Moodley
CSC2002S [email protected]
1
Admin
• Assessment
• Assignment
• Part of Class Test 2
• Exam
• Textbook
• Computer Organization
and Design 5ed, David
Patterson & John
Hennessy

2
Module Content

• Assembly programming
• The processor
• Pipelining
• Memory

3
Computers Are Everywhere

4
Types of Computers
Personal computers – a computer designed for use by an individual, usually
incorporating a graphics display, a keyboard, and a mouse.
Personal mobile devices – small wireless devices to connect to the Internet;
they rely on batteries for power, and software is installed by downloading
apps. Conventional examples are smart phones and tablets.
Server – a computer used for running larger programs for multiple users,
often simultaneously, and typically accessed only via a network.
Cloud computing – refers to large collections of servers that provide
services over the Internet; some providers rent dynamically varying
numbers of servers as a utility.
Supercomputer – a class of computers with the highest performance and
cost; they are configured as servers and typically cost tens to hundreds of
millions of dollars
Embedded computer – a computer inside another device used for running
one predetermined application or collection of software.

5
Chips!

Chip manufacturing process


6
Key Concepts
• Moore’s Law
• Pipelining
• Hierarchy of Memories
• Parallelism – perform operations in parallel
• Abstraction – represent the design at different levels of
representation; lower-level details are hidden to offer a simpler
model at higher levels
• Making the common case fast - Making the common case fast
will tend to enhance performance better than optimising the
rare case.
• Prediction - it can be faster on average to guess and start
working, rather than waiting for confirmation, assuming
recovery is not expensive
• Redundancy - include redundant components that can take
over when a failure occurs AND help detect failures to improve
dependability 7
Abstraction

8
Abstraction

9
Moore’s Law
“… the number of transistors that can be inexpensively placed on an integrated circuit is
increasing exponentially, doubling approximately every years… ”
– Gordon Moore, 1965

• Observation of
exponential growth
in the number of
transistors in a
processor
• Software
performance
increased with the
number of
transistors until the
early 2000s

10
The Power Wall
Dennard scaling – an observation that as transistors get smaller and circuits become faster, a
processor’s power consumption stays constant (power density remains the same). A recent
breakdown of Dennard scaling: more transistors require more power and generate more
heat.

• Energy is required to power processors AND cool them


11
The Power Wall

12
Multiprocessors
• Include more than one
processor on a chip
• Requires parallel
programming
(multithreading)
• Work required from the
programmer
• Load balancing
• Synchronisation
• Consider data
placement in memory

13
Below the Program
• Application software
• Written in high level language
• System software
• Compiler – translates high level
languages to machine code
• Operating system
• Handling IO
• Managing memory
• Scheduling tasks and sharing
resources
• Hardware
• Processor, memory, IO
controllers
14
Below the Program

15
Below the Program

16
Below the Program

17

You might also like