芯片 微架构 寄存器 指令集 主频 晶体管
主页 指令集 正文

指令集体系结构

指令集结构有哪些

指令集的结构为:

1.ISC指令集,又称复杂指令集;英文名称是CISC。
(ComplexInstructionSetComputer的缩写)。

在CISC微处理器中;程序的每条指令都是按顺序执行的,每条指令中的操作也是按顺序执行的。
顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。

2.RISC的英文全称是“ReducedInstructionSetComputing”,中文意思是“精简指令集”。
它是基于CISC指令系统的,有人测试了CISC机器,发现各种指令的使用频率差别很大。

最常用的指令仅占指令总数的20%。
该程序的出现频率为80%。
复杂的指令系统不可避免地增加了微处理器的复杂性,使得处理器的开发周期长且成本高。

3.关于EPIC(显式并行指令计算机)是否是RISC和CISC系统的继承者,一直存在很多争论。
英特尔的处理器看起来是向RISC架构过渡的重要一步。

4.处理器中引入了解码器,以便可以将x86指令转换为IA-64指令。

5.x86-64(AMD64(也称为)的发生是因为x86处理器的32位地址空间是无根据的。
有了x86

AMD充分考虑了用户的需求,强化了x86指令集的功能,因此这个指令集可以同时支持64位计算模式,因此AMD将他们的架构称为x86-64。

指令集是什么???

每个处理器都有一组它可以识别的指令,称为指令集。

JVM指令由两部分组成。
第一部分是单字节操作码,第二部分是0个或多个提供参数或数据的操作数。
很多指示。
只有第一部分。

JVM指令集中的大多数指令编码与其执行操作的数据类型有关。
例如:iload指令读取局部变量的int值并将其压入操作数堆栈。

fload指令对float类型执行相同的操作。
这两条指令实现相同的功能,但操作码不同。

扩展信息:

CPU指令集的作用:

我们通常指的是CPU的扩展指令集。
作为“处理器指令集”。
CPU使用指令来计算和控制系统。
每个CPU都有与其硬件电路相对应的若干指令系统。
指令可靠性也是CPU的一个重要指标。
指令集是提高微处理器效率最有效的工具之一。

目前的核心架构中,指令集根据具体应用可以分为复杂指令集和简化指令集,例如IntelMMX(MultiMediaExtended)、SSE、SSE2(Streaming-Singleinstructionmultipledata)。
-扩展2)和AMD3DNow!它们都是增强型CPU指令集,分别增强CPU的多媒体、图形和互联网处理能力。

来源:百度百科及指令集

什么是ARM64和X64体系?

ARM64是ARM中的64位架构,x64是x86系列中的64位架构。
ARM属于精简指令集系统,汇编指令比较简单。
x86是一个复杂的指令集系统,具有许多汇编指令。
属于两个不同的系统。

这一切要从1978年开始,当时Intel发布了全球首款x86指令集架构处理器“Intel8086”。
后来这个系列的处理器名称都以数字86结尾,比如Intel8086、80286和80486,所以逐渐这个系列被称为x86。
x86开始在1985年发布的Intel80386处理器上使用“32位架构指令集”,称为x86_32(之前都是16位)。
随着Intel不断发布新的32位处理器。

慢慢大家发现32位和x86通常指的是同一个东西,所以32位也被称为x86。
这就是为什么我们现在看到的x86几乎都是默认指的32位。
然而谁能想到,2003年AMD突然卷土重来,抢在Intel之前发布了64位处理器。

