Processeur JAP 3 rue de l’éperon - 77000 Melun Tél : 01 64 52 16 96 - www.a-e-d.com JAP Processor Features Bilingual processor : Java and C 2 instruction sets (Byte-Code, Native) 1 Java instruction/ Clock Cycle 1 Native instruction/ Clock Cycle 32 bits Architecture JAP Processeur JAP 32 bits Caractéristiques Architecture IR BP2 SP (min,max) FSM PC 24 Interrupt AP23-0 Address Prog BP1 Intr0-7 Interrupt 8 Program 32 P31-0 - Processeur 32 bits - Architecture Pile - Architecture Harvard AP - Micro-machine - 4 étages de pipeline Floating Point Unit - FPU IEEE-754 - 1 micro-instruction / cycle 32/64 bits STACK CACHE IEEE Data 32 D31-0 Address data 24 AD23-0 JAP Outils Simulateur Environnement de développement Système d’exploitation JOS JAVA Compilateur C Assembleur JAP Avantages (hard) Processeur bilingue (2 jeux d’ d’instructions) Instructions JAVA (« byte-code ») Instructions natives (assembleur et C) Exé Exécution rapide Architecture Risc Harvard Instructions Java et native exécutées en 1 cycle d’horloge. Cache de donnée intégré directement dans l’architecture du processeur Sécurité curité 2 modes : JAVA / Native (bit superviseur) Pile JAVA sécurisée (pas besoin d’une MMU) JAP Avantages (soft) Environnement de développement (EclipseJava) fonctionnel. Langage haut niveau (objet) Java utilisable dès l’utilisation de l’IP JAP Exé Exécution rapide OS et JVM sont fusionnés (JOS). Sécurité curité/maî /maîtrise IP et Outils – 100% AED JAP Système d’exploitation Java Application Java Native methods Java Engine Native Application Java Debugger High level byte codes Verifier Garbage Collector JOS Security Class Loader Operating System File system Memory manager Scheduler JAP IO JAP Système d’exploitation Multi-Thread Scheduling prioritaire Garbage Collector Préemptif Taille de l’OS : 40 Ko Système traditionnel Application Java Système JAP Temps d’accès au processeur JVM Application Java OS Processeur JOS Processeur JAP Co-Processeur JAVA LEON III Sdram AHB INTR Wrapper Amba AHB / APB APB AHB APB Avantages - Augmentation performances - Sécurisation exécution JAP JAP Carte processeur JAP 84 broches IO sont directement reliées au FPGA et peuvent être configurées (en vert sur le dessin) individuellement en IO TTL ou en liaison série/SPI/I2C. - FPGA ACTEL A3P1000 (FG256) - 16 Mo de mémoire FLASH - 64 Mo de mémoire SDRAM vidéo - 1 horloge temps réel - 84 broches configurables - Gamme de température -10° à 70° - Alimentation en 3.3V - Dimensions : 6 cm x 4 cm JAP Carte processeur JAP La société AED propose un certain nombre de blocs IP validés. Les IP disponibles sont : un processeur JAP, une FPU IEEE 754, une unité vidéo, des timers, des contrôleurs SDRAM FLASH IO, des UART Série asynchrone SPI I2C et des unités spécialisées (convolution, corrélation, détection contour, …) JAP Comparaisons Performances Processeur LEON III : Processeur 32 bits compatible Sparc V8 VM Jamaica : VM compilé, Conversion du « Byte-code » Java en langage C, Système d’exploitation temps réel RTEMS, Compilateur GCC pour Sparc V8 (LEON III). Source java .java Compilateur JAVA Class Files .class Jamaica RTEMS Source C .c RTEMS SparcV8 .a, .o GCC SparcV8 JAP : Les fichiers « .class » exécutés directement par le processeur JAP comme une VM interprétée. Source Java .java Compilateur Java Class Files .class Processeur JAP Executable RTEMS SparcV8 JAP Performances (conclusion) - Les programmes C sont plus rapides que les applications codées en langage JAVA (JAP ou Jamaica) - Performances équivalentes entre le JAP et une machine virtuelle compilée comme Jamaica (Jamaica plus rapide sur les applications contenant des accès tableaux et le JAP plus rapide sur les actions systèmes comme l’allocation mémoire et le changement contexte) - Les performances du processeur JAP et du processeur LEON III sont équivalentes en langage C - La langage JAVA et C ne sont pas concurrents => JAP exécute du C et du JAVA JAP Conclusion - Sécurisation de l’exécution (mécanismes hard) - Exécution directement des fichiers « .class » JAVA - Performances équivalentes au processeur LEON III et à une machine virtuelle compilée. - Emprunte mémoire réduite 40 Ko pour l’OS - Utilisation possible en co-processeur - Environnement de développement fonctionnel JAP Perspectives Processeur JAP 64 bits (2 instruction 32 bits / cycle d’horloge). AP Interrupt BP2 SP (min,max) FSM PC 24 IR Address Prog BP1 Intr0-7 AP23-0 Interrupt 8 Program 64 P63-0 Floating Point Unit 64 bits STACK CACHE IEEE Data 64 D63-0 Address data 24 Processeur multi-cœur JAP (JAVA multi-cœur version 7) AD23-0