微机课后习题原理答案

更新时间:2024-04-26 15:00:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

习 题 八

什么是DMA传输? DMA传输有什么优点?为什么? 所谓直接存储器传送(DMA)是指将外设的数据不经过CPU直接送入内存储器,或者,从内存储器不经过CPU直接送往外部设备。

使用DMA传输之后,每个数据的传输过程不需要CPU参与,在DMA控制器的控制下,在一个DMA总线周期里完成数据在外部接口和存储单元之间的直接传输。所以使用DMA传输既可以减轻CPU的负担,又可以缩短系统对外部设备的响应时间,提高数据传输速率。

2. 叙述一次数据块DMA传输和一个数据DMA传输的全过程。 一次数据块DMA传输的全过程:

? 程序对DMA控制器进行初始化,写入存储器数据块首地址,传输字节数,传输方向

等信息。同时启动外部设备(例如,启动输出设备进行第一次输出); ? 外部设备每完成一次输入/输出,它的完成信号通过DMA控制器启动一次DMA数据

传输;

? 全部预设的数据传输完成,DMA控制器发出“传输完成”信号,向CPU申请中断。

CPU在中断服务程序中设置完成标志,或者对DMA控制器进行下一次初始化。 一个数据DMA传输的全过程。 ? 外设准备就绪,需要进行DMA操作时,向DMA控制器发出“DMA请求信号”。DMA

控制器接到此信号后,向CPU发“总线请求信号”。

? CPU接到总线请求信号,在当前总线周期结束后,发出“DMA响应信号”。

? DMAC向外部设备发出“外设读”或“外设写”控制信号,向存储器发出“存储器

写”或“存储器读” 控制信号,同时发出存储单元地址。在这二个信号的作用下,一字节的数据从外设接口通过数据总线送往存储单元,或者从存储单元送往外设接口。 ? 传送1个字节之后,DMAC自动修改内部地址寄存器和字节计数器的内容。 ? DMA控制器撤销“总线请求信号”,CPU也撤销 “总线应答”信号。

3. 什么叫DMA通道?它如何组成?

DMA通道是控制一个外设接口和存储器进行DMA传输的相关电路的总和。每个通道包括地址寄存器、字节计数器、方式寄存器、DMA请求触发器、屏蔽触发器、状态寄存器以及所需的其他控制电路。

4. DMA控制器8237A的成组传送方式和单字节传送方式各有什么特点?它们的适用范

围各是什么?

成组传送方式下,DMA控制器获得总线控制权后,可以连续进入多个DMA周期,进行多个字节的传输。这种方式可以获得最高的数据传输速度。在数据传输期间,CPU不能访问总线。如果一次传输的数据较多,这种方式会对系统工作产生一定的影响。成组传送方式适用于外部设备要求很高的传输速率,系统其他负担较轻,连续占用总线不会产生严重后果的情形。

在单字节传输方式下,8237A完成1个字节传输后都释放系统总线,一次DMA传输结束,CPU可以在每个DMA周期结束后控制总线。这种方式适用于外部设备的传输速率要求1.

不太高,或者系统不允许有较长时间停顿的情况。

5. 怎样用指令启动一次DMA传输?怎样用指令允许/关闭一个通道的DMA传输? 用指令将DMA请求寄存器中相关位置位,可以启动一次DMA传输。

用指令将DMA屏蔽寄存器中相关位复位,可以允许一个通道的DMA传输。将DMA屏蔽寄存器中相关位置位,可以关闭一个通道的DMA传输。

6. DMA控制器8237A能不能用中断方式工作?请说明。

DMA控制器8237A可以用中断方式工作。将8237A的EOP信号反相后连接到中断控制器的中断请求输入端,则一次数据块传输结束后,可以向CPU申请中断,由专门的中断服务程序进行结束处理。

7. 如何判断某通道的DMA传输是否结束?有几种方法可供使用?

判断某通道的DMA传输是否结束有二种方法。其一是读出DMA控制器的状态寄存器内容,测试其中代表该通道的状态位,可以得知该通道的DMA传输是否结束。其二是读出该通道的字节计数器内容,如果值为0(对8237A而言为-1),表示该通道的DMA传输已经结束。

此外,可以用8237A的EOP信号向CPU申请中断。一旦进入这个中断服务程序,表明该通道的DMA传输已经结束。

8. 叙述一次DMA控制器8237A编程使用的主要步骤。 DMA控制器8237A初始化编程的主要步骤为: ? 发复位命令;

? 写命令字,设置8237A的工作方式;

? 写方式字,设置需使用的通道的工作方式; ? 清除先/后触发器;

? 写入内存储器起始地址; ? 写入传送的字节数-1; ? 清除该通道的屏蔽位;

? 启动外部设备,如果是内存到输出设备,用指令设置第一次DMA请求。

9. 使用DMA控制器8237A传输一个字节需要多少时间?受那些因素影响?请作具体分

析。

使用DMA控制器8237A传输1字节数据需要4个DMA控制器使用的时钟周期,对于速度稍慢的外设/存储器,也可以插入一个或多个等待周期。

影响DMA周期时间长短的因素有:

? DMA控制器使用的时钟频率:频率越高,DMA周期越短;

? 存储器和外部设备的工作速度:如果速度跟不上DMA时钟的要求,则需要插入等

待周期,从而延长整个DMA周期; ? 使用压缩时序可以缩短DMA周期;

? ?

如果存储器数据块首地址低8位为“0”,前256个字节内存地址的高8位相同,它们传送时只需要发送一次高8位地址,后面255个数据的DMA周期达到最小; 如果进行存储器之间数据传输,每个字节的传输需要二个DMA周期。

习 题 九

1. A/D和D/A转换在微机应用中分别起什么作用?

计算机加工、处理的信号可以分为数字量(Digit)和模拟量(Analog)两种类型。现代计算机内部都采用二进制表示的数字量进行信号的输入、存储、传输、加工与输出。为了使用计算机对模拟量进行采集、加工和输出,需要把模拟量转换成便于数字计算机存储和加工的数字量(A/D转换),或者把数字量转换成模拟量(D/A转换)。因此,D/A与A/D转换是计算机用于多媒体、工业控制等领域的一项重要技术。