并命名为“AMD64”,x86正式进入64位时代。
64位不仅在数值上优于32位,而且在性能和应用场景上也有了很大的提升(后面讨论,Intel也跟进推出了兼容处理器,称之为“Intel64”。

历史经验告诉我们,懒癌不能接受这个词。
x86_32和x86_64,因此x86_64缩写为x64。

RISC-V指令集基本概念

RISC-V指令集架构基础知识RISC-V是一种新的指令集架构(ISA),旨在为学术界和工业界提供开放、免费和标准的架构。
目标是创建一个完全开放的ISA,可以自由使用,适合直接部署在硬件上,而不仅仅是用于仿真或二进制翻译。
它避免了针对特定微架构风格(例如微代码、有序、解耦、无序等)或实现技术(例如:完全可定制、ASIC、FPGA)来构建整体,同时允许有效使用任何实现技术。
RISC-V设计包括一个小型基本整数ISA(适合定制加速器或教育用途)和多个可选标准扩展ISA以支持通用软件开发。
它支持2008IEEE-754浮点标准,并提供一组丰富的用户级ISA扩展和特殊变体。
RISC-V支持32位和64位地址空间变体,旨在支持高度并行的多核和多核实现,包括异构多处理器。
可选的变长指令用于扩展指令编码空间并支持密集指令编码,以提高性能、静态代码大小和能源效率。
RISC-V还提供完全虚拟化的ISA,简化虚拟机管理程序的开发并支持新的虚拟机管理器级和管理员级ISA设计。
RISC-V的开发主要是为了满足研究和教学需求,特别是在真实硬件上实现研究想法的需求。
自发布以来,RISC-V已在11种不同的硅晶圆中用于课堂实际实施(伯克利的RISC-V处理器的RTL设计代码在许多本科生和研究生课程中使用)。
在本研究中,有限能耗下的特殊异构加速器特别令人感兴趣,这需要高度灵活和可扩展的基础ISA作为研究基础。
人们经常被问到为什么要开发新的ISA,RISC-V与使用现有的商业ISA相比具有多种优势。
成熟的商业ISA通常拥有丰富且得到广泛支持的软件生态系统,包括开发工具和移动应用程序,这些对研究和教学很有用。
然而,使用商业ISA在现实世界中带来的好处非常小,并且掩盖了它的缺点。
商业ISA通常是私有的,保护知识产权,并且不欢迎所有人的自由竞争。
这使得想要部署真实硬件的研究小组变得困难。
商业ISA在某些细分市场很受欢迎,但不能保证所有实施都符合第三方专利,并且实施ISA的人已可能不会被起诉。
企业ISA在一个细分市场很受欢迎,但不能保证其他细分市场也会受到支持,这使得支持特定企业ISA的好处大大降低。
商业ISA随着时间的推移而变化,可能导致以前建立的研究基础设施变得不受欢迎或停止。
虽然OpenISA可能不再流行,但任何感兴趣的人都可以继续使用它并开发相应的生态系统。
流行的商业ISA通常很复杂,并且基于长期设计,旨在支持流行的操作系统和软件,并具有非常复杂的硬件实现。
事实上,大部分复杂性来自于次优的ISA设计考虑,而不是真正提高效率的功能。
使用商业ISA不足以运行应用程序,即使努力部署商业ISA,运行现有应用程序也是不够的,因为大多数应用程序需要高级接口(ABI)才能运行,而不仅仅是用户级别。
ISA。
大多数ABI依赖于库,而库又依赖于操作系统支持。
为了运行现有的操作系​​统,需要实现管理员级ISA和操作系统所需的设备接口。
它们通常没有明确指定,并且比用户级ISA具有更高的实现复杂性。
流行的商业ISA通常并不是专门为可扩展性而设计的,并且随着指令集的不断增长,指令编码的复杂性也显着增加。
可扩展性的设计,例如Tensilica和ARC的工具链和ISA架构,主要针对嵌入式应用,而不是通用计算系统。
对企业ISA的修订实际上成为新的ISA,但受到基本ISA的任何剩余负担的影响。
RISC-V坚信ISA是计算机系统中最重要的接口之一,不应该被私有化。
基于指令集的占主导地位的商业ISA已经有30多年的历史,软件开发人员可以瞄准开放标准硬件。
目标机器,商业微处理器设计者应该在实现质量上进行竞争。
这并不是第一个适合硬件实现的开放式ISA设计示例,其他现有的开放式ISA设计也已被考虑,例如最接近目标的OpenRISC架构。
然而,由于某些技术原因,OpenRISCISA已被弃用。
RISC-V是从头开始设计的,旨在满足所有要求,尽管它需要比预期更多的努力。
目前,我们在RISC-VISA基础设施建设上投入了大量的精力,包括文档、编译工具链、操作系统移植、参考ISA仿真器、FPGA实现、高效ASIC实现、ant测试套件建筑、教材等自本文档的最新版本以来,RISC-VISA在学术界和工业界的使用显着增加,并且成立了非营利性RISC-V基金会来保护和推进这一高标准。
RISC-V基金会的网站是riscv.org,其中包含基金会成员以及使用RISC-V的各种开源项目的最新信息。
RISC-V手册分为两卷,其中一卷涵盖用户级ISA设计,包括可选的ISA扩展。
在用户级手册中,目标是删除有关特定微架构功能或特权架构管理的所有细节,以明确允许其他实现的灵活性。
RISC-VISA被定义为基本整数ISA,必须包含在每个实现中,并且可能包括基于基本ISA的其他扩展。
这种基本的整数ISA与早期的RISC处理器非常相似,只不过它没有分支延迟槽并支持可选的可变长度指令编码。
基本整数ISA的核心被仔细地限制为具有最少的指令,足以支持合理的目标机器,以便编译器、汇编器、链接器、操作系统(包括附加的管理员级操作)可以在其上运行,提供便利。
ISA及其周围的软件工具链使构建更多定制的处理器ISA成为可能。
每个基本整数指令集分别根据其整数寄存器宽度和用户地址空间大小进行分类。
有两种主要的基本整数变体:RV32I和RV64I,它们分别提供32位和64位用户级地址空间。
硬件和操作系统实现可以提供用户程序来使用RV32I或RV64I之一或两者。
在描述RV32E变体时,添加了RV32I基本指令集的子集以支持较小的微控制器。
未来RV128I基本整数指令集支持128位用户地址空间的描述。
虽然64位地址空间对于较大的系统是必要的,但相信对于未来几十年的许多嵌入式应用和客户端设备来说,32位地址空间将足以传输内存并降低能耗。
此外,32位地址空间足以满足教育需求。
最终,可能需要更大的128位地址空间,因此请务必将其包含在RISC-VISA框架中。
硬件实现只能实现基本整数ISA的一个子集,但操作码陷阱和软件模拟必须在更高的特权级别上实现,以实现硬件授予不提供的功能。
基本整数ISA的子集可能有助于教学目的。
但底层核心的定义是如此简单,以至于硬件实现实际上没有理由只实现它的一个子集,除了省略访问支持。
访问未分配的内存并将所有SYSTEM命令部署为陷阱。
RISC-V旨在支持丰富的定制和专业化。
基本整数ISA可以通过一个或多个可选指令集扩展来增强,但基本整数指令集不能被重新定义。
RISC-V指令集扩展分为标准扩展和非标准扩展。
标准扩展通常很有用,并且不会与其他标准扩展冲突。
非标准扩展是高度专业化的,可能与其他标准或非标准扩展发生冲突。
根据底层整数指令集的宽度,脚本扩展在功能上可能略有不同。
第10章描述了用于更新RISC-VISA的不同方法。
已经为基本指令和RISC-V指令集扩展开发了命名约定,并且为了支持更通用的软件开发,定义了一组标准扩展来提供乘法/除法、原子操作以及单精度和双精度。
-精度浮点运算。

基本整数ISA被命名为“I”(取决于整数寄存器的宽度),前缀为RV32或RV64),包含计算整数、加载整数、保存存储整数和控制流指令,并且在所有指令中都是必需的。
RISC-V实现。
标准整数乘法和除法扩展名为“M”,添加了对整数寄存器中保存的值进行乘法和除法的指令。
标准原子指令扩展名为“A”,添加了对内存进行原子读取、修改和写入操作的指​​令,以支持处理器间同步。
标准单精度浮点扩展,命名为“F”,增加了浮点寄存器、单精度计算指令和高精度加载和存储单确认指令。
标准双精度浮点扩展名为“D”,扩展了浮点寄存器并添加了双精度计算指令、加载和存储指令。
基本整数核心加上这四个标准扩展(“IMAFD”),缩写为“G”,提供了通用标量指令集。
RV32G和RV64G现在是编译器工具链的默认目标机器。
后续章节描述了这些以及其他计划对RISC-V标准的扩展。
除了基本整数ISA和标准扩展之外,新指令很少能为所有应用程序带来巨大好处,尽管它在某些领域可能非常有用。
由于能源性能要求更加具体,因此相信简化ISA规范的必要部分非常重要。
虽然其他架构通常将其ISA视为单个实体,但它们可以更改版本随着时间的推移,随着新的指导意见的出现。
然而,RISC-V试图随着时间的推移保持基本核心和任何标准扩展不变,而是提供新指令作为可选扩展。
例如,基本整数ISA将成为独立的ISA,无论后续扩展如何,都将继续受到支持。
随着用户ISA规范2.0版的发布,我们努力保持基本核心和标准扩展“RV32IMAFD”和“RV64IMAFD”(即“RV32G”和“RV32G”和“RV64IMAFD”RV64G)在未来的发展。
在指令长度编码方面,基本RISC-VISA具有32位固定长度的指令,并且必须在32位边界上对齐。
然而,标准RISC-V编码模式被设计为支持可变长度指令的扩展,其中每条指令的长度可以是16位指令包(parcel)长度的整数倍,并且这些命令parcel必须位于在16位边界上。
描述了标准压缩ISA的扩展,该扩展通过提供16位压缩指令来减小代码大小,并通过允许所有指令(16位和32位)与任意16位边界对齐来放宽对齐要求以增加代码密度。
基本ISA中所有32位指令的最低2位设置为11。
16位指令集扩展中的可选压缩指令,最低2位设置为00、01或10。
对于标准指令集扩展超过32位,低位多余位设置为1,48位和64位长度约定如图1.1.有关80至176位指令长度的信息被编码在3位字段[14:12]中,该字段指示16位字数,加上前5×16位。
编码约定需要更紧凑的RISC-VISA核心编码,这具有多种优点。
支持G标准的ISA实现只需将命令的前30位存储在命令缓冲区中(节省了6.25%)。
重新加载命令缓冲区时,任何最低两位为零的命令都必须在缓存之前重新编码为30位无效命令,以确保无效命令异常行为。
更重要的是,通过将基本ISA压缩为32位命令字的子集,可以为自定义扩展提供更多空间。
特别是,基本RV32IISA在32位命令字中使用的编码空间不到1/8。
不需要支持标准打包指令集扩展的实现可以将三个附加的30位指令空间映射到32位固定长度格式,同时保留对大于32位的扩展的支持。
此外,如果实现不需要支持超过32位的指令,它还可以恢复四个主要操作码区域。
将其视为一个属性,即任何长度的指令,如果其所有位都为零,都是无效指令,因此当跳转到充满零的包含内存区域时,这将很快捕获错误(因为这会快速陷入错误的跳转到零
热门资讯
运算器包含哪些运算
常见的逻辑门电路有哪些
缓存的作用(浏览器清缓存怎么清理)
逻辑门公式运算符号
cpu指令集设计
逻辑门电路符号有哪些
集成电路和半导体的区别
cpu处理器排行榜