by June 18, 2001 0 comments

Many modern appliances like MP3 players, ‘intelligent’ refrigerators, and watches use embedded systems. However, a common obstacle for developers has been the need to develop different sets of hardware and software, for different devices. An ‘intelligent’ washing machine uses a hardware chip different from that used by an ‘intelligent’ wristwatch. In addition, the software running on the hardware chip is different. This often results in increased costs and time taken for development. (For more on embedded systems see PCQuest May 2001, page 38.)

The Universal Micro System (UMS) from Cradle Technologies is a solution for this problem. UMS is a general-purpose chip built around a simple instruction set. It can be used to develop applications for embedded devices because all the functionality required for a specific device can be modeled in the software. 

UMS hardware

Any software application expects four basic requirements from the underlying hardware: input unit, processing unit, memory unit, and output unit. Since the major
functionality provided in UMS is through software, the processor and memory units must be very fast and the input-output units must be programmable and versatile. 

UMS uses a large number of high speed, low power and small RISC-based processors (about 75) on a single chip. Each processor also called a PE (processing Element) coupled with two Digital Signal Processors called DSE (Digital Signal Engines) form an MSP (Multi Stream Processor), which processes voluminous chunks (stream) of data. 

The UMS is structured into a number of Quads. A Quad, as shown in the diagram to the left, consists of four MSPs, program or instruction cache, data cache and a programmable DMA (Direct Memory Access) unit. There is also a high throughput (about 4 GB/sec) global bus interface, which interconnects all of them in a Quad. The use of DSEs ensures smooth digital processing, while the powerful PEs carry out the arithmetic and logical functions on the processed data. Finally, the result of the processing is transferred from the local data cache of a Quad to an external SDRAM (Synchronous Dynamic Random Access Memory) module via the DMA unit. The UMS chip does have an onboard DRAM controller to interface with external SDRAM modules. Feeding each Quad with independent chunks of data can make optimal use of the raw processing speed of the UMS chip. It is claimed that UMS has a raw speed of over 15 GFLOPS (Giga Floating Point Operations per second) while consuming just 1.5 watts of power. 

The Input/Output unit of UMS is programmable. You can program it to support processing unit dependant data transfers, or do a DMA data transfer where data transfers can take place without the intervention of the processing unit. In fact, the programmable I/O is claimed to be so versatile that it can be used to model PCI, SCSI, FireWire, or DSL interfaces using software. In other words, the I/O hardware is extensively programmable through software. 

Software on UMS

The software design has eliminated the need for customized hardware. It has been left to the developer to utilize the power of the numerous processors by using efficient software algorithms. Optimally, each Quad must be fed with independent data blocks (called data parallelism). This is the responsibility of the software developer. What Cradle has provided are some tools to speed up this development: a C compiler, an assembler and a cross assembler, linker, debuggers, and most important, a software simulator of the hardware chip. A custom C-API (Application Programming Interface), comprising of UMS specific library functions, is also provided. These include libraries for TCP/IP, OpenGL 3D, PCI, FireWire, MPEG and DV encoding and decoding. 

So the development tools shouldn’t take long getting used to, as no new programming language or paradigm has been introduced. But what about the most crucial system software for any hardware in this world–the operating system. UMS can use any RTOS (Real Time Operating System) like QNX or a micro kernel based Linux. Red Hat, the popular Linux distribution, is porting its version of embedded Linux on UMS along with the development tools. Already a software MPEG2 decoder has been developed for UMS, while the hardware chip itself is under experimental stages. 

Initially UMS will not be targeted towards small devices like mobile phones or wrist watches. Instead, it will be used in devices like home routers and multimedia gadgets as ready-to-use software libraries are already there for these. But the possibility of it being used in small devices cannot be ruled out. For more information, logon to

No Comments so far

Jump into a conversation

No Comments Yet!

You can be the one to start a conversation.