jop java optimized processor di martin schöberl. content targets java virtal machine three...

13
JOP JOP Java Optimized Java Optimized Processor Processor DI Martin Schöberl

Upload: camron-bell

Post on 19-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JOP Java Optimized Processor DI Martin Schöberl. Content Targets Java Virtal Machine Three different architectures Datapath of JOP3 First results

JOPJOPJava Optimized ProcessorJava Optimized Processor

DI Martin Schöberl

Page 2: JOP Java Optimized Processor DI Martin Schöberl. Content Targets Java Virtal Machine Three different architectures Datapath of JOP3 First results

ContentContent

TargetsJava Virtal MachineThree different architecturesDatapath of JOP3First results

Page 3: JOP Java Optimized Processor DI Martin Schöberl. Content Targets Java Virtal Machine Three different architectures Datapath of JOP3 First results

TargetsTargets

Small processorFits in a main stram FPGAEfficient execution of byte codesJVM real time enabledorganization of local memory ?Multi processor on a single chip ?

Page 4: JOP Java Optimized Processor DI Martin Schöberl. Content Targets Java Virtal Machine Three different architectures Datapath of JOP3 First results

Java Virtual MachineJava Virtual Machine

32 (64) Bit stack machineVariable length instructionsSimple to very complex instructionsSymbolic referencesStack, heap, constants and code

Page 5: JOP Java Optimized Processor DI Martin Schöberl. Content Targets Java Virtal Machine Three different architectures Datapath of JOP3 First results

First ApproachFirst Approach

Accu/Register Machine RISC like instruction set 16 Bit instruction set 32 Bit datapath 3 stage pipeline All instructions single cycle Larg register file (up to 1024) JVM complete in SW

Page 6: JOP Java Optimized Processor DI Martin Schöberl. Content Targets Java Virtal Machine Three different architectures Datapath of JOP3 First results

Second ApproachSecond Approach

+ special register SP, AR 16 register + 16 constants Stack in local memory 8 Bit instruction Memory interface ‚extern‘ Byte code fetch/decode in HW 2+3 stage pipeline JVM instruction min. 3 cycles

Page 7: JOP Java Optimized Processor DI Martin Schöberl. Content Targets Java Virtal Machine Three different architectures Datapath of JOP3 First results

JOP3JOP3

Stack machineByte code is instruction set8 Bit microcodeBasic JVM instructions single cycle4 stage pipelineNo traps for complex instructions

Page 8: JOP Java Optimized Processor DI Martin Schöberl. Content Targets Java Virtal Machine Three different architectures Datapath of JOP3 First results

JOP3 FetchJOP3 Fetch

A

IR

JBR

OPDH

PC

JINS

RAM

jbc

JPC

+

+

ROM

microcode

-3

1

+

+

1

Page 9: JOP Java Optimized Processor DI Martin Schöberl. Content Targets Java Virtal Machine Three different architectures Datapath of JOP3 First results

JOP3 Read/WriteJOP3 Read/WriteSP

SPP

SPM

IR

1+

+

-1

A

vp1

1+

vp2

2+

vp3

3+

vpix+

cpix+

vp

cpA

A

A

JINS

RD

ADDR

WR

ADDR

SPM

Page 10: JOP Java Optimized Processor DI Martin Schöberl. Content Targets Java Virtal Machine Three different architectures Datapath of JOP3 First results

JOP3 ExecuteJOP3 Execute

Aldandorxor

shr

IOR

BRAM

wraddr dout

wrena

rdaddr

din

+

-

spvp0

cpimm

Page 11: JOP Java Optimized Processor DI Martin Schöberl. Content Targets Java Virtal Machine Three different architectures Datapath of JOP3 First results

StatusStatus

Cores run on Altera ACEX 1K30-3Periphery: IO port, SRAM- and Flash

interface, UART, ECPFirst real application under development

Page 12: JOP Java Optimized Processor DI Martin Schöberl. Content Targets Java Virtal Machine Three different architectures Datapath of JOP3 First results

PerformancePerformance

‚useless‘ benchmark (prime)486SX25: 1.2M transistors e.g. 300k gatesACEX 1K30: 24 MHz, 30k gates

486SX25 JVM -nojit 19.6 s 1.00486SX25 JIT 5.0 s 3.91

JOP1 8 Bit ext. mem. 79 s 0.25JOP2 local mem. 3.4 s 5.77JOP3 local mem. 1.7 s 11.3

Page 13: JOP Java Optimized Processor DI Martin Schöberl. Content Targets Java Virtal Machine Three different architectures Datapath of JOP3 First results

http://http://wwwwww..jopdesignjopdesign..comcom//

Documentation as HTMLAll VHDL, ASM and Java sourcesActual version for download