Implementation of RISC-Based Architecture for Low power applications

IOSR Journals
IOSR JournalsInternational Organization of Scientific Research (IOSR)

http://www.iosrjournals.org/iosr-jeee/pages/v8i4.html

IOSR Journal of Electrical and Electronics Engineering (IOSR-JEEE)
e-ISSN: 2278-1676,p-ISSN: 2320-3331, Volume 8, Issue 4 (Nov. - Dec. 2013), PP 01-06
www.iosrjournals.org
www.iosrjournals.org 1 | Page
Implementation of RISC-Based Architecture for
Low power applications
Shaik Afroz 1
, M.Sumalatha2
1
PG Student (M. Tech), Dept. of ECE, Chirala Engineering College, Chirala, A.P, India.
2
Associate Professor, Dept. of ECE, Chirala Engineering College, Chirala, A.P, India.
Abstract: This paper explains the design of a simple RISC processor and procedure for simulating it. A
Reduced Instruction Set compiler (RISC) is a microprocessor that had been designed to perform a small set of
instructions, with the aim of increasing the overall speed of the processor along with reducing the power
consuming while executing the instruction. The RISC architecture follows the philosophy that one instruction
should be performed every cycle.
This work presents the design and implementation of a 32 bit RISC soft core processor intended for
computer architecture introduction considered to be an effective solution for computer comprehension. The idea
of this project was to create a microprocessor as a building block in VHDL than later easily can be included in
a larger design. It will be useful in systems where a problem is easy to solve in software but hard to solve with
control logic. A state machine dedicated to the function can of course replace the microprocessor and
associated software. However at a high level of complexity it is easier to implement the function in software. In
this project Modelsim is used for logical verification and further synthesizing is carried on Xilinx-ISE tool. To
perform the power analysis the Xilinx xpower analyzer is used.
Keywords: Low Power, Speed, RISC, Processor, Xilinx.
I. Introduction
Processors are regarded as one of the most important devices in our everyday machines called
computers. Before we start, we need to understand what exactly processors are and their appropriate
implementations. Processor is an electronic circuit that functions as the central processing unit (CPU) of a
computer, providing computational control. Processors are also used in other advanced electronic systems, such
as computer printers, automobiles, and jet airliners, Calculators and etc.
Typical processors incorporate arithmetic and logic functional units as well as the associated control
logic, instruction processing circuitry, and a portion of the memory hierarchy. Portions of the interface logic for
the input/output (I/O) and memory subsystems may also be infused, allowing cheaper overall systems. While
many processors and single-chip designs, some high-performance designs rely on a few chips to provide
multiple functional units and relatively large caches.
Processors have been described in many different ways. They have been compared with the brain and
the heart of humans. Their operation has been likened to a switched board, and to the nervous system in an
animal. They have often been called microcomputers. The original purpose of the processor was to control
memory. That is what they were originally designed to do, and that is what they do today. Specifically, a
processor is “a component that implements memory.”
The traditional approach to develop a digital system was to use a set of interconnected digital integrated
circuits like counters, buffers, logic gates and memory. That task required lots of analysis, testing and the need
to adapt the design to the hardware’s inherent limitations (speed, response time, power consumption, etc.) which
resulted in capped headroom for development.
Also, every design change implied a whole analysis but sometimes the prototyping hardware wouldn’t
allow any expansion without a considerable –and most times expensive- upgrade.
At present, technological advance has brought new options like programmable logic as Complex Programmable
Logic Devices (CPLD) or Field Programmable Gate Arrays (FPGA) with more sophisticated simulation and
design verification environments, which enable engineers to reach new levels of complexity and robustness,
while greatly reducing the time between development and implementation.
Also, those advances let engineers focus on the application needs, rather than to fit the system onto existing
hardware. This way, one can develop a system that can be optimized for manufacturing on a single chip, with
the capacity to add or remove modules according to the requirements in the future.
Modern processor design sometimes reduce the implementation effort by acquiring some of these
elements as Intellectual Property (IP) or through implementation techniques to build the other components, like
VHDL or Verilog language and a proprietary synthesizer depending on each hardware vendor.
Implementation of RISC-Based Architecture for Low power applications
www.iosrjournals.org 2 | Page
There exist different approaches in order to obtain high comprehension when explaining computer architecture,
one approach uses simulation of processors that allow interaction with each module that composes a computer
as on [1]-[4]; another option is to use FPGA devices and VHDL language to construct a simple computer [5]-
[6], but there is the disadvantage that by programming there is a lack of understanding in dataflow. There is
even an approach that uses MSI digital components such as TTL in order to construct a computer [7], it is a
good exercise to realize interconnections between components, but sometimes using wires to build those
connections is excessively time consuming.
On the other hand, there is an option to construct a simple computer by using a GUI that allow to
design at gate level by placing components in a spreadsheet, it is easy to use and easy to understand dataflow
between components even is more comprehensive if we can create all of the computer components from logical
gates.
In this present work, the design of an 8-bit data width Reduced Instruction Set Computer (RISC)
processor is presented; it was developed with simplicity and implementation efficiency in mind. It has a
complete instruction set, program and data memories, general purpose registers and a simple Arithmetical
Logical Unit (ALU) for basic operations. It operates following a multi-cycle execution nature and is
implemented on a Xilinx Spartan-3E FPGA.
It is an advantageous Processor because of its Speed, Simpler hardware, shorter design cycle and User
(programmer) friendly nature.
Processors are much faster than memories. For example, a processor clocked at 100 MHz would like to
access memory in 10 nanoseconds, the period of its 100 MHz clock. Unfortunately, the memory interfaced to
the processor might require 60 nanoseconds for an access. So, the processor ends up waiting during each
memory access, wasting execution cycles.
To reduce the number of accesses to main memory, designers added instruction and data cache to the
processors. A cache is a special type of high speed RAM where data and the address of the data are stored.
Whenever the processor tries to read data from main memory, the cache is examined first. If one of the
addresses stored in the cache matches the address being used for the memory read (called a hit), the cache will
supply the data instead. Cache is commonly ten times faster than main memory, so you can see the advantage
of getting data in 10 nanoseconds instead of 60 nanoseconds. Only when we miss (i.e., do not find the required
data in the cache), does it take the full access time of 60 nanoseconds. But this can only happen once. Since a
copy of the new data is written into the cache after a miss. The data will be there the next time we need it.
Instruction cache is used to store frequently used instructions. Data cache is used to store frequently used data.
Implementing fewer instructions and addressing modes on silicon reduces the complexity of the instruction
decoder, the addressing logic, and the execution unit. This allows the machine to be clocked at a faster speed,
since less work needs to be done each clock period.
RISC typically has large set of registers. The number of registers available in a processor can affect
performance the same way a memory access does. A complex calculation may require the use of several data
values. If the data values all reside in memory during the calculations, many memory accesses must be used to
utilize them. If the data values are stored in the internal registers of the processor instead, their access during
calculations will be much faster. It is good then to have lot of internal registers.
CISC is an acronym for complex instruction set computer. The reasons to have the large instruction set are:
1. CISC systems are complex as the architecture and the instructions are modified as per the technology and
hence there is a requirement for more number of instructions and therefore will have many addressing modes.
2. The main function of any microprocessor is to fetch the data and process it. The chip as such doesn’t have
any provision for memory i.e., memory is external. As process needs to access data from a memory or from
I/O peripherals there is a necessary for more instructions.
Drawbacks behind having the large instruction set:
 The large instruction set is responsible for a very complicated control logic that generates a host of control
