CPU的结构

1、CPU的基本功能

---- CPU实质上包括运算器控制器两大部分。对于冯诺依曼结构的计算机而言,一旦程序进入存储器后,就可由计算机自动完成

取指令执行指令的任务,控制器就是专用于完成此项工作的,它负责协调控制计算机各部件执行程序的指令序列,其基本功能

是取指令、分析指令和执行指令。

--1) 取指令

控制器必须具备能自动地从存储器中取出指令的功能。为此,要求控制器能自动形成指令的地址,并能发出取指令的命令,将对应

此地址的指令取到控制器中。第一条指令的地址可以人为指定,也可由系统设定。

--2)分析指令

分析指令包括两部分内容:其一,分析此指令要完成什么操作,即控制器需发出什么操作命令;其二,分析参与这次操作的操作数

地址,即操作数的有效地址。

--3)执行指令

执行指令就是根据分析指令产生的“操作命令”和“操作数地址”的要求,形成操作控制信号序列(不同的指令有不同的操作控制信号序列)

通过对运算器、存储器以及I/O设备的操作,执行每条指令。

-- 此外,控制器还必须能控制程序的输入运算结果的输出(即控制主机与I/O设备交换信息)以及对总线的管理,甚至能处理机器

运行过程中出现的异常情况(如掉电)和特殊请求(如打印机请求打印一行字符),即处理中断的能力。

-- 总之,CPU必须具有控制程序的顺序执行(称指令控制)、产生完成每条指令所需的控制命令(称操作控制),对各种操作加以时间

上的控制(称时间控制)、对数据进行算术运算和逻辑运算(数据加工)以及处理中断等功能。

2、CPU的结构

---- 要取指令,必须有一个寄存器专用于存放当前指令的地址

---- 要分析指令,必须有存放当前指令的寄存器和对指令操作码进行译码的部件。

---- 要执行指令,必须有一个能发出各种操作命令序列的控制部件CU(Control Unit)。

---- 要完成算术运算和逻辑运算,必须有存放操作数的寄存器和实现算术逻辑运算的部件ALU (Algorithm Logic Unit)

---- 为了处理异常情况和特殊请求,还必须有中断系统

3、CPU的寄存器

---- CPU中的寄存器大致可分为两类:一类属于用户可见寄存器,用户可对这类寄存器编程,以及通过优化使CPU因使用这类寄存器而

减少对主存的访问次数;另一类属于控制和状态寄存器,用户不可对这类寄存器编程,它们被控制部件使用,以控制CPU的操作,也可

被带有特权的操作系统程序使用,从而控制程序的执行。

---- 用户可见寄存器

通常CPU执行机器语言访问的寄存器为用户可见寄存器,按其特征又可分为以下几类:

--1)通用寄存器

--2)数据寄存器

数据寄存器用于存放操作数,其位数应满足大多数数据类型的数值范围,有些机器允许使用两个连续的寄存器存放双倍字长的值。还有些

机器的数据寄存器只能用于保存数据,不能用于操作数地址的计算。

--3)地址寄存器

地址寄存器用于存放地址,其本身可以具有通用性,也可用于特殊的寻址方式,如用于基址寻址的段指针(存放基地址)、用于变址寻址

的变址寄存器和用于堆栈寻址的栈指针。地址寄存器的位数必须足够长,以满足最大的地址范围。

--4)条件码寄存器

这类寄存器中存放条件码,它们对用户来说是部分透明的。条件码是CPU根据运算结果由硬件设置的位,例如,算术运算会产生正、负、

零或溢出等结果。条件码可被测试,作为分支运算的依据。此外,有些条件码也可被设置,例如,对于最高位进位标志C,可用指令对它

置位和复位。将条件码放到一个或多个寄存器中,就构成了条件码寄存器。

在调用子程序前,必须将所有的用户可见寄存器的内容保存起来,这种保存可由CPU自动完成,也可由程序员编程保存,不同机器不同。

---- 控制和状态寄存器

CPU中还有一类寄存器用于控制CPU的操作或运算。在一些机器里,大部分这类寄存器对用户是透明的。如以下四种寄存器在指令执行

过程中起重要作用。

--1)MAR:存储器地址寄存器,用于存放将被访问的存储单元的地址。(Memory address register)

--2)MDR:存储器数据寄存器,用于存放欲存入存储器中的数据或最近从存储器中读出的数据。(Memory data register)

--3)PC:程序计数器,存放现行指令的地址,通常具有计数功能。当遇到转移类指令时,PC的值可被修改。

--4)IR:指令寄存器,存放当前欲执行的指令。(Instruction register)

通过这4个寄存器,CPU和主存可交换信息。例如,将现行指令地址从PC送至MAR,启动存储器做读操作,存储器就可将指定地址单元内

的指令读至MDR,再由MDR送至IR。

在CPU内部必须给ALU提供数据,因此,ALU必须可直接访问MDR和用户可见寄存器,ALU的外围还可以有另一些寄存器,这些寄存器用

于ALU的输入/输出以及用于和MDR及用户可见寄存器交换数据。在CPU的控制和状态寄存器中,还有用来存放程序状态字PSW的寄存器,

该寄存器用来存放条件码和其他状态信息。在具有中断系统的机器中还有中断标记寄存器

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值