News Archive (1999-2012) | 2013-current at LinuxGizmos | Current Tech News Portal |    About   

New system-on-chip runs native Java … plus Linux

Jun 8, 2000 — by Rick Lehrbaum — from the LinuxDevices Archive — 1 views

Imsys (Sweden) used the occasion of JavaOne 2000 in San Francisco to unveil an unusual new system-on-chip microprocessor that supports native on-chip Java bytecode execution — but also runs embedded Linux. The device, called the Cjip, achieves a high degree of on-chip functionality via an unusual approach: dynamically alterable microcode.

What's inside? Actually, it's difficult to say exactly what's in the device. That's because, unlike “normal” processors, its CPU employs semi-soft, rather than fixed, microcode. According to Imsys, two-thirds of the Cjip's microcode is fixed, while the remaining third is loaded on startup from an external ROM or Flash device. As a result, the instruction set is reconfigurable to match the requirements of a given application. Cjip has exploited that inherent flexibility by developing libraries of virtual peripherals, which Imsys calls “Veripherals”. Discounting, for the moment, the theoretically infinite variety of programmable peripherals that this capability provides, the device's fixed specifications include:

  • 165 MIPS CPU with CISC type instruction set
  • 267 megabits/sec I/O capacity
  • IEEE 754 floating point math
  • 4 channel DMA controller with 2KB DMA buffer
  • Interrupt logic
  • DRAM interface for 128 MB memory
  • Real time clock
  • 40 general purpose programmable I/O lines
  • packaged in 144-pin TQFP
  • 165 mW maximum power consumption
As mentioned, the device provides the capability to emulate peripheral controllers, with many available from Imsys. The current Veripheral library includes:
  • Timers, watchdog functions
  • Color/mono LCD display controller (320 x 240, 640 x 480)
  • Keyboard and touch-panel controllers
  • Sound generators
  • UART, I2C bus, IEEE-1284 interfaces
  • Multimedia interfaces, image compression/decompression
  • TCP/IP
Source to these function libraries, plus the device's other “soft” microcode, are made available to developers — allowing both the library functions and microcode to be enhanced and modified as required by specific applications.

Why did Imsys use this unique approach, rather than a more common MIPS or ARM based system-on-chip architecture? Imsys president Stefan Blixt sums it up in five words: “low cost, and low power.” Translating that into specifics: the device is $19 in quantities 0f 10,000, and consumes less than two tenths of a Watt of power. Yet, it can implement nearly every function required in a small post-PC system, with the exception of memory and Ethernet.

From the software perspective, the Cjip can be equipped with native bytecode execution of Java compliant with Sun's J2ME specification, including garbage collection, thread scheduling, and TCP/IP. This represents a significant additional cost savings if a Java runtime environment is required, since it eliminates the usual JVM royalties. How well does this work? Imsys claims that in benchmarks on a Java Bubble-sort, the Cjip performed five times as fast as a 120 MHz 486 processor.

The other supported software alternative is Linux. Since the Cjip supports multiple dynamically switchable instruction sets, it can be optimized for C or C++ based applications, in addition to Java. Based on this capability, Imsys has created an embedded Linux port, which is also freely available to support system designs based on the Cjip.

For development, Imsys has created an Integrated Development Environment which is used for system development and debugging. Imsys offers a development board for the Cjip that contains the processor, RAM, Flash memory, and an Ethernet controller and is implemented on a PCI bus card that plugs into a PC which is used as the development system environment.

In case all this sounds too good to be true, remember one thing: this is not some plug-and-play “embedded PC”. This unique, highly programmable and flexible device can be extremely efficient from a cost, board space, and power consumption perspective — but it's definitely not an architecture for the faint hearted.

Do you have comments or questions on this article? Talkback here

 
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.



Comments are closed.