In other words a timer interrupt - with saving of state and appropriate unwinding of pipeline state (abandoning half done or out of order instructions etc etc)
Also the "do system calls by queuing requests to another CPU" is kind of at odds with "we don't need cache coherency"
Also the "do system calls by queuing requests to another CPU" is kind of at odds with "we don't need cache coherency"