芯片设计 | 一文读懂,CPU、精简指令集、复杂指令集该如何理解

简介: 芯片设计 | 一文读懂,CPU、精简指令集、复杂指令集该如何理解

如今,芯片相关的话题广受关注,我们经常会听到芯片、CPU架构、ARM架构、芯片研发等相关内容。CPU、指令集、架构、微架构、芯片,这一组概念很容易混淆,经常把人绕进去。那么,到底应该如何理解?

CPU、指令集、精简指令集、复杂指令集

CPU,也叫中央处理器,是智能设备的大脑。常见的CPU有两种,X86、ARM。前者主要用在电脑里,后者主要用在手机、平板上。那么,这里的X86、Arm指的是什么呢?

CPU是负责运算的,但是它需要在什么时候运算,具体做哪些运算,得听系统指令。系统程序发出的各种指令,在被执行前,需要翻译成CPU能听懂的语言。这个翻译官,就是指令集(英文缩写ISA)。常见的指令集有两种,一种是复杂指令集(CISC),X86就属于复杂指令集;一种是精简指令集(RISC),家族成员有ARM、RISC-V、MIPS等。

这两类指令集到底有什么区别,各自有什么特点?这里我们以盖房子来举例。

我们把智能设备完成一次功能操作,比作盖房子。CPU相当于工匠,他负责盖房子,但是具体盖成什么样子,怎么盖,他不知道,得听项目经理的。项目经理相当于系统,他告诉工匠房子具体要怎么盖,传达的指令,相当于指令集。

项目经理要告诉工匠需要盖什么样的房子,他们怎么传达指令呢?为了提高沟通效率,他们相互之间通常会约定一些只有他们听得懂的“行话”,来组成“指令库”。

复杂指令集这边的项目经理,叫“小复”。他和工匠沟通的 “行话”,既包括具体每块砖砌在哪里,这样简单直接的指令;也包括 “砌一个围墙”、“搭一个柱子”这样复杂的指令,要求高。

而精简指令集这边的项目经理,叫“小简”。他就不一样了,他一步一步拆解开来,告诉工匠你这块砖要砌在这里,这块要砌在哪里,发布的都是一些很精简的指令。虽然步骤多,但工人只要按指令一步步来就行,比较简单。

这两个团队,都能把房子盖好。两种方式各有优缺点:

“小复”的建筑团队,处理速度快,能力更强,但是比较臃肿复杂。复杂指令集表现在CPU层面,优点是性能强大,缺点是能耗高,需要更多的电才能运行。电脑对芯片性能要求高,能耗其次,所以用复杂指令集设计的芯片(X86),适合电脑;

而 “小简”的团队,更精简,容易组织,缺点是处理能力差些,但这个可以通过调用更多的工匠来弥补。精简指令集,表现在CPU层面,虽然性能差点,但由于只需要一步一步去做就行,反而能耗低,特别省电。手机和平板电池容量有限,要求CPU必须省电,性能其次,所以精简指令集的芯片(ARM)更适合移动端。

为了避免争论,这里需要特别说明的是,经过长期发展,双方开始取长补短,属于精简指令集的Arm也可以拥有高性能,苹果M2就是例子;而复杂指令集,也在慢慢降功耗。

简单总结一下:指令集是硬件和软件之间的翻译官,把各种程序指令,翻译成硬件能够听懂的语言。常见的指令集包括:X86和ARM。电脑里的X86芯片,采用复杂指令集;手机里的ARM芯片,大部分采用精简指令集。

内容来自:https://www.sohu.com/a/573440375_121275824

目录
相关文章
|
1月前
|
存储 芯片 块存储
计算机组成原理(2)-----存储芯片与CPU的连接
计算机组成原理(2)-----存储芯片与CPU的连接
96 1
|
1月前
|
缓存 Linux Go
一次性构建出多CPU指令集的 Docker 镜像
本文介绍了使用 Docker Buildx 构建跨平台 Docker 镜像的流程。首先确保系统为 Ubuntu 22.04,安装 Docker 和相关依赖。然后配置 Docker Buildx,编写 Go 程序和 Dockerfile。接着,创建构建脚本 `build.sh` 自动化构建并推送镜像到 Docker Hub。运行此脚本将为不同平台(如 amd64, arm64)构建并推送镜像。最后,在 Docker Hub 可查看构建结果,并可在其他系统上测试镜像。
52 3
|
1月前
|
存储 Java 程序员
cpu与指令集
cpu与指令集
44 0
|
1月前
|
XML Java API
Android App开发之创建JNI接口获取CPU指令集讲解及实战(附源码 简单易懂)
Android App开发之创建JNI接口获取CPU指令集讲解及实战(附源码 简单易懂)
67 0
|
1月前
|
存储 编译器 数据处理
CPU架构和指令集
不同的CPU架构通常使用不同的指令集。每种CPU架构都有其自己的一组特定的机器指令,这些指令用于执行计算机程序。不同的CPU架构之间的指令集是不兼容的,这意味着编写的程序通常需要根据目标CPU的架构进行编译或汇编,以确保它们能够在该CPU上正确运行。 一些常见的CPU架构包括:
|
8月前
|
Docker Windows 容器
cpu不支持avx指令集怎么办
如果CPU不支持AVX指令集,可以考虑以下两种解决方案: 更新BIOS版本:在某些情况下,更新BIOS版本可能会支持AVX指令集。可以联系电脑厂商或者查阅相关教程进行BIOS更新。 更换支持AVX指令集的CPU:如果更新BIOS版本后仍不支持AVX指令集,那么可以考虑更换支持AVX指令集的CPU。可以根据自己的需求和预算选择适合的CPU。 另外,如果在tf1.6以后的官方的tf包都是用AVX编译的,而电脑的CPU不支持AVX指令集,那么可以考虑使用Docker来配置运行环境。但需要注意,Docker在Windows上配置稍显繁琐,并需要配置虚拟机等其他东西。 总的来说,如果不支持AVX指令
2002 0
|
存储 Java 程序员
cpu与指令集
cpu与指令集
107 1
|
弹性计算 Cloud Native Android开发
阿里云服务器ARM架构CPU处理器倚天Yitian 710芯片
阿里云服务器ARM架构CPU处理器倚天Yitian 710芯片,阿里云自研CPU处理器倚天Yitian 710,2.75 GHz主频,搭载倚天710处理器的云服务器ECS有计算型c8y、通用型g8y和内存型r8y,云服务器吧分享阿里云自研CPU处理器倚天Yitian 710性能测评:
324 0
|
弹性计算 Cloud Native Android开发
阿里云自研CPU处理器芯片倚天Yitian 710
阿里云自研CPU处理器倚天Yitian 710,2.75 GHz主频,搭载倚天710处理器的云服务器ECS有计算型c8y、通用型g8y和内存型r8y,云服务器吧分享阿里云自研CPU处理器倚天Yitian 710性能测评:
423 0
不同CPU指令的指令集密度
不同CPU指令的指令集密度
110 0
不同CPU指令的指令集密度