2. 怎样将D/A转换器连接到微型计算机?

D/A转换器将数字量转换成模拟量输出。为了保存由计算机送来的数字信号,通常需要配置一个“数据寄存器”,向D/A 转换器提供稳定的数字信号。

D/A转换芯片输出的模拟信号功率一般比较小,为了能够驱动执行机构工作,D/A转换器的输出一般都要连接到运算放大器进行功率放大。

3. 修改图9-5,将DAC0832的两级锁存合为一级使用,画出连接图,并编写输出三角波和锯齿波的程序。

为了将DAC0832的二级缓冲锁存器合为一级使用,可以将它的第二级置为“直通”,也就是把WR2 和 XFER 接地,用第一级的WR1和CS对输入进行控制,如下图。

DAC0832D7-D0地址M/IO译码器PORTD7-D0CSXFERWR2IOW+5VWR1ILEVrefVref2R2RRfbIout1Iout2-+R-+模拟地Vout

输出三角波的程序段如下: S0: MOV AL, 0 ;AL中置初值0,输出三角波的上升段 S1: CALL OUTPUT ;调用输出子程序,输出一个值 INC AL ;产生上升段下一个值 JNZ S1 ;上升段未结束,继续输出 DEC AL ;恢复到最大值 S2: CALL OUTPUT ;输出三角波的下降段 DEC AL ;产生下降段下一个值 JNZ S2 ;下降段未结束,继续输出 JMP S1 ;下降段结束,输出下一个三角波 输出锯齿波的程序段如下: MOV AL, 0 J1: CALL OUTPUT ;输出当前值

INC AL ;产生下一个输出值 JMP J1

子程序“OUTPUT”为上面两段程序共用: OUTPUT PROC NEAR MOV DX, PORT0 ;DAC0832端口地址 OUT DX, AL PUSH AX MOV AX, N ;延时的时间常数 WT: DEC AX

JNZ WT ;延时 POP AX RET

OUTPUT ENDP

4. 一个8位D/A转换器的满量程(对应于数字量255)为10V。分别确定模拟量2.0V和8.0V所对应的数字量。

模拟量2.0V所对应的数字量为(2.0/10)×255 = 51 模拟量8.0V所对应的数字量为(8.0/10)×255 = 204

5. 简述逐次逼近式A/D转换器的工作原理,并将它和∑-△A/D转换器进行比较。

逐次逼近型(也称逐位比较式)A/D转换器主要由逐次逼近比较寄存器SAR,D/A转换器、比较器以及时序和控制逻辑等部分组成。它从SAR的最高位开始,逐位设定SAR寄存器中的数字量,经D/A转换得到电压VC,与待转换模拟电压Vx进行比较。通过比较,逐次确定各位的数码应是“1”还是“0”。转换结果能否准确逼近模拟信号,主要取决于SAR和 D/A的位数。位数越多,越能准确逼近模拟量。

∑-△型模数转换器是根据二次采样的差进行计算的,有很强的抗干扰能力,转换精度高,以串行方式输出数据。常用于高分辨率(常见为16、18、24位)的中、低频信号测量。当模拟量输入端接有多路开关时,通道切换后要等待足够长的时间,才能读取转换结果。

6. 若ADC输入模拟电压信号的最高频率为100KHZ,采样频率的下限是多少?完成一次A/D转换时间的上限是多少?

香农定理告诉我们:采样频率一般要高于或至少等于输入信号最高频率的2倍。因此,采样频率的下限应是200KHz。在200KHz采样频率下,完成一次A/D转换时间的上限是5μs。实际应用中,采样频率可以达到信号最高频率的4~8倍。如果采用400KHz的采样频率,完成一次A/D转换时间的上限是2.5μs。

7. 在使用A/D和D/A转换器的系统中,地线连接时应注意什么?

模拟信号很容易受到电源和数字信号的干扰引起波动。为提高输出的稳定性,减少误差,模拟信号部分必须采用高精度基准电源VREF和独立的地线。所以,要把数字地和模拟地分开。模拟地是模拟信号及基准电源的参考地,其余信号的参考地,包括工作电源地,数据、地址、控制等对应的“地”都是数字地。连接时,先所有的模拟地连接在一起,把所有的数字地连接在一起,然后在一个点上(注意:不是两个或更多)把模拟地和数字地连接起来。

8. 怎样用一个AD芯片测量多路信息?

模拟量多于一个时,可以使用多路模拟开关,轮流接通其中的一路进行转换,使多个模拟信号共用一个ADC进行A/D转换。

9. 一台工控PC有两块818卡,基地址分别为BASE1, BASE2,试编制采样24路(一块卡16路,一块卡8路)模拟量的C语言程序。

#include “dos.h” #define N 24 /* 采样点数 */ #define BASE1 0x300 #define BASE2 0x310 #define INTERRUPT 0x1c /* 定时中断类型号 */ static unsigned ad, tad[ N ], tt[ N ][ 16 ] ; void far handler( ) ; /* 函数handler( )声明 */ void AD818( int ) ; /* 函数AD818( )声明 */

void ( interrupt far * oldhandler )( ) ; /*定义oldhandler为指向中断服务程序的指针*/

…………..

main() {

oldhander = getvect ( INTERRUPT ); /* 读出原1CH中断向量 */ setvect ( INTERRUPT , handler ); /* 把新的1CH中断向量写入向量表 */ ………….. }

void AD818( int scan ) /* 函数AD818从AD818卡采集一次数据 */ { int lbit, hbit, it = 0, status, base , ch ; /* 采集结果置入全局变量 ad 中 */ base = ( scan <= 15 ) ? BASE1 : BASE2 ; /* 根据点号确定所在采集卡的基地址 */ ch = scan % 16 ; /* 计算该点在本采集卡上的通道号 */ outportb ( base + 2, ch ) ; /* 向AD818输出通道号 */ outportb ( base + 1, 0 ) ; /* AD输入量程控制*/ outportb ( base + 9, 0 ) ; /* 不使用中断或DMA */ outportb ( base + 0, 0 ) ; /* 启动AD转换 */ do{ it = it+1;

status = inportb ( base + 8 ) & 128 ;

/* 读出AD状态寄存器,查询EOC,等待AD转换完成*/

} while ( status ! = 0 && it <= 10000 );

lbit = inportb ( base + 0 ) & 240 ; /* 读入低8位,清除其中无效的最低4位 */ hbit = inportb ( base + 1 ) ; /* 读入高8位 */

if ( it <= 10000) ad = hbit*16 + lbit/16 ; /* 采集正常,拼接二段数据 */

else ad = 0; /* 采集数据超时,818卡有故障 */

}

