Design of Embedded DSP Processors Unit 2: Design basics. 9/11/2017 Unit 2 of TSEA H1 1

Size: px
Start display at page:

Download "Design of Embedded DSP Processors Unit 2: Design basics. 9/11/2017 Unit 2 of TSEA H1 1"

Transcription

1 Design of Embedded DSP Processors Unit 2: Design basics 9/11/2017 Unit 2 of TSEA H1 1

2 ASIP/ASIC design flow We need to have the flow in mind, so that we will know what we are talking about in later lectures 9/11/2017 Unit 2 of TSEA H1 2

3 ASIP design flow (detailed) Understand Application, Source code analysis, Kernel extraction & transform Parallel architecture selection (pipeline, data parallel, ILP, and task parallel) Design AIS & ASM coding tools, Benchmark with sufficient redundants Change ISA? No Satisfied? Microarchitecture design (for datapath, parallel data access, and control path) Yes ASIP Verification, VLSI coding, critical path fiting, and backend design 2017/9/11 Unit 2 of TSEA H1 3

4 Understand application Understand Application, Source code analysis, Kernel extraction & transform Parallel architecture selection (for pipeline, data, ILP, and task parallel) Design AIS & ASM coding tools, Benchmark with sufficient redundants Change ISA? No Satisfied? Yes Microarchitecture design (for datapath, parallel data access, and control path) ASIP Verification, VLSI coding, critical path fiting, and backend design 1. The goal: Understand the computing cost /features, storage cost / features, data access cost / features, & control cost / features. 2. Method: Do not need understanding WHY, need to understand HOW Reading books and codes 3. DOC Release: A spec to expose Coverage and scope Inputs and outputs Algorithm (set) behaviors Computing and access cost / features 2017/9/11 Unit 2 of TSEA H1 4

5 Kernel code extraction Understand Application, Source code analysis, Kernel extraction & transform Parallel architecture selection (for pipeline, data, ILP, and task parallel) Design AIS & ASM coding tools, Benchmark with sufficient redundants Change ISA? No Satisfied? Yes Microarchitecture design (for datapath, parallel data access, and control path) ASIP Verification, VLSI coding, critical path fiting, and backend design 1. Principle (DSP codes) Code = kernels + top FSM + config 90% - 10% code locality rule 2. The goal: Collect innermost loops and plan for acceleration 3. Method Code profiling Reading and extract the innermost loops Guiding to design for acceleration 4. Release kernel list Classify kernels (a. data parallel, b. task parallel, c. cannot be parallel) 2017/9/11 Unit 2 of TSEA H1 5

6 Select an architecture template Understand Application, Source code analysis, Kernel extraction & transform Parallel architecture selection (for pipeline, data, ILP, and task parallel) Design AIS & ASM coding tools, Benchmark with sufficient redundants Change ISA? No Satisfied? Yes Microarchitecture design (for datapath, parallel data access, and control path) 1. The goal: To find an architecture and instruction set for both specific requirements and essential software ecological environment 2. Method: Popular instruction set extension with architectural license, or use Synopsys ASIP designer 3. Release: Architecture ASM proposal, SW development flow (proven by SW designers). ASIP Verification, VLSI coding, critical path fiting, and backend design 2017/9/11 Unit 2 of TSEA H1 6

7 AIS Design for algorithm acceleration Understand Application, Source code analysis, Kernel extraction & transform Parallel architecture selection (for pipeline, data, ILP, and task parallel) Design AIS & ASM coding tools, Benchmark with sufficient redundants Change ISA? No Satisfied? Yes Microarchitecture design (for datapath, parallel data access, and control path) ASIP Verification, VLSI coding, critical path fiting, and backend design 1. The goal: Design ASM instruction set based on the understanding on SIMD / task level parallel analysis 2. Method Design for acceleration: Instruction fusion and configurable magic blocks ASIP design: Decomposate and Map functions to instruction set ASIC module design: Drectly map functions on circuit Trade off performance-and-cost 3. Release Datapath HW design specification 2017/9/11 Unit 2 of TSEA H1 7

8 Design for custom data type Understand Application, Source code analysis, Kernel extraction & transform Parallel architecture selection (for pipeline, data, ILP, and task parallel) Design AIS & ASM coding tools, Benchmark with sufficient redundants Change ISA? No Satisfied? Yes Microarchitecture design (for datapath, parallel data access, and control path) ASIP Verification, VLSI coding, critical path fiting, and backend design 1. Goal: custom data types to speed up, and to reduce cost & power 2. Method Real and complex data Fixed point (integer, fractional, signed, unsigned) and custom floating point Trade-off precision (quality) and cost 3. Release Internal precision for quality iterations Native precision to reduce memory cost Data precisions for native/iteration Corner cases as extra design cost 2017/9/11 Unit 2 of TSEA H1 8

9 Design for data access and memories Understand Application, Source code analysis, Kernel extraction & transform Parallel architecture selection (for pipeline, data, ILP, and task parallel) Design AIS & ASM coding tools, Benchmark with sufficient redundants Change ISA? No Satisfied? Yes Microarchitecture design (for datapath, parallel data access, and control path) ASIP Verification, VLSI coding, critical path fiting, and backend design 1. The goal: Design for data access 2. Method Expose (get) requirements for data access Distribute complexities between Main memory and local memories Local memories and datapath ports Add data access operations into ASM Design for data access hardware 3. Release Data access requirements and compiling/ programming requirements Specification for addressing (function) 2017/9/11 Unit 2 of TSEA H1 9

10 AIS Design for control functions Understand Application, Source code analysis, Kernel extraction & transform Parallel architecture selection (for pipeline, data, ILP, and task parallel) Design AIS & ASM coding tools, Benchmark with sufficient redundants Change ISA? No Satisfied? Yes Microarchitecture design (for datapath, parallel data access, and control path) ASIP Verification, VLSI coding, critical path fiting, and backend design 1. The goal: control path design 2. Method Plan pipeline for data access and datapath Plan for all branchs, HW loops, and design for all pipeline tables Instruction coding (ASM to BIN) 3. Release Control path HW specification HW microarchitecture design spec ASM user s manual 2017/9/11 Unit 2 of TSEA H1 10

