Computer Architecture Lecture 5 Design Decisions for a 64-bit RISC Architecture Source of almost all Slide: Text Book.

Slides:



Advertisements
Similar presentations
Review of the MIPS Instruction Set Architecture. RISC Instruction Set Basics All operations on data apply to data in registers and typically change the.
Advertisements

CEG3420 Lec2.1 ©UCB Fall 1997 ISA Review CEG3420 Computer Design Lecture 2.
1 Lecture 3: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation.
EECC551 - Shaaban #1 Lec # 2 Fall Instruction Set Architecture (ISA) “... the attributes of a [computing] system as seen by the programmer,
1 ECE462/562 ISA and Datapath Review Ali Akoglu. 2 Instruction Set Architecture A very important abstraction –interface between hardware and low-level.
ELEN 468 Advanced Logic Design
Datorteknik DatapathControl bild 1 Designing a Single Cycle Datapath & Datapath Control.
The Processor: Datapath & Control
COMP381 by M. Hamdi 1 Instruction Set Architectures.
MIPS Architecture CPSC 321 Computer Architecture Andreas Klappenecker.
CIS429/529 ISA - 1 Instruction Set Architectures Classification Addressing Modes Types of Instructions Encoding Instructions MIPS64 Instruction Set.
Classifying Instruction Set Architectures
Preparation for Midterm Binary Data Storage (integer, char, float pt) and Operations, Logic, Flip Flops, Switch Debouncing, Timing, Synchronous / Asynchronous.
The Processor 2 Andreas Klappenecker CPSC321 Computer Architecture.
Classifying Instruction Set Architectures
CS 300 – Lecture 6 Intro to Computer Architecture / Assembly Language Instructions.
Caltech CS184b Winter DeHon 1 CS184b: Computer Architecture [Single Threaded Architecture: abstractions, quantification, and optimizations] Day3:
1 Copyright © 2011, Elsevier Inc. All rights Reserved. Appendix A Authors: John Hennessy & David Patterson.
CET 520/ Gannod1 The MIPS Architecture Section 2.12.
1 Appendix B Classifying Instruction Set Architecture Memory addressing mode Operations in the instruction set Control flow instructions Instruction format.
Memory and Addressing How and Where Information is Stored.
Classifying GPR Machines TypeNumber of Operands Memory Operands Examples Register- Register 30 SPARC, MIPS, etc. Register- Memory 21 Intel 80x86, Motorola.
Computer architecture Lecture 11: Reduced Instruction Set Computers Piotr Bilski.
1 Instruction Set Architecture (ISA) Alexander Titov 10/20/2012.
Instruction Set Architecture The portion of the machine visible to the programmer Issues: Internal storage model Addressing modes Operations Operands Encoding.
Computer Organization & Programming Chapter 6 Single Datapath CPU Architecture.
Computer Architecture and Design – ECEN 350 Part 6 [Some slides adapted from A. Sprintson, M. Irwin, D. Paterson and others]
Lecture 04: Instruction Set Principles Kai Bu
©These slides may be freely used, distributed, and incorporated into other works. 1 Addressing Modes For speed… we want fixed-size instructions, and they.
CS 211: Computer Architecture Lecture 2 Instructor: Morris Lancaster.
Computer Organization Rabie A. Ramadan Lecture 3.
Lecture 6: Instruction Set Architecture Computer Engineering 585 Fall 2001.
Electrical and Computer Engineering University of Cyprus
COMP541 Datapaths I Montek Singh Mar 28, 2012.
/ Computer Architecture and Design
ELEN 468 Advanced Logic Design
\course\cpeg323-08F\Topic6b-323
CS/COE0447 Computer Organization & Assembly Language
Assembly Programming using MIPS R3000 CPU
CSCI206 - Computer Organization & Programming
CS/COE0447 Computer Organization & Assembly Language
CSCI206 - Computer Organization & Programming
Appendix A Classifying Instruction Set Architecture
Computer Programming Machine and Assembly.
Datapath & Control MIPS
The University of Adelaide, School of Computer Science
Topic 5: Processor Architecture Implementation Methodology
Rocky K. C. Chang 6 November 2017
Instruction encoding The ISA defines Format = Encoding
The Processor Lecture 3.2: Building a Datapath with Control
Topic 5: Processor Architecture
Classification of instructions
Systems Architecture I
COMS 361 Computer Organization
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Computer Instructions
Processor: Multi-Cycle Datapath & Control
COMP541 Datapaths I Montek Singh Mar 18, 2010.
COMS 361 Computer Organization
Instruction Set Principles
Assembly Programming using MIPS R3000 CPU
CPU Structure CPU must:
Lecture 4: Instruction Set Design/Pipelining
COMS 361 Computer Organization
7/6/
MIPS Processor.
9/13/
Processor: Datapath and Control
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

