《微机原理与接口技术》 李华贵 主编
课后习题参考答案 第1章 (1.6 习 题)
1.简述名词的概念:微处理器、微型计算机、微型计算机系统。
答:
(1)微处理器:微处理器(Microprocessor)简称μP或MP,或CPU。CPU是采用大规模和超大规模集成电路技术将算术逻辑部件ALU(Arithmetic Logic Unit)、控制部件CU(Control Unit)和寄存器组R(Registers)等三个基本部分以及内部总线集成在一块半导体芯片上构成的电子器件。
(2)微型计算机:微型计算机(Microcomputer)是指以微处理器为核心,配上由大规模集成电路制作的存储器、输入/输出接口电路及系统总线等所组成的计算机,简称微机。 (3)微型计算机系统:微型计算机系统由硬件与软件两大部分组成,分别称为硬件(Hardware)系统与软件(Software)系统。其中,硬件(Hardware)系统由CPU、内存储器、各类I/O接口、相应的I/O设备以及连接各部件的地址总线、数据总线、控制总线等组成。
软件(Software)系统:计算机软件(Software)是指为运行、维护、管理、应用计算机所编制的程序及程序运行所需要的数据文档资料的总和。一般把软件划分为系统软件和应用软件。其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。
2.简述名词的概念:指令寄存器、地址寄存器、标志寄存器。 答:
(1)指令寄存器:指令寄存器(Instruction Register,IR)用来保存计算机当前正在执行或即将执行的指令。当一条指令被执行时,首先,CPU从内存取出指令的操作码,并存入IR中,以便指令译码器进行译码分析。
(2)地址寄存器:地址寄存器(Address Register,AR)被动地接受IP传送给它的地址值(二进制地址),AR的作用是保持IP送来的地址,并且以并行方式连接输出到CPU的地址引脚上,以便CPU访问指定的内存单元。
(3)标志寄存器:标志寄存器(Flags,F)是CPU中不可缺少的程序状态寄存器,因此,也称程序状态字寄存器(PSW),所谓状态是指算术或逻辑运算后,结果的状态以二进制的0或1在标志寄存器中标识出来,例如,运算结果有进位,则进位标志位CF=1,否则为0。
3.何谓IA-32处理器?
《微机原理与接口技术》课后习题的参考答案
答:
Intel公司推出了32位结构的80386微处理器后,确定了80386芯片的指令集结构(Instruction Set Architecture)为以后开发80X86系列处理器的标准,称其为Intel 32位结构(Intel Architecture-32,IA-32),后来的80486、Pentium等微处理器统称为IA-32处理器,或称32位80X86处理器。
4.什么叫总线?总线包括哪三种? 答:
所谓总线,它将多个功能部件连接起来,并提供传送信息的公共通道,能为多个功能部件分时共享,CPU通过总线连接存储器和I/O接口等,构成了微型计算机。
这里指的总线(BUS)包括地址总线、数据总线和控制总线三种。
5.地址总线的作用是什么? 答:
地址总线(Address Bus,AB),通常是CPU用来发出地址信息的,用于对存储器和I/O接口进行寻址。
6.什么叫溢出?判断溢出的方法是什么? 答: (1)溢出通常指计算机运算的结果超出了计算机所能允许的范围。本章所讲的溢出是指用补码实现加/减运算后,若参与操作的两数在定义域内,但运算结果超出了字长范围内补码所能允许表示的值,所计算出的结果产生了错误,称之为溢出。
(2)加/减运算判断溢出的方法:
如果把加/减法运算都变成补码相加,则两个正数相加可能产生正的溢出,两个负数相加可能会产生负的溢出,正负两数相加不会产生溢出。
具体实现的方法是:两个操作数运算后,用最高位和次高位产生的进位位异或,异或结果为1,则表示有溢出,结果为0,表示无溢出。例如:两个8位数运算后,溢出标志 OF=C6⊕C7
7.假设四种CPU主存地址分别为16根、20根、24根以及32根,试问每种CPU可寻址内存多少字节?
解:每种CPU可寻址内存分别是:216=64KB、220=1MB、224=16MB、232=4GB。
8.在一般指令格式中,由哪两部分组成? 答:
由操作码和操作数组成。
9.设字长为16位,将下列十进制数转换成二进制数、十六进制数以及BCD数。 ① 65 ② 129 ③ 257 ④ 513
- -
2
解:
① 65=01000000B=41H=(0110 0101)BCD ② 129=10000001B=81H=(0001 0010 1001)BCD ③ 257=100000001B=101H=(0010 0101 0111)BCD ④ 513=1000000001B=201H=(0101 0001 0011)BCD
10.设字长为8位,写出x、y的原码、反码和补码,并且用补码计算x+y,问是否有溢出?
① x=-78 y=35 ② x=-64 y=-66
解:
① x=-78 y=35
[X]原=11001110, [X]反=10110001, [X]补=10110010 [Y]原=00100011, [Y]反=00100011, [Y]补=00100011 [X]补+[Y]补=10110010+00100011=11010101, 无溢出。 ② x=-64 y=-66
[X]原=11000000, [X]反=10111111, [X]补=11000000 [Y]原=11000010, [Y]反=10111101, [Y]补=10111110 [X]补+[Y]补=11000000+10111110=01111110, 有溢出。
11.试用8位二进制写出以下数、字母以及控制命令的ASCⅡ码,还要写出它们各自的奇校验、偶校验、标记校验及空格校验的ASCⅡ码。
① B ② 8 ③ CR ④ NUL
解:各自对应的奇校验、偶校验、标记校验及空格校验的ASCⅡ码如表1所示。
表1 数、字母以及控制命令的ASCⅡ码
数、字母以及控制命令 B 8 奇校验 11000010 00111000 00001101 10000000 偶校验 01000010 10111000 100001101 000000000 标记校验 11000010 10111000 10001101 10000000 空格校验 01000010 00111000 00001101 00000000 CR NUL
12.设两个BCD数X=1000 1001,Y=0111 0101,试用列竖式的方法计算X+Y,注意要做加6修正运算。
解:
1000 1001 0111 0101
1111 1110 结果不正确 110 个位加6修正
3 - -
《微机原理与接口技术》课后习题的参考答案
1 0000 0100 结果还不正确 + 110 十位加6修正
1 0110 0100 结果正确
13.若规格化32位浮点数N的二进制存储格式为41360000H,求其对应的十进制数值。 解:
41360000H=0 10000010 01101100000000000000000B
N=(-1)S×(1.M)×2E-127=(-1)0×(1.011011)×2130-127
=1.011011×23=1011.011=11.375D
14.微机中的存储器是如何编址的?
答:
在微机中,存储器均按字节(一字节由8位二进制信息组成)编址,即每个字节有一个二进制的地址编码。给每个存储单元分配的一个固定地址,称为单元地址。
15.微型计算机的硬件系统由那些部件组成? 答:
微型计算机的硬件系统主要由运算器、控制器、存储器、输入设备及输出设备五大部分组成。
16.计算机的主要性能指标有哪些?
答:字长、CPU的主频、主存储器的容量及外存储器的容量等。
第2章 (2.5 习 题)
1.微型计算机可以工作在哪三种工作模式下? 答:
微处理器可以工作在:实地址模式、保护模式及虚拟8086模式共三种。
2.如何从实模式转变到保护模式? 答:
通过对CPU中的控制寄存器CR0中的b0位置1,即保护允许位PE置1,于是系统进入保护模式。这是由操作系统程序来实现的。
3.实模式有哪些特征? 答:
实地址模式(Real-Address Mode)也称实模式,简单地说,是指80286以上的微处理器所采用的8086的工作模式。在实模式下,采用类似8086 CPU的体系结构,其寻址机制,尤
- - 4
其是存储器寻址,以及中断处理机制均和8086相同。在实模式下,关键是CPU寻址空间只有1MB(00000H~FFFFFH),也是采用分段管理存储器的方式,将存储器分成四种类型的段,每段存储空间最大为64KB。将1MB的存储空间保留两个区域:一个是中断向量表区(00000~003FFH),这是1KB的存储空间,用于存放256个中断服务程序的入口地址(中断向量),每个中断向量占4字节。
4.16位微处理器有哪些通用寄存器? 答:
AX、BX、CX、DX、SI、DI、SP和BP。
5.16位微处理器有哪4个段寄存器?每个段寄存器的作用是什么?
答:
4个段寄存器分别是代码段寄存器CS、数据段寄存器DS、附加段寄存器ES及堆栈段寄存器SS。
(1)代码段寄存器CS是一个随机存取存储区,用来保存微处理器使用的程序代码。在8086系统中,代码段寄存器CS定义了代码段的起始地址。代码段的最大存储空间为64KB。
(2)数据段寄存器DS也是一个随机存取存储区,用来保存程序执行过程中所使用的数据及存放程序运行后的结果。数据段寄存器DS定义了数据段的起始地址,其最大存储空间也是64KB。
(3)附加段寄存器ES是为某些串操作指令存放操作数而附加的一个数据段。与数据段类似,附加段寄存器ES定义了附加段的起始地址,其最大存储空间也为64KB。
(4)堆栈段寄存器SS是一个特殊的随机存取存储区,用来临时保存程序执行过程中有关寄存器的内容、程序的地址信息及传递参数等。堆栈段寄存器SS与堆栈指针SP共同确定堆栈段内的存取地址。其最大存储空间为64KB。
6.如何理解32位微处理器的通用寄存器与16位的通用寄存器兼容? 答:
虽然32位微处理器将8086原来的8个16位通用寄存器AX、BX、CX、DX、SI、DI、BP、SP均扩展成(Extended)32位的寄存器,即EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP。但是,它保留了原来的8个16位寄存器和8个8位的寄存器,仍然可以使用它们编程,当然,所编写的程序仍然可以在32位机上运行。既可以用32位寄存器编程,还可以用16位及8位寄存器编程,这就实现了寄存器的兼容。
7.什么叫段基地址?什么叫偏移地址? 答:
编程人员在编程时,只能涉及到逻辑地址,而不能涉及到实际地址。逻辑地址在实模式下,它由段基地址与段内偏移地址组成,习惯上写为“段基地址:偏移地址”,实模式下,段基地址与段内偏移地址都是16位,段基地址是段起始地址的高16位,说明每个段在主存中的起始位置,段内偏移地址也称“偏移量”,是所要访问存储单元距离起始地址之
5
- -
《微机原理与接口技术》课后习题的参考答案
间的字节距离。
在32位段的情况下,偏移量是32位。
8.段寄存器与32位偏移地址寄存器的固定搭配如何? 答:
固定搭配如表2所示。
表2 段寄存器与32位偏移地址寄存器的固定搭配
段寄存器 CS DS SS ES FS GS 偏移地址寄存器 EIP EAX、EBX、ECX、EDX、ESI、EDI、8位、16位或32位二进制数 ESP、EBP 只有串操作时默认EDI 无固定搭配寄存器 无固定搭配寄存器 物理地址的用途 指令地址 数据段内地址 堆栈段内地址 附加数据段内地址(目地址) 一般数据地址 一般数据地址
9.8086 CPU由哪两部分组成?它们的主要功能各是什么?
答:
8086 CPU内部结构从功能上看,它由两大部件组成,分为总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。
(1)总线接口部件BIU的主要功能:它是8086 CPU与外部存储器和I/O端口的接口,提供了16位双向数据总线和20位地址总线,负责CPU与存储器及I/O端口之间的数据传送操作(包括物理地址的形成)。
(2)执行部件EU主要功能:从BIU中的指令队列获取指令,对指令进行译码分析并执行,执行指令所需要的操作数和运算结果的存储,是由EU向BIU传递偏移地址,BIU只要收到EU送来的偏移地址,于是将送来的偏移地址与相应的段地址组成20位的物理地址,根据现行的20位物理地址,通过执行存储器的读/写总线周期来完成读/写操作,或者是通过执行I/O端口的读/写总线周期来完成读/写I/O端口的操作。
10.8086 CPU中的标志寄存器FLAGS有哪些状态标志位?在什么情况下置位? 答:
状态标志有6位:CF、PF、AF、ZF、SF和OF。
① CF(Carry Flag),进位标志位。本次运算中最高位有进位或借位时,CF=1。 ② PF(Parity Flag),奇偶校验标志位。本次运算结果的低8位中1的个数为偶数时,PF=1。
③ AF(Auxiliary Carry Flag),辅助进位标志位。本次运算结果低4位向高4位有进位或借位时,AF=1。
④ ZF(Zero Flag),零标志位。若运算结果为0时,ZF=1。
- -
6
⑤ SF(Sign Flag),符号标志位。当运算结果的最高位为1,则SF=1。 ⑥ OF(Overflow Flag),溢出标志位。当运算结果有溢出时,OF=1。
11.什么是逻辑地址?什么是物理地址?如何将逻辑地址转换为物理地址? 答:从8088/8086开始,CPU内部就有了对存储器的分段机制,每个存储单元可以看成两种地址:逻辑地址与物理地址。
(1)逻辑地址
逻辑地址是编程时所使用的地址,在实模式下,它由段基地址与段内偏移地址组成,习惯上写为“段基地址:偏移地址”。
(2)物理地址
物理地址又称为实际地址,它是信息在内存中存放的实际地址,是CPU访问存储器时实际发出的地址信息。
(3)在实地址方式下,由CPU中的总线接口单元将段基地址左移4位后与16位的偏移地址相加,生成20位的物理地址。可以访问1MB的存储空间。
12.设X=35H,Y=76H,进行X+Y和X-Y运算后,标志寄存器FLAGS的状态标志位各是什么?
答:
(1)X+Y=35+76后,CF=0、AF=0、SF=0、OF=0、ZF=0、PF=1。 (2)X-Y=35-76后,CF=1、AF=1、SF=1、OF=0、ZF=0、PF=1。
13.什么叫存储器地址交叉?微机的存储器为什么要用存储器地址交叉技术? 答: (1)在一个物理存储芯片内部所有存储单元的地址编号都不是连续的,而在相邻存储芯片之间的物理地址是相连接的,例如,16位的微处理器8086/80286把内存地址分为偶地址的字节数据、奇地址的字节数据,因此,分为偶字库和奇字库,即在一个物理存储芯片内所有存储单元的地址编号都是奇地址,另一物理存储芯片内所有存储单元的地址编号都是偶地址,这就称为地址交叉。
(2)偶地址存储体与数据总线的低8位(D7~D0)相连,奇地址存储体与数据总线高8位(D15~D8)相连,可以由偶地址有效选中偶字库(例A0=0),由奇地址有效选中奇字库(例(BHE=0)。原因是:便于CPU可以只访问偶地址一个字节,也可以只访问奇地址一个字节,还可以访问一个字(2字节)。
在CPU的外部数据总线为32位的情况下,CPU不仅可能只访问一个字节、一个字,还可能访问一个双字,因此,把内存分成4个存储体,实现存储器地址的4体交叉。
14.请将实模式下逻辑地址转变成物理地址。 (1)FFFFH:0000H (2)0045H:0018H (3)2000H:4600H (4)B821H:3456H
7 - -
《微机原理与接口技术》课后习题的参考答案
解:
(1)FFFFH:0000H,物理地址= FFFFH×16+0000H=FFFF0H (2)0045H:0018H,物理地址= 0045H×16+0018H=00468H (3)2000H:4600H,物理地址= 2000H×16+4600H=24600H (4)B821H:3456H,物理地址= B821H×16+3456H=BB666H
15.在8086系统中,CPU执行访问存储器指令时,BHE=0,说明当前CPU要访问哪一个存储体?
答:
当BHE=0时,CPU要访问奇地址的存储体。
第3章 (3.12 习 题)
3.1 按照16位微处理器的寻址方式看,分别指出下列指令中源操作数和目的操作数的寻址方式。
解:
(1) mov ax,0
;源操作数:立即寻址,目的操作数:寄存器寻址 ;源操作数:寄存器寻址,目的操作数:变址寻址 ;源操作数:寄存器寻址,目的操作数:相对变址寻址
(2) mov [si],ax (3) mov 2[di],bx 寻址
(4) mov 2[bx+si],dx ;源操作数:寄存器寻址,目的操作数:相对基址(加)变址(5) mov ax,[1000h] ;源操作数:直接寻址,目的操作数:寄存器寻址
(6) mov dx,[bx][si] ;源操作数:基址(加)变址寻址,目的操作数:寄存器寻址 (7) mov ax,[bx] (8) mov dx,[bp+8]
3.2 按照32位微处理器的寻址方式看,分别指出下列指令中源操作数和目的操作数的寻址方式。
解:
(1) mov eax,01h (2) mov [esi],ax 寻址
;源操作数:立即寻址,目的操作数:寄存器寻址 ;源操作数:寄存器寻址,目的操作数:基址寻址 ;源操作数:寄存器寻址,目的操作数: 比例变址
;源操作数:基址寻址,目的操作数:寄存器寻址 ;源操作数:相对基址寻址,目的操作数:寄存器寻址
(3) mov [esi*2],bx
- - 8
(4) mov [ebx+esi],dx 例变址寻址
;源操作数:寄存器寻址,目的操作数: 基址加比;源操作数:直接寻址,目的操作数:寄存器寻址 ;源操作数: 基址加比例变址寻址,目的操作数:;源操作数:寄存器寻址,目的操作数:寄存器寻址 ;源操作数: 比例变址加位移寻址,目的操作数:;源操作数: 基址加位移寻址,目的操作数:寄存
(5) mov eax,[1000h]
(6) mov dx,[ebx+esi*8] 寄存器寻址
(7) mov edx,eax
(8) mov dx,[ebp*2+8] 寄存器寻址
(9) mov dx,[ebx+8] 器寻址
(10) mov ax,[ebx+esi*2+78h] ;源操作数: 基址加比例变址加位移寻址,目的操作数:寄存器寻址
3.3 指出下列指令的错误原因 解:
(1) inc [si]
;目的操作数类型不明确
;源操作数和目的操作数类型不匹配 ;立即数不能作目的操作数
;源操作数和目的操作数不能同时为存储器操作数 ;基址变址寻址方式不能同时为基址寄存器 ;基址变址寻址方式不能同时为变址寄存器
;300超出了ah可以容纳的数据范围
;cs不能由程序员赋值,它由系统自动赋值 ;push要求操作数为16位或32位
;当移位次数超过1时,先将移位次数送cl,再移位 ;基址变址寻址方式缺少一对方扩号 ;ip不能由程序员赋值,它由系统自动赋值 ;源操作数和目的操作数不能同时为段寄存器 ;入栈只能用push指令实现
(2) mov eax,bx (3) mov 2,ax
(4) mov [ebx],[edi] (5) mov ax,[bx+bp] (6) mov ax,[si+di] (7) mov ah,300 (8) mov cs,1000h (9) push al (10) shl ax,8 (11) mov ax,bx+di (12) mov ip,bx (13) mov es,ds (14) mov [sp],ax
3.4 比较下列两条指令,指出他们的区别。 解:
mov eax,[si] mov [si],eax
;从内存读数据送eax ;把eax的值写入到内存
9 - -
《微机原理与接口技术》课后习题的参考答案
3.5 假设(EAX)=12345678H,写出下面每条指令单独执行后,(EAX)=? 解:
(1) and eax,0000ffffh (2) test eax,1 (3) xor eax,eax (4) sub eax,eax (5) add eax,1 (6) or eax,1
;(eax)=00005678h ;(eax)=12345678h ;(eax)=0
;(eax)=0
;(eax)=12345679h ;(eax)=12345679h ;(eax)=12345678h ;(eax)=12345679h ;(eax)=12345677h ;(eax)=12345670h
(7) cmp eax,0000ffffh (8) inc eax (9) dec eax (10) sub eax,8
3.6 假定(AX)=1234H,(BX)=00FFH,回答每条指令单独执行后,(AX)=?(BX)=? 解:
(1) and ax,bx
;(ax)=0034h
(bx)=00ffh (bx)=00ffh (bx)=00ffh (bx)=1234h (bx)=00ffh (bx)=0eecbh (bx)=12ffh (bx)= 00ffh
(2) test ax,bx ;(ax)=1234h (3) xor ax,bx
;(ax)=12cbh
(4) xchg ax,bx ;(ax)=00ffh (5) add ax,bx (6) sub bx,ax (7) or bx,ax (8) cmp ax,bx
;(ax)=1333h ;(ax)=1234h ;(ax)=1234h ;(ax)=1234h
3.7 假设(EAX)=11223344H,(EBX)=11225566H,写出下面程序段每条指令执行后(EAX)=?(EBX)=?
解:
add eax,ebx
;(eax)=224488aaH,(ebx)=11225566H
;(eax)=22448932H,(ebx)=11225566H
add eax,00000088h
sub eax,ebx
;(eax)=112233ccH,(ebx)=11225566H ;(eax)=112233ccH,(ebx)=11225567H ;(eax)=112233ccH,(ebx)=00005567H
inc ebx and ebx,0000ffffh
- - 10
3.8 已知(DS)=1000H,(BX)=0100H,(SI)=0004H,存储单元[10100H]~[10107H]依次存放11H 22H 33H 44H 55H 66H 77H 88H,[10004H]~[10007H] 依次存放2AH 2BH 2CH 2DH,说明下列每条指令单独执行后AX中的内容。
解:
(1)MOV AX,[0100H] (2)MOV AX,[BX]
;(AX)=2211H ;(AX)=2211H ;(AX)=2B2AH ;(AX)=4433H ;(AX)=2B2AH
;(AX)=2D2CH ;(AX)=6655H ;(AX)=8877H
(3)MOV AX,[0004H] (4)MOV AX,[0102H] (5)MOV AX,[SI]
(6)MOV AX,[SI+2] (7)MOV AX,[BX+SI] (8)MOV AX,[BX+SI+2]
3.9 已知(DS)=1000H,(EBX)=0100H,(ESI)=0004H,存储单元[10100H]~[10107H]依次存放11H 22H 33H 44H 88H 77H 66H 55H,[10004H]~[10007H] 依次存放8AH 8BH 8CH 8DH,说明下列每条指令执行后EAX中的内容。
解:
(1)MOV EAX,[0100H] (2)MOV EAX,[EBX] (3)MOV EAX,[EBX+4]
;(EAX)=44332211H ;(EAX)=44332211H ;(EAX)=55667788H
(4)MOV EAX,[0004H] ;(EAX)=8D8C8B8AH
(5)MOV EAX,[ESI] ;(EAX)=8D8C8B8AH (6)MOV EAX,[EBX+ESI] ;(EAX)=55667788H
3.10 什么是堆栈?它的工作原理是什么?它的基本操作有哪两个? 答:
堆栈是在内存RAM中开辟的一段空间,利用“先进后出”或“后进先出”的原则存取数据。如果把数据压入堆栈,则堆栈指针的值是减少的,即所谓的向下生成堆栈。由SS:SP(16位)或SS:ESP(32位)指向栈底(栈空)或栈顶(栈不空)地址。它的基本操作有数据入栈指令PUSH和数据出栈指令POP。
3.11 设SS=1000H,SP=0100H,指出下列每条指令执行后,(AX)=?(BX)=?(SP)=?并且回答堆栈中的内容如何?
解:
MOV AX,2233H
;(AX)=2233H,(BX)不确定,(SP)=0100H
11
- -
《微机原理与接口技术》课后习题的参考答案
PUSH AX
;(AX)=2233H,(BX)不确定,(SP)=00FEH ;(AX)=2233H,(BX)=4455H,(SP)=00FEH ;(AX)=2233H,(BX)=4455H,(SP)=00FCH ;(AX)=4455H,(BX)=4455H,(SP)=00FEH ;(AX)=4455H,(BX)=2233H,(SP)=0100H
MOV BX,4455H PUSH BX
POP AX POP BX
这段指令执行后将AX和BX的值互换。
3.12 什么是16位段?它有何特点? 答:
32位微机在上电或复位后,微处理器首先工作在实地址模式,它与8086/80186的工作方式具有相同的基本结构,也只能寻址1MB物理存储空间,分段最大只能是64KB,但是,在实地址模式下,32位X86 CPU可以使用16位寄存器和16位寻址方式,这与8086 CPU兼容,32位X86 CPU还可以使用32位寄存器和32位寻址方式,处理32位数据及执行32位的新增指令,但是,段基地址和偏移量都只用16位,6个段寄存器仍然当作16位的段寄存器使用,对于偏移地址来说,如果是32位,则高16位应该为0,只有低16位偏移地址有效,相当于可以进行32位数处理的快速8086,所以称之为“16位段”。
3.13 什么是32位段?它与16位段的主要区别如何? 答:
32位X86 CPU由实地址模式可以进入保护工作模式,它是一个增强了80286保护模式功能的32位保护工作模式。在保护工作模式下,32位微处理器不仅具有段式存储器管理功能,而且还有页式存储器管理功能,支持虚拟存储器,段基地址和段内偏移量都是32位,称之为“32位段”,使用全部32条地址线,可以寻址的物理存储器达到4GB,只有在保护模式下,32位X86 CPU才能发挥全部功能。而32位段的程序只能在32位Windows环境中执行。
3.14 16位存储器寻址中,分为哪几种寻址方式? 答:
(1)直接寻址
(2)基址寻址(包括相对基址寻址) (3)变址寻址(包括相对变址寻址) (4)基址(加)变址寻址 (5)相对基址(加)变址寻址
- - 12
3.15 32位存储器寻址中,分为哪几种寻址方式? 答:
(1)直接寻址 (2)基址寻址 (3)基址加位移寻址 (4)比例变址寻址 (5)比例变址加位移寻址 (6)基址加比例变址寻址 (7)基址加比例变址加位移寻址
3.16 对于立即寻址的指令,有8位、16位及32位的立即寻址的指令,各列举2条指令(一条是传送指令,另一条是加法指令)。
解:
8位立即寻址指令 (1) MOV AH,2 (2) ADD AL,3
16位立即寻址指令 (1) MOV AX,1234H (2) ADD DX,3456H
32位立即寻址指令 (1) MOV EAX,12345678H (2) ADD EDX,12345678H
3.17 用移位指令将ESI中内容移入EDI中,如何实现? 解:
.model small .386 .code
.startup
mov esi,11223344h mov edi,12345678h
13 - -
《微机原理与接口技术》课后习题的参考答案
shrd edi,esi,16 rol esi,16 shrd edi,esi,16
.exit
End
3.18 将EBX中存放的值清零,实现的方法有哪一些? 解:
(1) SUB EBX,EBX (2) AND EBX,0 (3) XOR EBX,EBX
第7章 (7.5 习 题)
1.半导体存储器从存取方式上分,可分为哪两类,每类又分为哪一些? 答:
分为RAM与ROM两大类: (1)RAM
RAM按其工艺结构分为双极型与金属氧化物半导体RAM两类。 ① 双极型RAM
② MOS型RAM
RAM按其工作方式分,有: ① SRAM(静态RAM) ② DRAM(动态RAM) (2)ROM
主要分为如下四种:掩膜式ROM、可编程只读存储器PROM(Programmble ROM)、紫外线擦除的可编程只读存储器EPROM(Ersable PROM)及电擦除可编程只读存储器EEPROM(Electrically EPROM)。
2.什么叫半导体存储器的存取周期?
答:
存取周期是指存储器从接收到地址,到实现一次完整的读出所经历的时间,通常取写操作周期与读操作周期相等,故称为存取时间。因此也可以理解为存储器进行连续读或写操作所允许的最短时间间隔。
3.半导体存储器芯片内的地址译码有哪两种方式?每种译码方式有何特点?
- -
14
答:
单译码和双译码两种方式。
单译码方式是将n位地址输入到存储器内部译码器输入端,经译码后可以产生2个输出选择信号,每个输出选择信号选中存储阵列中的一个字,所以单译码方式也称为字译码方式,缺点是译码输出线远多于双译码结构。
双译码结构需要2个译码电路,只有当两个译码器输出的选择线都有效时,交叉的存储单元被选中。采用双译码结构其译码输出选择线大大减少,所以,在存储芯片中一般采用双译码结构。
4.已知某RAM芯片的存储容量为16KB,ROM芯片的存储容量为4K×8位,问每种存储芯片的地址线和数据线分别为多少?
答:
16KB: 地址线14根,数据线8根。 4K×8位: 地址线12根,数据线8根。
5.分别用8KB和16K×8位的RAM芯片构成256KB的存储器,各需要多少片?需要地址线多少根?
答:
8KB: 32片,地址线18根。 16K×8位:16片,地址线18根。
6.阐述图7-16单管动态存储电路中刷新操作的原理。 参考第7章 7.2.4。
7.微处理器与存储器相连接时应考虑哪几方面的问题? 答:
(1)CPU总线的负载能力。
(2)CPU的时序与存储器存取速度之间的配合。 (3)存储器结构的选定。
8.说明Flash 闪存进行块擦除的原理。 参考第7章 7.2.3。
9.选用1M×4位DRAM芯片构成32位机(设存储器数据总线为32位)的存储器,存储容量为16MB,试问:
(1)共计需要多少片?
(2)共计需要分几组?每组多少片? 答:
n
15 - -
《微机原理与接口技术》课后习题的参考答案
(1)32片。
(2)共计需要分4组,每组8片。
10.简述32位存储器系统的组成。 参考第7章 7.3.2。
11.简述高速缓冲存储器Cache的主要工作原理。 参考第7章 7.4.1。
12.设CPU执行一段程序时,访问Cache次数Nc=2000,访问主存次数Nm=100,又假设访问Cache存取周期为50ns,访问主存存取周期为250ns,试求命中率h、平均访问时间ta以及倍率r。
解:
h?NcNc?Nmtmtc?20002000?100?0.952
r??250ns50ns?5
ta=htc+(1-h)tm=0.952×50ns+(1-0.952)×250ns=59.6ns
13.写出组相联映射方式的函数关系式,并作简要说明。Pentium CPU采用的映射方式如何?
答:
组相联映射方式将Cache分成u组,每组有v行,主存块存放到哪一组是固定的,至于存放到哪一行是任意的,设Cache行的总数量为m,组号为q,主存块号为j,则有如下函数关系:
m = u×v q=j mod u
Pentium CPU内部Cache的结构采用组相联结构。
Cache采用2路组相联结构来分成128组,每组2行,每行32B,数据总容量是128×2×32B=8KB,每路4KB。
14.写一次法与回写法的区别如何? 答:
使用回写法,对于Cache中的行,只要不被替换就不会写入主存,也就是说,只有当某一行被替换时才被写回到主存中对应位置。
写一次法与回写法的写策略基本相同,写一次法只是在第一次写命中时要同时写入主存,然后CPU对Cache的写命中则按照回写法的策略对待,这可以节省CPU的总线周期,有
- -
16
利于超标量流水线的进程,有利于提高系统的运行速度。
二者与通写法相比较,都减少了CPU对总线的操作,提高了系统的运行速度。
15.32位存储器组织将内存分为4个存储体,地址总线32位,画出每个存储体的地址分配图。
解:
在32位数据总线的微处理器中,直接输出A31~A230位地址,低2位A1、A0由内部编码产生4个字节选择信号BE3~BE0,以选择不同的字节。由4个字节选择信号把主存储器分为4个存储体,依次存放32位数据中的4个字节,每个体的8位数据依次并行连接到外部数据线D31~D0上,由BE3~BE0选中每个存储体,每个体的地址范围见图3所示。
图3 32位存储器组织图
第8章 (8.5 习 题)
1.什么叫接口电路?从CPU与外设之间交换信息的方式看,接口电路可分为哪四类?
答:
所谓接口(Interface)电路就是微处理器与外围设备(外设)之间的连接电路,它是两者之间进行信息交换时的必要通路,不同的外设有不同的输入/输出接口电路。
(1)程序控制I/O方式。
(2)查询式输入输出方式。
(3)中断控制I/O方式。
(4)直接存储器存取(DMA)方式。
2.接口电路的主要功能有哪些?
17 - -
《微机原理与接口技术》课后习题的参考答案
答:
(1)设备选择功能。
(2)数据缓冲功能。
(3)接收和执行CPU命令的功能。 (4)寄存外设状态的功能。 (5)信号的转换功能。 (6)数据宽度变换的功能。 (7)可编程功能。
3.CPU与外设之间交换的信息有哪些? 答:
① 数据信息,包括输入数据和输出数据。 ② 命令信息,输出信息。 ③ 状态信息,输入信息。
4.I/O端口的两种编址方式各有什么优缺点? 答:
统一编址方式的优点:不需要设立独立的I/O指令,用访问内存的指令就可以访问外设,因此,可以对端口进行算术运算,逻辑运算以及移位操作等。I/O端口空间不受限制。主要缺点是I/O端口占用了内存空间,减少了内存容量。
独立的I/O编址方式的主要优点:不占用内存空间,使用专门I/O指令访问I/O端口,I/O速度快。缺点:CPU的引脚上必须具有能区分访问内存还是访问I/O端口的信号,将它作为I/O接口电路中端口译码电路以及存储器片选译码电路的输入信号。
5.根据图8-2,编写从端口0输出8位数据的简单程序。 解:
MOV DX,3E0H MOV AL,88H OUT DX,AL
6.根据图8-7,分析无条件输出接口电路的基本工作过程。 参考第8章 8.3.2
7.I/O接口电路与CPU一侧一般有哪几种连线?与外设一侧有哪几种连线? 答:
(1)I/O接口电路与CPU一侧的连线主要包括:
① 数据线。 ② 地址线。
③ CPU的读(RD)、写(WR)控制信号相应接到I/O接口电路中的读、写控制输入端。
- -
18
④ 在独立I/O编址方式的CPU引脚上必然有一根用于区别当前访问内存还是访问I/O设备的信号线,引脚为M/IO,当M/IO=0时,CPU访问I/O接口,因此,I/O接口电路还必须与CPU引脚M/IO相连接。
(2)与外设一侧相连的信号线有:
输入/输出数据线;控制线及外设送来的状态线。
8.什么叫端口?一般I/O接口电路中有哪几种端口?
答:端口(Port)是接口电路中能被CPU直接访问的寄存器。根据寄存器中所存放的信息,有数据信息、控制信息及状态信息,所以,分别被称为数据端口、控制端口及状态端口。
9.无条件I/O传送方式有何特点? 答:
这种方式是一种最简单的输入/输出控制方式,其I/O接口电路及软件比较简单,所有的操作均由执行程序来完成。采用这种方式,输入接口电路总是准备好了等待输入给CPU的数据,输出接口电路总是准备好了接受来自CPU的数据。CPU无须查询I/O设备是否准备就绪,直接用汇编语言或高级语言编程,实现输入或输出操作。
10.分别画出查询式输入与查询式输出的流程图。 解:
查询式输入与查询式输出的流程图分别如图4和图5所示。
图4 查询式输入程序的流程图 图5 查询式输出程序的流程图
11.多个外设均工作在查询式输入/输出方式主要存在什么问题? 答:
CPU必须顺序查询每一个外设,当某一个外设不需要服务时,CPU也得按顺序查询一次。外设总是处于被动状态,CPU无法快速响应外设要求及时服务的请求。CPU为了服务
19
- -
《微机原理与接口技术》课后习题的参考答案
外设,其他程序会停止执行,所以,查询式I/O方式不可能是微型计算机外设工作的最佳选择,不适用于实时监控系统。
12.DMAC中有哪几个基本寄存器? 答:
有4个基地址寄存器和4个基本字计数寄存器,其大小都是16位长度,即4个DMA通道的每一个通道都有一个基地址寄存器和一个基本字计数寄存器。
13.简述中断传输方式的特点。
答:
在中断控制方式下,所有的I/O设备都可以工作在主动请求CPU为该外设服务的状态下,一旦一个或多个外设申请中断服务,则CPU根据各I/O设备预先被设置的中断优先级别,逐个予以响应,并进行中断处理、中断返回,实现中断处理的全过程。
采用中断技术后,CPU能与所有的外设并行工作,能及时服务外设,并处理系统异常情况,从而可以提高微机的整体性能,提高计算机的运行速度。
14.82C37A芯片是一种什么类型的芯片?试说明82C37A芯片结构。 答:
参考第8章8.4.1
15.简要说明82C37A两种屏蔽寄存器的用法。 答:
参考第8章 8.4.3
16.简要说明82C37A四种传送类型的特点。 答:
方式寄存器中的最高2位(即D7和D6),被用来为该通道从4种可能的DMA操作方式中选择出其中的一种:请求方式,单次方式,块方式和级联方式。
这4种方式允许每次传送1个数据字节或1个字节块。
(1)在请求传送方式中,一旦启动了DMA周期,只要HRQ信号保持有效且还未达到终止计数值(TC),则将仍然连续不断地进行数据字节的传送。所谓达到终止计数值,是指当前字计数寄存器中的值,在每次数据传送之后会自动减1,最终从0000H变为FFFFH。
(2)块传送方式类似于请求传送方式,即一旦启动了DMA周期,则将连续地进行数据传送操作,直至达到了终止计数值。它们之间的不同之处是,在请求传送方式下,DREQ返回到它的无效状态并将暂停数据传送过程,但在块传送方式下,当DMA周期开始后可在任何时刻释放DREQ信号,而块传送仍将继续进行,直至整个数据块传送完毕。
(3)在单次传送方式下,通道被设置为每次只能进行一个数据的传送。当该传送操作完成时,将当前字计数值减1。而将当前地址加l或减1(可选)。
(4)级联传输方式是多片82C37A级联,分成一个主片和多个从片,把从片的HRQ端
- -
20
和主片的DREQ端相连,从片的HLDA端和主片的DACK端相连接,主片的HRQ端和HLDA端连接到系统总线上。这样,最多可以由5个82C37A级联,构成二级DMA传输系统,可得到最多16个DMA通道。在写方式寄存器时,主片一定要设置成级联传输方式,从片按需要设置成其他的某种方式。
17.82C37A中用户可访问的寄存器是哪些? 答:
除了暂时地址寄存器和暂时字计数寄存器两个寄存器用于暂时存放当前地址和当前字节数,CPU不能直接访问这两个寄存器之外,其他的都可以访问。
18.82C37A通常初始化编程的步骤是哪些? 答:
① 输出主清除命令; ② 设置页面寄存器;
③ 写入基地址和当前地址寄存器;
④ 写入基本字计数寄存器和当前字计数寄存器;
⑤ 写入方式寄存器; ⑥ 写入命令寄存器;
⑦ 写入屏蔽寄存器; ⑧ 请求寄存器(块传送)。
19.82C37A如何实现硬件DMA请求和软件DMA请求? 答:
参见第8章 8.4.3
20.利用82C37A快速清除视频显示缓冲区。设需要填充存储器的起始地址为8000H:0,填充的字节数是2000,82C37A的基地址是00H,通道1页面寄存器的端口地址为83H。通道0的源地址保持不变,则82C37A会将同一存储单元的内容复制到由通道1寻址的整个存储区。试编写存储器填充的程序段。
解:
编程如下:
.stack .code
.startup mov al,0
0ut 0dh,al ;主清零命令 mov al,08h
out 83h,al ;置通道1页面寄存器
21
- -
《微机原理与接口技术》课后习题的参考答案
mov al,0
out 02h,al ;写地址低8位 mov al,0
out 02h,al ;写地址高8位 mov ax,2000
out 03h,al ;先写低8位 mov al,ah
out 03h,al ;后写高8位 mov al,88h
out 0bh,al ;写通道0模式字 mov al,85h
out 0bh,al ;写通道1模式字 mov al,83h
out 08h,al ;写命令字,允许通道0地址保持 mov al,0eh
out 0fh,al ;解除通道0的屏蔽 mov al,04h
out 09h,al ;通道0使用软件请求,启动DMA传输
.exit 0 ;返回DOS
end
第10章 (10.4 习 题)
1.8255A的端口A和端口B分别可以工作在哪几种方式? 答:
端口A:可以工作在方式0、方式1及方式2共计三种方式。 端口B:可以工作在方式0、方式1共计两种方式。
2.设8255A的4个端口地址分别为300H、301H、302H和303H,要求用按位置位/复位控制字使PC5输出方波信号,试编程实现。
解:
MOV DX,303H
L1:MOV
OUT NOP NOP MOV OUT NOP
- -
22
AL,0AH DX,AL
AL,0BH DX,AL
NOP JMP
L1
3.设8255A接到系统中,端口A、B、C及控制口地址分别为304H、305H、306H及307H,工作在方式0,试编程将端口B的数据输入后,从端口C输出,同时,将其取反后从端口A输出。
解: MOV
4.对8255A的控制口写入B0H,其端口C的PC5引脚是什么作用的信号线?试分析8255A各端口的工作状态。
解:
当控制字为B0H时,即10110000B
即8255A的端口A工作在方式1,作输入,端口C的上半部作输出,B端口工作在方式0,作输出,端口C的低4位作输出。
根据上述分析可得知,当8255A的端口A工作在方式1下作输入时,PC5的引脚作状态信号IBFA,即输入缓冲器满信号。
5.并行通信和串行通信各有什么特点?
解:
(1)并行通信就是把一个字符的各数位用几条线同时进行传输。
并行接口最基本的特点是在多根数据线上以数据字节为单位与I/O设备或被控对象传送信息。
在并行接口中,除了少数场合之外,一般都要求在接口与外设之间设置并行数据线的同时,至少还要设置两根联络信号,以便互锁异步握手方式的通信。
在并行接口中,每次以8位或16位为单位进行同时传送。因此,当采用并行接口与外设交换数据时,即使是只用到其中的一位,也要一次输入/输出8位或16位。
并行传送的信息,不要求固定的格式。
MOV OUT MOV IN MOV OUT MOV OUT
DX,307H
AL,10000010B
DX,AL ;送控制字 DX,305H
AL,DX ;读端口B DX,306H
DX,AL ;从端口C输出 AL,0FFH ;AL取反 DX,304H ;从端口A输出 DX,AL
XOR
23 - -
《微机原理与接口技术》课后习题的参考答案
并行接口的优点是传输速率高,但由于需要多根数据线,因此不适合远距离数据传输,一般用于近距离传送的场合。
(2)串行通信就是指通信的发送方和接收方之间的数据在单根通信线上逐位顺序传送。
计算机和外设之间只使用一根信号线传输信息,数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。
串行通信在一根线上既要传送数据,还要传送联络信号,因此,串行通信有一定的数据格式的约定,分为异步和同步数据格式。
串行传输的速率需要控制,通信双方要约定相同的波特率实现通信。由于受波特率上限的约束,串行通信速度慢。
信号的逻辑定义与TTL电平不相同。
6.“由于按位置位/复位命令是对C口进行操作,所以可以写到C口”,这句话对吗?为什么?
答:
不对。这是因为按位置位/复位是一个命令,它要按命令的定义格式来处理每一位,如果把它写入端口C,就会按端口C的数据格式来处理。这两种完全不同的格式是不能互换的,所以,它只能写到命令端口中,按命令定义来处理。
7.如果要检测打印机接口LPT1中控制端口通道的好坏,可以通过对D3~D0位首先写入4个0,通过读回后比较判断是否能写成功;然后写入4个1,按同样的方法进行检测,试编写自检的程序段。
解:
mov al,00h ;00h送给al
mov dx,37ah ;控制端口的地址送给dx out dx,al ;写入控制端口 in al,dx ;读控制端口 and al,0fh
cmp al,00H ;比较
jne erroe1 ;如果不相等,转出错处理 mov al,0fh ;0fh送给al
mov dx,37Ah ;控制端口的地址送给dx out dx,al ;写入控制端口 in al,dx ;读控制端口 and al,0fh cmp al,0fh
jne erroe2 ;如果不相等,转出错处理 . . . ;控制端口是好的
erroe1: ;控制端口通路写全0失败 . . .
- - 24
erroe2: ;控制端口通路写全1失败
8.利用软中断INT 17H,发送字符B到1号打印机打印,用汇编语言编程实现。 解: mov ah,0 mov dx,1 mov al,’b’ int 17h
9.如果8255A的端口A工作在方式1输入,端口A、B、C及控制口地址分别为304H、305H、306H及307H,编写初始化程序段,要求置位INTEA。
解:
MOV DX,307H MOV AL,10110000B
OUT DX,AL ;方式控制字 MOV DX,307H
MOV AL,00001001B ;PC4置1,即INTEA置1 OUT DX,AL
10.如果8255A的端口B工作在方式1输出,端口A、B、C及控制口地址分别为314H、315H、316H及317H,编写初始化程序段,要求置位INTEB。
解:
MOV DX,317H
MOV AL,10000100B
OUT DX,AL ;方式控制字
MOV DX,317H
MOV AL,00000101B ;PC2置1,即INTEB置1
OUT DX,AL
11.如果通过PC机读入打印机的状态字,读入的最高位D7位=0,说明打印机是否忙? 答:
打印机忙。
第11章 (11.6 习 题)
1.串行通信有什么特点? 答:
它是在一根线上以数据位(bit)为单位与I/O设备或通信设备之间传送信息,在这根传输线上既传输数据信息,又传输联络控制信息,数据都占据一个固定的时间长度,通信双方要约定相同的波特率才能实现通信,由于受波特率上限的约束,串行通信的速度是有限
25 - -
《微机原理与接口技术》课后习题的参考答案
度的。串行通信具有通信电路简单,成本低,适用于远距离通信。
2.什么叫异步通信方式?异步通信字符传送的帧格式如何? 答:
异步通信以一个字符为传输单位,用起始位表示字符的开始,用停止位表示字符结束。 异步通信方式的“异步”主要体现在字符与字符之间传送没有严格的定时要求,一旦字符传送开始,收/发双方则以预先约定的传输速率,在时钟脉冲的作用下,传送该字符的每一位,即要求位与位之间有严格而精确的定时,也就是说,异步通信在传送同一个字符的每一位时是同步的。
异步通信字符传输帧格式,请参考第11章图11-2所示。
3.什么叫波特率因子?什么叫波特率?设波特率因子为64,波特率为1200,那么时钟频率为多少?
解:发送时钟与接收时钟的频率与位传输率的比称为波特率因子,而位传输率称为波特率。
发送/接收时钟频率=n×发送/接收波特率 =64×1200 =76800Hz =76.8KHz ∴时钟频率为76.8KHz
4.设异步传输时,一帧信息包括1位起始位、7位信息位、1位奇偶校验位和1位停止位,如果波特率为9600bps,则每秒能传输多少个字符? 解:即9600/(1+7+1+1)
=9600/10 =960个
∴每秒能传输960个字符
5.两台PC机采用异步串行通信方式传送数据。设8250接在系统中,其8个端口地址为2F8H~2FFH,若8250以2400bps波特率进行异步通信,每字符7位,1位停止位,采用奇校验,禁止所有中断,选用查询方式通信。试编写发送和接收的初始化程序段。
解:
MOV MOV OUT
- -
DX,2FBH AL,80H
DX,AL ;通信线路控制字,DLAB=1 DX,2F8H
AL,30H
DX,AL ;送波特率低8位 DX
26
MOV MOV OUT INC
MOV OUT MOV MOV OUT MOV MOV OUT MOV MOV OUT
AL,AL,00H
DX,AL ;送波特率高8位 DX,2FBH AL,0AH
DX,AL ;送最终的通信线路控制字 DX,2FCH
AL,03H
DX,AL ;送MODEN控制字 DX,2F9H
AL,00H
DX,AL ;禁止所有中断
6.16550内部有哪4个中断优先级?其中,优先级的顺序如何?每个中断优先级包括哪些中断源?
答:
16550内部有4个中断优先级:
优先级1:接收数据出错(最高优先级)。 优先级2:接收数据满或接收FIFO字符超时。 优先级3:发送保持寄存器空。
优先级4:MODEM的状态改变(最低优先级)。
优先级的顺序及每个中断优先级所包括的中断源参见第11章,表11-6 中断类型编码及其中断优先级表。
7.16550的FIFO控制寄存器(FCR)各位的定义如何? 参见第11章 图11-17 FIFO控制寄存器的格式。
8.设16550工作在FIFO方式,波特率9600bps,7位数据位,1位停止位,1位偶校验,中断触发值是4字节,使用中断方式传输,分配给寄存器的地址范围是3F8H~3FFH,编写初始化程序。
解:
MOV
MOV OUT MOV MOV OUT INC MOV OUT
DX,3FBH
AL,80H
DX,AL ;通信线路控制字,DLAB=1 DX,3F8H AL,0CH
DX,AL ;送波特率低8位 DX
AL,AL,00H
DX,AL ;送波特率高8位
27
- -
《微机原理与接口技术》课后习题的参考答案
MOV MOV OUT MOV
DX,3FBH
AL,00011010B
DX,AL ;送最终的通信线路控制字 DX,3FAH ;FIFO控制字地址
MOV AL,01000111B
OUT DX,AL ;允许FIFO,清除FIFO,中断触发值=4 MOV DX,3FCH MOV AL,0BH ;OUT2#、DTR#、RTS#信号有效
OUT DX,AL ;送MODEN控制字
MOV MOV OUT
DX,3F9H AL,0FH
DX,AL ;允许所有中断
9.16550波特率的设置有什么特点? 答:
与8250波特率除数锁存器的内容相同。
当基准时钟频率为1.8432MHz时,8250工作的波特率是50~9600bps。而16550的波特率是50~115.2Kbps,提高了传输的速率,部分扩充的波特率与除数对应的关系见表11-5所示,主要特点是波特率除数锁存器的值可以是1。
10.在RS-232C串行通信中,哪一种设备是数据终端设备(DTE)?哪一种设备是数据通信设备(DCE)?
答:
具有RS-232C串行通信接口的计算机是数据终端设备,MODEM或具有MODEM功能的其他通信设备是数据通信设备(DCE)。
11.在RS-232C串行通信中,零MODEM调制的连接电路如何?
答:
零MODEM调制的连接电路:直接将收、发双方的发送端与接收端交叉相连接,而两者的地线连接在一起。
12.RS-232标准规定逻辑1和逻辑0的电压范围分别是多少? 答:
逻辑1的电压:-3V~-15V 逻辑0的电压:+3V~+15V
13.在RS-232C串行通信接口中,为什么要实现RS-232C电平与TTL电平之间的转换? 答:
串行通信接口芯片工作与产生的信号都是TTL电平信号,而国际上规定RS-232C串行通
- -
28
信接口以RS-232C电平工作,这是因为,RS-232C电平抗干扰容限大得多,适应于计算机外部数据的传输,传输距离一般可以达15米左右。为了解决两者电平匹配的问题,所以要实现RS-232C电平与TTL电平之间的转换。
14.USB主要有哪些性能特点?
答:
1)支持即插即用。
2)扩充外设能力强,可支持多达127个外部设备。 3)传输速度快,而且支持多种操作速度。
4)连接简单快捷。
5)通用连接器,USB用一种通用的连接器可以连接多种类型的外设。 6)无须外接电源。
15.USB总线支持哪几种传输速度? 答:
USB支持低速1.5Mb/s、全速12Mb/s、高达480Mb/s,以及USB 2.0以上版本的更高速度。
16.一个USB主控机最多可以连接多少个外部设备? 答:
一个USB主控机可以连接多达127个外设。
17.USB有哪4种基本的传输类型? 答:
(1)批传输 (2)中断传输 (3)等时传输 (4)控制传输
18.USB有哪几种类型的包?
答:
分为四种类型的包:标记包(Token)、数据包(Data)、握手包(Handshake)及特殊包(Special)。
19.在USB协议中,根据不同类型的设备设置了相应的描述符,主要包括哪几种描述符?
答:
在USB协议中,根据不同类型的设备设置了相应的描述符,包括三类描述符: ① USB标准设备的描述符。 ② USB集线器的描述符。
29
- -
《微机原理与接口技术》课后习题的参考答案
③ HID(Humen Interface Devices)设备的描述符,即人机接口设备描述符。
20.标记包的格式如何?
参见第11章 图11-30 标记包格式。
21.数据包的格式如何?
参见第11章 图11-31 数据包格式。
22.USB系统的拓扑结构如何?
参见第11章 图11-28 USB系统拓扑结构示意图。
第12章 (12.5 习 题)
1.说明82C54方式2与方式3的工作特点。
答:
方式2与方式3都能自动产生连续不断的脉冲信号输出,不过,方式2产生的是脉冲波,方式3产生的是对称的方波输出。
方式2对应外来脉冲每次减1,方式3对应外来脉冲一般是减2操作,或减3操作。共同点是减计数器减至0时,初值寄存器重新将初值装入减计数器中。
2.说明82C54方式1与方式5的工作特点。 答:
方式1与方式5都是由GATE信号触发后才开始作减计数,但两者有区别。
(1)写入方式控制字后,OUT输出为高电平。写入计数初值之后,计数器并不立即开始计数,而要等到GATE上升沿后的下一个CLK输入脉冲的下降沿,OUT输出变低,计数才开始。结束时,OUT输出变高,从而产生一个宽度为3个CLK周期的负脉冲。
(2)写入控制字后,输出OUT即为高电平。写入计数初值后,计数器并不立即开始计数,而是由门控脉冲的上升沿触发。计数结束(计数器减到0),输出一个持续时间为一个CLK时钟周期的负脉冲,然后输出恢复为高电平。直到GATE信号再次触发。
3.82C54在写入计数初值后,二进制计数和十进制计数有无区别? 若有,有何区别? 答:
有区别。
写入计数初值后,按照二进制做减计数,不够减时,向高位借1个总是当作2个,而做十进制减计数时,把计数初值当作BCD数,如果个位不够减时,向十位借一个,相当10个数,同样,十位向百位借一个数,也当作10个数处理。
4.82C54初始化编程包含哪两项内容?
- - 30
答:
送控制字,送计数初值。
5.82C54每个计数通道与外设接口有哪些信号线?每个信号的作用是什么? 答:
(1)CLK,时钟脉冲输入端,3个计数器分别有一个时钟脉冲输入端,分别为CLK0、CLK1、CLK2。用于输入定时脉冲或计数脉冲信号。
(2)GATE,门控输入端,3个计数器每一个都有一个门控输入端,分别为GATE0、GATE 1、GATE 2。门控输入端用于外部控制计数器的启动计数和停止计数的操作。 (3)OUT,计数输出端。3个计数器每一个都有一个计数到输出端,分别为OUT0、OUT1、OUT2。
6.试按如下要求分别编写82C54的初始化程序:己知82C54的计数器0、1、2和控制字I/O地址依次为304H、305H、306H和307H。
(1)使计数器1工作在方式0,仅用低8位作二进制计数,计数初值为128;
(2)使计数器0工作在方式1,按BCD码计数,计数值为3000; (3)使计数器2工作在方式2,按二进制计数,计数值为02F0H。 解:
(1)编程如下: MOV DX,307H MOV AL,01010000B OUT DX,AL MOV DX,305H MOV AL,128 OUT DX,AL
(2)编程如下: MOV DX,307H MOV AL,00110011B OUT DX,AL MOV AX,3000H MOV DX,304H OUT DX,AL MOV AL,AH OUT DX,AL
(3)编程如下: MOV DX,307H MOV AL,10110100B OUT DX,AL MOV AX,02F0H
31
- -
《微机原理与接口技术》课后习题的参考答案
MOV DX,306H OUT DX,AL MOV AL,AH OUT DX,AL
7.设82C54的计数器0、1、2和控制字I/O地址依次为300H、301H、302H和303H。设计数器0使用低8位计数,初值为15,选用方式3,二进制计数,编写初始化程序,并要求:用82C54的锁存命令,锁存计数器0的计数值及状态信息,并读回8位的计数值及状态信息。
解:
MOV DX,303H ;初始化编程 MOV AL,00010110B OUT DX,AL MOV DX,300H MOV AL,15 OUT DX,AL
;------------------------
MOV DX,303H
MOV AL,11000010B ;仅锁存0号计数器 ;------------------------
MOV DX,300H
IN AL,DX ;先读取状态信息 MOV AH,AL ;保存状态信息 IN AL,DX ;后读取8位的计数值。
8.设82C54计数器0、1、2和控制字的I/O地址依次为F8H、F9H、FAH、FBH,说明如下程序的作用。
MOV AL,33H OUT 0FBH,AL MOV AL,80H OUT 0F8H,AL MOV AL,50H
0UT 0F8H,AL
解: 33H 即00110011B送入控制地址 FBH,表示计数器0采用16位计数,工作方式1,数据格式为 BCD,计数初值为:5080H。
9.82371AB内部由哪16个功能部件组成? 答:
82371AB内部由16个功能部件组成:
PCI总线接口;
- -
32
ISA总线接口; 初级IDE接口; 二级ID接口; 中断控制接口; 定时器/计数器; 实时时钟RTC; DMA控制器;
通用串行总线USB; 系统电源管理接口; X-Bus支持逻辑; I/O APIC支持逻辑;
系统管理总线SMBus; 系统复位电路;
通用目的输入和输出接口; 测试接口。
10.82371AB内部IDE接口可以外接几个IDE设备? 答:
可以提供4个IDE设备接口。
11.82371AB内部兼容了几个82C54定时器/计数器?其中每个计数器的作用如何? 答:
只兼容了一个定时器/计数器82C54,也称为可编程的时间间隔定时器82C54。它包含3个独立的16位计数器,每个计数器的输出所提供的系统功能:
计数器0:计数器0的计数输出端连接到主82C59的IRQ0,作为系统定时中断。为日历时间、软盘暂停等提供系统定时间隔。
计数器1:计数器1定时产生动态存储器的刷新请求信号。
计数器2:通过对计数器2的编程,定时产生对喇叭音调的控制。
12.82371AB内部兼容了几个82C59?可以连接几个外部中断源? 答:
两个中断控制器82C59提供15级中断。
第13章 (13.4 习 题)
1.简述总线标准和接口标准的一般特点,二者有何不同? 参考第13章 13.1.1
2.目前微机中常用的典型总线有哪几种?它们各有什么特点? 参考第13章 13.2
33 - -
《微机原理与接口技术》课后习题的参考答案
3.评价总线的性能一般有哪几种指标? 答:
(1)总线宽度 (2)总线频率 (3)传输速率
4.设某总线频率为66MHz,分别计算总线宽度为32位和64位时总线的传输速率。 解:
传输速率=总线宽度/8×总线频率 (1)总线频率为66MHz,总线宽度32位,则: 传输速率=32b/8×66 MHz =264MB/s。
(2)总线频率为66MHz,总线宽度64位,则: 传输速率=64b/8×66 MHz =528MB/s。
5.PCI局部总线处于总线层次的什么位置,请画出总线结构图。 参考第13章 图13-1 PⅡ微机系统的总线层次结构
6.试比较PCI总线和AGP总线的特点。 参考第13章 13.2.2和13.2.2节
7.AGP有几种工作模式,每种工作模式下的工作频率是多少? 答:
表13-3 AGP的工作模式
版本 1.0,2.0 1.0,2.0 2.0,3.0 3.0 模式 1× 2× 4× 8× 工作频率 66.6MHz 133MHz 266MHz 533MHz 数据传输速率 266MB/s 533MB/s 1066MB/s 2133MB/s
8.解释多核技术。 参考第13章 13.3节
9.Intel Core微结构和Net Burst微结构在高速缓存方面有什么不同? 参考第13章 13.3节
10.Intel X58和Intel X48芯片组之间有哪些差异? 参考第13章 13.3节
- - 34
第14章 (14.6 习 题)
14.1 模/数转换通道由哪几部分组成?
参考第14章 图14-1 含有A/D与D/A转换的监控系统。
14.2 简述模拟多路转换开关CD4051的工作原理。 参考第14章 14.2.1 模/数转换通道的组成。
14.3 采样保持器的作用是什么?
答:
采样保持器的作用是:在A/D转换器进行采样期间,保持被转换输入信号的幅度不变。 由于A/D转换器完成一次转换是需要时间的。不同A/D转换芯片,其转换时间各异,对于连续变化较快的模拟信号如果不采取采样保持措施,将会引起转换误差。
14.4 解释分辨率与精度的区别。
参考第14章 14.3.1 模/数转换器的主要技术指标。
14.5 设10位A/D转换器输入模拟电压的范围是0~5V,试问分辨率是多少?能分辨模拟电压的值是多少?若采用12位A/D转换器,能分辨模拟电压的值又是多少?
解:
分辨率分别是10位和12位。
(1)10位A/D转换器能分辨模拟电压的值:5000m V/1023= 4.88m V. (2)12位A/D转换器能分辨模拟电压的值:5000m V/4095=1.22 m V.
14.6 AD574接成单极性模拟输入时,从10Vin和20Vin输入模拟电压的最小分辨电压分别是多少?
解:
(1)从10Vin输入模拟电压的最小分辨电压值:10000m V/4095= 2.44m V. (2)从20Vin输入模拟电压的最小分辨电压值:20000m V/4095=4.88 m V.
14.7 假设图14-8中译码器输出Yn的地址范围为300H~301H,根据此图用汇编语言编写PC机实现A/D转换的程序段。
解:
采集程序如下:
mov dx,300H ;偶地址
out dx,al ;假输出,启动作12位A/D转换
call delay ;调用延时100μs(>35μs)的子程序(忽略)
35
- -
《微机原理与接口技术》课后习题的参考答案
mov dx,300H ;偶地址 in al,dx ;读高8位 mov ah,al
mov dx,301H ;奇地址
in al,dx ;从数据总线D7~D4位读入低4位
14.8 DAC0832内部采用2级寄存器锁存,对转换的二进制数有何特殊用途? 答:
可以使用多个DAC0832同步实现数/模转换。
14.9 用图14-12所示的D/A转换电路产生锯齿波,试编写一段程序。 解:编程如下:
MOV DX,200H;设 MOV AL、00H
OUT DX、AL
ABC:CALL DELAY;调用延时子程序 INC AL
OUT DX、AL JMP ABC
14.10 如果模/数转换芯片转换结果的输出端不带三态输出结构,该芯片的输出端与CPU的数据线连接时应该如何处置?
答:
在芯片的输出端与CPU的数据线之间增加一个三态缓冲器,且用该芯片的端口读信号去控制三态缓冲器的输出允许端。
y0端口地址为200H
- - 36