0

也许这是一个愚蠢的问题,但我正在努力更好地了解硬件内部工作原理......

如果一个 cpu 有多个线程并且我们有一组指令集来分配它。当我从http://www.lighterra.com/papers/basicinstructionscheduling/链接阅读它的工作原理时。它说编译器将创建一个指令依赖树,然后指令将并行运行。cpu 将如何知道依赖指令是否已完成。它会增加复杂性。

我写交流代码来看看这个

int main()
{
getchar();
putchar('a'); 
return 0;    
}

我认为 getchar() 和 putchar() 的指令是独立的,当我没有从键盘提供输入时,应该执行 putchar('a') 的其他线程指令,并且它应该在请求输入之前显示输出。但它一直在等待输入。

提前致谢。

4

1 回答 1

0

那篇文章提到了CDC 6600,它是最早实施记分板的计算机之一。

于 2015-08-29T15:28:44.523 回答