The Message System of the PowerUP System Software

The PowerUP system software includes an upto date asynchronous message system, that is capable of transferring signals and data from one task to another independent which CPU they are running on. This message system allows very fast data exchange between different software modules (tasks or threads) without requiring a context switch even if the different modules are running on different CPUs. For the application it does not matter how many CPUs are present on a given system or if the CPUs are even in different machines connected by a local network and which types the CPUs are. There can be made use of multiple 68k CPUs as well as multiple PowerPC CPUs or even specific GL-3D CPUs or any other kind of processing device.

The message system is able to transport signals without data in less than 7 micro seconds. A transfer of user data as also very fast, because during a message transfer between tasks on different CPUs only the transferred data has to be flushed from the processor caches. If a message containing 20 bytes of user data is to be transferred, only a single cache line has to be flushed.

By using a special message server, any application using the message system of the PowerUP system software for communication between software modules (tasks or threads) is prepared for possible future operating systems featuring memory protection. On transfer of data or passing control over larger data structures from one task to another, the message server takes care, that the access control permissions for the tasks are adjusted accordingly to secure, that only the task holding the control on the data structures is allowed to access and modify them. To make an application developed under PowerUP system software run on an operating system, which offers memory protection, only the message server has to be adapted to the new operating system. This can be done by installing a new message server with compatible application function calls without changing the application software.

Based on this up to date, multiprocessing capable message system which is prepared for a possible future memory protection, a very fast appliction internal communication is realized. The actual version of PowerUP requires less than 60 ms for the transmission of 1000 (onethousand) messages including 20-30 bytes user data, 1000 replies require additional 7 ms. This results in less than 70 us for sending a message including the transfer of data and receiving a reply for it between two threadsrunning on different CPUs, while full parallel operation of multiple CPUs in our multiproccesing design is realized.

All in all the current implementation is based on long term concerptual design which provides maximum possible future compatibility and flexibility. All advantages of the current design will support and be prepared for any future development or enhancement of hardware, operating system software and applications. With the above mentioned features, we make it possible for developers to use todays development on future systems or with future operating systems independent which way the Amiga will go.

back to Overview back to Top


This page is Copyright © 2005-2023 by Matthias Münch. All Rights reserved.
Some content is under Copyright of phase 5 digital products.
Amiga, AmigaOS and the Amiga-Logo are registered Trademarks of Amiga Inc.
PowerPC and the PowerPC-Logo are registered Trademarks of the IBM Corporation