暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

一张图带你了解CPU指令集

151

CPU我们知道通常是指计算机处理器,计算机处理器是解释和执行指令的功能单元,也称为中央处理器或CPU,它是计算机的中枢神经系统,与处理器和内存周围被称为外设的设备形成对比,如键盘、显示器、磁盘、磁带机等都是外设。

CUP指令执行过程(1,2,3,4,5,6,7,8,9)

既然CPU是解释和执行指令的单元,那么CPU有两种指令的设计架构,分别是CISC指令集架构和RISC指令集架构。

CISC: Complex Instruction Set Computer,称为复杂指令集计算机,主要类型的指令集是X86。

CISC指令集的设计理念是:尽可能减小指令的数量,让每一条指令实现更复杂的功能,从而降低CPU向内存取指令的频率,进而减小程序的执行时间,提升计算性能。为了让某一条指令能实现更复杂的功能,CISC的指令设计采用变指令长度。而这必然对CPU硬件电路设计提出了非常高的要求,往往需要非常复杂的控制、解码、执行电路。

那么RISC指令的设计架构怎么诞生?

基于任何事情都可以用二八定律来描述,计算机指令集也不例外。据实际统计,CISC中只有20%的指令才会被经常使用,而剩下的80%则较少使用。也就是说,为了实现那极少使用的80%的指令,代价是复杂的硬件控制电路和编译器设计,这值得吗?所以RISC指令集从此诞生。

RISCReduced Instruction Set Computer,称为精简指令集计算机。

RISC指令集的设计理念是:只保留必要的指令,采用固定长度指令设计,将复杂的功能实现上交给软件去实现。其好处便是指令集、硬件电路、编译器设计简单了。缺点是实现同样的功能,需要更多的指令,代码密度更低。

CISCRISC孰优孰劣的争论持续了许多年,它们两个虽然谁都不服谁,各自占据着自己的领域。比如,以CISC x86架构为主的Intel/AMD统治着PC和服务器领域,而以RISC架构为主的ARM则统治着移动消费领域。尽管它们互相看不顺眼,但是随着科技的发展,CISCRISC也在相互借鉴对方的优势,它们之间的界限也越来越模糊。

CPU除了指令集,还包括各种组件,如ALU(运算器),EU(处理器的执行部件)、寄存器、Cache等等。它们的组织方式也会影响CPU的架构,即同一个指令集下面,CPU厂商又可以生产不同架构的CPU。具体来讲,目前市面上基于CISC指令集的CPU主要是x86架构,比如 Intelx86x86-64AMDamd64。而RISC下面则有ARMMIPSPowerPCRISC-V等多种CPU架构。

补充:EU 8086/8088 微处理器的执行部件(Execution Unit)BIU(总线接口部件) 是 8086/8088 微处理器的总线接口部件(Bus Interface Unit) EU 的功能是执行指令,BIU的功能是使 8086/8088 微处理器与片外存储器或 I/O接口电路进行数据交换。

总线接口部件(BIU)由下列各部分组成

14个段地址寄存器:

CS(code segment):16bit代码段寄存器;

DS(data segment):16bit数据段寄存器;

ES(extra segment):16bit扩展段寄存器;

SS(stack segment):16bit堆栈段寄存器;

216位的指令指针寄存器IP

320位的地址加法器;

46字节的指令队列缓冲器。

执行部件(EU)由下列几个部分组成:

18个通用寄存器:即AXBXCXDX,BP,SP,SI,DI

其中,4个数据寄存器:AXBXCXDX

2个地址指针寄存器:

BP(base pointer),SP(stack pointer)

2个变址寄存器:

SI(source index),DI(destination index)  

2)标志寄存器FR(flags register)

3)算术逻辑单元ALU(arithmetic logic unit)

EU负责全部指令的执行,同时向BIU输出数据(操作结果),并对寄存器和标志寄存器进行管理。在ALU中进行16位运算,数据传送和处理均在EU控制下执行。

CPU架构概览

x86

x86 架构采用CISC指令集,由Intel公司于1978年推出,也就是8086/8088系列,故后面将该系列称为x86系列。它最初设计用于个人电脑,但后来也被用于服务器、工作站和其它设备。x86 架构的特点包括:

X86架构的特点主要包括高兼容性、高性能、丰富的软件生态系统、支持32位和64位技术、拥有丰富的指令集、高度并行化、以及采用多种底层技术。

  • 高兼容性

X86架构具有很高的兼容性,可以运行旧版本的软件和操作系统。这种兼容性使得X86成为了广泛采用的计算机架构之一。

  • 高性能

在处理器性能方面,‌X86架构具有优势,尤其是在单线程任务上。它支持高频率的时钟速度和复杂的指令集,使其在许多应用场景下表现出很好的性能。

  • 丰富的软件生态系统

由于X86架构的广泛应用,有大量的软件和工具支持。开发者可以轻松获取各种应用程序和开发资源,这有助于推动软件生态系统的发展。

  • 支持32位和64位技术

X86架构支持32位和64位操作系统和应用程序。‌64位版本提供更大的内存寻址空间和更高的计算能力。

  • 拥有丰富的指令集

‌X86架构拥有丰富的指令集,包括算术运算、逻辑运算、数据传输、控制流程等多种指令。这些指令可以在硬件级别上直接执行,提供了强大的计算和数据处理能力。

  • 高度并行化

‌X86架构处理器具有多级流水线和超标量执行等技术,可以同时执行多条指令,提高指令级并行性和执行效率。同时,它还支持SIMD(单指令多数据)指令集,用于并行处理向量数据。

  • 采用多种底层技术

‌X86架构的底层原理包括指令集、寄存器、流水线执行、缓存技术、分支预测和乱序执行等。这些原理共同作用,使得X86架构处理器具有广泛应用和高性能的特点。

这些特点共同作用,使得X86架构在个人计算机和服务器领域得到广泛应用,成为当前最常见和流行的处理器架构之一。

ARM

ARM (Advanced RISC Machine) 架构是一种精简指令集计算机(RISC)架构,由英国 ARM 公司于 1985 年推出。它最初设计用于嵌入式系统,但后来也被用于智能手机、平板电脑和其他设备。ARM 架构的特点包括:

  • 低功耗:ARM 架构的功耗非常低,这使得它非常适合于使用电池供电的设备。

  • 高性能:ARM 架构的性能非常高,这使得它非常适合于运行复杂的应用程序。

  • 小巧:ARM 架构非常小巧,这使得它非常适合于嵌入式系统。

  • 低成本:ARM 架构的成本非常低,这使得它非常适合于大规模生产。

MIPS

MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(microprocessor without interlocked piped stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福大学 Hennessy 教授领导的研究小组研制。MIPS是出现最早的商业RISC架构芯片之一,新的架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。MIPS自己只进行CPU的设计,之后把设计方案授权给客户,使得客户能够制造出高性能的 CPU

它的基本特点是:

1、包含大量的寄存器、指令数和字符

2、可视的管道延时时隙

RISC-V

RISC-V 架构是一种精简指令集计算机(RISC)架构,由加州大学伯克利分校于 2010 年推出。它最初设计用于嵌入式系统,但后来也被用于服务器、工作站和其他设备。RISC-V 架构的特点包括:

  • 开源:RISC-V 架构是开源的,这意味着任何人都可以免费使用和修改它。

  • 模块化:RISC-V 架构是模块化的,这意味着可以根据需要添加或删除指令。

  • 可扩展:RISC-V 架构是可扩展的,这意味着可以将其扩展到不同的处理器内核。

  • 低功耗:RISC-V 架构的功耗非常低,这使得它非常适合于使用电池供电的设备。

  • 高性能:RISC-V 架构的性能非常高,这使得它非常适合于运行复杂的应用程序。

PowerPC 

PowerPC 架构同样是一种精简指令集计算机(RISC)架构,由苹果公司、IBM 公司和摩托罗拉公司于 1991 年联合推出。它最初设计用于工作站,但后来也被用于服务器、嵌入式系统和其他设备。

国产CPU

关于国产CPU,已形成自主架构、x86ARMMIPSAlpha五大阵营。自主架构以龙芯、申威的LoongArchSW-64为代表;ARM阵营由鲲鹏、飞腾领军,依托ARM授权开发处理器;x86阵营则以海光、兆芯等品牌为核心,专注于x86架构设计。五大阵营共同推动国产CPU的技术创新与产业发展。

文章转载自戏说数据那点事,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论