11 Benchmark kernels & Applications Understand Application, Source code analysis, Kernel extraction & transform Parallel architecture selection (for pipeline, data, ILP, and task parallel) Design AIS & ASM coding tools, Benchmark with sufficient redundants Change ISA? No Satisfied? Yes Microarchitecture design (for datapath, parallel data access, and control path) ASIP Verification, VLSI coding, critical path fiting, and backend design 1. The goal: measure the performance of the designed ASIP instruction set 2. Method BDTI / EEMBC benchmarks Do not use SPEC Standard Performance Evaluation Corporation offered bench Run other kernels Compiled (compiler quality) Hand coded (hardware quality) Run applications 3. Release: to prove the quality of The ISA and Compiler design 2017/9/11 Unit 2 of TSEA H1 11

12 Quality design for Fixed point computing Finite precision HW 9/11/2017 Unit 2 of TSEA H1 12

13 Fixed poing HW design challenge Fixed point HW design is challenging and rewarding Rewarding: Low silicon cost, high performanc Challenging: MSB part: limited dynamic range and LSB part: quantization error LSB part: Round up before truncation MSB part: Guard to avoid overflow, saturate to handle overflow for real time computing 9/11/2017 Unit 3 of TSEA H1 13

14 Fixed point numerical representation Why fixed point (Important) Easy to implement data path hardware (HW) Low HW cost (low chip area), low power High speed (short physical critical path) Important! the precision must be acceptable Why not fixed point (sometimes) Cannot separate dynamic range and precision High firmware design skills & FW design cost 08/19/09 Unit 2 of TSEA H1 14

15 Definitions Definition 1: Truncation: To convert a longer numerical format to a shorter one by simple cutting off bits at the LSB part. Definition 2: Quantization error The numerical error introduced after truncation (a problem on result) 08/19/09 Unit 2 of TSEA H1 15

16 Truncation and rounding Truncation on data (α) without sign bit from c-bit data to b-bit data (c > b) we have: x b i = 1 c = i 2 i + i 2 i = Q T x + i = b + 1 E T will be cut off Quantization error of value x is E T =Q T [x] - x. MAX {E T } is - (2 -b -2 -c ) -2 -b =. Definition of rounding: E T 08/19/09 Unit 2 of TSEA H1 16

17 A rounding example Round Arithmetic Example: Round 8 bits to 4 bits Sign bit Before round: 8 bits A7 A6 A5 A4 A3 A2 A1 A0 Sign bit After round: 4 bits Round to nearest b[3:0] = a[7:4] + {000, a[3]} b7 b6 b5 b4 08/19/09 Unit 2 of TSEA H1 17

18 Avoid overflow: guard & saturation Overflow: if the result of a calculation (X) is not in the range -2 -N-1 X < 2N-1 Common reasons of overflow: When the result is too large (or small) Shift out useful bits on the left side Too many iterative accumulations 08/19/09 Unit 2 of TSEA H1 18

19 Manage Overflow: scale down input Arithmetic right shift Precision is lower Larger quantization errors When shall we scale down Iteration loop is too long Low requirement on precision No other choice 08/19/09 Unit 2 of TSEA H1 19

20 08/19/09 Unit 2 of TSEA H1 20 Add guard bits When accumulation is needed, guard bits are needed. Example for an FIR filter: y k n x max h k m m = both the scaling factor or the guard factor: f scaling 1 h k m m = = f guarding h k m m = =