Computer Architecture Lecture 5 Design Decisions for a 64-bit RISC Architecture Source of almost all Slide: Text Book

Addressing Modes

Summery of use of memory addressing mode Displacement 10%20%30%40%50% Frequency of the addressing mode 0% Tex Spice gcc Tex Spice gcc Tex Spice gcc Tex Spice gcc 1% 6% 1% 16% 6% 24% 3% 11% 17% 43% 39% 32% 55% 40% Memory indirect Scaled Register Indirect Immediate Summary of Memory Addressing Mode 75% to 90 %

Size of Displacement Number of Bits needed for Displacement Percentage of Displacement 0% 5% 10% 15% 20% 25% 30% 35% 40% 45% bit Displacement field will capture 75% to 99%

Use of Immediate Operand

Immediate Addressing Mode- Displacement distribution Number of Bits needed for Immediate Operand Percentage of Immediate 0% 5% 10% 15% 20% 25% 30% 35% 40% 45% bit Displacement field will capture 50% to 80%

Distribution by benchmark size Double Word (64 bits) Word (32 bits) 10%20%30%40%50% 0%Half word (16bits) Byte (8bits) 70% 59% 29% 26% 5% 1% 10% Distribution of Data Accesses by Size for Benchmark Program 60%70%80% Floating point average Integer average

Instruction Types

Instruction Type Frequency RANK80x86 on SPEC95Percentage 1Load22 2Conditional Branch20 3Compare16 4Store12 5Add8 6And6 7Sub5 8Move R to R4 9Call, Return2 TOTAL = 96%

Instructions for Control Flow The Measurements of branch and jump behavior are fairly independent of other measurements and applications. Four types of control flow change: Conditional branches Jumps Procedure calls Procedure returns

Three classes of control flow instructions Conditional Branch 100% Call/return Jump 25%50% 8% 19% 10% 6% 82% 75% Control Flow instructions into three classes 75% Floating point average Integer average

Types of compares in conditional branching Less than Greater than or equal 10%50% 0% 44% 33% 34% 35% Frequency of Comparison Types in Branches Floating point average Integer average 20%30%40% Less than or equal Equal Not Equal5% 2% 16% 18% 0% 11% Greater than

Branch distances in terms of number of instructions

Conditional branch options Conditional Code (CC) register E.g. 80x86,ARM etc. Tests special bit set by ALU operations Advantage Sometimes condition is set free Disadvantage CC is extra state. Condition codes constrain the ordering of instructions since they pass information from one instruction to a branch

Conditional branch options Conditional Register E.g. Alpha, MIPS Tests arbitrary register with the result of a comparison Advantage Simple Disadvantage Uses up register

Conditional branch options Compare and branch E.g. PA-RISC, VAX Compare is part of the branch. Often compare is limited to subset Advantage One instruction rather than two for a branch Disadvantage May be too much work per instruction for pipelined execution

Summary of Analysis FeatureSet Included Use Frequency Comments Data Size64-bitUpto 70% Addressing ModeRegister Indirect, Displacement, Imm 75% to 95% Size of Displacement 16-bit75% to 99% Size of Imm16-bit50% to 80% Size of Branch Offset 16-bitabout 99%75% branches are in forward direction Types of ALU OpsLoad/Store, Cond. Branch etc 96%Refer earlier slide Branch CondtionEq, Not Eq, <, <=

Encoding an instruction set

Basic Blocks of a Processor Memory Model Memory Address N-bit Data In M- Bits Data Out M-bits Read/Write Basic Memory Operations Read/Load : Regs[Rx]  Mem[Address] Write/Store: Mem[Address]  Regs[Rx] Effective Address: Imm: Address =Imm Displacement: Address = Imm + Regs[Ra] Indirect: Address = Regs[Ra]

Datapath or ALU Model A Operand B Operand AluOut ALU Basic ALU Operations 1. AluOut = A op B 2. AluOut = A op Imm 3. Aluout = Shifted A by Shamt (Shift Amount), B is Ignored A, B and AluOut are same size (32 or 64-bit) What is the size of shamt? What is the size of AluOp? AluOp Shamt Some Conditions Or IMM

Register File A Field ?- bit A data Out M-bits Register Write B Field ?- bit Write Field ?-bit B Data Out M-bits Basic Register File Operations 1. A = Regs[A field] 2. B = Regs[B field] 3. Regs[Write field] = Write Data if Register Write =1 Write Data