& Microelectro nics and Embedded Systems M 2 μP - Multithreading Microprocessor Thesis Presentation Embedded Systems Research Group Department of Industrial Electronics School of Engineering, University of Minho, Guimarães - Portugal Microelectronics and Embedded Systems Industrial Systems Engineering, Asian Institute of Technology, Pathum Thani - Thailand Filipe Salgado
33
Embed
& Microelectronics and Embedded Systems M 2 μP - Multithreading Microprocessor Thesis Presentation Embedded Systems Research Group Department of Industrial.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
&Microelectronics and Embedded
Systems
M2μP - Multithreading Microprocessor
Thesis Presentation
Embedded Systems Research Group
Department of Industrial Electronics
School of Engineering,
University of Minho, Guimarães - Portugal
Microelectronics and Embedded Systems
Industrial Systems Engineering,
Asian Institute of Technology,
Pathum Thani - Thailand
Filipe Salgado
&Microelectronics and Embedded
Systems
Summary
1. Objectives of Study2. Processor’s characteristics3. Methodology4. Customizable features
1. Front-end2. Execution engine3. Caches
5. Conclusions6. Future perspectives
&Microelectronics and Embedded
Systems
1. Objectives of Study
• Horizontal design goals (long-term):
•Design a processor template suitable for integration on a Design Space Exploration (DSE) tool
•High level of customization to fit application’s specifications constraints (high-performance vs low power, etc)
&Microelectronics and Embedded
Systems
1. Objectives of Study
• Vertical design goals (short-term):
•Low power microprocessor
•Multi-thread processing
•Flexible Instruction Set Architecture (ISA)
•Easilly Customizable
&Microelectronics and Embedded
Systems
2. Processor’s characteristics
1. 16-bit RISC architecture
2. Three stage pipeline
3. Load/store architecture
4. Multi-threading execution
5. Eight general purpose registers
&Microelectronics and Embedded
Systems
2. Processor’s characteristics
6. Two operational modes1. Privileged
2. Protected
7. Twelve external interrupts
8. Four interrupt priority levels
&Microelectronics and Embedded
Systems
2. Processor’s characteristics
9. 128 KB addressable code space
10.128 KB addressable data space
11.Separate Instruction and Data caches
&Microelectronics and Embedded
Systems
2. Processor’s characteristics
&Microelectronics and Embedded
Systems
3. Methodology
• This implementation requires a great design and implementation effort
• Workload divided in three parts
• Front-end, by Paulo Garcia• Execution engine, by Tiago Gomes• Memory hierarchy, by Filipe Salgado
&Microelectronics and Embedded
Systems
3. Methodology
• High customization level
• Making the processor proper to the specific purpose
• Allows savings in:• Area• Fabrication costs• Power consumption
&Microelectronics and Embedded
Systems
3. Methodology
• High customization level
• Front-end customizations
• Number of hardware supported threads
• Controllable thread scheduling policy
• Easy addition of new instructions
&Microelectronics and Embedded
Systems
3. Methodology
• High customization level
• Execution Engine customizations
• Reconfigurable ALU to target:
– Performance
– Low power consumption
&Microelectronics and Embedded
Systems
3. Methodology
• High customization level
• Execution Memory Hierarchy
• Easy Instruction and Data cache modification
– Three different organizational architectures
– Storage capacity
&Microelectronics and Embedded
Systems
4. Customizable features
• Front-end customization•To add a new instruction the following steps must be performed:
• 1 - Define the opcode so it won’t cause an “illegal instruction” exception
• 2 - Define the operand format• 3 - Add control codes generation
&Microelectronics and Embedded
Systems
4. Customizable features
• 1-Define the opcode so it won’t cause an “illegal instruction” exception
&Microelectronics and Embedded
Systems
4. Customizable features
• 2 - Define the operand format
&Microelectronics and Embedded
Systems
4. Customizable features
• 2 - Define the operand format
&Microelectronics and Embedded
Systems
4. Customizable features
• 3 – Add control codes generation
&Microelectronics and Embedded
Systems
4. Customizable features
• ALU customization
•ALU can be modified to target performance or low power consumption
•Also further techniques can be applied to reduce power consumption
&Microelectronics and Embedded
Systems
4. Customizable features
• The ALU’s output (defined by a pre-processor directive)
•Tree structured
• Depending on the operation thecorrect Functional Unit’soutput is selected
&Microelectronics and Embedded
Systems
4. Customizable features
• Chain structured•Normally used for low power applications
• Occupies less area than tree structure
&Microelectronics and Embedded
Systems
4. Customizable features
• ALU power consumption reduction techniques
•Gating logic
• Gating all the input signals of each Functional Unit with transmission gates
• When a Functional Unit is not being used, its input will be in a High Z state
&Microelectronics and Embedded
Systems
4. Customizable features
• ALU power consumption reduction techniques•Repositioning functional units in the chain• Application profiling• Place the FUs most frequently used closest to the output
• Reducing the signal switching
&Microelectronics and Embedded
Systems
4. Customizable features
• Repositioning functional units in the chain• It’s easy to change the position of a FUassign M0_out = (op == `ADD_ALU || op==`SUB_ALU)? adder_out : M1_out;assign M1_out = (op == `AND_ALU) ? and_out : M2_out;assign M2_out = (op == `RR_ALU ) ? rotR_out : M3_out;assign M3_out = (op == `OR_ALU ) ? or_out : M4_out;