void interrupt far handler( ) /* 55ms定时中断服务程序,采集每个点的数据*/ { int isp, s , i ;

for ( isp = 0 ; isp <= N-1 ; isp++ ) { AD818( isp ) ; /* 采集一个模拟量,存入ad */ for ( i=0, s=0; i<=14; i++)

{ tt[ isp ][ i ] = tt[ isp ][ i+1 ] ; /* 移动队列中的数据,以便装入新的数据 */

s = s + tt[ isp ][ i ] ; } /* 求前15个数据的累加和 */

tt[ isp ][ 15 ] = ad ; s = s + ad ; /* 新数据进队列,求出16个数据的累加和 */ tad[ isp ] = s/16 ; /* 求出16个数据的平均值 */ }

oldhandler( ); /* 进入原1CH中断服务程序,此后返回断点 */ }

习 题 十

1. 查找相关资料,用列表方式给出8088,8086,……直到P4各代微处理器的地址、数据线引脚数量,并推算出各自的内存寻址空间。

处理器 8088 8086 80286 80386/486 Pentium Pentium2~4 数据线 8 16 16 32 64 64 地址线 20 20 24 32 32 36 内存寻址空间 1MB 1MB 16MB 4GB 4GB 64GB

2. 什么是MMX指令?它有什么特点?

MMX指令是“多媒体扩展指令”的英文简称,它采用SIMD(单指令流多数据流)技术,使得处理器在一条指令中对多个数据进行处理,提高了对多媒体数据的处理能力。

3. 什么叫动态执行?使用动态执行技术会带来什么好处?

动态执行是通过预测指令流和数据流,调整指令的执行顺序,最大地发挥CPU内部各部件的功效,提高系统执行指令的速度。

动态执行主要采用了:

多路分支预测:利用转移预测技术允许程序几个分支流同时在处理器内执行;

数据流分析:通过分析指令数据的相关性,把指令进行优化排序后执行,充分利用处理器内部资源;

推测执行:根据各推测最终的正确性,对多个分支的运行结果进行取舍。

4. 32位微处理器有哪几种工作方式?各有什么特点?

32位微处理器有4种不同的工作方式:实地址方式、保护方式、虚拟8086方式、系统管理方式。

实地址方式:实地址方式使用16位80x86处理器的寻址方式(使用20位地址寻址1MB空间)、存储器管理和中断管理。可以使用32位寄存器,使用特权级0,可以执行大多数指令。

保护方式:保护方式是32位微处理器的基本工作方式。它使用32位地址寻址4GB的实存空间,通过虚拟存储管理、用户优先级管理、I/O管理等技术,扩大可使用的存储空间,对操作系统和用户程序进行隔离和保护。

虚拟8086方式:虚拟8086方式是保护模式下为任务提供的的8086工作环境。每个任务使用16位地址寻址1MB的内存空间,以最低特权级运行,不能使用特权指令。

系统管理方式:系统管理模式主要用于电源管理,可以使处理器和外围设备部件进入“休眠”状态,在有键盘按下或鼠标移动时“唤醒”系统,使之继续工作。利用SMM可以实现软件关机。

5. 叙述XT总线与ISA总线的异同之处。

XT总线可以看作是ISA总线的一个“子集”,它包括8位数据线,20根地址线,使用与CPU相同的4.77MHz的时钟信号。

ISA总线在XT总线的基础上,把数据线扩展到16根,地址线扩展到24根,使用独立于CPU的8MHz时钟信号,中断和DMA通道数目都有所增加。ISA总线插槽由8位的XT总线插槽和ISA总线扩展插槽两部分组成。

6. 什么叫分级总线?使用分级总线有什么优点? 所谓分级总线是指系统中存在多组总线,每组总线可以有不同的数据线宽度、数据传输速率和不同的信号传输协议。系统内的设备按照它们对传输速率、数据吞吐量的不同要求合理地连接在不同的总线上。不同总线之间通过“桥”电路进行连接。

使用分级总线可以使各种设备的数据传输要求得到最大程度的满足,同时使整个系统的数据吞吐量和效能达到最大化。

7. 简述“两个中心”结构与“南北桥”结构的区别,同时说明“两个中心”结构的优越之处。

“南北桥”结构和“中心结构”都支持多级总线的系统结构。它们的主要区别在于,南桥芯片连接的所有高速外设都要通过PCI总线与处理器相连接,而“中心结构”里所有连接IO设备的总线(PCI, ISA, USB……)都通过IO控制中心(ICH)与中心高速接口直接连接,从而缓解了PCI总线数据交换的拥挤程度。相比较而言,“中心结构”对信息流的路径分配更为合理。

8. CPU←→Cache,Cache←→主存,主存←→辅存之间的数据传输各有什么特点?为什么?请分析原因。

CPU与Cache之间数据传输的主要特点是:

高速:Cache以与CPU相同或接近的速度工作;

不确定:CPU对Cache的访问可能因“命中”而成功,也可能以“失靶”而失败。 Cache与主存之间数据传输的主要特征是:

数据传输以“页”为单位,使用“成组传输方式(突发总线方式)”进行。

导致上述特点的原因是,这一层次以“高速”为追求的目标,利用了程序、数据的“局部性”原理。

主存与辅存之间的数据传输以“数据块/扇区”为单位,通常以DMA方式进行。 导致上述特点的原因是,这一层次以“大容量”、“低价格”为追求的目标,辅存大容量、“粗粒度”的结构特点正好能够满足对上述目标的要求。

