Multithreading 如何实现另一个核心调用

Multithreading 如何实现另一个核心调用,multithreading,x86,64-bit,cpu,processor,Multithreading,X86,64 Bit,Cpu,Processor,程序在内存中,第一个prosesor执行 它,然后是对一个函数的调用,该函数被称为 在另一个核心上执行-第一个核心如何发送 呼叫地址是另一个核心?有什么交流吗 除共享ram之外的两个内核之间的机制?好的,是这样的。线程不能被调用,只能发出信号,函数一般不与线程绑定-多个内核上的多个线程可能正在执行相同的函数/代码 也就是说,肯定有一个处理器间驱动程序可以在内核之间进行通信。这对于允许将线程分配给内核以及允许操作系统在进程终止时停止线程是至关重要的 当需要内核间通信时,生产者线程将数据存储在共享内

程序在内存中,第一个prosesor执行 它,然后是对一个函数的调用,该函数被称为 在另一个核心上执行-第一个核心如何发送 呼叫地址是另一个核心?有什么交流吗
除共享ram之外的两个内核之间的机制?

好的,是这样的。线程不能被调用,只能发出信号,函数一般不与线程绑定-多个内核上的多个线程可能正在执行相同的函数/代码

也就是说,肯定有一个处理器间驱动程序可以在内核之间进行通信。这对于允许将线程分配给内核以及允许操作系统在进程终止时停止线程是至关重要的

当需要内核间通信时,生产者线程将数据存储在共享内存中,并通过断言硬件中断向另一个内核发送信号,从而迫使“目标”内核进入操作系统并处理信号数据


基本上,这些都不是微不足道的,如果你想知道更多/让你的大脑变形,看看linux的调度程序/调度程序代码,或者用M$结束你的生活。

你不知道关于硬件方面的一些文字吗(提到的那些核心间中断——它是如何工作的——我知道中断是如何在一个核心系统上工作的,但不知道在多个核心系统上是如何工作的(操作系统方面的事情对我来说不如知道它在硬件上是如何工作的有趣)