21 Manage Overflow: saturation Saturation: after executing an algorithm if(result 1){ final_result = 1-2 -n+1 }else if(result <-1) { final_result = -1 }else{ final_result = result // no overflow } // fractional data type Do it after an iterative accumulation Do not do it during an iteration! Discussion: compare to exception 08/19/09 Unit 2 of TSEA H1 21

22 Manage Overflow: an example An example: extension of 4 guard bits for accumulation and saturation Sign bit Before guard: 4-bit OPA a 3 a 2 a 1 a 0 Sign bit 4-bit OPB b 3 b 2 b 1 b 0 After guard: 8-bit Sign bit Sign bit ga 4 ga 3 ga 2 ga 1 a 3 a 2 a 1 a 0 gb 4 gb 3 gb 2 gb 1 b 3 b 2 b 1 b 0 guards=a 3 Accumulator guards=b 3 8-bit full adder + Accumulator register Data could be out of range during accumulation gc 4 gc 3 gc 2 gc 1 c 3 c 2 c 1 c 0 iteration After accumulation Dynamic range The final result is correct Saturation d 3 d 2 d 1 d 0 After saturation, the final result is 4-bits 08/19/09 Unit 2 of TSEA26 22

23 Fixed poing HW design review Fixed point HW design is challenging and rewarding Rewarding: Low silicon cost, high performanc Challenging: MSB part: limited dynamic range and LSB part: quantization error LSB part: Round up before truncation MSB part: Guard to avoid overflow, saturate to handle overflow for real time computing 9/11/2017 Unit 3 of TSEA H1 23

24 Instruction set design 9/11/2017 Unit 2 of TSEA H1 24

25 From Junior to Senior Step 1: To design a simple instruction set with only basic instructions for function coverage Move data, arithmetic and logic, flow control Step 2: To improve the simple instruction set by adding instructions for accelerations SW-HW co-design: what, why, and how To find the distance between the expected and the current benchmark scores Add instructions for (1). more functions (coverage) and (2). for accelerations 9/11/2017 Unit 2 of TSEA H1 25

26 What is a simplest instruction set ALU for data manipulation from memory D in memory = A in memory + B in memory D in memory = A in memory - B in memory What are problems: 3 memories in parallel (silicon cost) Long time to access (time cost) Memory independent core IP design! Using register file as computing buffer 9/11/2017 Unit 2 of TSEA H1 26

27 What is a simplest instruction set LOAD data from memory to register A LOAD data from memory to register B Register D = Register A + Register B STORE data in register D to memory RISC machine is introduced: Load / store to/from register file (computing buffer) Usually one load/store v.s. multi ALU operations ALU operation:+, -, *, shift, and, or, xor, not; not for /, %, sine, cosine, logarithm, exp. Why? Load store operations: Load / store R M(address) Address computing (direct, indirect, post/pre ++, --) 9/11/2017 Unit 2 of TSEA H1 27

28 Classify the simplest Instruction set Instruction group /type Operands Operations Mathematical description Flags CC Load, store, and move Register name and memory addressing Moving data DST (ADR) <= SRC (ADR) No flag 1 ALU instructions REG names or immediate data Arithmetic logic/shift operations DST (ADR) <= OA op OB ALU Flag 1 Flow control Way to get target address Jump taken decision If condition true PC <= target address No flag 1 or 3 9/11/2017 Unit 2 of TSEA H1 28

29 Move-load-store instructions Mnem Operand Description Operation CC Load Rd, DA Load data from memory 0/1 Store DA, Rs Store data to memory 0/1 move Rd, Rs Move between two registers move Rd, K Move immediate data to a register Rd DM(DA) 1 DM(DA) Rs 1 Rd Rs 1 Rd immediate 1 9/11/2017 Unit 2 of TSEA H1 29

30 Basic Arithmetic Instructions Mnem Operand Description Operation Flags ADD Rd, Rr Add Rd Ra + Rb Z,N,V SUB Rd, Rr Subtract Rd Ra - Rb Z,N,V ABS Rd, Rr Absolute operation Rd ABS(Ra) Z,N,V INC Rd Increment Rd Ra + 1 Z,N,V DEC Rd Decrement Rd Ra - 1 Z,N,V MPL A, Rd, Rr Multiplication A Ra Rb Z,N,V MAC A, Rd, Rr Multiplication and accumulation RND Rd, A Round, saturate, and truncate CAC A Clear an accumulator A A + Ra Rb Rd Saturate(Round(A)) A 0 Z,N,V Z,N,V Z,N,V 9/11/2017 Unit 2 of TSEA H1 30

31 Logic and Shift Operations Mnem Operand Description Operation Flags AND Ra, Rb A logic-and B Rd Ra and Rb C, Z OR Ra, Rb A logic-or B Rd Ra or Rb C, Z NOT Ra, Rb Invert A Rd INV (Ra) C, Z XOR Ra, Rb A logic-xor B Rd Ra xor Rb C, Z LS Ra, Rb Logic left shift Rd Ra left shifted by Rb [3:0] RS Ra, Rb Logic right shift Rd Ra right shifted by Rb [3:0] C, Z C, Z 9/11/2017 Unit 2 of TSEA H1 31

32 Program flow control instructions Description Conditions Flags meet Jump when Less than < N=1 Jump when Less than or Equal to <= N=1 or Z=1 Jump when Equal to == Z=1 Jump when Greater than or Equal to >= N=0 Jump when Greater than > N=0 and Z=0 Jump when Not Equal to!= Z=0 Unconditional jump Call, push return address into stack Return to the stacked address 9/11/2017 Unit 2 of TSEA H1 32

33 Benchmarking the instruction set 9/11/2017 Unit 2 of TSEA H1 33

34 What is benchmark DSP benchmarking gets cycle cost and code size consumed by a DSP algorithm with single-precision data. Convention of DSP benchmarking round is required before moving long data from an accumulation register to a general register 9/11/2017 Unit 2 of TSEA H1 34

35 What to benchmark Algorithm Kernel Block transfer Single FIR Frame FIR IIR 16-bit division Vector add Windowing Vector Max DCT 256p complex FFT Description Transfer a data block from one memory to another memory N-tap FIR filter running one data sample N-tap FIR filter running K data samples Biquad IIR (2nd order IIR) running one data sample A positive 16 bit value divided by another positive 16 bit value C[i] = A[i] + B[i], i=0 N-1 (not included in this chapter) C[i] = A[i] * B[i], i=0 N-1 (not included in this chapter) R <= MAX { A[i]}, i=0 N-1 8X8 2D Discrete Cosine Transform 256 point FFT including all computing and addressing 9/11/2017 Unit 2 of TSEA H1 35

36 How to benchmark BDTI benchmarking convention It measures the execution time (cycle cost), the code size, and the cost of data memories. The cycle cost = prologue + Kernel + epilogue Prologue: preparing and starting a program, Epilogue: terminating a program Kernel: the part of the algorithm 9/11/2017 Unit 2 of TSEA H1 36

37 Example: Block Transfer C-code: DM1 (SEG: 0 to 39) -> DM1 (SEG: 0 to 39) Assembly code Comparing the cost: Extra jump cost Processor Algorithm Total cycle cost Junior BT TSMD 47 4 Pro-epilogue cycle cost Kernel cycle cost Total code cost Code for proepilogue DM cost 9/11/2017 Unit 2 of TSEA H1 37

38 Example: Single sample FIR C-code: 16-tap FIR Assembly code Comparing the cost: Extra jump cost, modulo addressing Processor Algorithm Total cycle cost Kernel cycle cost Total code cost Junior 16-tapFIR 192 TSMD 16-tapFIR /11/2017 Unit 2 of TSEA H1 38

39 HW/SW co-design for an ASIP ASIP requirement specification Early manual partition according to application profiling Instruction set specification Implement the function as an instruction Implement the function as a subroutine Processor architecture specification Assembly instruction set simulator Microarchitecture design Benchmarking of instruction set Implement the function as an instruction Implement the function as a subroutine Design for HW acceleration Application SW implementation Processor HW implementation ASIP Integration, final function verification and performance validation 9/11/2017 Unit 2 of TSEA H1 39

40 Concepts Finite precision Skills Review on Unit 2 System understanding Quantization error Guard Saturation Rounding Plan HW schematic The order to run G/S/R MAC: MUL and ACC MAC HW is essential Reuse skill Memory and data access Program flow control Two memories for D and C Execution on memory data Modulo addressing HW iterative loop control Pipeline functional fusion Pipeline I-decoders FW coding When and where to saturate and round MAC result data dependency Carefully and statically allocate data Efficient coding for innermost loop codes 9/11/2017 Unit 2 of TSEA H1 40

41 Self reading after the lecture Guard/saturation/round in chapter 2 Quick reading through chapter 4, 9 Think about: Why do we need two data memories Why do we need HW for iterative computing How can we minimize extra data access cost during convolution 9/11/2017 Unit 2 of TSEA H1 41

42 Exciting time now! Let us discuss Whatever you want to discuss and related to HW You will have the chance after each lecture (Fö), do take the chance! Prepare your Qs for the next time 9/11/2017 Unit 2 of TSEA H1 42

43 LOGO Welcome to ask any questions you want to I can answer Or discuss together I want to know what you want Dake Liu, Room 556 coridoor B, Hus-B, phone , dake.liu@liu.se

02 - Numerical Representation and Introduction to Junior

02 - Numerical Representation and Introduction to Junior 02 - Numerical Representation and Introduction to Junior September 10, 2013 Todays lecture Finite length effects, continued from Lecture 1 How to handle overflow Introduction to the Junior processor Demonstration

More information

Design of Embedded DSP Processors

Design of Embedded DSP Processors Design of Embedded DSP Processors Unit 3: Microarchitecture, Register file, and ALU 9/11/2017 Unit 3 of TSEA26-2017 H1 1 Contents 1. Microarchitecture and its design 2. Hardware design fundamentals 3.

More information

03 - The Junior Processor

03 - The Junior Processor September 8, 2015 Designing a minimal instruction set What is the smallest instruction set you can get away with while retaining the capability to execute all possible programs you can encounter? Designing

More information

03 - The Junior Processor

03 - The Junior Processor September 10, 2014 Designing a minimal instruction set What is the smallest instruction set you can get away with while retaining the capability to execute all possible programs you can encounter? Designing

More information

Design of Embedded DSP Processors Unit 8: Firmware design and benchmarking. 9/27/2017 Unit 8 of TSEA H1 1

Design of Embedded DSP Processors Unit 8: Firmware design and benchmarking. 9/27/2017 Unit 8 of TSEA H1 1 Design of Embedded DSP Processors Unit 8: Firmware design and benchmarking 9/27/2017 Unit 8 of TSEA26 2017 H1 1 Contents Introduction to FW and its coding flow 1. Application modeling under HW constraints

More information

Design of Embedded DSP Processors Unit 7: Programming toolchain. 9/26/2017 Unit 7 of TSEA H1 1

Design of Embedded DSP Processors Unit 7: Programming toolchain. 9/26/2017 Unit 7 of TSEA H1 1 Design of Embedded DSP Processors Unit 7: Programming toolchain 9/26/2017 Unit 7 of TSEA26 2017 H1 1 Toolchain introduction There are two kinds of tools 1.The ASIP design tool for HW designers Frontend

More information

Design of Embedded DSP Processors Unit 5: Data access. 9/11/2017 Unit 5 of TSEA H1 1

Design of Embedded DSP Processors Unit 5: Data access. 9/11/2017 Unit 5 of TSEA H1 1 Design of Embedded DSP Processors Unit 5: Data access 9/11/2017 Unit 5 of TSEA26-2017 H1 1 Data memory in a Processor Store Data FIFO supporting DSP executions Computing buffer Parameter storage Access

More information

05 - Microarchitecture, RF and ALU

05 - Microarchitecture, RF and ALU September 15, 2015 Microarchitecture Design Step 1: Partition each assembly instruction into microoperations, allocate each microoperation into corresponding hardware modules. Step 2: Collect all microoperations

More information

02 - Numerical Representations

02 - Numerical Representations September 3, 2014 Todays lecture Finite length effects, continued from Lecture 1 Floating point (continued from Lecture 1) Rounding Overflow handling Example: Floating Point Audio Processing Example: MPEG-1

More information

TSEA 26 exam page 1 of Examination. Design of Embedded DSP Processors, TSEA26 Date 8-12, G34, G32, FOI hus G

TSEA 26 exam page 1 of Examination. Design of Embedded DSP Processors, TSEA26 Date 8-12, G34, G32, FOI hus G TSEA 26 exam page 1 of 10 20171019 Examination Design of Embedded DSP Processors, TSEA26 Date 8-12, 2017-10-19 Room G34, G32, FOI hus G Time 08-12AM Course code TSEA26 Exam code TEN1 Design of Embedded

More information

04 - DSP Architecture and Microarchitecture

04 - DSP Architecture and Microarchitecture September 11, 2014 Conclusions - Instruction set design An assembly language instruction set must be more efficient than Junior Accelerations shall be implemented at arithmetic and algorithmic levels.

More information

CSCE 5610: Computer Architecture

CSCE 5610: Computer Architecture HW #1 1.3, 1.5, 1.9, 1.12 Due: Sept 12, 2018 Review: Execution time of a program Arithmetic Average, Weighted Arithmetic Average Geometric Mean Benchmarks, kernels and synthetic benchmarks Computing CPI

More information

EC-801 Advanced Computer Architecture

EC-801 Advanced Computer Architecture EC-801 Advanced Computer Architecture Lecture 5 Instruction Set Architecture I Dr Hashim Ali Fall 2018 Department of Computer Science and Engineering HITEC University Taxila!1 Instruction Set Architecture

More information

Design and Implementation of Single Issue DSP Processor Core. Vinodh Ravinath

Design and Implementation of Single Issue DSP Processor Core. Vinodh Ravinath Design and Implementation of Single Issue DSP Processor Core Examensarbete utfört i Datirteknik Vid Tekniska högskolan i Linköping av Vinodh Ravinath LiTH-ISY-EX--07/4094--SE Linköping 2007 Design and

More information

04 - DSP Architecture and Microarchitecture

04 - DSP Architecture and Microarchitecture September 11, 2015 Memory indirect addressing (continued from last lecture) ; Reality check: Data hazards! ; Assembler code v3: repeat 256,endloop load r0,dm1[dm0[ptr0++]] store DM0[ptr1++],r0 endloop:

More information

1. Choose a module that you wish to implement. The modules are described in Section 2.4.

1. Choose a module that you wish to implement. The modules are described in Section 2.4. Chapter 2 Lab 2 - Datapath 2.1 Overview During lab 2 you will complete the RTL code of the ALU and MAC datapaths of the DSP core and write a set of small test programs to verify your implementation. Most

More information

General Purpose Signal Processors

General Purpose Signal Processors General Purpose Signal Processors First announced in 1978 (AMD) for peripheral computation such as in printers, matured in early 80 s (TMS320 series). General purpose vs. dedicated architectures: Pros:

More information

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

Announcements HW1 is due on this Friday (Sept 12th) Appendix A is very helpful to HW1. Check out system calls Announcements HW1 is due on this Friday (Sept 12 th ) Appendix A is very helpful to HW1. Check out system calls on Page A-48. Ask TA (Liquan chen: liquan@ece.rutgers.edu) about homework related questions.

More information

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

55:132/22C:160, HPCA Spring 2011 55:132/22C:160, HPCA Spring 2011 Second Lecture Slide Set Instruction Set Architecture Instruction Set Architecture ISA, the boundary between software and hardware Specifies the logical machine that is

More information

Computer Architecture. MIPS Instruction Set Architecture

Computer Architecture. MIPS Instruction Set Architecture Computer Architecture MIPS Instruction Set Architecture Instruction Set Architecture An Abstract Data Type Objects Registers & Memory Operations Instructions Goal of Instruction Set Architecture Design

More information

Chapter 2A Instructions: Language of the Computer

Chapter 2A Instructions: Language of the Computer Chapter 2A Instructions: Language of the Computer Copyright 2009 Elsevier, Inc. All rights reserved. Instruction Set The repertoire of instructions of a computer Different computers have different instruction

More information

General Purpose Processors

General Purpose Processors Calcolatori Elettronici e Sistemi Operativi Specifications Device that executes a program General Purpose Processors Program list of instructions Instructions are stored in an external memory Stored program

More information

Lecture 4: Instruction Set Architecture

Lecture 4: Instruction Set Architecture Lecture 4: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation Reading: Textbook (5 th edition) Appendix A Appendix B (4 th edition)

More information

Lode DSP Core. Features. Overview

Lode DSP Core. Features. Overview Features Two multiplier accumulator units Single cycle 16 x 16-bit signed and unsigned multiply - accumulate 40-bit arithmetic logical unit (ALU) Four 40-bit accumulators (32-bit + 8 guard bits) Pre-shifter,

More information

Math 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro

Math 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro Math 230 Assembly Programming (AKA Computer Organization) Spring 2008 MIPS Intro Adapted from slides developed for: Mary J. Irwin PSU CSE331 Dave Patterson s UCB CS152 M230 L09.1 Smith Spring 2008 MIPS

More information

VLSI Signal Processing

VLSI Signal Processing VLSI Signal Processing Programmable DSP Architectures Chih-Wei Liu VLSI Signal Processing Lab Department of Electronics Engineering National Chiao Tung University Outline DSP Arithmetic Stream Interface

More information

ECE232: Hardware Organization and Design

ECE232: Hardware Organization and Design ECE232: Hardware Organization and Design Lecture 4: Logic Operations and Introduction to Conditionals Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Overview Previously examined

More information

Design of Embedded DSP Processors

Design of Embedded DSP Processors Design of Embedded DSP Processors Unit 10: Integration and Verification 10/3/2017 Unit 10 of TSEA26 2017 H1 1 Three integrations 1. Hardware integration (Integration of RTL codes) 2. Integration of the

More information

Computer organization by G. Naveen kumar, Asst Prof, C.S.E Department 1

Computer organization by G. Naveen kumar, Asst Prof, C.S.E Department 1 Pipelining and Vector Processing Parallel Processing: The term parallel processing indicates that the system is able to perform several operations in a single time. Now we will elaborate the scenario,

More information

Reminder: tutorials start next week!

Reminder: tutorials start next week! Previous lecture recap! Metrics of computer architecture! Fundamental ways of improving performance: parallelism, locality, focus on the common case! Amdahl s Law: speedup proportional only to the affected

More information

Instruction Set Architecture. "Speaking with the computer"

Instruction Set Architecture. Speaking with the computer Instruction Set Architecture "Speaking with the computer" The Instruction Set Architecture Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture Digital Design

More information

are Softw Instruction Set Architecture Microarchitecture are rdw

are Softw Instruction Set Architecture Microarchitecture are rdw Program, Application Software Programming Language Compiler/Interpreter Operating System Instruction Set Architecture Hardware Microarchitecture Digital Logic Devices (transistors, etc.) Solid-State Physics

More information

ECE 486/586. Computer Architecture. Lecture # 7

ECE 486/586. Computer Architecture. Lecture # 7 ECE 486/586 Computer Architecture Lecture # 7 Spring 2015 Portland State University Lecture Topics Instruction Set Principles Instruction Encoding Role of Compilers The MIPS Architecture Reference: Appendix

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified

More information

CSE 141 Computer Architecture Summer Session Lecture 3 ALU Part 2 Single Cycle CPU Part 1. Pramod V. Argade

CSE 141 Computer Architecture Summer Session Lecture 3 ALU Part 2 Single Cycle CPU Part 1. Pramod V. Argade CSE 141 Computer Architecture Summer Session 1 2004 Lecture 3 ALU Part 2 Single Cycle CPU Part 1 Pramod V. Argade Reading Assignment Announcements Chapter 5: The Processor: Datapath and Control, Sec. 5.3-5.4

More information

VLIW DSP Processor Design for Mobile Communication Applications. Contents crafted by Dr. Christian Panis Catena Radio Design

VLIW DSP Processor Design for Mobile Communication Applications. Contents crafted by Dr. Christian Panis Catena Radio Design VLIW DSP Processor Design for Mobile Communication Applications Contents crafted by Dr. Christian Panis Catena Radio Design Agenda Trends in mobile communication Architectural core features with significant

More information

UNIT-II. Part-2: CENTRAL PROCESSING UNIT

UNIT-II. Part-2: CENTRAL PROCESSING UNIT Page1 UNIT-II Part-2: CENTRAL PROCESSING UNIT Stack Organization Instruction Formats Addressing Modes Data Transfer And Manipulation Program Control Reduced Instruction Set Computer (RISC) Introduction:

More information

Instruction Sets Ch 9-10

Instruction Sets Ch 9-10 Instruction Sets Ch 9-10 Characteristics Operands Operations Addressing Instruction Formats 1 Instruction Set (käskykanta) Collection of instructions that CPU understands Only interface to CPU from outside

More information

Instruction Sets Ch 9-10

Instruction Sets Ch 9-10 Instruction Sets Ch 9-10 Characteristics Operands Operations Addressing Instruction Formats 1 Instruction Set (käskykanta) Collection of instructions that CPU understands Only interface to CPU from outside

More information

Instruction Set Design

Instruction Set Design Instruction Set Design software instruction set hardware CPE442 Lec 3 ISA.1 Instruction Set Architecture Programmer's View ADD SUBTRACT AND OR COMPARE... 01010 01110 10011 10001 11010... CPU Memory I/O

More information

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS II Fall 1999

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS II Fall 1999 UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS II Fall 1999 Lab 7-10: Micro-processor Design: Minimal Instruction Set Processor (MISP) Objective:

More information

Examination Design of Embedded DSP Processors, TSEA26

Examination Design of Embedded DSP Processors, TSEA26 Examination Design of Embedded DSP Processors, TSEA26 Date 2011-01-12 Room TER4 Time 14:00-18:00 Course code TSEA26 Exam code TEN 1 Course name Design of Embedded DSP Processors Department ISY, Department

More information

Storage I/O Summary. Lecture 16: Multimedia and DSP Architectures

Storage I/O Summary. Lecture 16: Multimedia and DSP Architectures Storage I/O Summary Storage devices Storage I/O Performance Measures» Throughput» Response time I/O Benchmarks» Scaling to track technological change» Throughput with restricted response time is normal

More information

Lecture 7: Instruction Set Architectures - IV

Lecture 7: Instruction Set Architectures - IV Lecture 7: Instruction Set Architectures - IV Last Time Register organization Memory issues (endian-ness, alignment, etc.) Today Exceptions General principles of ISA design Role of compiler Computer arithmetic

More information

DSP Platforms Lab (AD-SHARC) Session 05

DSP Platforms Lab (AD-SHARC) Session 05 University of Miami - Frost School of Music DSP Platforms Lab (AD-SHARC) Session 05 Description This session will be dedicated to give an introduction to the hardware architecture and assembly programming

More information

CSIS1120A. 10. Instruction Set & Addressing Mode. CSIS1120A 10. Instruction Set & Addressing Mode 1

CSIS1120A. 10. Instruction Set & Addressing Mode. CSIS1120A 10. Instruction Set & Addressing Mode 1 CSIS1120A 10. Instruction Set & Addressing Mode CSIS1120A 10. Instruction Set & Addressing Mode 1 Elements of a Machine Instruction Operation Code specifies the operation to be performed, e.g. ADD, SUB

More information

COMPUTER ORGANIZATION & ARCHITECTURE

COMPUTER ORGANIZATION & ARCHITECTURE COMPUTER ORGANIZATION & ARCHITECTURE Instructions Sets Architecture Lesson 5a 1 What are Instruction Sets The complete collection of instructions that are understood by a CPU Can be considered as a functional

More information

Math 230 Assembly Programming (AKA Computer Organization) Spring 2008

Math 230 Assembly Programming (AKA Computer Organization) Spring 2008 Math 230 Assembly Programming (AKA Computer Organization) Spring 2008 MIPS Intro II Lect 10 Feb 15, 2008 Adapted from slides developed for: Mary J. Irwin PSU CSE331 Dave Patterson s UCB CS152 M230 L10.1

More information

3.0 Instruction Set. 3.1 Overview

3.0 Instruction Set. 3.1 Overview 3.0 Instruction Set 3.1 Overview There are 16 different P8 instructions. Research on instruction set usage was the basis for instruction selection. Each instruction has at least two addressing modes, with

More information

Instruction-set Design Issues: what is the ML instruction format(s) ML instruction Opcode Dest. Operand Source Operand 1...

Instruction-set Design Issues: what is the ML instruction format(s) ML instruction Opcode Dest. Operand Source Operand 1... Instruction-set Design Issues: what is the format(s) Opcode Dest. Operand Source Operand 1... 1) Which instructions to include: How many? Complexity - simple ADD R1, R2, R3 complex e.g., VAX MATCHC substrlength,

