1 Lecture 3: Instruction Sets Section 1.3, Sections 2.1-2.8 Technology trends Design issues in defining an instruction set  Register and memory access.

Slides:



Advertisements
Similar presentations
Chapter 3 Instruction Set Architecture Advanced Computer Architecture COE 501.
Advertisements

CEG3420 Lec2.1 ©UCB Fall 1997 ISA Review CEG3420 Computer Design Lecture 2.
1 Instruction Set Principles and Examples 游象甫. 2 Outline Introduction Classifying instruction set architectures Memory addressing Type and size of operands.
ISA Issues; Performance Considerations. Testing / System Verilog: ECE385.
1 Lecture 3: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation.
Lecture 3: Instruction Set Principles Kai Bu
EECC551 - Shaaban #1 Lec # 2 Fall Instruction Set Architecture (ISA) “... the attributes of a [computing] system as seen by the programmer,
RISC / CISC Architecture By: Ramtin Raji Kermani Ramtin Raji Kermani Rayan Arasteh Rayan Arasteh An Introduction to Professor: Mr. Khayami Mr. Khayami.
INSTRUCTION SET ARCHITECTURES
Recap Measuring and reporting performance Quantitative principles Performance vs Cost/Performance.
PART 4: (2/2) Central Processing Unit (CPU) Basics CHAPTER 13: REDUCED INSTRUCTION SET COMPUTERS (RISC) 1.
Lecture 2: Modern Trends 1. 2 Microprocessor Performance Only 7% improvement in memory performance every year! 50% improvement in microprocessor performance.
CSE378 ISA evolution1 Evolution of ISA’s ISA’s have changed over computer “generations”. A traditional way to look at ISA complexity encompasses: –Number.
COMP381 by M. Hamdi 1 Instruction Set Architectures.
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
Recap.
1 Introduction Background: CS 3810 or equivalent, based on Hennessy and Patterson’s Computer Organization and Design Text for CS/EE 6810: Hennessy and.
RISC. Rational Behind RISC Few of the complex instructions were used –data movement – 45% –ALU ops – 25% –branching – 30% Cheaper memory VLSI technology.
Real instruction set architectures
What is an instruction set?
1 Lecture 1: CS/ECE 3810 Introduction Today’s topics:  logistics  why computer organization is important  modern trends.
1 Introduction Background: CS 3810 or equivalent, based on Hennessy and Patterson’s Computer Organization and Design Text for CS/EE 6810: Hennessy and.
1 Lecture 10: FP, Performance Metrics Today’s topics:  IEEE 754 representations  FP arithmetic  Evaluating a system Reminder: assignment 4 due in a.
Processor Organization and Architecture
Lecture 17 Today’s Lecture –Instruction formats Little versus big endian Internal storage in the CPU: stacks vs. registers Number of operands and instruction.
Chun Chiu. Overview What is RISC? Characteristics of RISC What is CISC? Why using RISC? RISC Vs. CISC RISC Pipelines Advantage of RISC / disadvantage.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CS-334: Computer.
1 Lecture 1: CS/ECE 3810 Introduction Today’s topics:  Why computer organization is important  Logistics  Modern trends.
1/9/02CSE ISA's Instruction Set Architectures Part 1 I/O systemInstr. Set Proc. Compiler Operating System Application Digital Design Circuit Design.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
RISC By Ryan Aldana. Agenda Brief Overview of RISC and CISC Features of RISC Instruction Pipeline Register Windowing and renaming Data Conflicts Branch.
Instruction Set Architecture The portion of the machine visible to the programmer Issues: Internal storage model Addressing modes Operations Operands Encoding.
Computer Architecture and Organization
Ted Pedersen – CS 3011 – Chapter 10 1 A brief history of computer architectures CISC – complex instruction set computing –Intel x86, VAX –Evolved from.
Computer Architecture EKT 422
Crosscutting Issues: The Rôle of Compilers Architects must be aware of current compiler technology Compiler Architecture.
Lecture 04: Instruction Set Principles Kai Bu
CS 211: Computer Architecture Lecture 2 Instructor: Morris Lancaster.
Chapter 10 Instruction Sets: Characteristics and Functions Felipe Navarro Luis Gomez Collin Brown.
Adapted from Computer Organization and Design, Patterson & Hennessy, UCB ECE232: Hardware Organization and Design Part 5: MIPS Instructions I
EECS 322 March 18, 2000 RISC - Reduced Instruction Set Computer Reduced Instruction Set Computer  By reducing the number of instructions that a processor.
What is a program? A sequence of steps
Computer Organization Yasser F. O. Mohammad 1. 2 Lecture 1: Introduction Today’s topics:  Why computer organization is important  Logistics  Modern.
Instruction Sets: Characteristics and Functions  Software and Hardware interface Machine Instruction Characteristics Types of Operands Types of Operations.
Computer Architecture & Operations I
Computer Architecture & Operations I
Lecture 2: Performance Today’s topics:
Lecture 3: MIPS Instruction Set
A Closer Look at Instruction Set Architectures
ELEN 468 Advanced Logic Design
A Closer Look at Instruction Set Architectures
Lecture 2: Performance Today’s topics: Technology wrap-up
A Closer Look at Instruction Set Architectures Chapter 5
Lecture 3: MIPS Instruction Set
Evolution of ISA’s ISA’s have changed over computer “generations”.
Introduction to Microprocessor Programming
Dr Hao Zheng Computer Sci. & Eng. U of South Florida
Evolution of ISA’s ISA’s have changed over computer “generations”.
Evolution of ISA’s ISA’s have changed over computer “generations”.
CPU Structure CPU must:
Lecture 4: Instruction Set Design/Pipelining
Evolution of ISA’s ISA’s have changed over computer “generations”.
Chapter 10 Instruction Sets: Characteristics and Functions
Presentation transcript:

