微机原理与接口技术+参考答案 下载本文

〔解答〕

(1)Write Through:写命中时的直写策略。 (2)Write Back:写命中时的回写策略。

(3)Write Around:写未命中时的不写分配法,即绕写法。 (4)Fetch on Write:写未命中时的写分配法,即写时取法。 〔习题6.18〕

区别如下高速缓存中的概念:

(1)主存数据块Block (2)高速缓存行Line (3)高速缓存组Set (4)高速缓存路Way

〔解答〕

(1)主存数据块Block:高速缓存与主存间的数据传送以数据块(Block)为单位,例如B个字。主存数据块Block是主存中连续的B个字数据。

(2)高速缓存行Line:指高速缓存中包含B个字的一个单元。

(3)高速缓存组Set:组合相关映射将多个Cache行作为一个组(Set)。

(4)高速缓存路Way:组合相关映射将所有组中同位置Cache行称为一路(Way)。 〔习题6.19〕

什么是段选择器、描述符、描述符表和描述符表寄存器?

〔解答〕

段选择器:保护方式下的16位段寄存器就是段选择器。

描述符:是保护方式引入的数据结构,有8个字节64位,具有段基地址、访问权限、段界限等字段。IA-32处理器利用它来实现存储管理、特权与保护。

描述符表:描述符表是存放描述符的一个特殊区域段。 描述符表寄存器:指明描述符表所在主存地址的寄存器。 〔习题6.20〕

IA-32处理器在保护方式下,段寄存器是什么内容?若DS=78H,说明在保护方式其具体的含义。 〔解答〕

段寄存器是段选择器,包含3个域,指向一个段描述符。

DS=78H,说明当前数据段描述符是全局描述符表中的第0FH个描述符。本次访问数据的特权级别为0,最高。 〔习题6.21〕

采用4KB分页,说明IA-32处理器将线性地址转换为物理地址的过程。

〔解答〕

通过2级查表来实现线性地址转换为位物理地址。

(1)在CR3中包含着当前任务的页目录的起始地址,将其加上线性地址最高10位A31~A22确定的页目录项的偏移量,便访问到指定的页目录项。

(2)在此页目录项中包含着指向的页表的起始地址,将其加上线性地址中间的10位A21~A12确定的页表项的偏移量,便访问到指定的页表项。

(3)在此页表项中包含着要访问的页面的起始地址,将其加上线性地址最低12位A11~A0的偏移量,就从这一页中访问到所寻址的物理单元。

第7章 输入输出接口

〔习题7.1〕简答题

〔解答〕

① 外部设备,在工作原理、驱动方式、信息格式、以及工作速度等方面彼此差别很大,与处理器的工作方式也大相径庭。所以,外设不能像存储器芯片那样直接与处理器相连,必须经过一个中间电路。

② 数据缓冲用于匹配快速的处理器与相对慢速的外设或两个功能部件速度不匹配的数据交换。 ③ 处理器向接口芯片相应端口写入特定的数据,用于选择I/O芯片的工作方式或控制外设工作,该

- -41

数据称命令字或控制字。

④ PC机中CMOS RAM不属于主存空间,CMOS RAM有64个字节容量,以8位I/O接口形式与处理器连接,通过两个I/O地址访问。

⑤ 在输入接口中,为避免多个设备同时向总线发送数据,需要安排一个三态缓冲器。只有当处理器选通时,才允许被选中设备将数据送到系统总线,此时其他输入设备与数据总线隔离。

⑥ 透明锁存器的控制端为有效电平时,输出随输入变化,常称为直通或透明。非透明锁存器不论其控制端为低或为高电平,输出状态都不随输入变化。

⑦ 如发光二极管、按键和开关等简单设备,它们的工作方式十分简单;相对处理器而言,其状态很少发生变化或变化很慢。这些设备与处理器交换数据时,可采用无条件传送。

⑧ 在查询程序中,当查询超过了规定的时间,设备仍未就绪时,就引发超时错误。

⑨ 远调用CALL指令利用直接或间接寻址调用另一个代码段的子程序;INT n指令利用中断向量表(地址表)的方法调用另一个代码段的中断服务程序,还有保存标志寄存器的功能。

⑩ 外部中断是由处理器外部提出中断请求引起的程序中断。相对于处理器来说,外部中断是随机产生的,所以是真正意义上的中断。 〔习题7.2〕判断题

① 对 ⑥ 错

② 对 ⑦ 对

③ 对 ⑧ 错

④ 错 ⑨ 对

⑤ 错 ⑩ 错

〔习题7.3〕填空题

〔解答〕

① 数字量、开关量、脉冲量

② I/O独立,输入输出(I/O)指令,直接寻址,DX寄存器间接寻址 ③ I/O端口(接口,外设),处理器(主机),I/O读 ④ 寄存器,I/O地址的直接寻址 ⑤ I/O地址的间接寻址,寄存器

⑥ 直接存储器存取,DMA请求,总线请求,总线响应,高阻,DMAC(DMA控制器) ⑦ 除法错,2

⑧ 1,STI,CLI,0

⑨ 1KB,20H,4,F010H∶2300H ⑩ IR3,IR3请求的 〔习题7.4〕

一般的I/O接口电路安排有哪三类寄存器?它们各自的作用是什么?

〔解答〕

① 数据寄存器

保存处理器与外设之间交换的数据。 ② 状态寄存器

保存外设当前的工作状态信息。处理器通过该寄存器掌握外设状态,进行数据交换。 ③ 控制寄存器

保存处理器控制接口电路和外设操作的有关信息。处理器向控制寄存器写入控制信息,选择接口电路的不同工作方式和与外设交换数据形式。 〔习题7.5〕

