Novel Design of Dual Core RISC Architecture Implementation

Similar documents
FPGA Based Implementation of Pipelined 32-bit RISC Processor with Floating Point Unit

An FPGA Implementation of 8-bit RISC Microcontroller

FPGA Implementation of A Pipelined MIPS Soft Core Processor

VHDL Implementation of a MIPS-32 Pipeline Processor

Design & Analysis of 16 bit RISC Processor Using low Power Pipelining

Design of 16-bit RISC Processor Supraj Gaonkar 1, Anitha M. 2

Design and Implementation of 5 Stages Pipelined Architecture in 32 Bit RISC Processor

VHDL Design and Implementation of ASIC Processor Core by Using MIPS Pipelining

DESIGN OF HIGH PERFORMANCE LOW POWER 32 BIT RISC PROCESSOR

Design of a Pipelined 32 Bit MIPS Processor with Floating Point Unit

New Approach for Affine Combination of A New Architecture of RISC cum CISC Processor

Chapter 4. The Processor

Pipelined MIPS processor with cache controller using VHDL implementation for educational purpose

Design, Analysis and Processing of Efficient RISC Processor

Electronics Engineering, DBACER, Nagpur, Maharashtra, India 5. Electronics Engineering, RGCER, Nagpur, Maharashtra, India.

Chapter 4. The Processor

FPGA Implementation of MIPS RISC Processor

Multi Cycle Implementation Scheme for 8 bit Microprocessor by VHDL

A High Speed Design of 32 Bit Multiplier Using Modified CSLA

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

Chapter 4. Instruction Execution. Introduction. CPU Overview. Multiplexers. Chapter 4 The Processor 1. The Processor.

Pipelining. CSC Friday, November 6, 2015

Implementation of RISC Processor for Convolution Application

RECONFIGURABLE SPI DRIVER FOR MIPS SOFT-CORE PROCESSOR USING FPGA

Chapter 4. The Processor. Instruction count Determined by ISA and compiler. We will examine two MIPS implementations

VLSI DESIGN OF REDUCED INSTRUCTION SET COMPUTER PROCESSOR CORE USING VHDL

The Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Implimentation of A 16-bit RISC Processor for Convolution Application

These actions may use different parts of the CPU. Pipelining is when the parts run simultaneously on different instructions.

CISC Processor Design

FPGA based Simulation of Clock Gated ALU Architecture with Multiplexed Logic Enable for Low Power Applications

COMPUTER ORGANIZATION AND DESIGN. The Hardware/Software Interface. Chapter 4. The Processor: A Based on P&H

EE 3170 Microcontroller Applications

Implementation of Low Power High Speed 32 bit ALU using FPGA

Digital System Design Using Verilog. - Processing Unit Design

3/12/2014. Single Cycle (Review) CSE 2021: Computer Organization. Single Cycle with Jump. Multi-Cycle Implementation. Why Multi-Cycle?

CAD for VLSI 2 Pro ject - Superscalar Processor Implementation

Computer Organization CS 206 T Lec# 2: Instruction Sets

Introduction to Microcontrollers

Design and Implementation o 64 bit RISC Processor on FPGA

CSEE 3827: Fundamentals of Computer Systems

The Processor (1) Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

COMPUTER STRUCTURE AND ORGANIZATION

Processor (I) - datapath & control. Hwansoo Han

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit

FPGA based Design of Low Power Reconfigurable Router for Network on Chip (NoC)

TDT4255 Computer Design. Lecture 4. Magnus Jahre. TDT4255 Computer Design

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

ECE 571 Advanced Microprocessor-Based Design Lecture 3

Instruction Set Overview

AN INNOVATIVE APPROACH FOR ASYNCHRONOUS MICROPROCESSOR DESIGN BASED ON FPGA

International Journal Of Global Innovations -Vol.6, Issue.II Paper Id: SP-V6-I1-P01 ISSN Online:

Laboratory Memory Components

VLIW Architecture for High Speed Parallel Distributed Computing System

Chapter 4. The Processor Designing the datapath

EFFICIENT HARDWARE DESIGN AND IMPLEMENTATION OF ENCRYPTED MIPS PROCESSOR

Chapter 4. The Processor

Embedded Soc using High Performance Arm Core Processor D.sridhar raja Assistant professor, Dept. of E&I, Bharath university, Chennai

Outcomes. Lecture 13 - Introduction to the Central Processing Unit (CPU) Central Processing UNIT (CPU) or Processor

: : (91-44) (Office) (91-44) (Residence)

