1.什么是cpu
个人理解cpu就是一个公司里面的技术骨干,但是不参与管理工作的人员,在计算机中cpu主要是用来处理一条条机器指令的,并且cpu的运算速度特别快,所以说周围还有几个秘书,就是给他提供资料或者存储资料的(寄存器),一般一个程序运行的流程就是操作系统从程序对应的pcb中将指令取出,交给cpu进行处理,cpu处理完毕以后将结果写回对应的存储单元(寄存器或者内存)。
cpu的具体作用:
1.指令执行:CPU负责执行由操作系统和应用程序发出的指令。这些指令可以是算术运算、逻辑运算、数据传输等。
-
数据处理:CPU对数据进行处理,包括数学计算、比较、排序等操作。
-
寄存器管理:CPU内部包含多个寄存器,用于存储临时数据和指令,以便快速访问和处理。
-
算术逻辑单元(ALU):CPU中的ALU负责执行所有的算术运算(如加法、减法、乘法、除法)和逻辑运算(如AND、OR、NOT)。
-
缓存管理:现代CPU通常包含多个级别的缓存,用于存储频繁访问的数据和指令,以减少访问主内存的时间。
-
异常和中断处理:CPU能够识别和处理异常情况,如除以零、内存访问错误等。它也能响应外部设备发出的中断请求,如键盘输入或网络数据包到达。
2.什么是GPU
在我的理解里面,GPU和cpu很类似,都是主要用来进行运算的,但是主要的区别就是两个东西的运算方向不一样,cpu主要是进行数学中的判断,加减乘除等基础运算的效率较高,而GPU更擅长对图像渲染,深度学习,物理模拟等方向的运算,所以说基本上GPU也像是CPU的另一种发展方向,但是本质都是运算单元
GPU的定义:
1.GPU(图形处理器单元)是一种专门设计用于处理图形和图像相关计算的处理器。它最初是为图形渲染而设计的,但随着时间的推移,GPU的用途已经扩展到包括科学计算、深度学习、数据分析等多个领域。
- 与CPU的比较:
◦ 并行处理能力:GPU与CPU的主要区别在于它们的设计目的和架构。CPU通常具有较少的核心,但每个核心都很强,适合执行复杂的控制逻辑和顺序执行任务。而GPU则拥有数千个较小的核心,这些核心可以并行处理大量数据,适合执行大量并行计算任务。
◦ 运算方向:CPU确实更擅长执行数学中的判断、加减乘除等基础运算,尤其是在需要复杂逻辑和数据依赖的情况下。GPU则更擅长处理图像渲染、物理模拟、深度学习等需要大量并行计算的任务。
- GPU的运算特点:
◦ 单指令多数据(SIMD):GPU通常采用SIMD架构,这意味着它可以对多个数据点执行相同的指令,这在图形渲染和并行计算中非常有效。
◦ 高吞吐量:由于GPU的核心数量多,它可以在单个时钟周期内处理更多的数据,从而实现高吞吐量。
- GPU的应用:
◦ 图形渲染:GPU最初用于加速2D和3D图形的渲染,这是其最传统的应用领域。
◦ 通用计算:随着技术的发展,GPU也被用于通用计算(GPGPU),即利用GPU进行非图形相关的计算任务,如科学模拟、密码学、金融分析等。
◦ 深度学习:在深度学习领域,GPU因其并行处理能力而被广泛用于训练神经网络。
- GPU与CPU的协同工作:在现代计算机系统中,CPU和GPU通常协同工作。CPU负责处理操作系统、用户界面和复杂逻辑等任务,而GPU则处理图形渲染和并行计算任务。
3.核的概念和四种运算架构(sisd,simd,misd,mimd)
在刚刚的举例中,基本上说的都是单个核的CPU,核就是一个运算逻辑单元,在原始的CPU中一个CPU只有一个核,那就只能对于指令顺序进行顺序执行,没有办法进行指令并发运行,也就是sisd架构,单指流单数据流架构,也就是顺序的去执行一条指令和一条数据,如果一个CPU有多个核,那么就可以实现流水线的并发操作。simd就是单指令流多数据流架构,就是可以使用一条指令出理多部分的数据,misd就是多指令流单数据流,基本上用不到,mimd就是现在CPU的架构,同时处理多条指令和多条数据
1.SISD架构:SISD(单指令流单数据流)确实是指一个CPU核心在任何给定时间只能执行一个指令,并且处理一个数据。这是传统单核CPU的架构。
-
多核CPU:当一个CPU拥有多个核心时,它可以实现真正的并行处理。每个核心可以独立地执行不同的指令流,这就是MIMD(多指令流多数据流)架构。这样,多个程序或者程序的不同部分可以同时在不同的核心上执行。
-
流水线技术:流水线是CPU内部的一种技术,它允许在一个核心内部同时处理多条指令的不同阶段。这种技术提高了CPU的效率,因为它允许CPU在每个时钟周期内完成更多的工作。
-
SIMD架构:SIMD(单指令流多数据流)是一种并行处理技术,允许单个指令同时操作多个数据点。这种架构在图形处理、音频处理、视频编码等领域非常有用,可以大幅提高处理大量数据的效率。现代CPU通常包含SIMD指令集,如Intel的SSE和AVX。
-
MISD架构:MISD(多指令流单数据流)是一种理论上的架构,实际上并不存在。它意味着多个指令同时处理单个数据流,这在实际应用中没有意义,因为不同的指令可能需要不同的数据,而且结果也无法确定。
-
MIMD架构:MIMD(多指令流多数据流)是现代多核CPU的架构,它允许每个核心独立地执行不同的指令流,并且每个指令可以处理不同的数据。这种架构提供了高度的并行性和灵活性。