微架构指令集架构与汇编语言的关系

yilang yilang     2023-04-30     792

关键词:

最近老是碰到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及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使用

技术图片

一些基本概念的思考与总结

...读资料中的一些名词不明就里,例如指令集、指令集架构、微架构、CPU架构、x86、Intel64、x64等。而这些名词多为工程概念或者是人们的口语表达,并无像数学概念一般的精确定义。为解决此类困惑,现将自己对这些... 查看详情

蜂鸟e203内核解析chap.1risc-v指令集架构与硬件结构(代码片段)

【蜂鸟E203内核解析】Chap.1RISC-V指令集架构与硬件结构1.指令集架构1.1RISC-V指令集架构1.2指令类型与编码2.硬件结构2.1基础寄存器2.2流水线技术2.3片内存储器2.4片内总线2.5总线接口后记前言:本文均为作者原创,内容均来自... 查看详情

常见微处理器体系架构

RISC复杂指令集计算机,ComplexInstructionSetComputer。计算机处理器包含有实现各种功能的指令或微指令,指令集越丰富,为微处理器编写程序就越容易,但是丰富的微指令集会影响其性能。复杂指令集计算机(CISC&... 查看详情

一文看透指令集微架构cpu

一、微处理器的指令集架构(InstructionSetArchitecture)分类复杂指令集运算(ComplexInstructionSetComputing,CISC);精简指令集运算(ReducedInstructionSetComputing,RISC);显式并行指令集运算(Explici... 查看详情

arm架构--cpu的微架构

网上确实有说ARM架构的,但是此架构泛指用ARM指令系统的CPU,而不是CPU的微架构。,硬件电路上,要用ARM指令集系统,必然硬件设计电路上要要遵循,ARM指令的特点和寻址方式,所以说高通和苹果的CPU是ARM架构是可以的。 ,... 查看详情

傻白入门芯片设计,指令集架构微架构处理器内核

...编程,开发出的软件不经过修改就可以应用在其他ISA架构的系统上。ISA用来描述编程时用到的抽象机器,而非这种机器的具体实现。从编程人员的角度来看,ISA包括一套指令集和一些寄存器,程序员知道它们就可... 查看详情

cpu开发与存算一体技术

...、易于设计,具有较高的执行能效比。在现行主流指令集架构中,x86架构是复杂指令集的代表,而ARM架构、MIPS架构和Alpha架构等是精简指令集的代表。CPU是支撑数字底座生态架构发展的基础,也是决定信创底层发展逻辑的关键所... 查看详情

risc与cisccpu构架

RISC精简指令集CISC复杂指令集CISC架构的代表:x86,C51RISC架构的代码:arm,mips,powerpc,avr,pic指令集的区别首先从字面上理解就能知道,CISC(ComplexInstructionSetComputer)架构的指令数肯定是远远多于RISC(ReducedInstructionSetComputer)架构的.另外,RISC架构... 查看详情

什么是指令集架构isa从处理器谈起

...目录前言一、处理器是什么?多核处理器二、指令集架构指令集和处理器的关系指令集的重要性指令集的分类三、指令集架构和操作系统总结前言当我们在买电脑时,总要关注一下电脑中使用的是哪一款CPU,也就是中... 查看详情

节:区分栈的指令集架构和寄存器的指令集架构

这一讲,我们来说一下JVM的架构模型。JVM的架构模型首先,大家要知道一点,就是Java编译器输入的指令流基本上是一种基于栈的指令集架构,而另外一种指令集架构则是基于寄存器的指令集架构。从这点也能看出,指令集的架... 查看详情

汇编语言-基础知识

汇编语言基础汇编语言不仅与cpu指令集架构有关系,也与微架构对指令集的具体实现有关系.汇编语言的产生机器指令难以辨别和记忆,于是产生了汇编语言。汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的... 查看详情

计算机体系结构.指令集架构

计算机体系结构.指令集架构微结构与ISA微结构(Microarchitecture)对应的是底层硬件如何实现指令执行的,那么指令集架构(InstructionSetArchitecture)对应的是程序员所看到的程序的模样。具体指令是如何被处理器... 查看详情

risc-v架构是哪个国家的?

...正式成立,有100多家会员单位,并且目前国内在使用RISC-V架构的IC设计公司已经超过300家了,大家认为这个架构能够实现中国芯的自主、可控、繁荣和创新。与大多数指令集相比,RISC-V指令集可以自由地用于任何目的,允许任何... 查看详情

节:区分栈的指令集架构和寄存器的指令集架构(代码片段)

这一讲,我们来说一下JVM的架构模型。JVM的架构模型首先,大家要知道一点,就是Java编译器输入的指令流基本上是一种基于栈的指令集架构,而另外一种指令集架构则是基于寄存器的指令集架构。从这点也能看出... 查看详情

intelcpu微架构的演进与发展(代码片段)

title:IntelCPU微架构的演进与发展date:2021-11-2122:10author:gatiemetags:-linux-architecture-intel-pipelinecategories:-技术积累thumbnail:blogexcerpt:IntelCPU微架构的演进与发展本作品采用知识共享署名-非商业性使用-相同方式共享4.0国际许可协议进行许可,... 查看详情

intelcpu微架构的演进与发展(代码片段)

title:IntelCPU微架构的演进与发展date:2021-11-2122:10author:gatiemetags:-linux-architecture-intel-pipelinecategories:-技术积累thumbnail:blogexcerpt:IntelCPU微架构的演进与发展本作品采用知识共享署名-非商业性使用-相同方式共享4.0国际许可协议进行许可,... 查看详情

intelcpu微架构的演进与发展(代码片段)

title:IntelCPU微架构的演进与发展date:2021-11-2122:10author:gatiemetags:-linux-architecture-intel-pipelinecategories:-技术积累thumbnail:blogexcerpt:IntelCPU微架构的演进与发展本作品采用知识共享署名-非商业性使用-相同方式共享4.0国际许可协议进行许可,... 查看详情

基于栈的指令集与基于寄存器的指令集(代码片段)

...ava编译器输出的指令流,基本上[1]是一种基于栈的指令集架构,它们依赖操作数栈进行工作与之相对的另外一套常用的指令集架构是基于寄存器的指令集举个最简单的例子,分别使用这两种指令集计算“1+1”的结果,基于栈... 查看详情