More information

Integer Arithmetic. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Integer Arithmetic. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University Integer Arithmetic Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3050: Theory on Computer Architectures, Spring 2017, Jinkyu Jeong (jinkyu@skku.edu)

More information

CS352H: Computer Systems Architecture

CS352H: Computer Systems Architecture CS352H: Computer Systems Architecture Lecture 4: Instruction Set Architectures III + MIPS ALU September 10, 2008 University of Texas at Austin CS352H - Computer Systems Architecture Fall 2009 Don Fussell

More information

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA CISC 662 Graduate Computer Architecture Lecture 4 - ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,

More information

Grundlagen Microcontroller Processor Core. Günther Gridling Bettina Weiss

Grundlagen Microcontroller Processor Core. Günther Gridling Bettina Weiss Grundlagen Microcontroller Processor Core Günther Gridling Bettina Weiss 1 Processor Core Architecture Instruction Set Lecture Overview 2 Processor Core Architecture Computes things > ALU (Arithmetic Logic

More information

Lecture 3 Machine Language. Instructions: Instruction Execution cycle. Speaking computer before voice recognition interfaces

Lecture 3 Machine Language. Instructions: Instruction Execution cycle. Speaking computer before voice recognition interfaces Lecture 3 Machine Language Speaking computer before voice recognition interfaces 1 Instructions: Language of the Machine More primitive than higher level languages e.g., no sophisticated control flow Very

More information

ISA and RISCV. CASS 2018 Lavanya Ramapantulu

ISA and RISCV. CASS 2018 Lavanya Ramapantulu ISA and RISCV CASS 2018 Lavanya Ramapantulu Program Program =?? Algorithm + Data Structures Niklaus Wirth Program (Abstraction) of processor/hardware that executes 3-Jul-18 CASS18 - ISA and RISCV 2 Program

More information

Chapter 2. Instruction Set Design. Computer Architectures. software. hardware. Which is easier to change/design??? Tien-Fu Chen

Chapter 2. Instruction Set Design. Computer Architectures. software. hardware. Which is easier to change/design??? Tien-Fu Chen Computer Architectures Chapter 2 Tien-Fu Chen National Chung Cheng Univ. chap2-0 Instruction Set Design software instruction set hardware Which is easier to change/design??? chap2-1 Instruction Set Architecture:

More information

Instruction-set Design Issues: what is the ML instruction format(s) ML instruction Opcode Dest. Operand Source Operand 1...

Instruction-set Design Issues: what is the ML instruction format(s) ML instruction Opcode Dest. Operand Source Operand 1... Instruction-set Design Issues: what is the format(s) Opcode Dest. Operand Source Operand 1... 1) Which instructions to include: How many? Complexity - simple ADD R1, R2, R3 complex e.g., VAX MATCHC substrlength,

