Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

RT Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende ”Java Optimized Processor” (JOP) Speciale – efterår.

Lignende præsentationer


Præsentationer af emnet: "RT Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende ”Java Optimized Processor” (JOP) Speciale – efterår."— Præsentationens transcript:

1 RT Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende ”Java Optimized Processor” (JOP) Speciale – efterår 2005 Teknisk Informationsteknologi Jan Lauritzen & Mads Pedersen

2 RT Slide 2 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen Agenda Introduktion Specialet generelt FPGA – VHDL JOP Hvad er JOP? SW/HW co-design Java-eksempel JOP i praksis

3 RT Slide 3 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen Speciale generelt Forskningsorienteret Ikke produktorienteret (som afgangsprojekt)

4 RT Slide 4 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen Introduktion til specialet Øget brug af programmeringssproget Java Krav til high-level reliable language til indlejret software: Objektorientering Kode-genbrug Frameworks Flere eksisterende løsninger (dedikeret Java processor, der udfører Java byte code - aJile). En anden (nyere) løsning: Implementeret i FPGA FPGA = ”Field Programmable Gate Array” FPGA er en standard platform (”extensible” og billig) for mange designs i industrien “Java Optimized Processor” (JOP), Ph.D.-projekt fra Technischen Universität Wien (Østrig) af Martin Schoeberl

5 RT Slide 5 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen Fokus Evaluering af JOP: Undersøgelse af FPGA-løsningen (SW/HW co-design mv.) Evaluering af realtidsaspekter i forhold til “Real-Time Specification for Java” (RTSJ). Både som teoretiske undersøgelser såvel som praktiske eksperimenter Kan man lave forudsigelig eksekvering af Java-kode? Evaluering af JOP’s performance, sammenlignet med andre former for Java-udførsel: Eksekveret i en virtuel maskine (som “standard” Java) Eksekveret af en dedikeret Java-processor Eksekveret i FPGA (som JOP)

6 RT Slide 6 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen FPGA - VHDL FPGA = Field Programmable Gate Array FPGA programmeres i programmeringssproget VHDL VHDL = VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuits Vi har haft et crash course i VHDL i den seneste tid.

7 RT Slide 7 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen FPGA-basics CLB:Configurable Logic Block- indeholder ”logikken” IOB:Input/Output Block- interface til omverdenen Block RAM:Random Access Memory- FPGA’en hukommelse Multiplier:18 x 18 bit hardware multipliers

8 RT Slide 8 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen VHDL-eksempel library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity counter_simple is port ( CLK, UP, RESET, CE : in std_logic; -- CE: Count Enable COU_OUT : out std_logic_vector(3 downto 0)); end counter_simple; architecture Behavioral of counter_simple is signal COU: std_logic_vector(3 downto 0); -- Internt tælle-signal begin process (CLK, RESET) begin if RESET='1' then -- Asynkront reset COU <= "0000"; elsif CLK'event and CLK='1' then if CE='1' then if UP='1' then COU <= COU + 1; -- Valg af op-/nedtælling else COU <= COU - 1; end if; else COU <= COU; end if; end process; COU_OUT <= COU; -- Internt signal forbindes til udgangene end Behavioral;

9 RT Slide 9 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen Hvad er JOP? Hardware-implementation af en JVM Målrettet mindre indlejrede systemer med realtidskrav JOP er implementeret som en “soft core” i en FPGA. Ubrugte FPGA-ressourcer kan bruges til perifere enheder.

10 RT Slide 10 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen JOP’s main features Small core that fits in a low cost FPGA Configurable resource usage through HW/SW co-design Predictable execution time of Java bytecodes Fast execution of Java bytecodes without JIT-Compiler Flexibility for embedded systems through FPGA implementation

11 RT Slide 11 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen JOP-hardware FPGA: Altera Cyclone FPGA Board I/O-board: Baseio Expansion Board

12 RT Slide 12 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen Data path

13 RT Slide 13 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen Muligheder med JOP i FPGA SW/HW co-design Udføre udvalgte operationer direkte i hardware (implementeres i VHDL) og kaldes fra Java. Spændende mulighed, som skal undersøges nærmere

14 RT Slide 14 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen SW/HW co-design Eksempel med 32-bit multiplikation i hhv.: Java (software) Micro code (JOP’s eget instruction set) VHDL (hardware)

15 RT Slide 15 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen RTJ på JOP

16 RT Slide 16 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen Programmering af JOP Faser Initialization phase Ikke-tidskritiske operationer, som oprettelse af realtidstråde og allokering af objekter Mission phase Startes ved startMission() Realtidstråde skeduleres, udførsel af tidskritiske operationer Restrictions:

17 RT Slide 17 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen Realtidstråde

18 RT Slide 18 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen Andre informationer Skedulering Garbage Collection Forudsigelighed

19 RT Slide 19 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen JOP Java-eksempel import joprt.RtThread; import joprt.SwEvent; import util.Dbg; public class Event { public final static int CNT = 10; static SwEvent sev; public static void main(String[] args) { Dbg.initSer(); // use serial line for debug output sev = new SwEvent(2, 10000) { public void handle() { Dbg.wr("fire!"); } }; RtThread rt = new RtThread(1, 100000) { public void run() { for (int i=0; i<CNT; ++i) { waitForNextPeriod(); Dbg.wr("\nbefore"); sev.fire(); Dbg.wr("after"); } for (;;) waitForNextPeriod(); } }; RtThread.startMission(); for (;;) { ; // busy do nothing }

20 RT Slide 20 af 20 JOP-speciale: Jan Lauritzen & Mads Pedersen JOP in action!


Download ppt "RT Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende ”Java Optimized Processor” (JOP) Speciale – efterår."

Lignende præsentationer


Annoncer fra Google