免费注册 查看新帖 |

Chinaunix

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

x86指令集疑问 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-12-11 20:28 |只看该作者
1)CSIC与RISC,只是两种设计理念,并不意味着截然不同的两类事物。
2)定长还是变长,与CSIC还是RISC无关。早期以为,指令定长,能够提高指令的执行效率。这个老早就被否定。定长指令,既浪费空间也浪费时间。

论坛徽章:
0
12 [报告]
发表于 2008-12-11 22:26 |只看该作者
原帖由 beepbug 于 2008-12-11 20:28 发表
1)CSIC与RISC,只是两种设计理念,并不意味着截然不同的两类事物。
2)定长还是变长,与CSIC还是RISC无关。早期以为,指令定长,能够提高指令的执行效率。这个老早就被否定。定长指令,既浪费空间也浪费时间。

是 CISC 不是 CSIC
CISC与RISC是不同的设计理念。当然意味着是不同的两类事物
CISC设计理念注定是不定长。指令定长能够提搞指令执行效率一说,貌似没人这么强调吧。
-------------
或许我也有理解错误的。但希望你能摆出一些能说服人的论据出来。

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
13 [报告]
发表于 2008-12-11 22:29 |只看该作者
原帖由 beepbug 于 2008-12-11 20:28 发表
1)CSIC与RISC,只是两种设计理念,并不意味着截然不同的两类事物。
2)定长还是变长,与CSIC还是RISC无关。早期以为,指令定长,能够提高指令的执行效率。这个老早就被否定。定长指令,既浪费空间也浪费时间。

定长还是变长,从设计理念上来说,与CISC还是RISC确实无关,但CISC的设计方式很容易把指令设计成变长的.而RISC一般是定长的,我好象没看过变长的(指令模式切换例外),RISC自然有存在的意义,那么多的机器上跑着RISC呢,呵呵

[ 本帖最后由 cjaizss 于 2008-12-11 22:31 编辑 ]

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
14 [报告]
发表于 2008-12-11 22:30 |只看该作者
另外,认为定长指令能够提高指令的执行效率并不是早期认为

论坛徽章:
0
15 [报告]
发表于 2008-12-14 10:06 |只看该作者
1)对不起,我是复制9楼的,“CSIC与RISC”,没检查。
2)CISC与RISC之争,是由于出现RISC设计思想才有的。本来无所谓CISC或RISC。这争议出来后,CPU及与CPU相关的技术仍在一日千里地发展。C也好,R也好,都要不断地适应不断地出现的各种新技术。
3)以为,定长可以减少时间开销的,是很早很早以前的以为。那时还是8/16位时代(不是微机,要早得多),宝来公司生产的还是18位机呢,他们以为,校验位必须无时无地包含在数据里。
4)那时认为,不定长指令需要先取首字节,在译码器里做分析,来决定还要取几个字节,影响指令执行效率。但是,通过改进控制器和运算器的结构,可以很轻松地消除这个开销。等到后来出现了流水线,这个思想就更变成陈旧观念的笑料了。

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
16 [报告]
发表于 2008-12-14 11:36 |只看该作者
原帖由 beepbug 于 2008-12-14 10:06 发表
1)对不起,我是复制9楼的,“CSIC与RISC”,没检查。
2)CISC与RISC之争,是由于出现RISC设计思想才有的。本来无所谓CISC或RISC。这争议出来后,CPU及与CPU相关的技术仍在一日千里地发展。C也好,R也好,都要 ...

这个怎么说呢........定长指令有很多好处,在流水线架构里自然也很方便。认为定长比不定长效率高恰恰是在流水线架构的时候,流水线其实出来的时间已经很长了。我至今没发现过哪个RISC除了指令模式转换和极少数特别指令之外,有不定长指令,所以可以大致认为RISC与定长指令关联很深。而很多性能很牛叉的机器上的是RISC,而非CISC。CISC的设计之所以很容易会导致变长指令,有很多原因,比如寻址方式很多就是一个,指令格式复杂,就凭这两点,流水线还是很难设计的。

[ 本帖最后由 cjaizss 于 2008-12-14 11:50 编辑 ]

论坛徽章:
0
17 [报告]
发表于 2008-12-14 16:45 |只看该作者
1)定长只是指令构成被精简后的副产品。
2)即使只有少数指令不等长,这“定长”的意义就大打折扣了。
3)定长指令在读取时有空读,也影响效率。
4)你说得对,寻址方式是一大因素。不过这个是有得有失,CISC和RISC都有得有失。
5)你说得对,许多性能很牛的机器是RISC。这是因为,借助于CPU技术的发展,RISC更容易取得较高的性能。

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
18 [报告]
发表于 2008-12-14 17:28 |只看该作者
原帖由 beepbug 于 2008-12-14 16:45 发表
1)定长只是指令构成被精简后的副产品。
2)即使只有少数指令不等长,这“定长”的意义就大打折扣了。
3)定长指令在读取时有空读,也影响效率。
4)你说得对,寻址方式是一大因素。不过这个是有得有失,CIS ...
原帖由 beepbug 于 2008-12-14 16:45 发表
1)定长只是指令构成被精简后的副产品。
2)即使只有少数指令不等长,这“定长”的意义就大打折扣了。
3)定长指令在读取时有空读,也影响效率。
4)你说得对,寻址方式是一大因素。不过这个是有得有失,CIS ...

1)不是副产品,而是精简的要求
2)那一般是因为要求扩充指令,而考虑到一些情况,特别指令的长度可能不一样,所谓凤毛麟角,然而即使这么一个凤毛麟角的指令,也会使得CPU结构做一定程度的调整,所以一般RISC是没有这样的指令的,但不排除有这样的情况存在。但它是与CISC导致的不定长还是有本质区别的,那里的不定长绝非个别现象。
3)......流水线的各级用FIFO(一种数字逻辑)或者别的东西连接,如果不是完全同步,那么总会出现有某单元在空等,这不是定长不定长的问题,而是流水线本该如此。
4)5)有得有失,呵呵,CISC如此的设计导致了复杂的处理,使得CPU的设计变的复杂,在高性能的设计下,CISC在设计的时候遇到的问题比RISC可能更加麻烦。虽然我不喜欢CISC,但是当然,CISC也有CISC的好处。

论坛徽章:
0
19 [报告]
发表于 2008-12-14 18:44 |只看该作者
1)指令功能(很大一块是寻址方式)精简了,指令就短了,才有可能使设计师想到:“哎,看来可以是众多指令等长度!”你再想想,因果关系是不是这样?
2)一个指令系统,共100种指令,其中99种是等长的,一种特别长。那你就必须判读首字节来弄清楚指令长度。
3)不是空等。即使是RISC,你搞成等长了,假如都是4字节。可以总有一些指令只需一个字节即可完整表达它的含义,总有一些指令只需两个字节即可完整表达它的含义,总有一些指令只需三个字节即可完整表达它的含义。譬如,清C指令、置C指令、返回指令、陷阱指令等,绝对用不完32bit。

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
20 [报告]
发表于 2008-12-14 18:54 |只看该作者
1)不是因果,或者是互为因果,因为在设计RISC的时候一开始就是这么想的。RISC出现在CISC之后。
2)我已经提到了,但这是辅助,对整体的影响并不大,因为特殊长度指令在判断之后RISC里是给它一个单行道的,而一般不是其他指令一起处理,因为这样可能很大程度影响流水线的设计
3)........有个概念叫总线宽度
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP