1 CPU架构

CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。目前市面上的CPU分类主要分有两大阵营,一个是intel、AMD为首的复杂指令集CPU,另一个是以IBM、ARM为首的精简指令集CPU。两个不同品牌的CPU,其产品的架构也不相同,例如,Intel、AMD的CPU是X86架构的,而IBM公司的CPU是PowerPC架构,ARM公司是ARM架构。

2 指令集

计算机指令就是指挥机器工作的指示和命令,程序就是一系列按一定顺序排列的指令,执行程序的过程就是计算机的工作过程。指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合,而每一种新型的CPU在设计时就规定了一系列与其他硬件电路相配合的指令系统。而指令集的先进与否,也关系到CPU的性能发挥,它也是CPU性能体现的一个重要标志。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效的工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分 。

复杂指令集,也称为CISC指令集,英文名是CISC,(Complex Instruction Set Computing的缩写)。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。其实它是英特尔生产的x86系列(也就是IA-32架构)CPU及其兼容CPU,如AMD、VIA的。即使是现在新起的X86-64(也被称为AMD64)都是属于CISC的范畴。

精简指令集(RISC:Reduced Instruction Set Computing RISC)是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机),RISC机中采用的微处理器统称RISC处理器。这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。纽约约克镇IBM研究中心的John Cocke证明,计算机中约20%的指令承担了80%的工作,于1974年,他提出RISC的概念。许多当前的微芯片都使用RISC概念。

复杂指令集与精简指令集区别简化指令与复杂指令的区别!好文 - 楚广明 - 博客园 (cnblogs.com)

主流的CPU架构按照复杂和精简指令集可以按照如下区分:

  • CISC:x86;
  • RISC:arm、RISC-V、LoongArc(龙芯)、MIPS;

3 x86、ARM、MIPS和loongARC架构的特点比较

(1) x86

架构特征:指令系统庞大,功能复杂,寻址方式多,且长度可变,有多种格式;各种指令均可访问内存数据;一部分指令需多个机器周期完成;复杂指令采用微程序实现;系统兼容能力较强。

架构优势:x86 架构兼容性强,配套软件及开发工具相对成熟,且 x86 架构功能强大,高效使用主存储器,因此在处理复杂指令和商业计算的运用方面有较大优势。

主要应用领域或使用场景:服务器、工作站和个人计算机等。

(2) ARM

架构特征:指令长度固定,易于译码执行;大部分指令可以条件式地执行,降低在分支时产生的开销,弥补分支预测器的不足;算数指令只会在要求时更改条件编码。

架构优势:ARM 结构具有低功耗、小体积的特点,聚焦移动端市场,在消费类电子产品中具有优势。

主要应用领域或使用场景:智能手机、平板电脑、工业控制、网络应用、消费类电子产品等。

(3) MIPS

架构特征:采用 32 位寄存器;大多数指令在一个周期内执行;所有指令都是 32 位,且采用定长编码的指令集和流水线模式执行指令;具有高性能高速缓存能力,且内存管理方案相对灵活。

架构优势:MIPS 结构 设计简单、功耗较低,在嵌入式应用场景具有优势。

主要应用领域或使用场景:桌面终端、工业、汽车、消费电子系统和无线电通信等专用设备等。

(4) loongARC

架构特征:融合X86/MIPS/ARM等主流指令系统的主要特点,高效支持二进制翻译。保持典型RISC风格:定长 32通用定/浮点 load-store结构;取消延迟槽,新增以PC为源操作的运算指令;实现位操作等多数指令集选择增加的指令。

4  CPU架构与指令集关系

CPU的硬件结构,即架构,一旦确定,那么使用该架构的CPU能实现的功能大体上是一样的,而且去实现该功能的指令集也大体上一样的。

设计CPU架构即决定了指令集,如X86指令集,是因为该CPU采用了X86结构,所以才叫X86指令集;指令集是指某种架构CPU能实现的所有功能,这些功能对应的代码编号构成指令集;代码编号应该就是指机器码这种底层代码,某种架构CPU架构确定后,代码编号就确定了,这些编号反映了CPU以什么样的方式去执行某些功能,决定了硬件的执行方式;前面说这些代码编号可能就是机器码,机器码就是二进制数字,二进制数字反映在电路上就是高低电平,从而驱动电路运行;不同代码编号的二进制数字排列就不同,所以驱动电路的高低电平就不同,所以电路执行的方式就不同。

相同的功能<-不同的电路实现<-不同架构的CPU<-不同的指令集<-汇编语言<-同一个程序

总结: 不同架构的CPU,最终体现在CPU实现相同功能的方式不同,或者有的CPU具有其它CPU实现不了的功能,是某种架构独有的;而不同指令集实现对上层代码进行不同的翻译,对下操作不同的电路实现。