signals and interrupts that are important for the working of the processor.
 This large instruction set creates problems for the compiler as it has to write code for each individual
instruction. It becomes difficult to debug if there is any mistake in the code of the compiler.
 The Large instruction set has a very complicated decoding logic which is responsible for a more number of
stages or for an increased propagation delay of the control logic. This is because an increase in the number
of stages leads to proportionate increase in the number of gates. Transistor has a rise time, a fall time
contributing to the propagation delay of the signal. So at every gate the signal gets delayed and this
cumulative delay in propagation adds up, to decrease the processing speed of the data.
 They have a variety of instruction formats like one byte, two byte, three byte. They have a large number of
addressing modes.
Implementation of RISC-Based Architecture for Low power applications
www.iosrjournals.org 3 | Page
 In general the pipelining is used to increase the speed of memory operations with separate control over the
bus. They are difficult to handle if there is a considerable difference between instruction lengths and
execution cycle of different instructions then the pipeline design will be much more complicated.
RISC (Reduced Instruction Set Computer):
The advantages of instruction set of RISC are as follows
 In the RISC based system the frequently used instructions are hardware realized and it is therefore minimizes
the memory access time and the decoding time.
 It is easy to write code for fixed instruction set, so the compiler supports for efficient translation of high level
language programs into machine language programs.
 As the architecture supports pipeline in different segments, it may be possible to execute number of
instructions in a single instruction cycle.
 Memory access is limited to load accumulator and store accumulator instructions only.
