微机原理与接口技术答案个别没有_第1页
微机原理与接口技术答案个别没有_第2页
微机原理与接口技术答案个别没有_第3页
微机原理与接口技术答案个别没有_第4页
微机原理与接口技术答案个别没有_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、习题一1.1 计算机中为什么采用二进制?二进制数有什么特点? (1)基2码在物理上最容易实现。 (2)基2码用来表示二进制数,其编码、加减运算规则简单。 (3)基2码的两个符号“1”和“0”正好与逻辑数据“真”与“假”相对应。1.2 把下列十进制数转换成二进制、八进制、十六进制数。 6.25D=110.01B=6.2Q=6.4H1.3 把下列二进制数转换成十进制数。 1101.01B=13.251.4 把下列八进制数转换成十进制数。 776.07Q=7*8*8+7*8+6+7/64=510.1093751.5 把下列十六进制数转换成十进制数。 A6.DCH=166+13/16+12/256=1

2、66.8593751.6 把下列英文单词转换成ASCII代码。 WATER “w” 41H+22=87 “A” 41H=65 “T” 41H+19=84 “E” 41H+4=69 “R” 41H+17=821.7 写出回车键、空格键的ASCII代码。 回车键:10 空格键:321.8 求下列带符号十进制数的8位二进制补码。 127 补码:07FH -1 补码:0FFH1.9 求下列带符号十进制数的16位二进制补码。 655 补码:028FH -1 补码:0FFFFH1.10 在计算机中,一个汉字使用几位二进制进行编码? 16位1.11 计算机硬件由哪几部分组成?各部分的作用是什么? 中央处理器

3、、内部存储器、输入输出接口及系统总线。1.12 计算机软件系统的作用是什么?包括哪几方面? 软件的目的都是为扩大计算机的功能和方便用户, 使用户编制解决各种问题的源程序更为方便、简单和可靠。 分为系统软件、应用软件和支撑软件。1.13 简述计算机的位、字节和字长关系? 1字节=8位 字长:是CPU能同时处理的最大位数,因计算机不同而不同, 分8位、16位、32位、64位。1.14 简述计算机的分类方法和特点? 按字长分:8位、16位、32位、64位 按用途分:通用机、专用机 按档次分:低档、中档、高档 按组装和规模分:单片机、单板机、个人计算机和微型网络习题二2.1 试述微处理器的发展历史。第

4、一代,1971年开始,是4位和低档8位微处理器的时期。第二代,1973年开始,是8位微处理器的时期。第三代,1978年开始,是16位微处理器的时期。第四代,1981年开始,是32位微处理器的时期。2.2 8086微处理器由哪几部分组成?各部分的功能是什么?由总线接口单元BIU和执行单元EU组成。BIU是8086 CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作,即8086对存储器和I/O设备的所有操作都是由BIU完成的。EU进行所有指令的解释和执行,同时管理上述有关寄存器。(1) 地址加法器和段寄存器2.3 简述8086 CPU的寄存器组织。AX累加器BX基址寄存器CX计数器DX

5、数据寄存器SI源变址寄存器DI目的变址寄存器SP堆栈指针寄存器BP基址指针寄存器DS数据段寄存器SS堆栈段寄存器CS代码段寄存器ES附加段寄存器IP指令指针寄存器FLAGS标志寄存器2.4 试述8086 CPU标志寄存器各位的含义与作用。CF进位位 AF辅助进位位OF溢出SF符号位PF奇偶位 ZF零标志位IF中断允许 TF单步 DF方向 2.5 在8086中,存储器为什么采用分段管理?因CPU有20位地址总线,它可寻址空间为1MB。而8086指令给出的地址编码只有16位,指令指针和变址寄存器也是16位的,所以CPU不能直接寻址1MB空间。因此采用分段管理。2.6在什么是逻辑地址?什么是物理地址

6、? 如何由逻辑地址计算物理地址?逻辑地址:程序使用的地址。物理地址:指CPU和存储器进行数据交换时实际所使用的地址 由段地址和偏移地址组成计算:物理地址=段地址*10H+偏移地址2.7在8086中,CPU实际利用哪几条地址线来访问I/O端口?最多能访问多少个端口? 利用最低16根地址线。最多访问65536个端口。 2.8在80x86微处理器的指令队列的作用是什么? 由于EU和BIU是各自独立工作的, EU执行指令的同时,BIU可预取下面一条或几条指令。 因此,一般情况下CPU执行完一条指令后,就可立即执行存放在指令队列中的下一条指令,而不需要象以往8位CPU那样,采取先取指令后执行的串行方式。

