社区
汇编语言
帖子详情
请教:奔腾系列CPU 中的CISC转RISC 和乱序执行 问题?
zongta
2003-12-21 02:47:19
小弟近日学习Art of Assembly Language Programming,其中,第三章讲的 奔腾系列CPU 的CISC转RISC 和乱序执行 技术很模糊。在此,请诸位大侠赐教。我想知道:
1. CISC 转RISC 对于执行效率有什么帮助?
2. 乱序执行的好处是什么?
3. 这些技术的核心思想是什么?
谢谢您的参与!
...全文
213
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
首先,我们需要摒弃一些非常明显的误解。因为
RISC
的意思是简化指令集计算机(Reduced Instruction Set Computer),所以很多人认为...
深入浅谈,
CPU
设计原理
序言 也许很多朋友都会对
CPU
的原理比较感兴趣,从网上大家可以搜集到“利用晶体管的开关闭合进行二进制运算或数据存贮”之类的东西,但是
CPU
的性能由何决定?
CPU
内部的设计师如何的?分支预测,
乱序执行
到底是什么?超长流水线,
RISC
又是何物?为什么酷睿的
CPU
频率低,但是比高频率的P4性能好那么多?这些我们应用
中
遇见的
问题
绝对不是几句简单的话语可以解释的。 写本文的目的,就是想让大家对
CPU
的...
CPU
世上最全说明解析
目录 1.主频 2.外频 3.前端总线(FSB)频率 4、
CPU
的位和字长 5.倍频系数 6.缓存 7.
CPU
扩展指令集 8.
CPU
内核和I/O工作电压 9.制造工艺 10.指令集 (1)
CISC
指令集 (2)
RISC
指令集 (3)IA-64 (4)X86-64 (AMD64 / EM64T) 11.超流水线与超标量 12.封装形式 13、多线程 14、多核心 15、SMP 16、NUMA技术 17、
乱序执行
技术 18、
CPU
内...
软件调试基础(二【
CPU
基础】2.1-2.2)
现代融合趋势:x86内部将
CISC
指令
转
为
RISC
微操作(μops);动态调度指令池
中
的μops → 分发到执行单元(ALU/FPU等)→ 结果写回指令池。内存控制器入片(Nehalem)→ GPU 单晶片集成(Sandy Bridge)检查指令状态 → 将临时结果永久化(写寄存器/内存)→ 保证逻辑正确性。:16位(8086)→32位(386)→64位(P4 EM64T)多核设计:Core 2 Duo(双核)/Quad(四核):系统编程指南(保护模式/虚拟化/APIC/缓存管理)
49、处理器架构解析:Intel Core与ARM Cortex-A8
本文深入解析了Intel Core微架构与ARM Cortex-A8处理器的架构设计。Intel Core基于
CISC
架构,采用
乱序执行
、寄存器重命名等技术实现高性能,广泛应用于桌面、服务器和企业级场景;而ARM Cortex-A8基于
RISC
架构,采用双发射顺序执行的13级流水线,强调低功耗与高能效,适用于移动设备和嵌入式系统。文章对比了两者在流水线、分支预测、缓存结构等方面的差异,并分析了各自的应用场景与未来发展趋势,为开发者选择合适处理器架构提供了理论依据。
汇编语言
21,497
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章