中央处理器操作原理

CPU的主要运作原理,不论其外观,都是执行储存于被称为程序里的一系列指令。在此讨论的是遵循普遍的冯·诺伊曼结构(von Neumann architecture)设计的装置。程序以一系列数字储存在计算机存储器中。差不多所有的冯·诺伊曼CPU的运作原理可分为四个阶段:提取解码执行写回

第一阶段,提取,从程序存储器中检索指令(为数值或一系列数值)。由程序计数器指定程序存储器的位置,程序计数器保存供识别目前程序位置的数值。换言之,程序计数器记录了CPU在目前程序里的踪迹。提取指令之后,PC根据指令式长度增加存储器单元[iwordlength]。指令的提取常常必须从相对较慢的存储器查找,导致CPU等候指令的送入。这个问题主要被论及在现代处理器的高速缓存和管线化架构(见下)。

CPU根据从存储器提取到的指令来决定其执行行为。在解码阶段,指令被拆解为有意义的片断。根据CPU的指令集架构ISA)定义将数值解译为指令[isa]。一部分的指令数值为运算码,其指示要进行哪些运算。其它的数值通常供给指令必要的信息,诸如一个加法运算的运算目标。这样的运算目标也许提供一个常数值(即立即值),或是一个空间的定址值:暂存器存储器地址,以定址模式决定。在旧的设计中,CPU里的指令解码部分是无法改变的硬体装置。不过在众多抽象且复杂的CPU和ISA中,一个微程序时常用来帮助转换指令为各种形态的讯号。这些微程序在已成品的CPU中往往可以重写,方便变更解码指令。

在提取和解码阶段之后,接着进入执行阶段。该阶段中,连接到各种能够进行所需运算的CPU部件。例如,要求一个加法运算,算术逻辑单元将会连接到一组输入和一组输出。输入提供了要相加的数值,而且在输出将含有总和结果。ALU内含电路系统,以于输出端完成简单的普通运算和逻辑运算(比如加法和比特运算)。如果加法运算产生一个对该CPU处理而言过大的结果,在标志暂存器里,溢出标志可能会被设置(参见以下的数值精度探讨)。

最终阶段,写回,以一定格式将执行阶段的结果简单的写回。运算结果经常被写进CPU内部的暂存器,以供随后指令快速访问。在其它案例中,运算结果可能写进速度较慢,如容量较大且较便宜的主存。某些类型的指令会操作程序计数器,而不直接产生结果数据。这些一般称作“跳转”并在程序中带来循环行为、条件性执行(透过条件跳转)和函数[jumps]。许多指令也会改变标志暂存器的状态比特。这些标志可用来影响程序行为,缘由于它们时常显出各种运算结果。例如,以一个“比较”指令判断两个值的大小,根据比较结果在标志暂存器上设置一个数值。这个标志可借由随后的跳转指令来决定程序动向。

在执行指令并写回结果数据之后,程序计数器的值会递增,反复整个过程,下一个指令周期正常的提取下一个顺序指令。如果完成的是跳转指令,程序计数器将会修改成跳转到的指令地址,且程序继续正常执行。许多复杂的CPU可以一次提取多个指令、解码,并且同时执行。这个部分一般涉及“经典RISC管线”,那些实际上是在众多使用简单CPU的电子装置中快速普及(常称为微控制器[riscpipeline]

时间: 2024-11-05 15:54:12

中央处理器操作原理的相关文章

中央处理器

中央处理器是一块超大规模的集成电路,是一台计算机的运算核心和控制核心.它的功能主要是解释计算机指令以及处理计算机软件中的数据. 中央处理器主要包括运算器和高速缓冲存储器及实现它们之间联系的数据.控制及状态的总线.它与内部存储器和输入\输出设备合称为电子计算机三大核心部件. 物理结构:逻辑部件.寄存器.控制部件 主要功能:处理指令.执行操作.控制时间.处理数据 工作过程:提取---->解码---->执行---->写回 性能参数: 主频:主频也叫时钟频率,单位是兆赫或千兆赫,用来表示CPU的

VC中文件(夹)目录与路径操作原理与代码实现

***********************************************声明************************************************************************************* 原创作品,出自 "晓风残月xj" 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/xiaofengcanyuexj). 由于各种原因,可能存在诸多不足,欢迎斧正! ************

Fragment 操作原理

fragment 本质 fragment 本质上是 view 的容器和控制器,fragment 是 activity 的碎片. activity 是什么呢?activity 是四大组件之一,因为 LMK(Low Memery Killer)机制,4 大组件是 android 系统的组成部件,4 大组件就是我们提供给用户的功能的载体,4 大组件还是我们提供给用户的功能的入口.Activity Service BroadcastReceiver ContentProvider,Activity 是带

Android进阶——Fragment详解之操作原理(三)

引言 前一篇文章总结了Fragment 的基本概念和基本的用法,相信大家也能够掌握一些知识了,但是对于一些操作可能还是不知其所以然,说实话曾经很长一段时间为也是晕乎乎的,后来才慢慢重视去学习了解,才略知一二,遂分享之. 一.管理Fragement所涉及到的关键类 应用Fragment的过程中涉及到的关键类主要有:FragmentManager和.FragmentManagerImpl.FragmentTransaction和BackStackRecord等. 二.Fragment操作原理详述 1

Redis Scan迭代器遍历操作原理

Redis在2.8.0版本新增了众望所归的scan操作,从此再也不用担心敲入了keys*, 然后举起双手看着键盘等待漫长的系统卡死了··· 命令的官方介绍在这里, 中文版由huangz同学细心翻译了,作者Antirez的介绍在这里:Finally Redis collections are iterable (我又邪恶的想到了之前他那次机器down机的事故了···). 具体的使用参考上面的链接即可,这里大概介绍一下Scan操作的实现原理. Redis的SCAN操作由于其整体的数据设计,无法提供特

Redis Scan迭代器遍历操作原理(二)

续上一篇文章 Redis Scan迭代器遍历操作原理(一)–基础 ,这里着重讲一下dictScan函数的原理,其实也就是redis SCAN操作最有价值(也是最难懂的部分). 关于这个算法的源头,来自于githup这里:Add SCAN command #579,长篇的讨论,确实难懂····建议看看这帖子,antirez 跟pietern 关于这个奇怪算法的讨论··· 这个算法的作者是:Pieter Noordhuis,作者称其为:reverse binary iteration ,不知道我一对

计算机组成原理(5)——中央处理器

五.中央处理器 5.1 cpu的功能和基本结构 5.1.1 cpu器的功能 当用计算机解决某个问题时我们首先必须为它编写程序.程序是一个指令序列.这个序列明确告诉计算机应该执行什么操作,唉什么时间找到什么来操作的数据,一旦把程序装入内存储器,旧由计算机来自动完成去除指令和执行指令的任务. 专门用来完成此项工作的计算机不见成为中央处理器,通常简称CPU. CPU的基本部分由运算器.cache和控制器三大部分组成. 微指令: 原文地址:https://www.cnblogs.com/eret9616

【计算机组成原理】 中央处理器

CPU 的功能和基本结构 中央处理器(CPU)由运算器和控制器组成.控制器的功能是负责协调并控制计算机各部件执行程序的指令序列,包括取指指令.分析指令和执行指令:运算器的功能是对数据进行加工.CPU 的具体功能包括: 指令控制.完成取指令.分析指令和执行指令的操作,即程序的顺序控制. 操作控制.一条指令的功能往往有若干操作信号的组合来实现.CPU 管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作. 时间控制.对各种操作加以时间控制.时间

【知识强化】第五章 中央处理器 5.4 控制器的功能和工作原理

下面我们进入第五章的第四节,控制器的功能和工作原理. 那么首先,我们来看一下本章的一些内容.我们再对我们之前讲过的内容进行一些梳理,我们本章,第五章,中央处理器,也就是CPU,要学五节的内容.第一节我们讲了CPU的功能和基本结构,我们讲解了运算器的功能和结构,以及控制器的功能和结构.接下来我们讲解了指令的一个执行过程,我们讲解了指令周期的概念,以及一个数据流,几种数据流我花了大量的篇幅给大家做了 原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/115112