CPU
内存
I/O子系统
各部分以系统总线相连
CPU
计算机执行程序时,首先要将其装入内存,然后由CPU执行程序指令。
CPU的作用:
执行算术与逻辑运算。
控制指令的执行。
通常,将Intel公司生产的8086/8088、80286、80386、80486、Pentium、Pentium Pro、Pentium II、Pentium III、Pentium 4 及其兼容的CPU,统称为80x86 CPU或x86 CPU,将基于这些CPU的计算机,称为80x86计算机或x86计算机。
系统总线
总线是部件之间进行数据(电信号)交换的通道。
80x86计算机的系统总线分为3类:
数据总线
地址总线
控制总线
1.数据总线
数据总线是用来传递数据的,定义了CPU在每个内存周期所能存取数据的位数。
80x86系列CPU的数据总线为8位、16位、32位或64位。这就是“为什么通常的数据存取是以8位、16位、32位或64位进行的”。
数据总线越宽,处理能力越强。
具有N位数据总线并不意味着CPU只能处理N位数据。
2.地址总线
地址总线用来指出数据的地址(内存或I/O)。
地址总线的位数决定了最大可编址的内存与I/O空间。
对于N位地址总线,CPU可以提供2N个不同地址:0~2N -1。
地址总线由内存与I/O子系统共享使用(I/O只用低16位)。
3.控制总线
控制总线用来控制CPU与内存和I/O设备之间的数据传送方式(如传送方向)。
内存
内存是存放指令和数据的部件,由若干内存单元构成。
80x86的内存以字节编址:每个内存单元有唯一的地址,可存放1个字节。
要正确理解内存单元的2个要素:地址(编号)与值(内容)。
1个字占据2个相邻的内存单元;低字节在低地址单元,高字节在高地址单元;字的地址由其低地址来表示。双字也类似。
同一地址可以看作是字节、字或双字单元的地址,取决于具体的使用方式。
I/O 子系统
每个I/O设备必须通过专门的I/O接口电路与主机(CPU和内存)相连。
I/O端口:即I/O地址,是区分I/O设备及其寄存器的编号。
80x86 的I/O端口为16位。
I/O端口类似于内存单元,只是对应于I/O设备。
大多数设备使用多个I/O端口(数据端口、状态端口等)。
CPU是通过端口与I/O设备通信的。
#80x86 CPU的寄存器组
1. 通用寄存器
8位通用寄存器8个:AL、AH、BL、BH、CL、CH、DL、DH。
16位通用寄存器8个:AX、BX、CX、DX、SI、DI、BP、SP。
32位通用寄存器8个:EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP。
AL与AH、BL与BH、CL与CH、DL与DH分别对应于AX、BX、CX和DX的低8位与高8位。AX、BX、CX、DX、SI、DI、BP和SP分别对应于EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP的低16位。
2. 专用寄存器
指令指针:EIP(32位)、IP(16位)。IP是EIP的低16位。
标志寄存器:EFLAGS(32位)、FLAGS(16位)。FLAGS是EFLAGS的低16位。
3. 段寄存器
6个16位的段寄存器:CS、DS、ES、SS、FS和GS。
FS、GS以及所有32位寄存器是从80386 CPU开始引入的。