7、 提高了机器运行速度。习题三3.1 机器指令分为哪几部分?每部分的作用是什么?操作码和操作数。操作码:用来说明该指令所要完成的操作。操作数:用来描述该指令的操作对象。3.2 指出下列MOV指令的源操作数的寻址方式。MOVAX,1234H 立即寻址MOVAX,BX 寄存器寻址MOVAX,BX 寄存器间接寻址MOVAX,TABLE;TABLE ;TABLE是一个变量名 直接寻址MOVAX,1234H 直接寻址MOVAX,BX+1234H 寄存器相对寻址MOVAX,BPSI 基址变址寻址MOVAX,BX+SI1234H 基址变址相对寻址3.3 (DS)=2000H,(BX)=0100H,(SS)=1

8、000H,(BP)=0010H,TABLE的物理地址为000AH,(SI)=0002H。求下列每条指令的源操作数的存储单元地址。MOVAX,1234H 21234HMOVAX,BX 20100HMOVAX,TABLEBX 2010AHMOVAX,BP 10010HMOVAX,BPSI 10012H3.4 设ARRAY是字数组的首地址,写出将第5个字元素取出送AX寄存器的指令,要求使用以下几种寻址方式:(1) 直接寻址MOV AX,ARRAY+8(2) 寄存器间接寻址。MOV BX,OFFSET ARRAY ADD BX,8MOV AX,BX(3) 寄存器相对寻址。MOV BX,OFFSET A

9、RRAY MOV AX,BX+8(4) 基址变址寻址。MOV BX,OFFSET ARRAY MOV SI,8MOV AX,BX+SI3.5 设当前(CS)=2000H,(IP)=2000H, 标号NEXT定义在当前代码段偏移地址为0100H处, (DS)=1000H,(BX)=1000H,(11000H)=00H,(11001H)=30H, 数据段定义的字变量ARRAY的偏移量为1000H, 试写出下列转移指令的目标转移地址。 (1)JMP NEAR PTR NEXT 2000H*10H+0100H (2) JMP BX 2000H*10H+1000H (3) JMP WORD PTR AR

10、RAY 2000H*10H+3000H3.6 设当前(CS)=2000H,(IP)=2000H, 标号NEXT定义在3000H:1000H处。 当前(DS)=1000H,(BX)=1000H, (11000H)=00H,(11001H)=03H, (11002H)=00H,(11003H)=30H, 数据段定义的字变量ARRAY的内容为0300H, (ARRAY+2)=3000H,试写出下列转移指令的目标转移地址。 (1)JMPFARPTRNEXT 3000H*10H+1000H (2)JMPDWORDARRAY 3000H*10H+0300H3.7 下列每组指令有何区别?(1) MOV AX

11、,1234H 立即寻址 MOV AX,1234H直接寻址(2)MOV AX,TABLE 直接寻址 MOV AX,TABLE 直接寻址 (3)MOV AX,TABLE 将TABLE的内容送AX LEA AX,TALBE将TABLE的偏移量送AX(4)MOV AX,BX 寄存器寻址 MOV AX,BX 寄存器间接寻址3.8 MOV CS,AX指令正确吗?错误。不能用CS作目的操作数。3.9 写一指令序列将3456H装入DS寄存器。MOV AX,3456HMOV DS,AX不能将立即数直接送段寄存器,所以得间接。3.10 若正在访问堆栈的03600H单元,则SS和SP的值各是多少?03600H=SS

12、*10H+SP所以有多个答案。例如:SS=350H SP=0HSS=300H SP=600H3.11 若(SS)=2000H,(SP)=000AH,先执行将字数据1234H和5678H压入堆栈的操作,再执行弹出一个字数据的操作,试画出堆栈区及SP的内容变化过程示意图(标出存储单元物理地址)3.12 解释XLAT指令是怎样转换AL寄存器中的内容的,并编写一段程序用XLAT指令将BCD码09转换成对应的ASCII码,并将ASCII码存入ARRAY中。(AL)(BX)+(AL)把BX内容加AL内容,把所得结果作为地址到数据段取一字节送ALCode segment assume cs:code,ds:

