作者liu2007 (薯)
看板TheMatrix
标题[疑问] 前几天上计算机组织学
时间Wed Apr 14 20:00:44 2010
在下才疏学浅
可能完全误会老师所讲授的知识也说不定
请见谅XDDDD
昨天老师在教管线(pipeline) CPU
其中提到data hazard 的问题
因为管线拆的深度越深
其hazard 现象越严重
但是为了解决 data hazard 的问题
学者们提出了 静态 & 动态的解决方法
其中静态的方法又分为软体的方法以及硬体的方法
老师说
软体的解决方法:
是compiler 从高阶语言编译到组合语言的时候,如果发现有data hazard发生的时候
塞入空指令(NOP)
但这无法有效解决data hazard 的问题
所以学者们又提出一个方法: forward (手边没书,可能有错,回家再修改)
将data hazard 区域 上面或是下面不影响结果的组合指令搬到data hazard 的区域
取代NOP
进而将大多数的NOP杀掉
也就是说
原本
1.-------------
2.-------------
3.-------------
4.-------------
5.-------------
6.-------------
7.-------------
8.-------------
经过forward 之後
可能会变成
1.-------------
2.-------------
5.-------------
6.-------------
3.-------------
4.-------------
7.-------------
8.-------------
虽然指令顺序不一样
但是结果却是正确的
这时候我突然出神
想到The Matrix
会不会人们有时候会预知、预见
其实都是因为有这样指令重排的机制在??
以後才会发生的事情 (ex.第5.6道指令)
因为某种原因 (ex.程式速度、系统稳定)
事先发生
但是因为在处理完第 1.2.3.4道指令之前
逻辑上第5.6道是还没发生的
等到真正1234道指令完成之後
事情才真正发生
但是因为指令前挪
所以发生预知的现象 ??
我黑白想的
可能荒诞不经、胡说八道
各位大大看看就好 XDDDDDDD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.134.115.251
※ 编辑: liu2007 来自: 140.134.115.251 (04/14 20:01)
1F:推 LivedEarl:你指的预知是谁的预知?电脑的or人类的? 134.208.41.70 04/14 20:23
2F:→ LivedEarl:在Matrix里面这两种状况是有分别的 134.208.41.70 04/14 20:24
好像没有这麽高级.....
有点像是绝命终结站那样
主角会突然看到未来的景象
而不是故意去预知
※ 编辑: liu2007 来自: 118.232.58.39 (04/14 23:28)
3F:推 i19890813:好多术语看不懂 不过感觉很厉害XD140.113.244.151 04/15 00:18
4F:推 isdn:这有趣,没想到有这样的看法,不过我有个问题 124.11.240.171 04/15 00:31
5F:→ isdn:在Matrix里人的意识是观察者,不是执行者, 124.11.240.171 04/15 00:34
6F:→ isdn:如果以指令的角度来看,人是否就变成执行者的 124.11.240.171 04/15 00:35
7F:→ isdn:角色呢? 124.11.240.171 04/15 00:35
人不是指令的执行者
指令的执行者是系统 或是程式
人只是受到指令的结果所影响的client
只能发送要求、接受结果
※ 编辑: liu2007 来自: 118.232.58.39 (04/15 00:56)
8F:推 aubr3:错误!硬解OS看不到 软解 那得重新compile 218.167.66.127 06/23 08:02
9F:→ aubr3:那可能需要很多时间 218.167.66.127 06/23 08:04
10F:→ aubr3:不过也有可能他是interpreter的方式 218.167.66.127 06/23 08:04
11F:→ aubr3:那就跟JAVA一样需要很强大的硬体 218.167.66.127 06/23 08:05
12F:→ aubr3:而系统崩溃是因为他开外挂乱修改啦 218.167.66.127 06/23 08:07
13F:→ aubr3:因为NEO的头脑好像顿悟可以看到code所以就可 218.167.66.127 06/23 08:08
14F:→ aubr3:乱害进去然後乱改 自己还可以飞天遁地 218.167.66.127 06/23 08:09
15F:推 aubr3:系统的预知是他可以用机率来算出可能解赌一 218.167.66.127 06/23 08:14
16F:推 JusTKurO:你可以查一下 branch prediction 219.71.69.185 09/26 20:40
17F:推 cress0128:其实人是计算之中的变数而已111.240.156.250 12/18 02:07