Technologies on Display

F2 - A Low Power Asynchronous Java Processor for Contactless Smart Card

Java Card technology enables programs written in the Java programming language to run in smart cards. From software perspective, Java virtual machine defines a stack-based processor for implementing java bytecodes. Software JVM on conventional 8-bit processor can emulate the architecture. Alternatively, it is possible to design a microprocessor that can execute these bytecodes directly in order to increase the operating performance. Since there are only a few proposed designs of java processor and even less in the contactless smart card context, the processor presented here is novel. Our proposed design is a 16-bit asynchronous java processor that can directly execute some useful instructions defined in the Java Card Virtual Machine Specification with 16-bit operands including register read/write operations, arithmetic operations, logical operations and branch operations. The remaining operations including method invocation, method return, array operation and object manipulation are handled by software routines. Also, Asynchronous circuit design technique is used in order to reduce the power consumption.


  • The processor can directly execute some java bytecodes
  • Ten times more efficient than the conventional 8-bit processor
  • Processor size in 0.35um CMOS technology: 1.2mm2
  • 16-bit ALU
  • 16X16-bit RAM
  • 10 level 16-bit Stack
  • 16-bit address bus
  • Two 16-bit I/O ports

Principal Investigators
Prof. Chun-Pong YU / Prof. Chiu-Sing CHOY /
Prof. Cheong-Fat CHAN / Prof. Kong-Pang PUN
Department of Electronic Engineering

functional blocks in the java processor operate only when necessary since asynchronous circuit design technique is used