Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >四大主流芯片架构(X86、ARM、RISC-V和MIPS)

四大主流芯片架构(X86、ARM、RISC-V和MIPS)

作者头像
全栈程序员站长
发布于 2022-09-01 07:25:17
发布于 2022-09-01 07:25:17
10.1K0
举报

大家好,又见面了,我是你们的朋友全栈君。

文章目录

目前市场上主流的芯片架构有 X86、ARM、RISC-V和MIPS四种:

序号

架构

特点

代表性的厂商

运营机构

发明时间

1

X86

性能高,速度快,兼容性好

英特尔,AMD

英特尔

1978年

2

ARM

成本低,低功耗

苹果,谷歌,IBM,华为

英国ARM公司

1983年

3

RISC-V

模块化,极简,可拓展

三星,英伟达,西部数据

RISC-V基金会

2014年

4

MIPS

简洁,优化方便,高拓展性

龙芯

MIPS科技公司

1981年

1、X86架构

X86是微处理器执行的计算机语言指令集,指一个Intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。1978年6月8日,Intel 发布了新款16位微处理器 8086,也同时开创了一个新时代:X86架构诞生了。 X86指令集是美国Intel公司为其第一块16位CPU(i8086)专门开发的,美国IBM公司1981年推出的世界第一台PC机中的CPU–i8088(i8086简化版)使用的也是X86指令。

随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到今天的 Pentium 4系列,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以 Intel公司所生产的所有CPU仍然继续使用X86指令集。

2、ARM架构

ARM架构是一个32位 精简指令集处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。

如今,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。ARM处理器可以在很多消费性电子产品上看到,从可携式装置到电脑外设 甚至在导弹的弹载计算机等军用设施中都有它的存在。

ARM和X86架构最显著的差别是使用的指令集不同。

序号

架构

特点

1

ARM

主要是面向移动、低功耗领域,因此在设计上更偏重节能、能效方面

2

X86

主要面向家用、商用领域,在性能和兼容性方面做得更好

3、RISC-V架构

RISC-V 架构是基于 精简指令集计算(RISC)原理建立的开放 指令集架构(ISA),RISC-V是在指令集不断发展和成熟的基础上建立的全新指令。 RISC-V 指令集完全开源,设计简单,易于移植Unix系统,模块化设计,完整工具链,同时有大量的开源实现和流片案例,得到很多芯片公司的认可。

RISC-V 架构的起步相对较晚,但发展很快。它可以根据具体场景选择适合指令集的指令集架构。基于RISC-V 指令集架构可以设计服务器CPU,家用电器CPU,工控CPU和用在比指头小的传感器中的CPU。

4、MIPS架构

MIPS架构是一种采取 精简指令集(RISC)的处理器架构,1981年出现,由MIPS科技公司开发并授权,它是基于一种固定长度的定期编码指令集,并采用 导入/存储(Load/Store)数据模型。经改进,这种架构可支持高级语言的优化执行。其算术和逻辑运算采用三个操作数的形式,允许编译器优化复杂的表达式。

如今基于该架构的芯片广泛被使用在许多电子产品、网络设备、个人娱乐装置与商业装置上。最早的MIPS架构是32位,最新的版本已经变成64位。

没有所谓的“万能芯片架构”

每一种架构都有自己的优势和不足,天下并没有所谓的“万能芯片架构”。

序号

架构

特点

1

X86

英特尔和AMD的“专属”,在PC市场上独霸多年,地位不可撼动

2

ARM

在移动端和便捷设备上有着不可替代的优势

3

MIPS

在网关、机顶盒等市场上非常受欢迎

4

RISC-V

虽然出来不久,但在智能穿戴产品上的应用广泛,前景广阔

ARM架构X86架构是市场份额最大的两大架构,它们有着各自的特点和市场。 目前在移动领域上ARM架构占主流,X86架构也占有一定的市场份额。X86架构由于其封闭性,相对于ARM架构成本更高,但有着更高的性能、更快的速度和兼容性。英特尔近几年也在逐步的布局移动市场,如其推出的X86架构凌动系列处理器,在速度、视频体验、兼容性等方面表现优异。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/141969.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Go语言入门——interface
上面就是rect实现接口geometry的代码。不同于Java这些语言,有显式的关键字如implement表示实现某个接口。
JackieZheng
2019/07/02
4670
Go语言中的函数和方法
在Go语言中,函数使用 func 关键字定义。函数的定义包含函数名、参数列表、返回值类型和函数体。以下是一个简单的函数定义和调用示例:
数字扫地僧
2024/06/13
1240
Go程序例子(20):方法
用户11078756
2024/12/13
670
Go程序例子(20):方法
一文搞懂Golang中的接口
Go语言中的接口(interface)是一组方法签名的集合,是一种抽象类型。接口定义了方法,但没有实现,而是由具体的类型(struct)实现这些方法,因此接口是一种实现多态的机制。
周小末天天开心
2023/10/16
1.8K0
Go程序例子(21):接口
用户11078756
2024/12/14
860
Go程序例子(21):接口
go语言第六章(结构体与方法)
在 Go 语言中,结构体(struct)是一种自定义的数据类型,由一组具有不同类型的字段组成。而方法(method)则是一类特殊的函数,它与某个类型绑定,并可以访问和修改该类型的字段和属性。
GeekLiHua
2025/01/21
730
go语言第六章(结构体与方法)
Go 语言简介(上)— 语法
Hello World package main //声明本文件的package名 import "fmt" //import语言的fmt库——用于输出 func main() { fmt.Println("hello world") } 运行 你可以有两种运行方式, $go run hello.go hello world $go build hello.go $ls hello hello.go $./hello hello world 自己的package 你可以使用GOPATH环境变
李海彬
2018/03/22
1.2K0
GO 语言简介 — 语法
下面的文章主要是以代码和注释为主。只需要你对C语言,Unix,Python有一点基础,我相信你会在30分钟左右读完并对Go语言有一些初步了解的。
禹都一只猫olei
2018/08/02
1.4K0
golang学习笔记之二 - 面向对象基础
假如要计算面积,一般思路如下方法一所示:但是areaRectangle()不是作为Rectangle的方法实现的(类似面向对象里面的方法),而是将Rectangle的对象(如r1,r2)作为参数传入函数计算面积的,那么如果增加一个图形,想计算面积就只能增加新的函数,函数名也必须要跟着更换,变成area_rectangle, area_circle, area_triangle...。用面向对象的思想来说,面积应该是对象的一个方法Rectangle.area(),而非外围函数。
躺平程序员老修
2023/09/05
1530
Go语言中的接口详解
在Go语言中,接口是一组方法的集合。接口定义了一些方法签名,但不包含具体的实现。任何实现了这些方法的类型都被认为实现了该接口。
数字扫地僧
2024/06/17
1290
go的非侵入式接口
什么是接口 接口就是一组方法的集合。比如下面这个例子,几何图形接口就包含了面积与周长两个方法,对于任何实现了这两个方法的type,都属于几何图形。 type Geometry interface { Area() float64 Perim() float64 } type Rect struct { Width, Height float64 } type Circle struct { Radius float64 } func (r Rect) Area() float64 {
李海彬
2018/03/26
1.4K0
100天精通Golang(基础入门篇)——第19天:深入剖析Go语言中方法(Method)的妙用与实践
掌握Go语言的方法(Method)🛠️不仅能让你的代码更加有序✅,也能实现更多功能🚀和更高的可维护性🔧。本篇博客是我们"100天精通Golang"系列📚的第19篇,将深入解释Go中方法的语法📖、用法🤔、作用范围🌐以及与函数的区别🔄等。
猫头虎
2024/04/09
1370
100天精通Golang(基础入门篇)——第19天:深入剖析Go语言中方法(Method)的妙用与实践
《effective Go》读后记录:GO基础
一个在线的Go编译器 如果还没来得及安装Go环境,想体验一下Go语言,可以在Go在线编译器 上运行Go程序。 格式化 让所有人都遵循一样的编码风格是一种理想,现在Go语言通过gofmt程序,让机器来处理大部分的格式化问题。gofmt程序是go标准库提供的一段程序,可以尝试运行它,它会按照标准风格缩进,对齐,保留注释,它默认使用制表符进行缩进。Go标准库的所有代码都经过gofmt程序格式化的。 注释 Go注释支持C风格的块注释/* */和C++风格的行注释//。块注释主要用作包的注释。Go官方提倡每个包都应包
Tencent JCoder
2018/07/02
7260
go 接口 结构体实现的运用案例
贵哥的编程之路
2024/03/20
1060
go 接口 结构体实现的运用案例
2011年10月4日 Go生态洞察:从浏览器学习Go的新纪元
🔍 搜索:Go编程语言, 在线学习, 浏览器中的Go, Go Playground
猫头虎
2024/04/09
1050
2011年10月4日 Go生态洞察:从浏览器学习Go的新纪元
《快学 Go 语言》第 14 课 —— 魔术变性指针
本节我们要学习一些 Go 语言的魔法功能,通过内置的 unsafe 包提供的功能,直接操纵指定内存地址的内存。有了 unsafe 包,我们就可以洞悉 Go 语言内置数据结构的内部细节。
老钱
2018/12/28
4980
《快学 Go 语言》第 14 课 —— 魔术变性指针
学习go语言编程之面向对象
在Golang中,可以给任意类型(包括内置类型,但不包括指针类型)添加相应的方法。
编程随笔
2023/10/15
1670
谈谈Go中接口
在这里,引出接口的概念。接口有两种类型。接口的静态类型是接口本身,例如上述程序中的Shape。接口没有静态值,而是指向动态值。
公众号guangcity
2021/07/09
3730
golang 函数定义及其接口实例
/有返回值 且返回一个 func max(a int, b int) int { if a > b { return a } return b } //有返回值 且返回二个 func multi_ret(key string) (int, bool) { m := map[string]int{"ont": 1, "two": 2, "three": 3} var err bool var val int val, err = m[k
李海彬
2018/03/23
6670
方法和接口的概念
Golang是一种并发编程语言,它提供了丰富的工具和库来帮助开发人员更好地编写高效、安全、可维护的代码。其中方法和接口是Golang中非常重要的两个概念,本文将详细介绍这两个概念及其在Golang编程中的应用。
用户1413827
2023/11/28
2060
相关推荐
Go语言入门——interface
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档