系统对不同层次的数据传输有着不同的要求,因而设置了不同的软硬件结构,最终导致了传输方式上的差异。

9. 什么叫“相联存储映像表”?说明它的结构和用途。

相联存储映像表是Cache内纪录Cache中各页在主存的位置和其他信息的表格,由各页的“标记(Tag)”,“状态”和“LRU位”组成。“标记(Tag)”记录了该页在主存中的位置,供CPU访问时进行匹配查找使用。“状态”和“LRU位”用于Cache页的替换操作。

10. 为什么要进行Cache和主存的“映像”?有哪几种相联映像的方法?比较各自的利弊。

Cache和主存的“映像”是主存页调入Cache的“规则”,为了提高CPU在Cache中查

找信息的速度,这种“规则”是必须的。

常见相联映像的方法有三种:

全相联映像法:内存页可以调入Cache的任何一页,规则简单,页冲突的可能性最小,查找所需工作量最大。

直接映像法:每一个内存页只能调入Cache中相同页号的一个页,规则简单,查找方便,块冲突的可能性大。

组相联映像法:每一个内存页可以与Cache中一个组内的若干个页面相对应,规则稍复杂,查找工作量中等,块冲突的可能性中等。

11. 什么叫“突发总线周期”?它有什么优点? “突发总线周期”也称为“成组传送方式”,总线主设备在发送一个主存地址之后,通过连续的多个周期,传输(读/写)多个地址相连的存储单元的数据。这种方式省去了多次发送地址、多次申请总线和多次相互联络的过程,因此可以获得很高的数据传输速率。

12. 逻辑地址是怎样转换成线性地址的?简要叙述转换过程。 实地址方式下没有“线性地址”。

保护模式下,逻辑地址由“段号”和“段内地址”两部分组成。使用“段号”查找“段描述符表”,可以获得该段的起始地址,与“段内地址”相加,就得到了对应的“线性地址”。

13. 线性地址是怎样转换成物理地址的?简要叙述转换过程。 “线性地址”由处于高位的“页组号”、处于中间的“页号”和处于低位的“页内地址”三部分组成。用“页组号”查找“页组表”,得到“页表”的起始地址;用“页号”查找该“页表”,得到该页的起始地址;页起始地址加上“页内地址”就得到了它对应的物理地址。

14. 请分析使用虚拟存储管理带来的利弊。

虚拟存储管理把辅存的一部分用作“虚拟”的主存,扩大了操作系统可分配,程序员可利用的存储空间,便于实现任务之间的隔离和保护,有效地支持了“多任务”运行环境的实现。它还可以有效地克服“内存碎片”问题,简化了存储管理。但是,实现虚拟存储后,每次访问主存都需要进行两次地址的转换,增加了系统的复杂性,增加了系统的硬件成本,降低了访问主存的速度,而且,由于系统复杂程度的增加,系统的可靠性也会受到影响。

15. 32位微处理器实施保护机制的目的是什么?有哪些主要措施?

32位微处理器实施保护机制的根本目的在于增加在“多任务”运行环境下系统的可靠性,使得任务之间、任务和操作系统之间实现隔离和保护。为了实现隔离和保护,采取了以下几项措施:

为任务和资源设定一个“优先级”,优先级较低的任务不能访问优先级较高的资源,不能调用优先级较高的程序模块。

使用虚拟内存管理机制,使得任务和任务、任务和操作系统所使用的存储空间相互隔离,从而保证每个任务的正常运行不受其它任务的影响,一个任务的故障不影响整个系统的正常运行。

16. 说明操作系统在保护模式下启动一个任务的过程。

一个任务用JMP或CALL指令启动一个新的任务时,处理器将当前任务的所有通用寄存器、所有段寄存器中的选择子、EFLAGS、EIP存入该任务自身的TSS,然后将新任务的

选择子、描述符装入TR寄存器,并且将对应TSS段中所保存的通用寄存器、段寄存器、EFLAGS、EIP副本装入处理器对应的寄存器中。在CS:EIP的控制下,一个新的任务开始执行。

用JMP、CALL指令调用同一个任务中其他程序段时,指令中的“段选择子”及其描述符被存入CS寄存器,“偏移地址”进入EIP,于是,目标程序被执行。对于CALL指令,原来程序的返回信息“CS: EIP”被压入堆栈,和16位微处理器中十分相似。

中断和异常也会导致任务的转换。

17. 32位微处理器如何实施对I/O过程的管理? 保护方式下对I/O过程的管理主要有两项措施:

任务状态段TSS中有一个最多64Kbits组成的“I/O允许位图(IOM)”,它的每一位对应一个I/O端口,为0表示该端口允许这个用户进行I/O操作。

处理器首先检查存放在CS中的当前任务的CPL(当前任务优先级),如果CPL的特权级高于或等于EFLAGS中由IOPL规定的特权级,I/O操作不会受限制,否则将进一步检查IOM,对IOM为1的端口进行操作将产生保护异常;

对于运行在虚拟8086方式的任务,用IOM来控制对I/O端口进行访问,对位图对应位为1的端口进行访问将产生保护异常。

另一种办法是:在IOM中封锁对所有端口的访问,当前任务一旦执行I/O指令,立即产生保护异常,进入由操作系统设置的“异常处理程序”,在操作系统的控制下进行间接的“I/O操作”。

18. 简要叙述保护方式与实地址方式下的中断管理方法的区别。

在实地址方式下,32位80X86微处理器采用与16位80X86相同的中断管理机制,用1KB大小的“中断向量表”存储各中断服务程序入口地址,这些“中断向量”按照“中断类型”的顺序存放。中断向量表存放在地址0000:0000开始的主存中。

保护方式下用“中断描述符表”来指出各中断处理程序的入口地址,每一个中断类型对应一个“中断门”或“陷阱门”描述符。中断描述符表可以放在内存的任何位置,表的首地址存放在IDTR寄存器中。

保护模式下中断响应的过程与实地址方式基本相同,但是可以用中断机制进行任务的切换。

