简述CPU控制器的主要功能

必须要计算机组成原理课本上的一样,不然不给分

控制器用于控制着整个CPU的工作。

控制器是计算机的神经中枢,主要的功能是指挥全机各个部件自动、协调地工作。主要的部件有:指令寄存器、译码器、时序节拍发生器、操作控制部件和指令计数器。

由于I/O设备的速率较低而CPU和内存的速率却很高,故在控制器中必须设置一缓冲器。在输出时,用此缓冲器暂存由主机高速传来的数据,然后才以I/O设备所具有的速率将缓冲器中的数据传送给I/O设备。

在输入时,缓冲器则用于暂存从I/O设备送来的数据,待接收到一批数据后,再将缓冲器中的数据高速地传送给主机。

扩展资料:

CPU可以向控制器发送多种不同的命令,设备控制器应能接收并识别这些命令。为此,在控制器中应具有相应的控制寄存器,用来存放接收的命令和参数,并对所接收的命令进行译码。

例如,磁盘控制器可以接收CPU发来的Read、Write、Format等15条不同的命令,而且有些命令还带有参数;相应地,在磁盘控制器中有多个寄存器和命令译码器等。

就像内存中的每一个单元都有一个地址一样,系统中的每一个设备也都有一个地址,而设备控制器又必须能够识别它所控制的每个设备的地址。此外,为使CPU能向(或从)寄存器中写入(或读出)数据,这些寄存器都应具有唯一的地址。

参考资料来源:百度百科-中央处理器

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-26

中央处理器(CPU)是计算机的主要设备之一,是计算机的核心部件。它的功能主要是解释计算机指令和处理计算机软件中的数据。

CPU是计算机的核心部件,负责读取指令、解码指令和执行指令。CPU主要由控制器和计算器两部分组成,其中还包括缓存、数据和总线来实现它们之间的连接。

由于I/O设备的速度较低,CPU和内存的速度也较高,因此必须在控制器中设置缓冲区。输出时,缓冲区用于临时存储来自主机的高速数据,然后以i/o设备的速率将缓冲区中的数据传输到i/o设备。

输入时,缓冲区用于临时存储来自I/O设备的数据。在接收到一批数据后,缓冲区中的数据被高速传输到主机。

扩展资料:

CPU和GPU的比较:

1、GPU:GPU即图像处理器,相比于CPU而言,GPU的工作更为单一。在大多数的个人计算机中,GPU仅仅是用来绘制图像的。由于GPU会产生大量的热量,所以通常显卡上都会有独立的散热装置。

2、设计结构:CPU有强大的算术运算单 元,可以在很少的时钟周期内完成算术计算。同时,有很大的缓存可以保存很多数据在里面。此外,还有复杂的逻辑控制单元来降低延时。GPU是基于大的吞吐量设计,有很多的算术运算单元和很少的缓存。同时GPU支持大量的线程同时运行。

3、使用场景:CPU有大量的缓存和复杂的逻辑控制单元,因此它非常擅长逻辑控制、串行的运算。GPU因为有大量的算术运算单元,因此可以同时执行大量的计算工作,它所擅长的是大规模的并发计算。使用CPU来做复杂的逻辑控制,用GPU来做简单的算术运算,就能够提高程序的运行速度。

参考资料来源:百度百科-CPU