More information

The von Neumann Architecture. IT 3123 Hardware and Software Concepts. The Instruction Cycle. Registers. LMC Executes a Store.

The von Neumann Architecture. IT 3123 Hardware and Software Concepts. The Instruction Cycle. Registers. LMC Executes a Store. IT 3123 Hardware and Software Concepts February 11 and Memory II Copyright 2005 by Bob Brown The von Neumann Architecture 00 01 02 03 PC IR Control Unit Command Memory ALU 96 97 98 99 Notice: This session

More information

1. Micro Architecture and Finite Length. Olle Seger Andreas Ehliar Dake Liu, Rizwan Azhgar

1. Micro Architecture and Finite Length. Olle Seger Andreas Ehliar Dake Liu, Rizwan Azhgar 1. Micro Architecture and Finite Length Olle Seger (olle.seger@liu.se) Andreas Ehliar (ehliar@isy.liu.se) Dake Liu, Rizwan Azhgar 1 Outline Introduction Some Administrative Information Basic Components

More information

EMBEDDED SYSTEM DESIGN (10EC74)

EMBEDDED SYSTEM DESIGN (10EC74) UNIT 2 The Hardware Side: An Introduction, The Core Level, Representing Information, Understanding Numbers, Addresses, Instructions, Registers-A First Look, Embedded Systems-An Instruction Set View, Embedded

