Skip to Content Java Solaris Communities Partners My Sun Sun Store United States Worldwide

SUN MICROELECTRONICS
Big Things in Small Packages
 
Big Things in Small Packages Mike Corder, jCAN Coorporation

By Mike Corder, CEO, jCan Corporation






With microprocessor-based systems having been in development for some 25 years, development methodologies and tools should have reached a point of stability.

However, we are seeing situations where projects are late, over budget, and often unacceptably bug-ridden. The past may explain the present, and may provide an indicator of how we can bring reality to our vision. It also indicates why the Sun Community Source License (CSL) approach may hold great promise for the future.

In the early days of the microprocessor, I led the team that developed many of the tools for the MOS/Technology (later Synertek and Rockwell) 6502. When the 6502 was introduced in 1975, the computing world was ruled by mainframes.

The mainframe was always in a glass enclosed room with a raised floor, and was surrounded by numerous caretakers. Computer time was a precious commodity accounted for down to the second. The operating system was usually programmed in a high level language, and as mainframes were huge machines, with memory and problems of a corresponding size, development teams were necessarily large. Tools were carefully considered, and much time was spent in planning an approach to the development project. The best teams spent a significant amount of time planning, working in a top-down fashion, with design completed before coding (except for algorithm testing) was started. Schedules were invariably long. It took the ground-breaking Mythical Man Month, by Fred Brooks (Addison-Wesley Publishing Co., 1975) to reveal what was happening.

By comparison, the microprocessor world could be described as anarchic. Early micros were often used to replace discrete logic, or to do simple tasks that had never been done before. Chips had limited compute power and memory.

The first 6502 was fabricated with 8 micron technology, ran at one megahertz and had a maximum memory of 64k. Teams usually comprised just a few people, and everyone programmed in assembler. Tools were primitive, and there were no building blocks. If you needed a file system or operating system, you invariably had to write your own, and if code could be reused on the next project, it was a pleasant surprise.

Today, the typical microprocessor being designed into a new project is probably 32-bit running at 200 megahertz. Memory size of many megabytes is common. The project team of eight or more people are trying to solve problems that are often complicated and multithreaded. We now have what is, effectively, a mainframe on a chip. However, instead of treating the issue with the level of respect accorded our earlier glass enclosed marvel, we still approach the problem as if we were dealing with an eight-bit microprocessor. People roll their own operating system, tackle development with inadequate design methodology, and start coding before the design process is completed. Despite the fact that today's tools are significantly better, one of the major problems is that we've let the physical size of the chips blind us to the fact that we are attempting to solve mainframe-class problems. If we considered the demands of early mainframe environments, we would change our approach to today's challenges.

At jCan we are excited about the prospects for Java technology-on-silicon, such as the picoJava chip. The Java programming language is the best tool currently available for the design of complicated systems. Object-oriented design can greatly improve the reliability of systems and increase the likelihood of reusing code on the next system. Implementing the byte codes in silicon eliminates performance concerns of interpreters. Basing your next hardware design on picoJava technology and programming in the Java language greatly increases marketplace success. Furthermore, currently designers of embedded systems can spend months selecting the correct CPU, RTOS, hardware configuration, debug tools, etc. A feature-rich system component that handles all the details of a Java technology-based system enables a focus on designing and coding software to solve problems. Such a system, including both hardware and software, would be based on the picoJava core and include all the components common to typical embedded systems (a Java Can). If the system also provided support for a serial datapump, it may be the ideal platform for implementing Jini connection technology-based devices (a Jini Can).

Until now, a barrier to building such an integrated system has been in accessing the picoJava core in a form that allows it to be integrated with other silicon-based Intellectual Property in a package priced for the embedded marketplace. Fortunately, Sun Microsystems has introduced the Sun Community Source Licensing (CSL) program, which means that an innovative small company has the opportunity to march to success on the broad shoulders of the picoJava core.

[Return to Pioneers' Progress]

Would you recommend this Sun site to a friend or colleague?
Contact About Sun News Employment Privacy Terms of Use Trademarks Copyright 1994-2005 Sun Microsystems, Inc.