本回答被网友采纳
第2个回答  2013-07-20
CPU原理
CPU的主要功能是执行存放在主存储器中的程序即机器指令.CPU是由控制器和运算器.
本章概述
本章重点在于:CPU基本组成与指令流程.这涉及到建立整机概念的核心问题:CPU如何执行指令,计算机如何存储信息,如何控制输入/输出.
1.CPU的的基本组成
2.拟定指令流程
1,CPU的的基本组成
在理解CPU的组成时需要抓住以下几点:
(1)ALU部件,以及它的输入与输出方式.
(2)用于运算的一组寄存器R0-R3或暂存器C,D,Z
(3)用于控制的一组寄存器:指令寄存器IR,程序计数器PC,程序状态字寄存器PSW
(4)与访存相关的一组寄存器:存储器地址寄存器MAR,存储器数据状态字寄存器MDR,堆栈指针SP
(5)内部总路线的连接方式,如何向它发送信息,它又如何输出信息
(6)CPU如何通过系统总路线与主存,I/O设备连接
3.3.1节给出的是一种简化的CPU内部组成模型,它是拟定指令流程的基础,
2,拟定指令流程
指令流程体现了计算机工作原理中一个核心内容:CPU怎样执行程序指令 考核方式是给出一条特定的指令,以模型机CPU内部组成为背景,用指令语句描述其读取与执行流程.关键是要熟练掌握几种基本寻址方式的实现过程,分清谁是源地址,谁是目的地址,操作码是什么
例如:拟出指令MOV -(SP),X(R0)读取与执行流程.
学习内容:
3.1 算术逻辑运算部件ALU
3.2 运算方法
3.3 CPU模型的组成及其数据通路
3.4 时序控制方式
3.5 指令的执行与组合逻辑控制器
3.6 微程序控制器
学习目标:
理解全加器的逻辑式和结构,并行加法器及所采用的进位链,多功能算术逻辑运算部件SN74181的功能.
掌握初码定点加减运算,移位操作,理解浮点加减运算,十进制加法运算,掌握无符号整数一位乘法并了解其逻辑实现,掌握无符号整数一位除法,了解浮点乘除运算.
学习目标:
掌握模型机的基本组成,数据通路及数据传送,掌握微命令的基本形式.
理解控制器的功能,掌握指令流程及组合逻辑控制器的工作原理.
掌握微型程序控制的概念,了解微指令的编码方式和顺序控制方式,了解微指令的格式.
重点难点:
补码定点加减运算,无符号整数一位乘法和除法.(难点)
模型机的基本组成,数据通路及数据传送,微命令的基本形式.
指令流程及组合逻辑控制器的工作原理.(重点)
课时安排:
9课时.
媒体使用:
使用多媒体投影,主要采用PowerPoint准备的电子教案.
§ 3.1 算术逻辑运算部件ALU
ALU是一种功能较强的组合逻辑电路,有时被称为多功能函数发生器.
ALU的核心是加法器.
ALU主要完成对二进制代码的定点算术运算和逻辑运算.
§ 3.1.1 加法单元
全加器与半加器:
An An-1…Ai…A2 A1 A0
Bn Bn-1…Bi …B2 B1 B0
+ Cn Cn-1…Ci …C2 C1 C0
全加器为考虑三个输入的加法单元,半加器为考虑两个输入的加法单元.
全加和∑i+向高位的进位Ci
低位送进来的进位Ci
输入量
输出量
用半加器构成全加器
(1)半加求和可用异或门实现:
半加和=AiOBi (半加器的逻辑式)
半加器又称为异或门
(2)全加器=两个半加,其逻辑式:
∑i=AiOBiOCi
C i+1=AiBi+(AiOBi)Ci
因逻辑门电路均存在延迟时间,全加器电路是一个延迟部件,其特性将影响全加器的速度.
+
+
+
+
+
§ 3.1.2 并行加法器与进位链结构
并行加法器:是用n位全加器实现两个n位操作数各位同时相加,其中的全加器的位数与操作数的位数相同.
并行加法器的最长时间是由进位信号的传递时间决定的,而每位全加器本身的求和延迟是次要的因素.所以,加快进位的产生和传递是提高其速度的关键.
进位链:并行加器中传递进位信号的逻辑线路,称为~
1. 基本进位公式:
C i+1=AiBi+(AiOBi)Ci
2. 并行加法器的串行进位:
(1)串行进位的并行加法器是将n个全加器串接起来,就可进行两个n 个位数相加.
(2)串行进位方式:是指相加的进位逐级形成的,每一级的进位直接依赖于前一级的进位.称为~(行波进位)
+
Gi为进位产生函数
Pi为进位传递函数
(3)串行进位的延迟时间较长.
(4)串行进位的逻辑表达式:见教材P61.
3. 并行进位(先行进位,同时进位)
(1)定义:同时形成各级进位信号的方法,称为~.
(2)采用并行进位的加法器的运算速度较快,但是以增加硬件逻辑线路为代价的.
§ 3.1.3 ALU举例
1. SN74181外特性
2. SN74181内部结构
3. SN74181功能表
4. 用SN74181构成多位的ALU
§ 3.2 运算方法
§ 3.2.1 定点加减运算
1. 原码加减运算:
原码的加减法较复杂,很少使用,其原因:
(1)原码的加减运算,因计算机的实际操作取决于指令中的操作码和两个操作数的符号;
(2)运算结果的符号判断也较复杂.
2.补码加减运算:
(1)补码加法运算:
[X]补+[Y]补=[X+Y]补
两个相加的数无论正负,只要是以补码的形式表示的,则可按二进制规则相加.
(2)补码的减法运算:
[X-Y]补=[X+(-Y)]补=[X]补+[-Y]补
符号位作为数的一部分直接参与运算.
为[Y]补的机器负数
由[Y]补求[-Y]补(机器负数)的方法
定点小数:
[-Y]补= [Y]补+2-n
例: [Y]补 =0.01011
[-Y]补=1.10100+0.00001=1.10101
定点整数:
[-Y]补= [Y]补+1
例: [Y]补 =1001011
[-Y]补=0110100+1=0110101
(3) 补码的运算规则:
参加运算的操作数和运算结果均用补码表示;
符号位作为数的一部分直接参与运算;
若指令操作码为加,则两个数按二进制规则相加;
若指令操作码为减,则被减数+减数的机器负数.
机器负数的求法见上张幻灯片.
3. 溢出判别
溢出:指计算机的运算结果超出其所能表示的范围,而发生错误.
溢出的分类:
正溢出:运算结果为正且大于所能表示的最大正数.
负溢出:运算结果为负且大于所能表示的最小正数(绝对值最大的负数).
溢出判断的方法:
(1)采用一个符号位判断:
即:当两个同号数相加,若所得结果与两数符号不同,则表示溢出.
(2)采用最高有效位的进位判断:
即:两正数相加,最高有效位有进位,符号位无进位,表明运算结果溢出;
两负数相加,最高有效位无进位,符号位有进位,表明运算结果溢出;
以下各判断逻辑式见教材P66-67)
(3)采用变形补码
将符号位扩充为两位,称为变形码.
采用变形祉码表示的运算结果,可根据两个符号位是否一致来判断是否溢出.
双符号位的含义:
00——结果为正,无溢出;
01——结果为正溢出;
10——结果为负溢出;
11——结果为负,无溢出.
CPU内设的一个状态寄存器,其中的溢出位V是用来记录溢出是否发生.
§ 3.2.2 移 位
移位操作的分类:
按性质分:逻辑~,循环~,算术~
按被移位数据长度分:字节,半字节,多倍字节
按每次移位的位数分:移1位,移n位(n ≤被移位数据长度)
1. 逻辑移位:
定义:将一组无数值意义的二进制代码进行移位.
移位规则:左移时低位补0,右补移时高位补0.
2.循环移位:
定义:在闭合移位环路中,在被子移位数据的最高位与最低位之间有移位通路.
移位规则:
循环左移时最高位移到最低位,其余各位依次左移;
循环右移时最低位移到最高位,其余各位依次右移;
3. 算术移位:
定义:带符号数的移位,移位后数的符号不变而数值变化.
移位规则:
(1)原码移位规则
(2)补码右移规则 见教材P68页
(3)补码左移规则
§ 3.2.3 浮点加减运算
运算规则及硬件实现
(1)对阶操作.(重点是对阶的规则P65)
(2)实现尾数的加(减)运算
(3)结果规格化和判断溢出
左规
右规
(4)余入操作
§ 3.2.4 十进制加减运算
1. 进制转换
2. 直接进行十进制运算:
采用BCD码表示,运算由BCD码运算指令完成.
两种方法:见教材P71页.
3. BCD码的加法运算
"加六校正"
§ 3.2.5 定点乘除运算
乘除法运算是计算机的基本运算之一.因乘除法运算 需要更多的硬件支持,并不是所有的计算机都配置这种硬件,但是所有的计算机都能做乘除法运算.
实现乘除法运算大致有三种方案.
本节只讨论无符号整数一位乘法和除法.
实现乘除法运算大致有三种方案:
(1)采用软件实现乘除法运算.
即用原有的运算器设备,运用基本运算指令编制实现乘除法运算的子程序.这种方法适用于小型机,微型机.
(2)在原有运算器基础上增加一些硬件设备来实现乘,除法操作.
(3)设置专用的乘除法器.使设备处理设备专用化,目的是加快运算速度.一般适用于大,中型计算机.
1.无符号整数一位乘法
1101 被乘数B
×1011 乘数C
1101
1101
0000
+ 1101
10001111 乘积
1101
×1011
00001101 B共4次右移
0001101 B共3次右移
00000 B共2次右移
+ 01101 B共1次右移
10001111 乘积
实现无符号整数一位乘法
规则:将n位乘转换为n次"累加与移位",即每一步只求一位乘数所对应的新部分积,并与原部分积作一次累加,然后右移一位.
流程图:见教材P73页,图3-8
B—存放被乘数,C—存放乘数,
A—初值为0,存放部分积,最后存放乘积高位.
用A和C寄存器联合右移以存放逐次增加的部分积,并且使每次操作依据的乘数位始终在C的最低位.乘法完成时,A,C存放的是最后乘积,其中C的内容是乘积的低位部分.
硬件逻辑原理图:图3-9
例:P73,图3-8(无符号整数一位乘算法流程框图)
n位被除数—B
n位乘数—C,0—A
C0=1
结 束
开 始
A,C右移一位
A+0—A
A+B—A
C0=1
N
Y
N
Y
例3-11:1101×1011的运算过程:
B 1101 (被乘数)
Ca 0 A 0000 C 1011 (乘数)
0 0000
C0=1 +B 1101 1011
0 1101
0 0110 1101
C0=1 +B 1101
1 0011
0 1001 1110
C0=0 +0 0000
0 1001
0 0100 1111
C0=1 +B 1101
1 0001
0 1000 1111
初始状态
第一节拍
第二节拍
第三节拍
第四节拍
乘积
A\B\C三个寄存器
2.无符号整数一位除法
由手算法可知:决定商是"1"还是"0",根据部分被除数或余数减去除数是否够减.
计算机是实现除法运算,就是要解决如何判断够减与否的问题.方法如下:
用逻辑线路进行比较判别
恢复余数法——(改进)不恢复余数法或加减交替法.(见教材P75页)
恢复余数法:
将被除数或余数减去除数,若所得余数符号位为0(即正)表明够减,上商1;若余数符号位为1(即负)表明不够减,上商0加上除数(即恢复余数法)
即:先做减法,若余数为正,上商1;若余数为负,上商0,必须恢复原来的余数(加上除数).
不恢复余数法(加减交替法):
此法的特点是在运算过程中如出现不够减,则不必恢复余数,可根据符号,继续向下运算.这样运算时步数固定,控制简单.
规则:
当余数为正时,商为1,余数左移一位,减除数;
当余数为负时,商为0,余数左移一位,加除数
无符号整数不恢复余数除法流程图:
见教材P75页,图3-11
运算初始时,除数— B,被除数—A和C(其中A—高位,C—低位)
除法完成后商放在C寄存器中,余数放在A寄存器中.
A寄存的最高位作为运算中的符号位,用于指示余数的正负.
注意:例3-12中第一步
A-B=[A]原-[B]原=[A]初-[B]初= [A]初+[-B]初
B的机器负数:[-B]初=[B]初+1
B求反
作业第10页
00.1101
+
+
+
+
§ 3.2.6 浮点乘除运算
1. 浮点乘法运算
阶码相加并判断溢出
尾数相乘
规格化处理
2. 浮点除法运算
预置
尾数调整
求阶差
尾数相除
§ 3.3 CPU模型的组成及其数据通路
CPU的组成:
控制器:完成取指令,分析指令,执行指令的操作.
运算部件:实现指令所指定的各种算术逻辑运算操作.
各种寄存器:用于存放指令,指令地址,操作数及运算结果.
CPU内部数据通路:用以连接CPU内部各部件,为信息提供通路.
§ 3.3.1 基本组成
1. 寄存器:
存放控制信息的寄存器,如指令寄存器,程序计数器和程序状态字寄存器.
存放所处理的数据的寄存器,如通用寄存器和暂存器.
寄存器的种类:
(1)通用寄存器:
4个:R0,R1,R2,R3
一组可编程访问,具有多种功能的寄存器.
指令系统为其分配编号,即寄存器地址.
其本身在逻辑上只有接收信息,存储信息和发送信息的功能,但通过编程与运算部件的配合可实现多种功能.
(2)暂存器:
3个:C,D,Z
C用来暂存从主存储器读出的数据
D设置在ALU的输入端,用来存放一个操作数,还可暂存从主存储器读出的数据,并设有左移和右移的功能.
Z设置在ALU的输出端,用来存放运算结果.
指令系统中没有为其分配编号,故不能编址访问.
(3)指令寄存器IR:
指令寄存器IR——用来存放当前正在执行的一条指令.IR的输出是控制器产生控制信号的主要逻辑依据.
(4)程序计数器PC:
程序计数器又称为指令计数器或指令指针IP.
作用是提供指令的地址.
具有加1计数功能,并可编程访问.
(5)程序状态字寄存器PS:
程序状态字寄存器又称为标志寄存器.
作用:用来存放现行程序的运行状态和工作方式,其内容称为程序状态字PSW.
PSW是参与控制程序执行的重要依据.
(6)堆栈指针SP:
SP用来指示堆栈栈顶的位置,其内容是栈顶单元的地址.
SP也是可编程访问的寄存.
(7)与主存接口的寄存器MAR,MDR:
地址寄存器MAR用来存放CPU访问主存或I/O接口的地址.MAR连接地址总线的输出门是三态门.
数据寄存MDR用来存放CPU与主存或I/O接口之间传送的数据.
CPU对主存的控制信号有两个:
读信号RD—控制对主存的读操作
写信号WR—控制对主存的写操作
2. 运算部件:
控制ALU运算的控制信号有:
B加(减)1
A减1
A加1
求反
求负
B±1
A--1
A+1
NEG
COM



