test5.docx
《test5.docx》由会员分享,可在线阅读,更多相关《test5.docx(10页珍藏版)》请在冰豆网上搜索。
test5
计算机硬件技术基础复习题
一.填空(20分)
(1)在实地址方式下,中断类型码为4的中断矢量存放的起始内存地址为0010h,共占4字节。
(2)微型计算机总线结构包含控制总线、数据总线、地址总线三总线。
(3)8位二进制数10000000若是有符号数补码,其十进制值为-128,若是无符号数,其十进制值为128,若是压缩BCD码,其十进制值为80D。
(4)80486内部结构由8个逻辑单元组成,其中高速缓存单元和浮点处理单元是80486特有的。
这点些逻辑单元支持80486按
6级流水线工作。
(5)80486CPU的虚拟存储管理技术中,分段机制将逻辑地址变换为线性地址,而分页机制将线性地址变换为在地址总线上传送的物理地址。
(6)CPU某扩展存储器芯片的可寻址地址范围为1000H—17FFH,则其存储容量为2k字节。
(7)8254有3个通道,各有6种工作方式,其中方式1为硬件可重触发单稳方式。
(8)8254通道0工作在二进制定时方式,若输入脉冲频率为2MHz,要实现1ms定时输出,则其初值为2000。
(9)如果当前AX寄存器值为1234H,若执行NEGAX后,AX值为EDCC,若执行NOTAX后,AX值为EDCBH。
(10)80486在执行子程序调用时,将自动依次把cs和IP寄存器的值压入堆栈。
二.单项选择题(10分)
(1)在保护模式下,80486段的长度最大可达:
(d)
a)64K字节b)1M字节
c)16M字节d)4G字节
(2)下面数据载体中,按容量递增,速度递减排列的是(a)
a)CPU内部寄存器、高速缓存器、内存储器
b)高速缓存器、CPU内部寄存器、内存储器
c)内存储器、CPU内部寄存器、高速缓存器
d)内存储器、高速缓存器、CPU内部寄存器
(3)若要求8255APA口工作在方式1输入,且要允许中断,则可选择下面(b)作为方式控制字。
a)90hb)b0h
c)80hd)30h
(4)8259A工作在自动优先级循环方式下,当前IR5上的中断请求已被响应并返回,则8个中断源中优先级最高的是(C)
a)IR0b)IR4
c)IR6d)IR5
(5)机器周期(总线周期)、时钟周期、指令周期的关系为:
(B)
a)一个时钟周期包含几个总线周期,一个指令周期又包含几个时钟周期
b)一个总线周期包含几个时钟周期,一个指令周期又包含几个总线周期
c)一个总线周期包含几个时钟周期,一个时钟周期又包含几个指令周期
d)一个总线周期包含几个指令周期,一个指令周期又包含几个时钟周期
三.判断正误,错误的简单说明理由,并修改(16分)
(1)超流水线结构和超标量结构是同一概念
答:
错误,二者不是同一概念。
超流水线结构是指CPU由多个逻辑部件组成因而所支持的多级流水线结构。
超标量结构是指在CPU内部存在两条或两条以上的流水线。
(2)80486在保护虚地址方式和虚拟8086方式采用相同的I/O保护机制。
答:
错误,二者I/O保护机制有别。
80486在保护虚地址方式下对I/O的访问先考虑IOPL,若不满足再考察位于TSS高端的I/O允许位印象区。
而虚拟8086方式只考察I/O允许位印象区。
(3)高速缓存的主要功能是扩充内存容量。
答:
错误,用于提高内存访问速度。
(4)通过8259A与CPU相连接的外设只能用中断方式与CPU交换信息
答:
错误,还可用查询方式。
通过写入OCW3,可指定8259工作在查询方式,此时CPU可查询8259的偶地址得到有无中断请求及最高优先级编码,从而转向相应的程序。
四.简答(24分)
(1)简述三线菊花链总线仲裁的原理及其优缺点。
P239
(2)举例说明组合BCD码相加后(DAA)的调整原则。
答:
对运算结果进行以下的调整
+06调整:
最高位无进位且高半字节为正常BCD码,低半字节有进位或非法BCD码
+66调整:
最高位有进位或高半字节为非法BCD码,低半字节有进位或非法BCD码
+60调整:
最高位有进位或高半字节为非法BCD码,低半字节无进位且为正常BCD码
+00调整:
最高位无进位且高半字节为正常BCD码,低半字节无进位且为正常BCD码
(3)阅读下面程序段:
DATASEGMENT
BUFDB‘INPUTERROR!
’,0DH,0AH,’$’;在数据段定义一个字符串
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX;DS初始化,指向数据段
MOVAH,01H
INT21H;从PC键盘读入一个字符,其ASCII码存入AL
CMPAL,’A’
JBNEXT;若小于‘A’,转到NEXT,显示出错信息。
CMPAL,’Z’
JANEXT;若大于‘Z’,转到NEXT,显示出错信息。
ORAL,00100000B;转为小写字母。
MOVDL,AL
MOVAH,02H
INT21H;显示该字母
JMPDONE;转向程序尾
NEXT:
LEADX,BUF
MOVAH,09H
INT21H;显示出错信息
DONE:
MOVAH,4CH;返回操作系统
INT21H
CODEENDS
ENDSTART
给上面程序段加上注释,并说明功能。
(4)设8254口地址为20CH~20FH,8254CLK1接1KHz方波,OUT1引脚送8259申请中断。
阅读下面程序并回答问题。
主程序
…
MOVDX,20FH
MOVAL,70H
OUTDX,AL
MOVDX,20DH
MOVAX,1000
OUTDX,AL
MOVAL,AH
OUTDX,AL
…
中断服务程序:
…
MOVDX,20DH
MOVAX,1000
OUTDX,AL
MOVAL,AH
OUTDX,AL
…
a)通道1工作在什么方式?
通道1工作在方式0、二进制计数方式,计数初值先读写低字节,再读写高字节。
b)定时时间是多少?
定时时间为1S
c)为何要在中断服务程序中重装初值?
因为方式1由装入初值启动计数,而每次计数为零OUT变高后,不能自动启动下次计数,因而在中断服务程序中重装初值,启动下次计数,从而实现周期输出。
五.编程题(30分)
(1)设计一程序,在屏幕上显示一字符串“Program”,然后输入一字符串,将输入的字符串与原字符串比较,若相同,显示‘T’字符并退出,若不同,显示‘F’字符并要求重新输入。
DATASEGMENT
STRING1DB'Program',0dh,0ah,'$'
STRING2DB10H,?
10HDUP(?
)
CRdb0dh,0ah,'$'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
leadx,string1
movah,09h
int21h
AGAIN:
LEADX,STRING2
MOVAH,0AH
INT21H
leadx,CR
movah,09h
int21h
LEADI,STRING2
MOVAL,[DI+1]
CMPAL,07
JNEAGAIN
LEASI,STRING1
INCDI
INCDI
MOVCX,7
REPZCMPSB
JNZAGAIN
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
(2)见下图,两位LED为共阴极数码管,要求编写程序,将8位逻辑开关的状态值在两位数码管上显示出来,当显示“FF”时程序结束。
要求a)确定8255的口地址;b)确定8255的方式控制字;c)编写程序。
(共20分)
a)口地址:
A15。
。
。
A11A10A9A8A7A6A5A4A3A2A1A0
110110101
口地址为06D4H----06D7H
b)PA、PB输出,PC输入,
确定8255的方式控制字;89H
C)程序:
DATASEGMENT
MESS1DB……;定义0到F的共阴极字码
DATAENDS
CODESEGMENT
MAINPROCFAR
ASSUMECS:
CODE,DS:
DATA
START:
PUSHDS
MOVAX,0
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVDX,6d7H
MOVAL,89H
OUTDX,AL
AGAIN:
MOVDX,6d6H
INAL,DX
CMPAL,0FFH
JZEXIT
CALLDISPLY
JMPAGAIN
EXIT:
MOVDX,6D4H
MOVAL,0
OUTDX,AL
MOVDX,6D5H
MOVAL,3H
OUTDX,AL
RET
MAINENDP
DISPLYPROCNEAR
MOVAH,AL
SHRAL,4
ANDAL,0FH
LEABX,MESS1
XLAT
MOVDX,6D4H
OUTDX,AL
MOVDX,6D5H
MOVAL,2
OUTDX,AL
MOVCX,8000
L2:
LOOPL2
MOVAL,AH
ANDAL,0FH
XLAT
MOVDX,6D4H
OUTDX,AL
MOVDX,6D5H
MOVAL,1
OUTDX,AL
MOVCX,8000
L3:
LOOPL3
RET
DISPLYENDP
CODEENDS
ENDSTART