SlideShare ist ein Scribd-Unternehmen logo
1 von 4
Downloaden Sie, um offline zu lesen
IJMTST Volume: 2 | Issue: 07 | July 2016 | ISSN: 2455-3778
Improving Code Compression
Efficiency of MIPS32 Processor
using Modified ISA
Ramani. G1
| Dr. K. Geetha2
1Department of Electrical Engineering, Nandha Engineering College, Erode, India.
2Department of Electrical & Electronics Engineering, Karpagam Institute of Technology, Coimbatore, India.
ABSTRACT
Embedded systems place major role in real world technology. In this memory and code size minimization
reduces the complexity of the system. Code compression techniques address this issue by reducing the
code size of application programs .Large code occupies more space in the Chip and also causes higher
power consumption because of increased memory traffic. In this paper, a modified architecture is proposed
for MIPS32 processor by replacing the Load-store Architecture with Register-store Architecture for some of
the instructions. Using Simple Scalar performance simulator we achieved 67.5% of compression efficiency
for MIPS32 processor with the help of modified ISA.
Copyright © 2016 International Journal for Modern Trends in Science and Technology
All rights reserved.
I. INTRODUCTION
Memory is one of the major driving factors in
embedded system design since a larger memory
indicates an increased chip area, more power
dissipation, and higher cost. Use of embedded
systems has increased rapidly in several
applications, ranging from small hand held
products to sophisticated medical equipments
and aerospace. Though performance is important,
it is not critical in several embedded systems such
as cameras, video game consoles, cell phones,
personal data assistants. Instead, cost, power
consumption and physical dimensions are the
critical factors.
The code size is one of the factors that affect the
chip space and power consumption since the
program memory is on-chip in most embedded
systems. If the code size increases, numberof
instructions fetched also increases thereby
increasing the power consumption. High power
consumption also leads to increased operating
temperature since it is not practical to use cooling
fans in most embedded systems. Operating these
systems for long duration may also cause reliability
problems apart from reducing the battery life.
Considering these issues, it is essential that
processor designers need to suitably modify the
existing MIPS processors thereby making them
more suitable for embedded systems.
II. CODE SIZE AND MIP S32 BIT PROCESSOR
Presently MIPS32 processors are used as
embedded processors since they offer high
performance. Originally, the Load-Store
Architecture was chosen[3] for MIPS32 processors
with an aim to simplify and minimize the
processor hardware circuitry so as to house the
entire processor on a single chip. The LSA also
enables easy implementation of instruction
pipelining that increases processor performance.
The LSA is undesirable for embedded systems
because of its impact on code size. In LSA, only load
and store instructions can access memory operands
and the arithmetic or logical instructions can access
register operands only. Since arithmetic and logical
operations on memory operands are not permitted in
LSA, the compiler places a load instruction, before
an add instruction, to move the data from memory to
register. Similarly, the result of an add instruction is
stored by the processor in a register. Hence a store
instruction has to be placed, after the add
instruction, by the compiler, for moving the result to
main memory. This practice results in too many load
and store instructions also known as data transfer
instructions.
A register memory architecture allows operations
to be performed on (or from) memory, as
132 International Journal for Modern Trends in Science and Technology
Improving Code Compression Efficiency of MIPS32 Processor using Modified ISA
well as registers. If the architecture allows all
operands to be in memory or in registers, or in
combinations, it is called a "register plus memory"
architecture[5].In a register memory approach one
of the operands for ADD operation may be in
memory, while the other is in a register. This
differs from a load/store architecture (used by
RISC designs such as MIPS) in which both
operands for an ADD operation must be in
registers before the ADD.
The Intel x86, a typical CISC processor with
Register-Memory architecture (RMA) needs 50.6
kB of code, while the RISC processors ARM need
68.2kBcode.
A. MIPS32 Instructions(ISA and RMA format)
The original MIPS I CPU ISA has been extended in
a backward-compatible fashion several times: MIPS
II, MIPS III, MIPS IV and micro MIPS. Each new
architecture level (or version) includes the former
levels described in MIPS website. The discussions
below restrict to integer instructions of MIPS to
maintain simplicity. Figure 1 shows the instruction
format used by MIPS32 processor[8].
There are four different „Add‟ instructions in
MIPS. The first two instructions, ADD and ADDU,
follow R-Type format. In both these instructions,
two register contents are added. The ADD can
cause overflow exception in which case, there is
no result; for the ADDU, overflow cannot occur.
The ADDI and ADDIU follow I- Type format. These
two instructions add register content with an
immediate operand present in the instruction.
31-2
6 25-21 20-16 15-11 10-3 2-0
OP Rs-l Rt-rm Rd-r Offset-l Opx-rm
Fig. 4 RMA Instruction Format – RM Type
31-2 20-1 15-
6 25-21 6 8 7-0
OP Rt-i Rs-l Offset-1 Immediate
Fig.4 RMA Instruction Format – IM Type ADD rm
Instruction
Type -31- format (bits) -0-
R opcode (6) rs (5) rt (5) rd (5) shamt (5) funct (6)
I opcode (6) rs (5) rt (5) immediate (16)
J opcode (6) address (26)
Fig.1 MIPS32 Instructions ISA Format
Addition is available both in R-Type format
and I-Type format as shown in Fig.2 and Fig.3
respectively [11]. In R-type addition, both the
source operands (Rs-r and Rt-r) are available in
registers and the result is placed in the
destination register Rd-r. In I-type addition, one
source operand is in a register Rs-i and the other
source operand is available in the instruction as
immediate operand. The result is stored in the
destination register, Rt-i. MIPS document gives
the entire instruction set of MIPS, also indicating
the unused opcodes.
OP Bits Bits Bits Bits Bits 5-0
(Bits 25- 20- 15- 10-6
31-26) 21 16 11
0‟s Rs-r Rt-r Rd-r 0‟s 100000
Fig. 2 R-Type ADD Instruction
Bit
Opcode s Bits Bits
(bits (20-16
31- (25-21) ) (15-0)
26)
001000 Rs-i Rt-i Immediate
Fig.3 I-Type ADD Instruction
III. RELATED WORK
To reduce the code size we used twomethods
1.Compression Technique 2.ModifiedISA
A. Compression Technique
Using Static and Dynamic frequency based
algorithm combined with bit mask and Dictionary
algorithm ,the compression ratio of the MIPS32
Processor is calculated[9].The Experimental result
shows that our proposed system achieves up to
67% compression efficiency using Simple Scalar
performance simulator and LSA instructions The
performance were measured for various
benchmarks from various suites and it is
compiled for Alpha Instruction set (ISA)[4]. The
benchmark programs employed were gsm-to,
epic,mpeg2dec, djpec and cjpec.
B. Modified ISA
The 32-bit MIPS instructions are mapped to
16-bit MIPS instructions which can be translated
in real-time into 32-bit MIPS instructions[5]. This
approach involves a new instruction set and
requires a new instruction decoder, a new set of
software development tools, such as a compiler,
an assembler, and a linker. A code saving of up to
40% has been reported. However, the dense
instruction sets often cause performance penalties
due to lack of instructions during compilation.
Also, the processor hardware needs additional
133 International Journal for Modern Trends in Science and Technology
IJMTST
decoder/decompression logic to support both ISA
.It offers a new ISA that supports both 16-bit and
32-bit instructions in a single program. However,
its new instructions have certain restrictions as
regard to number of registers[7].
A five stage instruction cycle sequence shown in
Fig.6 is commonly followed in RISC processors[1]. An
instruction is active at any instant in only one of the
stages. During IF, the instruction is fetched from the
code memory. During ID, instruction decoding is
done and also register operands are fetched. During
EX, either instruction execution or address
calculation is done depending on the instruction
type. During MEM, data memory is accessed if
relevant. During WB, the result (if applicable) is
stored in a register.
IF ID EX MEM WB
Write
resul
t
Perform in
Additio regis
n ter
ID,
ADD IF RF - - EX WB
ID,
LOAD IF RF AC MEM - WB
ID,
STORE IF RF AC MEM - -
Figure 6. Typical 5-stage Instruction
Sequence
The traditional RISC pipeline sequence has to be
rearranged to suit both LSA and RMA instructions,
interchanging the Data memory access and Execute
stages. Fig.7 shows a proposed 6-stage pipeline that
supports the RMA Register-Memory instructions, for
RISC processors.
Let us consider the pipeline action for the ADD-
RM instruction. The first two stages are similar to
the RISC pipeline. In the third stage (AC), memory
address, for the memory operand, is calculated by
a small address adder and in the fourth stage
(MEM), the memory operand is fetched from the
data memory. In the fifth stage (EX), addition is
carried out and in the last stage (WB), the result is
stored in destination register.
Fig.9 shows the execution of LSA instructions in the
new pipeline. For the LSA ADD[11] instruction,
Volume: 2 | Issue: 07 | July 2016 | ISSN: 2455-3778
the AC and MEM cycles are unused. Compared to
a 5-stage RISC pipeline, one additional clock cycle
is wasted for LSA instructions in the 6-stage RMA
pipeline.
IF ID AC EX MEM WB
Fig.7 Typical 6-stage Instruction
Sequence
The unused internal cycles do not directly affect
performance, since they do not cause pipeline stalls.
However, a slight performance decrease is expected
due to increase in pipeline length in view of
increased frequency of dependencies between
successive instructions. It is a question of choice
between performance and code siz[2]e. For
embedded systems, code size is more significant,
and hence the increase in execution time by one
cycle is tolerable. An alternate approach is possible
for the RMA pipeline with 5 stages as shown in fig. 9
in which the EX and MEM stages are combined as a
single MEM/EX stage to improve the efficiency of the
RMA pipeline for the LSA instructions.
IF ID AC EX/ WB
MEM
Figure 9 Execution of LSA Instruction in 5 –
Stage RMA Pipeline
The unused internal cycles do not directly affect
performance, since they do not cause pipeline stalls.
However, a slight performance decrease is expected
due to increase in pipeline length in view of
increased frequency of dependencies between
successive instructions. It is a question of choice
between performance and code size. For embedded
systems, code size is more significant, and hence the
increase in execution time by one cycle is tolerable
[6]. An alternate approach is possible for the RMA
pipeline with 5 stages as shown in fig. 9 in which the
EX and MEM stages are combined as a single
MEM/EX stage to improve the efficiency of the RMA
pipeline for the LSA instructions.
The redesigning of processor cores,
modifications are required in the existing
compilers and associated program development
tools. The hardware changes for supporting the
RMA arithmetic/logical instructions will cause
performance penalty to processors
134 International Journal for Modern Trends in Science and Technology
Improving Code Compression Efficiency of MIPS32 Processor using Modified ISA
IV. SIMULATION OF INSTRUCTIONS
The extent of code size reduction due to the use of
RMA Arithmetic instructions depend on the
frequency of generation of these instructions by the
new compiler. This also varies with the nature of
embedded programs. Simulation studies have been
performed with various benchmark programs for
estimating the code size reduction. Again by using
performance simulation toolRMA instructions are
simulated. The performance simulation tool scans
the scope of the RMA instructions in the given
program.Before simulation, the tool automatically
calculates the number of RMA cases which shows
the compressed program size.
V. CONCLUSION AND FUTURE WORK
This paper advocates implementation of
register – memory architecture for embedded
processors for low power embedded systems in
view of the need for reduced chip size and lower
power consumption. Encoding of appropriate
new instructions and pipeline modifications of
existing RISC processors to support RMA
arithmetic/logical instructions is recommended.
The measurement with the C programs in
MiBench suite gives over 23% of code space
reduction. This is an additional savings in
addition to other techniques of code space
reduction. Combining the RMA technique with
MIPS32 Architecture will yield over
67.5%ofcompression efficiency. This results in
proportional chip space savings and equivalent
power reduction.
TABLE 1. Compression Ratio in RMA for MIPS32
Bit Processor
%
Original Compressed Compression
program program Ratio
Bench Size (bytes) size(bytes) B/A
marks A B
gsm-to 27256 16490 60.5
epic 40896 27605 67.5
Mpeg2dec 47300 28380 60
djpec 50836 32027 63
Designing a new processor is the answer to the
needs of embedded systems. A study of existing
RISC processors gives a clue to the specifications
of a new processor. The instruction format affects
the code size and the processor performance.
While choosing the instruction formats, the
processor architect considers following factors:
code size, processor design complexity, processor
performance and compiler
complexity. The number of registers and the
addressing modes affect the length of the
instruction and compiler simplicity. Similarly
the number of operands per instruction affects
the instruction length and code size[3]. The
instruction size, number of instruction formats
and addressing modes determine the complexity
of instruction decoding and the difficulty of
pipelining. The number of registers determines
the extent of help to the compiler to generate
efficient object code.
REFERENCES
[1] Cheng Hong Li Steven M. Nowick “An Architecture
Oriented Approach to Code Compression for
Embedded Processors”, Handout by Julie Zelenski
with minor edits by Keith Schwarz” Huffman
Encoding and Data Compression” May 23,2012
[2] Xiaoke Qin, Member, IEEE, Chetan Muthry,
andPrabhat Mishra “Decoding-Aware Compression
of FPGA Bitstreams” IEEE transactions on very
large scale integration (vlsi) systems, vol. 19, no. 3,
march 2011.
[3] Mridul Kumar Mathur, Seema Loonker, Dr.Dheeraj
Saxena “Lossless Huffman Coding Technique For
Image Compression And Reconstruction Using
Binary Trees”, ISSN:2229-6093,MARCH 2012
[4] B.Govindarajalu, “Computer Architecture: and
Organization: Design Principles and Applications”,
Second Edition, Mc Graw-Hill publishers, 2010.
[5] Kanad Basu, Student Member, IEEE, and Prabhat
Mishra” Test Data Compression Using
Efficient Bitmask and Dictionary Selection
Methods” IEEE transactions on very large scale
integration (VLSI) systems, vol. 18, no.
9,September 2010.
[6] J. Heikkinen, J.Takala, and H.Corporaal,
“Dictionary based program compression on
customizable processor architectures”,
Microprocessors and Microsystems, vol. 33, pp. 139
– 153, 2009.
[7] Seok-Won Seong and Prabhat Mishra, ”Bitmask
–Based Code Compression for Embedded Systems”
IEEE transactions on computer-aided design of
integrated circuits and systems, Vol. 27, NO. 4,
April 2008.
[8] Seok-Won Seong Prabhat Mishra” An Efficient Code
Compression Technique using Application-Aware
Bitmask and Dictionary Selection Methods” ISDN
978-3-9810801-2-4/DATE0, 2007
[9] J.L.Hennessy and D.A.Patterson, “Computer
Architecture: A quantitative Approach”, Fourth
edition,Morgan Kaufmann publishers, 2007.
[10]“MicroMIPS Instruction Set Architecture”, MIPS
Technologies, Inc., October, 2009
[11]Seok-Won Seong Prabhat Mishra “An Efficient Code
Compression Technique using Application Aware
Bitmask and Dictionary Selection Methods” ISDN
978- 3-9810801-2-4/DATE0,2007.
135 International Journal for Modern Trends in Science and Technology

