Design of a RISC Processor Compatible with ARM Instruction Set AHMET GÜRHANLI LAB: BL405 SUPERVISER: 陳中平 教授.

Slides:



Advertisements
Similar presentations
Machine cycle.
Advertisements

PIPELINE AND VECTOR PROCESSING
Computer Organization and Architecture
Computer architecture
ARM Cortex A8 Pipeline EE126 Wei Wang. Cortex A8 is a processor core designed by ARM Holdings. Application: Apple A4, Samsung Exynos What’s the.
RISC and Pipelining Prof. Sin-Min Lee Department of Computer Science.
1 Lecture: Out-of-order Processors Topics: out-of-order implementations with issue queue, register renaming, and reorder buffer, timing, LSQ.
THE MIPS R10000 SUPERSCALAR MICROPROCESSOR Kenneth C. Yeager IEEE Micro in April 1996 Presented by Nitin Gupta.
ARM Organization and Implementation Aleksandar Milenkovic Web:
Lab Assignment 2: MIPS single-cycle implementation
Chapter 14 Superscalar Processors. What is Superscalar? “Common” instructions (arithmetic, load/store, conditional branch) can be executed independently.
Computer ArchitectureFall 2007 © October 24nd, 2007 Majd F. Sakr CS-447– Computer Architecture.
Processor Architecture Kieran Mathieson. Outline Memory CPU Structure Design a CPU Programming Design Issues.
Chapter 14 Instruction Level Parallelism and Superscalar Processors
(6.1) Central Processing Unit Architecture  Architecture overview  Machine organization – von Neumann  Speeding up CPU operations – multiple registers.
Processor Structure & Operations of an Accumulator Machine
Instruction Sets and Pipelining Cover basics of instruction set types and fundamental ideas of pipelining Later in the course we will go into more depth.
Computer Organization and Architecture Instruction-Level Parallelism and Superscalar Processors.
What have mr aldred’s dirty clothes got to do with the cpu
Stack Stack Pointer A stack is a means of storing data that works on a ‘Last in first out’ (LIFO) basis. It reverses the order that data arrives and is.
Understanding the TigerSHARC ALU pipeline Determining the speed of one stage of IIR filter – Part 3 Understanding the memory pipeline issues.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
Central Processing Unit. MAJOR COMPONENTS OF CPU.
The Central Processing Unit (CPU) and the Machine Cycle.
Pipeline Hazards. CS5513 Fall Pipeline Hazards Situations that prevent the next instructions in the instruction stream from executing during its.
CSE 340 Computer Architecture Summer 2014 Basic MIPS Pipelining Review.
CS.305 Computer Architecture Enhancing Performance with Pipelining Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from.
E X C E E D I N G E X P E C T A T I O N S VLIW-RISC CSIS Parallel Architectures and Algorithms Dr. Hoganson Kennesaw State University Instruction.
TEAM FRONT END ECEN 4243 Digital Computer Design.
Spring 2003CSE P5481 Precise Interrupts Precise interrupts preserve the model that instructions execute in program-generated order, one at a time If an.
RISC / CISC Architecture by Derek Ng. Overview CISC Architecture RISC Architecture  Pipelining RISC vs CISC.
1 3 Computing System Fundamentals 3.2 Computer Architecture.
CPUz 4 n00bz.
ARM7 Architecture What We Have Learned up to Now.
Instruction level parallelism And Superscalar processors By Kevin Morfin.
Speed up on cycle time Stalls – Optimizing compilers for pipelining
CDA3101 Recitation Section 8
ARM Organization and Implementation
William Stallings Computer Organization and Architecture 8th Edition
William Stallings Computer Organization and Architecture 8th Edition
3.3.3 Computer architectures
Chapter 14 Instruction Level Parallelism and Superscalar Processors
The fetch-execute cycle
Instruction Level Parallelism and Superscalar Processors
Figure 8.1 Architecture of a Simple Computer System.
CS 5513 Computer Architecture Pipelining Examples
Lecture 6: Advanced Pipelines
Superscalar Pipelines Part 2
Lecture 19: Branches, OOO Today’s topics: Instruction scheduling
Computer Organization and ASSEMBLY LANGUAGE
Instruction Level Parallelism and Superscalar Processors
Lecture 18: Pipelining Today’s topics:
CSC 4250 Computer Architectures
Figure 8.1 Architecture of a Simple Computer System.
Overheads for Computers as Components 2nd ed.
Guest Lecturer TA: Shreyas Chand
The ARM Instruction Set
ARM Introduction.
GCSE OCR 1 The CPU Computer Science J276 Unit 1
ARM ORGANISATION.
Created by Vivi Sahfitri
Appendix C Practice Problem Set 1
Objectives Describe common CPU components and their function: ALU Arithmetic Logic Unit), CU (Control Unit), Cache Explain the function of the CPU as.
CS 3853 Computer Architecture Pipelining Examples
Computer Architecture
Presentation transcript:

