CPU扫盲-CPU与指令集
创始人
2024-05-26 20:55:22
0

  指令集架构就像是特定的CPU的设计图纸,它规定了这个CPU需要支持那些指令、寄存器有那些状态以及输入输出模型。根据指令集结构的设计,在CPU上通过硬件电路进行实现,就得到了支持该指令集的CPU。指令集就像是我们编程语言中的接口,只定义规范和标准,不做具体的实现,同一个指令集架构可以有多种不同的实现方式,但只要是基于同一指令集架构的应用程序可以相互移植。所以我们上层应用只需要关注CPU的指令集架构即可,具体的CPU实现由厂商去关注。

  很多非开发的同学指令集名称与CPU名称分不清。这是因为一种 CPU 只能识别一种指令集,所以很多情况下 CPU 都以其支持的指令集名称来称呼,比如当我们要下载软件时通常关注的就是指令集的名称x86、ARM等,但是我们在买电脑时厂商备注的却是酷睿12代、龙芯3C5000、飞腾2000等,所以导致有的同学会把龙芯、飞腾、酷睿与x86、ARM搞混。这里的龙芯、飞腾、酷睿指的是CPU的名称,名字可以有CPU的厂商来取。而x86、ARM则是指令集的名称,基本都是由国外最早的几家处理器厂商创造并命名的如:x86是美国Intel公司、ARM是英国的ARM公司。

  CPU本身只是在块硅晶片上所集成的超大规模的集成电路,集成的晶体管数量可达到上亿个,是由非常先进复杂的制造工艺制造出来的,所以CPU的性能不仅仅受指令集的影响,相同的指令集下好的CPU厂商和差的CPU厂商制造出来的CPU性能也是天差地别的,如:苹果自研的m1芯片,使用的就是ARM指令集,但其性能吊打很多使用ARM指令集的CPU厂商(这个不得不承认)。

  相信大家也知道国内很多优秀CPU厂商如:long xin、fei teng、kun peng等,目前只有老大哥long xin自研了LoongArch指令集。为何其他厂商都选择走捷径采用的国外的指令集呢?指令集的创造真的那么难吗?虽然创造一套指令集并不容易,但也没有到望而却步的程度,真正难的是指令集背后的生态和推广。就像我自己可以发明一门语言,语言本身没什么问题,问题是我用自己发明的语言和别人交流,谁听得懂呢,谁又愿意去学这门语言呢?大家都很忙,不通用的东西没人愿意花精力去学。同一段机器指令010001110(随便写的),在A指令集下这组机器语言可能表示赋值,在B指令集下,这组机器语言可能表示循环,所以相同一段源代码,在不同指令集的编译器下,最终呈现的编译结果是不同的,虽然都是由01组成的二进制数字,但是长短和顺序是不同的,所以每个指令集都要有对应的编译器汇编器解释器(后文暂且统称编译器),编译后的汇编语言和机器语言是不能跨指令集使用的。试想如果要自立门户创造新的指令集,那有谁愿意给它写编译器呢?这可不是一个小工程,他要跟着指令集的迭代而迭代,也要自己不断的优化迭代,需要大量的人力成本和时间成本。即使自己完成了编译器,要知道每种指令集都有他自己的新特性以及一些特殊指令,不然也没必要重复造轮子,如果一些软件使用了ARM或者x86的特殊指令(一些内嵌汇编语言的软件,如:jvm的模版解释器就使用了汇编语言),那这些软件就要自己修改源代码来适配新的指令集,软件的开发程序员自然骂娘。所以自研指令集并不难,难的是如何推广,让大家用起来。这里要再吹一下老大哥long xin,long xin发布LoongArch指令集的同时,完成了针对GCC、LLVM、GoLang三大编译器的开发,完成了针对Java、JavaScript、.NET三大虚拟机的开发,使操作系统厂商和应用伙伴,可基于long xin的软件环境,更方便地开发应用。long xin为了能够更好的适应市场,也为了避免软件程序员骂娘,投入巨大成本完成ARM和x86指令集的二进制翻译工作,使运用了ARM和x86特性的软件也不用修改源码即可适配,但指令集翻译本身只是过渡的手段,为了增加用户群体,我相信随着long xin的独立软件生态逐渐强大,指令集翻译就会越来越边缘化,成为锦上添花之举。long xin的自研指令集也为全面国产化奠定了牢固的基础,在此也希望国内更多软件厂商能给与long xin支持,待到中华腾飞日,且让世界听龙吟

  至此CPU和指令集的关系已经讲解完毕,我们在下载软件时除了要选择指令集之外,还要选择32位还是64位如: * * * .x86_32、 * * *.x86_64,我们已经知道了x86代表的是指令集,那32位和64位是指什么呢?

  这里32 位和 64 位中的“位”就是bit,也叫字长,是指的是cpu一次能处理的数据的长度(也就是寄存器的位数)。这里有一个误区很多人一直认为32位和64位代表的是CPU地址总线引脚的数量,因为谈起32位和64位CPU的不同第一个想到的就是寻址空间不同,32位CPU最大可以寻址4GB的内存地址,64位CPU寻址范围可以远超4GB,而地址总线的数量对应着CPU的寻址能力(由于32位CPU地址总线引脚是32条,每根地址总线的状态只能是高电平或低电平,也就是只能是1或0。 所以32位地址总线一共有232种状态,每种状态代表一个内存地址,每个内存地址为1字节,所以232种状态一共可以表示4GB的内存地址),所以这个误区坑骗了很多人。在Intel x86指令集架构下的第一款CPU 80x86中,CPU是16位但地址引线却是20条,通过将段基址寄存器中段基地址左移4位再加段内偏移地址的方式实现了20位地址寻址,所以说32和64指的并不是地址总线的数量。至于为什么现在CPU不管是32位的还是64位其地址总线引脚数量都等于其位数,是因为现在不管是资源还是制造工艺都远胜当年,没必要因为几根地址总线再去做段基地址左移这种设计上的妥协,不然每次寻址前都要先做一次乘法对CPU的性能还是影响很大的。