Weitere ähnliche Inhalte

Was ist angesagt?

Arm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_armArm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_arm
Prashant Ahire
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
ijceronline
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD Editor
 
Risc cisc Difference
Risc cisc DifferenceRisc cisc Difference
Risc cisc Difference
Sehrish Asif
 
Arm architecture overview
Arm architecture overviewArm architecture overview
Arm architecture overview
Sunil Thorat
 

Was ist angesagt? (20)

Ppt
PptPpt
Ppt
 
ARM Architecture
ARM ArchitectureARM Architecture
ARM Architecture
 
Arm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_armArm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_arm
 
ARM architcture
ARM architcture ARM architcture
ARM architcture
 
16bit RISC Processor
16bit RISC Processor16bit RISC Processor
16bit RISC Processor
 
Design & Simulation of RISC Processor using Hyper Pipelining Technique
Design & Simulation of RISC Processor using Hyper Pipelining TechniqueDesign & Simulation of RISC Processor using Hyper Pipelining Technique
Design & Simulation of RISC Processor using Hyper Pipelining Technique
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
 
Risc cisc Difference
Risc cisc DifferenceRisc cisc Difference
Risc cisc Difference
 
Risc processors
Risc processorsRisc processors
Risc processors
 
Unit II Arm7 Thumb Instruction
Unit II Arm7 Thumb InstructionUnit II Arm7 Thumb Instruction
Unit II Arm7 Thumb Instruction
 
