计算机组成与系统结构 陈泽宇 副教授
第1章 计算机系统概论 第2章 运算方法和运算器 第3章 存储系统 第4章 指令系统 第5章 中央处理器(CPU) 第6章 总线系统 第7章 输入输出(I/O)系统 第8章 并行计算机系统
第5章 中央处理器(CPU) 计算机的工作过程就是计算机执行程序的过程 程序是一个指令序列 明确告诉计算机应该执行什么操作 在什么地方能够找到用来操作的数据 一旦把程序装入主存储器,计算机就自动执行取出指令和执行指令的任务 专门用来完成此项工作的计算机部件称为中央处理器(Central Processing Unit,CPU) 做成单片集成电路的CPU称微处理器(Microprocessor)
早期的CPU通常是为大型、特定的应用而定制的 已经让位于开发可大规模生产的通用处理器 这种标准化趋势,随着集成电路的普及而大大加速 CPU的小型化和标准化, 大大增加了这些数字器件在现代生活中的应用范围 远远超出了专用运算机器这一有限的应用 现代微处理器已经随处可见 从汽车到手机,甚至儿童玩具
5.1 CPU的功能和组成 CPU控制并执行指令 与计算机的其他功能部件进行信息交换 控制这些功能部件的操作 CPU工作过程 编写程序,把程序同数据预先保存到主存储器中 计算机工作时,按顺序逐条取出指令,分析指令,执行指令,自动转到下一条指令 计算机一条一条执行指令,实现预先设计的程序控制,直到程序规定的任务完成为止
5.1.1 CPU的基本功能 1)程序控制 2)操作控制 3)时间控制 4)数据加工
1)程序控制 程序控制就是控制指令的执行顺序 程序是指令的有序集合 指令的相互顺序不能任意颠倒,必须严格按照程序规定的顺序执行 保证计算机按一定顺序执行程序是CPU的首要任务
2)操作控制 操作控制就是控制指令进行操作 一条指令的功能往往由若干个操作信号的组合来实现 CPU管理并产生每条指令的操作信号 把各种操作信号送往相应的部件 从而控制这些部件按指令的要求进行操作
3)时间控制 时间控制就是对各种操作实施定时控制 各种指令的操作信号和指令的执行过程受到严格定时 只有这样,计算机才能有条不紊地工作
4)数据加工 数据加工就是对数据进行算术和逻辑运算 完成数据的加工处理,是CPU的根本任务
5.1.2 CPU的基本组成 传统上,CPU由控制器和运算器这两个主要部件组成 新型CPU集成了一些原先置于CPU之外的分立功能部件 如浮点处理器、高速缓存(Cache)等 大大提高CPU性能指标,也使CPU的内部组成日益复杂化
CPU主要组成部分的逻辑结构 FLASH演示
1.控制器 控制器是整个计算机系统的指挥中心 在控制器的指挥控制下,运算器、存储器和输入/输出设备等部件协同工作,构成一台完整的通用计算机 控制器根据程序预定的指令执行顺序, 从主存取出一条指令,按照该指令的功能,用硬件产生带有时序标志的一系列微操作控制信号 控制计算机内各功能部件的操作 协调和指挥整个计算机实现指令的功能
控制器的组成 程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、时序发生器、操作控制器 控制器的主要功能 ⑴从主存取出一条指令,指出下一条指令在主存中的位置 ⑵对指令译码,产生相应的操作控制信号,启动规定动作 ⑶指挥并控制CPU、主存和输入/输出设备之间数据流动的方向
2.运算器 运算器是计算机中用于实现数据加工处理功能的部件 接受控制器的命令,完成对操作数据的加工处理任务 其核心部件是算术逻辑单元ALU 相对控制器而言,运算器接受控制器的命令而进行动作 即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的 所以是执行部件
运算器的组成 算术逻辑单元(ALU)、累加寄存器(AC)、数据寄存器(DR)、程序状态字寄存器(PSW) 运算器主要功能 ⑴执行所有的算术运算 ⑵执行所有的逻辑运算,并进行逻辑测试
5.1.3 CPU中的主要寄存器 在CPU中至少要有六类寄存器 指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW) 这些寄存器用来暂存一个计算机字 其数目可以根据需要进行扩充
1. 数据寄存器 数据寄存器(Data Register,DR)又称数据缓冲寄存器 用来暂存从主存读出(或向主存存入)的一条指令或一个数据字 数据寄存器的作用 ⑴作为CPU和主存、外围设备之间信息传送的中转站 ⑵弥补CPU和主存、外围设备之间在操作速度上的差异 ⑶在单累加器结构的运算器中,还可兼作操作数寄存器
2. 指令寄存器 指令寄存器(Instruction Register,IR) 用来保存当前正在执行的一条指令 当执行一条指令时,首先把该指令从主存读取到数据寄存器中,然后再传送至指令寄存器 指令寄存器中操作码字段的输出就是指令译码器的输入 指令译码器(Instruction Decoder,ID) 对指令寄存器的操作码部分进行译码,向操作控制器发出操作控制信号
3. 程序计数器 程序计数器(Program Counter,PC)用来指出下一条指令在主存储器中的地址,具有寄存信息和计数两种功能 在程序执行前,将程序的首地址,即程序第一条指令所在主存单元的地址送入PC 当执行指令时,CPU自动递增PC的内容,使其始终保存将要执行的下一条指令的主存地址 单字长指令(PC)+1PC;双字长指令(PC)+2PC 当遇到转移指令时,下一条指令的地址由转移指令的地址码字段指定
4. 地址寄存器 地址寄存器(Address Register,AR)用来保存CPU当前所访问的主存单元的地址 由于主存和CPU间存在操作速度差异,必须使用地址寄存器暂存主存的地址信息,直到主存存取操作完成为止 当CPU和主存进行信息交换时,要使用地址寄存器和数据寄存器 如果把外设与主存单元进行统一编址,那么当CPU和外设交换信息时,同样要使用地址寄存器和数据寄存器
5. 累加寄存器 累加寄存器简称累加器(Accumulator,AC),是一个通用寄存器 累加器的功能 当运算器的ALU执行算术或逻辑运算时,为ALU提供一个工作区,可以为ALU暂存一个操作数或运算结果 显然,运算器中至少要有一个累加寄存器
6. 程序状态字寄存器 程序状态字(Program Status Word,PSW)是一个保存各种状态条件标志的寄存器 保存由算术/逻辑指令运行或测试的结果所建立起来的各种条件码内容 运算结果进/借位标志(C)、溢出标志(O)、为零标志(Z)、为负标志(N)、符号标志(S)等 这些标志位通常用1位触发器来保存 保存中断和系统工作状态等信息 以便CPU和系统及时了解机器和程序运行状态
5.1.4 操作控制器和时序发生器 1.微操作与数据通路 2.操作控制器 3.时序发生器
1.微操作与数据通路 微操作(Microoperation) 控制器在实现一条指令的功能时,总是把每一条指令分解成时间上先后有序的一系列最基本、最简单、不可再分的操作控制动作 这种最基本、最简单、不可再分的操作称为微操作
数据通路(Data Path) 寄存器之间传输信息的通路 控制信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传送到哪个寄存器 在数据通路中, 微操作通过自身的控制作用和彼此间的密切配合,使指令流、数据流等信息流按预定路径流动,实现指令功能 每一条指令的功能决定了它所需要的一系列带时序的微操作信号
2.操作控制器 控制器的基本功能是负责指令的读出、识别和解释,并指挥协调各功能部件执行指令 操作控制器是CPU中完成取指令和执行指令全过程的部件 主要功能是根据指令操作码和时序信号的要求,产生各种操作控制信号 以便在各寄存器之间正确地建立数据通路,从而完成取指令和执行指令的控制
3.时序发生器 除了操作控制器外,CPU中还必须包括时序发生器 由于计算机的高速工作,每一个动作的时间必须非常严格,不能有任何差错 时序发生器的作用 对操作控制器产生的各种控制信号实施时间上的严格控制 产生各功能部件所需要的定时控制信号
本讲到此结束,谢谢!