200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 处理器的微架构是什么?它与指令集的关系是什么? – 网络

处理器的微架构是什么?它与指令集的关系是什么? – 网络

时间:2019-10-26 19:29:36

相关推荐

处理器的微架构是什么?它与指令集的关系是什么? – 网络

Skylake处理器架构细节之一

首先要看这两个名词是面向什么的。指令集是一款CPU处理指令及数据的规范,大家只能通过输入指定格式的指令才能操作计算机。而这个是面向程序员和用户层面的。而微架构是面向CPU设计人员的,通过设计处理器的指令执行单元,当完成整个设计时,组成的一整套执行规定指令的微处理器的架构就叫“微架构”。

AVX指令中的3操作数和4操作数格式

前面提到了指令集就是“规范”,这也就意味着他能指导CPU设计人员通过阅读“指令集规范”这本“指南”来设计CPU。而CPU设计人员通过阅读这本规范后设计出来的CPU结构就叫“微架构”。举个简单的例子,就是小学老师教会大家如何解决一元二次方程,但题目是很多的,大家就需要通过解题方法来解决这些实际的问题。这里“解题方法”就是指令集,而“具体的题目”就是微架构了。

AMD推出的x86-64规范,图片来自Wikipedia

讲到这里更正式的表述就是“微架构”就是“指令集”的具体“实现”。所以从大家日常使用中就可以举例,AMD和英特尔同样都是采用x86指令集的处理器,但是他们处理器具体微架构是不同的,这就是典型的“实现”问题。而近期发布的ArmCortex-A77处理器微架构,其采用的是Armv8.2指令集,其前代微架构Cortex-A76也是采用的Armv8.2指令集。所以从软件开发层面上讲,其汇编语言也是相同的,所以两者就可以使用相同的操作系统,基本相同的软件,而基本不需要重新开发编译。

Cortex-A77处理器微架构解析

不过在具体设计处理器微架构时,不同的处理器在缓存、分支预测等结构会有不同,所以虽然可以执行相同的指令,但为了让软件在该处理器上运行更快,所以会针对缓存命中等进行优化。这种优化主要是软件层面的,所以既可以通过汇编语言,也可以通过编译器进行,最终提升软件执行效率。

最后总结一下,指令集需要通过微架构去实现,而采用相同指令集的处理器即使微架构不同,其也可以运行相同的程序(一定条件下)。处理器虽然采用相同指令集,但微架构不同的处理器,在缓存设计等方面存在差异,所以也会有通常处理器厂商也会为开发调试工具甚至是编译器等方式优化软件在自家处理器上的运行效率

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。