Unit vi (2)
Unit vi (2)Unit vi (2)
Unit vi (2)
 
Benchmark Processors- VAX 8600,MC68040,SPARC and Superscalar RISC
Benchmark Processors- VAX 8600,MC68040,SPARC and Superscalar RISCBenchmark Processors- VAX 8600,MC68040,SPARC and Superscalar RISC
Benchmark Processors- VAX 8600,MC68040,SPARC and Superscalar RISC
 
Risc and cisc eugene clewlow
Risc and cisc   eugene clewlowRisc and cisc   eugene clewlow
Risc and cisc eugene clewlow
 
The sunsparc architecture
The sunsparc architectureThe sunsparc architecture
The sunsparc architecture
 
02 : ARM Cortex M4 Specs || IEEE SSCS AlexSC
02 : ARM Cortex M4 Specs || IEEE SSCS AlexSC 02 : ARM Cortex M4 Specs || IEEE SSCS AlexSC
02 : ARM Cortex M4 Specs || IEEE SSCS AlexSC
 
Comparative Study of RISC AND CISC Architectures
Comparative Study of RISC AND CISC ArchitecturesComparative Study of RISC AND CISC Architectures
Comparative Study of RISC AND CISC Architectures
 
Arm architecture
Arm architectureArm architecture
Arm architecture
 
