多核程序设计与单核程序设计的区别

liushaofang 2008-04-29 12:54:31
各位专家:
我是一名即将毕业的本科毕业生即将踏入研究生的大门,从大二开始听说多核计算机,从老师那里了解到多核计算机能够实现指令的并行执行,这就改变了传统单核计算机宏观上并行微观上串行的并发执行的特点能够更快的运行程序。
我的问题包括以下几个方面:
1 在多核计算机上进行程序设计是不是要考虑CPU调度的问题,以及由此产生的死锁和变量的同步与互斥读写的问题,多核计算机
是以进程为调度单位吗?
2 如何通过程序设计来充分发挥多核计算机并行执行的性能?
3 在单核计算机上运行的程序是否都能在多核计算机上运行,运行时能否发挥多核计算机的性能优势?
4 多核计算机是否改变了传统计算机的系统结构?
5 能不能概述以下多核计算机的运行原理?
初次与专家讨论多核,愿专家能诲人不倦为我解答多核计算机编程的入门级问题。
...全文
422 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
AtomII 2008-04-30
  • 打赏
  • 举报
回复
1.进程始终分配资源的基本单位
而线程实际上可以看做轻量级进程,也就是管理执行能力的进程,以它为基本单位有很多好处,比如创建,消亡,切换,还有就是不触及内核都比进程好
2.这个问题实在是很难讲清楚,多核计算机,进程的并行分为交替和重叠两种形式,充分把握这个特点就可以了
3.当然可以,所有的新产品都必须考虑到与旧的兼容问题,何况双核并没有从根本上改变以前的计算机结构,至于能否发挥优势,就要看你所编写的程序了!
一般情况下,倘若不是并行计算,我们基本很难感觉到双核与单核有多少本质性区别
4.没有太多“颠覆”,只不过在传统计算机上,程序总是顺序执行,但是双核上,我们可以要求程序交替甚至重叠,在单核上并行却只可以交替,不可以并行,这点与以往是不同的
5.我们以多处理器调度为例:
它的设计主要三个方面的问题:
1.把进程分配到处理器
2.在单处理器上使用多道程序设计
3.一个进程的实际分配
只要你能把这三个搞清楚,相信已经知道多核处理器的工作原理问题了
intel_jeff 2008-04-29
  • 打赏
  • 举报
回复
1. 现在为多核开发程序和以前的多线程程序开发其实基本一样的。以前在学多线程开发的时候,你也一样要考虑死锁、同步这些问题。无论几个核,都是以线程为调度单位,建议你复习一下下操作系统的课程。
2. 一句话说不清。。。多看看贴吧。
3. 当然能在多核上运行,否则谁还敢买多核。至于是否发挥多核性能,就要开你的程序是否多线程、编写的质量如何了。
4. 我觉得没有大的改变
5. 等楼下来解答吧。 ;-)

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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