Hardware Scheduling Accelerates Soft Peripherals

Sept. 29, 2003
Sophisticated peripherals are space eaters. Left unused, they can consume needed power. Ubicom's IP3023 takes a different approach to peripherals. The IP3023 contains four MII ports and two SERDES (serializer/deserializer) peripherals. These...

Sophisticated peripherals are space eaters. Left unused, they can consume needed power. Ubicom's IP3023 takes a different approach to peripherals.

The IP3023 contains four MII ports and two SERDES (serializer/deserializer) peripherals. These standard peripherals aren't surprising, given the network-oriented target for the IP3023.

What's missing are more conventional interfaces, such as I2C. The chip does have plenty of parallel I/O pins. The trick is to make these pins dance the right way. Ubicom calls these bit banging devices virtual peripherals.

Ubicom extends the virtual peripheral architecture of its prior MCUs into the IP3023, but with a twist. The 250-MIPS IP3023 implements a zero-overhead, hardware task switch with a 10-stage superpipeline architecture. The approach is named the Multithreaded Architecture for Software I/O (MASI). Software tasks implement one or more virtual devices in software. The hardware accelerates this process.

The IP3023 first determines what thread to execute. This is done on every instruction cycle, making it possible to interleave tasks on a per instruction basis. Each task has its own register set, memory, and context on-chip so that it can execute immediately.

The active thread determination utilizes interrupts and I/O pins. As a result, a task can be waiting for an event and start running on the next available timeslot for the thread.

The IP3023 implements hard real-time (HRT) and non-real-time (NRT) threads. The NRT threads can operate in a round-robin fashion when an HRT thread is inactive. A time-slice table permits HRT threads to be allocated in fixed amounts of execution time necessary for predictable performance of communication or DSP algorithms.

The IP3023 core is extremely small, allowing more space to be used for on-chip memory. Its memory-to-memory architecture can take advantage of this memory.

See associated figure.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!