首页 >> 百科

cpu全称-(cpu全称英文)

2022-09-11 百科 482 作者:admin

每个人都是程序员,每个人都是与计算机打交道的程序员,每个人都是与计算机软件和硬件打交道的程序员,每个人都是 CPU 处理程序员,所以,无论你是玩硬件还是做软件,你的世界都离不开计算机的核心——CPU

什么是 CPU?CPU的全称是Unit。毫不夸张地说,它是你电脑中最硬核的组件。CPU 可以让你的电脑成为电脑的核心部件,但不能代表你的电脑。CPU与计算机的关系,就相当于大脑与人的关系。CPU 可以让你的电脑成为电脑的核心部件,但不能代表你的电脑。CPU与计算机的关系,就相当于大脑与人的关系。它是嵌入台式机、笔记本电脑或平板电脑主板中的小型计算机芯片。将数十亿个微晶体管 CPU 放在一个计算机芯片上。这些晶体管允许它执行存储在系统内存中的程序所需的计算,

CPU 实际做什么 CPU 内核从程序或应用程序中获取指令并执行计算。这个过程可以分为三个关键阶段:提取、解码和执行。CPU 从系统的 RAM 中取出指令,解码指令的实际内容,然后通过 CPU 执行指令的相关部分。

RAM:随机存取存储器(英文:,缩写:RAM),也叫主存,是直接与CPU内部存储器交换数据的。可随时读写(flush时除外),速度快,常作为操作系统或其他运行程序的临时数据存储介质

CPU的内部结构说了这么多CPU,那么CPU的内部结构是什么呢?它是什么做的?下图是一个通用程序的运行过程(下图以C语言为例),可以说了解一个程序的运行过程是掌握一个程序运行机制的基础和前提。

在此过程中,CPU 负责解释和操作最终翻译成机器语言的内容。

CPU主要由控制单元两部分组成:算术逻辑单元(ALU)

控制单元:从内存中获取指令并解码并执行算术逻辑单元(ALU):处理算术和逻辑运算 CPU 它是计算机的心脏和大脑,它和内存是由许多晶体管组成的电子元件。它接收数据输入、执行指令和处理信息。它与输入/输出 (I/O) 设备 CPU 通信以发送和接收来自 CPU 的数据。

从功能上看,CPU 的内部是通过来自四个部分的电信号连接起来的:寄存器、控制器、运算符和时钟。

寄存器是中央处理单元的一部分。它们可用于擦除指令、数据和地址。可以算是一种记忆。根据类型,CPU 内部将有 20 - 100 个寄存器。控制器负责将内存中的指令和数据读入寄存器,并根据指令的结果控制计算机计算器,并负责将内存中的数据时钟读入寄存器。时钟负责发送CPU时钟信号开始计时。接下来简单解释一下为什么内存CPU需要讲内存,因为内存是与CPU通信的桥梁。所有计算机程序都在内存中运行,也称为主存储器,用于存储CPU与硬盘等外部存储设备之间交换的运行数据和数据。只要计算机在运行,CPU需要运行的数据就会被传送到主存进行运行。运行完成后,CPU主存的运行也决定了电脑的稳定运行。

控制芯片与主存CPU之间的连接由可读写元件组成。每个字节(1) 字节 = 8 位)都有一个地址编号。请注意,它是一个字节,而不是一个位置。CPU 从主存读取地址和指令,或者根据地址写入数据。注意:当计算机关闭时,内存中的指令和数据也会被清除。

CPU是寄存器的集合

在CPU的四种结构中,我们程序员只需要了解寄存器,其他三种就不用太注意了。你为什么这么说?因为程序将寄存器描述为对象。

说到寄存器,我不得不说汇编语言。我在大学学习信息管理和信息系统,所以我没有上过汇编课程(即使有,我也不会努力 hhhh),作为一个铁杆程序员,它总是会有回报的。说起汇编语言,就不得不说高级语言。说到高级语言,我们不得不处理语言的概念。

我们与生俱来的计算机语言最明显的特点之一就是我们可以通过说话进行交流,但计算机无法理解你说的话。如果你想和他交流,就得按照电脑指令交流,这就涉及到语言问题。计算机是由二进制组成的。它只能看懂二进制,也就是机器语言,而普通人是看不懂机器语言的。这时,需要一种计算机可以识别和理解的语言。首先是汇编语言。但汇编语言晦涩难懂,因此出现了C、C、Java等高级语言。但汇编语言晦涩难懂,因此出现了C、C、Java等高级语言。

因此,计算机语言一般分为低级语言(机器语言、汇编语言)和高级语言。用高级语言编写的程序只有编译成机器语言才能运行,而汇编语言只能通过汇编转换成机器语言。

汇编语言

首先,我们看一下汇编语言的代码清单

mov eax, dword ptr[ebp-8]/* 从内存中复制值 eax */add eax, dword ptr[ebp-0Ch]/* 将 eax 添加到内存值 */mov dword ptr[ebp-4], eax /*将 eax 的值存储在内存中(上一步的结果) */ 用汇编语言( )编写程序的一部分。使用汇编语言助记符() 为了编写程序,每条原本是电信号的机器语言指令都会有一个对应的助记符,比如mov、add它们是数据存储(move)和()的简写。汇编语言使用助记符()来编写程序,每条原本是电信号的机器语言指令都会有对应的助记符,比如mov、add它们是数据存储(move)和()的简写。汇编语言与机器语言一一对应。这与高级语言非常不同。通常,将汇编语言编写的程序转换为机器语言的过程称为汇编;反之,将机器语言转换为汇编语言的过程称为反汇编。

