|
![](/i/fill.gif) |
I know x86-style machine code quite well (and have a quite good grasp at
RISC-style machine code as well), and in fact in the past I have written
entire programs in pure asm. While I have not followed the technical
details of the latest processors, I still have a relatively good grasp
of how they work at the machine code level.
There's one aspect, however, that was a complete and absolute mystery
to me: How exactly do you run code in more than one processor/core?
What kind of operations do you need to do to achieve this?
Normally you don't have to worry about this when writing a program because
the operating system takes care of it. You simply make a system call to
the OS to tell it "start a new process/thread and run this code in it".
The OS takes care of the ugly details.
However, how does the OS do it? How does it run code in different
processors/cores? What exactly is the mechanism for this? What are the
machine opcodes required to do this?
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |