并行处理问题
风玉 2012-04-26 08:08:59 我们知道程序在电脑上运行是cpu通过程序计数器取指令执行的,然后pc+4指向下一个指令。而并行貌似是在执行这一句指令之后,把现场保存,也就是把数据都压栈,然后让pc取另一个指令的地址,跳转到其他指令去。它们在计算机中频繁的跳转,一会儿执行这个一会儿执行那个,让我们感觉就像是在同时执行一样。
基本概念可能就是我说的那样,但有几个问题我很有疑问。
1.进程之间是凭借什么条件才跳转到另一个的?是设置一段时间吗?
2.并行是靠cpu实现还是操作系统?软件也能实现相同的功能吗?因为我知道因为pc平常时候都是顺序执行的,pc+4指向下一个指令地址,只有在程序中显示的给pc赋值才会让pc跳转,那么是怎么样做的?
3.感觉进程之间的并行处理很浪费cpu啊, 因为一旦跳转就要把当前进程的所有环境都压栈,回来还要出栈...他不停的跳转让我感觉并行的同时是不是也在浪费cpu?感觉跳转浪费的cpu比做正事的cpu还要多。
4.