13、dataStart:mov ax,data mov ds,ax mov bx,offset tab xlat mov array,al end startCode endsData segmentarray db ?Tab db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39hData ends3.13 能用ADD指令将BX内容加到ES中去吗?不能。算术运算中段寄存器不得作为目的操作数。3.14 INC BX指令正确吗?错误。需指明存储器操作数的类型是字节还是字。3.15 若(AX)=0001H,(BX)=0FFFFH,执行ADD AX,BX之后, 标志位ZF、S

14、F、CF、OF各是什么?ZF=1SF=0CF=1OF=03.16 写一指令序列完成将BL中的数据除以CL中的数据,再将其结果乘以2,并将最后为16位数的结果存入DX寄存器中。MOV AL,BLCBWDIV CLMOV CL,2MUL CLMOV DX,AX3.17 写一指令序列,完成将AX寄存器的最低4位置1, 最高3位清0,第7、8、9位取反,其余位不变的操作。 OR AX,000FH AND AX,1FFFH XOR AX,0380H3.18 试写出执行下列指令序列后AX寄存器的内容。 执行前(AX)=1234H。 MOV CL,7 SHL AX,CL AX=1A00H3.19 写一指令序

15、列把DX与AX中的双字左移三位。 SHL AX,1 RCL DX,1 SHL AX,1 RCL AX,1 SHL AX,1 RCL AX,1 习题四4.1 假设下列指令中所有标识符均是类型属性为字变量, 请指出下列指令中哪些是非法的? 它们的错误是什么?(1)MOV BP,AL错类型不一致(2)MOV WORD_OPBX+4*3DI,SP对(3)MOV WORD_OP1,WORD_OP2错两存直接传(4)MOV AX,WORD_OP1DX错只能用BX.BP SI.DI间接寻址(5)MOV SAVE WORD,DS对(6)MOV SP,SS:DATA_WORDBXSI对(7)MOV BXSI,2

16、错需明确类型是字还是字节(8)MOV AX,WORD_OP1+WORD_OP2错必须一常数(9)MOV AX,WORD_OP1_WORD_OP2+100对10)MOV WORD_OP1,WORD_OP1_WORD_OP2错俩标识符直连4.2 假设VAR1和VAR2为字变量,LAB为标号,试指错。(1) ADD VAR1,VAR2两存(2) SUB AL, VAR1类型不一致(3) JMP LABSIJMP后只能接标号(4) JNZ VAR1JNZ后只能接标号,不许接变量(5) JMP NEAR LAB 缺PTR4.3 画图说明下列语句所分配的存储空间及初始化的数据值。 (1)BYTE_VAR

17、DB 'BYTE,12,12H,3 DUP(0,?,2 DUP(1,2),?)(2) WORD_VAR DW 5 DUP(0,1,2),?,5,BY,TE,256H00000HB00000H重复5次00HY00HT01HE00H0CH02H-12H00H重复3次01FBH2FFH1Y2BET00H01HFFFFFHFFFFFH4.4 将首地址为BLOCK的字数组的第6个字送到CX寄存器, 要求分别使用以下几种寻址方式:(1) 以BX的寄存器间接寻址;(2) 以BX的寄存器相对寻址;(3) 以BX、SI的基址变址寻址。(1) MOV BX,offset BLOCK=LEA BX,BLOC

18、K ADD BX,10 MOV CX,BX(2) MOV BX,offset BLOCK MOV CX,BX10(3) MOV BX,offset BLOCK MOV SI,10 MOV CX,BXSI4.5 假设程序中的数据定义如下: PARTNO DW ? PNAME DB 16 DUP(?) COUNT DD ? PLENTH EQU $-PARTNO 问PLENTH的值为多少? 它表示什么意义? PLENTH的值为22,表示从PARTNO开始到PLENTH之前所含字节数。4.6 有符号定义语句如下: BUFF DB 1,2,3,123 EBUFF DB 0 L EQU EBUFFBUF

19、F 问L的值是多少? L值为6。 BUFF DB 1,2,3,123 L EQU $-BUFF EBUFF DB 04.7 假设程序中的数据定义如下: LNAME DB 30 DUP(?) ADDRESS DB 30 DUP(?) CITY DB 15 DUP(?) CODE_LIST DB 1,7,8,3,2(1) 用一条MOV指令将LNAME的偏移地址放入AX。(2) 用一条指令将CODE_LIST的头两个字节的内容放入SI。(3) 写一条伪操作使CODE_LENGTH的值等于CODE_LIST域的实际长度。(1) MOV AX,OFFSET LNAME(2) MOV SI, WORD P

