| 
                                                                                           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.
                                                                                           
                                                                                         |