More information

Instruction Set. Instruction Sets Ch Instruction Representation. Machine Instruction. Instruction Set Design (5) Operation types

Instruction Set. Instruction Sets Ch Instruction Representation. Machine Instruction. Instruction Set Design (5) Operation types Instruction Sets Ch 10-11 Characteristics Operands Operations Addressing Instruction Formats Instruction Set Collection of instructions that CPU understands Only interface to CPU from outside CPU executes

More information

Programmable Machines

Programmable Machines Programmable Machines Silvina Hanono Wachman Computer Science & Artificial Intelligence Lab M.I.T. Quiz 1: next week Covers L1-L8 Oct 11, 7:30-9:30PM Walker memorial 50-340 L09-1 6.004 So Far Using Combinational

More information

ISA: The Hardware Software Interface

ISA: The Hardware Software Interface ISA: The Hardware Software Interface Instruction Set Architecture (ISA) is where software meets hardware In embedded systems, this boundary is often flexible Understanding of ISA design is therefore important

More information

Programmable Machines

Programmable Machines Programmable Machines Silvina Hanono Wachman Computer Science & Artificial Intelligence Lab M.I.T. Quiz 1: next week Covers L1-L8 Oct 11, 7:30-9:30PM Walker memorial 50-340 L09-1 6.004 So Far Using Combinational

