1. Data processing system based on a multi-threaded operating system, comprising: at least one processor for processing data based on multiple threads at least one controller unit for controlling the communication between said at least one processor and an external peripheral device connected to said at least one controller unit said at least one controller unit comprises at least one buffer memory for buffering data from said peripheral device connected to said at least one controller unit and at least one memory managing unit for managing the access to said at least one buffer memory by mapping said at least one buffer memory into N banks each with a dedicated prefetch register and wherein at least one of said multiple threads is mapped to one of said N banks and its dedicated prefetch register.