II. Design and Development of the Processor
The designed processor is based on the Harvard architecture, in which the size of the instructions is not
related to the size of the data, and therefore it can be optimized in a way that any instruction occupies a single
position of program memory, thus obtaining greater speed and a minor program length. Also, the access time to
the instructions can be superposed with the one of the data, obtaining a greater speed in each operation.
The processor presented includes a RISC instruction set and uses a Single Instruction – Single Data (SISD)
execution order.
Its main characteristics are:
• Eight 8-bit general purpose registers
• 256 allocations of 16-bit wide ROM program memory
• 256 allocations of 8-bit wide RAM data memory
• ALU with basic arithmetic and logical operations
Operational Blocks:
Arithmetic-Logic Unit (ALU)
The Arithmetic-Logic Unit has 8 operations; each one of them was created and converted into a
symbol, then, a multiplexor was placed in order to obtain a 3-bit selector. Also, it has 3 flags: carry (C), half
carry (H) and zero (Z), which indicate if there is a carry, a half carry or a zero after any ALU operation see Fig.
1.
RAM Data Memory
The RAM memory is a data storage block, there the stack is handled and other data are kept as
variables. It is built with 32 memory blocks of 8 bits each one. The address input is divided in 2 parts.
The first part has 3 bits select the memory block to read or write using a decoder. The second has 5 bits that
select the memory location between 0 and 31 of the previously specified portion by the first part. In Fig. 1
appears the schematic diagram of the RAM memory.
Program Counter (PC)
The program counter produces the address to read instructions from the program memory. It has to be
capable of loading a random address if the program requires so (i.e. loops or branches), and should be able to
wait while the other functional parts complete their tasks (i.e. while the ALU gets the sum of 2 registers). An 8-
bit parallel-load counter was used [9].
Control Unit
The control unit operates as a state machine. States 0, 1 and 3 remain equal, whereas the second state
can change depending on the instruction read by the decoder. In this way: state 0 represents a reset stage, state 1
represents the fetch/write back stage and finally during state 3 the program counter is incremented.
ROM Program Memory
The program memory –as its name describes- stores instructions to be executed. It has to be non-
volatile and fast. It was decided to use internal ROM as program memory, because it was the fastest option and
eliminated the need for external storage. This memory was built with 256x1 bit ROM blocks, with a total of 16
blocks to store 256 16-bit instructions.
Implementation of RISC-Based Architecture for Low power applications
www.iosrjournals.org 4 | Page
Instruction Registers and Decoder: Instruction registers store the instruction read from the program memory,
and keep it as an output for the decoder, which separates the operation code and operands to execute the
command.
Two 8-bit registers (D-type flip-flops) were used, one for the high byte and one for the low byte (16-bit
instruction).
The instruction decoder deals with the raw data stored in the instruction registers, and separates it in
parts: Operation code (OPCODE), Rd, Rs and A/K, so that these values can be sent to the corresponding
component, like the ALU, General Purpose Register block, etc. This is achieved simply by using a set of buffers
inside a block to sort the signals to separate buses.
General Purpose Registers (GPRs) store and save operands and results during program execution. ALU
and memories must be able to write/read those registers, so a set of eight 8-bit registers were used, along with
multiplexers and a decoder to control which register is read or written. Two registers can be read at a time but
only one register can be written at a time see Fig. 1
The RTL Schematic of the Designed model is shown in Fig. 2.
Figure 1 Block diagram of the RISC Processor
Figure 2 RTL Schematic of the Implemented Processor
III. Results and Conclusions
In this project it is observed that the RISC based system is simulated using VHDL. The overall system
is simulated and synthesized. After synthesizing the system we could get a statistical data about the number of
input-output buffers, the number of registers, number of flip-flops and latches were used .The modules
simulated are Accumulator, Buffer, , Instruction Register, Multiplexer, Program Counter, Control Logic
Decoder, Arithmetic Logic Unit and the overall system. Few instructions were executed and their timing
sequences were analyzed. It shows that the different operations of the instruction including the decoding and
execution come in the overall system. Therefore we conclude that the behavior shows, the system is working as
RISC as instruction will be executed within a single clock cycle. The power consumed for the processor is
132mw.when compare to the previous architecture it became half in terms of power consumption .So based on
the power report the proposed architecture is efficient in terms of power parameter.
For the complete CPU implementation, a Xilinx Spartan3 XC3S1000-5FG320 FPGA was used. For
design purpose, XilinxISE Web pack tools were used under schematic mode to allow direct gate level designs.
Simulation is performed on the included XilinxISE Simulator, designed to work with files generated by
Implementation of RISC-Based Architecture for Low power applications
www.iosrjournals.org 5 | Page
XilinxISE. In order to simplify the conversion of CPU test programs, a specific translator was designed in
MATLAB language, that reads a Microsoft Excel archive (*.xls) which contains the program in assembly
language, and translates it to machine code, giving the proper format to load the instructions to the program
memory.
Figure 3 Simulation Result for ALU Module
In Fig.3,Every signal reacts at the clock rising edge only. Here in the input (acc and data) the given data is 3 and
2 . Based on the opcode we are getting the output acc1.Here we are applied opcode as 0,1,2,3.so the outputs we
are getting as 5,1,3,1 which are obtained by performing addition, subtraction, data increment and data decrement
.In the same way we are applying the remaining opcode also.
Figure 4 Simulation Result of Control Unit
From Fig 4, based on the opcode generated, Control unit generates necessary control signals as outputs whose
combination, results in different actions. Different outputs like incpc, ldacc, ldir, ldpc, rd, rst, wr, and y are
generated. Here, for opcode, ”0001” different outputs are obtained as seen above.
Figure 5 Simulation Result for the TOP Module
Here the instructions are given through opcode signal and the data is given through data_in signal. Based on the
opcode and data_in the data_out is generated which shows the functionality of the design. It is shown in Fig. 5.
Acknowledgements
The authors would like to thank the anonymous reviewers for their comments which were very helpful
in improving the quality and presentation of this paper.
References:
[1] Pan-Song, Huang-JiYe, SOPC Technology Utility Tutorial, Tsinghua University Press, 2006.
[2] Zheng-WeiMin, Tang-ZhiZhong. Computer System Structure (The second edition), Tsinghua University Press, 2006.
[3] Ramdas, T. Li-Minn Ang and Egan, G., "FPGA implementation of an integer MIPS processor in Handel-C and its application to
human face detection," in Proc. of IEEE Region 10 Conference, Vol. 1, pp. 36-39, 2004.
[4] Xizhi Li and Tiecai Li, "ECOMIPS: an economic MIPS CPU design on FPGA," in Proc. of the 4th IEEE International Workshop on
System-on- Chip for Real-Time Applications, pp. 291-294, 2004.
[5] D. M. Harris and S. L. Harris, Digital Design and Computer Architecture,1st edition, Morgan Kaufmann, 2007, USA.
Implementation of RISC-Based Architecture for Low power applications
www.iosrjournals.org 6 | Page
[6] Balpande, R.S. and Keote, R.S., "Design of FPGA based Instruction Fetch & Decode Module of 32-bit RISC (MIPS) Processor," in
Proc. of International Conference on Communication Systems and Network Technologies, pp. 409-413, 2011.
[7] MIPS Technologies, Inc. MIPS32™ Architecture For Programmers Volume II: The MIPS32™ Instruction Set June 9, 2003.
[8] H. ElAarag, “A complete design of a RISC processor for pedagogical purposes,” Journal of Computing Sciences in Colleges, vol. 25,
Issue 2, pp. 205-213, 2009.
[9] Pattersson, Hennessy, Computer Organization and Design, The hardware/software interface, 2nd Edition, Morgan Kaufmann, 1998.
[9] Tocci, Widmer, Moss, “Sistemas Digitales, Principios y aplicaciones,” 10ª Edición, Pearson, 2007.
Authors Profile:
SHAIK AFROZ is Pursuing his M. Tech from Chirala Engineering College, Chirala in the
department of Electronics & Communications Engineering (ECE) with specialization in VLSI &
Embedded Systems.
M.SUMALATHA is working as an Associate Professor in the department of Electronics &
Communication Engineering in Chirala Engineering College,Chirala. She has 7 years of teaching
experience.

Recomendados

Area Optimized Implementation For Mips Processor por
Area Optimized Implementation For Mips ProcessorArea Optimized Implementation For Mips Processor
Area Optimized Implementation For Mips ProcessorIOSR Journals
508 vistas6 diapositivas
Hyper threading technology por
Hyper threading technologyHyper threading technology
Hyper threading technologyNikhil Venugopal
3.3K vistas22 diapositivas
Report on hyperthreading por
Report on hyperthreadingReport on hyperthreading
Report on hyperthreadingdeepakmarndi
4K vistas18 diapositivas
Intel hyper threading presentation por
Intel hyper threading presentationIntel hyper threading presentation
Intel hyper threading presentationBilaldld
115 vistas25 diapositivas
Hyper thread technology por
Hyper thread technologyHyper thread technology
Hyper thread technologyShiva Krishna Chandra Shekar
1.2K vistas16 diapositivas
Hyper threading technology por
Hyper threading technologyHyper threading technology
Hyper threading technologyIshan Khan
1.2K vistas19 diapositivas

Más contenido relacionado

La actualidad más candente

Hyper threading technology por
Hyper threading technologyHyper threading technology
Hyper threading technologydeepakmarndi
15.4K vistas17 diapositivas
Embedded systems por
Embedded systemsEmbedded systems
Embedded systemsPruthvi Koli
2.1K vistas43 diapositivas
Htt1 por
Htt1Htt1
Htt1Mayank Vora
707 vistas16 diapositivas
Hyper threading technology por
Hyper threading technologyHyper threading technology
Hyper threading technologySHASHI SHAW
745 vistas12 diapositivas
Assignment#1 Mapacpac, F M P (Cs3112 Os) por
Assignment#1 Mapacpac, F M P  (Cs3112 Os)Assignment#1 Mapacpac, F M P  (Cs3112 Os)
Assignment#1 Mapacpac, F M P (Cs3112 Os)dyandmy
273 vistas6 diapositivas
Assignment#1 lograbo, s.f. (cs3112-os) por
Assignment#1 lograbo, s.f. (cs3112-os)Assignment#1 lograbo, s.f. (cs3112-os)
Assignment#1 lograbo, s.f. (cs3112-os)myanddy
408 vistas6 diapositivas

