微型计算机系统的基本组成

微型计算机系统由运算器、控制器、存储器、输入设备和输出设备五大部分组成。

运算器是计算机中处理数据的核心部件,主要由执行算术运算和逻辑运算的算术逻辑单元 ALU 、存放操作数和中间结果的寄存器组以及连接各部件的数据通路组成。

控制器是计算机中控制管理的核心部件。

存储器是用来存储数据和程序的部件。

主存储器:

又称内存,用来存放正在运行的程序和数据,可直接与运算器及控制器交换信息。按照存取方式,又分为随机存取存储器 RAM 和只读存储器 ROM 两种。

辅助存储器:

用来存放多种大信息量的程序和数据,可以长期保存。

输入输出设备又称外部设备,是与计算机主机进行信息交换,实现人机交互的硬件环境。

微型计算机的系统结构

微处理器 CPU 是由计算机的运算器、控制器以及其相关部件集成的中央处理器。

系统总线是将计算机各部件联系在一起的一组公共信号线。根据总线传送的信号类型,分为数据总线、地址总线和控制总线。

数据总线 DB :

是传输数据和指令代码的信号线,数据总线是双向的,数据可从其他部件传送至 CPU,也可从 CPU 传送到其他部件。

地址总线 AB :

是传送 CPU 所要访问的存储单元或输入输出接口地址的信号线,地址总线是单向的。

控制总线 CB :

是管理总线上活动的信号线,用来实现 CPU 对其他部件的控制、状态等信息的传送以及中断信号的传送。

微型计算机的性能指标

字长:

指 CPU 能够同时处理的比特数目。字长约长,计算精度越高,处理能力越强。

主频:

CPU 的时钟频率,是 CPU 内核(整数和浮点数运算器)电路的实际运行频率。主频越高,单位时间内完成的指令数越多。

运算速度:

一般以计算机单位时间内执行的指令条数表示运算速度,单位是 MIPS (每秒百万条指令数)。

内存容量:

指内存储器能够存储信息的总字节数,以 KB、MB、GB 为单位,反映了内存储器存取数据的能力。

存取周期:

指内存进行一次读写访问操作所需的时间。

8086微处理器

8086微处理器分为两大功能部件,执行部件 EU 和总线接口部件 BIU。

执行部件 EU :

由一个16位的 ALU ,8个16位的通用寄存器,一个16位的状态标志寄存器,一个数据暂存寄存器和执行部件的控制电路组成。

总线部件 BIU :

由4个16位的段地址寄存器(代码段寄存器 CS、数据段寄存器 DS、堆栈段寄存器 SS和附加段寄存器 ES),一个16位指令寄存器 IP ,一个6字节指令队列缓冲器,20位地址加法器和总线控制电路组成。

8086的寄存器:

通用寄存器:

通用寄存器可分为数据寄存器和地址指针寄存器。

数据寄存器:

一般用来存放16位数据,主要用来保存操作数或运算结果等信息。

包括4个16位的寄存器 AX(累加器)、BX(基址寄存器)、CX(计数寄存器)、DX(数据寄存器)。其中每一个又可以根据需要将高8位和低8位分出独立的两个8位寄存器来使用,即 AH、BH、CH、DH、AL、BL、CL、DL。

地址指针寄存器:

主要用于存放某个存储单元地址的偏移,或某组存储单元开始地址的偏移,作为存储器指针使用。地址指针寄存器不能分解为8位寄存器使用。

包括指针寄存器 SP(堆栈指针)、 BP(基址指针)和变址寄存器 SI(源变址寄存器)、DI(目的变址寄存器)。

指针寄存器:

指令指针寄存器 IP 用于存放 EU 要执行的下一条指令的偏移地址,用以控制程序中指令的执行顺序,实现对代码段指令的跟踪。

标志寄存器:

8086 CPU 中有一个16位的标志寄存器,共9个标志,用于反映处理器的状态和运算结果的某些特征,其中6个用着状态标志,主要受加减运算和逻辑运算结果的影响,3个用作控制标志,不受运算结果的影响。

状态标志有以下几种:

状态标志 说明
进位标志 CF 产生进位或错误时 CF=1,否则为0。
奇偶标志 PF 操作结果低8位中1的个数位偶数时 PF=1,否则为0。
辅助进位标志 AF 在进行算术运算时,如低字节中低4位产生进位或错位是 AF=1,否则为0。
零标志位 ZF 当操作结果为0时,,ZF=1,否则为0。
符号标志 SF 操作结果看作有符号数时,结果为负,SF=1,否则为0。
溢出标志 OF 当运算结果超出补码表示数的范围时,即溢出,此时OF=1,否则为0。

控制标志有以下几种:

控制标志 说明
单步标志 TF 当 TF=1 时,CPU在执行完一条指令后产生单步中断,然后由单步中断服务程序把 TF 置0。
中断允许标志 IF 允许 CPU 响应可屏蔽外中断请求,当 IF=0 时,禁止 CPU 响应可屏蔽外中断。
方向标志 DF 用于串操作指令,当 DF=0 时,串操作的地址指针自动递增,当 DF=1 时,自动递减。

段寄存器:

8086CPU 共有4个16位的段寄存器,4个段寄存器的功能如下:

代码段寄存器 CS:用来存放当前代码段(将被执行的程序)的首地址的高16位,首地址的低4位为0。

数据段寄存器 DS:用来存放当前数据段(将被执行程序所用的操作数)的首地址的高16位,首地址的低4位为0。

附加段寄存器 ES:用来存放当前附加段(将被执行程序所用的操作数)的首地址的高16位,首地址的低4位为0。

堆栈段寄存器 SS:用来存放当前堆栈段(将被执行程序所用的堆栈)的首地址的高16位,首地址的低4位为0。

8086存储器组织

存储器结构:

8086微处理器有20根地址线,可寻址 1MB 的存储空间,其物理地址范围为 00000H–FFFFFH。在组成与 8086CPU 连接的存储器时,1MB 的空间被分为两个 512KB 的存储体,低位存储体(偶地址存储体)和高地址存储题(奇地址存储体)。

存储器以字节为单位进行线性组织,两个相邻的字节被称为一个‘字’,存放数据以‘高高低低’为原则。假设 20000H 的字节存储单元中的内容为 34H ,20001H 的字节存储单元中的内容为 12H ,则地址为 20000H 的字节单元内容为 34H ,地址为20000H 的字单元内容为 1234H。

逻辑地址和物理地址:

逻辑地址:

各逻辑段的起始地址必须是能被16整除的地址,即逻辑段的起始地址的低4位二进制数必须是0,一个段的起始地址的高16位被称作该段的地址。CPU 对存储单元内的数据进行处理时,使用的是逻辑地址来指定存储器,逻辑地址由段地址和偏移地址两部分组成。

格式: 段地址:偏移地址

物理地址:

物理地址就是存储单元的实际地址,在 CPU 通过总线对存储器进行操作时,需利用物理地址来查找所需要访问的存储单元。

逻辑地址与物理地址的关系如下:

物理地址 = 段地址 * 10H + 偏移地址


[^]: 注:本篇中所有配图均来自《汇编语言程序设计实用教程》–任向民 ,如有侵权,请联系作者删除!