More information

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

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA MIPS ISA. In a CPU. (vonneumann) Processor Organization CISC 662 Graduate Computer Architecture Lecture 4 - ISA MIPS ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,

More information

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

Lecture Topics. Announcements. Today: The MIPS ISA (P&H ) Next: continued. Milestone #1 (due 1/26) Milestone #2 (due 2/2) Lecture Topics Today: The MIPS ISA (P&H 2.1-2.14) Next: continued 1 Announcements Milestone #1 (due 1/26) Milestone #2 (due 2/2) Milestone #3 (due 2/9) 2 1 Evolution of Computing Machinery To understand

More information

Computer Organization and Technology Processor and System Structures

Computer Organization and Technology Processor and System Structures Computer Organization and Technology Processor and System Structures Assoc. Prof. Dr. Wattanapong Kurdthongmee Division of Computer Engineering, School of Engineering and Resources, Walailak University

More information

SIGNED AND UNSIGNED SYSTEMS

SIGNED AND UNSIGNED SYSTEMS EE 357 Unit 1 Fixed Point Systems and Arithmetic Learning Objectives Understand the size and systems used by the underlying HW when a variable is declared in a SW program Understand and be able to find

More information

Lecture 5. Other Adder Issues

Lecture 5. Other Adder Issues Lecture 5 Other Adder Issues Mark Horowitz Computer Systems Laboratory Stanford University horowitz@stanford.edu Copyright 24 by Mark Horowitz with information from Brucek Khailany 1 Overview Reading There

More information

Instruction Sets: Characteristics and Functions Addressing Modes

Instruction Sets: Characteristics and Functions Addressing Modes Instruction Sets: Characteristics and Functions Addressing Modes Chapters 10 and 11, William Stallings Computer Organization and Architecture 7 th Edition What is an Instruction Set? The complete collection

More information

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

Chapter 2. Instructions: Language of the Computer. HW#1: 1.3 all, 1.4 all, 1.6.1, , , , , and Due date: one week. Chapter 2 Instructions: Language of the Computer HW#1: 1.3 all, 1.4 all, 1.6.1, 1.14.4, 1.14.5, 1.14.6, 1.15.1, and 1.15.4 Due date: one week. Practice: 1.5 all, 1.6 all, 1.10 all, 1.11 all, 1.14 all,

More information

MIPS Assembly Programming

MIPS Assembly Programming COMP 212 Computer Organization & Architecture COMP 212 Fall 2008 Lecture 8 Cache & Disk System Review MIPS Assembly Programming Comp 212 Computer Org & Arch 1 Z. Li, 2008 Comp 212 Computer Org & Arch 2

More information

17.1. Unit 17. Instruction Sets Picoblaze Processor

17.1. Unit 17. Instruction Sets Picoblaze Processor 17.1 Unit 17 Instruction Sets Picoblaze Processor INSTRUCTION SET OVERVIEW 17.2 17.3 Instruction Set Review Defines the software interface of the processor and memory system Instruction set is the vocabulary

More information

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

101 Assembly. ENGR 3410 Computer Architecture Mark L. Chang Fall 2009 101 Assembly ENGR 3410 Computer Architecture Mark L. Chang Fall 2009 What is assembly? 79 Why are we learning assembly now? 80 Assembly Language Readings: Chapter 2 (2.1-2.6, 2.8, 2.9, 2.13, 2.15), Appendix

More information

Processor (I) - datapath & control. Hwansoo Han

Processor (I) - datapath & control. Hwansoo Han Processor (I) - datapath & control Hwansoo Han Introduction CPU performance factors Instruction count - Determined by ISA and compiler CPI and Cycle time - Determined by CPU hardware We will examine two

More information

EITF20: Computer Architecture Part2.1.1: Instruction Set Architecture

EITF20: Computer Architecture Part2.1.1: Instruction Set Architecture EITF20: Computer Architecture Part2.1.1: Instruction Set Architecture Liang Liu liang.liu@eit.lth.se 1 Outline Reiteration Instruction Set Principles The Role of Compilers MIPS 2 Main Content Computer

More information

ECE 450:DIGITAL SIGNAL. Lecture 10: DSP Arithmetic

ECE 450:DIGITAL SIGNAL. Lecture 10: DSP Arithmetic ECE 450:DIGITAL SIGNAL PROCESSORS AND APPLICATIONS Lecture 10: DSP Arithmetic Last Session Floating Point Arithmetic Addition Block Floating Point format Dynamic Range and Precision 2 Today s Session Guard

More information

Instruction Set Architecture ISA ISA

Instruction Set Architecture ISA ISA Instruction Set Architecture ISA Today s topics: Note: desperate attempt to get back on schedule we won t cover all of these slides use for reference Risk vs. CISC x86 does both ISA influence on performance