La actualidad más candente(20)

Hyper threading technology por deepakmarndi
Hyper threading technologyHyper threading technology
Hyper threading technology
deepakmarndi15.4K vistas
Embedded systems por Pruthvi Koli
Embedded systemsEmbedded systems
Embedded systems
Pruthvi Koli2.1K vistas
Hyper threading technology por SHASHI SHAW
Hyper threading technologyHyper threading technology
Hyper threading technology
SHASHI SHAW745 vistas
Assignment#1 Mapacpac, F M P (Cs3112 Os) por dyandmy
Assignment#1 Mapacpac, F M P  (Cs3112 Os)Assignment#1 Mapacpac, F M P  (Cs3112 Os)
Assignment#1 Mapacpac, F M P (Cs3112 Os)
dyandmy273 vistas
Assignment#1 lograbo, s.f. (cs3112-os) por myanddy
Assignment#1 lograbo, s.f. (cs3112-os)Assignment#1 lograbo, s.f. (cs3112-os)
Assignment#1 lograbo, s.f. (cs3112-os)
myanddy408 vistas
ETHERNET PACKET PROCESSOR FOR SOC APPLICATION por cscpconf
ETHERNET PACKET PROCESSOR FOR SOC APPLICATIONETHERNET PACKET PROCESSOR FOR SOC APPLICATION
ETHERNET PACKET PROCESSOR FOR SOC APPLICATION
cscpconf72 vistas
Typical Embedded System por anand hd
Typical Embedded SystemTypical Embedded System
Typical Embedded System
anand hd1.4K vistas
Presentation on Computer Processor por MoizAlSamad
Presentation on Computer ProcessorPresentation on Computer Processor
Presentation on Computer Processor
MoizAlSamad2.7K vistas
Hardware Software Codesign por destruck
Hardware Software CodesignHardware Software Codesign
Hardware Software Codesign
destruck38K vistas
Marek Majtan - Processor Presentation por Marek Majtan
Marek Majtan - Processor PresentationMarek Majtan - Processor Presentation
Marek Majtan - Processor Presentation
Marek Majtan622 vistas
Ashutosh kumar ( JAMIA HAMDARD ) por Ashutosh Kumar
Ashutosh kumar ( JAMIA HAMDARD )Ashutosh kumar ( JAMIA HAMDARD )
Ashutosh kumar ( JAMIA HAMDARD )
Ashutosh Kumar360 vistas
Embedded System basic and classifications por rajkciitr
Embedded System basic and classificationsEmbedded System basic and classifications
Embedded System basic and classifications
rajkciitr297 vistas

Destacado

K-NN Classifier Performs Better Than K-Means Clustering in Missing Value Imp... por
K-NN Classifier Performs Better Than K-Means Clustering in  Missing Value Imp...K-NN Classifier Performs Better Than K-Means Clustering in  Missing Value Imp...
K-NN Classifier Performs Better Than K-Means Clustering in Missing Value Imp...IOSR Journals
433 vistas4 diapositivas
H01055157 por
H01055157H01055157
H01055157IOSR Journals
333 vistas7 diapositivas
Abu por
AbuAbu
Abuabubakar_fikri
778 vistas9 diapositivas
Secondary Distribution for Grid Interconnected Nine-level Inverter using PV s... por
Secondary Distribution for Grid Interconnected Nine-level Inverter using PV s...Secondary Distribution for Grid Interconnected Nine-level Inverter using PV s...
Secondary Distribution for Grid Interconnected Nine-level Inverter using PV s...IOSR Journals
948 vistas8 diapositivas
Bmb02012013 00000 por
Bmb02012013 00000Bmb02012013 00000
Bmb02012013 00000Defense1
213 vistas34 diapositivas
Perfect Holiday Gift for the Vinyl Lover por
Perfect Holiday Gift for the Vinyl LoverPerfect Holiday Gift for the Vinyl Lover
Perfect Holiday Gift for the Vinyl LoverC.r. Louisville
439 vistas5 diapositivas

Destacado(20)

K-NN Classifier Performs Better Than K-Means Clustering in Missing Value Imp... por IOSR Journals
K-NN Classifier Performs Better Than K-Means Clustering in  Missing Value Imp...K-NN Classifier Performs Better Than K-Means Clustering in  Missing Value Imp...
K-NN Classifier Performs Better Than K-Means Clustering in Missing Value Imp...
IOSR Journals433 vistas
Secondary Distribution for Grid Interconnected Nine-level Inverter using PV s... por IOSR Journals
Secondary Distribution for Grid Interconnected Nine-level Inverter using PV s...Secondary Distribution for Grid Interconnected Nine-level Inverter using PV s...
Secondary Distribution for Grid Interconnected Nine-level Inverter using PV s...
IOSR Journals948 vistas
Bmb02012013 00000 por Defense1
Bmb02012013 00000Bmb02012013 00000
Bmb02012013 00000
Defense1213 vistas
Perfect Holiday Gift for the Vinyl Lover por C.r. Louisville
Perfect Holiday Gift for the Vinyl LoverPerfect Holiday Gift for the Vinyl Lover
Perfect Holiday Gift for the Vinyl Lover
C.r. Louisville439 vistas
Religion and warfare por achandravc
Religion and warfareReligion and warfare
Religion and warfare
achandravc149 vistas
英語ⅳ Jiro por c1411046
英語ⅳ Jiro英語ⅳ Jiro
英語ⅳ Jiro
c1411046213 vistas
Navigation Cost Modeling Based On Ontology por IOSR Journals
Navigation Cost Modeling Based On OntologyNavigation Cost Modeling Based On Ontology
Navigation Cost Modeling Based On Ontology
IOSR Journals779 vistas
 Challenges in Managing Online Business Communities por Thomas Gottron
 Challenges in Managing Online Business Communities Challenges in Managing Online Business Communities
 Challenges in Managing Online Business Communities