20、TR CODE_LIST(3) CODE_LENGTH EQU $-CODE_LISTDATA SEGMENT LEN DB 5 MAX DW ? MIN DW ? DATA_LIST DW -1,0,2,5,4,?,?,?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX MOV CX,4 LEA BX,DATA_LIST MOV MAX,BX AGAIN1:INC BX CMP MAX,BX JG NEXT1 MOV MAX,BXNext1: LOOP AGAIN1 4.8 写完整数据段DATA,把5赋一字节

21、,把1,0,2,5和4放10字数组DATA_LIST前5个单元中。完整程序段。 把DATA_LIST前5数最大值和最小值分别存MAX和MIN单元 MOV CX,4 LEA BX,DATA_LIST MOV MIN,BXAGAIN2:INC BX CMP MIN,BX JL NEXT2 MOV MIN,BXNext2: LOOP AGAIN2 CODE ENDS END START4.8 写出一个完整的数据段DATA,把整数5赋予一个字节, 把1,0,2,5和4放在10字数组DATA_LIST前5个单元中。 然后写出完整的代码段,其功能是把DATA_LIST中前5个数中最大值和最小值分别存入MA

22、X和MIN单元中。DATA SEGMENT LEN DB 5 MAX DW ? MIN DW ? DATA_LIST DW -1,0,2,5,4,?,?,?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX MOV CX,4 LEA BX,DATA_LIST MOV MAX,BX MOV MIN,BXAGAIN:INC BX CMP MAX,BX JL BIG CMP MIN,BX JL NEXT MOV MIN,BX MIN<BX JMP NEXT BIG : MOV MAX,BX MAX<BXNe

23、xt: LOOP AGAIN CODE ENDS4.9 给出等值语句如下: ALPHAEQU100 BETA EQU25 GAMMAEQU2 问下列表达式的值各是多少?(1) ALPHA*100+BETA10025(2) ALPHA MOD GAMMA+BETA19(3) (ALPHA+2)*BETA2102*25-2=2548(4) (BETA/3) MOD 53(5) (ALPHA+3)*(BETA MOD GAMMA)103(6) ALPHA GE GAMMAFFH(7) BETA AND 71(8) GAMMA OR 334.10 对于下面的数据定义,三条MOV指令分别汇编成什么?(可

24、用立即数方式表示)TABLEADW 10 DUP(?) TABLEBDB 10 DUP(?) TABLECDB1234MOVAX,LENGTH TABLEAMOV AX,10MOVBL,LENGTH TABLEBMOV BL,10MOVCL,LENGTH TABLECMOV CL,14.11 各条MOV指令单独执行后,有关寄存器的内容是什么? FLDBDB? TABLEADW20DUP(?) TABLEBDBABCD (1)MOV AX,TYPE FLDB1 (2)MOV AX,TYPE TABLEA2 (3)MOV CX,LENGTH TABLEA20 (4)MOV DX,SIZE TABL

25、EA40 (5)MOV CX,LENGTH TABLEB14.12 编程显示字符串THIS IS TEXT DISPLAY PROGRAM.。data segmentbuffer db THIS IS TEXT DISPLAY PROGRAM.$data endscode segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax mov dx,offset buffer mov ah,9 int 21H mov ah,4ch int 21Hcode ends end start习题五5.1简述8086引脚信号 M/IO*、DT/R*、R

26、D*、WR*、ALE、DEN*、BHE*/S7的作用。 M/IO* 若为1访问存储器,否则IO DT/R* 若为1控制缓冲器方向为发送,否则接收 RD* 读引脚 WR* 写引脚 ALE 地址锁存引脚 DEN* 控制缓冲器能否工作 BHE*/S7 T1总线高允许/状态5.2 什么是指令周期?什么是总线周期?什么是时钟周期?指令周期:执行一条指令所需要的时间。总线周期:CPU的每一个这种信息输入、输出过程需要的时间。时钟周期:时钟脉冲的重复周期。1指令周期=N总线周期1总线周期=至少4个时钟周期5.3 8086一个总线周期包括哪几个时钟周期? 若主时钟频率为4.77MHz,一个总线周期是多少时间?

