CPU的组成
CPU本身由三个主要的子单元组成:
a)算术/逻辑单元 ALU: 它执行算术和布尔逻辑运算
b) 控制单元 CU : 它控制着指令的处理和CPU内数据从一个部分到另一部分的移动。
c) 接口单元 : 它在CPU和其他硬件部件之间传送程序指令和数据。
寄存器
a)一个寄存器就是CPU里的一个永久的存储单元,他的用途是特定的,明确的。针对存储,操作或简单计算,寄存器可以临时存放一个二进制的值。
b)寄存器在CPU内执行特定的功能,与内存不一样,内存的每一个单元都是等价的,而每个寄存器都有自己独特的功能。
c)寄存器不是按址访问,在指令执行期间,它直接由CU(控制单元)操作。
d)寄存器可以小到1位,也可以大到几个字节,通常是1—128bit.
常见的寄存器
a)程序计数器寄存器(PC或IP):存放当前要执行的地址。
b)指令寄存器(IR):存放当前计算机正在执行的实际指令。
c)内存地址寄存器(MAR):存放某个内存单元的地址。
d)内存数据寄存器(MDR):也称为内存缓存寄存器,将存放一个数据值,这个数据值是要存储到MAR中的数据,或者是从该MAR中读取到的。
e)状态寄存器:用来标记一些特殊条件,比如进位,溢出,电源故障,计算机内部错误等等。
寄存器支持的主要四种操作
a)可以将其他存储空间里的值装入寄存器,尤其是从其他寄存器或内存空间中装入数据。这种操作破坏了先前存储在目的寄存器的值,但源寄存器或内存中的值不受影响(类似于覆盖)。
b)来自其他存储空间的值可以跟一个寄存器先前存储的值相加,或者从这个寄存器减去他,将和或差留在寄存器内(相当于保留加减法运算后的值)。
c)寄存器里的数据可以移位,也可以循环左移或者右移一位或多位。
d)可以针对某些条件测试寄存器里的数据值,例如0,正,负或者溢出。
ps:还有专门的清楚寄存器,即归0.
内存单元
1.真正的内存是由存储单元cell构成的,每个存储单元可以存储一个值,每一个存储单元都有唯一的地址。
2.内存地址寄存器和内存数据寄存器充当CPU和内存之间的接口。
3.内存容量:对于k位的内存地址寄存器,可能的内存地址数是M=2^k。
4.总线:在计算机系统中,使得数据从一个位置传送到另一个位置的物理连接叫做总线。
指令类型
1.在计算机中,大多数指令对一个或多个源数据进行某种操作,产生一个或多个结果数据。这些操作可以是数据移动或装入操作,也可以是加减法操作,可以是输入输出操作。
2.只有操作系统可以使用的指令称为特权指令。例如HALT指令(中断指令)。IO指令也属于这一类。其他指令还有内存管理指令,加密和解密指令,系统管理指令。用户可以使用的指令称为应用级指令或用户可访问指令。不执行特权指令的程序在用户空间执行。
3.常见指令。
a) 数据移动指令。
b) 算术指令
c) 布尔逻辑指令
d) 单操作数指令
e) 位操作指令
f) 移位和循环移位指令
g) 程序控制指令
h) 栈指令。PUSH和POP指令
i) 多数据指令。应用于多媒体领域。
j) 输入、输出指令和机器控制指令。