相关内容

热门资讯

债市调整影响投资收益 上市银行... 42家A股上市银行一季度业绩已全部“放榜”,其中30家净利润实现正增长。总体来看,上市银行盈利主要是...
释放消费潜力 专家建议宏观政策... 近日,中国宏观经济论坛(CMF)季度论坛(2025年第一季度)在京举行。论坛聚焦“积极进取的中国宏观...
从严从实从细保平安保畅通 用心... 本报讯(记者 田得乾 石成砚)5月5日,省委副书记、省长罗东川来到省交通运输厅、省公安厅,调研调度全...
杭州楚环科技股份有限公司关于持... 证券代码:001336 证券简称:楚环科技 公告编号:2025-018杭州楚环科技股份有限公司关于...
“一票游多日”折射旅游业向链式... 转自:千龙网这个五一假期,游客发现很多景区有了新变化。现在国内许多景点都开始实行“一票游多日”的制度...
一片野茶林托起山村共富路 转自:衢州日报  本报讯 (报道组 郑晨 童彤 通讯员 谭君华) “茶叶种植在深山,清明谷雨芽发青…...
贵州百灵企业集团制药股份有限公... 证券代码:002424 证券简称:ST百灵 公告编号:2025-024贵州百灵企业集团制药股份有限公...
上市银行一季度业绩整体承压 债市调整影响投资收益上市银行一季度业绩整体承压◎记者 马慜 42家A股上市银行一季度业绩已全部“放榜...
A股风险偏好有望回暖 5月或回... ■机构展望A股风险偏好有望回暖5月或回归科技成长风格◎记者 汪友若 5月6日,A股市场迎来5月首个交...
建立完善监管体系 促进低空经济... 党的二十届三中全会提出,完善推动新一代信息技术、人工智能、航空航天、新能源、新材料、高端装备、生物医...
存量强势吸金 新品密集成立 今... 存量强势吸金 新品密集成立今年以来2700亿元资金借道ETF入市◎记者 赵明超 尽管开年以来遭遇资金...
东方时尚驾驶学校股份有限公司关... 证券代码:603377 证券简称:ST东时(维权) 公告编号:临2025-073转债代码:11357...
人气旺 市面暖 活力足 转自:衢州日报  文旅融合热力上扬,消费市场活力涌动,电影文博持续火热……今年“五一”,各地假日经济...
汇卡商务等机构违规被罚 第三方... 第三方支付行业加快洗牌。近日,包括北京市政交通一卡通、广东汇卡商务等在内的多家机构因违规被处罚。中国...
将对所有在外国制作的电影征收1... 转自:成都日报锦观特朗普:将对所有在外国制作的电影征收100%关税 据新华社洛杉矶5月4日电(...
“拎包入住”模式引领种菜新潮 转自:衢州日报  记者 林敏 文/摄 报道组 郑晨  4月29日下午,位于柯城区信安街道信安村的信安...
丝瓜络种植正当时 转自:衢州日报  ​气温持续回升,正是农作物育苗种植的关键时节。近日,在常山县东案乡金源村,5万株丝...
兵团研发成功葡萄藤越冬新覆盖材... 本报石河子讯(全媒体记者 马燕) “这片试验田同时采用传统埋土法、毛毡覆盖法和我们新研发的‘抗冻...
为教育后勤服务升级赋能 转自:衢州日报  本报讯 (通讯员 雷湘熠) 近日,杭州市富阳区教育局组织2025年教育系统后勤管理...
经济迸活力 文旅引热潮 转自:成都日报锦观经济迸活力 文旅引热潮 近日,全国首单知识产权质押关税保函落地成都高新区。企...