什么是ISA
指令集架构(Instruction Set Architecture, ISA) 首次出现在IBM的System/360中。作为软硬件之间的接口,ISA在编译器编写者和处理器设计者之间提供了一个抽象层,将编程所需要了解的硬件信息从硬件系统中抽象出来。这样软件开发者就可以面向ISA编程了,开发出来的软件不经过修改就可以在符合该ISA的计算机上运行了。
ISA定义了机器语言程序编写者需要知道的一切,这其中就包括指令集,指令集编码,基本数据类型,寄存器,寻址模式,存储体系,异常处理,中断,I/O模型等。
由于不同的处理器开发团队采用的技术,具体的实现也不尽相同,不同的处理器使用了不同的指令集合。
这样在处理器A上编写的程序就不能直接在处理器B上运行,需要重新编写,编译、汇编后才可以运行。显然这给程序设计,软件开发带来了极大的不便。
ISA的规定了什么
1.数据类型;
2.寄存器;
3.字节次序;
4.指令格式;
5.指令集;
6.寻址方式;
7.协处理器:表示处理器的一个可选部件,负责处理指令集的某个扩展, 拥有与处理器想相独立的寄存器;
8.异常处理方式
指令集架构分类
- RISC精简指令集。指令较短,但是如果要做复杂的事情就要多个指令来完成。如
ARM
架构。所有品牌的手机以及网络设备等都是用的是ARM
架构的CPU。 - CISC复杂指令集。指令数目多而且复杂,每条指令可以是变长的。每条指令执行时间较长,但是可以处理的工作更为丰富。代表性的CPU就是
AMD
和Intel的x86架构
的CPU。用于我们的个人电脑
总结
简单可按照下述理解:
32位: x86=i386=IA32
64位: amd64=x86_64=x64
ISA, x86,x86_64, AMD64, 指令集等名词解析 https://blog.csdn.net/chongbin007/article/details/128236616
x86/x64/x86_64/i386/ia32/ia64/amd/amd64 辨析 https://www.cnblogs.com/helica/p/6803131.html