THE MICROPROCESSOR Von Neumann s Architecture Model

ISSN Vol.02, Issue.11, December-2014, Pages:

Designing an Improved 64 Bit Arithmetic and Logical Unit for Digital Signaling Processing Purposes

Design of High Performance MIPS-32 Pipeline Processor

Where Does The Cpu Store The Address Of The

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS II Fall 1999

The design of a simple asynchronous processor

Design an 8 bit Microprocessor with all the Operations of 8051 Microcontroller with the help of VHDL

Dual Port SRAM Based Microcontroller Chip Test Report

Functional Verification of Enhanced RISC Processor

ECE 486/586. Computer Architecture. Lecture # 7

MARIE: An Introduction to a Simple Computer

DESIGN AND IMPLEMENTATION OF I2C SINGLE MASTER ON FPGA USING VERILOG

FPGA Implementation of ALU Based Address Generation for Memory

REALIZATION OF AN 8-BIT PROCESSOR USING XILINX

32 bit Arithmetic Logical Unit (ALU) using VHDL

Design of Low Power Pipelined RISC Processor

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

The Processor. Z. Jerry Shi Department of Computer Science and Engineering University of Connecticut. CSE3666: Introduction to Computer Architecture

Chapter 4. MARIE: An Introduction to a Simple Computer

Keywords: Soft Core Processor, Arithmetic and Logical Unit, Back End Implementation and Front End Implementation.

Processing Unit CS206T

ECE369. Chapter 5 ECE369

Prachi Sharma 1, Rama Laxmi 2, Arun Kumar Mishra 3 1 Student, 2,3 Assistant Professor, EC Department, Bhabha College of Engineering

Implementation of Low Power Pipelined 64-bit RISC Processor with Unbiased FPU on CPLD

MARIE: An Introduction to a Simple Computer

Computer and Hardware Architecture I. Benny Thörnberg Associate Professor in Electronics

Section 6. Memory Components Chapter 5.7, 5.8 Physical Implementations Chapter 7 Programmable Processors Chapter 8

Systems Architecture

Power Optimized Programmable Truncated Multiplier and Accumulator Using Reversible Adder

DC57 COMPUTER ORGANIZATION JUNE 2013

Latches. IT 3123 Hardware and Software Concepts. Registers. The Little Man has Registers. Data Registers. Program Counter

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA

Chapter 4. MARIE: An Introduction to a Simple Computer 4.8 MARIE 4.8 MARIE A Discussion on Decoding

General purpose registers These are memory units within the CPU designed to hold temporary data.

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

Math 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro

Processor Architecture

Chapter 4 The Processor 1. Chapter 4A. The Processor

Transcription:

Journal From the SelectedWorks of Kirat Pal Singh Spring May 18, 2015 Novel Design of Dual Core RISC Architecture Implementation Akshatha Rai K, VTU University, MITE, Moodbidri, Karnataka Basavaraj H J, VTU University, MITE, Moodbidri, Karnataka This work is licensed under a Creative Commons CC_BY-NC International License. Available at: https://works.bepress.com/kiratpalsingh/65/

