六、运算器 1.运算器的组成
6 j7 d0 O) t5 H0 u, w) H: y H 多功能算术/逻辑运算单元(ALU):
4 Q$ g! g$ {+ F4 P7 C- ^2 @ 对一片ALU来说,可有三个进位输出。其中G称为进位发生输出,P称为进位传送输出。在电路中,多加这两个进位输出的目的是为了便于实现多片(组)ALU之间的先行进位,为此,还需一个配合电路,它称为先行进位发生器(CLA)。内部总线:* C, T* r/ I6 V. O" L/ G% r+ U
根据总线所处位置,总线分为内部总线和外部总线两类。内部总线是指CPU内各部件的连线,而外部总线是指系统总线,即CPU与存储器、I/O系统之间的连线。
* `9 ~1 K9 F6 t3 s8 K" V8 b6 F 按总线的逻辑结构来说,总线可分为单向传送总线和双向传送总线。所谓单向总线,就是信息只能向一个方向传送。所谓双向总线,就是信息可以向两个方向传送。换句话说,总线既可以用来发送数据,也可以用来接收数据。- ?: i2 |0 t2 ^8 T: `" ^, g- d
总线的逻辑电路往往是三态的,即输出电平有三种状态:逻辑“1”、逻辑“0”和“浮空”状态。2.运算器的基本结构8 }( L: p' `: ?+ \- f
运算器包括ALU、阵列乘除器件、寄存器、多路开关或三态缓冲器、数据总线等逻辑部件。现代计算机的运算器大体有如下三种结构形式。①单总线结构的运算器②双总线结构的运算器③三总线结构的运算器
/ r6 R6 B+ c; z6 X$ V& e 七、控制器1.控制器在CPU中的位置
* Q s6 o# ~0 M. [7 S 中央处理器(CPU)由两个主要部分———控制器及运算器组成。其中程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器等组成了控制器。它是对计算机发布命令的“决策机构”,协调和指挥整个计算机系统的操作,因此,它处于CPU中极其重要的位置。在CPU中,除算术逻辑单元(ALU)及累加器外,尚有下列逻辑部件:
$ {/ q, B5 O. |5 { z+ G4 G3 B (1)缓冲寄存器(DR)7 O" L" w/ x; u. k* S
缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在这里。缓冲寄存器的作用是:①作为CPU和内存、外部设备之间信息传送的中转站;②补偿CPU和内存、外部设备之间在操作速度上的差别;
) L7 e, u3 x* j9 U8 ^: U) z0 b ③在单累加器结构的运算器中,缓冲寄存器还可兼作为操作数寄存器。" a6 v8 \/ M: o# m ^& R/ _
(2)指令寄存器(IR)# K9 t/ J' P/ I0 b% S( i! o/ k8 @
指令寄存器用来保存当前正在执行的一条指令。指令划分为操作码和地址码字段,它们由二进制数字组成。为执行任何给定的指令,必须对操作码进行译码,以便指出所要求的操作。# f. ]9 F5 j+ x/ p
指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。! r+ s ^/ Y% ^$ L# C, k
(3)程序计数器(PC)# k' M; L* v3 \3 B# v' y+ _. E2 m
为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。而程序计数器(PC)正是起到这种作用,所以通常又称其为指令计数器。. T# @ }2 y; ?5 j
(4)地址寄存器(AR)
' I3 J* n, C8 V& Y 地址寄存器用来保存当前CPU所要访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。; q% ?4 G0 Q' D+ C& r) M
(5)累加寄存器(AC)8 L9 B& S& L0 r
累加寄存器AC通常简称为累加器。它的功能是:当运算器的算术/逻辑单元(ALU)执行全部算术和逻辑运算时,为ALU提供一个工作区。例如,在执行一个加法前,先将一个操作数暂时存放在AC中,再从内存中取出另一个操作数,然后同AC的内容相加,所得结果送回AC中,而AC中原有的内容随即被破坏。顾名思义,累加寄存器用来暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加器寄存器。* r: S3 {1 f: `) K, d
由于运算器的结构不同,可采用多个累加寄存器。) E7 R7 C% X+ |" W D* a
(6)状态寄存器(SR)
r* X8 _& Q' Z6 f1 C4 [7 X 状态寄存器保存由算术指令和逻辑指令运行或测试结果建立的各种状态码内容。 |