Arm architecture overview
Arm architecture overviewArm architecture overview
Arm architecture overview
 
Introduction to arm processor
Introduction to arm processorIntroduction to arm processor
Introduction to arm processor
 

Andere mochten auch

Smart Millennials and their Changing Shopping Trends: A Case of Millennial St...
Smart Millennials and their Changing Shopping Trends: A Case of Millennial St...Smart Millennials and their Changing Shopping Trends: A Case of Millennial St...
Smart Millennials and their Changing Shopping Trends: A Case of Millennial St...
IJMTST Journal
 
Adaptive Variable Speed Control Scheme for Wind Based on PFC of BLDC Drive Ap...
Adaptive Variable Speed Control Scheme for Wind Based on PFC of BLDC Drive Ap...Adaptive Variable Speed Control Scheme for Wind Based on PFC of BLDC Drive Ap...
Adaptive Variable Speed Control Scheme for Wind Based on PFC of BLDC Drive Ap...
IJMTST Journal
 
Serial Peripheral Interface Design for Advanced Microcontroller Bus Architect...
Serial Peripheral Interface Design for Advanced Microcontroller Bus Architect...Serial Peripheral Interface Design for Advanced Microcontroller Bus Architect...
Serial Peripheral Interface Design for Advanced Microcontroller Bus Architect...
IJMTST Journal
 
Modelling Determinants of Software Development Outsourcing for Nigeria
Modelling Determinants of Software Development Outsourcing for NigeriaModelling Determinants of Software Development Outsourcing for Nigeria
Modelling Determinants of Software Development Outsourcing for Nigeria
IJMTST Journal
 
Analysis of 7-Level Cascaded & MLDCLI with Sinusoidal PWM & Modified Referenc...
Analysis of 7-Level Cascaded & MLDCLI with Sinusoidal PWM & Modified Referenc...Analysis of 7-Level Cascaded & MLDCLI with Sinusoidal PWM & Modified Referenc...
Analysis of 7-Level Cascaded & MLDCLI with Sinusoidal PWM & Modified Referenc...
IJMTST Journal
 
Adaptive Control Scheme for PV Based Induction Machine
Adaptive Control Scheme for PV Based Induction MachineAdaptive Control Scheme for PV Based Induction Machine
Adaptive Control Scheme for PV Based Induction Machine
IJMTST Journal
 

Andere mochten auch (16)

Design and implementation of Closed Loop Control of Three Phase Interleaved P...
Design and implementation of Closed Loop Control of Three Phase Interleaved P...Design and implementation of Closed Loop Control of Three Phase Interleaved P...
Design and implementation of Closed Loop Control of Three Phase Interleaved P...
 
An Improved UPQC Controller to Provide Grid-Voltage Regulation
An Improved UPQC Controller to Provide Grid-Voltage RegulationAn Improved UPQC Controller to Provide Grid-Voltage Regulation
An Improved UPQC Controller to Provide Grid-Voltage Regulation
 
Smart Millennials and their Changing Shopping Trends: A Case of Millennial St...
Smart Millennials and their Changing Shopping Trends: A Case of Millennial St...Smart Millennials and their Changing Shopping Trends: A Case of Millennial St...
Smart Millennials and their Changing Shopping Trends: A Case of Millennial St...
 
A Cryptographic Key Generation Using 2D Graphics pixel Shuffling
A Cryptographic Key Generation Using 2D Graphics pixel ShufflingA Cryptographic Key Generation Using 2D Graphics pixel Shuffling
A Cryptographic Key Generation Using 2D Graphics pixel Shuffling
 
Modeling and Simulation of Cascaded Multilevel Inverter fed PMSM Drive with P...
Modeling and Simulation of Cascaded Multilevel Inverter fed PMSM Drive with P...Modeling and Simulation of Cascaded Multilevel Inverter fed PMSM Drive with P...
Modeling and Simulation of Cascaded Multilevel Inverter fed PMSM Drive with P...
 
STATCOM Based Wind Energy System by using Hybrid Fuzzy Logic Controller
STATCOM Based Wind Energy System by using Hybrid Fuzzy Logic ControllerSTATCOM Based Wind Energy System by using Hybrid Fuzzy Logic Controller
STATCOM Based Wind Energy System by using Hybrid Fuzzy Logic Controller
 