Novel Design Of Dual Core RISC Architecture Implementation NOVEL DESIGN OF DUAL CORE RISC ARCHITECTURE IMPLEMENTATION 1 AKSHATHA RAI K, 2 BASAVARAJ H J 1 PG Scholar, Department of ECE, VTU University, MITE, Moodbidri, Karnataka University 2 Assistant professor, Department of ECE, VTU University MITE, Moodbidri, Karnataka Abstract- The main goal of the project is simulation and synthesis of the 17bit RISC CPU based on MIPS.RISC is a style or family of processor architecture that share some characteristics and that has been designed to perform a small set of instructions. The most important feature of the RISC processor is that this processor is very simple and support load and store architecture. The design uses Harvard architecture which has distinct program memory space and data memory space. The design consists of four stage pipelining, which involves instruction fetch, instruction decode, execute and write back stage. In this project simulation is done by modelsim to perform logical verification and further synthesizing it on Xilinx-ISE tool using target technology and performing place & routing operation for system verification. The language used here is verilog. Keywords: MIPS, RISC, Pipelining, Xilinx. I. INTRODUCTION RISC or Reduced Instruction Set Computer is a simple architecture that becomes mainstream in the last few years. RISC processor operates on very few data types and does the simple operations. It supports very few addressing modes and is mostly register based. Most of the instructions operate on data present in internal registers. RISC design resulted in computers that execute instructions faster than other computers built of the same technology. In a RISC machine, the instruction set is based upon a load store approach. Only load and store instructions access memory. This is the key to single-cycle execution of instructions. Comparing to CISC, RISC CPU have more advantages, such as faster speed, simplified structure easier implementation. RISC CPU is extensive use in embedded system. MIPS processor design is based on the RISC design principle that emphasizes on load/store architecture. A major aspect of the MIPS design was to fit every sub-phase, including cache-access, of all instructions into one cycle, thereby removing any needs for interlocking, and permitting a single cycle throughput. MIPS implementations are primarily used in embedded systems such as Windows CE devices, routers, residential gateways, I. PROPOSED MIPS RISC ARCHITECTURE Microprocessor without interlocked pipeline stages was abbreviated as MIPS. It was also called as Millions of instructions per second. In conventional approach the MIPS system is designed for the parallel execution. The system consists of several processor modules and dedicated data memory is used for processor operations memory arbiter. This approach uses four clock cycles. Number of gate count increases because individual dedicated memory and an extra arbiter is required. Utilization of chip area is more, hence the system consumes more power and latency also increases. To overcome these drawbacks, shared memory architecture is designed. The processors are connected in star topology and share common memory for program and data. Any processor can write/read from the memory at the same time. If collisions occur, they are handled by priority method. II. PIPELINING The RISC Processor is designed using pipelined architecture. In this 4-stage pipelining is implemented, with this the speed as well as performance is increased. The four stages of pipeline are fetch, decode, execute and memory read/write back pipelining allows the processor to work on different types of the instruction at the same time, thus more instruction can be executed in a shorter period of time. When the MIPS processor is pipelined during a single clock cycle each on of those modules or stage is in use at exactly the same time executing on different instruction in parallel. The basic architecture of RISC pipelined processor is shown in the bellow figure 1. Fig 1. Basic architecture of RISC Pipelined processor 16

Novel Design Of Dual Core RISC Architecture Implementation At any given time there are 4 instructions in different stages of execution Computer (CISC) and Reduced Instruction Set Computer (RISC). The comparison between RISC and CISC architecture is shown below. Fig 2. Instruction execution using Pipelining technique The figure 2. shows how instructions are executed using the pipelining technique. The 4 stages of pipelining are Instruction Fetch (IF): The Instruction Fetch stage is where a program counter (8 bit) will pull the next instruction from the correct location in program memory. Obtain next instruction from memory. Loads the instruction into instruction register IR and the MAR is loaded with instruction pointer. Here the instruction is loaded through the MDR. Once the instruction is fetched the program counter will be incremented and it updates instruction pointer address while reading instruction from memory. Instruction Decode (ID): The Instruction Decode stage examines op code of the instruction. Depending on the opcode it will determine which operation to perform. Output line signals a circuit which implements the corresponding operation. Execute Unit (EX): The Execute stage is where the instruction is actually sent to the ALU and executed. If necessary, branch locations are calculated in this stage as well. Initially it computes the address of the memory location of the instruction operand, and then Loads MAR with address calculated. later Reads memory into MDR, making data available as input to the processing unit. The Microcode for the instruction, selected by the decoder output line, is executed by the ALU. Store result (ST): If the instruction is a load, memory does a read using the effective address computed in the previous cycle that can be stored. Instruction Cycle begins anew. III. RISC & CISC COMPARISON Processors have traditionally been designed around two Philosophies: Complex Instruction Set IV. RISC SPECIFICATIONS Architecture contains 23 instructions (6 arthmetic+8 logical+4 datapath+5 branching instruction) Four stage instruction execution (IF, ID, IE, ST). Harvard memory architecture. 8Bit data and 8bit address bus. 8 Bit memory mapped I/O register. 1 Special purpose status register. 13 General purpose CPU registers uniform instruction width for all the instruction. V. INSTRUCTION SET ISA(Instruction Set Architecture) of processor is composed of instruction set and corresponding registers. Program based on same ISA can run on the same instruction set. The instruction set used in this architecture consists of arithmetic instructions, logical instructions, branch instructions and memory instructions. The different addressing modes in an instruction set architecture define how machine language instructions in that architecture identify the operand (or operands) of each instruction. The addressing mode used in proposed method is: Register addressing mode. 17 bit address with opcode of 5bit and three operands each of 4 bits. The data width, status register, program counter are of 8 bit. 23 instructions are used in this processor and taken in ROM memory of this processor. The instruction format is of register type 17