19. 什么叫“串行中断”?它有什么优点? 串行中断用一根SERIRQ来传递中断请求信号。SERIRQ信号线上的信息组织成“包”,用PCI的时钟信号对“包”内的信号进行同步。所有支持串行中断的设备都可以用一个三态门连接到这根线上发送各自的中断请求信号。

使用串行中断减少了中断请求的引脚数,可以不受中断请求引脚的限制灵活地扩充中断请求数目。

20. 什么叫“APIC”中断?它有什么用途?

APIC是“高级可编程中断控制子系统”的缩写,用于解决多处理器环境下处理器之间的联络、任务分配和中断处理。

习 题 十 一

1. 按功能分,计算机外围设备可分成哪几类?

答:计算机外部设备按照它们的功能,一般可分为三类: 供用户进行输入/输出的设备,如键盘、鼠标、显示器等,它们也称为“人机交互设备”; 外存储设备,软盘、硬盘、光盘驱动器是典型的外存储设备; 专用的其它设备,如数据采集设备、视频采集设备等。

2. 何谓编码键盘和非编码键盘?

答:非编码键盘:由CPU对键盘各行、各列的状态进行扫描,根据扫描结果,用某种算法计算或查表得到按键的编码。CPU效率低,主要用于小型应用系统。

编码键盘:由专用控制器/控制电路对键盘进行扫描,产生按键所对应的编码供CPU读取。这种键盘结构稍复杂,但使用方便。

3. 请说明101键盘接口电路的基本组成原理。 答:参考教材相关内容(图11-1),101键盘接口电路由8048专用单片处理芯片,键盘开关矩阵电路,双向缓冲门电路组成。有规律的内部计数信号通过数据线DB0~DB6,送到键盘矩阵的行列译码器,实现对键盘开关矩阵的行列扫描。有键按下时,通过KEYDEP信号通知单片机。8048扫描程序根据当前计数值,分析确定按键的行、列位置,形成键盘扫描码。

4. 鼠标常用接口有哪几种类型?简述光机鼠标的工作原理。

答:目前PC上常用的鼠标接口有3种,第一种是最常用的直径8mm的6芯PS/2鼠标接口,第二种是9芯D型插座(使用RS-232串行接口),另外是较新型的USB鼠标接口。

光机鼠标的工作原理:鼠标内置了2个滚轴,X方向滚轴和Y方向滚轴。这2个滚轴都与一个可以滚动的橡胶球接触,并随着橡胶球滚动一起转动。X,Y滚轴上装有带孔的译码轮,它的转动会阻断或导通LED发出的光线,在光敏晶体管上产生表示位移的脉冲。通过脉冲编码确定光标移动的方向和距离。

5. 论述打印机接口的主要通信连接信号。 答:打印机接口的主要控制信号(输出)有:

STROBE: 数据选通,低电平有效。数据在它的配合下送入打印机。

AUTO_FD: 自动换行,高电平有效。有效时打印机每次回车后自动换行。

INIT: 初始化信号,低电平有效。有效时,打印机被复位。

SEL: 联机控制位,高电平有效。有效时打印机才能与接口连通。 主要状态信号(输入)有:

BUSY: 忙信号,高电平表示打印机忙。有四种情况:正在输入数据、正在打印操

作、在脱机状态、打印机出错。 ACK: 确认,低电平有效。有效时表示打印机已经接收完毕接口送来的一个数据。

PE: 纸尽信号,高电平有效。有效时表示打印机缺纸。

SLCT IN:选择信号,高电平有效。有效时表示打印机处于联机状态。

ERROR: 出错信号,低电平有效。有效时表示打印机出错。

6. 分别叙述IDE和EIDE磁盘接口的技术特性。 答:IDE磁盘接口的技术特性:

IDE接口在ST 506的基础上进行改进而成,它把控制器集成到驱动器内。消除驱动器和控制器之间的数据丢失问题,提高数据传输的可靠性。从驱动器中引出的信号线已不是控制器和驱动器之间的接口信号线,而是通过简单处理后可与主系统连接的信号线。IDE采用了40线单组电缆连接,除了对系统总线上的信号做必要的处理之外,其余信号基本上是原封不动地送往硬盘驱动器,IDE实际上已经是系统级的接口。

EIDE磁盘接口的技术特性:

与IDE相比,EDIE有以下几个方面的特点: 支持大容量的硬盘(>540MB);

EIDE允许连接更多的设备。通常提供两个插座,称为主插座和辅插座,每个插座可连接主、从两个设备,一共可连接4个设备;

EIDE具有更高的数据传输速率。标准EIDE驱动器的最大突发数据传输率可达16 MB/S,而原有的IDE驱动器的最大突发数据传输率仅为3 MB/S;

EIDE支持三种硬盘工作模式:普通模式(Normal)、逻辑块寻址模式(LBA)、大硬盘模式(LAG)。

7. 硬盘的主要技术指标包括哪些? 答:硬盘的主要技术指标包括:

硬盘容量:硬盘能够储存的信息的总量。

传输速率:单位时间内传输的信息数量。影响传输速率的因素有电机转速、存储密度、Cache容量、接口方式等。

平均寻道时间:磁头寻找目标磁道的时间,影响磁盘的工作速度。 转速:IDE接口硬盘工作时主轴和碟片转速多为5400 rpm和7200 rpm两种。转速越高,硬盘的传输速率越高;

除了上面主要的指标之外,下面几项指标也影响硬盘的性能。

单碟容量:硬盘一般由四到五张碟片组成。单张碟片的容量越大,硬盘的总容量随之增大,数据读写速度也越快;

Cache:硬盘中Cache的容量越大,硬盘的实际传输率就越大。硬盘采用的Cache现多为512 KB和2 MB两种。

磁头类型:目前有两种类型的磁头:磁阻磁头MR(Magneto Resistive heads)和巨磁组磁头GMR(Giant Magneto Resistive heads)。MR和GMR磁头通过磁阻的变化去感应信号的幅度,具有高灵敏度,高可靠性的优点;

8. 简述显示器技术性能指标和显卡的种类。 答:显示器有以下主要技术性能指标:

尺寸:通常指的是显像管的对角尺寸(英寸),实际显示面积小于标称尺寸;

