Review of instruction set architectures

Similar documents
Instruction Set Principles. (Appendix B)

CSE 141 Computer Architecture Spring Lecture 3 Instruction Set Architecute. Course Schedule. Announcements

Instruction Set Architecture (ISA)

CS3350B Computer Architecture MIPS Instruction Representation

Computer Architecture. MIPS Instruction Set Architecture

Computer Systems Laboratory Sungkyunkwan University

MIPS Memory Access Instructions

Instruction Set Architectures

Reduced Instruction Set Computer (RISC)

Reduced Instruction Set Computer (RISC)

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA

101 Assembly. ENGR 3410 Computer Architecture Mark L. Chang Fall 2009

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA MIPS ISA. In a CPU. (vonneumann) Processor Organization

Instruction Set Architecture. "Speaking with the computer"

Chapter 2. Instructions: Language of the Computer. HW#1: 1.3 all, 1.4 all, 1.6.1, , , , , and Due date: one week.

Instructions: Language of the Computer

CENG3420 Lecture 03 Review

Computer Architecture

Lecture Topics. Announcements. Today: The MIPS ISA (P&H ) Next: continued. Milestone #1 (due 1/26) Milestone #2 (due 2/2)

Chapter 2A Instructions: Language of the Computer

Systems Architecture I

Lecture 4: Instruction Set Architecture

ISA and RISCV. CASS 2018 Lavanya Ramapantulu

Computer Architecture. The Language of the Machine

ECE 486/586. Computer Architecture. Lecture # 8

The MIPS Instruction Set Architecture

Lecture 4: MIPS Instruction Set

ECE232: Hardware Organization and Design. Computer Organization - Previously covered

Instructions: MIPS arithmetic. MIPS arithmetic. Chapter 3 : MIPS Downloaded from:

CS222: MIPS Instruction Set

Lecture Topics. Branch Condition Options. Branch Conditions ECE 486/586. Computer Architecture. Lecture # 8. Instruction Set Principles.

Chapter 3 MIPS Assembly Language. Ó1998 Morgan Kaufmann Publishers 1

Lecture 3: The Instruction Set Architecture (cont.)

Lecture 3: The Instruction Set Architecture (cont.)

Course Administration

Forecast. Instructions (354 Review) Basics. Basics. Instruction set architecture (ISA) is its vocabulary. Instructions are the words of a computer

MIPS ISA. 1. Data and Address Size 8-, 16-, 32-, 64-bit 2. Which instructions does the processor support

1 5. Addressing Modes COMP2611 Fall 2015 Instruction: Language of the Computer

Stored Program Concept. Instructions: Characteristics of Instruction Set. Architecture Specification. Example of multiple operands

Computer Organization MIPS ISA

CHAPTER 2: INSTRUCTION SET PRINCIPLES. Prepared by Mdm Rohaya binti Abu Hassan

Processor. Han Wang CS3410, Spring 2012 Computer Science Cornell University. See P&H Chapter , 4.1 4

INSTRUCTION SET COMPARISONS

Chapter 2. lw $s1,100($s2) $s1 = Memory[$s2+100] sw $s1,100($s2) Memory[$s2+100] = $s1

ECE 486/586. Computer Architecture. Lecture # 7

CS3350B Computer Architecture MIPS Introduction

COE608: Computer Organization and Architecture

Anne Bracy CS 3410 Computer Science Cornell University. See P&H Chapter: , , Appendix B

Overview. Introduction to the MIPS ISA. MIPS ISA Overview. Overview (2)

Computer Architecture. Chapter 2-2. Instructions: Language of the Computer

CENG3420 L03: Instruction Set Architecture

MIPS ISA and MIPS Assembly. CS301 Prof. Szajda

MIPS PROJECT INSTRUCTION SET and FORMAT

2.7 Supporting Procedures in hardware. Why procedures or functions? Procedure calls

MIPS Instruction Set Architecture (1)

ECE 2035 Programming HW/SW Systems Fall problems, 7 pages Exam Two 23 October 2013

EEC 581 Computer Architecture Lecture 1 Review MIPS

Procedure Calling. Procedure Calling. Register Usage. 25 September CSE2021 Computer Organization

Mark Redekopp, All rights reserved. EE 357 Unit 11 MIPS ISA

RISC, CISC, and ISA Variations

CS3350B Computer Architecture

Instructions: Language of the Computer

CS222: Dr. A. Sahu. Indian Institute of Technology Guwahati

55:132/22C:160, HPCA Spring 2011

M2 Instruction Set Architecture

CSE 533: Advanced Computer Architectures Instructor: Gürhan Küçük. Instructions. Instructions cont d. Forecast. Basics. Basics

Today s topics. MIPS operations and operands. MIPS arithmetic. CS/COE1541: Introduction to Computer Architecture. A Review of MIPS ISA.

Instruction Set Architecture part 1 (Introduction) Mehran Rezaei

ELEC / Computer Architecture and Design Fall 2013 Instruction Set Architecture (Chapter 2)

Typical Processor Execution Cycle

Instruction Set Design and Architecture

CS61CL Machine Structures. Lec 5 Instruction Set Architecture

Chapter 2: Instructions:

ECE/CS 552: Introduction To Computer Architecture 1. Instructor:Mikko H. Lipasti. University of Wisconsin-Madison. Basics Registers and ALU ops

CS 61C: Great Ideas in Computer Architecture Intro to Assembly Language, MIPS Intro

Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier

ENCM 369 Winter 2013: Reference Material for Midterm #2 page 1 of 5

ECE331: Hardware Organization and Design

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture

Chapter 2. Instructions:

Q1: /30 Q2: /25 Q3: /45. Total: /100

EE 109 Unit 13 MIPS Instruction Set. Instruction Set Architecture (ISA) Components of an ISA INSTRUCTION SET OVERVIEW

Instruction Set Principles and Examples. Appendix B

F. Appendix 6 MIPS Instruction Reference

MIPS Instruction Reference

EE108B Lecture 2 MIPS Assembly Language I. Christos Kozyrakis Stanford University

Introduction to the MIPS. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University

Architecture I. Computer Systems Laboratory Sungkyunkwan University

Assembly Programming

Announcements HW1 is due on this Friday (Sept 12th) Appendix A is very helpful to HW1. Check out system calls

Hakim Weatherspoon CS 3410 Computer Science Cornell University

Instruction Set Architecture of. MIPS Processor. MIPS Processor. MIPS Registers (continued) MIPS Registers

Concocting an Instruction Set

Lectures 3-4: MIPS instructions

ECE 2035 Programming HW/SW Systems Spring problems, 6 pages Exam Two 11 March Your Name (please print) total

Lecture 3: Instruction Set Architecture

ECE 2035 Programming HW/SW Systems Spring problems, 6 pages Exam One 4 February Your Name (please print clearly)

A General-Purpose Computer The von Neumann Model. Concocting an Instruction Set. Meaning of an Instruction. Anatomy of an Instruction

EC 413 Computer Organization

Chapter 3. Instructions:

Transcription:

Review of instruction set architectures

Outline ISA and Assembly Language RISC vs. CISC Instruction Set Definition (MIPS) 2

ISA and assembly language Assembly language ISA Machine language 3

Assembly language Interface the architecture presents to user, compiler & operating system Low-level instructions that use the datapath & memory to perform basic types of operations arithmetic: add, sub, mul, div logical: and, or, shift data transfer: load, store (un)conditional branches: jump, branch on condition 4

Classifying ISAs Five basic dimensions: Operand storage Memory only, memory AND CPU Number of explicit operands per instruction From 0 to N Operand location Operand of ALU instruction also in memory? Operations type Operands size and type 5

Basic ISA classes Stack machines (HP3000): Implicit operands (top of stack) Accumulator machines (PDP-8) 1 explicit operand, destination = accumulator Register machines (IBM360) 2/3 explicit operands, destination = register/memory Register-memory Memory-memory Load-store (MIPS) 2/3 explicit operands for ALU instructions 0 memory addresses for ALU instructions Register-register 6

Basic ISA classes (2) Example code for the four classes C = A + B 7

Evolution of ISA Originally: Architectural decisions made to save hardware Human effort: cheap by comparison Hand-coding was cost effective Not enough memory to run big programs Memory: comparatively cheap Register files expensive Solutions: Accumulator Machines Accumulator and memory 8

Eventually: Evolution of ISA (2) Memory got cheaper Bigger software Need for compilers Hardware got cheaper Could do more operations: multiplication, FP, etc. More registers possible Hardware got faster Gap between registers and memories (as today) Solution: Complex Instruction Sets Computers (CISC) Necessary for compilers 9

CISC ISA Classical CISC: VAX (Digital) A dominant CISC ISA: x86 (IA-32) 1978: The Intel 8086 is announced (16 bit architecture) 1980: The 8087 floating point coprocessor is added 1982: The 80286 increases address space to 24 bits, +instructions 1985: The 80386 extends to 32 bits, new addressing modes 1989-1995: The 486, Pentium, Pentium Pro add a few instructions 1997: MMX is added (Pentium II) 1999: Pentium III (Katmai) more MMX type instructions added Complexity: Instructions from 1 to 17 bytes long Started as 8-bit, grew to 16-bits, wandered around 24 bits one operand must act as both a source and destination one operand can come from memory complex addressing modes 10

RISC In the early 80 s a new idea arose: Is it really better to have many complex instructions? Use smaller, regular, fixed-size instruction sets RISC = Reduced Instruction Set Computers Simpler instructions: Compiler can deal more easily with them Easier to optimize execution (parallelism) 11

Evolution of ISA: summary Single Accumulator (EDSAC 1950) Accumulator + Index Registers (Manchester Mark I, IBM 700 series 1953) Separation of Programming Model from Implementation High-level Language Based (B5000 1963) Concept of a Family (IBM 360 1964) General Purpose Register Machines Complex Instruction Sets (Vax, Intel 432 1977-80) Load/Store Architecture (CDC 6600, Cray 1 1963-76) RISC (Mips,Sparc, HP-PA, IBM RS6000, PowerPC...1987) LIW/ EPIC (IA-64...1999) 12

RISC ISA Historical reference RISC ISA: MIPS 32 registers 32 bit instruction, fixed format Actually three formats 2 30 memory address space Arithmetic instruction operands must be registers Textbook and examples referred to DLX Based on MIPS ISA 13

MIPS ISA Instruction set: Arithmetic/logic add, addi, addu, sub, subi, subu, mult, multu, div, divu, and, or, andi, ori, sll, srl Load/store lw, sw, lb, sb, lui Branches beq, bne, slt, slti, j, jr, jal Instruction format 14

MIPS ISA (2) Addressing objects: Big Endian: address of most significant byte = word address (xx00 = Big End of word) IBM 360/370, Motorola 68k, MIPS, Sparc, HP PA Little Endian: address of least significant byte = word address (xx00 = Little End of word) Intel 80x86, DEC Vax, DEC Alpha (Windows NT) 15

Why ISA? ISA is important to understand possible architectural optimizations: Pipelining What types of instructions undergo what step? Memory access When and where do I access memory? 16