L-Z Source Based 11 Level Diode-Clamped Multi Level Inverter
L-Z Source Based 11 Level Diode-Clamped Multi Level InverterL-Z Source Based 11 Level Diode-Clamped Multi Level Inverter
L-Z Source Based 11 Level Diode-Clamped Multi Level Inverter
 
Adaptive Variable Speed Control Scheme for Wind Based on PFC of BLDC Drive Ap...
Adaptive Variable Speed Control Scheme for Wind Based on PFC of BLDC Drive Ap...Adaptive Variable Speed Control Scheme for Wind Based on PFC of BLDC Drive Ap...
Adaptive Variable Speed Control Scheme for Wind Based on PFC of BLDC Drive Ap...
 
Control Scheme for an IPM Synchronous Generator Based-Variable Speed Wind Tur...
Control Scheme for an IPM Synchronous Generator Based-Variable Speed Wind Tur...Control Scheme for an IPM Synchronous Generator Based-Variable Speed Wind Tur...
Control Scheme for an IPM Synchronous Generator Based-Variable Speed Wind Tur...
 
Hybrid Power Quality Compensator for Traction Power System with Photovoltaic ...
Hybrid Power Quality Compensator for Traction Power System with Photovoltaic ...Hybrid Power Quality Compensator for Traction Power System with Photovoltaic ...
Hybrid Power Quality Compensator for Traction Power System with Photovoltaic ...
 
Serial Peripheral Interface Design for Advanced Microcontroller Bus Architect...
Serial Peripheral Interface Design for Advanced Microcontroller Bus Architect...Serial Peripheral Interface Design for Advanced Microcontroller Bus Architect...
Serial Peripheral Interface Design for Advanced Microcontroller Bus Architect...
 
Modelling Determinants of Software Development Outsourcing for Nigeria
Modelling Determinants of Software Development Outsourcing for NigeriaModelling Determinants of Software Development Outsourcing for Nigeria
Modelling Determinants of Software Development Outsourcing for Nigeria
 
Analysis of 7-Level Cascaded & MLDCLI with Sinusoidal PWM & Modified Referenc...
Analysis of 7-Level Cascaded & MLDCLI with Sinusoidal PWM & Modified Referenc...Analysis of 7-Level Cascaded & MLDCLI with Sinusoidal PWM & Modified Referenc...
Analysis of 7-Level Cascaded & MLDCLI with Sinusoidal PWM & Modified Referenc...
 
Adaptive Control Scheme for PV Based Induction Machine
Adaptive Control Scheme for PV Based Induction MachineAdaptive Control Scheme for PV Based Induction Machine
Adaptive Control Scheme for PV Based Induction Machine
 
Experimental Study on use of Crushed Rock Powder as Partial Replacement for F...
Experimental Study on use of Crushed Rock Powder as Partial Replacement for F...Experimental Study on use of Crushed Rock Powder as Partial Replacement for F...
Experimental Study on use of Crushed Rock Powder as Partial Replacement for F...
 
Graph Tea: Simulating Tool for Graph Theory & Algorithms
Graph Tea: Simulating Tool for Graph Theory & AlgorithmsGraph Tea: Simulating Tool for Graph Theory & Algorithms
Graph Tea: Simulating Tool for Graph Theory & Algorithms
 

Ähnlich wie Improving Code Compression Efficiency of MIPS32 Processor using Modified ISA

A 64-Bit RISC Processor Design and Implementation Using VHDL
A 64-Bit RISC Processor Design and Implementation Using VHDL A 64-Bit RISC Processor Design and Implementation Using VHDL
A 64-Bit RISC Processor Design and Implementation Using VHDL
Andrew Yoila
 
Explain briefly about the major enhancements in ARM processor archite.pdf
Explain briefly about the major enhancements in ARM processor archite.pdfExplain briefly about the major enhancements in ARM processor archite.pdf
Explain briefly about the major enhancements in ARM processor archite.pdf
arjunenterprises1978
 

Ähnlich wie Improving Code Compression Efficiency of MIPS32 Processor using Modified ISA (20)

A REVIEW ON ANALYSIS OF 32-BIT AND 64-BIT RISC PROCESSORS
A REVIEW ON ANALYSIS OF 32-BIT AND 64-BIT RISC PROCESSORSA REVIEW ON ANALYSIS OF 32-BIT AND 64-BIT RISC PROCESSORS
A REVIEW ON ANALYSIS OF 32-BIT AND 64-BIT RISC PROCESSORS
 
Design of a low power processor for Embedded system applications
Design of a low power processor for Embedded system applicationsDesign of a low power processor for Embedded system applications
Design of a low power processor for Embedded system applications
 
Hg3612911294
Hg3612911294Hg3612911294
Hg3612911294
 
Design and development of a 5-stage Pipelined RISC processor based on MIPS
Design and development of a 5-stage Pipelined RISC processor based on MIPSDesign and development of a 5-stage Pipelined RISC processor based on MIPS
Design and development of a 5-stage Pipelined RISC processor based on MIPS
 
Advanced Processor Power Point Presentation
Advanced Processor  Power Point  PresentationAdvanced Processor  Power Point  Presentation
Advanced Processor Power Point Presentation
 
CS304PC:Computer Organization and Architecture UNIT V_merged_merged.pdf
CS304PC:Computer Organization and Architecture UNIT V_merged_merged.pdfCS304PC:Computer Organization and Architecture UNIT V_merged_merged.pdf
CS304PC:Computer Organization and Architecture UNIT V_merged_merged.pdf
 
A 64-Bit RISC Processor Design and Implementation Using VHDL
A 64-Bit RISC Processor Design and Implementation Using VHDL A 64-Bit RISC Processor Design and Implementation Using VHDL
A 64-Bit RISC Processor Design and Implementation Using VHDL
 
