CPEN 315 - Digital System Design Chapter 10 – Instruction SET Architecture (ISA) © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall.

Slides:



Advertisements
Similar presentations
1 ECE462/562 ISA and Datapath Review Ali Akoglu. 2 Instruction Set Architecture A very important abstraction –interface between hardware and low-level.
Advertisements

CSE 340 Computer Architecture Spring 2014 MIPS ISA Review
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
The Processor: Datapath & Control
מבנה מחשבים הרצאה 1 מבנה מחשבים Lecture 1 Course Introduction Eytan Ruppin and Alon Schclar Slides from Randy H. Katz, John Wawrzynek and Dan Garcia Berkeley.
Lec 17 Nov 2 Chapter 4 – CPU design data path design control logic design single-cycle CPU performance limitations of single cycle CPU multi-cycle CPU.
1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the.
Computer ArchitectureFall 2007 © October 3rd, 2007 Majd F. Sakr CS-447– Computer Architecture.
ECE 232 L2 Basics.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 2 Computer.
Computer Structure - Datapath and Control Goal: Design a Datapath  We will design the datapath of a processor that includes a subset of the MIPS instruction.
The Processor 2 Andreas Klappenecker CPSC321 Computer Architecture.
CS / Schlesinger Lec1.1 1/20/99©UCB Spring 1999 Computer Architecture Lecture 1 Introduction and Five Components of a Computer Spring, 1999 Arie Schlesinger.
1 CSE SUNY New Paltz Chapter 1 Introduction CSE-45432Introduction to Computer Architecture Dr. Izadi.
CIS 314 : Computer Organization Lecture 1 – Introduction.
ECE 4436ECE 5367 ISA I. ECE 4436ECE 5367 CPU = Seconds= Instructions x Cycles x Seconds Time Program Program Instruction Cycle CPU = Seconds= Instructions.
August 26 TA: Angela Van Osdol Questions?. What is a computer? Tape drives? Big box with lots of lights? Display with huge letters? Little box with no.
S. Barua – CPSC 440 CHAPTER 5 THE PROCESSOR: DATAPATH AND CONTROL Goals – Understand how the various.
CENG311 Computer Architecture Kayhan Erciyes. CS231 Assembly language and Digital Circuits Instructor:Kayhan Erciyes Office:
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
Computer Organization and Architecture (AT70. 01) Comp. Sc. and Inf
Summary: Computer System Components Proc Caches Busses Memory I/O Devices: Controllers adapters Disks Displays Keyboards Networks.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Computer Architecture ECE 4801 Berk Sunar Erkay Savas.
Cs 152 L1 Intro.1 Patterson Fall 97 ©UCB What is “Computer Architecture” Computer Architecture = Instruction Set Architecture + Machine Organization.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
Computer Organization and Design Computer Abstractions and Technology
Computer Architecture Mehran Rezaei
CS35101 Computer Architecture Spring 2006 Week 1 Slides adapted from: Mary Jane Irwin ( Course url:
Processor: Datapath and Control
Lec 15Systems Architecture1 Systems Architecture Lecture 15: A Simple Implementation of MIPS Jeremy R. Johnson Anatole D. Ruslanov William M. Mongan Some.
1 COMP541 Multicycle MIPS Montek Singh Apr 4, 2012.
Computer Architecture CPSC 350
ECE 445 – Computer Organization
CDA 3101 Fall 2013 Introduction to Computer Organization
 Lecture 2 Processor Organization  Control needs to have the  Ability to fetch instructions from memory  Logic and means to control instruction sequencing.
1 A single-cycle MIPS processor  An instruction set architecture is an interface that defines the hardware operations which are available to software.
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
COMP541 Multicycle MIPS Montek Singh Mar 25, 2010.
August 27 Books? ? Accounts?. What does a computer look like? Tape drives? Big box with lots of lights? Display with huge letters? Little box with.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
CSIE30300 Computer Architecture Unit 01: Introduction Hsin-Chou Chi [Adapted from material by and
COM181 Computer Hardware Lecture 6: The MIPs CPU.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
MIPS Processor.
1 CHAPTER 1 COMPUTER ABSTRACTIONS AND TECHNOLOGY Parts of these notes have been adapter from those of Prof. Professor Mike Schulte, Prof. D. Patterson,
CS4100: 計算機結構 Course Outline 國立清華大學資訊工程學系 九十九年度第二學期.
Computer Architecture Lecture 6.  Our implementation of the MIPS is simplified memory-reference instructions: lw, sw arithmetic-logical instructions:
CS 230: Computer Organization and Assembly Language
Instruction Set Architecture
Introduction CPU performance factors
ELEN 468 Advanced Logic Design
Morgan Kaufmann Publishers The Processor
Morgan Kaufmann Publishers
Processor Architecture: Introduction to RISC Datapath (MIPS and Nios II) CSCE 230.
Chapter 4 The Von Neumann Model
Computer Architecture CSCE 350
Morgan Kaufmann Publishers The Processor
Topic 5: Processor Architecture Implementation Methodology
Rocky K. C. Chang 6 November 2017
Guest Lecturer TA: Shreyas Chand
August 29 New address for Fang-Yi
Topic 5: Processor Architecture
COMP541 Datapaths I Montek Singh Mar 18, 2010.
COMS 361 Computer Organization
CS4100: 計算機結構 Course Outline
The Processor: Datapath & Control.
Processor: Datapath and Control
Chapter 4 The Von Neumann Model
Presentation transcript:

CPEN Digital System Design Chapter 10 – Instruction SET Architecture (ISA) © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall © Computer Organization & Design, The Hardware/Software Interface - Third Edition

Computer Organization Layout I/O systemInstr. Set Proc. Digital Design Circuit Design Datapath & Control CPSC 414 Compiler Operating System Application Firmware  Coordination of many levels of abstraction  Under a rapidly changing set of forces

Computer Architecture Applications Operating Systems Technology (a =  F/m) Programming Languages History cleverness Forces on computer architecture

The big picture Since 1946 all computers have had 5 components Memory ROM DRAM SRAM Cache Processor Input keyboard mouse disk Output display printer Control ‘brain’ Datapath ‘brawn’

What is the significance of Computer Architecture? It impacts every other aspect of computer/electrical engineering and computer science. It’s exciting! Microprocessor performance growth “unmatched by other industries” [John Crawford, Intel fellow] Processor speed has doubled every 18 months ( ) — Cars would travel at 44,000 mph and get 16,000 miles/gal. — Air travel: L.A. to N.Y. in 22 seconds.

Single-Electron Transistor Itanium (~ 2 billion Transistors) Computer architecture is becoming more important as computer technology continues to advance. What is the significance of Computer Architecture?

If you want to call yourself a “computer scientist” Programmers and computer scientists who seek to build competitive versions of compilers, operating systems, databases and even applications will need to increase their knowledge of computer architecture and organization: - interface between the software and hardware - performance of a program - hardware techniques that affect performance Why study Computer Architecture covered in CPEN315 CPSC330 and CPEN414?

What is “Computer Architecture”? Computer Architecture = Instruction Set Architecture + Machine Organization + …..

The Instruction Set: a Critical Interface instruction set software hardware

Instruction Set (IS) Architecture - continued A very important abstraction interface between hardware and low-level software standardizes instructions, machine language bit patterns etc. IS includes anything programmers need to know to make machines language program work correctly including instructions, registers, memory access, I/O devices, etc. Instruction set architectures: 80x86/Pentium/K6, DEC Alpha, MIPS, SPARC (Scalable Processor Architecture), HP workstations

From a high-level language to the language of the hardware Control Signal Specification Machine Interpretation °°°° High Level Language Program Assembly Language Program Machine Language Program Compiler Assembler temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; lw$15,0($2) lw$16,4($2) sw$16,0($2) sw$15,4($2) ALUOP[0:3] <= InstReg[9:11] & MASK

RISC Characteristics: Uniform instruction format, with the opcode in the same bit positions in every instruction, demanding less decoding. Identical general purpose registers, allowing any register to be used in any context, simplifying compiler design (although normally separate floating point registers) Simple addressing modes. Complex addressing performed via sequences of arithmetic and/or load- store operations

RISC Instruction Format R-type: add $t3, $t2, $t6 I-type: addi $t2, $t3, 6 based or indexed addressing: lw $t2, 4($t0) -Load word at RAM address ($t0+4) into register $t2 -"4" gives offset from address in register $t0

RISC Instruction Format - continued based or indexed addressing: sw $t2, -12($t0) - store word in register $t2 into RAM at address ($t0 - 12) - negative offsets are fine Jumps j target # unconditional jump to program label target jr $t3 # jump to address contained in $t3 ("jump register")

Simple datapath with control unit op rd rt rs

Mapping Control to Hardware PLA structure Let’s try Opcode = What type of instruction format?

Datapath & Control phases of R-type instruction Instruction “fetch”ed & PC incremented Instruction decoded Register read of source arguments ALU op excuted Data written back to register

Datapath & Control flow of ‘load’ instruction Base register $t2 Offset Effective address $t2 + offset Destination register $t1 Data to load into $t1 Control Signal “Regdest” lw $t1, offset($t2) rt rs

Datapath & Control flow of ‘load’ instruction lw $t1, offset($t2) Instruction “fetch”ed & PC incremented Instruction decoded Register read of source argument Base register $t2 & offset ALU op excuted ALU computes sum value in $t2 and offset as address for data memory Data from memory written back to register

Datapath & Control flow of ‘branch equal’ instruction Register read of source arguments ALU op excuted subtract operation Instruction “fetch”ed & PC incremented Determine whether PC + 4 or branch destination address is written into the PC. MUX is set based on the zero output of the ALU

All previous slides have shown single cycle implementations Each instruction can complete within a single clock cycle  CPI = 1 But… the clock cycle is determined by the longest possible path in the machine. Which is the longest instruction? Hint: it uses 5 functional units in series: the instruction memory, the register file, the data memory, and the register file. Not optimal for all instructions; must use slower clock. Alternatives: 1. Multi-cycle implementation 2. Pipeline implementation Datapath & Control single cycle implementations