社区
汇编语言
帖子详情
请教:奔腾系列CPU 中的CISC转RISC 和乱序执行 问题?
zongta
2003-12-21 02:47:19
小弟近日学习Art of Assembly Language Programming,其中,第三章讲的 奔腾系列CPU 的CISC转RISC 和乱序执行 技术很模糊。在此,请诸位大侠赐教。我想知道:
1. CISC 转RISC 对于执行效率有什么帮助?
2. 乱序执行的好处是什么?
3. 这些技术的核心思想是什么?
谢谢您的参与!
...全文
179
11
打赏
收藏
请教:奔腾系列CPU 中的CISC转RISC 和乱序执行 问题?
小弟近日学习Art of Assembly Language Programming,其中,第三章讲的 奔腾系列CPU 的CISC转RISC 和乱序执行 技术很模糊。在此,请诸位大侠赐教。我想知道: 1. CISC 转RISC 对于执行效率有什么帮助? 2. 乱序执行的好处是什么? 3. 这些技术的核心思想是什么? 谢谢您的参与!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
W32API
2003-12-25
打赏
举报
回复
http://220.195.149.80:8080/view.asp?file=33
去看这个吧
zongta
2003-12-25
打赏
举报
回复
请各位推荐一些深入的汇编语言学习资料吧。书、文章、网址和电子版书都可以。
W32API
2003-12-24
打赏
举报
回复
不必客气
zongta
2003-12-24
打赏
举报
回复
To W32API(李诚) :
非常感谢!
W32API
2003-12-23
打赏
举报
回复
绝对必要
zongta
2003-12-23
打赏
举报
回复
在 Art of Assembly Language Programming 中的第三章提到,像下面这两条指令:
mov bx,[1000]
mov ax,[bx]
在管线中可能会引发指令冲突。所以,可以在它们之间插入另外一条指令,以消除冲突,提高管线利用率。就像这样:
mov bx, [1000]
mov cx, 2000
mov ax, [bx]
这种方法,对于奔腾以上的CPU 还有必要吗?
W32API
2003-12-22
打赏
举报
回复
RISC 的执行效率较高,可以实现指令级别的并行执行,P4 的 20 级流水线目前只可以同时执行 120 多条指令,而 G5(POWERPC 970)的 14 级流水线可以同时执行 200 条左右的指令。
RISC 的优势在于比较容易实现大量指令的并行执行,以及指令集及机器码简单。
乱序执行是根据各指令所需的资源,把不产生冲突的指令交给流水线执行,以实现最大的指令执行效率。这个过程允许 CPU 不严格按照代码流程去执行指令。
核心思想是提高 CPU 执行效率。
Semigod
2003-12-22
打赏
举报
回复
楼上真是高手,学到不少
W32API
2003-12-22
打赏
举报
回复
如果你把 CPU 内部的设备理解成资源,那么你就会发觉,同时执行的指令越多,资源就会越紧张。
而管线深,它的频率就可以做得很高,这也就是目前为什么 INTEL 的频率很高,而 AMD 的频率上不去的问题源之一。由管线加深而引起的问题是,CPU 现在都采用预测执行,如果出现预测出错,需要走另外一个分支的时候,之前所预执行的指令以及结果就是无效的,CPU 需要把整条流水线清空,并重新执行,因此 INTEL 加大了分支预测表,以及其缓冲器,以提升其分支预测的命中率。
并行执行的指令数与管线的深度有一定关系,也与执行单元数有关。
对于这个我就不是很清楚这方面的定义,我的理解是:INTEL 的指令在进入流水线后,每级都可以容纳一条指令,那么在流水线填满后,该流水线就有 20 条指令同时在执行。这个是理想状况,有部分指令可能并不需要走完 20 级就可以执行完毕,因此流水线并不见得总是满的。
RISC 指令集的好处是其整个指令集的设计比 CISC 指令集要适合指令的并行执行,其指令执行时,流水线的状况会比 CISC 指令集要好(虽然 INTEL 可以在指令预处理时加入一定的优化,以及我们可以在软件设计的时候加入优化,但是毕竟做不到 RISC 指令集的程度),而 RISC 的执行单元数往往较多,因此其指令的并行执行能力要比 INTEL 的要好。
还有就是不能把 CISC 与 RISC 指令等同,一般来说,CISC 的指令可能会需要 1~n 条 RISC 指令才能完成。
zongta
2003-12-22
打赏
举报
回复
另外,是不是说 管线越深 ,可以并行执行的指令数就越多呢?管线若很深,发生冲突指令的可能性就加大了呢?
zongta
2003-12-22
打赏
举报
回复
To W32API(李诚) :
多谢您的讲解!
RISC
和
CISC
,究竟有何不同?
关注+星标公众号,不错过精彩内容
转
自| 半导体行业观察关于
RISC
和
CISC
处理器的区别,大多数人会认为是一些特性、指令,或者是晶体管数量的差异。但实际上两者之间的差别不能简单的一概而论。少量指令并不意味着
RISC
...
深入浅谈,
CPU
设计原理
分支预测,
乱
序
执行
到底是什么?超长流水线,
RISC
又是何物?为什么酷睿的
CPU
频率低,但是比高频率的P4性能好那么多?这些我们应用
中
遇见的
问题
绝对不是几句简单的话语可以解释的。 写本文的目的,就是想让大家对
CPU
...
CPU
世上最全说明解析
目录 1.主频 2.外频 3.前端总线(FSB)频率 4、
CPU
的位和字长 5.倍频系数 ...7.
CPU
扩展指令集 ...8.
CPU
内核和I/O工作电压 ... 10.... (1)
CISC
指令集 ... (2)
RISC
指令集 ...17、
乱
序
执行
技术 18、
CPU
内...
学习日志之microelectronic(2)——pentium 4架构
pentium4架构是intel公司推出的第7代处理器架构,属于超标量处理器,一次性可以issue多达4个指令,因此其处理速度理论上可以提升至
CPU
时钟速率的4倍,其同时支持
CISC
和
RISC
指令集。相比较第七代处理器架构和第六代...
没人敢跟你忽悠
CPU
主频也叫时钟频率,单位是MHz,用来表示
CPU
的运算速度。
CPU
的主频=外频×倍频系数。很多人认为主 频就决定着
CPU
的运行速度,这不仅是个片面的,而且对于服务器来讲,这个认识也出现了偏差。至今, 没有一条确定的...
汇编语言
21,459
社区成员
41,600
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章