微型计算机系统的基本组成
微型计算机系统由运算器、控制器、存储器、输入设备和输出设备五大部分组成。
运算器是计算机中处理数据的核心部件,主要由执行算术运算和逻辑运算的算术逻辑单元 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 + 偏移地址
[^]: 注:本篇中所有配图均来自《汇编语言程序设计实用教程》–任向民 ,如有侵权,请联系作者删除!