欢迎来到天天文库
浏览记录
ID:15535558
大小:395.00 KB
页数:23页
时间:2018-08-03
《本章从分析cpu的功能和内部结构入手》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第八章 CPU 本章从分析CPU的功能和内部结构入手,详细讨论机器完成一条指令的全过程,以及为了进一步提高数据的处理能力,开发系统的并行性所采取的流水技术。此外,本章还进一步概括了中断技术在提高整机系统效能方面的作用。第一节 CPU的功能和结构一、CPU的功能 CPU是由运算器和控制器组成的,在这里我们重点介绍控制器的功能。 对于冯·诺依曼结构的计算机而言,一旦程序进入存储器后,就可由计算机自动完成取指令和执行指令的任务,控制器就是专用于完成此项任务的,它负责协调并控制计算机各部件执行程序的指令
2、序列,其基本功能是取指令、分析指令和执行指令。 1.取指令 控制器必须具备能自动地从存储器中取出指令的功能。为此,要求控制器能自动形成指令的地址,并能发出取指令的命令,将对应此地址的指令取到控制器中。第一条指令的地址可以人为指定,也可由系统设定。 2.分析指令 分析指令包括两部分内容,其一,分析此指令要完成什么操作,即控制器需发出什么操作命令;其二,分析参与这次操作的操作数地址,即操作数的有效地址。 3.执行指令 执行指令就是根据分析指令产生的“操作命令”和“操作数地址”的要求,开成操作控
3、制信号序列(不同的指令有不同的操作控制信号序列),通过对运算器、存储器以及I/O设备的操作,执行每条指令。 此外,控制器还必须能控制程序的输入和运算结果的输出(即控制主机与I/O交换信息)以及对总线的管理,甚至能处理机器运行过程中出现的异常情况和特殊请求,即处理中断的能力。 总之,CPU必须具有控制程序的顺序执行(称指令控制)、产生完成每条指令所需的控制命令(称操作控制)、对各种操作实施时间上的控制(称时间控制)、对数据进行算术运算和逻辑运算(数据加工)和处理中断等功能。二、CPU结构框图 CP
4、U由四大部分组成:地址寄存器,用于存放当前指令的地址;指令寄存器,用来存放当前指令和对指令的操作码进行译码;控制部件,能发出各种操作命令序列;ALU,用来完成算术运算和逻辑运算;为了处理异常情况和特殊请求,还必须有中断系统。其结构如下图所示。 若将其进一点细化,则得到下图:三、CPU的寄存器 1.用户可见寄存器 通常CPU执行机器语言访问的寄存器为用户可见寄存器,按其特征又可分为以下几类: (1)通用寄存器。通用寄存器可由程序设计者指定许多功能,可用于存放操作数,也可作为满足某种寻址方式所需的
5、寄存器。基址寻址所需的基址寄存器、变址寻址所需的变址寄存器和堆栈寻址所需的栈指针,都可用通用寄存器代替。寄存器间接寻址时还可用通用寄存器存放有效地址的地址。 (2)数据寄存器。数据寄存器用于存放操作数,其位数应满足多数数据类型的数值范围,有些机器允许使用两个连读的寄存器存放双倍字长的值。还有些机器的数据寄存器只能用于保存数据,不能用于操作数地址的计算。 (3)地址寄存器。地址寄存器用于存放地址,其本身可以具有通用性,也可用于特殊的寻址方式,如用于基址寻址的段指针(存放基地址)、用于变址寻址的变址寄
6、存器和用于堆栈寻址的栈指针。地址寄存器的位数必须足够长,以满足最大的地址范围。 (4)条件代码寄存器。这类寄存器中存放条件码,它们对用户来说是部分透明的。条件码是CPU根据运算结果由硬件设置的位(bits),如算术运算会产生正、负、零或溢出等结果。条件码可被测试,作为分支运算的依据。此外,有些条件码也可被设置,如最高位进位标志C,可用指令对它置位和复位。将条件码放到一个或多个寄存器中,就构成了条件码寄存器。 在调用子程序前,必须将所有的用户可见寄存器的内容保存起来,这种保存可由CPU自动保存,也可
7、由程序员编程保存,视不同机器不同处理。 2.控制和状态寄存器 CPU中还有一类寄存器用于控制CPU的操作或运算。在一些机器里,大部分这类寄存器对用户是透明的。如以下四种寄存器在指令执行过程中起重要作用。 ·MAR存储器地址寄存器,用于存放将被访问的存储单元的地址; ·MDR存储器数据寄存器,用于存放欲存入存储器中的数据或最近从存储器中读出的数据; ·PC程序计数器,存放现行指令的地址,通常具有计数功能。当遇到转移类指令时,PC的值可被修改; ·IR指令寄存器,存放当前欲执行的指令。 通过
8、这四个寄存器,CPU和主存可交换信息。例如,将现行指令地址从PC送至MAR,启动存储器作读操作,存储器就可将指定地址单元内的指令读至MDR,再由MDR送至IR。 在CPU内部必须给ALU提供数据,因此ALU必须可直接访问MDR和用户可见寄存器,ALU的外围还可以有另一些寄存器,这些寄存器用于ALU的输入/输出以及用于和MDR及用户可见寄存器交换数据。 在CPU的控制和状态寄存器中,还有用来存放程序状态字PSW的寄存器,该寄存器用来存放条件码和其他状态
此文档下载收益归作者所有