Thomas Gottron653 vistas
Formal Modeling and Verification of Trusted OLSR Protocol Using I-SPIN Model... por IOSR Journals
Formal Modeling and Verification of Trusted OLSR Protocol  Using I-SPIN Model...Formal Modeling and Verification of Trusted OLSR Protocol  Using I-SPIN Model...
Formal Modeling and Verification of Trusted OLSR Protocol Using I-SPIN Model...
IOSR Journals545 vistas
Evaluation of Biocontrol agents against Lasiodiplodia theobromae causing Infl... por IOSR Journals
Evaluation of Biocontrol agents against Lasiodiplodia theobromae causing Infl...Evaluation of Biocontrol agents against Lasiodiplodia theobromae causing Infl...
Evaluation of Biocontrol agents against Lasiodiplodia theobromae causing Infl...
IOSR Journals423 vistas

Similar a Implementation of RISC-Based Architecture for Low power applications

Ef35745749 por
Ef35745749Ef35745749
Ef35745749IJERA Editor
293 vistas5 diapositivas
CS304PC:Computer Organization and Architecture UNIT V_merged_merged.pdf por
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.pdfAsst.Prof. M.Gokilavani
16 vistas29 diapositivas
UNIT 1 SONCA.pptx por
UNIT 1 SONCA.pptxUNIT 1 SONCA.pptx
UNIT 1 SONCA.pptxmohan134666
8 vistas46 diapositivas
Hg3612911294 por
Hg3612911294Hg3612911294
Hg3612911294IJERA Editor
211 vistas4 diapositivas
Bharath technical seminar.pptx por
Bharath technical seminar.pptxBharath technical seminar.pptx
Bharath technical seminar.pptxMadhav Reddy
18 vistas24 diapositivas
Chapter 4 Microprocessor CPU por
Chapter 4 Microprocessor CPUChapter 4 Microprocessor CPU
Chapter 4 Microprocessor CPUaskme
15.8K vistas57 diapositivas

Similar a Implementation of RISC-Based Architecture for Low power applications(20)

CS304PC:Computer Organization and Architecture UNIT V_merged_merged.pdf por Asst.Prof. M.Gokilavani
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
Bharath technical seminar.pptx por Madhav Reddy
Bharath technical seminar.pptxBharath technical seminar.pptx
Bharath technical seminar.pptx
Madhav Reddy18 vistas
Chapter 4 Microprocessor CPU por askme
Chapter 4 Microprocessor CPUChapter 4 Microprocessor CPU
Chapter 4 Microprocessor CPU
askme15.8K vistas
A REVIEW ON ANALYSIS OF 32-BIT AND 64-BIT RISC PROCESSORS por IRJET Journal
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
IRJET Journal7 vistas
Design and Implementation of Quintuple Processor Architecture Using FPGA por IJERA Editor
Design and Implementation of Quintuple Processor Architecture Using FPGADesign and Implementation of Quintuple Processor Architecture Using FPGA
Design and Implementation of Quintuple Processor Architecture Using FPGA
IJERA Editor279 vistas
Intel new processors por zaid_b
Intel new processorsIntel new processors
Intel new processors
zaid_b2.4K vistas
computer processors intel and amd por Rohit Gada
computer processors intel and amdcomputer processors intel and amd
computer processors intel and amd
Rohit Gada3K vistas
Project Energy Efficient Database Management Systems Essay por April Wbnd
Project Energy Efficient Database Management Systems EssayProject Energy Efficient Database Management Systems Essay
Project Energy Efficient Database Management Systems Essay
April Wbnd2 vistas
Multilevel arch & str org.& mips, 8086, memory por Mahesh Kumar Attri
Multilevel arch & str org.& mips, 8086, memoryMultilevel arch & str org.& mips, 8086, memory
Multilevel arch & str org.& mips, 8086, memory
Mahesh Kumar Attri3.1K vistas
microprocessor-and-microcontroller por jhcid
microprocessor-and-microcontrollermicroprocessor-and-microcontroller
microprocessor-and-microcontroller
jhcid822 vistas
Intel 8th generation and 7th gen microprocessor full details especially for t... por Chessin Chacko
Intel 8th generation and 7th gen microprocessor full details especially for t...Intel 8th generation and 7th gen microprocessor full details especially for t...
Intel 8th generation and 7th gen microprocessor full details especially for t...
Chessin Chacko957 vistas
Co question bank LAKSHMAIAH por veena babu
Co question bank LAKSHMAIAH Co question bank LAKSHMAIAH
Co question bank LAKSHMAIAH
veena babu4.5K vistas
Study of various factors affecting performance of multi core processors por ateeq ateeq
Study of various factors affecting performance of multi core processorsStudy of various factors affecting performance of multi core processors
Study of various factors affecting performance of multi core processors
ateeq ateeq597 vistas

Más de IOSR Journals

A011140104 por
A011140104A011140104
A011140104IOSR Journals
1.2K vistas4 diapositivas
M0111397100 por
M0111397100M0111397100
M0111397100IOSR Journals
747 vistas4 diapositivas
L011138596 por
L011138596L011138596
L011138596IOSR Journals
732 vistas12 diapositivas
K011138084 por
K011138084K011138084
K011138084IOSR Journals
602 vistas5 diapositivas
J011137479 por
J011137479J011137479
J011137479IOSR Journals
603 vistas6 diapositivas
I011136673 por
I011136673I011136673
I011136673IOSR Journals
511 vistas8 diapositivas

Último

Basic Design Flow for Field Programmable Gate Arrays por
Basic Design Flow for Field Programmable Gate ArraysBasic Design Flow for Field Programmable Gate Arrays
Basic Design Flow for Field Programmable Gate ArraysUsha Mehta
10 vistas21 diapositivas
Robotics in construction enterprise por
Robotics in construction enterpriseRobotics in construction enterprise
Robotics in construction enterpriseKhalid Abdel Naser Abdel Rahim
5 vistas1 diapositiva
CCNA_questions_2021.pdf por
CCNA_questions_2021.pdfCCNA_questions_2021.pdf
CCNA_questions_2021.pdfVUPHUONGTHAO9
7 vistas196 diapositivas
REACTJS.pdf por
REACTJS.pdfREACTJS.pdf
REACTJS.pdfArthyR3
39 vistas16 diapositivas
Pitchbook Repowerlab.pdf por
Pitchbook Repowerlab.pdfPitchbook Repowerlab.pdf
Pitchbook Repowerlab.pdfVictoriaGaleano
9 vistas12 diapositivas
CPM Schedule Float.pptx por
CPM Schedule Float.pptxCPM Schedule Float.pptx
CPM Schedule Float.pptxMathew Joseph
8 vistas5 diapositivas