More information

14.1 Control Path in General

14.1 Control Path in General AGU PC FSM Configuration and status Program address Instruction Instruction decoder DM Operand & result control Exec unit ALU/MAC Results RF Control Path Design Hardware organization and micro architecture

More information

Computer Architecture

Computer Architecture CS3350B Computer Architecture Winter 2015 Lecture 4.2: MIPS ISA -- Instruction Representation Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and Design,

More information

Computer Organization CS 206 T Lec# 2: Instruction Sets

Computer Organization CS 206 T Lec# 2: Instruction Sets Computer Organization CS 206 T Lec# 2: Instruction Sets Topics What is an instruction set Elements of instruction Instruction Format Instruction types Types of operations Types of operand Addressing mode

More information

Instruction Set Principles and Examples. Appendix B

Instruction Set Principles and Examples. Appendix B Instruction Set Principles and Examples Appendix B Outline What is Instruction Set Architecture? Classifying ISA Elements of ISA Programming Registers Type and Size of Operands Addressing Modes Types of

More information

PIPELINE AND VECTOR PROCESSING

PIPELINE AND VECTOR PROCESSING PIPELINE AND VECTOR PROCESSING PIPELINING: Pipelining is a technique of decomposing a sequential process into sub operations, with each sub process being executed in a special dedicated segment that operates

More information

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

Overview. Introduction to the MIPS ISA. MIPS ISA Overview. Overview (2) Introduction to the MIPS ISA Overview Remember that the machine only understands very basic instructions (machine instructions) It is the compiler s job to translate your high-level (e.g. C program) into

More information

Computer Architecture. The Language of the Machine

Computer Architecture. The Language of the Machine Computer Architecture The Language of the Machine Instruction Sets Basic ISA Classes, Addressing, Format Administrative Matters Operations, Branching, Calling conventions Break Organization All computers

More information

Instructions: Language of the Computer

Instructions: Language of the Computer CS359: Computer Architecture Instructions: Language of the Computer Yanyan Shen Department of Computer Science and Engineering 1 The Language a Computer Understands Word a computer understands: instruction

More information

Chapter 4. The Processor. Computer Architecture and IC Design Lab

Chapter 4. The Processor. Computer Architecture and IC Design Lab Chapter 4 The Processor Introduction CPU performance factors CPI Clock Cycle Time Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS

More information

Review: MIPS Organization

Review: MIPS Organization 1 MIPS Arithmetic Review: MIPS Organization Processor Memory src1 addr 5 src2 addr 5 dst addr 5 write data Register File registers ($zero - $ra) bits src1 data src2 data read/write addr 1 1100 2 30 words

More information

CPE300: Digital System Architecture and Design

CPE300: Digital System Architecture and Design CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Arithmetic Unit 10032011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Recap Chapter 3 Number Systems Fixed Point

More information

Unit 17. Instruction Set Review INSTRUCTION SET OVERVIEW. Historical Instruction Format Options. Instruction Sets Picoblaze Processor

Unit 17. Instruction Set Review INSTRUCTION SET OVERVIEW. Historical Instruction Format Options. Instruction Sets Picoblaze Processor 17.1 17.2 Unit 17 Instruction Sets Picoblaze Processor INSTRUCTION SET OVERVIEW 17.3 17.4 Instruction Set Review Defines the software interface of the processor and memory system Instruction set is the

More information

Case study: Performance-efficient Implementation of Robust Header Compression (ROHC) using an Application-Specific Processor

Case study: Performance-efficient Implementation of Robust Header Compression (ROHC) using an Application-Specific Processor Case study: Performance-efficient Implementation of Robust Header Compression (ROHC) using an Application-Specific Processor Gert Goossens, Patrick Verbist, Erik Brockmeyer, Luc De Coster Synopsys 1 Agenda

More information

Lecture 19: Instruction Level Parallelism

Lecture 19: Instruction Level Parallelism Lecture 19: Instruction Level Parallelism Administrative: Homework #5 due Homework #6 handed out today Last Time: DRAM organization and implementation Today Static and Dynamic ILP Instruction windows Register

More information

Instructions: Language of the Computer

Instructions: Language of the Computer CS359: Computer Architecture Instructions: Language of the Computer Yanyan Shen Department of Computer Science and Engineering 1 The Language a Computer Understands Word a computer understands: instruction

More information

Introduction to C. Why C? Difference between Python and C C compiler stages Basic syntax in C

Introduction to C. Why C? Difference between Python and C C compiler stages Basic syntax in C Final Review CS304 Introduction to C Why C? Difference between Python and C C compiler stages Basic syntax in C Pointers What is a pointer? declaration, &, dereference... Pointer & dynamic memory allocation

More information

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

ECE232: Hardware Organization and Design. Computer Organization - Previously covered ECE232: Hardware Organization and Design Part 6: MIPS Instructions II http://www.ecs.umass.edu/ece/ece232/ Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Computer Organization

More information

CS31001 COMPUTER ORGANIZATION AND ARCHITECTURE. Debdeep Mukhopadhyay, CSE, IIT Kharagpur. Instructions and Addressing

CS31001 COMPUTER ORGANIZATION AND ARCHITECTURE. Debdeep Mukhopadhyay, CSE, IIT Kharagpur. Instructions and Addressing CS31001 COMPUTER ORGANIZATION AND ARCHITECTURE Debdeep Mukhopadhyay, CSE, IIT Kharagpur Instructions and Addressing 1 ISA vs. Microarchitecture An ISA or Instruction Set Architecture describes the aspects

More information

ECE 2300 Digital Logic & Computer Organization. More Single Cycle Microprocessor

ECE 2300 Digital Logic & Computer Organization. More Single Cycle Microprocessor ECE 23 Digital Logic & Computer Organization Spring 28 More Single Cycle Microprocessor Lecture 6: HW6 due tomorrow Announcements Prelim 2: Tues April 7, 7:3pm, Phillips Hall Coverage: Lectures 8~6 Inform

More information

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Departamento de Engenharia Informática for Embedded Computing MEIC-A, MEIC-T, MERC Lecture Slides Version 3.0 - English Lecture 22 Title: and Extended

More information

Lecture 4: Instruction Set Design/Pipelining

Lecture 4: Instruction Set Design/Pipelining Lecture 4: Instruction Set Design/Pipelining Instruction set design (Sections 2.9-2.12) control instructions instruction encoding Basic pipelining implementation (Section A.1) 1 Control Transfer Instructions

More information