重点:
8086/8088、寻址方式、汇编指令、转移指令、中断、8253、8255、8259
必须知道的基础就不标★了
一、8086/8088
1、 简述微机的组成及功能★
微机主要有存储器、I/O设备和I/O接口、CPU、系统总线、操作系统和应用软件组成,各部分功能如下:
CPU
:统一协调和控制系统中的各个部件
系统总线
:传送信息
存储器
:存放程序和数据
I/O设备
:实现微机的输入输出功能
I/O接口
:I/O设备与CPU的桥梁
操作系统
:管理系统所有的软硬件资源
2、 说明微型计算机系统的工作过程
微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。
3、微型计算机系统由哪些功能部件组成?试说明”存储程序控制”的概念。★
微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备
组成。
“存储程序控制
”的概念可简要地概括为以下几点:
① 计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。
② 在计算机内部采用二进制来表示程序和数据。
③ 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。
④ 五大部件以运算器为中心进行组织。
4、 冯·诺依曼计算机的基本设计思想是什么?★
采用二进制形式表示数据和指令。指令由操作码和地址码组成
。
将程序和数据存放在存储器中,计算机在工作时从存储器取出指令加以执行,自动完成计算任务。这就是“存储程序”和“程序控制”(简称存储程序控制)的概念。
指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。 计算机由存储器、运算器、控制器、输入设备和输出设备五大基本部件组成,并规定了5部分的基本功能。
5、 简述微型计算机总线的性能指标★
微型计算机总线的主要职能是负责计算机各模块间的数据传输,对总线性能的衡量也是围绕这一性能而进行的。性能中最重要的是数据传输率,另外,可操作性、兼容性和性能价格比也是很重要的技术特征。具体来说,总线的主要性能指标有以下几项:
(1)总线宽度
:以位数表示。
(2)标准传输率Mb/s
:是总线工作频率与总线宽度的字节数之积。
(3)时钟同步/异步
:总线中与时钟同步工作的称为同步总线;与时钟不同步工作的称为异步总线。这取决于数据传输时源模块与目标模块间的协议约定。
(4)信号线数:这是地址总线、数据总线和控制总线线数的总和。信号线数和系统的复杂程度成正比关系。
(5)负载能力
:以系统中可以连接的扩展电路板数表示。
(6)总线控制方法:包括突发传输、并发工作、自动配置、仲裁方式、逻辑方式、中断方式等项内容。
(7)扩展板尺寸:这项指标对电路板生产厂家很重要。
(8)其他指标:电源是5V还是3V,能否扩展64位宽度等。
任何系统的研制和外围模块的开发,都必须服从其采用的总线规范。
6、 8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什么?
按功能可分成两大部分:执行单元
和总线接口单元
。
总线接口部件 (BIU)
- 4 个16位的段地址寄存器
CS
代码段地址寄存器 ,代码段用于存放指令代码DS
数据段地址寄存器ES
附加段地址寄存器 ,数据段和附加段用来存放操作数SS
堆栈段地址寄存器 ,堆栈段用于存放返回地址,保存寄存器内容
- 16位的
指令指针寄存器 IP
其内容为下一条要执行的指令的偏移地址。 - 20位的
地址加法器
6字节的指令队列缓冲器
执行部件(EU)
4个通用寄存器
AX
累加器。多用于存放中间运算结果BX
基址寄存器。在间接寻址中用于存放基地址CX
计数寄存器。用于在循环或串操作指令中存放循环次数或重复次数DX
数据寄存器
4个专用寄存器
- 基数指针寄存器
BP
常用于在访问内存时存放内存单元的偏移地 - 堆栈指针寄存器
SP
其内容为栈顶的偏移地址 - 源变址寄存器
SI
- 目的变址寄存器
DI
变址寄存器常用于指令的间接寻址或变
状态标志寄存器 F
状态标志寄存器 F9个标志位,6个状态标志位:CF PF AF ZF SF OF3个控制标志位 : TF IF DF
9个标志位,
6个状态标志位:CF PF AF ZF SF OF
3个控制标志位 : TF IF DF
CF
: 进位标志位——运算结果的最高位有进位或有借位,有进位借位CF=1
PF
:奇偶标志位——运算结果低 8 位中“1”的个数为偶数时PF=1,奇数为0
AF
:辅助进位标志位——运算结果的低四位有进位或借位,有进位借位AF=1
ZF
:零标志位——运算结果为0时ZF=1,不得0时ZF=0
SF
:符号标志位——运算结果(最高位)为负,就置1;结果为正,就置0
TF
:定时器溢出标志——对程序进行单步跟踪
IF
:中断允许标志位——1响应可屏蔽中断请求,0不响应可屏蔽中断请求
DF
:方向标志位——方向标志位,1减地址,0增地址
OF
:溢出标志位——运算结果有溢出OF=1,无溢出OF=0
算数逻辑部件ALU (算术运算和逻辑运算)
7、 8086的存储器空间最大可以为多少?怎样用16位寄存器实现对20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?★
8086的存储器空间最大可以为220(1MB)
8086计算机引入了分段
管理机制,当CPU寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址,即在8086系统中,物理地址=段地址×10H+偏移地址
。
8、 8086对存储器的管理为什么采用分段的办法?★
8086是一个16位的结构,采用分段管理办法可形成超过16位的存储器物理地址,扩大对存储器的寻址范围 (1MB,20位地址)。若不用分段方法,16位地址只能寻址64KB空间
9、什么是8086中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?
物理地址:
在处理器地址总线上输出的地址称为物理地址。每个存储单元有一个唯一的物理地址
。
逻辑地址:
在处理器内部、程序员编程时采用逻辑地址,采用“段地址:偏移地址“形式。某个存储单元可以有多个逻辑地址,即处于不同起点的逻辑段中,但其物理地址是唯一的。
逻辑地址转换成物理地址
:逻辑地址由处理器在输出之前转换为物理地址。将逻辑地址中的段地址左移二进制4位(对应16进制是一位,即乘以16),加上偏移地址就得到20位物理地址。
10、 8086/8088微处理器内部有哪些寄存器,它们的主要作用是什么?
执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI
。AX、BX、CX、DX一般作为通用数据寄存器。SP为堆栈指针存器,BP、DI、SI在间接寻址时作为地址寄存器或变址寄存器。
总线接口部件设有段寄存器CS、DS、SS、ES
和指令指针寄存器IP
。段寄存器存放段地址,与偏移地址共同形成存储器的物理地址。IP的内容为下一条将要执行指令的偏移地址,与CS共同形成下一条指令的物理地址。
11、8086/8088的引线及功能★★★★★
分两种:一种8088组态有关的线,另一类是与组态无关的线
(1)MN/MX 控制8088工作与什么组态。接电源(+5V),8088处于最小组态,接地,8088处于最大组态
(2)最小组态下的控制信号线
IO/M
输入输出/存储器选择信号.输出低电平→访存;输出高电平→访问I/O端口
WR
写信号.低电平有效,在执行存储器或I/O端口的写操作时输出的一个选通信号
INTA
中断响应信号.低电平有效.是8088响应外部INTR而发出的中断响应信号
ALE
地址锁存允许信号. 是8088发出的选通脉冲,将AD7~AD0和A19/S6 A16/S3上出现的地址锁存到外部地址锁存器中
DT/R
数据发送/接收信号. 低电平→接收数据,高电平→发送数据
DEN
数据允许信号.低电平有效
SSO
系统状态输出信号.与IO/M、DT/R一起,反映8088所执行的操作
HOLD
保持请求信号.用于直接存储器存取操作,即DMA请求输入信号
HLDA
保持响应信号.DMA响应回答信号
(3)最大组态下的控制信号线
S2,S1,S0
3个状态信号. 其译码输出作为8088工作在最大组态时,对存储器和I/O端的口读/写操作信号. 3个状态信号与CPU所执行的操作见P67,表4-2
RQ/GT0、RQ/GT1
总线请求/允许信号. 双向,低电平有效. 两个外设同时发出总线请求时,RQ/GT0优先权高于RQ/GT1
LOCK
锁定信号.低电平有效.该信号由前缀指令LOCK使其有效;有效时,别的总线设备不能取得对系统3总线的控制权
QS0,QS1
队列状态信号.用于提供8088指令队列状态
(4)与组态无关的引线
RD
读选通信号.低电平时有效,表示正在进行存储器或I/O读操作
READY
准备就绪信号.是CPU寻址的存储器或I/O口送来的响应信号
TEST
测试信号.它是由WAIT指令测试的信号.低电平时,执行WAIT后面的指令;高电平时,CPU进入空转等待状态
INTR
中断请求信号.它是外设发来的可屏蔽中断请求信号,可由标志寄存器中的中断允许标志位来屏蔽
NMI
非屏蔽中断请求信号.它是边沿触发信号,是不可屏蔽的
RESET
复位信号
VCC 电源线
要求加5V±10%的电压
GND 地线
8086/8088有两条地线,这两条地线都要接地
CLK 时钟信号
一般由时钟信号发生器8284输出,它提供8088的定时操作.8088的标准时钟频率为5MHz
12、 INTR、INTA、NMI、ALE、HOLD、HLDA引脚的名称各是什么?
INTR是可屏蔽请求信号
中断响应信号
NMI是不可屏蔽中断请求信号
ALE是地址锁存允许信号
HOLD总线请求信号
HLDA总线请求响应信号。
13、 在8086CPU中,BHE信号的作用是什么?试说明当CPU访问存储单元的起始地址为奇地址或偶地址、一次读写一个字节或一个字时,BHE和A0各自的状态
在 8086CPU 中,BHE 信号是高 8 位允许,若BHE 为 0 则表示数据总线的高 8 位(D8~D15)有效,若BHE 为 1,高 8 位无效。当 CPU 访问存储单元的起始地址为奇地址、并且一次读写一个字节时,BHE 为 0,A0 为 1;当起始地址为偶地址、一次读写一个字节时,BHE 为 1,A0=0;当起始地址为奇地址、一次读写一个字时,CPU 需要两次访问存储器,即需要 2 个总线周期,第一个总线周期BHE 为 0,A0 为 1,从奇地址读一个字节;第二个总线周期BHE 为 1,A0 为 0,从偶地址读一个字节。当起始地址为偶地址、一次读写一个字时,BHE 为 0,A0 为 0,为对准好的字,只需要启动一次总线操作。
13、8086微处理器有哪几种工作模式?各有什么特点?
8086微处理器有最大和最小工作模式。
在最小模式
下:8086 CPU直接产生全部总线控制信号
(DT/R,DEN,ALE,M/IO)和命令输出信号
(RD,WR,INTA)并提出请求访问总线的逻辑信号HOLD,HLDA。
14、 在8088的工作过程中,什么情况下会产生Tw?具体发生在什么时刻?
当8088进行读写存储器或I/O接口时,如果存储器或I/O接口无法满足CPU的读写时序(来不及提供或读取数据时),需要CPU插入等待状态Tw。在读写总线周期的T3和T4之间插入Tw
。
15、为什么8088需要用地址锁存器?★
8088在访问存储器或I/O设备时,低8位/高4位地址与数据/状态分时复用
,先输出地址,后输出数据/状态,为了不使先送出的地址丢失,用8088组建系统时,必须用地址锁存器
16、什么是指令周期,总线周期,时钟周期
时钟周期
是 CPU 工作的时间基准,由计算机的主频决定。时钟周期又称为 T 状态。
总线周期
是 CPU 完成一次访问存储器或 I/O 端口操作所需要的时间。
执行一条指令所需要的时间称为指令周期
17、为什么说8088CPU是准16位处理器?8086CPU是16位处理器?
8088的外部数据总线宽度是8位,内部数据总线宽度是16位,所以被称为准16位处理器
8086的外部数据总线宽度是16位,内部数据总线宽度是16位,所以被称为16位处理器
18、在最小模式下,8086CPU一个基本的总线周期一般由几个时钟周期组成?以读总线周期为例,请说明在每个时钟周期中,CPU做了哪些工作?**★
8086 一个基本的总线周期由 4 个时钟周期(T1,T2,T3,T4)组成
T1
:CPU 向数据/地址分时复用总线上发出访问存储器或 I/O 端口的地址信息。
T2
:CPU 从总线上撤销地址,发出 读控制信号,使复用总线的低 8 位处于高阻状态
T3
:数据/地址分时复用总线的低 8 位上出现从内存或 I/O 端口读入的数据。
T4
:8086 完成数据传送,控制信号变为无效,结束总线周期。
19、8086系统中的寻址空间采用什么节奏,用什么信号作为体选信号
8086系统中的存储器空间采用分体结构
。将1MB的存储器空间分为奇地址存储体
和偶地址存储体,各为512KB。奇地址存储体的数据线与系统数据总线高八位相连,用BHE=0作为选通信号。偶地址存储体的数据线与系统数据总线低八位相连,用A0=0作为选通信号。
20、在8086CPU构成的系统中,什么是存储器的规则字和非规则字?8086微处理器对一个规则字和一个非规则字读写时,有什么差别?
①规则字是在存储器中存储的起始地址为偶数(地址最低位 A0为 0)的字数据,非规则 字是指在存储器中存储的起始地址为奇数(地址最低位 A0为 1)的字数据
②规则字读写需要一个总线周期,发送 A0为 0,BHE 为 0,一个总线周期读写一个字。
③非规则字读写需要两个总线周期。第一个总线周期读写时先读取偶存储体(或偶地址) 数据,A0为 1,BHE 为 0,取得高 8 位数据,第二个总线周期读取奇存储体(奇地址)数 据,A0为 0,BHE 为 1,取得低 8 位数据