CPU内部组成结构及指令执行过程
计算机的基本硬件系统由运算器、控制器、存储器和输入、输出设备五大部件组成。运算器和控制器等部件被集成在一起统称为中央处理单元(Central Processing Unit,CPU)。
CPU的功能
(1)程序控制
CPU通过执行指令来控制程序的执行顺序,这是CPU的重要职能。
(2)操作控制
一条指令功能的实现需要若干个操作信号来完成,CPU产生每条指令的操作信号并将操作信号送往不同的部件,控制相应的部件按指令的功能要求进行操作。
(3)时间控制
CPU对各种操作进行时间上的控制,这就是时间控制。CPU对每条指令的整个执行过程要进行严格控制,即指令执行过程中操作信号的出现时间、持续时间及出现的时间顺序都需要进行严格控制。
(4)数据处理
CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果被人们所利用。所以,对数据的加工处理也是CPU最根本的任务。
CPU的组成
CPU主要有运算器、控制器、寄存器组合内部总线等部件组成。
运算器
运算器由算术逻辑单元(Arithmetic and Logic Unit,ALU),累加寄存器(AC),数据缓冲寄存器(DR),和状态条件寄存器组成,它是数据加工处理部件,完成计算机的各种算术和逻辑运算。相对于控制器而言,运算器接受控制器的命令而进行动作,即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的,所以它是执行部件。
算术逻辑单元(ALU)
ALU是运算器的重要组成部件,负责处理数据,实现对数据的算术运算和逻辑运算。
累计寄存器(AC)
AC通常简称为累计器,它是一个通用寄存器,其功能是当运算器的算术逻辑单元执行算术或逻辑运算时,为ALU提供一个工作区。最后的运算结果放到AC中,因此运算器中至少有一个累加寄存器。
数据缓冲寄存器(DR)
在对内部存储器进行读写操作时,用DR暂时存放由内存储器读写的一条指令或一个数据字,将不同时间段内读写的数据隔离开来。DR作为CPU和内存、外部设备之间的数据传送中转站;作为CPU和内存、外围设备之间在操作速度上的缓冲;在单累加器结构的运算器中,DR还可以件作为操作数寄存器。
状态条件寄存器(PSW)
PSW保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,主要分为状态标志和控制标志。这些标志通常由一位触发器保存,保存了当前指令执行完成之后的状态。通常一个算术操作产生一个运算结果,一个逻辑操作产生一个判决。
控制器
运算器只能完成运算,而控制器用于控制整个CPU的工作,他决定了计算机运行过程的自动化。它不仅要保证程序的正确执行,而且要能够处理异常事件。控制器一般包括指令控制逻辑、时序控制逻辑、总线控制逻辑和中断控制逻辑等几个部分。
时序控制逻辑要为每条指令按时间顺序提供应有的控制信号。总线逻辑是为多个功能部件服务的信息通路控制电路。中断控制逻辑用于控制各种中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU处理。
指令控制逻辑要完成取指令、分析指令和执行指令的操作,其过程分为取指令、指令译码、按指令操作码执行、形成下一条指令等步骤。
指令寄存器(IR)
当CPU执行一条指令时,先把它从内存储器取到缓冲寄存器中,在送入IR暂存,指令译码器根据IR的内容产生各种微操作指令,控制其他的组成部件工作,完成所需的功能。
程序计数器(PC)
PC具有寄存信息和计数两种功能,又称为指令计数器。程序的执行分为两种情况,一是顺序执行,而是转移执行。当程序开始执行前,将程序的起始地址送入PC,该地址在程序加载到内容是确定,因此PC的内容即是程序第一条指令的地址。执行指令时CPU自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。
地址寄存器(AR)
AR保存当前CPU所访问的内存单元的地址。由于内存和CPU存在着操作速度上的差异,所以需要使用AR保持地址信息,知道内存的读写操作完成为止。
指令译码器(ID)
指令分为操作码和地址码两部分,为了能执行任何给定的指令,必须对操作码进行分析,以便识别所完成的操作。ID就是对指令中的操作码字段进行分析解释,识别该指令规定的操作,向操作控制器发出具体的控制信号,控制各部件工作,完成所需的功能。
寄存器组
寄存器组可分为专用寄存器和通用寄存器。运算器和控制器中的寄存器是专用寄存器,起作用是固定的。通用寄存器用途广泛并可由程序员规定其用途,其数目因处理器不同有所差异。
指令执行过程
MOV指令
取指阶段:
程序计数器PC装入第一条指令的地址101,PC的内容被放到指令地址总线上,对指令进行译码并启动读命令。从101号地址读出MOV指令,通过指令总线IBus装入指令寄存器IR,程序计数器PC内容加1,变成102,为下一条指令做好准备。指令寄存器IR中的操作码被译码,CPU识别出是MOV指令,至此取指阶段完成。
执行阶段:
操作控制器OC送出控制信号到通用寄存器,选择R1(10)为源寄存器,RO(00)为目标寄存器。OC送出控制信号到ALU,指定ALU做传送操作,打开ALU输出三态门,将ALU输出(10)送的数据总线DBus上,任何时刻DBus上只能有一个数据。将DBus上的数据打入数据缓冲寄存器DR,将DR中的数据打入目标寄存器RO,RO的内容由00变为10至此MOV指令执行完毕。
LAD指令
取指阶段:
LAD指令的取指阶段和MOV指令完全相同。
执行阶段:
OC发出控制命令,打开IR输出三态门,将指令中的直接地址码6放到数据总线DBus上,装入地址寄存器AR,将数存6号单元中的数100读出到DBus上,装入缓冲寄存器DR。将DR中的数100装入通用寄存器R1,原来R1中的值10被覆盖,至此LAD指令执行完毕。
ADD指令
取指阶段:
ADD指令的取指阶段和其他指令相同。
执行阶段:
操作控制器OC送出控制信号到通用寄存器,选择R1(100)为源寄存器,R2(20)为目标寄存器。ALU做R1和R2的加法运算,打开ALU输出三态门,将运算结果120放到数据总线DBus上,然后打入缓冲寄存器DR。ALU产生的进位信号保存在状态字寄存器PSW中,将DR中数值120装入R2中,R2原来的数20被覆盖。到此ADD指令执行结束。
STO指令
取指阶段:
STO指令的取指阶段和其他指令相同。
执行阶段:
操作控制器OC送出控制信号到通用寄存器,选择R3(30)作为数据存储器的地址。打开通用寄存器输出三态门,将地址30放到DBus上并装入地址寄存器AR,并进行地址译码。操作控制器OC送出控制信号到通用寄存器,选择R2(120)作为数存的写入数据放到DBus上。将数值120写入数存30单元,原先的数据40被冲掉。至此STO指令执行结束。
JMP指令
取指阶段:
JMP指令的取指周期和其他指令相同。
执行阶段:
OC发出控制命令,打开IR输出三态门,将IR中的地址码101发送到DBus上,将DBus上的地址码101打入到程序计数器PC中,PC中原先的地址106被更换。于是下一条指令不是从106单元取出,而是转移到101单元取出。至此JMP指令执行周期结束。
以上内容是对于CPU功能、组成以及执行指令的一些总结和整理,有不足之处,希望大家批评指正。
CPU内部组成结构及指令执行过程相关推荐
- CPU结构与指令执行过程简介
CPU(Central Processing Unit)是计算机中进行算术和逻辑计算处理指令的主要部件. CPU结构 CPU由通用寄存器组,运算器,控制器和数据通路等部件组成. 寄存器包括 数据寄存器 ...
- 6 计算机组成原理第五章 中央处理器 CPU功能和结构 指令执行过程
文章目录 1 CPU功能和基本结构 1.1 CPU的功能 1.2 运算器的基本结构 1.3 控制器的基本结构 1.4 CPU基本结构 1.5 CPU的功能和基本结构小结 2 指令周期和数据流 2.1 ...
- CPU乱序执行基础 —— Tomasulo算法及执行过程
Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...
- 1.2.4 计算机的工作过程(从源程序到可执行文件、指令执行过程的描述)
文章目录 1.计算机工作过程分为三步骤 2.从源程序到可执行文件 (1)预处理阶段 (2)编译阶段 (3)汇编阶段 (4)链接阶段 3.指令执行过程的描述 举个例子 (1)取指令:PC->MAR ...
- 中央处理器(CPU)—— 指令执行过程
本文主要介绍以下几个方面的知识; 指令周期的概念:一条指令的执行分为不同的阶段 指令周期中的数据流:不同阶段要求依次访问的数据序列 指令执行方案:如何安排多条指令执行 1.指令周期的概念 (1)指令周 ...
- 通过分析一个C程序的汇编指令执行过程,理解计算机的工作。
郑德伦 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 首先创建一个C程序的文 ...
- (计算机组成原理)第五章中央处理器-第二节:指令执行过程(取指周期、间址周期、执行周期和中断周期)
文章目录 一:指令周期 二:指令周期流程 (1)取指周期 (2)间址周期 (3)执行周期 (4)中断周期 三:指令执行方案 (1)单指令周期 (2)多指令周期 (3)流水线方案 一:指令周期 指令周期 ...
- 【计算机组成原理】指令执行过程
机器周期和时钟周期 机器周期:又称CPU周期. 时钟周期:又称CPU时钟周期,是CPU操作的最基本单位. 指令周期 指令周期是CPU从主存中取出并执行一条指令的时间,不同指令的指令周期可能不同. 指定 ...
- 简述计算机基本工作原理以及指令执行步骤,计算机的指令执行过程分为四步请简述它们简述...
2020-03-15阅读(971) 1.打开origin软件;2.在Date1中右键,选择"Addnewcolumn",添加一个新的Y数据列表,将所需处理的数据输入到数据表中:3. ...
最新文章
- 为何协作机器人能够兴起?“协作机器人-激烈的市场谁能杀出重围”
- Window 7上架设SSRS 2005时遇到的几点小麻烦
- NFS Volume Provider(Part I) - 每天5分钟玩转 OpenStack(62
- php备份远程系统快照,ZFS snapshot高级篇之快照备份
- php 计算上个月,如何使用PHP计算上一个月的今天
- mySql 查询当天、本周、最近7天、本月、最近30天的语句
- jsonp 返回以前必须要再转一次json
- SPSS 17.0中文版常用功能与应用实例精讲
- Hilbert变换及谱分析
- 豆果美食批量发布菜谱软件
- 提交form表单之前处理数据
- 系统安装教程之硬盘分区格式化(MBR或GPT)
- RSA加解密的OAEP MGF1 填充解析
- FL Studio 21中文版支持主题随心换,FL Studio 21Mac版新增对苹果M2/1家族芯片原生支持。
- Python---元祖、循环
- 【图文教程】文件压缩和打包
- Verilog十大基本功8 (flipflop和latch以及register的区别)
- 利久贝分享:如何摆脱“穷人思维”?
- 目标检测之将bbox绘制到图片上
- 一架退役的波音747飞机被运抵科伦敦村庄酒店
热门文章
- Golang any类型
- elasticsearch启动报错解决方案
- AI会让我们的生活更美好吗?
- Swing 设置组合快捷键
- 【华为OD机试Python实现】HJ45 名字的漂亮度(中等)
- Jupyter 介绍、安装及使用
- Jupyter notebook打怪升级
- 走出“码农”,迈入高端的最佳捷径——执行力
- 江博士:我的局域网配置
- nb757l400安装说明书_NB NB757-L400(32-60英寸)电视挂架 电视架 电视机挂架 电视支架 旋转伸缩 乐视海信海尔TCL康佳三星夏普LG...