Último(20)

Basic Design Flow for Field Programmable Gate Arrays por Usha Mehta
Basic Design Flow for Field Programmable Gate ArraysBasic Design Flow for Field Programmable Gate Arrays
Basic Design Flow for Field Programmable Gate Arrays
Usha Mehta10 vistas
REACTJS.pdf por ArthyR3
REACTJS.pdfREACTJS.pdf
REACTJS.pdf
ArthyR339 vistas
Ansari: Practical experiences with an LLM-based Islamic Assistant por M Waleed Kadous
Ansari: Practical experiences with an LLM-based Islamic AssistantAnsari: Practical experiences with an LLM-based Islamic Assistant
Ansari: Practical experiences with an LLM-based Islamic Assistant
M Waleed Kadous12 vistas
Different type of computer networks .pptx por nazmul1514788
Different  type of computer networks .pptxDifferent  type of computer networks .pptx
Different type of computer networks .pptx
nazmul151478819 vistas
Unlocking Research Visibility.pdf por KhatirNaima
Unlocking Research Visibility.pdfUnlocking Research Visibility.pdf
Unlocking Research Visibility.pdf
KhatirNaima11 vistas
Design_Discover_Develop_Campaign.pptx por ShivanshSeth6
Design_Discover_Develop_Campaign.pptxDesign_Discover_Develop_Campaign.pptx
Design_Discover_Develop_Campaign.pptx
ShivanshSeth656 vistas
Details of Acoustic Liner for selection of material por rafiqalisyed
Details of Acoustic Liner for selection of materialDetails of Acoustic Liner for selection of material
Details of Acoustic Liner for selection of material
rafiqalisyed5 vistas
DevFest 2023 Daegu Speech_이재규, Implementing easy and simple chat with gol... por JQLEE6
DevFest 2023 Daegu Speech_이재규,  Implementing easy and simple chat with gol...DevFest 2023 Daegu Speech_이재규,  Implementing easy and simple chat with gol...
DevFest 2023 Daegu Speech_이재규, Implementing easy and simple chat with gol...
JQLEE68 vistas
AWS Certified Solutions Architect Associate Exam Guide_published .pdf por Kiran Kumar Malik
AWS Certified Solutions Architect Associate Exam Guide_published .pdfAWS Certified Solutions Architect Associate Exam Guide_published .pdf
AWS Certified Solutions Architect Associate Exam Guide_published .pdf
MongoDB.pdf por ArthyR3
MongoDB.pdfMongoDB.pdf
MongoDB.pdf
ArthyR351 vistas
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf por AlhamduKure
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdfASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf
AlhamduKure10 vistas