参考链接:关于CPU 架构与指令集的一些个人理解 - warmbeast - 博客园 (cnblogs.com)

CPU架构与指令集的关系相关推荐

  1. iOS CPU架构(ARM指令集)

    简述 ARM处理器,因其功耗低和尺寸小而闻名,几乎所有的手机处理器都基于ARM,苹果当然也不例外. armv6.armv7.armv7s.arm64都是ARM处理器的指令集,所有指令集原则上都是向下兼 ...

  2. 通俗来理解 ARM芯片内核,架构,指令集,软核和硬核之间的关系

    1.单片微型计算机: 简称单片机,简单来说就是集CPU(运算.控制).RAM(数据存储-内存).ROM(程序存储).输入输出设备(串口.并口等)和中断系统处于同一芯片的器件,在我们自己的个人电脑中,C ...

  3. CPU架构 intel,amd和arm的关系

    1.指令集 所谓指令集,是CPU中用来计算和控制计算机系统的一套指令的集合.指令的强弱是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一. CPU依靠指令来计算和控制系统,每款CPU在设计时 ...

  4. 指令集架构、微架构、处理器架构、CPU架构、内核

    前两天看书碰到了"CPU架构"这个词,脑子里感觉有点模糊不懂.查阅相关资料后又陆续碰到了"指令集架构"."微架构"."处理器架构& ...

  5. 指令集架构、微架构、处理器架构、CPU架构

    前两天看书碰到了"CPU架构"这个词,脑子里感觉有点模糊不懂.查阅相关资料后又陆续碰到了"指令集架构"."微架构"."处理器架构& ...

  6. 指令集与CPU架构概念与联系

    指令集 指令集,顾名思义,指令的集合,CPU用来计算和控制计算机系统的,本质上是二进制机器码. CPU依靠指令来计算和控制系统,故而需要规定一些列与硬件电路相互配合的指令系统来完成CPU的设计.以此来 ...

  7. (转)从CPU架构和技术的演变看GPU未来发展

    泡泡网显卡频道5月28日 自从AMD提出Fusion(融聚)的概念.NVIDIA加大力度推广GPU通用计算.Intel率先将CPU和GPU整合在一起之后,大家就会发现CPU和GPU从没如此亲密无间过, ...

  8. 计算机术语中英文对照表(流水线/微架构/体系结构/指令集)

    术语 翻译 描述 Intel Architecture (IA) IA架构 执行x86指令集的CPU架构 Pipeline 流水线 根据上下文,翻译做"流水线"或者"管道 ...

  9. 哈佛架构、冯诺依曼架构、指令集

    1.CISC与RISC的区别: CISC(复杂指令集):复杂指令集就是CPU在工作的时候需要有很多的汇编指令来完成,它可以用一个汇编指令来完成一件复杂的工作.例如:乘法,加法,乘加,乘减等处理的时候, ...

最新文章

  1. Python如何在以数字命名的文件前补0
  2. 轻量级微服务架构【读书笔记2】
  3. BZOJ 2592 随机化(伪)
  4. ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第三篇
  5. HashMap原理解析
  6. 选择用 Java 开发 GUI:
  7. Linux下SHELL的PS1变量简介
  8. JavaScript的最大函数參数长度和最大栈深度检測
  9. 软件开发生命周期来说明不同的测试的使用情况
  10. 微信小程序 - 贝塞尔曲线(购物车效果)
  11. PSPnet预训练模型caffe model转pytorch
  12. C语言编程 肥宅快乐水
  13. 2021腾讯广告大赛学习总结
  14. 2020-04-09
  15. 指针变量与数组的关系及什么是指针数组
  16. ros中的launch文件
  17. 计算机软件录音注意事项,GOLDWAVE录音软件使用教程
  18. CF869C The Intriguing Obsession
  19. 谷粒商城简介(1~5集)
  20. Uos统信系统本地apt及基础网络,主机名时区配置

热门文章

  1. R代码学习(1)——算术运算、关系运算、逻辑运算
  2. 腾讯云OCR(印刷体识别) API使用
  3. 程序员版“吐槽大会”: 国产综艺节目年终盘点
  4. EasyUi 快速入门
  5. Dubbo Cluster集群那点你不知道的事。
  6. Android ION 内存管理
  7. c程序设计语言k amp rpdf6,Adaptive Interpupillary Distance Adjustment for Stereoscopic 3D Visualization...
  8. BSCI验厂考勤资料工资作假不一致解决方案
  9. 计算器软件测试数据,计算器软件测试报告.pdf
  10. Don‘t make users think