Just recently I wanted to be able to lock a single process to a specific CPU for testing purposes. A bit of googling lead me to thisnice explanation of how it works.
Essentially you use the taskset command to run a new proc locked to a specific CPU:
% taskset -c 1 sleep 10
Will run ‘sleep 10′ locked to CPU #0.
% taskset -c -p 1
pid 1's current affinity list: 0,1
Shows you what PID 1 has its affinity set to.