来源:内容由半导体行业观察(icbank)编译自「techspot」,谢谢 。
CPU通常被称为计算机的大脑,就像人的大脑一样,它由几个部分组成,其中包括接收信息的部分,存储信息的部分,处理信息的部分,帮助输出信息的部分等等 。这些部分协同工作以处理信息 。
在今天的解文章中,我们将介绍构成CPU的关键元素以及它们如何共同为计算机提供动能 。
文章插图
CPU蓝图:ISA分析任何CPU时,您首先遇到的就是指令集体系结构(ISA) 。这是有关CPU如何运行以及所有内部系统如何交互的图形化蓝图 。就像同一物种中有许多品种的狗一样,可以在CPU上构建许多不同类型的ISA 。两种最常见的类型是x86(在台式机和笔记本电脑中找到)和ARM(在嵌入式和移动设备中找到) 。
还有其他一些像MIPS,RISC-V和PowerPC这样的小众应用程序 。ISA将指定CPU可以处理哪些指令,如何与内存和缓存交互,如何在多个处理阶段划分工作等等 。
为了覆盖CPU的主要部分,我们将遵循一条指令在执行时所采用的路径 。不同类型的指令可能遵循不同的路径,并使用CPU的不同部分,但在这里我们将进行概括以涵盖最大部分 。我们将从单核处理器的最基本设计开始,并随着我们朝着更现代的设计逐步增加复杂性 。
控制单元和数据路径CPU可以分为两部分:控制单元和数据路径 。想象一辆火车 。引擎是火车的动力来源,但指挥员却在幕后拉动操纵杆并控制引擎的各个方面 。CPU是相同的方式 。
数据路径就像引擎一样,顾名思义,是数据在处理过程中流动的路径 。数据路径接收输入,处理它们,并在完成后将它们发送到正确的位置 。控制单元告诉数据路径如何工作 。根据指令,数据路径会将信号路由到不同的组件,打开和关闭数据路径的不同部分,并监视CPU的状态 。
文章插图
指令周期-获取我们的CPU必须做的第一件事是弄清楚下一步要执行什么指令,然后将它们从内存转移到CPU中 。指令由编译器产生,并且特定于CPU的ISA 。ISA将共享最常见的指令类型,例如加载,存储,加法,减法等,但是每个特定ISA都有许多其他特殊类型的指令 。对于每种类型的指令,控制单元将知道需要将哪些信号路由到何处 。
例如,当您在windows上运行.exe时,该程序的代码将移入内存,并且告诉CPU第一条指令的起始地址 。CPU始终维护一个内部寄存器,该寄存器保存要执行的下一条指令的存储器位置 。这称为程序计数器(PC) 。
【关于CPU科普,这篇说得最详细】一旦知道从哪里开始,指令周期的第一步就是获取该指令 。这会将指令从存储器移到CPU的指令寄存器中,这称为提取阶段 。实际上,指令可能已经在CPU的高速缓存中,这个我们在后续再介绍 。
指令周期-解码当CPU有一条指令时,它需要专门弄清楚它是什么类型的指令 。这称为解码阶段 。每个指令将具有一组称为操作码的特定位,该“位”告诉CPU如何解释它 。这类似于如何使用不同的文件扩展名告诉计算机如何解释文件 。例如,.jpg和.png都是图像文件,但是它们以不同的方式组织数据,因此计算机需要知道类型才能正确解释它们 。
根据ISA的复杂程度,CPU的指令解码部分可能会变得复杂 。像RISC-V这样的ISA可能只有几十条指令,而x86有数千条指令 。在典型的Intel x86 CPU上,解码过程是最具挑战性的过程之一,并且占用大量空间 。CPU将解码的最常见的指令类型是存储器,算术或分支指令 。
3种主要指令类型存储指令可能类似于“将值从存储地址1234读入值A”或“将值B写入存储地址5678” 。算术指令可能类似于“将值A添加到值B并将结果存储到值C” 。分支指令可能类似于“如果C值为正,则执行此代码;如果C值为负,则执行彼代码” 。一个典型的程序可能将它们链接在一起,以产生类似“将结果为肯定的内存地址1234的值添加到内存地址5678的值,并将其存储在内存地址4321的结果,如果结果为负的则存储在地址8765的东西”。
在开始执行刚刚解码的指令之前,我们需要暂停片刻以讨论寄存器 。
CPU具有一些很小但非常快的存储器,称为寄存器 。在64位CPU上,每个将容纳64位,并且内核可能只有几十个 。这些用于存储当前正在使用的值,可以将其视为类似于L0缓存的值 。在上面的指令示例中,值A,B和C都将存储在寄存器中 。
推荐阅读
- 关于浴室风水四大死穴 卫浴设施不规则是大忌
- 关于喝茶的正确方法,不宜喝茶发烧时
- 20条关于心理学方面的冷知识
- 关于工龄,你了解多少?
- 关于劳动合同的这些事儿你了解吗?
- CPU处理器|安卓手机CPU现状:联发科崛起 8核成绝对主流
- 男女同房时最担心什么事
- 关于花草树木的古诗词 描写花草树木的古诗大全
- 关于梦的解释,真的人人该看看,说不定帮到你
- 笔记本h470主板 h470主板支持什么cpu