27、 怎样延长总线周期?8086一个总线周期包括时钟周期:T1、T2、T3、T4若主时钟频率为4.77MHz,一个总线周期是4/4.77微妙用ready可延长总线周期。当被选中进行数据读/写的存储器或外设无法在三个T周期内完成数据读/写时,就由其发出一个请求延长总线周期的信号到8086 CPU的READY引脚,8086 CPU收到该请求后,就在T3与T4之间插入一个等待周期Tw,加入Tw 的个数与外部请求信号的持续时间长短有关,延长的时间Tw 也以时钟周期T为单位,在Tw期间,总线上的状态一直保持不变。5.5 什么是总线?简述微机总线的分类。总线是用来连接各部件的一组通信线,换言之,总线是一种在多

28、于两个模块(设备或子系统)间传送信息的公共通路。总线按其功能可分为系统总线(内总线)和通信总线(外总线)。内总线指微机系统内部模块或插件板间进行通信联系的总线,如S-100总线、PC总线、STD总线、MULTIBUS等。外总线指把不同微机系统连接起来的通信线路。按信号传输方式,通信线路可分为串行总线和并行总线。串行总线(如RS-232、RS-422等)是按位串行方式传送信息;并行总线(如IEEE-488)的信息以并行方式同时传送。各种标准总线都在信号系统、电气特性、机械特性模板结构等多方面做了规范定义。5.6 简述PCI总线的特点。(1) 突出的高性能。 (2) 良好的兼容性。 (3) 支持即

29、插即用。 (4) 支持多主设备能力。(5) 适度数据的完整性。 (6) 优良的软件兼容性。 (7) 可选电源。PCI总线定义了5 V和3.3 V两种信号环境。(8) 相对的低成本。5.7 简述USB总线的应用场合与特点。(1) USB为所有的USB外设提供了单一的、易于操作的标准连接类型。 (2) USB排除了各个设备, 像鼠标、调制解调器、键盘和打印机,去除系统资源需求, 因而减少了硬件的复杂性和对端口的占用, 整个的USB的系统只有一个端口和一个中断,节省了系统资源。 (3) USB支持PNP(即插即用设备)。 (4) USB支持热插拔(Hot Plug)。 (5) USB在设备供电方面提

30、供了灵活性。(6) USB提供全速12 Mb/s的速率和低速1.5 Mb/s的速率, 来适应各种不同类型的外设。 (7) 针对不能处理突然发生的非连续传送的设备, 如音频和视频设备,USB可以保证其固定带宽。 (8) USB使得多个外围设备可以跟主机通信。(9) 连接灵活。 (10) 支持多媒体。习题六6.6 内存地址从40000H到BBFFFH共有多少KB? 496KB6.8 某以8088为CPU的计算机内存RAM区为00000H3FFFFH, 若采用6264、62256、2164或21256各需要多少片芯片? 若采用6264 需要32个芯片 若采用62256需要 8个芯片 若采用2164

31、需要32个芯片 若采用21256需要 8个芯片6.10 试判断8088系统中存贮系统译码器74LSl38的输出A19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0Y01X00000XXXXXXXXXXXXXY41X00100XXXXXXXXXXXXXY61X00110XXXXXXXXXXXXXY71X00111XXXXXXXXXXXXXY080000H-81FFFH0C0000H-0C1FFFHY488000H-89FFFH0C8000H-0C9FFFHY68C000H-8DFFFH0CC000H-0CDFFFHY78E000H-8FFFFH0C

32、E0000H-0CFFFFH习题七7.1 CPU同外设交换的信息有哪些类型? CPU是如何同外设交换这些信息的? CPU同外设交换的信息:数据、控制、状态 CPU通过接口同外设交换信息7.2 简述条件传送方式的工作过程。 试画出条件传送方式输出数据的流程图。有条件传送方式又称为程序查询方式。这种传送方式在接口电路中,除具有数据缓冲器或数据锁存器外,还应具有外设状态标志位,用来反映外部设备数据的情况。如,在输入时,若数据已准备好,则将该标志位置位;输出时,若数据已空(数据已被取走),则将标志位置位。在接口电路中,状态寄存器也占用端口地址号。使用有条件传送方式控制数据的输入/输出,通常按图7.8流

