北京大学信息科学技术学院考试试卷 科目 : 微机原理 A 姓名 : 学号 : 题号一二三四五六七八总分 分数 阅卷人 考试时间 : 2010 年 1 月 8 日任课教师 : 王克义装订线内请勿答题考场纪律 1. 请持学生证入场考试, 并按指定座位就座 ; 除必要的文具和教师指定的用具用书外, 其他所有物品包括手机 呼机 MP3 电子词典 书籍 笔记 纸张等严禁带入座位, 必须放在指定位置 凡有试题印制问题请向监考教师提出, 不得向其他考生询问 2. 认真 诚实 独立并在规定时间内完成答卷, 严禁任何形式的违纪作弊行为 ; 否则, 本答卷成绩以 0 分记, 并根据 北京大学本科考试工作与学术规范条例 给予纪律处分 3. 提前交卷的考生不要在考场逗留, 不要在门口 窗外大声喧哗 考试结束时间到, 请停止答卷, 在座位等候监考教师收卷并清点完毕, 方可离开考场 ; 考题和试卷不得带出考场 第 1 页共 9 页
以下为试题和答题纸, 共 10 页 一 单选题 ( 本大题共 15 小题, 每小题 1 分, 共 15 分 ) 1. 在下列 80x86 指令中, 合法的指令是 ( D ) A. ADD [BX],01H B. OUT AL,DX C. ROL CL,BX D. IN AL,DX 2. 指令 MOV AX,[BX] 源操作数的寻址方式为 ( B ) A. 寄存器寻址 B. 寄存器间接寻址 C. 寄存器相对寻址 D. 基址变址寻址 3. 一个无符号二进制数逻辑左移一位相当于将其 ( B ) A. 乘以 1 B. 乘以 2 C. 除以 1 D. 除以 2 4. 8255A 的 端口 C 按位置 1/ 置 0 控制字 应写入 ( D ) A. A 口 B. B 口 C. C 口 D. 控制口 5. 若位容量为 32K 位的 SRAM 芯片具有 8 条数据线, 则它具有的地址线条数为 ( B ) A. 11 B. 12 C. 13 D. 14 6. 若定义 DAT DD 87654321H, 则 DAT+2 字节单元的数据是 ( B ) A. 87H B. 65H C. 43H D. 21H 7. 若程序中的数据定义如下 : ORG 30H DAT1 DB 10 DUP (?) DAT2 EQU 12H DAT3 EQU 34H DAT4 DW 56H, $+2 则数据项 $+2 的值为 ( C ) A. 003CH B. 003DH C. 003EH D. 003FH 8. 要禁止 8259A 的 IR 0 的中断请求, 则中断屏蔽操作命令字 OCW1 应为 ( A ) A. 80H B. 28H C. 78H D. 1BH 9. 若主程序中已使中断标志 IF 置 1 ( 中断允许 ), 则响应中断请求 进入中断服务 程序并返回主程序后,IF 标志位 ( A ) A. 一定为 1 B. 一定为 0 C. 可能为 1, 也可能为 0 D. 以上均不对 10. 2 片 8237 级联, 最多可提供的 DMA 通道数为 ( D ) A. 10 B. 9 C. 8 D. 7 11. 对 8259A 进行初始化时, 必须设置的两个初始化命令字为 ( A ) A. ICW1, ICW2 B. ICW1, ICW3 C. ICW1, ICW4 D. ICW2, ICW4 12. 中断向量可提供 ( D ) A. 被选中设备的地址 B. 传送数据的起始地址 C. 主程序的断点地址 D. 中断服务程序的入口地址 13. 设异步传输时的波特率为 4800bps, 若每个字符对应七位有效数据位, 一位校验位, 一位停止位, 则每秒钟传输的最大字符数为 ( B ) A. 240 B. 480 C. 720 D. 960 14. 在程序执行过程中,Cache 与主存之间的映射是 ( C ) 第 2 页共 9 页
A. 程序员调度的 B. 操作系统管理的 C. 由硬件自动完成的 D. 以上均不对 15. 8086 系统的中断向量表中, 若从 0000H:003CH 单元开始由低地址到高地址依次存放 34H FEH 00H 和 F0H 四个字节, 则相应的中断类型码和中断服务程序的入口 地址分别为 ( C ) 装订线内请勿答题A.0EH,34FEH:00F0H B.0EH,F000H:FE34H C.0FH,F000H:FE34H D.0FH,00F0H:34FEH 二 填空题 ( 每空 0.5 分, 共 15 分 ) 1. 微型计算机主要由微处理器 存储器 I/O 接口等部件组成, 各部件之间 通过系统总线相互连接与通信 2. 为了把下一条指令从存储器中取出, 控制器通常把 PC 的内容加上一个数值, 以形成 下一条指令的地址, 但在遇到转移指令时, 控制器则把 送入 PC 转移目标地址 3. 若干条微指令组成一小段微程序, 解释执行一条微指令, 并事先将其存入微指令 控制存储器中 4. 一条微指令通常由两个字段构成, 一个是微操作控制字段, 另一个是顺序控制 字段 5.80x86 CPU 从 HOLD 引脚接收总线请求信号, 若其同意放弃总线控制权, 则 将从 HLDA 引脚发出总线响应信号 6. 设 (CS)=2500H,(DS)=2400H,(SS)=2430H,(ES)=2520H,(BP)=0200H, (SI)=0010H,(DI)=0206H, 则指令 MOV AX,[BP+SI+4] 源操作数的有效地 址为 0214H, 物理地址为 24514H ; 指令 MOV AX, [DI+100H] 源操作数的有效地址为 0306H, 物理地址为 24306H 7. 8086 CPU 的 9 个标志位中, 有 6 位为状态标志, 它们是 OF, SF, AF, PF 及 ZF CF 8. 主机与外设之间的数据传送控制方式通常有三种, 它们是程序控制方式, 中断方式 及 DMA 方式, 其中, DMA 方式的数据传输率最高 9. 一个中断向量占 4 个字节单元, 其中低地址的两个字节单元存放中断服务程序入口 地址的偏移量, 高地址的两个字节单元存放中段服务程序入口地址的段基值 10. 若 8259A ICW2 的初始值为 18H, 则在中断响应周期数据总线上出现的与 IR 5 相对 应的中断类型码为 1DH 11. 现用 2K 8 位的静态 RAM 芯片构成 8K 32 位的存储器, 共需此种芯片 16 片, 若 CPU 输出的地址信号为 20 位, 则可用于进行片选译码的片外地址为 9 位 12. 当所用的存储器或 I/O 设备的速度比较慢时, 可通过将 READY 引脚信号变为有 效电平来通知 CPU 在当前总线周期中插入等待状态 13. DMA 控制器的工作方式通常有单字节传输方式 块传输方式及请求传输模式, 其中, 块传输模式的数据传输率较高 14. 中断返回指令 IRET 总是安排在中段服务程序的末尾, 执行该指令时, 将从堆栈 弹出 IP CS FR( 或 PSW), 以使 CPU 返回到主程序断点处继续执行后续指令 15. 若在 8259A 初始化时将其设置为普通中断结束方式, 则必须在中断服务程序结束时 向其发出操作命令字 OCW2, 并令其中的 EOI 位为 1, 以使 ISR 寄存器的相 应位清 0 16. 基本的总线仲裁方式有两种, 即串行总线仲裁和并行总线仲裁 第 3 页共 9 页
三 简答题 ( 本大题共 4 小题, 每小题 5 分, 共 20 分 ) 1. 画出硬连线控制器的基本组成框图, 说明这种控制器的优缺点 基本框图如下 : 环形脉冲发生器. T1 T2 Tn 指 I 令. 微指令编码器 R 译. 码. END 微命令信号 优点 : 执行指令的速度快缺点 : 不规整, 不易扩充 2. 说明 CPU 响应可屏蔽中断 (INTR) 和非屏蔽中断 (NMI) 的区别 答 : 区别 :(1) 响应 INTR 需首先检测中断标志 IF 的状态, 而响应 NMI 无需检测 IF 的状态 ; (2) 响应 INTR 时, 需从外部读取中断型码, 而响应 NMI 时 CPU 内部自动形成相应的中断类型码 3. 说明 DMA 控制器 (DMAC) 的基本结构 ( 指出内部主要有哪些寄存器, 外部主要有哪些控制信号线 ) 答 :DMA 控制器 (DMAC) 的内部结构主要有 : 控制寄存器, 状态寄存器, 地址寄存器和字节计数寄存 ; 外部控制信号线有 : 数据总线, 地址总线, 控制总线 ( 含总线请求, 总线应答信号线 ) 以及计数结束信号线 ( 可作为中段请求信号 ); 4. 试计算 Cache 控制器 82385 采用 两路组相联 比 直接映像 方式所增加的硬件开销 ( 以位为计量单位 ) 设处理器环境为 80386, 直接映像 方式下外部 Cache 大小为 32KB, 两路组相联方式下外部 Cache 的 BANKA 和 BANKB 均为 16KB, 并在内部每一对目录项中配置一位 最近最少使用 LRU 位 主存与 Cache 的映像单位为行, 每行 32 位 第 4 页共 9 页
答 : 两路组相连比直接映像方式所增加的硬件开销为 : 27 位 x 2 x 512 + 512 位 (LRU)-26 位 x1024 = 1024 + 512 = 1536 位 四 汇编语言编程 ( 每小题 6 分, 共 18 分 ) 1. 将下列伪指令语句定义的数据填充到图示的存储单元中 ( 注 :A 的 ASCII 码为 41H, B 的 ASCII 码为 42H) ONE DB A, B TWO DB AB DATA DW 100H,9AH ARRAY DB 2 DUP (0,1,?,2) ONE TWO 41H 42H 41H 42H DATA 00H 01H 9AH 00H ARRAY 00H 01H? 02H 00H 01H? 02H 2. 在下面的汇编语言程序横线处填空, 使语句完整, 保证程序正确执行 DSEG SEGMENT Dl DB 1,5,2,6, 7,4 CNT EQU $ Dl RLT DW? DSEG ENDS SSEG SEGMENT STACK DB 256 DUP(0) SSEG ENDS CSEG SEGMENT ASSUME CS: CSEG, DS: DSEG, SS: SSEG START: MOV AX, DSEG MOV DS, AX MOV BX,OFFSET Dl MOV CX, CNT MOV DX, 0 LP: MOV AL, [BX] CMP AL, 0 第 5 页共 9 页
JL CONT INC DX CSEG LOOP MOV MOV INT ENDS LP RLT, DX AH, 4CH 21H END START 上述程序执行后,RLT 的内容是 0004H ( 用 16 进制表示 ); 若将程序中的 JL CONT 指令改为 JGE CONT 指令, 则该程序执行后,RLT 的内容是 ( 用 16 进制表示 ) 0002H 内请勿答3. 阅读下列程序段, 在必要的地方加简要注释, 并指出程序运行后,A 单元的内容为 0250H DSEG SEGMENT ; 定义数据段 A DW 0 B DW 0 C DW 230H, 20H, 54H DSEG ENDS SSEG SEGMENT STACK ; 定义堆栈段 DB 256 DUP(?) SSEG ENDS CSEG SEGMENT ; 定义代码段 ASSUME CS: CSEG, DS: DSEG, SS: SSEG START: MOV AX, DSEG MOV DS, AX MOV BX, OFFSET C ; 将 C 的偏移地址传送给 BX MOV AX, [BX] ; 将 BX 所指向的字单元内容传送给 AX MOV B, AX ; 将 AX 中的内容存入 B 中,B 的内容为 0230H MOV AX,[BX+2] ; 将 BX+2 所指向的字单元内容送 AX,AX=0020H 装CONT: INC BX 订线题ADD AX, B ; 指令执行后,AX 为 0250H MOV A, AX CSEG ENDS ; 代码段结束 END START ; 程序结束五 设计与应用 ( 本大题共 4 小题, 每小题 8 分, 共 32 分 ) 1. 某存储子系统如下图所示, 与之接口的 CPU 的地址总线信号共 20 位 第 6 页共 9 页
试指出 : ⑴ 该存储器的总存储容量为 6K[ 或 6*2 10 ] 字节 ; ⑵ SRAM 的地址范围为 F9000H~F97FFH 或 F9800H~F9FFFH ( 以 16 进制表示 ), 片选译码的特点为 部分译码 [A 11 未参与 RAM 的地址译码 ][ 有地址重叠现象 ] ⑶ EPROM 的地址范围为 FD000H~FDFFFH ( 以 16 进制表示 ), 片选译码的特点为 全译码 [ 每个存储单元有唯一确定的地址 ] 2. 利用可编程计数器 / 定时器 8253 产生周期为 10μs 的方波信号, 设外部时钟频率 F= 1 MH Z, 8253 的端口地址为 80H~83H 要求 :(1) 画出连线简图 ; (2) 编写 8253 的初始化程序, 并加简要注释 连线图 : 系统总线 CLK0 GATE0 OUT0 F=1M HZ 外部时钟 +5V 第 7 页共 9 页
初始化程序 : MOV AL, 17H OUT 83H, AL ; 写通道 0 控制字 MOV AL, 10H OUT 80H, AL ; 写通道 0 计数初值 HLT 订线内请3. 利用可编程并行接口片 8255A 实现下述功能 : 读入接于 A 口的 8 位开关状态码, 将该状态码的低 4 位求反, 高 4 位保 持不变, 然后从 C 口送出 要求 :(1) 画出连线简图 ; (2) 编写 8255A 的初始化程序及有关控制程序, 并加简要注释 8255A 的端口地址为 280H~283H ( 控制字中无关的位, 置 0) 解 :(1) 连线简图 :(2 分 ) (2) 初始化程序及相关控制程序 :(6 分 ) MOV AL, 90H ; 8255A 初始化 :A 组方式 0,A MOV DX, 283H ; 口输入,PC 7 ~PC 4 输出 ;B 组方式 OUT DX, AL ; 0,PC 3 ~PC 0 输出 (2 分 ) MOV DX, 280H IN AL, DX ; 从 A 口读入 8 位开关状态码 (2 分 ) XOR AL, 0FH; 低 4 位求反, 高 4 位保持不变 MOV DX, 282H OUT DX, AL ; 从 C 口送出 (2 分 ) HLT 勿注 : 若使用通道 1 或 2, 则值有可能不同装答题第 8 页共 9 页
4. 阅读下面有关 Intel 8251A 的一段程序, 指出其功能, 并做出简要注释 其中,51H 为 8251A 的控制口地址,50H 为 8251A 的数据口地址 MOV AL,0EEH ; 注释 (3 分 ) OUT 51H,AL ; 写 8251A 方式选择控制字 MOV AL, 15H ; OUT 51H,AL ; 写 8251A 操作命令字 CHKRX: IN AL,51H ; 读状态字 ROR AL,1 ; ROR AL,1 ; 循环右移 2 位 JNC CHKRX ; 若 RxRDY 位 =0, 则转 CHKRX( 继续读状态 ) IN AL,50H ; 若 RxRDY 位 =1, 则从数据口读数据 NOT AL ; 将读进来的数据按位求反 MOV BL,AL ; 暂存于 BL CHKTX: IN AL, 51H ; 读状态字 ROR AL, ; 循环右移 1 位 JNC CHKTX ; 若 TxRDY 位 =0, 则转 CHKTX MOV AL,BL ; OUT 50H, AL ; 将求反后的数据输出 JMP CHKRX 该程序段的功能为 以查询方式从 8251A 数据口接收 8 位数据, 求反后再以查询 方式发送出去 (5 分 ) 第 9 页共 9 页