20CS001 – COMPUTER ORGANIZATION
AND ARCHITECTURE
COA PPT1 INTRODUCTION
1
Text Book:
David A. Patterson and John L. Hennessey, “Computer Organization and Design: The
Hardware / Software Interface”, Morgan Kaufman / Elsevier, ARM Edition, 2017.
Architecture: An Overview
Functional units of a Digital Computer – Translation from a High level
language to Hardware Language – Technology – Performance – Power wall –
Uniprocessor to multiprocessor - Instructions: Operations and Operands –
Instruction Set: RISC and CISC - Representing Instructions - Logical
Operations – ARM Addressing for 32-bit Immediate and more complex
addressing modes.
COA PPT1 INTRODUCTION
2
The Computer Revolution
Progress in computer technology
Computers in automobiles
Cell phones
World Wide Web
Search Engines
Computers are pervasive.
COA PPT1 INTRODUCTION
3
Classes of Computers
Personal computers
General purpose, variety of software
Subject to cost/performance tradeoff
Server computers
Network based
High capacity, performance, reliability
Range from small servers to building sized
COA PPT1 INTRODUCTION
4
MIPS
Classes of Computers (Cont.)
Supercomputers
High-end scientific and engineering calculations
Highest capability but represent a small fraction of the overall computer
market
Embedded computers
Hidden as components of systems
Stringent power/performance/cost constraints
COA PPT1 INTRODUCTION
5
FLOPS / GFLOPS
The PostPC Era
COA PPT1 INTRODUCTION
8
Personal Mobile Device (PMD)
Battery operated
Connects to the Internet
Hundreds of dollars
Smart phones, tablets, electronic glasses
Cloud computing
Warehouse Scale Computers (WSC)
Software as a Service (SaaS)
Portion of software run on a PMD and a portion run in the Cloud
Amazon and Google
Few Parts of a Computer – An Overview
COA PPT1 INTRODUCTION
10
Assemble the computer: https://www.youtube.com/watch?v=hWB2UHCT0dw
Computer Working Principles
COA PPT1 INTRODUCTION
11
I/O system
Processor
Compiler
Operating
System
(Mac OSX)
Application (ex: browser)
Digital Design
Circuit Design
Instruction Set
Architecture
Datapath & Control
transistors
Memory
Hardware
Software Assembler
What We Will Learn
How programs are translated into the machine language
How the hardware executes them
The hardware/software interface
What determines program performance
And how it can be improved
How hardware designers improve performance
What is parallel processing
COA PPT1 INTRODUCTION
12
Eight Great Ideas
COA PPT1 INTRODUCTION
13
Design for Moore’s Law
Use abstraction to simplify design
Make the common case fast
Performance via parallelism
Performance via pipelining
Performance via prediction
Hierarchy of memories
Dependability via redundancy
1. Design for Moore’s Law
Moore’s Law. It states that integrated circuit resources double every
18–24 months.
Computer Architects must anticipate where the technology will be when the
design finishes rather than design for where it starts.
The resources available per chip can easily double or quadruple between the
start and finish of the project.
COA PPT1 INTRODUCTION
14
2. Use Abstraction to Simplify Design
A major productivity technique for hardware and software is to
use abstractions to represent the design at different levels of
representation.
lower-level details are hidden to offer a simpler model at higher
levels.
COA PPT1 INTRODUCTION
15
3. Make the Common Case Fast
Making the common case fast will tend to enhance performance
better than optimizing the rare case.
The common case is often simpler than the rare case and hence is
often easier to enhance.
COA PPT1 INTRODUCTION
16
4. Performance via Parallelism
Computer architects have offered designs that get more
performance by performing operations in parallel.
COA PPT1 INTRODUCTION
17
5. Performance via Pipelining
A particular pattern of parallelism performed in computer
architecture is named as “pipelining”.
Performance can be achieved by overlapping the execution of
successive instructions.
COA PPT1 INTRODUCTION
18
6. Performance via Prediction
In some cases it can be faster on average to guess and start
working rather than wait until you know for sure.
Assuming that the mechanism to recover from a misprediction is
not too expensive and your prediction is relatively accurate
COA PPT1 INTRODUCTION
19
7. Hierarchy of Memories
Programmers want memory to be fast, large, and cheap.
Hierarchy of Memories, with the fastest, smallest , and most
expensive memory per bit at the top of the hierarchy and the
slowest, largest, and cheapest per bit at the bottom.
COA PPT1 INTRODUCTION
20
8. Dependability via Redundancy
Computers need to be dependable.
When any physical device fail, we make systems dependable by
including redundant components that can take over when a failure
occurs and to help detect failures.
COA PPT1 INTRODUCTION
21
Eight Great Ideas
COA PPT1 INTRODUCTION
22
Design for Moore’s Law
Use abstraction to simplify design
Make the common case fast
Performance via parallelism
Performance via pipelining
Performance via prediction
Hierarchy of memories
Dependability via redundancy
Below Your Program
Application software
Written in high-level language
System software
Compiler: translates HLL code to machine code
Operating System: service code
Handling input/output
Managing memory and storage
Scheduling tasks & sharing resources
Hardware
Processor, memory, I/O controllers
COA PPT1 INTRODUCTION
23
Levels of Program Code
High-level language
Level of abstraction closer to
problem domain
Provides for productivity and
portability
Assembly language
Textual representation of instructions
Hardware representation
Binary digits (bits)
Encoded instructions and data
COA PPT1 INTRODUCTION
24
Example
A compiler enables a programmer to write this high-level
language expression:
A+B
The compiler would compile it into this assembly
language statement:
add A,B
COA PPT1 INTRODUCTION
25
Components of a Computer
COA PPT1 INTRODUCTION
26
Same components for
all kinds of computer
Desktop, server,
embedded
Input/output includes
User-interface devices
Display, keyboard, mouse
Storage devices
Hard disk, CD/DVD, flash
Network adapters
For communicating with other
computers
Components of a Computer
COA PPT1 INTRODUCTION
27
Five Components
Input writes data to memory
Output reads data from memory
Processor get instruction and
data from memory.
Control sends the signals that
determine the operations of the
datapath, memory, input, and
output. Datapath performs
operations on data.
Memory stores data
Computer Hardware in detail…
Integrated circuit Also called a chip. A device combining dozens to
millions of transistors.
Central Processor unit (CPU) Also called processor. The active part of
the computer, which contains the datapath and control and which adds
numbers, tests numbers, signals I/O devices to activate, and so on.
Datapath The component of the processor that performs arithmetic operations
Control The component of the processor that commands the datapath,
memory, and I/O devices according to the instructions of the program.
Memory The storage area in which programs are kept when they are
running and that contains the data needed by the running programs.
CMOS - Complementary Metal-Oxide Semiconductor - system
settings, date, and time
COA PPT1 INTRODUCTION
28
Computer Hardware in detail…
Volatile memory: when it loses power, it forgets. (retains data only if it is
receiving power)
Nonvolatile memory: A form of memory that retains data even in the absence of
a power source and that is used to store programs between runs.
Main memory (primary memory): Memory used to hold programs while they
are running (DRAM)
Dynamic Random Access Memory (DRAM) Memory built as an integrated
circuit; it provides random access to any location. Access times are 50
nanoseconds and cost per gigabyte in 2012 was $5 to $10.
Cache memory A small, fast memory that acts as a buffer for a slower, larger
memory.
Static Random Access Memory (SRAM) Also memory built as an
integrated circuit, but faster and less dense than DRAM.
Secondary memory: Nonvolatile memory used to store programs and data
between runs
Magnetic disk/Hard disk: form of nonvolatile secondary memory composed
of rotating platters coated with a magnetic recording material.
COA PPT1 INTRODUCTION
29
Computer Hardware in detail…
Local area network (LAN): A network designed to carry data
within a geographically confined area, typically within a single
building. (1 to 40 gigabits)
Wide area network (WAN): A network extended over hundreds of
kilometers that can span a continent. Backbone of the Internet,
which supports the web - optical fibers.
COA PPT1 INTRODUCTION
30
Transistor An on/off switch controlled by an electric signal.
Integrated circuit (IC) combined dozens to hundreds of transistors
into a single chip.
Very large-scale integrated (VLSI) circuit A device containing
hundreds of thousands to millions of transistors.
Ultra large-scale integrated (ULSI) circuit
COA PPT1 INTRODUCTION
32