请教一个关于双cpu协调工作的问题?

fzg1023 2003-01-21 05:11:26
我遇到了一个课题,要进行图像采集,用服务器实现,要达到的目标是:一个cpu负责图像的采集和存储,另一个cpu负责图像的计算处理。是不是要涉及到驱动程序的开发?(我指的是在双cpu协调方面)
能不能将一个线程绑定到一个cpu?
那位大虾可以给一个思路
非常感谢
...全文
92 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohu9711 2003-02-17
  • 打赏
  • 举报
回复
我想他涉及cpu之间的同步和通信,要知到你的操作系统。我仅仅在pc机上作并行用过!
wyly 2003-02-15
  • 打赏
  • 举报
回复
我现在也在做类似的dsp项目,怎么样才能效率最高确实很 值得讨论
wyly 2003-02-15
  • 打赏
  • 举报
回复
是 pc还是dsp呀?
lianwenming 2003-02-10
  • 打赏
  • 举报
回复
你用的是单片机吧,如果用pC,只需多线程就可以了。
xdspower 2003-02-05
  • 打赏
  • 举报
回复
首先你的计算机中的操作系统有关系,一般的多cpu协调是系统调用时要解决的问题,不管怎么样,你的程序仅仅是提出请求,是否正的这样分配要看系统这么处理,否则程序就太同系统相关了(试想这样的程序在同样操作系统的单cpu下是否运行?)
这样一来你就仅仅需要定义不同的线程并指明要求分别绑定到不同的cpu 就可以了,好的操作系统会处理的。
此外我个人认为你这样的想法不可取,主要是这样的处理对数据交换的负担增大了,我想用一个cpu来完成数据的采集处理存储,而用多个线程效果可能更好。而且这样处理同步反而更容易了(只需要传递令牌了,而你原来的处理还要等待数据),
xboxer 2003-02-04
  • 打赏
  • 举报
回复
0。首先,不涉及到驱动程序的开发,没那么夸张,呵呵。。

1。你说的没错,是可以把线程和CPU绑定起来,准确地说是为线程指定它可以在其上运行的CPU的集合,可以调用SetProcessAffinityMask函数来做到这一点,另外,要获得当前机器中可用CPU的信息,调用GetSystemInfo就可以了。

2。你说的双CPU协调的问题,也就转化成了线程同步的问题了,简单吧,我就不多说了。

3。另外,除非有很充分的理由,否则,一般是不把线程和CPU绑定起来的,这样会影响程序的运行效率,(比如,你的采集任务和计算任务对CPU的利用程度相差很远,那么就会有一个CPU总是处在很空闲的状态),做为折衷方案,你也可以用SetThreadIdealProcessor函数代替SetProcessAffinityMask函数来用,详细我就不说了,你查查MSDN就知道了。

4。还要注意一下CPU的高速缓存行的问题,一般来说,在效率上会相差比较多,可以自己写一个宏来解决。

5。最后,在下只是个大四的学生,说的不对的地方请多包涵了。:)
dcyu 2003-01-23
  • 打赏
  • 举报
回复
cpu有最大模式和最小模式之分,在最大模式下可以进行多cpu操作,看一看计算机组成原理方面的书吧。
XCOOL 2003-01-22
  • 打赏
  • 举报
回复
你的CPU系统结构图是什么,内存怎么同两个CPU连接的,他们之间的通信方式呢?只有你给出这个条件,才能给你好的答案。这是一个操作系统的设计和修改问题。
YewPu 2003-01-22
  • 打赏
  • 举报
回复
不知道!2

4,499

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