Next Generation AEMB Development

A new AEMB core is in the works. It will feature a radical departure from the present compatible architecture, while maintaining software compatibility. It has twice the clock rate of the present core and can execute two hardware threads. There are also other improvements made to the core. Initial results have been extremely promising, delivering a doubling in code performance.

After the development of the AEMB 7.11 got wrapped up, there were many ideas floating around, on things to improve. These ideas are mainly driven by user feedback. So, the plan is to build a next generation AEMB, which will feature a departure from the traditional architecture, while maintaining full software compatibility.

Chiefly, the improvements to look out for in the new core are:

  • Increased Clock Speeds
    The new AEMB will feature a 5-stage integer pipeline. The shortening of each individual stage results in the doubling of the effective clock rate, over the present clock rate. Many of the issues that were slowing it down previously, have been resolved. So, you can expect the new core to run at twice the clock speed of the present AEMB.
  • Fine Grain Multi Threading
    Another radical departure for the core is the implementation of FGMT, which is capable of executing 2 hardware threads. This will reduce latency and increase instruction throughput. Instructions are no longer wasted when dealing with code bottlenecks and slow devices, which makes is suitable for high performance embedded applications

Besides these two main changes, there are many other improvements being done on the architecture. As a result of all the improvements, code performance can be expected to increase by 2.5 times. There are many potential exciting applications that can be built for this new core. Hopefully, this will keep the AEMB useful and exciting for various embedded projects.

An initial development version is now available in CVS. It is potentially buggy and the architecture has not been finalised. It should only be used for evaluating the potential of the new core. It is not yet recommended for production use until further testing is complete.

AEMB 7.11 Released

This release marks a major mile-stone in the AEMB project. It is 99.9% EDK3.2 software compatible with the addition of get/put, barrel-shift and multiply instructions. It has stable interrupt support for working with external I/O devices. Also, it features a major rewrite of the core to fix all the previous bugs found.

This release marks a major mile-stone in the AEMB project. It is 99.9% EDK3.2 software compatible with the addition of get/put, barrel-shift and multiply instructions. It has stable interrupt support for working with external I/O devices. Also, it features a major rewrite of the core to fix all the previous bugs found.

Main Changes

  1. Interrupt Support.
    Interrupt support is positive-level triggered. The pipeline will check for the first available atomic instruction and trigger the interrupt on it. Non atomic instructions include IMMI and delayed branches. This wait incurs a maximum penalty of up to 3 cycles typically.
  2. Support for get/put instructions.
    These two instructions provide the AEMB with an alternative I/O path. This is implemented as an independent minimal WISHBONE bus. It can be connected to I/O devices to provide a serial link, or used for inter-processor communications with other cores (e.g. hardware accelerators).
  3. Support for barrel-shift and multiply instructions.
    These instructions are implemented as parameterisable functional units. Both of these provide single-cycle operations and speed up software significantly. They increase the size of the core and slow down the clock speed slightly.
  4. Bug fixes and optimisations.
    All previously reported bugs have been addressed and closed. Some optimisations were done to increase performance. Check the patches for more recent updates or get the sources directly from CVS for the development version.

Support
Please continue to support the development of this project by donating via PayPal. A link is provided on the download page.

Follow

Get every new post delivered to your Inbox.