免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
51 [报告]
发表于 2009-01-05 18:20 |只看该作者
原帖由 cjaizss 于 2009-1-1 00:04 发表
现在想想,微指令的设计方式的出现也是必然的,就如同pld、cpld、fpga的出现一样,也是为了节约硬成本和开发成本的需要。


如果我没记错的话, 微指令方式很早就在学术界提出了, 但是限于制作工艺, 很久以后才真正投入到芯片设计中去。


说道这个,我觉得最大的优势就是向后兼容,用microcode绝对比组合逻辑电路方便很多。

论坛徽章:
0
52 [报告]
发表于 2009-01-05 18:21 |只看该作者
原帖由 beepbug 于 2009-1-2 18:29 发表
1)对不起,是“现在只需对ROM重新写码就可以了”。
2)其实,这只是理论上的。只是对简单功能的CPU来说,硬布线有时间开销上的优势。CPU功能复杂了,硬布线CPU的硬件结构复杂度,几乎与功能的复杂度成指数比例 ...



现代RISC处理器一般用什么方式? 能列举一下吗?

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


如果我没记错的话, 微指令方式很早就在学术界提出了, 但是限于制作工艺, 很久以后才真正投入到芯片设计中去。


说道这个,我觉得最大的优势就是向后兼容,用microcode绝对比组合逻辑电路方便很多。

是很早,我提到的pld也很早,我只是说明这样一种趋势

论坛徽章:
0
54 [报告]
发表于 2009-01-06 08:10 |只看该作者
1)微指令方式早就实现了。至少在DEC的PDP-11时代,已经非常成熟。
2)对于硬布线方式,当逻辑非常复杂时(复杂指令的执行电路逻辑更复杂),由于串激效应(譬如多级全加器的进位等),速度也急剧下降。但是,这可以通过电路优化(并激化等)来部分地改善。主要还是随着指令系统的庞大,芯片面积将大大增大。指令系统复杂度增大一倍,芯片面积要增大几倍。芯片大了,速度也就下来了。半导体技术也不能支持无止境的芯片扩大。再说,像主板那样大的芯片,也不实用。

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
55 [报告]
发表于 2009-01-06 09:16 |只看该作者
原帖由 beepbug 于 2009-1-6 08:10 发表
1)微指令方式早就实现了。至少在DEC的PDP-11时代,已经非常成熟。
2)对于硬布线方式,当逻辑非常复杂时(复杂指令的执行电路逻辑更复杂),由于串激效应(譬如多级全加器的进位等),速度也急剧下降。但是, ...

很多电路都可以优化的,加法器作成把一个个半加器串式级联(所谓串行进位加法器)是最土的做法,没有CPU里是这么做的,可以使用别的算法来提高组合逻辑的速度,我在本版好象专门发过一个帖子来叙述这个问题。对于乘法器,自然也有优化的方法,但dsp能够在一个时钟下完成一个乘法我还是觉得不可思议,一直想知道它是怎么设计的。别的复杂组合逻辑也会采用相似的优化。
对于复杂指令集来说,的确,硬布线会导致电路非常复杂。而对于简单指令集来说,处理比较统一,相对简单,除了几条特别指令(甚至可能字节数都不一样),RISC会设计另外的处理通道让该指令来走,姑且叫它特别通道吧。而复杂指令集来说,这样的特别通道太多,电路只会很复杂,像X86这样复杂的指令集,选择微指令或许是唯一途径了。

论坛徽章:
0
56 [报告]
发表于 2009-01-08 18:37 |只看该作者
等逻辑复杂到一定程度,没有什么有效的做法了。
等指令系统复杂到一定程度(早就到那个程度了),硬布线速度快,就成了理论上的一句空话。

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
57 [报告]
发表于 2009-01-09 09:20 |只看该作者
原帖由 beepbug 于 2009-1-8 18:37 发表
等逻辑复杂到一定程度,没有什么有效的做法了。
等指令系统复杂到一定程度(早就到那个程度了),硬布线速度快,就成了理论上的一句空话。

微指令仿佛是一个模板,而硬布线是一个没有经过模板的具体实例。x86确实是不可以硬布线的,否则仅就一个面积就行不通。模板化的东西可以使用相对少的资源实现相对多的功能,这是优势。然而硬布线还是依然在RISC上有一定应用,好处自然也是有的。
类比一下编译原理,也有相对“模板化”和相对“硬布线”化,对于实现一个复杂语法的编译器,两者代码量还是有明显差异的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP