CPU组成结构

CPU组成结构


CPU总体构图

CPU中央处理器(Central Processing Unit)

CPU的结构框图:CPU内部由ALU(算术逻辑单元)CU(控制器)寄存器(PC、IR、PSW、DR、通用寄存器等)、中断系统组成,外部通过总线与控制总线、数据总线、地址总线进行相连,对数据和程序进行相关的操作。
在这里插入图片描述
CPU的功能:
(1)指令控制:按照顺序进行取指操作,由控制器CU完成取指和分析指令的操作。
(2)操作控制:能对指令进行译码、寄存、执行的有关操作。
(3)时间控制:对各种操作进行的时间实施定时。
(4)数据加工:能够进行算术运算和逻辑运算,该功能的实现由ALU寄存器(算术逻辑单元)完成。
(5)处理中断:能够响应输入输出设备发出的中断请求。


一、控制器,又叫控制单元(CU,Control Unit)

控制器的功能:
(1)从指令cache中取出一条指令,并指出下一条指令在指令cache中的位置。
(2)对指令进行译码或测试,并产生相应的操作控制信号,以便于启动规定的动作。例如:一次数据cache的读写操作,一个算术逻辑运算操作,一个输入输出操作。
(3)指挥并控制CPU,数据cache和输入输出设备之间数据流向的方向。

控制器内部的组成部分:

  1. 程序计数器(PC):用来存放下一条要执行的指令的地址。
  2. 指令寄存器(IR):用来存放当前正在执行的指令。
  3. 指令译码器(ID):对指令进行“翻译”,确定指令执行什么操作,以决定操作的性质和方法。
  4. 控制电路:根据指令译码器的分析,发出控制信号,完成该指令的所有操作。

详细分析CPU取指的流程:
指令的地址保存在程序计数器(PC)中,取指过程中,不需要使用ALU,要想把指令从内存单元中取出来,先要知道指令的地址,即需要从PC中取出指令地址。PC先把指令地址传输到MAR(存储器地址寄存器),通过MAR把信号送到地址总线,最后送到存储器。这时存储器已经得到系统将要执行的指令地址。
然后由控制单元CU向存储器发出读命令,读出的数据由存储器通过数据总线送到MDR,再由MDR送到==IR(指令寄存器)==中。这是程序计数器PC自动加一,从而确定了下一条指令的地址。

在这里插入图片描述

二、运算器,又叫算术逻辑单元(ALU,Arithmetic Logic Unit)

针对每一种算术运算,都必须有一个相对应的基本硬件配置,其核心部件是加法器和寄存器。
算术逻辑单元的功能:
(1)执行所有的算术运算。
(2)执行所有的逻辑运算,并进行逻辑测试。如零值测试或两个数的比较。

在这里插入图片描述

三、寄存器

寄存器是用来暂时保存运算和控制过程中的原始数据,中间结果,最终结果以及控制、状态信息的。CPU的寄存器被分为:用户可见寄存器、控制和状态寄存器

  1. 用户可见寄存器:
    (1)通用寄存器:存放原始数据和运算结果,可以作为某种寻址方式所需的专用寄存器。当算术逻辑单元ALU执行算数或逻辑运算时,通用寄存器为ALU提供一个工作区。现代计算机中,为了减少CPU访问存储器的次数,提高运算速度,往往设置大量的寄存器。通用寄存器一般由CPU直接访问,CPU对寄存器的访问速度远大于访问主存的速度。
    (2)数据寄存器:存放操作数、运算结果和运算的中间结果,以减少访问存储器的次数,或者存放从存储器读取的数据以及写入存储器的数据的寄存器。寄存了将要写入到计算机主存储器(例如:RAM)的数据,或由计算机主存储器读取后的数据。它就像缓冲器,持有从内存复制的数据,以准备给处理器使用。
    (3)地址寄存器:用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止 。
    (4)条件码寄存器:存放条件码(条件码:体现当前指令执行结果的各种状态信息,如有无进位(CF位)、有无溢出(OV位)、结果正负(SF位)、结果是否为零(ZF位)、奇偶标志位(P位)等),可作程序分支的依据。

  2. 控制和状态寄存器
    (1)控制寄存器:控制寄存器(CR0~CR3)用于控制和确定处理器的操作模式以及当前执行任务的特性。
    (2)状态寄存器:
    状态寄存器:存放条件码
    PSW寄存器:保存由算数指令和逻辑指令运算或测试结果建立的各种条形码;保存中断和系统工作状态等信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【剑指offer】面试题26: 树的子结构(Java)

输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 代码: package offer; class TreeNode { int val; TreeNode left null; TreeNode right null; Tr…

每一个科学家的内心都住着一位哲学家(节选)

来源:腾讯大学(ID: tencent_university)作者:张首晟(斯坦福大学)不少科学家的哲学造诣都很高。在哲学中,有着正负对立的世界观:有阴必有阳、有正必有负、有天使就会有魔鬼。这种哲学观念是如何在…

win10安装RabbitMQ

安装Erlang 去官网下载Erlang的最新版本:https://www.erlang.org/downloads 我这里下载的是OTP 21.0.1 Windows 64-bit Binary File。 下载下来点击一步步进行安装,我的安装位置是D:\Program Files\erl10.0.1 安装好之后, 添加环境变量ERLANG…

总结下载Spring Framework的jar包

总结下载Spring Framework的jar包 下载官网:Spring官网

ros2中gazebo安装的注意事项

Install From source(推荐安装Fortress版本,好像很方便) ROS Be sure youve installed ROS Humble (at least ROS-Base). More ROS dependencies will be installed below. Gazebo Install either Edifice, Fortress, or Garden.(没有har…

谷歌对2021年的六个预测:数据和云技术的革命即将到来

来源:AI前线作者:Debanjan Saha译者:平川策划:钰莹预测是充满挑战的,因为具体的预测取决于特定的时间框。但从云应用方面表现出的趋势来说,我们 2020 年看到的一些事情可能预示着 2021 年可能出现的变化。经…

Vue笔记:webpack项目vue启动流程

VUE启动流程 1. package.json 在执行npm run dev的时候,会在当前目录中寻找 package.json 文件, 有点类似 Maven 的 pom.xml 文件,包含项目的名称版本、项目依赖等相关信息。 { # 版本信息"name": "kitty-ui","version":…

IntelliJ IDEA汉化版jar包

IntelliJ IDEA汉化版jar包 链接:IntelliJIDEA汉化版jar包 提取码:ymdx

哈工大等实现人工肌肉重大突破登上 Science!多国科学家联合实现全新驱动机理...

来源:雷锋网2021 年,机器人已经「成精」了,公然吵架、组团热舞再也不是人类专属。然鹅在很多人心里,机器人还是僵硬、机械甚至冰冷的。即便如此,技术日新月异,柔性机器人快速发展,我们对机器人的…

WOJ 18 动态无向图

一开始我是不会写的,后来点开了题解: 无话可说……那就写吧……然而第一发跑成暴力分,后来加了一个优化:就是在询问里面提到过的边都不用再加了。 然后……然后就过了呀…… 其实还有面向数据的编程的骚操作……既然卡过了那也没什…

Snipaste-2.4-Beta-x64.zip下载

Snipaste-2.4-Beta-x64.zip下载 链接:Snipaste-2.4-Beta-x64.zip下载 提取码:s8lo

AI如何帮助我们理解意识——麻省理工最新大脑研究

来源:ScienceAI编辑:文龙麻省理工学院和麻省总医院的一组研究人员最近发表了一项将社会意识与单个神经元活动联系起来的研究。据悉,这是首次在单神经元级别下找到「心智理论」的证据。测量大量的神经元是神经学的基础。即使是普通的核磁共振成…

CodeForces - 1017D The Wu

题面在这里&#xff01; 比较显而易见的暴力&#xff0c;O(2^(2n) 2^n * 100) 就可以直接做了 #include<bits/stdc.h> #define ll long long using namespace std; const int N4105; #define pb push_backinline int getint(){int x0; char chgetchar();for(;!isdigit(c…

typora-setup-x64.exe下载

typora-setup-x64.exe下载 链接&#xff1a;typora-setup-x64.exe下载 提取码&#xff1a;wiu8

【剑指offer】面试题30:包含min函数的栈

定义栈的数据结构&#xff0c;请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中&#xff0c;调用min、push及pop的时间复杂度都是O(1)。 代码&#xff1a; package offer; import java.util.Stack; class MinInStack { Stack<Integer> stack new St…

计算机操作系统——处理机调度算法

计算机操作系统——处理机调度算法 一、处理机调度的层次和调度算法的目标 1.处理及调度的层次 高级调度&#xff1a;&#xff08;周期较长&#xff0c;大约几分钟一次&#xff09; 又称为长程调度或作业调度 调度对象&#xff1a;作业 功能&#xff1a;根据算法决定将外存中…

宇宙即计算~一种新科学:斯蒂芬·沃尔夫勒姆

编辑 &#xff1a;Gemini来源&#xff1a;人机与认知实验室斯蒂芬沃尔夫勒姆这个名字&#xff0c;在中文世界里可能远谈不上家喻户晓&#xff1b;但他的英文名Stephen Wolfram恐怕反而却要熟悉得多。他是Mathematica软件的发明者和首席设计师&#xff0c;被广泛地认为是当今科学…

2018acm-icpc宁夏邀请赛后记

由于要准备期末考试的缘故&#xff0c;时隔一个月之后我才想起来还有一场比赛没有总结。 大概是出去过的最远的地方了&#xff0c;宁夏理工学院离杭州有两千多千米。 不得不说感到了主办方满满的诚意&#xff0c;虽然是第一次办比赛&#xff0c;但是第一天组织的沙湖旅游&#…

【剑指offer】面试题31:栈的压入,弹出序列

输入两个整数序列&#xff0c;第一个序列表示栈的压入顺序&#xff0c;请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序&#xff0c;序列4,5,3,2,1是该压栈序列对应的一个弹出序列&#xff0c;但4,3,5,1,2就不可能…

maven安装与项目创建

maven安装与项目创建 Maven是一个软件项目管理和理解工具。基于项目对象模型的概念&#xff0c;Maven可以管理项目的根据一条中心信息构建、报告和记录。 文件 最新的文件可以在https://maven.apache.org/.找到 系统需求 JDK: 1.7或更高版本(这是为了执行Maven -它仍然允许…