Novel Design Of Dual Core RISC Architecture Implementation and is shown in Figure 3. Instruction of 17 bit with opcode 5bit and three operands of each 4 bit. Fig 3. Instruction set of RISC processor ALU Instructions: Arithmetic operations either take two registers as operands or take one register and a immediate value as an operand. Some arithmetic instructions are ADD, SUB, MUL, DIV, INC and DEC. The result is stored in a third register. Logical operations such as AND OR, XOR, NOT, Shift left, Shift right with carry, Shift left with carry. Shift right are used. Data path operations: Usually take a register (base register) as an operand and a immediate value. The sum of the two will create the effective address. A second register acts as a source in the case of a load operation. In the case of a store operation the second register contains the data to be stored. Examples are: LW, SW etc. Move immediate (MVI), Register moving (MOV) are also used as data path operations. Branch instructions: A branch causes an immediate value to be added to the current program counter. Some common branch instructions are BZ (Branch Zero), BNZ (Branch if not Zero), BC( Branch carry),bnc(branch if no carry) and GOTO (goto specified address). VI. FLOW CHART There are four stages to execute any instruction in the MIPS RISC implementation that is shown in the flow chart given below. The process starts when PC value sent to the instruction memory which contains the code, after that the PC will be incremented. Later the instruction is fetched and determines whether the fetched instruction has to read on the register or to register from the memory. Fig 4. Steps in RISC implementation VII. Later instructions are decoded and instruction function is sent to the ALU unit, where all calculations are performed and produce the result. This result is given as input to the data memory. Data memory is used for load and stores the values to and from the memory. Depending on the instruction it performs the read or write operation. SIMULATION RESULTS The single core RISC processor or CPU is simulated by using pipeline concept and Xilinx ISE and Modelsim simulator is used to get results. The Verilog HDL language is used for designing the CPU. The top level design of CPU processor for single core RISC processor obtained in Xilinx ISE is shown in Figure5. The RTL schematic for single Proceedings of Third IRF International Conference, 07th March-2015, Mysore, India, ISBN: 978-93-82702-74-0 18

RISC processor obtained in Xilinx is shown in Figure6. Novel Design Of Dual Core RISC Architecture Implementation The design summery shows device utilization out of available devices. The utilization of registers, flipflops, latches etc. are shown in terms of percentage. Fig 5. Top level design of RISC processor. CONCLUSION Fig 8: Design summary of CPU. 17 bit instruction set RISC Processor core has been design and simulated in Xilinx ISE 14.1. The design has been achieved using Verilog and simulated with Modelsim simulator. After synthesis got the less no of logic resource utilization comparing the available resources this can be show in the device utilization summery table. REFERENCES Fig 6. RTL Schematic of RISC processor. The simulation waveform for Single core CPU is obtained by using Modelsim is shown in Figure7. Here there is a five input such as clock (1bit), reset (1bit), input1 (4 bit), input2 (4 bit), ram data (4 bit). The data read from ram by using load instruction. The output are op (4 bit), ram write (8 bit). [1] Anjana R, Krunal Gandhi VHDL Implementation of a MIPS RISC Processor - International Journal of Advanced Research in Computer Science and Software Engineering, Volume 2, Issue 8, August 2012. [2] Rama Krishna V, Venu Gopal B Design and analysis of 32-bit RISC Processor based on MIPS International Journal of Innovative Technology and Exploring Engineering, ISSN: 2278-3075, Volume-1. Issue-5, October 2012. [3] Kirat Pal Singh, Shivani Parmar Vhdl Implementation of A MIPS -32 bit Pipeline Processor International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 7 No.11. [4] Galani Tina, R.Daruwala Performance Improvement of MIPS Architecture by Adding New Features International Journal of Advanced Research in Computer Science and Software Engineering Volume 3, Issue 2, February 2013. [5] Tina Daghooghi Design and Development MIPS Processor Based on a High Performance and Low Power Architecture on FPGA. [6] Manan Parikh, Mayuresh Dawoo, Pallavi Manjunath, Prashant Awasthi, Fahad Usmani Design of power efficient MIPS processor International Journal of Research in Engineering and Applied Sciences (IJREAS). IJREAS, Vol. 02, Issue 01, Jan 2014. [7] Vijay Kumar, Chintakunta Swapna, Boya Nagaraju, Thogata Ramanjappa FPGA Based Implementation of Pipelined 32-bit RISC Processor with Floating Point Unit Int. Journal of Engineering Research and Applications ISSN : 2248-9622, Vol. 4, Issue 4( Version 5). Fig7: Simulation waveform for single RISC processor. 19