1 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 13: Fri 10/8/2010.

Slides:



Advertisements
Similar presentations
1 - ECpE 583 (Reconfigurable Computing): XPS / MP3 Overview + Midterm Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 15:
Advertisements

TIE Extensions for Cryptographic Acceleration Charles-Henri Gros Alan Keefer Ankur Singla.
Lecture 9: Coarse Grained FPGA Architecture October 6, 2004 ECE 697F Reconfigurable Computing Lecture 9 Coarse Grained FPGA Architecture.
1 - ECpE 583 (Reconfigurable Computing): State Machines (Part 2) Iowa State University (Ames) ECpE 583 Reconfigurable Computing Lect 5: Tues 9/9/2008 (State.
SCORE - Stream Computations Organized for Reconfigurable Execution Eylon Caspi, Michael Chu, Randy Huang, Joseph Yeh, Yury Markovskiy Andre DeHon, John.
Chapter 17 Parallel Processing.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 08: RC Principles: Software (1/4) Prof. Sherief Reda.
Introduction to Parallel Processing Ch. 12, Pg
Chapter 2: Algorithm Discovery and Design
1 - ECpE 583 (Reconfigurable Computing): Placing Applications onto FPGAs, Part II Iowa State University (Ames) ECpE 583 Reconfigurable Computing Lecture.
1 - ECpE 583 (Reconfigurable Computing): Course overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 1: Wed 8/24/2011 (Course.
1 - CPRE 583 (Reconfigurable Computing): FPGA Features and Convey Computer HC-1 Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
1 - CPRE 583 (Reconfigurable Computing): Exam 1 Review Session Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 13: Wed 10/5/2011.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Archs, VHDL 3 Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
1 - CPRE 583 (Reconfigurable Computing): Floating Point Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 14: Fri 10/12/2011 (Floating.
CHAPTER 12 INTRODUCTION TO PARALLEL PROCESSING CS 147 Guy Wong page
1 - CPRE 583 (Reconfigurable Computing): Compute Models Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 7: Wed 10/28/2009 (Compute.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Systems Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 8: Wed.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Architectures Iowa State University (Ames) Reconfigurable Architectures Forces that drive.
1 - CPRE 583 (Reconfigurable Computing): VHDL to FPGA: A Tool Flow Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 5: 9/7/2011.
1 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 5: Wed 10/14/2009.
1 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 11: Wed 9/28/2011.
1 - ECpE 583 (Reconfigurable Computing): Map, Place & route Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map,
1 - CPRE 583 (Reconfigurable Computing): Compute Models Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 20: Wed 11/2/2011 (Compute.
1 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 21: Fri 11/4/2011.
1 - ECpE 583 (Reconfigurable Computing): CoreGen Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 18: Wed 10/26/2011 (CoreGen.
1 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 24: Fri 11/18/2011 (Evolvable.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
1 - CPRE 583 (Reconfigurable Computing): High-level Acceleration Approaches Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 23:
1 - CPRE 583 (Reconfigurable Computing): Compute Models Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 12: Wed 10/6/2010 (Compute.
1 - CPRE 583 (Reconfigurable Computing): Floating Point Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 18: Fri 10/27/2010 (Floating.
1 - ECpE 583 (Reconfigurable Computing): Project Introductions Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 16: Wed 10/14/2011.
Lecture 17: Dynamic Reconfiguration I November 10, 2004 ECE 697F Reconfigurable Computing Lecture 17 Dynamic Reconfiguration I Acknowledgement: Andre DeHon.
1 - CPRE 583 (Reconfigurable Computing): Design Patterns Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 19: Fri 10/28/2011 (Design.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 13, 2013 High Level Synthesis II Dataflow Graph Sharing.
1 - CPRE 583 (Reconfigurable Computing): Streaming Applications Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 10: Fri 11/13/2009.
1 - ECpE 583 (Reconfigurable Computing): Midterm Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 17: Wed 10/21/2011 (Midterm.
1 - CPRE 583 (Reconfigurable Computing): VHDL overview 1 Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 2: 8/26/2011 (VHDL Overview.
Instructor: Dr. Phillip Jones
ESE532: System-on-a-Chip Architecture
Instructor: Dr. Phillip Jones
Reconfigurable Computing (High-level Acceleration Approaches)
Instructor: Dr. Phillip Jones
CPRE 583 Reconfigurable Computing Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
CPRE 583 Reconfigurable Computing
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
CPRE 583 Reconfigurable Computing
Instructor: Dr. Phillip Jones
CPRE 583 Reconfigurable Computing
CPRE 583 Reconfigurable Computing Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
ESE532: System-on-a-Chip Architecture
Presentation transcript:

1 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 13: Fri 10/8/2010 (System Architectures) Instructor: Dr. Phillip Jones Reconfigurable Computing Laboratory Iowa State University Ames, Iowa, USA

2 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Midterm: –Take home portion (40%) given Friday 10/15, due Tue 10/20 (midnight) –In class portion (60%) Wed 10/20 Distance students will have in class portion given via a timed WebCT (2 hour) session (take on Wed, Thur or Friday). Start thinking of class projects and forming teams –Submit teams and project ideas: Mon 10/11 midnight –Project proposal presentations: Fri 10/22 MP3: PowerPC Coprocessor offload (release by Sat noon) Problem 2 of HW 2 (released by Sat noon) Announcements/Reminders

3 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Initial Project Proposal Slides (5-10 slides) Project team list: Name, Responsibility (who is project leader) –Team size: 3-4 (5 case-by-case) Project idea Motivation (why is this interesting, useful) What will be the end result High-level picture of final product High-level Plan –Break project into mile stones Provide initial schedule: I would initially schedule aggressively to have project complete by Thanksgiving. Issues will pop up to cause the schedule to slip. –System block diagrams –High-level algorithms (if any) –Concerns Implementation Conceptual Research papers related to you project idea

4 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) FPL FPT FCCM FPGA DAC ICCAD Reconfig RTSS RTAS ISCA Projects Ideas: Relevant conferences Micro Super Computing HPCA IPDPS

5 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Initial Project Proposal Slides (5-10 slides) Project team list: Name, Responsibility (who is project leader) Project idea Motivation (why is this interesting, useful) What will be the end result High-level picture of final product High-level Plan –Break project into mile stones Provide initial schedule: I would initially schedule aggressively to have project complete by Thanksgiving. Issues will pop up to cause the schedule to slip. –System block diagrams –High-level algorithms (if any) –Concerns Implementation Conceptual Research papers related to you project idea

6 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Weekly Project Updates The current state of your project write up –Even in the early stages of the project you should be able to write a rough draft of the Introduction and Motivation section The current state of your Final Presentation –Your Initial Project proposal presentation (Due Fri 10/22). Should make for a starting point for you Final presentation What things are work & not working What roadblocks are you running into

7 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Teams Formed and Idea: Mon 10/11 –Project idea in Power Point 3-5 slides Motivation (why is this interesting, useful) What will be the end result High-level picture of final product –Project team list: Name, Responsibility High-level Plan/Proposal: Fri 10/22 –Power Point 5-10 slides System block diagrams High-level algorithms (if any) Concerns –Implementation –Conceptual Related research papers (if any) Projects: Target Timeline

8 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Work on projects: 10/ /8 –Weekly update reports More information on updates will be given Presentations: Last Wed/Fri of class –Present / Demo what is done at this point –15-20 minutes (depends on number of projects) Final write up and Software/Hardware turned in: Day of final (TBD) Projects: Target Timeline

9 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Project Grading Breakdown 50% Final Project Demo 30% Final Project Report –30% of your project report grade will come from your 5-6 project updates. Friday’s midnight 20% Final Project Presentation

10 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Common Questions

11 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Common Questions

12 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Common Questions

13 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Common System Architectures Plus/Delta mid-semester feedback Overview

14 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Introduction to common System Architectures What you should learn

15 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Design patterns (previous lecture) –Why are they useful? –Examples Compute models (Abstraction) –Why are they useful? –Examples System Architectures (Implementation) –Why are they useful? –Examples Outline

16 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Design patterns (previous lecture) –Why are they useful? –Examples Compute models (Abstraction) –Why are they useful? –Examples System Architectures (Implementation) –Why are they useful? –Examples Outline

17 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) References Reconfigurable Computing (2008) [1] –Chapter 5: Compute Models and System Architectures Scott Hauck, Andre DeHon

18 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Compute Models: Help express the parallelism of an application System Architecture: How to organize application implementation System Architectures

19 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Compute model and system architecture should work together Both are a function of –The nature of the application Required resources Required performance –The nature of the target platform Resources available Efficient Application Implementation

20 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Efficient Application Implementation Application (Image Processing) Platform 1 (Vector Processor) Platform 2 (FPGA)

21 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Efficient Application Implementation Application (Image Processing) Platform 1 (Vector Processor) Platform 2 (FPGA) Compute Model System Architecture

22 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Efficient Application Implementation Application (Image Processing) Platform 1 (Vector Processor) Platform 2 (FPGA) Compute Model System Architecture

23 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Efficient Application Implementation Application (Image Processing) Platform 1 (Vector Processor) Platform 2 (FPGA) Data Flow Compute Model System Architecture Streaming Data Flow

24 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Efficient Application Implementation Application (Image Processing) Platform 1 (Vector Processor) Platform 2 (FPGA) Data Flow Compute Model System Architecture Streaming Data Flow

25 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Efficient Application Implementation Application (Image Processing) Platform 1 (Vector Processor) Platform 2 (FPGA) Compute Model System Architecture

26 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Efficient Application Implementation Application (Image Processing) Platform 1 (Vector Processor) Platform 2 (FPGA) Compute Model System Architecture Data Parallel Vector

27 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Efficient Application Implementation Application (Image Processing) Platform 1 (Vector Processor) Platform 2 (FPGA) Data Flow Compute Model System Architecture Streaming Data Flow

28 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Efficient Application Implementation Application (Image Processing) Platform 1 (Vector Processor) Platform 2 (FPGA) Data Flow Compute Model System Architecture Streaming Data Flow

29 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Efficient Application Implementation Application (Image Processing) Platform 1 (Vector Processor) Platform 2 (FPGA) Data Flow Compute Model System Architecture Streaming Data Flow XX +

30 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Data presence – variable length connections between operators – data rates vary between operator implementations –data rates varying between operators Datapath sharing –not enough spatial resources to host entire graph –balanced use of resources (e.g. operators) –cyclic dependencies impacting efficiency Interconnect sharing –Interconnects are becoming difficult to route –Links between operators infrequently used –High variability in operator data rates Streaming coprocessor –Extreme resource constraints Implementing Streaming Dataflow

31 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Data Presence XX +

32 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Data Presence XX + data_ready

33 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Data Presence XX + data_ready FIFO data_ready

34 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Data Presence XX + data_ready FIFO data_ready stall

35 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Data Presence XX + data_ready FIFO data_ready stall Flow control: Term typical used in networking

36 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Data Presence XX + data_ready FIFO data_ready stall Flow control: Term typical used in networking Increase flexibility of how application can be implemented

37 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Data presence – variable length connections between operators – data rates vary between operator implementations –data rates varying between operators Datapath sharing –not enough spatial resources to host entire graph –balanced use of resources (e.g. operators) –cyclic dependencies impacting efficiency Interconnect sharing –Interconnects are becoming difficult to route –Links between operators infrequently used –High variability in operator data rates Streaming coprocessor –Extreme resource constraints Implementing Streaming Dataflow

38 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Datapath Sharing XX +

39 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Datapath Sharing XX + Platform may only have one multiplier

40 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Datapath Sharing X + Platform may only have one multiplier

41 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Datapath Sharing X + Platform may only have one multiplier REG

42 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Datapath Sharing X + Platform may only have one multiplier REG FSM

43 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Datapath Sharing X + Platform may only have one multiplier REG FSM Important to keep track of were data is coming!!

44 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Data presence – variable length connections between operators – data rates vary between operator implementations –data rates varying between operators Datapath sharing –not enough spatial resources to host entire graph –balanced use of resources (e.g. operators) –cyclic dependencies impacting efficiency Interconnect sharing –Interconnects are becoming difficult to route –Links between operators infrequently used –High variability in operator data rates Streaming coprocessor –Extreme resource constraints Implementing Streaming Dataflow

45 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Interconnect sharing XX +

46 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Interconnect sharing XX + Need more efficient use of interconnect

47 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Interconnect sharing XX + Need more efficient use of interconnect

48 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Interconnect sharing XX + Need more efficient use of interconnect FSM

49 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Data presence – variable length connections between operators – data rates vary between operator implementations –data rates varying between operators Datapath sharing –not enough spatial resources to host entire graph –balanced use of resources (e.g. operators) –cyclic dependencies impacting efficiency Interconnect sharing –Interconnects are becoming difficult to route –Links between operators infrequently used –High variability in operator data rates Streaming coprocessor –Extreme resource constraints Implementing Streaming Dataflow

50 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) See SCORE chapter 9 of text for an example. Streaming coprocessor

51 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Typically thought of in the context of sequential programming on a processor (e.g. C, Java programming) Key to organizing synchronizing and control over highly parallel operations –Time multiplexing resources: when task to too large for computing fabric –Increasing data path utilization Sequential Control

52 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Sequential Control X XX + + AX BC

53 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Sequential Control X XX + + AX BC A*x 2 + B*x + C

54 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Sequential Control X XX + + AX BC A*x 2 + B*x + C X + A X B C

55 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Finite State Machine with Datapath (FSMD) A*x 2 + B*x + C X + A X B C

56 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Finite State Machine with Datapath (FSMD) A*x 2 + B*x + C X + A X B C FSM

57 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Finite State Machine with Datapath (FSMD) Very Long Instruction Word (VLIW) data path control Processor Instruction augmentation Phased reconfiguration manager Worker farm Sequential Control: Types

58 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) See 5.2 of text for this architecture Very Long Instruction Word (VLIW) Datapath Control

59 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Processor

60 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Instruction Augmentation

61 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Will see more detail with SCORE architecture from chapter 9 of text. Phased Configuration Manager

62 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Chapter 5.2 of text Worker Farm

63 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) See chapter 5.2 for more detail Bulk Synchronous Parallelism

64 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Single Program Multiple Data Single Instruction Multiple Data (SIMD) Vector Vector Coprocessor Data Parallel

65 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Data Parallel

66 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Data Parallel

67 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Data Parallel

68 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Data Parallel

69 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Cellular Automata

70 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Multi-threaded

71 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Next Lecture

72 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Questions/Comments/Concerns Write down –Main point of lecture –One thing that’s still not quite clear –If everything is clear, then give an example of how to apply something from lecture OR

73 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) Lecture Notes Add CSP/Mulithread as root of a simple tree 15+5(late start) minutes of time left Think of one to two in class exercise (10 min) –Data Flow graph optimization algorithm? –Dead lock detection on a small model? Give some examples of where a given compute model would map to a given application. –Systolic array (implement) or Dataflow compute model) –String matching (FSM) (MISD) New image for MP3, too dark of a color