Caltech CS184b Winter2001 -- DeHon 1 CS184b: Computer Architecture [Single Threaded Architecture: abstractions, quantification, and optimizations] Day3:

Slides:



Advertisements
Similar presentations
Instruction Set Design
Advertisements

Review of the MIPS Instruction Set Architecture. RISC Instruction Set Basics All operations on data apply to data in registers and typically change the.
Chapter 8: Central Processing Unit
Chapter 3 Instruction Set Architecture Advanced Computer Architecture COE 501.
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
INSTRUCTION SET ARCHITECTURES
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
Microprocessors General Features To be Examined For Each Chip Jan 24 th, 2002.
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
Computer Architecture Lecture 5 Design Decisions for a 64-bit RISC Architecture Source of almost all Slide: Text Book.
Caltech CS184b Winter DeHon 1 CS184b: Computer Architecture [Single Threaded Architecture: abstractions, quantification, and optimizations] Day6:
CIS429/529 ISA - 1 Instruction Set Architectures Classification Addressing Modes Types of Instructions Encoding Instructions MIPS64 Instruction Set.
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
RISC. Rational Behind RISC Few of the complex instructions were used –data movement – 45% –ALU ops – 25% –branching – 30% Cheaper memory VLSI technology.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 5: January 24, 2007 ALUs, Virtualization…
Caltech CS184 Spring DeHon 1 CS184b: Computer Architecture (Abstractions and Optimizations) Day 2: March 30, 2005 Instruction Set Architecture.
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
Chapter 1 An Introduction to Processor Design 부산대학교 컴퓨터공학과.
Classifying GPR Machines TypeNumber of Operands Memory Operands Examples Register- Register 30 SPARC, MIPS, etc. Register- Memory 21 Intel 80x86, Motorola.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
Computer architecture Lecture 11: Reduced Instruction Set Computers Piotr Bilski.
1 Instruction Set Architecture (ISA) Alexander Titov 10/20/2012.
Caltech CS184 Spring DeHon 1 CS184b: Computer Architecture (Abstractions and Optimizations) Day 2: April 2, 2003 Instruction Set Architecture.
Instruction Set Architecture The portion of the machine visible to the programmer Issues: Internal storage model Addressing modes Operations Operands Encoding.
Module : Algorithmic state machines. Machine language Machine language is built up from discrete statements or instructions. On the processing architecture,
Caltech CS184b Winter DeHon 1 CS184b: Computer Architecture [Single Threaded Architecture: abstractions, quantification, and optimizations] Day5:
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
Next Generation ISA Itanium / IA-64. Operating Environments IA-32 Protected Mode/Real Mode/Virtual Mode - if supported by the OS IA-64 Instruction Set.
Chapter 10 Instruction Sets: Characteristics and Functions Felipe Navarro Luis Gomez Collin Brown.
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
What is a program? A sequence of steps
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 5: January 17, 2003 What is required for Computation?
Computer Organization Instructions Language of The Computer (MIPS) 2.
COM181 Computer Hardware Lecture 6: The MIPs CPU.
1 TM 1 Embedded Systems Lab./Honam University ARM Microprocessor Programming Model.
Assembly language.
CS161 – Design and Architecture of Computer Systems
15-740/ Computer Architecture Lecture 3: Performance
ELEN 468 Advanced Logic Design
Overview Introduction General Register Organization Stack Organization
A Closer Look at Instruction Set Architectures
Processor (I).
CS/COE0447 Computer Organization & Assembly Language
Computer Architecture (CS 207 D) Instruction Set Architecture ISA
CS/COE0447 Computer Organization & Assembly Language
Instructions - Type and Format
Lecture 4: MIPS Instruction Set
CS170 Computer Organization and Architecture I
The University of Adelaide, School of Computer Science
ECE232: Hardware Organization and Design
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
Control unit extension for data hazards
Computer Instructions
Introduction to Microprocessor Programming
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
Instruction Set Principles
COMS 361 Computer Organization
Control unit extension for data hazards
Control unit extension for data hazards
CPU Structure CPU must:
Lecture 4: Instruction Set Design/Pipelining
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

Caltech CS184b Winter DeHon 1 CS184b: Computer Architecture [Single Threaded Architecture: abstractions, quantification, and optimizations] Day3: January 11, 2000 Instruction Set Architecture

Caltech CS184b Winter DeHon 2 Today Datapath review H&P view Questions about Themes Compilers

Caltech CS184b Winter DeHon 3 Terminology Primitive Instruction (pinst) –Collection of bits which tell a single bit- processing element what to do –Includes: select compute operation input sources in space –(interconnect) input sources in time –(retiming) Compute net0 add mem slot#6

Caltech CS184b Winter DeHon 4 Instructions Distinguishing feature of programmable architectures? –Instructions -- bits which tell the device how to behave Compute net0 add mem slot#6

Caltech CS184b Winter DeHon 5 Single ALU Datapath

Caltech CS184b Winter DeHon 6 Datapath [Datapath from PH (Fig. 5.1)]

Caltech CS184b Winter DeHon 7 Instructions Primitive operations for constructing (describing) a computation Need to do? –Interconnect (space and time) –Compute (intersect bits) –Control (select operations to run)

Caltech CS184b Winter DeHon 8 Detail Datapath [Datapath from PH (Fig. 5.13)]

Caltech CS184b Winter DeHon 9 uCoded / Decoded uCoded –Bits directly control datapath –Horizontal vs. Vertical –Not abstract from implementation Decoded –more compressed –only support most common operations –abstract from implementation –time/area to decode to datapath control signals

Caltech CS184b Winter DeHon 10 H&P View ISA design done? Not many opportunities to completely redefine Many things mostly settled –at least until big technology perturbations arrive Implementation (uArch) is where most of the action is Andre: maybe we’ve found a nice local minima...

Caltech CS184b Winter DeHon 11 H&P Issues Registers/stack/accumulator –# operands, memory ops in instruction Addressing Modes Operations Control flow Primitive Data types Encoding

Caltech CS184b Winter DeHon 12 Register/stack/accumulator Driven largely by cost model –ports into memory –latency of register versus memory –instruction encoding (bits to specify)

Caltech CS184b Winter DeHon 13 Register/stack/accumulator Today: Load-Store, General Register arch. Registers more freedom of addressing than stack Load into register, then operate –not much longer than memory address –usually use more than once (net reduction)

Caltech CS184b Winter DeHon 14 Addressing Modes Minimal: –immediate –register –register indirect Others: –displacement –indirect (double derference) –auto increment/decrement ( p[x++]=y) –scaled

Caltech CS184b Winter DeHon 15 Addressing Modes More / More capable –less instructions –potentially longer instructions bits and cycle time –many operations (complicate atomicity of instructions) Add (R2)+,(R3)+,(R4)+

Caltech CS184b Winter DeHon 16 Operations ALU/Arithmetic –add, sub, or, and, xor –compare Interconnect –move registers –load, store Control –jump –conditional branch –procedure call/return

Caltech CS184b Winter DeHon 17 Operations: ALU Small set of SIMD operations Covers very small fraction of the space of all w  w  w

Caltech CS184b Winter DeHon 18 Operations: Branching Models: –ops set condition codes, branch on condition codes –compare result to register, branch on register zero or one –comparison part of branch

Caltech CS184b Winter DeHon 19 Operations: Procedure call/return ? Save registers? Update PC –call target –return address Change stack and frame pointers –store old –install new

Caltech CS184b Winter DeHon 20 Operations: Procedure call/return Question: How much should instruction do? Lesson: High variance in work needs to be done –which registers need to save –best way to transfer arguments to procedures –better to expose primitives to the compiler and let it specialize the set of operations to the particular call

Caltech CS184b Winter DeHon 21 Data Types Powers of two from bytes to double worlds? –8, 16, 32, 64 –(very implementation driven decision) Floating Point types Are pointers integers? Alignment requirements

Caltech CS184b Winter DeHon 22 Encoding Variable vs. Fixed How complex is the decoding? –Fields in the same place…or have to be routed/muxed? –Sequential requirements in decode?

Caltech CS184b Winter DeHon 23 Detail Datapath [Datapath from PH (Fig. 5.13)]

Caltech CS184b Winter DeHon 24 Enoding: RISC/Modern [DLX Instruction Format from HP (Fig. 2.21)]

Caltech CS184b Winter DeHon 25 Operation Complexity Contradiction? –Providing primitives –including floating point ops

Caltech CS184b Winter DeHon 26 Local Minima? Self-Fulfilling? –How would we quantitatively validate need for a new operation? –[cue: bridge story] –This is what we use as primitives –Funny, we don’t find a need for other primitives…

Caltech CS184b Winter DeHon 27 Themes Common case fast Provide primitives (building blocks) Let compiler specialize to particular operation Make decode/operation simple so implementation is fast

Caltech CS184b Winter DeHon 28 Compilers 1960  1990 shift –increasing capability and sophistication of compilers –e.g. inter-procedural optimization register assignment (register usage) strength reduction dataflow analysis and instruction reordering (some progress) alias analysis

Caltech CS184b Winter DeHon 29 Compilers Gap between programmer and Architecture Increasingly bridged by compiler Less need to make assembly language human programmable More opportunity for compiler to specialize, partial evaluate –(do stuff at compile time to reduce runtime) RISC: “Relegate Interesting Stuff to Compiler”

Caltech CS184b Winter DeHon 30 Implementation Significance André Agree: Implementation issues are significant in the design of ISA Many of these issues are more interesting when we discuss in light of implementation issues

Caltech CS184b Winter DeHon 31 ISA Driven by Implementation costs Compiler technology Application structure Can’t do good architecture in isolation from any of these issues.

Caltech CS184b Winter DeHon 32 Upcoming Next Time: –discuss RISC CISC Following that –pipelining ISA –(day ahead of original schedule since got today back)

Caltech CS184b Winter DeHon 33 Big Ideas Common Case Primitives Highly specialized instructions brittle Design pulls –simplify processor implementation –simplify coding Orthogonallity (limit special cases) Compiler: fill in gap between user and hardware architecture