控制器(ControlUnit)是整个CPU的指挥控制中心,由指令寄存器IR(InstructionRegister)、程序计数器PC(ProgramCounter)和 *** 作控制器0C(OperationController)三个部件组成。
指令译码器是控制器中的主要部件之一。
所以该题选A状态寄存器
现代计算机 硬件系统 (包括我们生活中最常见的PC个人计算机),包含 五大类 ,也叫 五大部件 ,分别是 运算器 、 控制器 、 存储器 、 输入设备 、 输出设备 。
一、运算器
运算器,一般最少包括 3个寄存器 和 1个算术逻辑单元 ,现代计算机内部往往设有 通用寄存器组 。
寄存器,一种有限存储容量的高速存储部件,可用来暂存 指令 、 数据 和 位址 。寄存器有很多种类,一般涉及到四则运算的有3类, ACC(Accumulator) 为 累加器 , MQ(Multiplier-Quotient Register) 为 乘商寄存器 , X 为 *** 作数寄存器 ,3类寄存器在完成不同运算时,所存放的 *** 作数类别也各不相同。
关于 乘积高位 和 乘积低位 的概念,以十进制为例,百位就是十位的高位,十位是百位的低位。两个16位数相乘,结果可能会有32位,那左半部分的16位就是乘积高位,存储到ACC中,右半部分的16位就是乘积低位,存储到MQ中。
算术逻辑单元(ALU,Arithmetic and Logic Unit) ,是 算术运算 和 逻辑运算 的部件。算术运算包括 加、减、乘 的整数运算,逻辑运算是 与、或、非和异或 等逻辑 *** 作,还有 移位 、比较和传送等 *** 作。
移位运算 ,将一个字符向左或向右移动位,或是浮动特定位,包含带符号延伸和无符号延伸,在程序中应用很广泛。
二、控制器
在了解控制器之前,首先需要理解,什么是 指令 。对计算机来说,计算机本身能且只能执行 “指令” ,也就是说,我们外在所见到计算机各种智能化的表现,本质上是计算机执行各种指令的结果。
指令,由 *** 作码 和 地址码 组成。 *** 作码表示计算机要执行的某种 *** 作的性质,简单来说就是计算机需要干什么,由 *** 作码决定;地址码是 *** 作码执行时的 *** 作对象的地址, *** 作对象是指被 *** 作的数据,也叫 *** 作数 。
控制器 ,是计算机的指挥中心,负责决定执行程序的顺序,给出执行指令时机器各部件所需要的 *** 作控制命令。
控制器由 程序计数器(PC,Program Counter) 、 指令寄存器(IR,Instruction Register) 、 指令译码器(ID,Instruction Decoder) 、 时序产生器(Timing Generator) 、 *** 作控制器(Control Unit) 组成。
指令寄存器IR ,是用来存放当前正在执行的的一条指令,存放的内容来自于 数据寄存器(DR,Data Register) 。当一条指令需要被执行时,先要把它从内存取到数据寄存器,然后再送到指令寄存器IR中。
指令译码器ID ,在计算机执行一条指定的指令时,必须首先分析这条指令的 *** 作码是什么,以决定 *** 作的性质和方法,然后控制计算机的其他各部件协同完成指令表达的功能,这中间的分析工作就是指令译码器ID完成的。
程序计数器PC ,用来存放下一条要执行指令的地址,它与存储器(内存)之间有一条直接通路。执行指令时,首先需要根据程序计数器PC中存放的指令地址,将指令由内存取到指令寄存器IR,完成 “取指令” 的 *** 作。程序计数器PC本身具有自动加1的功能,可以自动给出下一条指令的地址,如此循环,执行每一条指令。
时序产生器 ,类似于“时间作息表”,给计算机各部分提供工作所需的时间标志,一般是利用定时脉冲的顺序和不同的脉冲间隔来实现。
*** 作控制器 ,根据指令所需完成的 *** 作和信号,发出各种微 *** 作命令序列,用以控制所有被控对象,完成指令的执行。
整个控制器的运行逻辑是先按照程序计数器所指出的指令地址,从内存中取出一条指令到指令寄存器IR,然后又指令译码器ID对指令进行分析,之后 *** 作控制器根据指令的功能向有关部件发出控制命令,执行控制指令的 *** 作。完成 *** 作之后,程序计数器加1,再重复执行上述 *** 作。
运算器和控制器,共同组成计算机最核心的部件— CPU ,即 中央处理器(Control Processing Unit) 。
答案选B:正在执行的指令地址。
如图,《计算机组成与设计:硬件软件接口-第五版》65页,John L Hennessy、 David A Patterson写的书,计算机界的圣经之一,够权威了。
PC程序计数器(也称为指令地址计数器),是存在CPU中的寄存器里一个名为程序地址寄存器的单元里。在程序开始执行前,必须将其起始地址,即程序第一条指令所在的内存单元地址送入PC,当执行指令时,CPU将自动修改PC中的内容,使之总是指示出将要执行的下一条指令的地址。如果要知道PC的值,可以在keil 中看到的(在keil 的仿真功能中,可以到看下软件说明就清楚怎么用仿真功能了)。也可以自己去算,当然必须知道第一条指令的地址。
以上就是关于程序计数器pc在下面哪个部件中.a.运算器 b.存储器 c.控制器 d.i/o接口全部的内容,包括:程序计数器pc在下面哪个部件中.a.运算器 b.存储器 c.控制器 d.i/o接口、计算机硬件系统—CPU(运算器和控制器)(一)、单片机中的程序计数器PC用来做什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)