点距:相同颜色两个相邻的磷光体间的距离。点距越小,显示出来的图像越细腻,目前大多数显示器的点距是0. 28mmn和0. 25mm。

刷新频率:是显示器每秒屏幕刷新的次数,刷新频率越高,图像显示就越稳定。在不同的分辨率下,对应的刷新频率可能有所不同。

带宽:带宽是显示器每秒扫描像素的点数,常见的是几十兆,高性能显示器的带宽在100M以上。

分辨率:指水平方向和垂直方向上最大像素个数.用水平方向像素数×垂直方向像素数来表示。

显像管的形状:主要有球面、平面直角和纯平几种,以平面直角和纯平最为常见; 扫描方式:有逐行扫描和隔行扫描两种,目前都为逐行扫描方式; 显卡的种类:

MDA单色显示卡:它只有字符方式,无图形输出能力;

CGA彩色图形显示卡:它支持字符、图形两种方式。但分辨率不高,颜色种类较少; EGA增强型图形显示卡:其字符、图形功能比CGA卡有较大提高,显示分辨率也较高; VGA视频图形阵列显示卡:标准分辨率为640×480,16种颜色。VGA卡兼容了上述各种显示卡的显示模式,支持更高的分辨率和更多的颜色种类。

SVGA(超级VGA)显示卡:SVGA是一种比VGA更强的显示标准。SVGA的标准模式是800×600,新型显示器分辨率可达1280×1024、1600×1200等。

9. 试计算1024×768分辨率、24位彩色所需的显存为多少? 答:所需的显存大小为:

24 /8×1024×768= 2, 359, 296 ( Byte ) = 2.25 MB

10. 何谓AGP显示总线接口?AGP 4X的数据传输速率是多少?

答:AGP显示总线接口(加速图形接口)是新一代局部图形总线技术,为任务繁重的图形加速卡提供了一条专用高速通道。采用与外频相同的时钟频率进行数据传输时,AGP总线的数据传输速率为266MB/S,是PCI总线数据传输率的两倍。借助如此高的传输率,我们可以使一些原本只能在显存中进行的函数运算扩展到主存中。

AGP有两种模式:DMA模式和Execute模式。DMA模式适用于从系统内存到图形内存之间的大批量数据传输。系统内存中的数据不能被图形加速器直接调用,只有调入图形内存才能被图形加速芯片所寻址。在Execute模式中,加速芯片将图形内存与系统内存看作一体,通过一种叫做图形地址再映象的机制,使加速芯片可直接对系统内存寻址,减轻局部图形内存的压力。

AGP4X的数据传输速率是1064MB/S(= 266MB/S×4)。

11. 简述声卡的工作原理,声音的采集和还原采用了什么技术?衡量音质好坏的技术指标有哪些?

答:

声卡主要由总线接口控制芯片、混音控制芯片、数字信号处理器(DSP)、A/D及D/A转换器、高级信号接口等组成。

输入到声卡的声音信号首先由模数转换器ADC把模拟信号转换成数字信号,这个过程称为“采样”。然后,DSP(数字信号处理器)将来自ADC的信号加以处理,对输入的数字声音用PCM、DPCM或ADPCM方式进行编码和压缩,并形成WAV格式文件送入计算机磁盘存储。

对计算机内以文件形式存放的声音输出(回放)时,磁盘中的WAV文件首先送入DSP芯片,经解码后变成数字声音信号送至D/A转换部分。数模转换器DAC把数字信号还原为

模拟信号,驱动扬声器单元发声。

音乐合成器用来播放MIDI音乐文件。播放时,MIDI信息从文件中读出,经MIDI接口送至合成器。合成器将这些信息转换成乐器的音阶、音色、持续时间等,经处理后变成声音信号输出。

技术指标有:

采样频率:它决定了声音采集的精度,足够的采样频率能保证不丢失有效信号。采样频率越高,采集得到的信号越能精确地保存原信号的特征;

采样的量化值:它决定了每个采样点的采样精度,量化值越大,所记录声音的变化程度就越细腻。

常用的几种采样频率与量化值的组合: 11KHz /8bit Mono 电话音质; 22KHz/ 8bit Stereo 调幅广播水平; 22KHz /16bit Stereo 音乐磁带的音质水平;

44KHz /16bit Stereo 音乐CD或调频广播音质水平。

12. IEEE 1394串行总线的通信方式有哪两种?为什么说1394接口比较适合数字视频的传输? 答:

IEEE 1394总线上的通讯有异步和同步两种模式。

对于异步传输,数据发送方和接收方互换地址,然后进行数据传输。接收方收到数据包后,向发送方传回确认信息。接收方没有收到数据包,则启动错误修复机制。

对于同步传输,发送方首先要获得一个特定带宽的数据通道,然后将标志接收方的通道标识(ID)附加在所要传输的数据中一起发送。接收方对数据流进行检测,对具有特定ID信号的数据时进行接收。同步数据传输模式的优先级高于异步传输模式。

由于1394的同步传输方式传输速率高,优先级高,使用CPU资源少,所以特别适合于传输数字视频。

13. USB通用串行总线和IEEE串行1394总线有哪些不同? 答:它们的主要区别是: (1) USB要求CPU来控制数据的传输,有一定的CPU占用率,IEEE 1394不需要

CPU控制,CPU的占用率极低。 (2) USB只支持异步传输,IEEE 1394不仅支持异步数据传输也支持同步数据传输。 (3) USB需要使用集线器连接各设备。IEEE 1394不需要集线器(HUB)就可连接

63台设备。 (4) 另外,IEEE 1394的数据传输速率总体上高于USB。

习 题 十 二

1. 总线的指标有哪几项?总线标准和总线产品哪一个先产生?

(1) 总线宽度: 总线宽度是可以同时传输的数据位数,位数越多,一次传输的信息就越多。

(2) 总线频率: 总线通常都有一个基本时钟,总线上其它信号都以这个时钟为基准,这个时钟的频率也就是总线工作的最高频率。总线频率越高,单位时间内传输的数据量就越大。

(3) 单个数据传输周期数: 传输方式的不同,使得每个数据传输所用的时钟周期数不同。单个数据传输周期数越少,传输率越高。

此外,总线的仲裁方式,容错性能,是否支持突发成组传输,也反映了总线的性能。 总线标准的产生有多种形式。有的总线产品推出后得到广泛的认同,随后成为事实上的工业标准,这个产品所采用的技术规范最终成为标准,标准产生在产品之后。有的技术问题得到较多的关注,由标准化组织或者相关集团发起,制定了相应的标准。这时,产品的出现晚于标准的制定。

2. ISA卡设计时如何解决资源冲突问题?

ISA的I/O空间仅有100H~3FFH的768个地址可供使用,其中不少端口已分配给“常规”的设备使用,新设计I/O扩充卡的端口地址不能与它们冲突。另外,扩充卡之间使用的地址也不能发生冲突。为解决这个矛盾,ISA卡上一般都设有一组开关(switch),用户可以通过设定这组开关来设置这块ISA所占用的I/O起始地址,使它位于所使用计算机I/O的空闲位置,从而避免发生冲突。

3. ISA总线需要进行总线仲裁吗?为什么?

ISA总线是一个简单的多主控总线,需要使用总线的“主设备”是CPU和最多7个使用DMA传送的设备。当CPU以外的一个或多个设备需要使用总线时,需要进行“总线仲裁”。对于使用DMA请求使用总线的设备来说,“仲裁”要分两次进行:

① DMA请求信号送到8237,由8237进行第一次“仲裁”;

② 8237的请求信号发送到CPU,在一个总线周期结束时释放总线。

4. 若有两块818ISA卡BASE1= 0x0250, BASE2 = 0x0330, switch分别应如何设置? BASE1 = 0x250:swith 1, 4, 6 = off swith 2, 3, 5 = on BASE2 = 0x320:swith 1, 2, 5 = off swith 3, 4, 6 = on

5. PCI总线怎样的信号组合启动一个总线的访问周期,又怎样结束一个访问周期?它的AD0~AD31同CPU的同名引脚有何不同?

主设备获得总线使用权后,将FRAME#置为有效,在AD0~31上发出地址信号,C/BE#上发出总线命令,一次总线访问周期开始。

主设备在发出最后一组数据读写的启动信号之后,将FRAME#信号置为无效,表示数据传输即将结束。在最后一项数据传输后,主设备撤销IRDY信号,从设备撤销TRDY#和DEVSEL#信号,一次PCI总线传输结束。

PCI总线信号独立于CPU,使用独立于CPU的时钟信号。对于PCI总线来说,CPU是它所连接的众多设备中的一个。PCI总线的AD0~31是地址和数据分时复用信号,它们与CPU

同名引脚传输的信号类型相同,但是并不等同。CPU对PCI总线上设备进行访问时,CPU发出的地址经Host/PCI桥缓冲,按照PCI的时序定时后由桥电路向PCI总线“转发”。DMA传输时,PCI总线上的AD0~31来自DMA控制器而不是来自CPU。

6. 一块PCI卡上最多可以实现多少路中断信号?

由于PCI总线上只有4条中断请求线,因而一块PCI卡最多可以实现4路中断请求。 说明:

① 对于单项功能的PCI卡,只能使用INTA#请求中断;对于对功能PCI卡,可以使

用其它的三根中断请求引脚。

② PCI总线允许“共享”中断请求信号线,这是与以前有较大区别的。例如,有两

块PCI卡插在PCI总线上,按照规定,他们都使用同一个INTA#申请中断。在“中断描述符表”上,中断服务的入口可能是设备甲,或者是设备乙,现假设为设备甲。如果设备乙申请中断,那么,首先会进入设备甲的中断服务程序。该程序通过查询状态,发现自己并没有申请中断,于是发出相应信息后返回。此后,由操作系统调度进入设备乙的中断服务程序(参见习题11第8题答案)。

③ PCI总线上的中断请求进入ICH芯片后,与“SIO”芯片送来的“串行中断”(由

传统设备键盘、鼠标、串口、并口、软驱发出,通过L/F总线传送到ICH芯片)一起,被送往ICH芯片内的“中断申请信号路由器”。可以通过程序来设置每一个中断请求使用的实际的中断请求引脚(除少数已集成在CPU内,中断类型固定的申请以外),最终由“路由器”产生12个中断申请信号,送到芯片内两个级联的8259中断控制逻辑。主片8259产生的中断请求最终由ICH的INTR引脚送往CPU。

7. 在PCI卡配置空间中,基地址寄存器的作用是什么?一个PCI设备最少可申请多少地址空间?最少可申请多少I/O空间?

PCI总线上的设备采用“即插即用”的方法,所有设备使用的存储空间和IO空间的具体位置事先是不确定的,需要在系统初始化时通过“配置”过程来确定。PCI卡上的基地址寄存器有两个方面的作用:

(1) 寄存器的最低的几位记录申请所需空间的类型(存储器空间/IO空间)、空间的

大小等信息(寄存器的这几位是只读的)。

(2) 寄存器的高位用来纪录操作系统分配给它的存储空间/IO空间的起始地址(寄

存器的这几位是部分可写的)。

由于有6个基地址寄存器,PCI设备最多可以申请6段地址空间。

对于申请存储空间的基地址寄存器,它的第0~3位是只读位,第4~31位用来表示申请地址空间的大小,因而一个PCI设备申请地址空间最少是16个byte。对于申请I/O空间的基地址寄存器,它的第0~1位是只读位,第2~31位用来表示申请地址空间的大小,因而申请I/O地址空间最少是4个byte。

例如,某PCI设备申请1MB的存储空间,它的基地址寄存器位0~位19均为只读。其中:

位0固定为0,表示申请存储器空间;

位1~2表示“映射”的类型,如果基地址寄存器为32位,可以“映射”到32位地址空间的任何位置,这两位可以固定为“00”;

其余位均固定为0。

系统进行配置操作时,向该寄存器写入32位全“1”,然后读出该寄存器的内容。由于低20位均为只读位,所以实际读出的内容为高位12个“1”和低位20个“0”。其中位0~

