重点复习.docx
《重点复习.docx》由会员分享,可在线阅读,更多相关《重点复习.docx(16页珍藏版)》请在冰豆网上搜索。
重点复习
第一章(选择填空为主)
1、四种进制
二进制B,十进制D,八进制O,十六进制H
2、进制之间的转换
(1)二进制——十进制之间的转换(除2取余,乘2取整)
1101.01=1*23+1*22+0*21+1*20+0*2-1+1*2-2
8.125=1000.001(8除2取余等于1000,0.125乘2取整等于001)
(2)、二进制——十六进制之间的转换
1010.0101=A.5
整数部分每4位写成一位16进制数,不足4位则在左侧补0。
小数部分每4位写成一位16进制数,不足4位在右侧补0
(3)十六进制——十进制(二进制作为中间值)
2、机器数与真值
机器数:
在计算机中数据和符号全部数字化,最高位为符号位,且用0表示正、1表示负,那么把包括符号在内的一个二进制数我们称为机器数,机器数有原码、反码和补码三种表示方法。
采用二进制表示形式的连同数符一起代码化了的数据,在 计算机中统称为机器数或机器码.而与机器数对应的用正,负符号加绝对值来表示的实际数值称为真值.
比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011。
如果是 -3 ,就是 10000011 。
那么,这里的 00000011 和 10000011 就是机器数。
真值:
用“+”、“—”号表示的二进制数。
机器数因为第一位是符号位,所以机器数的形式值就不等于真正的数值。
例如上面的有符号数 10000011,其最高位1代表负,其真正数值是 -3 而不是形式值131(10000011转换成十进制等于131)。
所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。
例:
0000 0001的真值 = +000 0001 = +1
1000 0001的真值 = -000 0001 = -1
原码就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码表示法规定:
正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码表示法规定:
正数的补码与其原码相同;负数的补码是在其反码的末位加1。
举例:
原码:
1的原码(8位):
00000001
反码、补码跟原码一样。
-1的原码(8位):
10000001
反码 :
11111110
补码 :
11111111
0有+0和-0之分
+0的原码(8位):
00000000
反码、补码同。
-0的原码(8位):
10000000
反码 :
11111111
补码 :
00000000
3、逻辑电路四种符号记住
&(与),≧1(或),=1(异或),1(非)
X(与),+(或),
(异或),反
第二章(选择填空简答)
1、触发器、寄存器、存储器的名词解释及其三者的联系
2、存储器
分为ROM和RAM,区别是什么?
一个16*8的存储器表示有16个存储单元,每个单元有8位数据,16个存储单元需要4跟地址线译码选择。
例题:
设有一个具有20位地址和32位字长的存储器,问:
(1)该存储器能存储多少个字节的信息?
(2)如果存储器由512K×8位SRAM芯片组成,需要多少片?
(3)需要多少位地址作芯片选择?
为什么?
(1)20位地址线,可寻址2的20次方个地址,共1M,每个地址32位,4字节,所以4M字节
(2)一个芯片512KX8,总存储量是1MX32,1M/512k=2,32/8=4,所以需要2X4=8个芯片
(3)8个芯片,每个8位,而字长是32位,所以4片一组,分为2组,需要1位地址线即可
第四章(选择填空简答名词)
1、微处理器由算术逻辑部件ALU、控制部件、寄存器和片内总线等构成。
第一代微处理器是1971年Intel的4004;8086属于第三代;第四代是1985年的80386。
2、8086/8088CPU具有20根地址线,16根数据线(8088是8位数据线),其结构见书73页。
(1)4个通用寄存器:
AX,BX,CX,DX。
一般用来存储数据。
此外,还有额外功能,如
AX常作为累加器
BX常用作基址寻址器,存放段内偏移地址
CX常用作计数器,常常将循环次数用它来存放
DX常用来存放输入输出的端口地址,用于IO端口简介寻址
(2)4个专用寄存器:
SP,BP,SI,DI
SP存放堆栈指针(堆栈地址上低下高,SP指向栈顶,参考书116),BP是基址寻址器,SI、DI是变址寻址器。
BP、SI、DI也可存放数据用
(3)4个段地址寄存器:
代码段CS,数据段DS,堆栈段SS,附加段ES
(4)标志位FR(共16位:
6个状态位,3个控制位,7位未用)
(5)指令指针寄存器IP:
用于寻址当前需要取出的指令字节,程序员不能对它直接操作
(6)标志寄存器FR的9位标志位:
●CF(进位标志)算术操作最高位是否有进位或借位。
有=1,无=0
●ZF(零标志)操作结果是否为0。
是=1;否=0
●OF(溢出标志)此次运算是否发生了溢出。
是=1;否=0。
还可根据如下法则判断:
加法:
两个操作数符号相同,结果符号不同时,OF=1;
减法:
两个操作数符号相反,结果符号与减数相同,OF=1.
●IF(中断标志)是否接受可屏蔽中断请求。
是=1;否=0
●PF(奇偶标志)数据最低8位中1的个数为偶数=1;数据最低8位中1的个数为奇数=0
●AF(辅助进位标志)D3→D4位产生了进位或借位=1;D3→D4位无进位或借=0
●SF(符号标志)结果最高位为1=1;结果最高位为0=0
●DF和TF
3、存储器结构
8086/8CPU有20根地址线,但是内部所有寄存器均为16位,那么如何产生20位的物理地址,把存储空间分为若干个逻辑段,每个段最多64K字节。
然后每段的首地址用16位表示(段基址,存于段地址寄存器CS,DS,SS,ES中),然后段内的相对地址用16位的通用寄存器来存放(偏移量,存于IP或SP中)。
这样,段基址左移4位再加上偏移量就形成了20位的物理地址
CS=2000H,IP=2200H。
物理地址=CS左移四位+IP=20000+2200=22200H
4、物理地址是实际地址,具有20位的地址值,一个物理地址可以唯一标识1M存储空间的一个字节的地址。
逻辑地址是由段基址和偏移地址组成的,程序以逻辑地址编址。
物理地址=段基址X16+偏移地址
5、8086的工作周期
一个总线周期分为四个时钟周期,每个时钟周期分别称为T1,T2,T3,T4。
如果读写数据未完成,会在T3后插入Tw状态,如果周期空闲,则维持T1状态
6、8086有40个引脚,通过这40个引脚向地址、数据、控制总线发出地址信息,数据信息以及控制信息,从而实现微机系统的读写等操作。
其中reset引脚是复位信号,该信号出现后,CPU便结束当前操作,并把标志寄存器、DS、ES、SS、IP、以及指令队列清零,把CS置位FFFFH,当复位信号变为低电平时,CPU从FFFF0处开始执行程序。
Ready引脚接收内存或IO送来的信号,CPU在T3状态对Ready信号采样,低电平则说明内存或外设没有准备好,需要插入Tw,高电平则进入T4。
7、CPU的工作模式
最小组态模式——当CPU引脚MN/MX界高电平时,此时构成小规模应用系统,CPU提供所有总线信号
最大组态模式——当CPU引脚MN/MX界低电平时,此时构成大规模应用系统,CPU和8288总线控制器、8289总线仲裁器共同管理总线信号
8、8086做小工作模式的典型配置,见书85页。
8284提供时钟脉冲,8282提供地址锁存(因为地址数据线是分时复用的,所以用它来区分),8286是CPU与数据总线之间的缓冲器,提供双向的数据缓冲驱动功能
8284时钟发生器为CPU提供基准的时钟脉冲CLK以及RESET、READY信号。
8282具有8位输入输出端。
所以可采用3个8282来与CPU的A0~A19连接,以便锁存驱动地址信息,CPU的ALE接8282的STB引脚,ALE高电平地址信号直通,低电平锁存地址,BHE有效表示数据线高八位可用。
8286具有8位双向输入输出端,T引脚控制方向,与CPU的DT/R连结。
高电平自CPU输出,低电平CPU接收数据,OE控制输出,与DEN连结。
有效允许输出,反之不允许。
8286的A0~A7与CPU的AD0~AD15连结(两个8286),传送数据时,8282把AD0~AD15上的地址信号锁存起来,8286开始传送数据
9、8086的功能
(1)系统的复位和启动
8086要求复位信号至少有4个时钟周期的高电平,如果是初次加电启动则要求大于50us的高电平。
复位或启动后,系统从FFFF0处开始执行程序。
(2)总线读,见书96至99
(3)总线写,见书96至99
(4)中断操作
●
8086可以处理256种中断,可以分类如下:
●硬件中断是由外部的硬件产生的;软件中断是程序中的某条指令对标志寄存器的某个标志设置而产生的。
●非屏蔽中断通过CPU的NMI引脚接入,不受IF标志屏蔽;可屏蔽中断从CPU的INTR脚接入,只有IF=1时,可屏蔽中断才可以进入。
●中断向量是中断处理子程序的入口地址,每个类型的中断对应一个中断向量。
内存中的0000~03FF区域设置了一个中断向量表,前5个是专用中断向量,比如类型2是非屏蔽中断,类型0是除数为0中断。
●可屏蔽中断请求的响应过程
当CPU的INTR引脚收到一个中断请求信号,并且IF标志为1,则CPU会在当前指令执行完毕,开始响应外部的中断请求,具体如下:
(1)8086在连续的两个总线周期中发出INTA中断请求响应信号
(2)在第二个INTA信号期间,中断源经过数据总线向8086发出一字节的中断类型码,8086收到后放入暂存器
(3)8086保护现场:
标志寄存器入栈,清除IF、TF标志位,将断点保护到堆栈中,即CS,IP值入栈。
(4)8086将中断类型码乘4后得到中断向量表的入口地址,从此地址开始的4个单元中读出中断服务程序的入口地址(即IP,CS的值)
(5)8086从此地址取指令执行,使控制转向中断处理过程。
注:
在第四步中,比如中断类型是17H,则其乘以4以后得到005CH,因此005C、005D、005E、005F四个单元中存放的数据就是中断服务子程序的入口地址,比如分别存放的是90H、78H、45H、23H,那么7890是偏移地址放入IP内,2345是段基址,放入CS内。
然后程序从此地址开始执行中断服务子程序。
●中断处理子程序的结构模式:
见书105页。
●软件中断:
用一条指令使CPU进入中断处理子程序,不管IF的取值即可执行(但仍受TF(单步中断标志)的影响)。
软件中断执行过程中,如遇非屏蔽中断,则执行完当前指令后响应;如遇可屏蔽中断,则是IF标志而定。
(5)总线保持
一般情况下所有总线都由CPU来控制,但是也可以由其他芯片控制。
当有其他芯片要求控制总线时,先向CPU提出请求(HOLD信号),CPU会在每个时钟周期的上升沿对HOLD引脚监测,当发现由请求且CPU同意让出总线时,便在T4或者空闲的T1状态发出HELD信号通知芯片接管总线。
此时,CPU一些引脚处于高阻悬空状态,总线与CPU无联系。
芯片可以接管并使用总线,如DMA控制器可以申请对总线的控制。
典型题分析:
类型号30H的中断处理子程序的入口地址为10580H,请写出这个中断向量在中断向量表中的存放位置和存放情况。
答:
这个中断向量是1000H:
0580H:
存放位置:
30HХ4=0000:
00C0H;30HХ4+1=0000:
00C1H;30HХ4+2=0000:
00C2H;30HХ4+3=0000:
00C3H。
存放内容:
偏移量低位80H,偏移量高位05H,段地址低位00H,段地址高位10H
第八章(选择填空简答大题)
1、IO控制方式,四种,程序控制方式(分为无条件传送和条件传送),中断控制方式,DMA方式,IO处理机方式。
能够简述四种方式的流程,以防简答题
2、8255的结构:
ABC三个口与外设连接,均可作为数据的IO端口,C口还可以作为状态或控制信息端口。
读写控制部件的A1A0和CPU的A1A0相连,负责端口选择,分别选择ABC三个端口以及控制字寄存器端口。
3、8255有三种工作方式:
方式0——基本IO方式,方式1——选通IO方式,方式2——双向传送方式。
A三种均可,B工作在0,1,C只可工作在0,且C口通常被分为高4位和低4位两部分,可分别进行IO。
6、8255工作前需要先初始化,规定好ABC三个口的工作方式以及是输出还是输入。
此外,还可单独对C进行置位复位。
7、AB工作在方式1,C作为状态/控制信号。
B口无论是输出还是输入,均用PC012;A口输入用PC345,输出用PC367。
8、A工作在方式2,PC34567作为状态控制信号,此时的A口既可以输入又可以输出,见图210页8-18。
9、串行通信分为异步通信和同步通信
●异步通信时字符由以下4部分组成
起始位(1位,低电平);数据位(5~8位);奇偶校验位(1位);停止位(1、1.5或2位,高电平)
●同步通信字符格式:
面向字符的数据格式:
单同步(SYNC….CRC)、双同步(SYNCSYNC……CRC)、外同步(……CRC)
面向比特的数据格式:
7EH,不能出现6个
10、记住8251的几个引脚:
发送端:
TxRDY、TxD、TxEMPTY、TxC
接收端:
RxRDY、RxD、SYNDET、RxC
11、波特率概念
看课本220页图上那段话到221页的第三行,要看明白
12、8255的题型分析
(1)给出端口地址和ABC口的工作方式,要求初始化。
例子:
8255A口A地址为200H,要使口A工作在方式0输出,口B工作在方式1输入,PC7—PC4为输入,PC3—PC0为输出,请编写初始化程序段
(2)给出一定条件,要求把8255连入CPU系统中。
例子:
、
8255端口范围是C8~CBH,CPU的A15~A10未用。
给出一个8255图和一个38译码器图,要求把8255连入CPU系统
(3)给出线路图,要求写出8255的端口地址并初始化。
例子:
并行接口芯片8255A与打印机的连线如图,当A15~A2=00000000110000时,CS有效,问口A的工作方式应为?
口C的工作方式应为?
I/O传送的控制方式为?
8255口C的地址为?
第9章(选择填空大题)
1、8259的ISR、IRR、IMR要分清
2、自动EOI在使用时会出现重复嵌套问题,看书230页第三段
3、级联使用8259,从片用完全嵌套方式,主片用特殊完全嵌套方式(即允许同一从片再次中断)
4、8259有几种中断结束方式?
5、8259的初始化编程
8259典型题分析:
(1)4片8259级联,共可响应多少级中断?
4*8-3(智商正常的都会算吧)
(2)IBM-PC/XT计算机系统接口芯片连接如图所示,AEN低电平选中端口。
单片8259工作在完全嵌套方式,中断申请输入IR0~IR7为边沿触发,IR0的中断号为08H:
●试说明各芯片使用的端口地址。
•初始化8259芯片
(1)各芯片地址:
8259:
20H,21H
A9A8A7A6A5=00001,A0=0或者1,A4A3A2A1没用默认0,
所以A9~A0=0000100000=20H
8253:
40H,41H,42H,43H
(2)初始化8259
ICW1:
A0=0,边沿触发,没有级联,8086系统,所以控制字:
00010011
ICW2:
IR0的中断号为08H
ICW3无效
ICW4:
看SP/EN,缓冲方式用en,接低电平;非缓冲方式用sp,接高电平(详见课本239页表格说明),此处接的是高电平,所以是非缓冲,完全嵌套方式,结束方式没说,8086系统,所以,控制字:
00001001
MOVAL,13H
MOVDX,20H
OUTDX,AL
MOVAL,08H
MOVDX,21H
OUTDX,AL
MOVAL,09H
MOVDX,21H
OUTDX,AL
1、8253典型题分析
8253的最大计数值十六进制表示是FFFF,十进制表示是9999
注意:
8253是先减一再查看计数,如果查看计数发现时0,则停止。
所以如果计数初值如果是最大值,那么开始计数时计算器里放的值是0,减一后才变为FFFF或者9999。
如果开始就是FFFF或9999,那么到0停止,将会使计数值少1.
注意:
FFFFH的十进制形式是多少?
65535,所以最大计数值十六进制表示是65536,十进制是10000.
(1)对8253进行初始化编程
给定一些条件,要求对8253进行初始化。
初始化8253有如下两个问题需要考虑:
●采用哪种工作方式——6种方式的特点要分清
●计数初值是多少——十进制还是二进制,占用几个字节
这两项定了即可得出控制字,有控制字了就可以初始化了。
分为如下两步:
①写入控制字,控制字寄存器地址。
规定计数器的工作方式。
②写入计数值。
●若规定只写低8位,则写入的为计数值的低8位,高8位自动置0;
●若规定只写高8位,则写入的为计数值的高8位,低8位自动置0;
●若是16位计数值,则分两次写入,先写入低8位,再写入高8位。
(2)读取计数器值
每个计数器都有计数值,CPU可用输入指令读取。
CPU读到的是执行输入指令瞬间计数器的现行值。
但8253的计数器是16位的,所以要分两次读至CPU,因此,若不设法锁存,则在输入过程中,计数值可能已经变化了。
要锁存有两种办法:
(1)利用GATE信号使计数过程暂停。
(2)向8253输送一个控制字,令8253计数器中的锁存器锁存。
8253的每一个计数器都有一个输出锁存器(16位),平时,它的值随通道计数器的值变化,当向通道写入锁存的控制字时,它把计数器的现行值锁存(计数器中继续计数)。
于是CPU读取的就是锁存器中的值。
例题:
通过PC机系统总线在外部扩展一个8253,利用其通道0记录外部事件的发生次数,每输入一个高脉冲表示事件发生1次。
当事件发生100次后就向CPU提出中断请求(边沿触发),假设8253片选信号的I/O地址范围为200H~203H,如下图。
初始化8253,读取计数值
根据要求,可以选择方式0来实现,计数初值N=100。
8253
MOVDX,203H
MOVAL,00H
OUTDX,AL
MOVDX,200H
INAL,DX
MOVCL,AL
请说出通道方式与DMA方式的异同点。
解题:
通道控制方式和DMA控制方式相同点都是把外设与主机交换数据过程控制权从CPU中接管,使外设能与主机并行工作。
不同点有三:
(1)工作原理不同:
通道采用软件和硬件结合的方法,通过执行通道程序控制数据交换的过程;而DMA完全采用硬件控制数据交换的过程,速度较快。
(2)功能不同:
由于通道是由DMA发展来的,比DMA功能更强。
DMA中,CPU必须进行设备的选择、切换、启动、终止,并进行数据校验。
所以CPU在输入输出过程中的开销较大,而通道控制把这些工作都接管,减轻CPU的负担。
(3)外设类型不同:
通道可以控制多种类型的外设;而DMA只能控制速度较快、类型单一的外设。