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

Slides:



Advertisements
Lignende præsentationer
Per P. MadsenStyresystemer og tjenester1 Indhold: 1.Introduktion til styresystemer. 2.Processer og tråde. 3.Synkroniseringsmetoder og InterProcesCommunikation.
Advertisements

RT Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende ”Java Optimized Processor” (JOP) Speciale – efterår.
Definition of Software Component and Its Elements. Kapitel 1, [heineman-2001] Peter, Ture & Jonathan1 Hovedbegreberne er Software komponent Komponent model.
Arne Winther Et værdifuldt samarbejde mellem hospital og produktudvikler.
Algoritmer og Datastrukturer 1 Greylisting Gerth Stølting Brodal.
Introduktion til.NET- platformen og version 2.0 Michell Cronberg Microsoft MVP
Web service - elementer SOAP (Simple Object Access Protocol) WSDL (Web Service Description language) UDDI (Universal Description, Discovery and Integration)
Web service - elementer SOAP (Simple Object Access Protocol) WSDL (Web Service Description language) UDDI (Universal Description, Discovery and Integration)
COMPONENT ARCHITECTURE FOR THE ENTERPRISE Bjarne Schytte Country Manager BEA Systems The Enterprise Middleware Solution “Open Networks 99”
ASIC projekt VGA porten på Spartan3E 1.VGA Porten 2.Timing 3.Opbygning af FPGA 4.Opbygning af VHDL kode 5.Clock divider kode.
LDK D3 kursusplan LDK 1 Introduktion, talsystemer, boolsk algebra, DeMorgan, sandhedstabeller, LDK 2 Logiske byggeblokke, grafisk minimering, Kaunaugh,
Unified Modeling Language
KAPITEL 7 Kreditrisiko.
KAPITEL 3 Volatilitet, Beta og Tracking Error
Ventilation og indeklima
KAPITEL 5 Delta Normal Value at Risk
Gode råd om ansøgning til MUDP 2017
Forældre-information
Pengurusan Pembayaran Penyelidikan Research Management Centre
Hvilke sager ligger der på vejlederkonsulentens bord for tiden?
C4 C4 i Hillerød Erhverv Handel Turisme, kultur, sport Uddannelse
Amukurs.dk Power point 1: Online præsentation af amukurs.dk - Sådan gør du: Læs ”Værd at vide, når du skal give en online præsentation af amukurs.dk”
Et liv med OCD Nicoline Møller.
Interaktion og usability
Billeder (Side 6-8 i artiklen: 2. Repræsentation og manipulation af Data)
Almen statskundskab Politisk meningsdannelse v/ Peter Nedergaard
P4: Vejledning i læreruddannelsen
Modulet International Projektudvikling og –Ledelse
Analysegruppe: Astrid, Bent, Carla, David, Else
Lyd data (audio data) (Side 4-6 i artiklen: 2. Repræsentation og manipulation af Data)
Differentialregning Cecilie.
Tilskud & Regnskab Kursus for nye efterskoleledere
Lokale lønforhandlinger
Polynomier Lars A. Clark.
Workshop Test viden med IF-AT
Hvad er Lindebjergskolens CO2 fodaftryk
21. november 2018 Ulla Nørskov Philip & Martin Stabell
Informationsmøde om Praktikplads-AUB
Redesign af antennetårn for test af antenner i DTU’s radiodøde rum, under integreret anvendelse af Creo Top-Down Design og Creo simulate Indlæg ved.
Modellering af skovtårnet 2019
23. januar 2018 Kasper Bjering Søby Jensen Roskilde Katedralskole
REDUCERET FOREKOMST AF SKULDERSÅR
Co-Create dit arbejdsliv
Grundlæggende Algoritmer og Datastrukturer
DEFF Co-creation Studerende som medproducenter i udviklingen af bibliotekernes læringsprodukter Pernille Holm Lindhardt og Anne C. Andersen AU Library.
Danmarks Naturfredningsforening
Velkommen Dagens program.
Sejlklubben Sundet og Svanemøllehavnen
GL IFA seminar
Borgerens adgang til egne data
Nyt dagtilbud på Værebrovej 49 Planlægning og proces
Økonomisk ulighed i Danmark
Der er en forsoner Jesus Krist Guds søn. Han er hellig og retfærdig
Nyborg heldagsskole.
VELKOMMEN TIL BORGERMØDE
Værktøj: Målhierarkiet eller
Bruttoliste for Interessentanalyse GD1
Hvad kan vi lære af USA og Tyskland?
Energi, Danisco, Grindsted
It og kristendomsfaget
Velkommen til TECHCOLLEGE
Anvendelse af produktionsdata
023 – Op, al den ting, som Gud har gjort 1, S1
Op, al den ting, som Gud har gjort 1, S1
Den Danske Maritime Fond
Titellayout Undertitel.
ORIENTERINGSMØDE om NÆSTVED SPORTSCOLLEGE
Jeg troede jeg skulle have ”dobbeltskældud!”
Virksomhedsformer og hæftelse
VEU-rådets temadag den 20. juni 2018.
Præsentationens transcript:

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

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

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

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

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)

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.

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

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;

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.

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

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

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

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

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)

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

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:

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

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

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, ) { 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 }

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