免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234
最近访问板块 发新帖
楼主: prolj
打印 上一主题 下一主题

谁熟悉硬件多线程?这东西很好! [复制链接]

论坛徽章:
0
31 [报告]
发表于 2009-01-22 10:21 |只看该作者
原帖由 beepbug 于 2009-1-22 07:22 发表

任务是IBM的说法,Bell叫进程。
线程本来就和它们不是一个粒度的。一个进程(或叫任务)内可以有若干个线程。
我问的是,硬件如何判断代码,这里有一个线程,从而提交给某核去处理?

叫法不同也许有“哲学”上的意味不同,但是我觉得大致上一样的(就像非争论哪个OS好过哪个OS一样是没什么必要的)。
线程,哈哈,我看OS和Linux一些入门的书籍说到,Linux的线程和进程差不多,都是clone出来的,都是copy on write,不存在“很大”的差异。至于SunOS(Solaris的内核,我觉得这个称呼更“专业”,关键是字母少,好记,好写。),SunOS的线程在调度上映射为轻量级进程,然后在U的Core上调度,这个好象是《OS设计于实现上》说的。BSD,虽然我是BSD的fans,我不知道。Mac,也就是Mach3,不清楚。OS这方面没入门,实在不是很清楚怎么回事。
U的任务级并行,是粗粒度并行,相对的有细粒度并行,细粒度,就是粒度很细,指令级别的,但是这样花大量的时间在判断哪些指令可以并行,计算速度反而都浪费在判断并行性上。粗粒度的呢?浪费一点不要紧,不求U的充分利用,空闲一点无所谓,正所谓无求则得,只要一个任务在这个U上停顿了,U并不等待这个任务的恢复(等待的话就不是并行的了),而是转而去执行另一个不相关的任务,当然期间要保存环境。这和软件是一样的,每个“线程”有自己的栈,别的共享。

论坛徽章:
0
32 [报告]
发表于 2009-01-22 10:25 |只看该作者
顺便废话一句,Open Sparc T2被SUN用来和教育部合作,在高等院校和研究机构中间用作教学和研究目的。
哈哈,还没脱离学生时代的人谁的学校有这个并参与其中谁爽啊。

论坛徽章:
0
33 [报告]
发表于 2009-01-22 11:44 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
34 [报告]
发表于 2009-01-22 18:35 |只看该作者
说了半天,还是要靠OS啊。看来,还是没有硬件多线程。

论坛徽章:
0
35 [报告]
发表于 2009-01-22 18:46 |只看该作者
原帖由 beepbug 于 2009-1-22 18:35 发表
说了半天,还是要靠OS啊。看来,还是没有硬件多线程。

没有就没有吧.

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
36 [报告]
发表于 2009-01-28 20:35 |只看该作者
原帖由 beepbug 于 2009-1-21 18:34 发表

这个不叫多线程,好像该叫并行处理。

本来就是一种并行处理,thread本来应该就是诞生于软件中的术语

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
37 [报告]
发表于 2010-06-30 04:20 |只看该作者
本帖最后由 smalloc 于 2010-06-30 10:43 编辑

intel手册 第一卷2.2.5讲到了些:
HT和Mcore的区别是,只是用一个物理处理器,一个core只有一个EU和系统总线
但是有多个逻辑CPU,每个都有自己的一整套寄存器.

各个线程间使用乱序执行方式.

前面有人问如何分辨一个指令线程A还是线程B的,我想取指令的时候已经打上了标志
或者干脆存放在不同的指令队列

论坛徽章:
0
38 [报告]
发表于 2010-07-02 16:59 |只看该作者
intel手册 第一卷2.2.5讲到了些:
前面有人问如何分辨一个指令线程A还是线程B的,我想取指令的时候已经打上了标志
或者干脆存放在不同的指令队列smalloc 发表于 2010-06-30 04:20


这个“标志”是打在哪里的?
“存放在不同的指令队列”?那就已经分配好了,线程A去核甲,线程B去核乙。问题是,如何安排到不同的指令队列?

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
39 [报告]
发表于 2010-07-02 17:14 |只看该作者
回复 38# beepbug


    注意这句话:
各个线程间使用乱序执行方式.达到并行执行的目的.

超线程可以只有一个核, 在INTEL手册中显示区分核的 个数是 执行引擎来的.有几个execution engine就算几个核

execution engine具体包含哪些东西还不太清楚.计算机组成原理把 CPU大致分为控制单元,执行单元,总线单元,我想 大概就是对应的执行单元.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP