微架构、指令集架构与汇编语⾔的关系
最近⽼是碰到x86 IA32 MIPS什么的对应的汇编⼜是有好⼏种,感觉很迷。遂查资料理清这些个概念如下(⼤部分内容来⾃,如有错误谢指正!)
微架构、指令集架构和汇编语⾔这三者的关系⼤概是这样的,我们分别来介绍下
指令集
指令就是要计算机执⾏某种操作的命令。
从计算机组成的层次结构来说指令分为微指令(微程序级的指令,属硬件)、宏指令(若⼲机器指令组成的属软件)和机器指令(⼆者之间简称指令)。
我们这⾥只讨论机器指令,每⼀条机器指令指令可以完成⼀个独⽴的算术运算或逻辑运算操作(如加减移位等)。
⼀台计算机中所有机器指令的集合指令集。它存在于CPU内部,对CPU运算进⾏指导和优化。
从指令集来说,计算机分为我们熟悉的CISC(复杂指令集计算机)和RISC(精简指令集计算机)。这两种的设计理念和优缺点各不相同,这⾥不再展开。
微架构
将⼀种给定的指令集架构在处理器中执⾏的⽅法(指令集的实现)。
微架构,是处理器核⼼的实现⽅式,是将⼀种给定的指令集架构在处理器中执⾏的⽅法
通常认为只有具备独⽴的微架构研发能⼒的企业才算具备了CPU研发能⼒。
指令集架构(处理器架构)
是计算机体系结构中与程序设计有关的部分,包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部I/O。指令集架构为汇编语⾔的设计师和编译器所见。
⼏种常见的架构(详细内容和异同⽹上的介绍很多)
x86 的32位 -> IA32 CISC
英特尔32位架构(英语:Intel Architecture, 32-bit,缩写为IA-32),常被称为i386、或x86。
由英特尔公司于1985年推出的指令集架构。它是8086架构的延伸版本,可⽀持32位运算,⾸次应⽤在Intel 80386芯⽚中。
对许多编程语⾔来说,IA-32与i386是同义词。
x86 的64位 -> x86-64/x64/amd64 CISC
IA64 是Intel与hp共同开发的
x86架构和arm架构区别此架构与x86及x86-64并不相容,操作系统与软件需使⽤IA-64专⽤版本。
不多见
ARM架构(Advanced RISC Machine) RISC
主要应⽤于移动端和嵌⼊式,价格低,能耗低。
MIPS架构(Microprocessor without interlocked piped stages)RISC
龙芯
⽤于电⼦产品、⽹络设备、个⼈娱乐设备与商业设备
PowerPC架构(Performance Optimization With Enhanced RISC – Performance Computing) RISC
曾⽤于Xbox、Mac的处理器和服务器等
汇编语⾔
与指令集架构密切相关。上述的⼏种架构分别有⾃⼰对应的汇编语⾔,这⾥不再展开说。顺便提⼀汇编语⾔是机器语⾔的助记符,因此与指令集架构密切相关。
汇编风格
句汇编风格
x86 和 x86-64/x64amd64 有两种汇编风格(详情见下表)
Intel汇编 Microsoft Windows/Visual C++使⽤
AT&T汇编 GNU/Gas使⽤
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论