什么是I/O独立编址和统一编址,各有什么特点?

〔解答〕

独立编址是将I/O端口单独编排地址,独立于存储器地址。

统一编址是将I/O端口与存储器地址统一编排,共享一个地址空间。

端口独立编址方式,处理器除要具有存储器访问的指令和引脚外,还需要设计I/O访问的I/O指令和I/O引脚,其优点是:不占用存储器空间;I/O指令使程序中I/O操作一目了然;较小的I/O地址空间使地址译码简单。但I/O指令功能简单,寻址方式没有存储器指令丰富。

统一编址方式,处理器不再区分I/O口访问和存储器访问。其优点是:处理器不用设计I/O指令和引脚,丰富的存储器访问方法同样能够运用于I/O访问。缺点是:I/O端口会占用存储器的部分地址空间,通

- -42

过指令不易辨认I/O操作。 〔习题7.6〕

简述主机与外设进行数据交换的几种常用方式。

〔解答〕

主机与外设进行数据交换的几种常用方式:

① 无条件传送方式,常用于简单设备,处理器认为它们总是处于就绪状态,随时进行数据传送。 ② 程序查询方式:处理器首先查询外设工作状态,在外设就绪时进行数据传送。

③ 中断方式:外设在准备就绪的条件下通过请求引脚信号,主动向处理器提出交换数据的请求。处理器无其他更紧迫任务,则执行中断服务程序完成一次数据传送。

④ DMA传送: DMA控制器可接管总线,作为总线的主控设备,通过系统总线来控制存储器和外设直接进行数据交换。此种方式适用于需要大量数据高速传送的场合。 〔习题7.7〕

参看图7-5,编程实现以下功能:当K0键单独按下时,发光二极管L0~L7将依次点亮(L0,L1,L2,??L7),每个维持200ms;当K1键单独按下时,发光二极管L0~L7将反向依次点亮(L7,L6,L5,??L0),每个也维持200ms;在其他情况下各发光二极管均不点亮。假定有延时200ms的子程序DELAY可直接调用。 〔解答〕

again: next1: next11: next2: next21:

mov dx,8000h in al,dx cmp al,0feh jz next1 cmp al,0fdh jz next2 jmp again mov cx,8 mov al,1 out dx,al call delay shl al,1 loop next11 jmp again mov cx,8 mov al,80h out dx,al call delay shr al,1 loop next21 jmp again

; 从K7开始 ; 某个LED电亮 ; 延时200ms ; ror al,1 ; 从K0开始 ; 某个LED电亮 ; 延时200ms ; rol al,1

; D7~D0=11111110B ? ; 单独按下K0,转移到next1 ; D7~D0=11111101B ? ; 单独按下K1,转移到next2 ; 其它情况不点亮

〔习题7.8〕

现有一个输入设备,其数据端口地址为FFE0H,状态端口地址为FFE2H。当状态标志D0=1时,表明一个字节的输入数据就绪。请编写利用查询方式进行数据传送的程序段,要求从该设备读取100个字节保存到BUFFER缓冲区。 〔解答〕

again: status:

mov bx, offset buffer mov cx,100 mov dx,0ffe2h in al,dx test al,01h

; 查询一次

- -43

jz status mov dx,0ffe0h in al,dx mov [bx],al inc bx loop again

; 循环,输入100个字节 ; 输入一个字节

〔习题7.9〕

某个字符输出设备,其数据端口和状态端口的地址均为80H。在读取状态时,当标志位D7=0时,表明该设备闲,可以接收一个字符。请编写利用查询方式进行数据传送的程序段,要求将存放于缓冲区ADDR处的一串字符(以0为结束标志)输出给该设备。 〔解答〕

again: status: done:

mov bx,offset addr cmp byte ptr [bx],0 jz done in al,80h test al,80h jnz status mov al,[bx] out 80h,al inc bx jmp again

; 循环

; 输出一个字节 ; 查询

〔习题7.10〕

以可屏蔽中断为例,说明一次完整的中断过程主要包括哪些环节?

〔解答〕

中断请求:外设通过硬件信号的形式、向处理器引脚发送有效请求信号。 中断响应:在满足一定条件时,处理器进入中断响应总线周期。 关中断:处理器在响应中断后会自动关闭中断。

断点保护:处理器在响应中断后将自动保护断点地址。

中断源识别:处理器识别出当前究竟是哪个中断源提出了请求,并明确与之相应的中断服务程序所在主存位置。

现场保护:对处理器执行程序有影响的工作环境(主要是寄存器)进行保护。 中断服务:处理器执行相应的中断服务程序,进行数据传送等处理工作。 恢复现场:完成中断服务后,恢复处理器原来的工作环境。 开中断:处理器允许新的可屏蔽中断。

中断返回:处理器执行中断返回指令,程序返回断点继续执行原来的程序。 〔习题7.11〕

什么是中断源?为什么要安排中断优先级?什么是中断嵌套?什么情况下程序会发生中断嵌套? 〔解答〕

计算机系统中,凡是能引起中断的事件或原因,被称为中断源。

处理器随时可能会收到多个中断源提出的中断请求,因此,为每个中断源分配一级中断优先权,根据它们的高低顺序决定响应的先后。

一个中断处理过程中又有一个中断请求、并被响应处理,被称为中断嵌套。 必须在中断服务程序中打开中断,程序才会发生中断嵌套。 〔习题7.12〕

明确如下中断有关的概念:中断源、中断请求、中断响应、关中断、开中断、中断返回、中断识别、中断优先权、中断嵌套、中断处理、中断服务。 〔解答〕

- -44