33、程。即先读入设备状态标志信息,再根据所读入状态信息进行判断,若设备未准备就绪,则程序转移去执行某种操作,或循环回去重新执行读入设备状态信息;若设备准备好,则执行完成数据传送的I/O指令。数据传送结束后,CPU转去执行其他任务,刚才所操纵的设备脱离CPU控制。7.2 简述条件传送方式的工作过程。 试画出条件传送方式输出数据的流程图。7.3 简述中断传送方式的工作过程。比如,当某个A/D转换器的模拟量已转换为数字量后,这时它就可以立刻向CPU发出中断请求,CPU暂时中止处理当前的事务,而转去执行优先的中断服务程序,输入A/D转换器的数字量数据。微型计算机都具有中断控制的能力,8086/8088CP

34、U的中断结构灵活,功能很强。所以,微机系统采用中断控制I/O方式是很方便的。CPU执行完每一条指令后,都会去查询外部是否有中断请求,若有,就暂停执行现行的程序,转去执行中断服务程序,完成传送数据的任务。当然,在一个具有多个外设的系统中,在同一时刻就往往不止一个外设提出中断请求,这就引入了所谓中断优先权管理和中断嵌套等问题(有关中断的详细讨论参见第8章)7.4 简述8237三种基本传送类型的特点。 1) 单次传送方式也称单字节传送方式。每次DMA操作只传送一个字节,即DMAC发出一次占用总线请求,获得总线控制权后,进入DMA传送方式,只传送一个字节的数据。然后,就自动把总线控制权交还给CPU,让

35、CPU至少占用一个总线周期。若还有通道请求信号,DMAC再重新向CPU发出总线请求,获得总线控制权后,再传送下一个字节数据。 2) 成组传送方式也称为连续传送或块传送方式。在进入DMA操作后,就连续传送数据,直到整块数据全部传送完毕。在字节计数器减到0或外界输入终止信号EOP时,才会将总线控制权交还给CPU而退出DMA操作方式。如果在数据的传送过程中,通道请求信号DREQ变为无效,DMAC也不会释放总线,只是暂时停止数据的传送,等到DREQ信号再次变为有效后,又继续进行数据传送,一直到整块数据全部传送结束,才会退出DMA方式,把总线控制权交还给CPU。 3) 请求传送方式也可以用于成块数据传输

36、。当DMAC采样到有效的通道请求信号DREQ时,向CPU发去请求占用总线的信号HRQ(在Z80 DMA中是BUSRQ),CPU让出总线控制权后,就进入DMA操作方式。当DREQ变为无效后,DMAC立即停止DMA操作,释放总线给CPU,当DREQ再次变为有效后,它才再次发出HRQ请求信号,CPU再次让出总线控制权,DMAC又重新控制总线,继续进行数据传送,数据块传送结束就把总线归还给CPU。这种方式适用于准备好传送数据时,发出通道请求;若数据未准备好,则通道请求无效,并将总线控制权暂时交还给CPU。7.5 简述8237的主要功能。(1) 编程设定DMA的传输模式及其所访问内存的地址区域。(2)

37、屏蔽或接受外部设备的DMA请求(DREQ)。 当有多个设备同时请求时,还要进行优先级排队, 首先接受最高级的请求。(3) 向CPU转达DMA请求。 DMA控制器要向CPU发出总线请求信号HOLD(高电平有效), 请求CPU放弃总线的控制。(4) 接收CPU的总线响应信号(HLDA)。 接管总线控制权,实现对总线的控制。(5) 向相应外部设备转达DMA允许信号DACK。 在DMA控制器管理下,实现外部设备和存储器之间的数据直传。(6) 在传送过程中进行地址修改和字节计数。 在传送完要求的字节数后,向CPU发出DMA结束信号(EOP), 撤消总线请求(HRQ),将总线控制权交还给CPU。7.6 8

38、237有哪些可以让CPU访问的寄存器? 这些寄存器有哪些功能?如何对它们进行寻址?(1) 当前地址寄存器(2) 当前字节计数器(3) 基地址寄存器和基字节计数器 (4) 命令寄存器(5) 模式寄存器(6) 请求寄存器(7) 屏蔽寄存器(8) 状态寄存器(9) 暂存寄存器(10)命令寄存器 表7-5 8237内部寄存器口地址分配表7-5 8237内部寄存器口地址分配习题八8.1 什么是中断?中断方式与程序查询方式有什么区别?中断:指计算机在正常执行程序的过程中, 由于某事件的发生使CPU暂时停止当前程序的执行, 而转去执行相关事件的处理程序, 结束后又返回原程序继续执行,这样的一个过程就是中断。

