||Heterogeneous multicore systems with highly parallel computing are the significant trends for being used to improve the performances of processors in computing. They are provided with some modules for communications between different cores and with different instruction set architectures so that it is difficult to develop applications on such systems. Therefore, we present an integrated development platform for heterogeneous multicore to simplify the application development flow.|
The architecture of the platform is composed of application layer, abstraction layer and hardware layer. The hardware layer is the heterogeneous multicore system with a master processor and multiple slave coputational units; The abstraction layer is divided into two parts: one is the platform management core on a master processor; the other is the implementor for accelerated functions on each slave coputational unit. The former manages not only resources of accelerated functions and slave coputational units by using semaphore machanism but also shared memory by using dynamic storage management. In addition, it coordinates the communications between different cores by using interrupts and FIFOs; In the application layer, we consider the code to be accelerated on a coputational unit as function-like sub-program, called accelerated function. Therefore, we provide APIs not only on the master processor for caller but also on the slave coputational unit for the callee. Furthermore, we provide an integrator to make a single executable for simplifying implement manner.
Finally, we apply the framework of the platform to Windows CE (WinCE) operating system, and we successfully realize it on TI DM3730 processor. Using the procedure of developing applications as examples, we verify that this platform doesn't affect the total performance, and that it is feasible.