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