Instruction Packing for a 32-bit Stack-Based Processor Witcharat Lertteerawattana and Prabhas Chongstitvatana Department of Computer Engineering Chulalongkorn.

Slides:



Advertisements
Similar presentations
Machine cycle.
Advertisements

Control Unit Implemntation
Instruction Set Design
CPU Review and Programming Models CT101 – Computing Systems.
RISC and Pipelining Prof. Sin-Min Lee Department of Computer Science.
ISA Issues; Performance Considerations. Testing / System Verilog: ECE385.
System Clock, clock speed, Word Length & Bus Width.
Chapter 16 Control Unit Operation No HW problems on this chapter. It is important to understand this material on the architecture of computer control units,
Lecture 14: Review Intro to IT COSC1078 Introduction to Information Technology Lecture 14 Revision and Review James Harland
Microprogramming Andreas Klappenecker CPSC321 Computer Architecture.
Chapter 16 Control Unit Implemntation. A Basic Computer Model.
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
10/18/2005Comp 120 Fall October Questions? Instruction Execution.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
Instruction Set Architecture (ISA) for Low Power Hillary Grimes III Department of Electrical and Computer Engineering Auburn University.
Chapter 15 IA 64 Architecture Review Predication Predication Registers Speculation Control Data Software Pipelining Prolog, Kernel, & Epilog phases Automatic.
CSc 453 Interpreters & Interpretation Saumya Debray The University of Arizona Tucson.
The MSP430xxxx Department of Electrical and Computer Engineering
Design and Synthesis of a RISC Stored-Program Machine
Compressed Instruction Cache Prepared By: Nicholas Meloche, David Lautenschlager, and Prashanth Janardanan Team Lugnuts.
Fetch Execute Cycle Travis Griffiths. Naming Conventions and Disclaimer Individual registers in a particular CPU will have different names depending on.
AVR Microcontroller and Embedded System Using Assembly and C Mazidi, Naimi, and Naimi © 2011 Pearson Higher Education, Upper Saddle River, NJ All.
Part 1.  Intel x86/Pentium family  32-bit CISC processor  SUN SPARC and UltraSPARC  32- and 64-bit RISC processors  Java  C  C++  Java  Why Java?
Machine Instruction Characteristics
Computer Organization CS345 David Monismith Based upon notes by Dr. Bill Siever and notes from the Patterson and Hennessy Text.
Computer Architecture Lecture 9 by Engineer A. Lecturer Aymen Hasan AlAwady 10/2/2014 University of Kufa - Information Technology Research and Development.
Computer Organization CS224 Fall 2012 Lesson 26. Summary of Control Signals addsuborilwswbeqj RegDst ALUSrc MemtoReg RegWrite MemWrite Branch Jump ExtOp.
Part 1.  Intel x86/Pentium family  32-bit CISC processor  SUN SPARC and UltraSPARC  32- and 64-bit RISC processors  Java  C  C++  Java  Why Java?
Multiple-Cycle Hardwired Control Digital Logic Design Instructor: Kasım Sinan YILDIRIM.
Important Concepts  Parts of the CPU  Arithmetic/Logic Unit  Control Unit  Registers  Program Counter  Instruction Register  Fetch/Decode/Execute.
Input-Output Organization
Microprocessor Microprocessor (cont..) It is a 16 bit μp has a 20 bit address bus can access upto 220 memory locations ( 1 MB). It can support.
Lecture 11: 10/1/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
©2010 Akula LLC, Jeremy R. Hertzberg, BS CMPE Computer Technology Central Processor Unit
Chapter 11 Instruction Sets: Addressing Modes and Formats Gabriel Baron Sydney Chow.
Reduction of Register File Power Consumption Approach: Value Lifetime Characteristics - Pradnyesh Gudadhe.
Computer Architecture Lecture 5 by Engineer A. Lecturer Aymen Hasan AlAwady 25/11/2013 University of Kufa - Informatics Center for Research and Rehabilitation.
Basic Elements of Processor ALU Registers Internal data pahs External data paths Control Unit.
Hardwired Control Department of Computer Engineering, M.S.P.V.L Polytechnic College, Pavoorchatram. A Presentation On.
CMPE 421 REVIEW: MIDTERM 1. A MODIFIED FIVE-Stage Pipeline PC A Y R MD1 addr inst Inst Memory Imm Ext add rd1 GPRs rs1 rs2 ws wd rd2 we wdata addr wdata.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
RISC / CISC Architecture by Derek Ng. Overview CISC Architecture RISC Architecture  Pipelining RISC vs CISC.
CISC. What is it?  CISC - Complex Instruction Set Computer  CISC is a design philosophy that:  1) uses microcode instruction sets  2) uses larger.
BASIC COMPUTER ARCHITECTURE HOW COMPUTER SYSTEMS WORK.
Computer Architecture
Instruction Set Architectures Continued. Expanding Opcodes & Instructions.
EEL 4709C Prof. Watson Herman Group 4 Ali Alshamma, Derek Montgomery, David Ortiz 11/11/2008.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
A Closer Look at Instruction Set Architectures
A Closer Look at Instruction Set Architectures
Processor Architecture: Introduction to RISC Datapath (MIPS and Nios II) CSCE 230.
Improving java performance using Dynamic Method Migration on FPGAs
Improving Program Efficiency by Packing Instructions Into Registers
Introduction to Micro Controllers & Embedded System Design Stored Program Machine Department of Electrical & Computer Engineering Missouri University.
Design of the Control Unit for Single-Cycle Instruction Execution
The fetch-execute cycle
Instruction cycle Instruction: A command given to the microprocessor to perform an operation Program : A set of instructions given in a sequential.
Computer Organization and ASSEMBLY LANGUAGE
8086 Ahad.
CSc 453 Interpreters & Interpretation
Computer Architecture and the Fetch-Execute Cycle
8085 MICROPROCESSOR 8085 CPU Registers and Status Flags S Z AC P C A B
Classification of instructions
RECONFIGURABLE NETWORK ON CHIP ARCHITECTURE FOR AEROSPACE APPLICATIONS
October 29 Review for 2nd Exam Ask Questions! 4/26/2019
CS-401 Computer Architecture & Assembly Language Programming
William Stallings Computer Organization and Architecture
Presentation transcript:

Instruction Packing for a 32-bit Stack-Based Processor Witcharat Lertteerawattana and Prabhas Chongstitvatana Department of Computer Engineering Chulalongkorn University

Motivation A stack-based processor (aka JVM) has many advantages High-level instruction set Simple and low cost data path Code is compact Disadvantage: limited performance

Motivation 2 In embedded systems, memory is a critical resource. Stack-based instruction set is compact. We propose instruction packing to compress the code segment. The proposed processor is implemented based on FPGA devices.

Reference Processor

Instruction Type (Length) Instruction Encoding Entry Type Instruction Type (Length) 00 No operation 01 Short Instruction 10 Medium Instruction 11 Long Instruction

Instruction Encoding 2 Added Entry-Type at front of each byte

Instruction Cycle

Decoding State (0)

Decoding State (1)

Modified Jump Next-Byte opcode

Byte-Pointer Register

Packed Instruction

Performance

Comparing the number of cycles Program Ref. Processor Packed Inst. Processor Increased (%) Bubble 59763 69061 15.58 Quick 21103 22373 6.02 Hanoi 52739 63040 19.52 Matmul 72260 91220 20.78

Comparing the code size (in byte) Program Ref. Processor Packed Inst. Processor Reduced (%) Bubble 316 224 29.11 Quick 540 344 36.30 Hanoi 424 324 23.58 Matmul 784 556 29.08

Comparing the number of instruction fetch Program Ref. Processor Packed Inst. Processor Reduced (%) Bubble 12549 8414 32.95 Quick 4542 3134 31.00 Hanoi 11005 8121 26.21 Matmul 15612 8563 45.15

Conclusion Code size reduced Amount of Instruction Fetch reduced 29.5% Amount of Instruction Fetch reduced 33.8% Speed also slightly reduced 15.4%