搜索
bottom↓
回复: 13

关于 ARM 基本指令集 是怎么提出的?

[复制链接]

出0入0汤圆

发表于 2012-5-27 13:35:22 | 显示全部楼层 |阅读模式
比如ARM的指令集,有add、sub等等,但是很少有看到书籍或者论文提到过,这些基本指令是如何提出的?

假设我想自己设计一个cpu,那我应该如何抽象出我的指令集呢?

望知道相关信息的网友能指点一下,谢谢啦!!

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2012-5-27 15:34:49 | 显示全部楼层
指令集就看过精简指令集,一般arm都是用精简指令集

出0入0汤圆

发表于 2012-5-27 15:48:55 | 显示全部楼层
自顶向下地进行设计,首先决定指令分类:
数据传送类指令、算术运算类指令、逻辑运算类指令、分支(跳转)类指令、控制类指令

然后,数据传送类指令又可分为如下几种:
堆栈操作、RAM操作、寄存器操作、立即数操作等等……

出0入0汤圆

发表于 2012-5-27 16:02:50 | 显示全部楼层
这个问题有难度,我去GOOGLE(表笑啊)了一下:

这里有一段关于ARM的历史:http://www.ruanyifeng.com/blog/2011/01/brief_history_of_arm.html
其中提到:"1985年,Roger Wilson和Steve Furber设计了他们自己的第一代32位、6M Hz的处理器,用它做出了一台RISC指令集的计算机"
可以看到,ARM出现在1985年,使用了RISC技术,可见当时已经存在RISC技术了。

那再去查一下RISC。这里有一段:http://baike.baidu.com/view/23531.htm
我们可以猜想,当时设计ARM的时候,RISC的东西,已经存在了。那么楼主的问题可以转化为:RISC指令集是怎么提出的?

引:"纽约约克镇IBM研究中心的John Cocke证明,计算机中约20%的指令承担了80%的工作,他于1974年提出了RISC的概念。第一台得益于这个发现的电脑是1980年IBM的PC/XT。再后来,IBM的RISC System/6000也使用了这个思想。"
引:"RISC这个词本身属于伯克利加利福尼亚大学的一个教师David Patterson。RISC这个概念还被用在Sun公司的SPARC微处理器中,并促成了现在所谓的MIPS技术的建立,它是Silicon Graphics的一部分。许多当前的微芯片现在都使用RISC概念。"

从这两段话明显可见,RISC指令集是前辈大牛们在计算机的技术实践中搞出来的。凭空设计新的指令集,应该是很难的吧。
另外即使你设计了新的指令集,那这其实只是一个漫长故事的开始,CPU、汇编器、编译器、OS、应用程序。。。,当然也是有大牛干过这些事情的。。。

楼主加油!!!

出0入0汤圆

 楼主| 发表于 2012-5-27 17:14:05 | 显示全部楼层
我觉得同样的问题应该是有章可循的,比如之前的java虚拟机,也是凭空设计新的指令集,而最近的android中的dalvik虚拟机,又提出了一套与java虚拟机完全不同的指令集。问题就在于,好像没怎么看见有什么文章或者书籍有讲这个,,,或者是我见识浅薄,,,,,

出0入12汤圆

发表于 2012-5-28 08:59:49 | 显示全部楼层
推荐看一下计算机体系结构的书

出0入0汤圆

 楼主| 发表于 2012-5-28 10:10:32 | 显示全部楼层
abutter 发表于 2012-5-28 08:59
推荐看一下计算机体系结构的书

ok,谢谢,回到找找这本书看看

出0入0汤圆

 楼主| 发表于 2012-6-5 16:04:40 | 显示全部楼层
顶顶更健康!!

出0入17汤圆

发表于 2012-6-6 13:41:44 | 显示全部楼层
指令集这个东东和军训时教官喊的“立正”“稍息”“向右转”“齐步走”是一回事,只不过按指令干活的是机器而不是人,所有的指令集组合决定了机器能做的事情,有创意的话,你也可以创造一套自己的指令集,比如说“翻跟头”“拿大顶”,至于这些指令可以用来干什么,似乎拿到马戏团去比较实用。

出0入0汤圆

发表于 2012-6-6 23:29:10 | 显示全部楼层
mark 明天看

出0入0汤圆

 楼主| 发表于 2012-6-7 08:57:42 | 显示全部楼层
beyond160 发表于 2012-6-6 10:27
处理器认的是机器码,而指令集是机器码的助记符。

嗯,是的。我想知道的是,这些功能性的指令是如何提出的,而机器码层面的bit分布,是另外一个很有讲究的问题~~

出0入0汤圆

 楼主| 发表于 2012-6-7 09:01:39 | 显示全部楼层
Nuker 发表于 2012-6-6 13:41
指令集这个东东和军训时教官喊的“立正”“稍息”“向右转”“齐步走”是一回事,只不过按指令干活的是机器 ...

我并不是想再造一套指令集,而只是想在原有的基础上添加指令,有点类似于早起8086之后增加多媒体指令一样,但是既然想增加一条指令集,自然而然的就会想,那原来的那些基本指令是怎么提出的呢?我觉得应该不是几个架构师在那边想想,然后就添加了一条,哪天发现不够用了,再增加一条,,,,,大神们肯定不会这么做的,,,,

出0入0汤圆

发表于 2012-6-7 11:18:09 | 显示全部楼层
goink 发表于 2012-6-7 09:01
我并不是想再造一套指令集,而只是想在原有的基础上添加指令,有点类似于早起8086之后增加多媒体指令一样 ...

你现在可以回头看我在3楼的回复了。

出0入17汤圆

发表于 2012-6-7 12:52:12 | 显示全部楼层
goink 发表于 2012-6-7 09:01
我并不是想再造一套指令集,而只是想在原有的基础上添加指令,有点类似于早起8086之后增加多媒体指令一样 ...

如果你设计一款研究型的CPU,比如说PowerPC架构的DLX或者MIPS架构的。。。,你完全可以随意加减指令,尤其是多媒体相关的指令,比如说乘加,bit操作,甚至FFT、DES、AES指令等。
但是商业用途的CPU一定会考虑兼容性和生态环境,最简单来说,如果编译器不支持,Intel的MMX指令以及AVX指令就完全没有用。问题是Intel不能每推出一款CPU,指令系统升级,然后就要求整个开发工具/OS/应用软件的生态环境全线升级吧?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 10:18

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表