1 Lecture 3: Instruction Sets Section 1.3, Sections Technology trends Design issues in defining an instruction set  Register and memory access  Instruction and operand types

2 Processor Technology Trends Shrinking of transistor sizes: 250nm (1997)  130nm (2002)  70nm (2008)  35nm (2014) Transistor density increases by 35% per year and die size increases by 10-20% per year… functionality improvements! Transistor speed improves linearly with size (complex equation involving voltages, resistances, capacitances)… clock speed improvements! Wire delays do not scale down at the same rate as logic delays… the Pentium 4 has pipeline stages for wire delays

3 Technology Trends DRAM density increases by 40-60% per year, latency has reduced by 33% in 10 years (the memory wall!), bandwidth improves twice as fast as latency decreases Disk density improves by 100% every year, latency improvement similar to DRAM Networks: primary focus on bandwidth; 10Mb  100Mb in 10 years; 100Mb  1Gb in 5 years

4 Power Consumption Trends Dyn power  activity x capacitance x voltage 2 x frequency Capacitance per transistor and voltage are decreasing, but number of transistors and frequency are increasing at a faster rate Leakage power is also rising and will soon match dynamic power Power consumption is already between W in high-performance processors today

5 Notable Points Complexity-effective design is important: a complex design takes longer to build, verify, and consumes more power Don’t forget about software cost while evaluating a system’s cost-performance Similarly, power-performance of a single component is misleading Can’t use CPI or IPC while comparing different ISAs Don’t rely on peak performance metrics or on results obtained with synthetic benchmarks

6 The Effect of Clock Speed Even with the same instruction set, performance does not closely track clock speed – depends on the benchmark set and processor functionalities Even within the same processor family, performance improvements are slower than clock speed improvements

7 ISAs for Different Segments Instruction sets for all three segments are very similar Desktops: equal emphasis for int and fp, little regard for code size and power Servers: little need for high floating-point performance Embedded: emphasis on low cost and power – code size is important, floating-point may be optional Desktops and embedded also care about multimedia apps -- hence, use special media extension instructions

8 RISC Vs. CISC Complex Instruction Set Computer: if you do it in hardware, it’s fast  hence, implement every functionality in hardware  rich instruction set  complex decoding  complex analysis to identify dependences Reduced Instruction Set Computer: by using a few simple instruction primitives, the hardware is simpler  easy to extract parallelism  easy to effect high clock speeds x86 is CISC and is popular for compatibility reasons – CISC instrs are converted to RISC instrs in hardware

9 Accessing Internal Storage Implicit or explicit operands? – compact or flexible? Representing C = A + B Stack Accumulator Reg (reg-mem) Reg (load-store) Push A Load A Load R1, A Load R1, A Push B Add B Add R3, R1, B Load R2, B Add Store C Store R3, C Add R3, R1, R2 Pop C Store R3, C Registers: fast, exploit locality, reduced memory traffic, easier to re-order

10 Register Architectures TypeAdvantagesDisadvantagesExamples Register- Register (0 mem, 3 ops) Simple, fixed-length, simple code- generation, easy pipelining and parallelism extraction High instr count and code size Alpha, MIPS, ARM, PowerPC, SPARC Register- Memory (1 mem, 2 ops) Can access data without doing a load, small code size One of the operands is destroyed, instr latency is variable Intel 80x86, Motorola Memory- Memory (2 mem, 2 ops) or (3, 3) Most compact code size, doesn’t waste registers Variation in instr size (hard to decode), frequent memory accesses, variable instr latency VAX

11 Addressing Modes for Memory More addressing modes  low instr counts, more complexity (CISC-like) Most common modes: immediate and displacement Displacement and immediate values: often require fewer than 8 bits, but also often require 16 bits Addressing modeExample instrMeaning RegisterAdd R4, R3Regs[R4]  Regs[R4] + Regs[R3] ImmediateAdd R4, #3Regs[R4]  Regs[R4] + 3 DisplacementAdd R4, 100(R1)Regs[R4]  Regs[R4] + Mem[100+Regs[R1]] Register indirectAdd R4, (R1)Regs[R4]  Regs[R4] + Mem[Regs[R1]] Direct/absoluteAdd R1,(1001)Regs[R1]  Regs[R1] + Mem[1001] Memory indirectAdd  Regs[R1] + Mem[Mem[Regs[R3]]]

12 Interpreting Memory Addresses Most computers are byte addressed and also allow access to half words (16 bits), words (32), and double words (64) Accesses are usually required to be aligned: a half word can not have an odd address, a double word must have an address A, where A mod 8 = 0, etc. Misalignment increases hardware complexity and worsens performance (if data cross cache line boundaries)

13 Little and Big Endian Consider a 64-bit quantity, composed of bytes 0-7 (LSB-MSB) In Little-Endian format, memory address A will contain byte 0, address A+1 will contain byte 1,….address A+7 will contain byte 7  Advantage: easier to organize bytes, half-words, words, double words, etc. into registers (Alpha, x86) In Big-Endian format, memory address A will contain byte 7, address A+1 will contain byte 6,… address A+7 will contain byte 0  Advantage: values are stored in the order they are printed out, the sign is available early (Motorola)

14 Endianness Example Consider the hexadecimal number: MSB 0x 43fa27c77156ab91 LSB Two options: 43fa27c77156ab91 address ab5671c727fa43

15 Endianness Example Consider the hexadecimal number: MSB 0x 43fa27c77156ab91 LSB Two options: 43fa27c77156ab91 address ab5671c727fa43 Little-endian Big-endian

16 Common Operations Operator TypeExamples Arithmetic/LogicalAdd, sub, and, or, mult, div Data transferLoads/stores ControlBranch, jump, call, return SystemOS call, virtual memory management Floating pointFP add, sub, mult, div DecimalDecimal add, sub, mult, decimal to character conversions StringMove, compare, search GraphicsCompression/decompression, vertex/pixel ops

17 Common Operations 80x86 instructionInteger average (% total executed) Load22% Conditional branch20% Compare16% Store12% Add8% And6% Sub5% Move register-register4% Call/Return2%

18 Title Bullet