Can you multi-task like a multicore processor?
Multi-tasking seems to be an essential skill nowadays, whether it’s at work or home. There are just not enough hours in the day, so we try to do everything we need to do at the same time. Inevitably, the quality of the output will suffer when we try to juggle many things at once.
Much like a single core processor, multi-tasking is either scheduled using a time sharing round-robin scheme or priority based preemptive scheme. At any given time only one task is running, when a system interrupt triggers, the interrupt service routine will pre-empt the low priority task until it finishes, because the CPU clock is running so fast that the tasks appears to be running at the same time. However, if too many system interrupts are generated at the same time, each interrupt will have to wait until the previous ones finish processing before it gets the chance to run, thus slowing the interrupt response time and other low priority tasks also will have to wait for the interrupt service routine so the overall system performance degrades.
Luckily, this is not the case with TI's KeyStone multicore processors. Multicore brings concurrency into multi-tasking, so each core can run different tasks in parallel and multiple interrupts can be handled simultaneously. In our KeyStone SoC, task scheduling can be handled by the KeyStone Multicore Navigator, which is a unified chip infrastructure consisting of packet DMA, HW queues and intelligent queue manager. It provides a load balancing mechanism to dynamically distribute the tasks to the least loaded cores so the multicore resource can be utilized efficiently and thus each core can run at its maximum performance. There are many existing applications that could benefit by replacing multiple single chip devices with KeyStone embedded multicore to reduce cost, area and power consumption. KeyStone multicore is a good fit for cloud computing, medical imaging, video surveillance, industrial automation, software defined radio and radar systems, test equipment, machine vision, high performance computing, communications infrastructure and robotic applications.
It’s amazing how many things a multicore processor can do at once. If only people could do the same! Do you think the human brain is more like single core or multicore?
For more posts by TI multicore experts, visit www.ti.com/multicoremix_ecn