电脑中CPU是如何工作的?

如题所述

频是CPU乃至整个计算机系统的基准频率,单位是MHz( 兆赫兹)。在早期的电脑中, 内存与主板之间的同步运行的速度等于外频,在这种方式下, 可以理解为CPU外频直接与内存相连通, 实现两者间的同步运行状态。对于目前的计算机系统来说, 两者完全可以不相同,但是外频的意义仍然存在, 计算机系统中大多数的频率都是在外频的基础上, 乘以一定的倍数来实现,这个倍数可以是大于1的, 也可以是小于1的。 说到处理器外频,就要提到与之密切相关的两个概念:倍频与主频, 主频就是CPU的时钟频率;倍频即主频与外频之比的倍数。主频、 外频、倍频,其关系式:主频=外频×倍频。 在486之前,CPU的主频还处于一个较低的阶段, CPU的主频一般都等于外频。而在486出现以后, 由于CPU工作频率不断提高,而PC机的一些其他设备(如插卡、 硬盘等)却受到工艺的限制,不能承受更高的频率, 因此限制了CPU频率的进一步提高。因此出现了倍频技术, 该技术能够使CPU内部工作频率变为外部频率的倍数, 从而通过提升倍频而达到提升主频的目的。 倍频技术就是使外部设备可以工作在一个较低外频上, 而CPU主频是外频的倍数。 在Pentium时代,CPU的外频一般是60/66MHz, 从Pentium Ⅱ 350开始,CPU外频提高到100MHz, 目前CPU外频已经达到了200MHz。 由于正常情况下外频和内存总线频率相同, 所以当CPU外频提高后, 与内存之间的交换速度也相应得到了提高, 对提高电脑整体运行速度影响较大。 外频与前端总线(FSB)频率很容易被混为一谈。 前端总线的速度指的是CPU和北桥芯片间总线的速度, 更实质性的表示了CPU和外界数据传输的速度。 而外频的概念是建立在数字脉冲信号震荡速度基础之上的, 也就是说, 100MHz外频特指数字脉冲信号在每秒钟震荡一万万次, 它更多的影响了PCI及其他总线的频率。 之所以前端总线与外频这两个概念容易混淆, 主要的原因是在以前的很长一段时间里(主要是在Pentium 4出现之前和刚出现Pentium 4时),前端总线频率与外频是相同的, 因此往往直接称前端总线为外频,最终造成这样的误会。 随着计算机技术的发展,人们发现前端总线频率需要高于外频, 因此采用了QDR(Quad Date Rate)技术,或者其他类似的技术实现这个目的。 这些技术的原理类似于AGP的2X或者4X, 它们使得前端总线的频率成为外频的2倍、4倍甚至更高, 从此之后前端总线和外频的区别才开始被人们重视起来。 一个CPU默认的外频只有一个,主板必须能支持这个外频。 因此在选购主板和CPU时必须注意这点,如果两者不匹配, 系统就无法工作。此外,现在CPU的倍频很多已经被锁定, 所以超频时经常需要超外频。 外频改变后系统很多其他频率也会改变,除了CPU主频外, 前端总线频率、PCI等各种接口频率, 包括硬盘接口的频率都会改变,都可能造成系统无法正常运行。 当然有些主板可以提供锁定各种接口频率的功能, 对成功超频有很大帮助。超频有风险,甚至会损坏计算机硬件。 CPU工作原理 众所周知,CPU是电脑的“心脏”,是整个微机系统的核心, 因此,它也往往成了各种档次微机的代名词,如昔日的286、 386、486,奔腾、PⅡ、K6到今天的PⅢ、P4、K7、 K8等。回顾CPU的发展历史, CPU在制造技术上已经获得了极大的提高, 主要表现在集成的电子元件越来越多,从开始集成几千个晶体管, 到现在的几百万、几千万个晶体管,这么多晶体管, 它们是如何处理数据的呢? CPU的原始工作模式 在了解CPU工作原理之前, 我们先简单谈谈CPU是如何生产出来的。 CPU是在特别纯净的硅材料上制造的。 一个CPU芯片包含上百万个精巧的晶体管。 人们在一块指甲盖大小的硅片上, 用化学的方法蚀刻或光刻出晶体管。因此,从这个意义上说, CPU正是由晶体管组合而成的。简单而言, 晶体管就是微型电子开关,它们是构建CPU的基石, 你可以把一个晶体管当作一个电灯开关,它们有个操作位, 分别代表两种状态:ON(开)和OFF(关)。 这一开一关就相当于晶体管的连通与断开, 而这两种状态正好与二进制中的基础状态“0”和“1”对应! 这样,计算机就具备了处理信息的能力。 但你不要以为,只有简单的“0”和“1” 两种状态的晶体管的原理很简单, 其实它们的发展是经过科学家们多年的辛苦研究得来的。 在晶体管之前,计算机依靠速度缓慢、 低效率的真空电子管和机械开关来处理信息。后来, 科研人员把两个晶体管放置到一个硅晶体中, 这样便创作出第一个集成电路,再后来才有了微处理器。 看到这里,你一定想知道,晶体管是如何利用“0”和“1” 这两种电子信号来执行指令和处理数据的呢?其实, 所有电子设备都有自己的电路和开关,电子在电路中流动或断开, 完全由开关来控制,如果你将开关设置为OFF,电子将停止流动, 如果你再将其设置为ON,电子又会继续流动。 晶体管的这种ON与OFF的切换只由电子信号控制, 我们可以将晶体管称之为二进制设备。这样,晶体管的ON状态用 “1”来表示,而OFF状态则用“0”来表示, 就可以组成最简单的二进制数。众多晶体管产生的多个“1”与“ 0”的特殊次序和模式能代表不同的情况,将其定义为字母、数字、 颜色和图形。举个例子,十进位中的1在二进位模式时也是“1”, 2在二进位模式时是“10”,3是“11”,4是“100”, 5是 “101”,6是“110”等等,依此类推, 这就组成了计算机工作采用的二进制语言和数据。 成组的晶体管联合起来可以存储数值, 也可以进行逻辑运算和数字运算。加上石英时钟的控制, 晶体管组就像一部复杂的机器那样同步地执行它们的功能。 CPU的内部结构 现在我们已经大概知道CPU是负责些什么事情, 但是具体由哪些部件负责处理数据和执行程序呢? 1.算术逻辑单元ALU(Arithmetic Logic Unit) ALU是运算器的核心。它是以全加器为基础, 辅之以移位寄存器及相应控制逻辑组合而成的电路, 在控制信号的作用下可完成加、减、乘、 除四则运算和各种逻辑运算。就像刚才提到的, 这里就相当于工厂中的生产线,负责运算数据。 2.寄存器组 RS(Register Set或Registers) RS实质上是CPU中暂时存放数据的地方, 里面保存着那些等待处理的数据,或已经处理过的数据, CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器, 可以减少CPU访问内存的次数,从而提高了CPU的工作速度。 但因为受到芯片面积和集成度所限,寄存器组的容量不可能很大。 寄存器组可分为专用寄存器和通用寄存器。 专用寄存器的作用是固定的,分别寄存相应的数据。 而通用寄存器用途广泛并可由程序员规定其用途。 通用寄存器的数目因微处理器而异。 3.控制单元(Control Unit) 正如工厂的物流分配部门,控制单元是整个CPU的指挥控制中心, 由指令寄存器 IR(Instruction Register)、指令译码器ID(Instruction Decoder)和操作控制器0C(Operation Controller)三个部件组成, 对协调整个电脑有序工作极为重要。它根据用户预先编好的程序, 依次从存储器中取出各条指令,放在指令寄存器IR中, 通过指令译码(分析)确定应该进行什么操作, 然后通过操作控制器OC,按确定的时序, 向相应的部件发出微操作控制信号。 操作控制器OC中主要包括节拍脉冲发生器、控制矩阵、 时钟脉冲发生器、复位电路和启停电路等控制逻辑。 4.总线(Bus) 就像工厂中各部位之间的联系渠道,总线实际上是一组导线, 是各种公共信号线的集合, 用于作为电脑中所有各组成部分传输信息共同使用的“公路”。 直接和CPU相连的总线可称为局部总线。其中包括: 数据总线DB(Data Bus)、地址总线AB(Address Bus) 、控制总线CB(Control Bus)。其中,数据总线用来传输数据信息; 地址总线用于传送CPU发出的地址信息; 控制总线用来传送控制信号、时序信号和状态信息等。 CPU的工作流程 由晶体管组成的CPU是作为处理数据和执行程序的核心, 其英文全称是:Central Processing Unit,即中央处理器。首先, CPU的内部结构可以分为控制单元,逻辑运算单元和存储单元( 包括内部总线及缓冲器)三大部分。 CPU的工作原理就像一个工厂对产品的加工过程: 进入工厂的原料(程序指令),经过物资分配部门(控制单元) 的调度分配,被送往生产线(逻辑运算单元),生产出成品( 处理后的数据)后,再存储在仓库(存储单元)中, 最后等着拿到市场上去卖(交由应用程序使用)。在这个过程中, 我们注意到从控制单元开始,CPU就开始了正式的工作, 中间的过程是通过逻辑运算单元来进行运算处理, 交到存储单元代表工作的结束。 数据与指令在CPU中的运行 刚才已经为大家介绍了CPU的部件及基本原理情况,现在, 我们来看看数据是怎样在CPU中运行的。我们知道, 数据从输入设备流经内存,等待CPU的处理, 这些将要处理的信息是按字节存储的, 也就是以8位二进制数或8比特为1个单元存储, 这些信息可以是数据或指令。数据可以是二进制表示的字符、 数字或颜色等等。而指令告诉CPU对数据执行哪些操作, 比如完成加法、减法或移位运算。 我们假设在内存中的数据是最简单的原始数据。首先,指令指针( Instruction Pointer)会通知CPU, 将要执行的指令放置在内存中的存储位置。 因为内存中的每个存储单元都有编号(称为地址), 可以根据这些地址把数据取出,通过地址总线送到控制单元中, 指令译码器从指令寄存器IR中拿来指令, 翻译成CPU可以执行的形式, 然后决定完成该指令需要哪些必要的操作,它将告诉算术逻辑单元( ALU)什么时候计算,告诉指令读取器什么时候获取数值, 告诉指令译码器什么时候翻译指令等等。 假如数据被送往算术逻辑单元, 数据将会执行指令中规定的算术运算和其他各种运算。 当数据处理完毕后,将回到寄存器中, 通过不同的指令将数据继续运行或者通过DB总线送到数据缓存器中 。 基本上,CPU就是这样去执行读出数据、 处理数据和往内存写数据3项基本工作。但在通常情况下, 一条指令可以包含按明确顺序执行的许多操作, CPU的工作就是执行这些指令,完成一条指令后, CPU的控制单元又将告诉指令读取器从内存中读取下一条指令来执 行。这个过程不断快速地重复,快速地执行一条又一条指令, 产生你在显示器上所看到的结果。我们很容易想到, 在处理这么多指令和数据的同时, 由于数据转移时差和CPU处理时差,肯定会出现混乱处理的情况。 为了保证每个操作准时发生,CPU需要一个时钟, 时钟控制着CPU所执行的每一个动作。时钟就像一个节拍器, 它不停地发出脉冲,决定CPU的步调和处理时间, 这就是我们所熟悉的CPU的标称速度,也称为主频。 主频数值越高,表明CPU的工作速度越快。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-02
相似回答