Slides

advertisement
CS 219
Computer Organization
DR. SIMING LIU
SPRING 2016
COMPUTER SCIENCE AND ENGINEERING
UNIVERSITY OF NEVADA, RENO
Session 1 – Course Contents
 Overview
 Overview of computer technologies
 Instruction set architecture (ISA)
 ISA design considerations
 RISC vs CISC
 Performance evaluation
 Assembly and machine language
 Instructions, Register
 Flow of control, Addressing mode
 Computer Arithmetic
 Number presentation
 Addition, subtraction, multiplication, and division
 Processor
 Arithmetic logic unit (ALU)
 Floating-point numbers and their arithmetic implementation
 Pipelining, Hazards, Pipelined processor design
 Memory
 Hierarchy, principles, structure, and performance of caches
 Storage, I/O, and Parallel
Introduction
 This course is all about how computers work
 But what do we mean by a computer?
 Different types: desktop, servers, embedded devices
 Different uses: automobile, graphics, finance
 Different manufacturers: Intel, AMD, Apple, IBM, HP, Dell,…
 Different underlying technologies and different costs
 Best way to learn:
 Focus on a specific instance and learn how it works
 While learning general principles and historical perspectives
Why learn computer organization?
 You want to call yourself a “computer engineer”
 You want to build software people use (performance)
 You need to make a purchasing decision
 Both Hardware and Software affect performance


Algorithm determines number of source level statements
Language/Compiler/Architecture determine machine instructions


Processor/Memory determine how fast instructions are executed


Chapter 2, 3
Chapter 4, 5
I/O and multiple cores determine overall system performance

Chapter 6, 7
Organization of a Computer
The BIG Picture
 Five classic components
 Control
 Datapath
 Memory
 Input
 Output
What is a computer?
 Components:




Input (mouse, keyboard)
Output (monitor, printer)
Memory (DRAM, SRAM, Disk Drives, DVD)
Processor
 Our primary focus: the processor (datapath and control)



Implemented using billions of transistors
Impossible to understand by looking at each transistor
We need … Abstraction!
An abstraction omits unneeded detail,
helps us cope with complexity.
How do computers work?
 Need to understand abstractions such as:










Application software
System software
Assembly language
Machine language
Architectural issues
Arithmetic, logic
Boolean logic, 1 and 0
Transistors used to build logic gate
Semiconductors/Silicon used to build transistors
Properties of atoms and electrons
 So much to learn!
Computer Architecture
Application
Operation System
Compiler
Assembler
Instruction Set Architecture
Processor
Memory
Logic Design
Hardware
Implementation
Circuit Design
Layout
I/O System
Computer
Architecture
Instruction Set: a Critical Interface
software
instruction set
hardware
Instruction Set Architecture (ISA)
 ISA – the abstract interface between the hardware
and the lowest level software that encompasses all
the information necessary to write a machine
language program, including instructions, registers,
memory access, I/O.

Enables implementations of varying cost and performance to
run identical software
Instruction Set Architecture
 “... the attributes of a computing system as seen by the programmer,
i.e., the conceptual structure and functional behavior, as distinct from
the organization of the data flows and controls, the logic design, and the
physical implementation.”
– Amdahl, Blaauw, and Brooks, 1964
SOFTWARE
 ISA includes
 Organization of storage
 Data types
 Encoding and representing instructions
 Instruction Set
 Modes of addressing data items
 Program visible exception handling
Instruction Set Architecture
 A very important abstraction




Interface between hardware and low-level software
Standardizes instructions, machine language
Advantage: different implementations of the same architecture
Disadvantage: sometimes prevents using new innovations
 Common instruction set architectures:

x86, PowerPC, MIPS, SPARC, ARM and others
Case Study: MIPS ISA
 Instruction Categories






Load/Store
Arithmetic
Jump and Branch
Floating Point
Memory Management
Special
3 Instruction types, 32 bits wide
OP
rs
rt
rd
sa
funct
OP
rs
rt
immediate
OP
Jump target
R0 - R31
PC
Hi
Lo
Download