计算机接口技术复习提纲分解.docx
《计算机接口技术复习提纲分解.docx》由会员分享,可在线阅读,更多相关《计算机接口技术复习提纲分解.docx(34页珍藏版)》请在冰豆网上搜索。
计算机接口技术复习提纲分解
计算机接口技术复习提纲2012级
参考题型及分值
一、单项选择题,30分,每小题1分
二、判断题,10分,每小题1分
三、填空题,15分,每空1分
四、简答题,25分
五、应用题,20分
第2和4章
1、8086两个独立功能部件的名称,组成及功能。
答:
8086的两个独立功能部件为总线接口单元(BIU)、执行单元(EU)。
总线接口单元(BIU)组成:
指令队列、指令指针(IP)、段寄存器、地址加法器、总线控制逻辑
总线接口单元(BIU)功能:
管理8086与系统总线的接口;负责CPU对存储器和外设进行访问
执行单元(EU)组成:
ALU、通用寄存器、地址寄存器、标志寄存器、指令译码逻辑
执行单元(EU)功能:
负责指令的译码、执行;数据的运算
补充:
两个单元相互独立,分别完成各自操作,所以可以并行执行,实现指令预取(指令读取和执行的流水线操作)
2、8个通用寄存器和4个段寄存器名称、作用和指令指针IP的功能
答:
8个通用的16位寄存器名称:
4个数据寄存器:
累加器(AX)、基址寄存器(BX)、计数器(CX)、数据寄存器(DX)
2个变址寄存器:
源地址寄存器(SI)、目的地址寄存器(DI)
2个指针寄存器:
基址指针(BP)、堆栈指针(SP)
4个数据寄存器还可以分成高8位和低8位两个独立的寄存器,这样又形成8个通用的8位寄存器
AX:
AHALBX:
BHBL
CX:
CHCLDX:
DHDL
8个通用的16位寄存器作用:
累加器(AX):
使用频度最高。
用于算术运算、逻辑运算以及与外设传送信息等
基址寄存器(BX):
常用做存放存储器地址
计数器(CX):
作为循环和串操作等指令中的隐含计数器
数据寄存器(DX):
常用来存放双字长数据的高16位或存放外设端口地址
源地址寄存器(SI)和目的地址寄存器(DI):
常用于存储器变址寻址方式时提供地址
堆栈指针寄存器(SP):
指示堆栈段栈顶的位置(偏移地址)
基址指针寄存器(BP):
表示数据在堆栈段中的基地址
基址指针(BP)和堆栈指针(SP):
用于指向堆栈段中的数据单元
SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址
4个16位段寄存器名称:
代码段寄存器(CS)、堆栈段寄存器(SS)、数据段寄存器(DS)、附加段寄存器(ES)
代码段寄存器(CS):
指明代码段的起始地址
堆栈段寄存器(SS):
指明堆栈段的起始地址
数据段寄存器(DS):
指明数据段的起始地址
附加段寄存器(ES):
指明附加段的起始地址
每个段寄存器用来确定一个逻辑段的起始地址,每种逻辑段均有各自的用途
指令指针寄存器(IP)功能:
指示当前指令在代码段的偏移位置。
补充:
寄存器、存储器和外存的区别
寄存器是处理器(CPU)内部暂存数据的存储单元,以名称表示,例如:
AX,BX..….等
存储器也就是平时所说的主存,也叫内存,可直接与CPU进行数据交换。
主存利用地址区别
外存主要指用来长久保存数据的外部存储介质,常见的有硬盘、光盘、磁带、U盘等。
外存的数据只能通过主存间接地与CPU交换数据,程序及其数据可以长久存放在外存,在运行需要时才进入主存。
3、存储器存储单元如何存储数据及表示方法,逻辑地址和物理地址概念,20位物理地址的生成
答:
计算机存储信息的基本单位是位(bit);在存储器里以字节为单位存储信息,为了区分每个字节单元,将他们编号,称为存储器地址。
字或双字在存储器里占相邻的2个或4个存储单元;低字节对低地址,高字节对高地址。
8088存储系统中,对应每个物理存储单元都有一个唯一的20位编号,就是物理地址,其物理取值范围从00000H~FFFFFH
逻辑地址:
段基地址:
偏移地址
物理地址14700H与逻辑地址1460H:
100H表示同一存储单元
4、标志寄存器中的状态标志位,控制标志位分别有哪些,何时为1,何时为0?
表示什么意思?
答:
标志:
用于反映指令运行结果或控制指令执行形式,标志寄存器中的各种标志分成了两类:
6个状态标志和3个控制标志。
状态标志:
用于记录程序运行结果的状态信息
CF—进位标志。
当加减运算结果的最高有效位有进位(加法)或借位(减法)时CF=1或者CF=0
ZF—零标志。
若运算结果为0,则ZF=1;否则ZF=0
SF—符号标志。
运算结果最高有效位为1,则SF=1;否则SF=0
PF--奇偶标志。
当运算结果最低字节(8位)中“1”的个数为零或偶数时,PF=1;否则PF=0。
仅反映运算结果最低字节。
OF—溢出标志。
若运算结果有溢出,则OF=1;否则OF=0。
AF--辅助进位标志。
运算时D3位(低半字节)有进位或借位时,AF=1;否则AF=0。
控制标志:
由程序根据需要用指令设置,用于控制处理器执行指令的方式。
DF--方向标志。
用于串操作指令中,控制地址的变化方向。
若设置DF=1,每次串操作后存储器地址自动减少;若设置DF=0,每次串操作后存储器地址自动增加。
IF--中断允许标志。
控制外部可屏蔽中断是否可以被处理器响应。
若设置IF=1,则允许中断;若设置IF=0,则禁止中断。
TF—陷阱标志(或称单步标志)。
用于控制处理器进入单步操作方式:
设置TF=1,处理器单步执行指令;设置TF=0,处理器正常工作。
5、8086的引脚中控制引脚的作用,控制引脚高低电平所表示的状态操作。
答:
控制处理器与存储器及I/O接口进项数据传输。
MX表示高电平有效;上划线(如:
——MX)或星号(如:
MX*)表示低电平有效
6、系统的复位后,相关寄存器的值。
答:
系统的复位后,标志寄存器、IP、DS、SS、ES和指令队列置0,CS置全1。
处理器从FFFF0H存储单元取指令并开始执行。
7、总线周期、时钟周期
答:
总线周期是指CPU通过总线操作与外部(存储器或I/O端口)进行一次数据交换的过程。
8088的基本总线周期需要4个时钟周期,4个时钟周期编号为T1、T2、T3和T4,总线周期中的时钟周期也被称作“T状态”,时钟周期的时间长度就是时钟频率的倒数。
当需要延长总线周期时插入等待状态Tw。
8、数据的7种寻址方式,包括指令的格式,指令的正误判断、存储器寻找的默认搭配关系等
答:
补充1:
指令中的操作数:
可以是一个具体的数值、存放数据的寄存器、指明数据在主存位置的存储器地址
补充2:
操作数采取哪一种寻址方式,一方面会影响处理器执行指令的速度和效率;另一方面对程序设计也很重要
数据的7种寻址方式:
(1)立即数寻址方式:
指令中的操作数直接存放在机器代码中,紧跟在操作码之后(操作数作为指令的一部分存放在操作码之后的主存单元中)
立即数寻址方式常用来给寄存器和存储单元赋值,多以常量形式出现
格式:
MOVAX,0102H;AX←0102H
(2)寄存器寻址方式:
操作数存放在CPU的内部寄存器reg中
寄存器名表示其内容(操作数)
格式:
MOVAX,BX;AX←BX
(3)存储器寻址方式(1、直接寻址方式;2、寄存器间接寻址方式;3、寄存器相对寻址方式;4、基址变址寻址方式;5、相对基址变址寻址方式)操作数在主存储器中,用主存地址表示
程序设计时,8088采用逻辑地址表示主存地址;段地址在默认的或用段超越前缀指定的段寄存器中,指令中只需给出操作数的偏移地址(有效地址EA)
1、直接寻址方式:
直接寻址方式的有效地址在指令中直接给出。
默认的段地址在DS段寄存器,可使用段超越前缀改变用;中括号包含有效地址,表达存储单元的内容
格式:
MOVAX,[2000H];AX←DS:
[2000H]
MOVAX,ES:
[2000H];AX←ES:
[2000H]
2、寄存器间接寻址方式:
有效地址存放在基址寄存器BX或变址寄存器SI、DI中。
默认的段地址在DS段寄存器,可使用段超越前缀改变
格式:
MOVAX,[BX];AX←DS:
[BX]
3、寄存器相对寻址方式:
有效地址是寄存器内容与有符号8位或16位位移量之和。
寄存器可以是BX、BP或SI、DI,有效地址=BX/BP/SI/DI+8/16位位移量。
段地址对应BX/SI/DI寄存器默认是DS,对应BP寄存器默认是SS;可用段超越前缀改变
格式:
MOVAX,[SI+06H];AX←DS:
[SI+06H]
MOVAX,06H[SI];AX←DS:
[SI+06H]
4、基址变址寻址方式:
有效地址由基址寄存器(BX或BP)的内容加上变址寄存器(SI或DI)的内容构成;有效地址=BX/BP+SI/DI
段地址对应BX基址寄存器默认是DS,对应BP基址寄存器默认是SS;可用段超越前缀改变
格式:
MOVAX,[BX+SI];AX←DS:
[BX+SI]
MOVAX,[BX][SI];AX←DS:
[BX+SI]
5、相对基址变址寻址方式:
有效地址是基址寄存器(BX/BP)、变址寄存器(SI/DI)与一个8位或16位位移量之和。
有效地址=BX/BP+SI/DI+8/16位位移量
段地址对应BX基址寄存器默认是DS,对应BP基址寄存器默认是SS;可用段超越前缀改变
格式:
MOVAX,[BX+DI+6];AX←DS:
[BX+DI+6]
MOVAX,6[BX+DI];AX←DS:
[BX+DI+6]
MOVAX,6[BX][DI];AX←DS:
[BX+DI+6]
9、堆栈的使用原则,进出栈SP指针的变化
答:
堆栈是一个“先进后出”的主存区域,使用SS段寄存器(堆栈段寄存器)记录段地址;堆栈只有一个出口,即当前栈顶,用堆栈指针寄存器SP指定栈顶的偏移地址。
进栈指令PUSH使堆栈指针SP减2,出栈指令POP使堆栈指针SP加2。
10、指令系统(包括MOV,PUSH,POP,XLAT,LEA,IN,OUT,ADD,ADC,
INC,SUB,SBB,DEC,NEG,CMP,TEST,逻辑运算类指令,程序转移指令,条件转移指令(JXX),重复控制指令(LOOP)中指令的格式及功能。
答:
详见课本P29-P34,P37-P44
第3章
1、伪指令(END,ORG,proc,endp),完整汇编语言源程序结构。
答:
源程序的最后必须有一条END伪指令
END[标号]
定位伪指令ORG控制数据或代码所在的偏移地址
ORG参数
ORG伪指令是将当前偏移地址指针指向参数表达的偏移地址。
例如:
ORG100h;从100H处安排数据或程序
ORG$+10;偏移地址加10,即跳过10个字节空间
汇编语言程序中,符号“$”表示当前偏移地址值
把功能相对独立的程序段单独编写和调试,作为一个相对独立的模块供程序使用,就形成子程序
汇编语言中,子程序要用一对过程伪指令PROC和ENDP声明,格式如下:
过程名PROC[NEAR|FAR]
……;过程体
过程名ENDP
子程序编写注意事项:
(1)程序要利用过程定义伪指令声明
⑵子程序最后利用RET指令返回主程序,主程序执行CALL指令调用子程序
⑶子程序中对堆栈的压入和弹出操作要成对使用,保持堆栈的平衡
⑷子程序开始应该保护使用到的寄存器内容,子程序返回前相应进行恢复
⑸子程序应安排在代码段的主程序之外,最好放在主程序执行终止后的位置(返回DOS后、汇编结束END伪指令前),也可以放在主程序开始执行之前的位置
⑹子程序允许嵌套和递归
⑺子程序可以与主程序共用一个数据段,也可以使用不同的数据段(注意修改DS),还可以在子程序最后设置数据区(利用CS寻址)
⑻子程序的编写可以很灵活,例如具有多个出口(多个RET指令)和入口,但一定要保证堆栈操作的正确性
⑼处理好子程序与主程序间的参数传递问题
⑽提供必要的子程序说明信息
完整汇编语言源程序结构
.modelsmall;定义程序的存储模式(small表示小型模式)
.stack;定义堆栈段(默认是1kB空间)
.data;定义数据段
……;数据定义
.code;定义代码段
start:
movax,@data;程序开始点
movds,ax;设置DS指向用户定义的数据段(@data表示数据段)
……;程序代码
movax,4c00h
int21h;程序终止点,返回DOS
……;子程序代码
endstart;汇编结束
2、数据定义伪指令(DB,DW)的格式,数据、字符串变量的定义,?
的用法,复制操作符DUP的用法。
答:
DB伪指令用于分配一个或多个字节单元并可以将它们初始化为指定值
db'a',-5db2dup(100),?
db'ABC'
DW伪指令用于分配一个或多个字单元,并可以将它们初始化为指定值
dw8000h
定义变量时,‘?
’表示初值不确定,即未赋初值。
多个存储单元如果初值相同,可以用复制操作符DUP进行定义。
DUP的格式:
重复次数DUP(重复次数)
3、SEG、OFFSET,EQU,=
答:
OFFSET名字/标号返回名字或标号的偏移地址
SEG名字/标号返回名字或标号的段地址
符号定义伪指令有“等价EQU”和“等号=”:
符号名EQU数值表达式
符号名EQU<字符串>
符号名=数值表达式
EQU用于数值等价时不能重复定义符号名,但“=”允许有重复赋值。
例如:
X=7;等效于:
Xqeu7
X=X+5;“XEQUX+5”是错误的
4、顺序,分支、循环结构程序段,完整汇编语言程序的编写。
答:
顺序程序设计:
没有分支、循环等转移指令的程序,会按指令书写的前后顺利依次执行,这就是顺序程序
分支程序设计:
分支程序根据条件是真或假决定执行与否
判断的条件是各种指令,如CMP、TEST等执行后形成的状态标志;转移指令Jcc和JMP可以实现分支控制
循环程序设计:
循环程序结构是满足一定条件的情况下,重复执行某段程序
循环结构的程序通常有3个部分:
循环初始部分:
为开始循环准备必要的条件,如循环次数、循环体需要的数值等
循环体部分:
指重复执行的程序部分,其中包括对循环条件等的修改程序段
循环控制部分:
判断循环条件是否成立,决定是否继续循环
第5章
1、存储容量概念
答:
芯片的存储容量=存储单元数×每个存储单元的数据位数=2M×N
M:
芯片的地址引脚个数
N:
芯片的数据引脚个数
2、存储器中的数据组织
答:
存储器芯片的主体是由大量存储单元组成的存储矩阵,每个存储单元拥有一个地址,可存储1位、4位、8位、16位、甚至32位的二进制数据。
3、存储器芯片的存储容量的表示(能根据芯片引脚计算出存储容量,也能根据容量反推出地址引脚,数据引脚数目)
答:
芯片的存储容量=存储单元数×每个存储单元的数据位数=2M×N
M:
芯片的地址引脚个数
N:
芯片的数据引脚个数
4、8位微型计算机系统中的存储器接口(能根据硬件图,推算存储容量,存储器芯片的地址范围)
答:
存储结构:
2K×8
11个地址引脚:
A10~A0;8个数据引脚:
I/O8~I/O1
3个控制引脚:
片选CS*、输出允许OE*、写入允许WE*如下图:
5、字扩展、位扩展、字位同时扩展(根据扩展容量推算需要芯片数量)
答:
芯片个数=存储器模块的容量/(芯片的存储单元数*数据位数)
64K×1存储结构的芯片构成512KB存储器模块,所需要的芯片个数是:
位扩展:
存储器芯片的数据位数小于系统存储单元数据位数;使用多个同样结构的芯片扩展数据位数;存储器芯片的数据引脚连接于系统数据总线的不同位数,其它引脚连接都一样;位扩展的芯片应被看作是一个整体。
字扩展:
使用一个同样结构的存储器芯片扩展存储单元数;数据引脚、地址引脚和读写控制引脚连接相同;片选引脚来自译码电路的不同译码输出信号,用于区别不同的地址范围。
第6、7章
1、CPU与外设交换的三种信息
答:
数据信息、状态信息、控制信息。
⑴数据寄存器
输入数据寄存器:
保存外设给CPU的数据
输出数据寄存器:
保存CPU给外设的数据
⑵状态寄存器
保存外设或接口电路的状态
⑶控制寄存器
保存CPU给外设或接口电路的命令
2、IN、OUT指令的功能
答:
输入指令(IN:
将外设数据传送给CPU内的AL/AX)
INAL,i8;字节输入
INAL,DX;字节输入
INAX,i8;字输入
INAX,DX;字输入
输出指令(OUT:
将CPU内的AL/AX数据传送给外设)
OUTi8,AL;字节输出
OUTDX,AL;字节输出
OUTi8,AX;字输出
OUTDX,AX;字输出
3、程序控制的查询数据传送方式的传送过程
答:
外设与主机的数据传送方式如下图:
无条件传送:
在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“准备好”状态,随时可以进行数据传送,这就是无条件传送。
适合于简单设备,如LED数码管、按键或按纽等
查询传送:
CPU需要先了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(准备好)实现数据输入或输出。
对多个外设的情况,则CPU按一定顺序依次查询(轮询)。
先查询的外设将优先进行数据交换;查询传送的特点是:
工作可靠,适用面宽,但传送效率低
查询传送的传送过程:
1查询环节
寻址状态口;读取状态寄存器的标志位;若不就绪就继续查询,直至准备好
2传送环节
寻址数据口;是输入,通过输入指令从数据端口读入数据;是输出,通过输出指令向数据端口输出数据
4、可屏蔽中断和不可屏蔽中断的概念;
答:
中断服务程序执行图如下。
非屏蔽中断:
外部通过非屏蔽中断请求信号向微处理器提出的中断请求,微处理器无法禁止,将在当前指令执行结束予以响应,这个中断被称为非屏蔽中断。
可屏蔽中断:
外部通过可屏蔽中断请求信号向微处理器提出的中断请求,微处理器在允许可屏蔽中断的条件下,在当前指令执行结束予以响应,同时输出可屏蔽中断响应信号,这个中断就是可屏蔽中断。
5、8086的中断系统,包括中断源的两种分类,即外部中断和内部中断(或硬中断、软中断),CPU的与外部中断有关的引脚名称,可屏蔽中断的特点;
答:
内部中断包括(除法错中断、指令中断、溢出中断、单步中断)
外部中断包括(非屏蔽中断、可屏蔽中断)
内部中断是由于8088内部执行程序出现异常引起的程序中断;利用内部中断,微处理器为用户提供了发现、调试并解决程序执行时异常情况的有效途径;例如,ROM-BIOS和DOS系统利用内部中断为程序员提供了各种功能调用;内部中断的中断向量号已定;内部中断的原因是处理器执行程序出现异常,所以经常被称为异常(Exception)。
外部中断是由于8088外部提出中断请求引起的程序中断;利用外部中断,微机系统可以实时响应外部设备的数据传送请求,能够及时处理外部意外或紧急事件;外部中断的原因是处理器外部随机产生的,所以是真正的中断。
CPU的与外部中断有关的引脚名称:
可屏蔽中断的特点:
8088的可屏蔽中断请求和响应信号分别是INTR和INTA*;由IF标志控制可屏蔽中断是否允许响应;向量号来自外部中断控制器;8088通常需要配合中断控制器8259A共同处理可屏蔽中断;可屏蔽中断主要用于主机与外设交换数据。
6、8086的中断优先级;
答:
查询中断的顺序,决定了各种中断源的优先权。
优先权由高到低分别是:
软件中断(除法错中断、指令中断、溢出中断)
非屏蔽中断
可屏蔽中断
单步中断
7、编写程序段将中断服务程序的入口地址填入中断向量表,已知中断向量表的分配情况,求某中断源的中断服务程序的入口地址;
答:
中断服务程序的入口地址(首地址);逻辑地址含有段地址CS和偏移地址(32位);每个中断向量的低字是偏移地址、高字是段地址,需占用4个字节;8088微处理器从物理地址000H开始,依次安排各个中断服务程序入口地址,向量号也从0开始;256个中断占用1KB区域,就形成中断向量表。
N号中断程序入口地址所在的物理地址=N×4。
内部中断服务程序:
编写内部中断服务程序与编写子程序类似
利用过程定义伪指令PROC/ENDP
第1条指令通常为开中断指令STI
最后用中断返回指令IRET
通常采用寄存器传递参数
主程序需要调用中断服务程序
调用前,需要设置中断服务程序入口地址
设置必要的入口参数
利用INTn指令调用中断服务程序
处理出口参数
8、8259的主要功能,中断优先权管理方式(完全嵌套,自动循环)特点;
答:
Intel8259A是可编程中断控制器PIC;用于管理Intel8080/8085、8086/8088、80286/80386的可屏蔽中断
8259A的基本功能
一片8259A可以管理8级中断,可扩展至64级
每一级中断都可单独被屏蔽或允许
在中断响应周期,可提供相应的中断向量号
8259A设计有多种工作方式,可通过编程选择
8259A的内部结构和引脚:
中断请求寄存器IRR
保存8条外界中断请求信号IR0~IR7的请求状态
Di位为1表示IRi引脚有中断请求;为0表示无请求
中断服务寄存器ISR
保存正在被8259A服务着的中断状态
Di位为1表示IRi中断正在服务中;为0表示没有被服务
中断屏蔽寄存器IMR
保存对中断请求信号IR的屏蔽状态
Di位为1表示IRi中断被屏蔽(禁止);为0表示允许
与处理器接口:
9、根据8259A的级联情况,会确定ICW3;
答:
中断级连:
一个系统中,8259A可以级连,有一个主8259A,若干个(最多8个)从8259A
级连时,主8259A的三条级连线CAS0~CAS2作为输出线,连至每个从8259A的CAS0~CAS2
每个从8259A的中断请求信号INT,连至主8259A的一个中断请求输入端IR
主8259A的INT线连至CPU的中断请求输入端
SP*/EN*在非缓冲方式下,规定该8259A是主片(SP*=1)还是从片(SP*=0)
8259A的中断过程:
8259A的工作方式:
10、掌握8259A的ICW2的设置方法;
答:
8259A的编程:
初始化编程
8259A开始工作前,必须进行初始化编程
给8259A写入初始化命令字ICW
中断操作编程
在8259A工作期间
可以写入操作命令字OCW将选定的操作传送给8259A,使之按新的要求工作
还可以读取8259A的信息,以便了解他的工作状态
1.初始化命令字ICW
初始化命令字ICW最多有4个
8259A在开始工作前必须写入
必须按照ICW1~ICW4顺序写入
ICW1和ICW2是必须送的
ICW3和ICW4由工作方式决定
ICW1:
ICW2:
ICW3:
8259A芯片的初始化流程:
中断工作过程:
第8、10、11章
1、8255A的端口地址数量、I/O通道数、通道位数、各通道能使用的工作方式,接口功能等基本概念;
答:
8255A(并行接口电路),具有多种功能的可编程并行接口电路芯片。
最基本的接口电路:
三态缓冲器和锁存器
与CPU间、与外设间的接口电路:
状态寄存器和控制寄存器
端口的译码和控制电路、中断控制电路
8255A共