Explain briefly about the major enhancements in ARM processor archite.pdf
Explain briefly about the major enhancements in ARM processor archite.pdfExplain briefly about the major enhancements in ARM processor archite.pdf
Explain briefly about the major enhancements in ARM processor archite.pdf
 
Different addressing mode and risc, cisc microprocessor
Different addressing mode and risc, cisc microprocessorDifferent addressing mode and risc, cisc microprocessor
Different addressing mode and risc, cisc microprocessor
 
Implementation of MAC using Modified Booth Algorithm
Implementation of MAC using Modified Booth AlgorithmImplementation of MAC using Modified Booth Algorithm
Implementation of MAC using Modified Booth Algorithm
 
iPhone Architecture - Review
iPhone Architecture - ReviewiPhone Architecture - Review
iPhone Architecture - Review
 
A novel reduced instruction set computer-communication processor design usin...
A novel reduced instruction set computer-communication  processor design usin...A novel reduced instruction set computer-communication  processor design usin...
A novel reduced instruction set computer-communication processor design usin...
 
Area Optimized Implementation For Mips Processor
Area Optimized Implementation For Mips ProcessorArea Optimized Implementation For Mips Processor
Area Optimized Implementation For Mips Processor
 
eet_NPU_file.PDF
eet_NPU_file.PDFeet_NPU_file.PDF
eet_NPU_file.PDF
 
Smart as a Cryptographic Processor
Smart as a Cryptographic Processor Smart as a Cryptographic Processor
Smart as a Cryptographic Processor
 
SMART AS A CRYPTOGRAPHIC PROCESSOR
SMART AS A CRYPTOGRAPHIC PROCESSORSMART AS A CRYPTOGRAPHIC PROCESSOR
SMART AS A CRYPTOGRAPHIC PROCESSOR
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
CS6303 Computer Architecture.pdf
CS6303 Computer Architecture.pdfCS6303 Computer Architecture.pdf
CS6303 Computer Architecture.pdf
 
VJITSk 6713 user manual
VJITSk 6713 user manualVJITSk 6713 user manual
VJITSk 6713 user manual
 
Ijetr042175
Ijetr042175Ijetr042175
Ijetr042175
 

Kürzlich hochgeladen

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Kürzlich hochgeladen (20)

Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 