Implementation of RISC-Based Architecture for Low power applications

  • 1. IOSR Journal of Electrical and Electronics Engineering (IOSR-JEEE) e-ISSN: 2278-1676,p-ISSN: 2320-3331, Volume 8, Issue 4 (Nov. - Dec. 2013), PP 01-06 www.iosrjournals.org www.iosrjournals.org 1 | Page Implementation of RISC-Based Architecture for Low power applications Shaik Afroz 1 , M.Sumalatha2 1 PG Student (M. Tech), Dept. of ECE, Chirala Engineering College, Chirala, A.P, India. 2 Associate Professor, Dept. of ECE, Chirala Engineering College, Chirala, A.P, India. Abstract: This paper explains the design of a simple RISC processor and procedure for simulating it. A Reduced Instruction Set compiler (RISC) is a microprocessor that had been designed to perform a small set of instructions, with the aim of increasing the overall speed of the processor along with reducing the power consuming while executing the instruction. The RISC architecture follows the philosophy that one instruction should be performed every cycle. This work presents the design and implementation of a 32 bit RISC soft core processor intended for computer architecture introduction considered to be an effective solution for computer comprehension. The idea of this project was to create a microprocessor as a building block in VHDL than later easily can be included in a larger design. It will be useful in systems where a problem is easy to solve in software but hard to solve with control logic. A state machine dedicated to the function can of course replace the microprocessor and associated software. However at a high level of complexity it is easier to implement the function in software. In this project Modelsim is used for logical verification and further synthesizing is carried on Xilinx-ISE tool. To perform the power analysis the Xilinx xpower analyzer is used. Keywords: Low Power, Speed, RISC, Processor, Xilinx. I. Introduction Processors are regarded as one of the most important devices in our everyday machines called computers. Before we start, we need to understand what exactly processors are and their appropriate implementations. Processor is an electronic circuit that functions as the central processing unit (CPU) of a computer, providing computational control. Processors are also used in other advanced electronic systems, such as computer printers, automobiles, and jet airliners, Calculators and etc. Typical processors incorporate arithmetic and logic functional units as well as the associated control logic, instruction processing circuitry, and a portion of the memory hierarchy. Portions of the interface logic for the input/output (I/O) and memory subsystems may also be infused, allowing cheaper overall systems. While many processors and single-chip designs, some high-performance designs rely on a few chips to provide multiple functional units and relatively large caches. Processors have been described in many different ways. They have been compared with the brain and the heart of humans. Their operation has been likened to a switched board, and to the nervous system in an animal. They have often been called microcomputers. The original purpose of the processor was to control memory. That is what they were originally designed to do, and that is what they do today. Specifically, a processor is “a component that implements memory.” The traditional approach to develop a digital system was to use a set of interconnected digital integrated circuits like counters, buffers, logic gates and memory. That task required lots of analysis, testing and the need to adapt the design to the hardware’s inherent limitations (speed, response time, power consumption, etc.) which resulted in capped headroom for development. Also, every design change implied a whole analysis but sometimes the prototyping hardware wouldn’t allow any expansion without a considerable –and most times expensive- upgrade. At present, technological advance has brought new options like programmable logic as Complex Programmable Logic Devices (CPLD) or Field Programmable Gate Arrays (FPGA) with more sophisticated simulation and design verification environments, which enable engineers to reach new levels of complexity and robustness, while greatly reducing the time between development and implementation. Also, those advances let engineers focus on the application needs, rather than to fit the system onto existing hardware. This way, one can develop a system that can be optimized for manufacturing on a single chip, with the capacity to add or remove modules according to the requirements in the future. Modern processor design sometimes reduce the implementation effort by acquiring some of these elements as Intellectual Property (IP) or through implementation techniques to build the other components, like VHDL or Verilog language and a proprietary synthesizer depending on each hardware vendor.
  • 2. Implementation of RISC-Based Architecture for Low power applications www.iosrjournals.org 2 | Page There exist different approaches in order to obtain high comprehension when explaining computer architecture, one approach uses simulation of processors that allow interaction with each module that composes a computer as on [1]-[4]; another option is to use FPGA devices and VHDL language to construct a simple computer [5]- [6], but there is the disadvantage that by programming there is a lack of understanding in dataflow. There is even an approach that uses MSI digital components such as TTL in order to construct a computer [7], it is a good exercise to realize interconnections between components, but sometimes using wires to build those connections is excessively time consuming. On the other hand, there is an option to construct a simple computer by using a GUI that allow to design at gate level by placing components in a spreadsheet, it is easy to use and easy to understand dataflow between components even is more comprehensive if we can create all of the computer components from logical gates. In this present work, the design of an 8-bit data width Reduced Instruction Set Computer (RISC) processor is presented; it was developed with simplicity and implementation efficiency in mind. It has a complete instruction set, program and data memories, general purpose registers and a simple Arithmetical Logical Unit (ALU) for basic operations. It operates following a multi-cycle execution nature and is implemented on a Xilinx Spartan-3E FPGA. It is an advantageous Processor because of its Speed, Simpler hardware, shorter design cycle and User (programmer) friendly nature. Processors are much faster than memories. For example, a processor clocked at 100 MHz would like to access memory in 10 nanoseconds, the period of its 100 MHz clock. Unfortunately, the memory interfaced to the processor might require 60 nanoseconds for an access. So, the processor ends up waiting during each memory access, wasting execution cycles. To reduce the number of accesses to main memory, designers added instruction and data cache to the processors. A cache is a special type of high speed RAM where data and the address of the data are stored. Whenever the processor tries to read data from main memory, the cache is examined first. If one of the addresses stored in the cache matches the address being used for the memory read (called a hit), the cache will supply the data instead. Cache is commonly ten times faster than main memory, so you can see the advantage of getting data in 10 nanoseconds instead of 60 nanoseconds. Only when we miss (i.e., do not find the required data in the cache), does it take the full access time of 60 nanoseconds. But this can only happen once. Since a copy of the new data is written into the cache after a miss. The data will be there the next time we need it. Instruction cache is used to store frequently used instructions. Data cache is used to store frequently used data. Implementing fewer instructions and addressing modes on silicon reduces the complexity of the instruction decoder, the addressing logic, and the execution unit. This allows the machine to be clocked at a faster speed, since less work needs to be done each clock period. RISC typically has large set of registers. The number of registers available in a processor can affect performance the same way a memory access does. A complex calculation may require the use of several data values. If the data values all reside in memory during the calculations, many memory accesses must be used to utilize them. If the data values are stored in the internal registers of the processor instead, their access during calculations will be much faster. It is good then to have lot of internal registers. CISC is an acronym for complex instruction set computer. The reasons to have the large instruction set are: 1. CISC systems are complex as the architecture and the instructions are modified as per the technology and hence there is a requirement for more number of instructions and therefore will have many addressing modes. 2. The main function of any microprocessor is to fetch the data and process it. The chip as such doesn’t have any provision for memory i.e., memory is external. As process needs to access data from a memory or from I/O peripherals there is a necessary for more instructions. Drawbacks behind having the large instruction set:  The large instruction set is responsible for a very complicated control logic that generates a host of control signals and interrupts that are important for the working of the processor.  This large instruction set creates problems for the compiler as it has to write code for each individual instruction. It becomes difficult to debug if there is any mistake in the code of the compiler.  The Large instruction set has a very complicated decoding logic which is responsible for a more number of stages or for an increased propagation delay of the control logic. This is because an increase in the number of stages leads to proportionate increase in the number of gates. Transistor has a rise time, a fall time contributing to the propagation delay of the signal. So at every gate the signal gets delayed and this cumulative delay in propagation adds up, to decrease the processing speed of the data.  They have a variety of instruction formats like one byte, two byte, three byte. They have a large number of addressing modes.
  • 3. Implementation of RISC-Based Architecture for Low power applications www.iosrjournals.org 3 | Page  In general the pipelining is used to increase the speed of memory operations with separate control over the bus. They are difficult to handle if there is a considerable difference between instruction lengths and execution cycle of different instructions then the pipeline design will be much more complicated. RISC (Reduced Instruction Set Computer): The advantages of instruction set of RISC are as follows  In the RISC based system the frequently used instructions are hardware realized and it is therefore minimizes the memory access time and the decoding time.  It is easy to write code for fixed instruction set, so the compiler supports for efficient translation of high level language programs into machine language programs.  As the architecture supports pipeline in different segments, it may be possible to execute number of instructions in a single instruction cycle.  Memory access is limited to load accumulator and store accumulator instructions only. II. Design and Development of the Processor The designed processor is based on the Harvard architecture, in which the size of the instructions is not related to the size of the data, and therefore it can be optimized in a way that any instruction occupies a single position of program memory, thus obtaining greater speed and a minor program length. Also, the access time to the instructions can be superposed with the one of the data, obtaining a greater speed in each operation. The processor presented includes a RISC instruction set and uses a Single Instruction – Single Data (SISD) execution order. Its main characteristics are: • Eight 8-bit general purpose registers • 256 allocations of 16-bit wide ROM program memory • 256 allocations of 8-bit wide RAM data memory • ALU with basic arithmetic and logical operations Operational Blocks: Arithmetic-Logic Unit (ALU) The Arithmetic-Logic Unit has 8 operations; each one of them was created and converted into a symbol, then, a multiplexor was placed in order to obtain a 3-bit selector. Also, it has 3 flags: carry (C), half carry (H) and zero (Z), which indicate if there is a carry, a half carry or a zero after any ALU operation see Fig. 1. RAM Data Memory The RAM memory is a data storage block, there the stack is handled and other data are kept as variables. It is built with 32 memory blocks of 8 bits each one. The address input is divided in 2 parts. The first part has 3 bits select the memory block to read or write using a decoder. The second has 5 bits that select the memory location between 0 and 31 of the previously specified portion by the first part. In Fig. 1 appears the schematic diagram of the RAM memory. Program Counter (PC) The program counter produces the address to read instructions from the program memory. It has to be capable of loading a random address if the program requires so (i.e. loops or branches), and should be able to wait while the other functional parts complete their tasks (i.e. while the ALU gets the sum of 2 registers). An 8- bit parallel-load counter was used [9]. Control Unit The control unit operates as a state machine. States 0, 1 and 3 remain equal, whereas the second state can change depending on the instruction read by the decoder. In this way: state 0 represents a reset stage, state 1 represents the fetch/write back stage and finally during state 3 the program counter is incremented. ROM Program Memory The program memory –as its name describes- stores instructions to be executed. It has to be non- volatile and fast. It was decided to use internal ROM as program memory, because it was the fastest option and eliminated the need for external storage. This memory was built with 256x1 bit ROM blocks, with a total of 16 blocks to store 256 16-bit instructions.
  • 4. Implementation of RISC-Based Architecture for Low power applications www.iosrjournals.org 4 | Page Instruction Registers and Decoder: Instruction registers store the instruction read from the program memory, and keep it as an output for the decoder, which separates the operation code and operands to execute the command. Two 8-bit registers (D-type flip-flops) were used, one for the high byte and one for the low byte (16-bit instruction). The instruction decoder deals with the raw data stored in the instruction registers, and separates it in parts: Operation code (OPCODE), Rd, Rs and A/K, so that these values can be sent to the corresponding component, like the ALU, General Purpose Register block, etc. This is achieved simply by using a set of buffers inside a block to sort the signals to separate buses. General Purpose Registers (GPRs) store and save operands and results during program execution. ALU and memories must be able to write/read those registers, so a set of eight 8-bit registers were used, along with multiplexers and a decoder to control which register is read or written. Two registers can be read at a time but only one register can be written at a time see Fig. 1 The RTL Schematic of the Designed model is shown in Fig. 2. Figure 1 Block diagram of the RISC Processor Figure 2 RTL Schematic of the Implemented Processor III. Results and Conclusions In this project it is observed that the RISC based system is simulated using VHDL. The overall system is simulated and synthesized. After synthesizing the system we could get a statistical data about the number of input-output buffers, the number of registers, number of flip-flops and latches were used .The modules simulated are Accumulator, Buffer, , Instruction Register, Multiplexer, Program Counter, Control Logic Decoder, Arithmetic Logic Unit and the overall system. Few instructions were executed and their timing sequences were analyzed. It shows that the different operations of the instruction including the decoding and execution come in the overall system. Therefore we conclude that the behavior shows, the system is working as RISC as instruction will be executed within a single clock cycle. The power consumed for the processor is 132mw.when compare to the previous architecture it became half in terms of power consumption .So based on the power report the proposed architecture is efficient in terms of power parameter. For the complete CPU implementation, a Xilinx Spartan3 XC3S1000-5FG320 FPGA was used. For design purpose, XilinxISE Web pack tools were used under schematic mode to allow direct gate level designs. Simulation is performed on the included XilinxISE Simulator, designed to work with files generated by
  • 5. Implementation of RISC-Based Architecture for Low power applications www.iosrjournals.org 5 | Page XilinxISE. In order to simplify the conversion of CPU test programs, a specific translator was designed in MATLAB language, that reads a Microsoft Excel archive (*.xls) which contains the program in assembly language, and translates it to machine code, giving the proper format to load the instructions to the program memory. Figure 3 Simulation Result for ALU Module In Fig.3,Every signal reacts at the clock rising edge only. Here in the input (acc and data) the given data is 3 and 2 . Based on the opcode we are getting the output acc1.Here we are applied opcode as 0,1,2,3.so the outputs we are getting as 5,1,3,1 which are obtained by performing addition, subtraction, data increment and data decrement .In the same way we are applying the remaining opcode also. Figure 4 Simulation Result of Control Unit From Fig 4, based on the opcode generated, Control unit generates necessary control signals as outputs whose combination, results in different actions. Different outputs like incpc, ldacc, ldir, ldpc, rd, rst, wr, and y are generated. Here, for opcode, ”0001” different outputs are obtained as seen above. Figure 5 Simulation Result for the TOP Module Here the instructions are given through opcode signal and the data is given through data_in signal. Based on the opcode and data_in the data_out is generated which shows the functionality of the design. It is shown in Fig. 5. Acknowledgements The authors would like to thank the anonymous reviewers for their comments which were very helpful in improving the quality and presentation of this paper. References: [1] Pan-Song, Huang-JiYe, SOPC Technology Utility Tutorial, Tsinghua University Press, 2006. [2] Zheng-WeiMin, Tang-ZhiZhong. Computer System Structure (The second edition), Tsinghua University Press, 2006. [3] Ramdas, T. Li-Minn Ang and Egan, G., "FPGA implementation of an integer MIPS processor in Handel-C and its application to human face detection," in Proc. of IEEE Region 10 Conference, Vol. 1, pp. 36-39, 2004. [4] Xizhi Li and Tiecai Li, "ECOMIPS: an economic MIPS CPU design on FPGA," in Proc. of the 4th IEEE International Workshop on System-on- Chip for Real-Time Applications, pp. 291-294, 2004. [5] D. M. Harris and S. L. Harris, Digital Design and Computer Architecture,1st edition, Morgan Kaufmann, 2007, USA.
  • 6. Implementation of RISC-Based Architecture for Low power applications www.iosrjournals.org 6 | Page [6] Balpande, R.S. and Keote, R.S., "Design of FPGA based Instruction Fetch & Decode Module of 32-bit RISC (MIPS) Processor," in Proc. of International Conference on Communication Systems and Network Technologies, pp. 409-413, 2011. [7] MIPS Technologies, Inc. MIPS32™ Architecture For Programmers Volume II: The MIPS32™ Instruction Set June 9, 2003. [8] H. ElAarag, “A complete design of a RISC processor for pedagogical purposes,” Journal of Computing Sciences in Colleges, vol. 25, Issue 2, pp. 205-213, 2009. [9] Pattersson, Hennessy, Computer Organization and Design, The hardware/software interface, 2nd Edition, Morgan Kaufmann, 1998. [9] Tocci, Widmer, Moss, “Sistemas Digitales, Principios y aplicaciones,” 10ª Edición, Pearson, 2007. Authors Profile: SHAIK AFROZ is Pursuing his M. Tech from Chirala Engineering College, Chirala in the department of Electronics & Communications Engineering (ECE) with specialization in VLSI & Embedded Systems. M.SUMALATHA is working as an Associate Professor in the department of Electronics & Communication Engineering in Chirala Engineering College,Chirala. She has 7 years of teaching experience.