位2表示空间类型和“映射”类型,其它的“0”(位4~位19)表示了申请空间的大小。随后,系统根据各设备的请求进行空间的统一分配,将分配给该设备的存储空间首地址写入该基地址寄存器。对于1MB的空间而言,它首地址的低20位应为0,它的高12位反映了实际的起始地址。基地址寄存器的高12位正好能容纳这12位“有效”的起始地址。

8. USB主机怎样了解USB设备的接入?

集线器的D+和D-线上各有一个15KΩ的下拉电阻,没有USB设备连上时,D+和D-线都为低电平。全速和高速设备在D+线上有一个1.5kΩ的上拉电阻,而低速设备在D-线上有一个1.5kΩ的上拉电阻。当集线器有USB设备连接上时,D+和D-线中会有一根变成高电平。集线器通过监视D+和D-线来判断有哪一种速度的设备连上了USB总线。

集线器发现D+线变成高电平时,再次向设备发出询问,高速设备会响应这个询问,而全速设备则不会响应。这样集线器就知道所连接上的USB设备的速度。反过来,对高速USB设备来讲,如果发现集线器的这个询问,就知道它所连接的集线器是支持高速的,否则集线器是不支持高速的。到此,集线器和设备都知道了对方的速度,接下来的通讯以双方所共同支持的最高速度进行。

9. 一台微机有5台USB设备,另一台微机有10台USB设备,各需用四端口的集线器几个?画出它们的结构图。

5台USB设备,需用四端口的集线器1根集线器根集线器个(不包括根集线器)。

HUBHUBHUB10台USB设备,需用四端口的集线器3个(不包括根集线器)。 HUB它们的连接如右图所示。

连接5台设备连接10台设备

10. 用8086汇编程序读出(注意是32位)PCI设备所分配到的存储器首地址。

MOV AH, 0B1H ; MOV AL, 02H ; MOV CX, 设备ID值 ; MOV DX , 厂商ID值 ; MOV SI, 0 ; 索引号 INT 1AH ; 得到总线号(BH)、设备号(BL高5位)、功能号(BL低3位) JC ERROR ; 错误时转ERROR PP: MOV AH, 0B1H ;

MOV AL, 09H ; AL=09H, 读取基址寄存器内容 QQ: MOV DI, 10H ; 第一个PCI基址寄存器地址

INT 1AH ; AND AH, AH ; AH = 0 表示读取成功 JNZ ERROR TEST ECX, 01 ;ECX末位= 0,该寄存器存放存储空间首地址 JZ MM

AND ECX, 0FFFFFFFCH ;ECX末位=1,该寄存器存放I/O空间首地址(高30位) STC

JMP DONE

MM: AND ECX, 0FFFFFFF0H ; 从基地址寄存器获取存储空间首地址(高28位) DONE: MOV EAX, ECX ; 说明:

(1) 读取PCI配置信息需要知道该PCI设备的设备ID值(置于CX中)和厂商ID

值(置于DX中)。然后用AH = 0B1H, AL= 02H 的 INT 1AH 功能调用获得该PCI设备的总线号(BH),设备号(BL高5位)、功能号(BL低3位)。

(2) 一个PCI总线设备可以有6个基地址寄存器,本程序只读取了第一个基地址

寄存器所存储的配置空间首地址。读取其他配置空间首地址可以重复使用从“PP”标号开始的程序,同时修改标号为“QQ”的指令中的PCI基地址寄存器地址。第二个基地址寄存器地址为14H,第3个为18H,…… ,以此类推。

(3) 如果基地址寄存器存放的是存储空间基地址,它的末位为0,高28位添加4

个0就是操作系统分配给该设备的存储空间首地址(不讨论64位基地址的情况)。如果基地址寄存器存放的是I/O空间基地址,它的末位为1,高30位添加2个0就是操作系统分配给该设备的I/O空间首地址。

(4) 为了区分读出的是存储空间基地址还是I/O空间首地址,上述程序用CF加以

区分:

CF = 0, 读出的是存储空间基地址(在EAX中); CF = 1, 读出的是I/O空间基地址(在EAX中)。

11. 两台PCI设备之间可直接传输数据吗?两台USB设备之间呢?

两台PCI设备之间可直接传输数据。由PCI主设备申请使用总线,获得总线使用权后用地址信号呼叫从设备,然后进行数据传输。

两台USB设备之间不可直接传输数据。USB总线采用“主-从”方式进行通讯,每一次数据传输必须由USB主机发起。这样,两台USB设备之间的数据传输必需通过USB主机间接进行。

12. 那些总线具有热插拔功能?对哪一类总线这个功能是必需具备的? USB总线和PCI总线都支持热插拔(Hot Plug In)。对于USB总线来说,热插拔功能是必需的。

需要说明的是,目前一般PC机内的PCI总线设备不支持“热插拔”功能。实现该功能需要相应的软、硬件的支持。“热插拔”的PCI总线设备主要应用于某些通讯设备中。

13. 从硬件来讲,一个USB信息传输到微处理器需经过那几个环节?

USB总线上的数据传输是一种“主-从式”的传输,所有的传输都由USB主机发起。一个USB信息传输到CPU需经过集线器、根集线器和控制器这几个环节。

14. 为什么PCI/ISA扩展桥必须对总线上的地址进行负向译码?地址在哪个范围内? PCI总线设备在接收到落在自己地址范围内的地址信号时,发出DEVSEL#信号进行应答。如果没有一个设备对主设备发出的地址作出响应,则由一个指定的设备对主设备的呼叫作出响应,这个设备称为负向译码设备。ISA总线与PCI总线有着不同的信号传输协议,ISA总线设备没有对主设备进行应答的功能。为了使PCI主设备与ISA总线从设备的数据传输能够正常进行,必须由PCI/ISA扩展桥充当ISA从设备的代理,进行负向译码,对PCI主设备的呼叫进行应答。

由于ISA总线上的I/O设备仅对低10位的地址线进行译码,并且前256个地址已经分配给系统板上的I/O接口芯片,所以ISA的I/O空间在0100H~03FFH(十六进制)的768个地址之内。

本文来源:https://www.bwwdw.com/article/i33p.html

Top