39、中断方式与程序查询方式有什么区别:在查询方式下,CPU主动地查询所有外设以确定其是否准备好,是否需要进行数据传送,会使CPU的效率降低,特别是与低速外设进行数据交换时,CPU需要等待更多的时间。另外在对多个外设进行I/O操作时,如果有些外设的实时性要求较高,CPU有可能因来不及响应而造成数据丢失。而中断方式是CPU忙于执行主要工作,由外设根据需要向CPU发出中断请求,CPU再根据中断请求的类型决定响应与否。这养CPU效率高。8.2 简述中断的处理过程。画出中断处理的流程图。中断请求、中断响应、断点保护、中断源识别、中断服务、断点恢复、中断返回。8.3 说明8086/8088 CPU响应中断的条

40、件。 中断请求 中断屏蔽 中断的开放 中断请求的检测8.4 确定中断优先级有哪两种方法?它们各有什么特点? 软件查询法: (1) 优点: 用软件完成中断优先权的检测,不需要硬件判优电路。 优先权由查询的次序来决定,首先查询的即为优先级最高。 (2) 缺点: 不管外设是否有中断请求都需要按次序逐一询问,效率较低。 特别在中断源较多的情况下,转至中断服务程序的时间较长。 硬件: (1)优点:确定中断源的时间短,效率高。 (2)缺点:需要硬件判优电路。8.5 简述8086/8088的内部中断和外部中断两类中断的区别。外部中断是由外部中断源对CPU产生的中断请求,根据外部中断源是否受标志寄存器的中断允

41、许标志位(IF)影响,分为非屏蔽中断和可屏蔽中断两种。内部中断是指CPU内部事件及执行软中断指令所产生的中断请求。(1) 除法错中断。(2) 单步中断。 (3) 断点中断。(4) 溢出中断。(5) 软件中断。8.6 什么是中断向量?什么是中断向量表?中断向量码(中断类型号):在8086/8088的中断系统中,对每个中断都规定有一个中断类型号,共256个(0255)。中断向量表:按中断类型号由小到大的顺序将相应的各中断服务子程序的入口地址按每个入口地址占四个字节,(2字节偏移量、2字节段地址)存在内存的最低端。8.7 8086怎么通过中断向量表得到中断处理程序的入口地址?在一个中断向量的4个字节

42、中,高地址字为中断处理程序的段地址CS,低地址字则是偏移地址IP。这样,在中断响应时,CPU就可以根据中断向量码n,通过简单的4×n运算,查找中断向量表,从表中4×n地址开始的连续4字节单元里获取中断处理程序的入口地址,从而转入相应中断服务程序。 8.8 中断向量表在内存中的什么位置? 每个中断向量在内存中占4个字节,共256个中断向量,因此占存储器1 KB的空间。在00000H00400H。8.9 什么是非屏蔽中断?什么是可屏蔽中断? 它们的主要区别是什么? 8086/8088 CPU的NMI和INTR两个输入端有什么区别? 1.非屏蔽中断 非屏蔽中断不受CPU中断允许标

43、志位IF影响, 一旦有中断请求,CPU必须响应。 2.可屏蔽中断 可屏蔽中断受中断允许标志位IF的限制, 当IF1时,CPU才响应中断; 当IF=0时,CPU不会响应外部中断,即中断被屏蔽。 3.当外部中断请求信号加至NMI引脚时,就产生非屏蔽中断。 当外部中断请求信号加至INTR引脚上,即产生可屏蔽中断。8.10 IMR和IF有什么区别? IMR是可编程中断控制器内的中断屏蔽寄存器。 IF是CPU内标志寄存器IF中的中断允许标志位。8.11 简述8259A的主要功能? 8259A怎么用一根地址线实现对内部7个控制字的寻址操作? 8259A的主要功能: (1)可直接管理8个中断源, 级联方式下不用附加电路就可以管理64个可屏蔽中断源, 并具有优先权判决功能。 (2)能为中断源提供中断向量码。 (3)可以对每一级中断进行屏蔽控制。 (4)可提供多种可供选择的工作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论