随着考研的慢慢复习,我们逐渐进入了计算机组成与设计的第五章中央处理器。它原名为CPU。姓C,名PU,字中央处理器,号计组难点,乃计算机之中心与核心部件,小编称之曰能算能控,赐名曰九天宏教普济生灵掌阴阳功过大道思仁紫极仙翁一阳真人元虚玄应开化伏魔忠孝帝君。那么请跟随小编,一起去探索一下CPU的世界吧!
目录
一、CPU的功能
二、CPU的组成
考点1:CPU功能
刚看到开头那段的读者们一定特别不屑,切,小编不是说了吗,能算能控,还赐名为九天宏教普济生灵掌阴阳功过大道思仁紫极仙翁一阳真人元虚玄应开化伏魔忠孝帝君,多厉害哦。好的,CPU的功能是计算与控制,本节结束,小编你就不要在这里凑字数了!
此言差矣,诸君请留步!CPU的功能确实如此,但是如果他考选择题的话,题目问下面哪一项不是CPU的功能:A计算,B控制。连四个选项都凑不齐,所以我们还需要将功能稍微细分一点。
CPU由运算器和控制器组成。其中,控制器的功能是负责协调并且控制计算机各部件执行程序的指令序列,包括取指令(形成指令地址)、分析指令(操作码译码,产生操作数有效地址)和执行指令(控制设备,发出有关操作控制信号);而运算器的功能是对数据进行加工。
那么我们总结一下,CPU的具体功能为:
功能 | 解释 |
指令控制 | 程序的顺序控制 |
操作控制 | 把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作 |
时间控制 | 每条指令按时间顺序提供应有的控制信号 |
数据加工 | 对数据进行算术和逻辑运算 |
中断处理 | 对运行过程中出现的异常情况和特殊请求进行处理 |
例题:控制器的全部功能是()
A.产生时序信号
B.从主存中取出指令并完成指令操作码译码
C.从主存中取出指令、分析指令并产生有关的操作控制信号
D.以上都不对
【答案】:C
【解析】:控制器的功能是取出指令、分析指令以及执行指令,其中执行指令就是产生有关的操作控制信号。
考点2:CPU的组成
在计算机系统中,中央处理器主要由运算器和控制器两大部分组成,如下图:
其中运算器是计算机队数据进行加工处理的中心,它主要由算术逻辑单元ALU、暂存寄存器、累加寄存器ACC、通用寄存器组、程序状态字寄存器PSW、位移器、计数器等组成。
而控制器分为硬布线控制器和微程序控制器两种类型。它是整个系统的指挥中枢。它由程序计数器PC、指令寄存器IR、指令译码器、存储地址寄存器MAR、存储数据寄存器MDR、时序系统和未操作信号发生器等组成。
特别容易错的几个点是,很多人看到程序状态字寄存器PSW,就想到这应该是控制程序的寄存器,那么应该是控制器的一部分。但实际上,PSW属于运算器的一部分,保留的是每次运算后的一些运算特性。大家千万别弄错了!!!
还有MAR与MDR很多人会认为这是存储器的一部分,而不是CPU的一部分。但那是老式的计算机,在线代计算机中它是属于CPU的,同样的还有Cache也在CPU中。
我们做一道小题练练手:
例题:CPU中不包括()
A.存储器地址寄存器MAR
B.指令寄存器
C.地址译码器
D.程序计数器
【答案】:C
【解析】:三段一长就选C。A、B、D都属于控制器的一部分。而C是存储器的一部分,作用是将地址信号翻译成存储单元的选通信号。
例题:某计算机的主存空间为4GB,字长为32位,按字节编址,采用32位字长指令字格式。若指令按字边界对齐存放,则程序计数器PC和指令寄存器IR的位数至少分别是____和____。
【答案】:30 32
【解析】:PC存放欲执行的指令地址,它的长度取决于存储器的容量。而IR存放正在执行的指令,它取决于指令的长度。我们发现,指令字长为32位,所以存储器一共能存放条指令,所以PC至少30位,而IR与指令字长的长度保持一致,为32位。但是要特别注意,PC每一次自增1,假设上一条指令在存储器的地址为2000,那么下一条地址为2004(由地址为2004,2005,2006,2007的四块地址构成下一条指令)
考点3:CPU中某些部件的功能
我们继续来稍微了解一下,每一个部件大致功能是什么。
运算器里面:
名称 | 功能简介 |
算术逻辑单元 | 算术、逻辑计算 |
暂存寄存器 | 暂存从主存读来的数据 |
累加寄存器 | 暂时存放算术逻辑单元ALU运算的结果信息 |
通用寄存器组 | 用于存放操作数与各种地址信息 |
程序状态寄存器 | 用于保留由算术逻辑运算指令或测试指令的结果而建立的各种状态信息 |
移位器 | 对操作数活运算结果进行移位运算 |
计数器 | 控制乘除运算的操作步数 |
控制器里面:
名称 | 功能简介 |
程序计数器 | 用于指出欲执行指令在主存中存放地址 |
指令寄存器 | 用于保存当前正在执行的那条指令 |
指令译码器 | 仅对操作码字段进行译码,向控制器提供特定的操作信号 |
MAR | 存放要访问的主存单元的地址 |
MDR | 用于存放向主存写入的信息或从主存读出的信息 |
时序系统 | 用于产生各种时序信号 |
微操作信号发生器 | 根据IR与PSW的内容及时序信号,产生控制整个计算机系统所需的各种控制信号 |
例题:指令译码是对()进行译码。
A.整条指令
B.指令的操作码字段
C.指令的地址码字段
D.指令的地址
【答案】:B
【解析】:指令包括操作码字段和地址码字段,而指令译码器只对操作码字段进行译码,用来确定指令的操作功能。
例外,我们需要对CPU内部的寄存器进行分类,这个分类的名称很奇特:“透明”。请问当一扇透明的窗户在你面前,你能够看得见它吗?
以此类推,如果程序员能够看到某个寄存器,或者说能够对某类寄存器进行编程,我们就会称它对用户是不透明的;而如果程序员看不见某个寄存器,不能对这个寄存器编程,我们称它对用户是透明的。
这个透明和我们在日常生活中透明的意思截然相反。比如说男朋友对女朋友说:“我对你没有隐瞒,我对你是透明的”来表示真心。如果这句话放到计算机学科里面,意思就会变味儿,被理解成“你真是个小笨蛋,竟然看不见我的心”。
那么,透明的寄存器有存储器地址寄存器MAR、存储器数据寄存器MDR、指令寄存器IR,不透明的寄存器有通用寄存器组(如ACC)、状态程序寄存器PSW,其中程序计数器PC对程序员也不透明,这个经常考察!
例题:下列寄存器中,汇编语言程序员可见的是()
A.存储器地址寄存器MAR
B.程序计数器PC
C.存储器数据寄存器MDR
D.指令寄存器IR
【答案】:B
【解析】:汇编程序员可以用转移指令、子程序调用指令等设置PC的值,故PC可以被程序员看见。而IR/MAR/MDR是CPU内部工作寄存器,对程序员不可见。
好的,本期的计算机组成与设计的学习就到此为止啦,感兴趣的小伙伴要记得给小编的文章点一颗心心哦!