减 --
加+
XOR
OR
AND
SUB
ADD
3. 总线与数据通路结构:
(1)ALU总线
CPU内部采用单总线结构,即设置一组由16根双向数据传送组成的ALU总线(CPU内总线),ALU和所有的寄存器通过这组公共总线连接起来.
在单总线结构中,CPU的任何两个部件间的数据传送都必须通过这组总线,控制较简单,但传送速度受到限制.
(2)系统总线:16根地址总线,16根数据总线,以及控制总线.
CPU
主存
接口
接口
I/O设备
I/O设备
常见计算机硬件系统结构
总线
地址总线
数据总线
控制总线
CPU通过MAR向地址总线提供访问主存单元或I/O接口的地址
CPU通过MDR向数据总线发送或接收数据,以完成与主存单元或I/O接口之间的数据传送.
CPU通过控制总线向主存或I/O设备发出(或接收)有关控制信号.
4. 控制器及微命令的基本形式:
(1)微命令的基本形式
微操作命令:是最基本的控制信号,是指直接作用于部件或控制门电路的控制信号,简称微命令.
微命令的两种形式:
①电位型微命令:见教材P81页
②脉冲型微命令:各寄存器均采用同步打入脉冲将ALU总线上的数据打入其中.
其种类有:CPR0, CPR1, CPPC, CPIR, CPSP, CPMAR, CPMDR等…..……………
(2)控制器
控制器:基本功能就是执行指令,即根据指令产生控制信号序列以命令相应部件分步完成指定的操作.
传统控制器的主要部件包括:指令寄存器IR,指令译码器,程序计数器PC,状态字寄存器PSW,时序系统和微操作信号发生器.
计算机的组成框图:
输入设备
运算器
输出设备
控制器
存贮器
控制信号
数据信号
数据
程序
结果
输入命令
操作命令
存取数据
输出命令
存取命令
指 令
CPU
计算机的基本工作原理——冯诺依曼原理
§ 3.3.2 数据传送
1.寄存器之间的数据传送:直接通过ALU总线传送数据,具体传送由输出门和打入脉冲控制.
2. 主存数据传送到CPU:通过系统总线传送数据.
3. CPU数据传送到主存
4. 执行算术或逻辑操作
见教材P82页
§ 3.4 时序控制方式
计算机中的一条指令的执行过程需要分成读取指令,读取操作数,运算,存放结果等步骤.每一步操作则是由控制器产生相应的一些控制信号实现的,每条指令都可分解为一个控制信号序列.
指令的执行过程就是依次执行一个确定的控制信号序列的过程.
时序控制方式就是指微操作与时序信号之间采取保种关系,它不仅直接决定时序信号的产生,也影响到控制器及其它部件的组成,以及指令的执行速度.
§ 3.4.1 指令执行过程
1. 指令的分段执行过程
(1)取指令
(2)分析指令
(3)执行指令
取操作数
执行操作
形成下条指令地址
2. 指令之间的衔接方式:
能有效提高设备利用率和运算速度,但若程序需要转移,预取下条指令失败.
是在对现行指令系统运算操作时提前从主存取出下条指令,而不必等当前指令全部执行完.
并行的重叠处理方式
这种方式控制简单,但在时间上不能充分利用部件.
是指在一条指令执行完毕后才开始取下条指令
串行的顺序安排方式
特点
定义
名称
§ 3.4.2 时序控制方式
时序控制方式就是指微操作与时序信号之间采取保种关系,它不仅直接决定时序信号的产生,也影响到控制器及其它部件的组成,以及指令的执行速度.
本节介绍:
同步控制方式
同步控制方式的多级时序系统
1. 同步控制方式:
定义:指各项操作由统一的时序信号进行同步控制,这就意味着各个微操作必须在规定时间内完成,到达规定时间就自动执行后继的微操作.
基本特征:是将操作时间分为若干长度相同的时钟周期(也称节拍),要求在一个或几个时钟周期内完成各个微操作.
采用范围:CPU内部,CPU,主存,各I/O接口之间.
优点:时序关系简单,结构上易于集中,相 应的设计和实现较方便.
缺点:对时间少的微操作,存在时间上的浪费
2. 同步控制方式的多级时序系统:
在CPU中为实现同步控制,必须设置一时序系统,以产生统一的时序信号对各种操作进行定时控制.
(1)多时序概念:指在同步控制方式中,通常将时序信号划分几级(其中包括指令周期),称为多级时序.
在组合逻辑控制器中,是依靠不同的时间标志使CPU分步执行指令,其时序信号常划分为3级:机器周期,节拍,时钟脉冲.
在微程序控制器中,一条指令对应一段微程序(微指令序列),其时序信号划分为2级:节拍,时钟脉冲.
CPU每出并执行一条指令,都要完成一系列的操作,这一系列操作所需要的时间通常叫做一个指令周期.简单地说,指令周期是取出并执行一条指令的时间.
开始
取指令
分析指令
执行指令
取指令——执行指令序列
时序信号划分为3级:
机器周期:
在组合逻辑控制器中,通常将指令周期划分为几个不同的阶段,每个阶段所需的时间,称为机器周期,又称为CPU工作周期或基本周期.
节拍(时钟周期):
将一个机器周期划分若干相等的时间段,其间仅完成一步基本操作,这个时间段用一个电平信号宽度对应,称为~.
节拍长度由CPU内部的操作的需要
在时序系统中设置节拍发生器,用以产生节拍信号.
时钟脉冲:时序系统的基本定时信号.
(2)多级时序信号之间的关系:
见教材P86页,图3-14三级时序信号之间的关系.
(3)时序系统的组成:
见教材P87页,图3-15时序系统框图.
§ 3.5 指令的执行与组合逻辑控制器
按产生控制信号的方式不同控制器可分:组合逻辑控制器和微程序控制器.
组合逻辑控制器:是指产生控制信号即微命令的部件,是用组合逻辑线路来实现.
微程序控制器:即将机器指令的操作(从取指令到执行)分解为若干个更基本的微操作序列,并将有关的控制信息(微命令)以微码形式编成微指令,输入控制存储器中.
它是早期设计计算机的一种方法,这种方法 是把控制部件看作为产生专门固定时序控制信号的逻辑电路,而逻辑电路以使用最少元件和取得最高操作速度为设计目标.一旦控制部件构后,除非重新设计和物理上对它重新接线,否则要想增加新的控制功能是不可能的
第3个回答  2013-07-20
1、从内存中取出一条指令,并指出下一条指令的位置.2、对指令译码测试,产生相应的控制信号。3、指挥控制CPU,内存和输入,输出设备之间的数据流动方向。
第4个回答  2013-07-20
控制器:向计算机其他部件发送控制信息
相似回答