Improving Code Compression Efficiency of MIPS32 Processor using Modified ISA

  • 1. IJMTST Volume: 2 | Issue: 07 | July 2016 | ISSN: 2455-3778 Improving Code Compression Efficiency of MIPS32 Processor using Modified ISA Ramani. G1 | Dr. K. Geetha2 1Department of Electrical Engineering, Nandha Engineering College, Erode, India. 2Department of Electrical & Electronics Engineering, Karpagam Institute of Technology, Coimbatore, India. ABSTRACT Embedded systems place major role in real world technology. In this memory and code size minimization reduces the complexity of the system. Code compression techniques address this issue by reducing the code size of application programs .Large code occupies more space in the Chip and also causes higher power consumption because of increased memory traffic. In this paper, a modified architecture is proposed for MIPS32 processor by replacing the Load-store Architecture with Register-store Architecture for some of the instructions. Using Simple Scalar performance simulator we achieved 67.5% of compression efficiency for MIPS32 processor with the help of modified ISA. Copyright © 2016 International Journal for Modern Trends in Science and Technology All rights reserved. I. INTRODUCTION Memory is one of the major driving factors in embedded system design since a larger memory indicates an increased chip area, more power dissipation, and higher cost. Use of embedded systems has increased rapidly in several applications, ranging from small hand held products to sophisticated medical equipments and aerospace. Though performance is important, it is not critical in several embedded systems such as cameras, video game consoles, cell phones, personal data assistants. Instead, cost, power consumption and physical dimensions are the critical factors. The code size is one of the factors that affect the chip space and power consumption since the program memory is on-chip in most embedded systems. If the code size increases, numberof instructions fetched also increases thereby increasing the power consumption. High power consumption also leads to increased operating temperature since it is not practical to use cooling fans in most embedded systems. Operating these systems for long duration may also cause reliability problems apart from reducing the battery life. Considering these issues, it is essential that processor designers need to suitably modify the existing MIPS processors thereby making them more suitable for embedded systems. II. CODE SIZE AND MIP S32 BIT PROCESSOR Presently MIPS32 processors are used as embedded processors since they offer high performance. Originally, the Load-Store Architecture was chosen[3] for MIPS32 processors with an aim to simplify and minimize the processor hardware circuitry so as to house the entire processor on a single chip. The LSA also enables easy implementation of instruction pipelining that increases processor performance. The LSA is undesirable for embedded systems because of its impact on code size. In LSA, only load and store instructions can access memory operands and the arithmetic or logical instructions can access register operands only. Since arithmetic and logical operations on memory operands are not permitted in LSA, the compiler places a load instruction, before an add instruction, to move the data from memory to register. Similarly, the result of an add instruction is stored by the processor in a register. Hence a store instruction has to be placed, after the add instruction, by the compiler, for moving the result to main memory. This practice results in too many load and store instructions also known as data transfer instructions. A register memory architecture allows operations to be performed on (or from) memory, as 132 International Journal for Modern Trends in Science and Technology
  • 2. Improving Code Compression Efficiency of MIPS32 Processor using Modified ISA well as registers. If the architecture allows all operands to be in memory or in registers, or in combinations, it is called a "register plus memory" architecture[5].In a register memory approach one of the operands for ADD operation may be in memory, while the other is in a register. This differs from a load/store architecture (used by RISC designs such as MIPS) in which both operands for an ADD operation must be in registers before the ADD. The Intel x86, a typical CISC processor with Register-Memory architecture (RMA) needs 50.6 kB of code, while the RISC processors ARM need 68.2kBcode. A. MIPS32 Instructions(ISA and RMA format) The original MIPS I CPU ISA has been extended in a backward-compatible fashion several times: MIPS II, MIPS III, MIPS IV and micro MIPS. Each new architecture level (or version) includes the former levels described in MIPS website. The discussions below restrict to integer instructions of MIPS to maintain simplicity. Figure 1 shows the instruction format used by MIPS32 processor[8]. There are four different „Add‟ instructions in MIPS. The first two instructions, ADD and ADDU, follow R-Type format. In both these instructions, two register contents are added. The ADD can cause overflow exception in which case, there is no result; for the ADDU, overflow cannot occur. The ADDI and ADDIU follow I- Type format. These two instructions add register content with an immediate operand present in the instruction. 31-2 6 25-21 20-16 15-11 10-3 2-0 OP Rs-l Rt-rm Rd-r Offset-l Opx-rm Fig. 4 RMA Instruction Format – RM Type 31-2 20-1 15- 6 25-21 6 8 7-0 OP Rt-i Rs-l Offset-1 Immediate Fig.4 RMA Instruction Format – IM Type ADD rm Instruction Type -31- format (bits) -0- R opcode (6) rs (5) rt (5) rd (5) shamt (5) funct (6) I opcode (6) rs (5) rt (5) immediate (16) J opcode (6) address (26) Fig.1 MIPS32 Instructions ISA Format Addition is available both in R-Type format and I-Type format as shown in Fig.2 and Fig.3 respectively [11]. In R-type addition, both the source operands (Rs-r and Rt-r) are available in registers and the result is placed in the destination register Rd-r. In I-type addition, one source operand is in a register Rs-i and the other source operand is available in the instruction as immediate operand. The result is stored in the destination register, Rt-i. MIPS document gives the entire instruction set of MIPS, also indicating the unused opcodes. OP Bits Bits Bits Bits Bits 5-0 (Bits 25- 20- 15- 10-6 31-26) 21 16 11 0‟s Rs-r Rt-r Rd-r 0‟s 100000 Fig. 2 R-Type ADD Instruction Bit Opcode s Bits Bits (bits (20-16 31- (25-21) ) (15-0) 26) 001000 Rs-i Rt-i Immediate Fig.3 I-Type ADD Instruction III. RELATED WORK To reduce the code size we used twomethods 1.Compression Technique 2.ModifiedISA A. Compression Technique Using Static and Dynamic frequency based algorithm combined with bit mask and Dictionary algorithm ,the compression ratio of the MIPS32 Processor is calculated[9].The Experimental result shows that our proposed system achieves up to 67% compression efficiency using Simple Scalar performance simulator and LSA instructions The performance were measured for various benchmarks from various suites and it is compiled for Alpha Instruction set (ISA)[4]. The benchmark programs employed were gsm-to, epic,mpeg2dec, djpec and cjpec. B. Modified ISA The 32-bit MIPS instructions are mapped to 16-bit MIPS instructions which can be translated in real-time into 32-bit MIPS instructions[5]. This approach involves a new instruction set and requires a new instruction decoder, a new set of software development tools, such as a compiler, an assembler, and a linker. A code saving of up to 40% has been reported. However, the dense instruction sets often cause performance penalties due to lack of instructions during compilation. Also, the processor hardware needs additional 133 International Journal for Modern Trends in Science and Technology
  • 3. IJMTST decoder/decompression logic to support both ISA .It offers a new ISA that supports both 16-bit and 32-bit instructions in a single program. However, its new instructions have certain restrictions as regard to number of registers[7]. A five stage instruction cycle sequence shown in Fig.6 is commonly followed in RISC processors[1]. An instruction is active at any instant in only one of the stages. During IF, the instruction is fetched from the code memory. During ID, instruction decoding is done and also register operands are fetched. During EX, either instruction execution or address calculation is done depending on the instruction type. During MEM, data memory is accessed if relevant. During WB, the result (if applicable) is stored in a register. IF ID EX MEM WB Write resul t Perform in Additio regis n ter ID, ADD IF RF - - EX WB ID, LOAD IF RF AC MEM - WB ID, STORE IF RF AC MEM - - Figure 6. Typical 5-stage Instruction Sequence The traditional RISC pipeline sequence has to be rearranged to suit both LSA and RMA instructions, interchanging the Data memory access and Execute stages. Fig.7 shows a proposed 6-stage pipeline that supports the RMA Register-Memory instructions, for RISC processors. Let us consider the pipeline action for the ADD- RM instruction. The first two stages are similar to the RISC pipeline. In the third stage (AC), memory address, for the memory operand, is calculated by a small address adder and in the fourth stage (MEM), the memory operand is fetched from the data memory. In the fifth stage (EX), addition is carried out and in the last stage (WB), the result is stored in destination register. Fig.9 shows the execution of LSA instructions in the new pipeline. For the LSA ADD[11] instruction, Volume: 2 | Issue: 07 | July 2016 | ISSN: 2455-3778 the AC and MEM cycles are unused. Compared to a 5-stage RISC pipeline, one additional clock cycle is wasted for LSA instructions in the 6-stage RMA pipeline. IF ID AC EX MEM WB Fig.7 Typical 6-stage Instruction Sequence The unused internal cycles do not directly affect performance, since they do not cause pipeline stalls. However, a slight performance decrease is expected due to increase in pipeline length in view of increased frequency of dependencies between successive instructions. It is a question of choice between performance and code siz[2]e. For embedded systems, code size is more significant, and hence the increase in execution time by one cycle is tolerable. An alternate approach is possible for the RMA pipeline with 5 stages as shown in fig. 9 in which the EX and MEM stages are combined as a single MEM/EX stage to improve the efficiency of the RMA pipeline for the LSA instructions. IF ID AC EX/ WB MEM Figure 9 Execution of LSA Instruction in 5 – Stage RMA Pipeline The unused internal cycles do not directly affect performance, since they do not cause pipeline stalls. However, a slight performance decrease is expected due to increase in pipeline length in view of increased frequency of dependencies between successive instructions. It is a question of choice between performance and code size. For embedded systems, code size is more significant, and hence the increase in execution time by one cycle is tolerable [6]. An alternate approach is possible for the RMA pipeline with 5 stages as shown in fig. 9 in which the EX and MEM stages are combined as a single MEM/EX stage to improve the efficiency of the RMA pipeline for the LSA instructions. The redesigning of processor cores, modifications are required in the existing compilers and associated program development tools. The hardware changes for supporting the RMA arithmetic/logical instructions will cause performance penalty to processors 134 International Journal for Modern Trends in Science and Technology
  • 4. Improving Code Compression Efficiency of MIPS32 Processor using Modified ISA IV. SIMULATION OF INSTRUCTIONS The extent of code size reduction due to the use of RMA Arithmetic instructions depend on the frequency of generation of these instructions by the new compiler. This also varies with the nature of embedded programs. Simulation studies have been performed with various benchmark programs for estimating the code size reduction. Again by using performance simulation toolRMA instructions are simulated. The performance simulation tool scans the scope of the RMA instructions in the given program.Before simulation, the tool automatically calculates the number of RMA cases which shows the compressed program size. V. CONCLUSION AND FUTURE WORK This paper advocates implementation of register – memory architecture for embedded processors for low power embedded systems in view of the need for reduced chip size and lower power consumption. Encoding of appropriate new instructions and pipeline modifications of existing RISC processors to support RMA arithmetic/logical instructions is recommended. The measurement with the C programs in MiBench suite gives over 23% of code space reduction. This is an additional savings in addition to other techniques of code space reduction. Combining the RMA technique with MIPS32 Architecture will yield over 67.5%ofcompression efficiency. This results in proportional chip space savings and equivalent power reduction. TABLE 1. Compression Ratio in RMA for MIPS32 Bit Processor % Original Compressed Compression program program Ratio Bench Size (bytes) size(bytes) B/A marks A B gsm-to 27256 16490 60.5 epic 40896 27605 67.5 Mpeg2dec 47300 28380 60 djpec 50836 32027 63 Designing a new processor is the answer to the needs of embedded systems. A study of existing RISC processors gives a clue to the specifications of a new processor. The instruction format affects the code size and the processor performance. While choosing the instruction formats, the processor architect considers following factors: code size, processor design complexity, processor performance and compiler complexity. The number of registers and the addressing modes affect the length of the instruction and compiler simplicity. Similarly the number of operands per instruction affects the instruction length and code size[3]. The instruction size, number of instruction formats and addressing modes determine the complexity of instruction decoding and the difficulty of pipelining. The number of registers determines the extent of help to the compiler to generate efficient object code. REFERENCES [1] Cheng Hong Li Steven M. Nowick “An Architecture Oriented Approach to Code Compression for Embedded Processors”, Handout by Julie Zelenski with minor edits by Keith Schwarz” Huffman Encoding and Data Compression” May 23,2012 [2] Xiaoke Qin, Member, IEEE, Chetan Muthry, andPrabhat Mishra “Decoding-Aware Compression of FPGA Bitstreams” IEEE transactions on very large scale integration (vlsi) systems, vol. 19, no. 3, march 2011. [3] Mridul Kumar Mathur, Seema Loonker, Dr.Dheeraj Saxena “Lossless Huffman Coding Technique For Image Compression And Reconstruction Using Binary Trees”, ISSN:2229-6093,MARCH 2012 [4] B.Govindarajalu, “Computer Architecture: and Organization: Design Principles and Applications”, Second Edition, Mc Graw-Hill publishers, 2010. [5] Kanad Basu, Student Member, IEEE, and Prabhat Mishra” Test Data Compression Using Efficient Bitmask and Dictionary Selection Methods” IEEE transactions on very large scale integration (VLSI) systems, vol. 18, no. 9,September 2010. [6] J. Heikkinen, J.Takala, and H.Corporaal, “Dictionary based program compression on customizable processor architectures”, Microprocessors and Microsystems, vol. 33, pp. 139 – 153, 2009. [7] Seok-Won Seong and Prabhat Mishra, ”Bitmask –Based Code Compression for Embedded Systems” IEEE transactions on computer-aided design of integrated circuits and systems, Vol. 27, NO. 4, April 2008. [8] Seok-Won Seong Prabhat Mishra” An Efficient Code Compression Technique using Application-Aware Bitmask and Dictionary Selection Methods” ISDN 978-3-9810801-2-4/DATE0, 2007 [9] J.L.Hennessy and D.A.Patterson, “Computer Architecture: A quantitative Approach”, Fourth edition,Morgan Kaufmann publishers, 2007. [10]“MicroMIPS Instruction Set Architecture”, MIPS Technologies, Inc., October, 2009 [11]Seok-Won Seong Prabhat Mishra “An Efficient Code Compression Technique using Application Aware Bitmask and Dictionary Selection Methods” ISDN 978- 3-9810801-2-4/DATE0,2007. 135 International Journal for Modern Trends in Science and Technology