1. 运算器
运 算 器 由 算 数 逻 辑 单 元 ( A L U : A r i t h m e t i c a n d L o g i c U n i t ) 、 累 加 寄 存 器 ( A C : A c c u m u l a t o r ) 、 数 据 缓 冲 寄 存 器 ( D R : D a t a R e g i s t e r ) 和 状 态 条 件 寄 存 器 ( P S W : P r o g r a m S t a t u s W o r d ) 等 组 成 , 它 是 数 据 加 工 处 理 部 件 , 用 于 完 成 计 算 机 的 各 种 算 术 和 逻 辑 运 算 。算术逻辑单元:ALU是运算器的重要组成部件,负责处理数据,实现对数据的算数运算和逻辑运算。
累加寄存器:AC通常简称为累加器,它是一个通用寄存器,其功能是当运算器的算术逻辑单元执行算数或逻辑运算时,为ALU提供一个工作区。
数据缓冲寄存器:在对内存储器进行读/写操作时,用DR暂时存放由内存储器读/写的一条指令或一个数据字,将不同时间段内读/写的数据隔离开来。
状态条件寄存器:PSW保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,主要分为状态标志和控制标志,例如运算结果进位标志(C)、运算结果溢出标志(V)、运算结果为0标志(Z)、运算结果为负标志(N)、中断标志(I)、方向标志(D)和单步标志等。
2. 控制器
控 制 器 一 般 包 括 指 令 控 制 逻 辑 、 时 序 控 制 逻 辑 、 总 线 控 制 逻 辑 和 中 断 控 制 逻 辑 等 几 个 部 分指令控制逻辑要完成取指令、分析指令和执行指令的操作,其过程分为取指令、指令译码、按指令操作码执行、形成下一条指令地址等步骤
时序控制逻辑要为每条指令按时间顺序提供应有的控制信号
总线逻辑是为多个功能部件服务的信息通路的控制电路
中断控制逻辑用于控制各种中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU处理
指令控制逻辑:
指令寄存器(IR: Instruction Register):当CPU执行一条指令时,先把它从内存储器取到缓冲存储器中,再送入IR暂存,指令译码器根据IR的内容产生各种微操作指令,控制其他的组成部件工作,完成所需的功能
程序计数器(PC: Program Counter):在程序开始执行前,将程序的起始地址送入PC,该地址在程序加载到内存时确定,因此PC的内容即是程序第一条指令的地址。执行指令时,CPU自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序执行的,所以修改的过程通常只是简单地对PC加1。当遇到转移指令时,后继指令的地址根据当前当前指令的地址加上一个向前或向后转移的位移量得到,或者根据转移指令给出的直接转移的地址得到。
地址寄存器(AR: Adrress Register):AR保存当前CPU所访问的内存单元的地址。由于内存和CPU存在着操作速度上的差异,所以需要使用AR保持地址信息,直到内存的读/写操作完成为止。
指令译码器(ID: Instruction Decoder ):指令包含操作码和地址码两部分,为了能执行任何给定指令,必须对操作码进行分析,以便识别所完成的操作。指令译码器就是对指令中的操作码字段进行分析解释,识别该指令规定的操作,向操作控制器发出具体的控制信息,控制各部件工作,完成所需的功能。
3. 寄存器组
寄存器组可分为专用寄存器和通用寄存器。运算器和控制器中的寄存器是专用寄存器,其作用是固定的。
通用寄存器用途广泛并可由程序员规定其用途,其数目因处理器不同有所差异。