汇编语言可帮助您了解计算机的功能。机器语言级程序由寄存器处理。上面代码中的程序eax和ebp都代表寄存器,是CPU内部寄存器的名称。可以说CPU是一系列寄存器的集合。内存中的存储用地址号表示,寄存器的类型用名称来区分。

不同类型的 CPU 内部寄存器的类型、数量和取值范围不同。但根据功能不同,寄存器可以分为以下几类

其中,程序计数器、累加寄存器、标志寄存器、指令寄存器和堆栈寄存器只有一个,通常还有多个其他寄存器。

程序计数器

程序计数器( )用于存储下一条指令所在单元的地址。

程序执行时,PC 的第一个值就是程序第一条指令的地址。在顺序执行程序时,控制器首先根据程序计数器指示的指令地址从内存中取出指令,然后分析执行指令PC值加1指向下一条要执行的指令。

下面我们通过一个例子来详细了解一下程序计数器的执行情况

这是一个加法运算。程序启动后,操作系统将程序从硬盘复制到内存中。示例中的程序是将 123 和 456 相加,并将结果输出到显示器。由于机器语言难以描述,这是翻译的结果。实际上,每条指令和数据都可能分布在不同的地址上,但是为了解释方便,构成指令的内存和数据都放在了内存地址上。

地址 0100 是程序运行的起始位置。操作系统将程序从硬盘复制到内存后,将程序计数器设置为起始位置0100,然后在执行完程序指令后,程序计数器的值会加1(或直接指向下一条指令的地址),然后,CPU从内存中读取命令并执行程序计数器的值,即程序计数器控制程序的流程。

条件分支和循环机制

我们都学过高级语言。高级语言中的条件控制流主要分为三种:顺序执行、条件分支、循环判断。顺序执行是按照地址内容的顺序执行指令。条件分支是根据条件执行任何地址的指令。循环是在同一地址重复执行一条指令。

顺序执行比较简单,每条指令的程序计数器的值为1。条件分支和循环分支将程序计数器的值指向任意地址,使程序可以返回该地址,重复执行同一条指令,或者跳转任何指示。以条件分支为例说明程序的执行过程(循环也很相似)

程序的启动过程与顺序流程相同。CPU从0100开始执行命令,在0100和序列执行时,当PC值序列1执行0102地址指令时,判断0106寄存器值大于0,跳转(jump)输出值到0104地址指令,然后结束程序,0103指令被跳过,和我们程序中与指令相关的if()判断一样,直接跳过该指令,不满足条件。所以PC不直接执行进程一是下一条指令的地址。

标志寄存器

使用条件和循环分支跳转(跳转指令)会根据当前指令判断是否跳转。上面我们提到了标志寄存器,标志寄存器会保存当前累加寄存器的计算结果是正负还是零(也负责溢出和奇偶校验)

溢出():指运算结果超过寄存器长度的奇偶校验(校验):指校验结果的值是偶数还是奇数。CPU在运算过程中,根据当前运算结果自动设置,标志寄存器的三个位置分别表示正、负、零三种状态。当标志寄存器的第一个字节位、第二个字节位和第三个字节位为1时,分别代表正、零和负。当标志寄存器的第一个字节位、第二个字节位和第三个字节位为1时,分别代表正、零和负。

CPU 假设存储在累加寄存器中的执行机制更有趣。后面存储在通用寄存器中的XXX和YYY的比较,执行比较,CPU的减法运算将是算术机制。无论减法运算的结果是正数、零数还是负数,都将存储在标志寄存器中。正结果表示 XXX 大于 YYY,结果为零表示 XXX 和 YYY 相等,负结果表示 XXX 小于 YYY。程序比较指令实际上是CPU内部的减法运算。

函数调用机制

接下来继续介绍函数调用机制即使是用高级语言编写的程序,函数调用处理也是通过将程序计数器的值设置为函数的内存地址来实现的。函数执行跳转指令后,必须返回。简单的指令跳转是没有意义的。下面是一个实现函数跳转的例子

图中,将变量a和b分别赋值给123和456,调用MyFun(a,b)方法,指令跳转。图中的地址是C语言编译成机器语言后运行时的地址,因为1行C语言编译后,程序通常会变成多行机器语言,所以图中的地址比较分散。执行完MyFun(a,b)程序返回指令后,执行MyFun(a,b)的下一条指令,CPU继续执行后面的指令。

调用和返回函数的两个重要指令是在程序计数器之前调用和设置函数的入口地址。调用指令将调用函数后要执行的指令的地址存储在称为堆栈的主存储器中。函数处理完毕后,通过函数出口执行指令。该指令的作用是将堆栈中存储的地址设置为程序计数器。MyFun 01544 的地址存储在堆栈中。MyFun 函数处理完后,0154 的地址会被存入程序计数器。调用过程如下

函数调用的处理会转化为一些高级语言条件或循环语句中的调用指令,函数结束后的处理

将要

关于我们

最火推荐

小编推荐

联系我们


Copyright 8S新商盟 Rights Reserved.
联系YY号:2949821684
邮箱:chenjing919994@sohu.com
备案号:浙ICP备2023016511号-1