Design of a RISC Processor Compatible with ARM Instruction Set AHMET GÜRHANLI LAB: BL405 SUPERVISER: 陳中平 教授

OUTLINE General Architecture Inputs and Outputs Components Instructions Simulation Results Conclusion

GENERAL ARCHITECTURE

ARM multi-cycle instruction pipeline operation

Fetch Stage

Decode Stage Decode/Execute Pipeline Registers

Execute Stage

INPUTS & OUTPUTS

COMPONENTS

Register Bank

Program Status Register

ALU

Multiplier

The Enhancements We Made Shortening the Branch Process From 3 cycles to 2 cycles Fastening the Abort Entry Procedure

The Original Instruction Pipeline

Our Design

Abort Entry In the original design in case of an abort the running instruction is processed until the end, and then re-processed after abort interrupt. This may cause unnecessary stalls up to 16 cycles In our design processor can stop instruction execution immediately in case of a memory abort.

INSTRUCTIONS

Branch

Data Processing

ADD R1,R0,#15

ARM Data Processing Instructions

Multiply Rd = Rs*Rm Multiply Rd = Rs*Rm+Rn Multiply Accumulate

Multiply MUL R4,R2,R1

Multiple Transfer LDMIA R0!,{R5-R8}

SIMULATION RESULTS before simulation: memory [ 200] = xxxxxxxx before simulation: memory [ 201] = xxxxxxxx before simulation: memory [ 202] = xxxxxxxx before simulation: memory [ 203] = xxxxxxxx before simulation: memory [ 204] = xxxxxxxx before simulation: memory [ 205] = xxxxxxxx before simulation: memory [ 206] = xxxxxxxx before simulation: memory [ 207] = xxxxxxxx before simulation: memory [ 208] = xxxxxxxx before simulation: memory [ 209] = xxxxxxxx before simulation: memory [ 210] = xxxxxxxx before simulation: memory [ 211] = xxxxxxxx before simulation: memory [ 212] = xxxxxxxx before simulation: memory [ 213] = xxxxxxxx before simulation: memory [ 214] = xxxxxxxx before simulation: memory [ 215] = xxxxxxxx before simulation: memory [ 216] = xxxxxxxx before simulation: memory [ 217] = xxxxxxxx before simulation: memory [ 218] = xxxxxxxx before simulation: memory [ 219] = xxxxxxxx

SIMULATION RESULTS after simulation: memory [ 200] = after simulation: memory [ 201] = after simulation: memory [ 202] = after simulation: memory [ 203] = after simulation: memory [ 204] = after simulation: memory [ 205] = after simulation: memory [ 206] = after simulation: memory [ 207] = after simulation: memory [ 208] = after simulation: memory [ 209] = after simulation: memory [ 210] = after simulation: memory [ 211] = after simulation: memory [ 212] = after simulation: memory [ 213] = after simulation: memory [ 214] = after simulation: memory [ 215] = after simulation: memory [ 216] = after simulation: memory [ 217] = after simulation: memory [ 218] = after simulation: memory [ 219] =

CONCLUSIONS Architecture coding is almost finished. Simple synthesis of the design is successful. We will finish the design flow as soon as possible and make the design ready for tape- out.

THANK YOU