again1:
again2:
next2:
done:
mov [bx],al dec bx
jnz again1 mov al,[bx] cmp al,ah jz next2 dispcrlf push ax mov ax,ds call disphw mov al,':' call dispc mov ax,bx call disphw pop ax dec bx
jnz again2 pop ax
cmp ah,0aah jz done
mov ah,0aah jmp again
; 写入
; 读出 ; 检测
; 显示段地址
; 显示偏移地址
; 后用0AAH
〔习题6.14〕
什么是LRU替换算法?80486片内Cache中,如果3个替换算法位B2B1B0=010,则将替换哪个Cache行,并给出你的判断过程。 〔解答〕
LRU算法是近期最少使用、即选择最长时间未被使用的数据块进行替换的算法。 B0=0,说明最近访问了L2/L3行,所以应该替换L0或L1行。B1=1,说明最近访问了L0行,所以应该替换L1。因为LRU算法是选择最长时间未被访问的Cache行进行替换。 〔习题6.15〕
高速缓冲存储器Cache的写入策略是解决什么问题的?有哪两种写入策略,各自的写入策略是怎样的? 〔解答〕
写入策略用于在写命中时Cache与主存内容保持一致。
直写式写入策略指处理器对Cache写入的同时,将数据也写入到主存,这样来保证主存和Cache内容一致。它简单可靠。
回写Cache只有在行替换时才可能写入主存,写入主存的次数,会少于处理器实际执行的写入操作数。回写Cache的性能要高于直写Cache,但实现结构略为复杂。 〔习题6.16〕
80486片上8KB Cache的标签存储器为什么只需要21位? 〔解答〕
80486片上Cache共有8KB容量,采用4路组合地址映射方式。对于4GB容量的主存来说,以Cache路为单位,可以分成4GB÷2KB=232÷211=221个Cache路。这样每个Cache行只要设计一个21位的标签存储器,记录该Cache行映射到哪个主存的Cache路。再结合
- -45
直接映射的组号就可以明确该Cache行对应哪个主存块。 〔习题6.17〕
高速缓存的写入操作有几个很近似的英文词汇,它们分别表示什么含义? (1)Write Through (2)Write Back (3)Write Around (4)Fetch on Write 〔解答〕
(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确定的页目录项的偏移量,便访问到指定的页目录项。
- -46
(2)在此页目录项中包含着指向的页表的起始地址,将其加上线性地址中间的10位A21~A12确定的页表项的偏移量,便访问到指定的页表项。
(3)在此页表项中包含着要访问的页面的起始地址,将其加上线性地址最低12位A11~A0的偏移量,就从这一页中访问到所寻址的物理单元。
第7章 输入输出接口
〔习题7.1〕简答题
〔解答〕
① 外部设备,在工作原理、驱动方式、信息格式、以及工作速度等方面彼此差别很大,与处理器的工作方式也大相径庭。所以,外设不能像存储器芯片那样直接与处理器相连,必须经过一个中间电路。
② 数据缓冲用于匹配快速的处理器与相对慢速的外设或两个功能部件速度不匹配的数据交换。
③ 处理器向接口芯片相应端口写入特定的数据,用于选择I/O芯片的工作方式或控制外设工作,该数据称命令字或控制字。
④ 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控制器)
- -47
⑦ 除法错,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端口会占用存储器的部分地址空间,通过指令不易辨认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可直接调用。
- -48