答:为了保证地址转换的效率,访问存储器时,总是由段寄存器提供段址。 8086 在
BIU 中设有 4 个段寄存器(CS、DS、SS、ES),CPU 可以在某一时刻通过这4 个段寄存器
来访问 4 个不同的段。在程序设计层面,可以通过指定段和段寄存器的关系来标识段,这
样在实际编程时,绝大多数情况下逻辑地址只需要指定偏移地址。
13. 已知当前(CS)=7F00H,(IP)=017CH,问下条指令的物理地址是什么?
答:(CS)*10H+(IP)=7F00H*10H+017CH=7F000H+017CH=7F17CH
14. 已知当前(DS)=5C00H,(ES)=5D10H,而数据的物理地址是 63654H,若分别使
用 DS 和 ES 段寄存器访问该数据,问偏移地址分别是多少?
答:若使用 DS,则(IP)=63654H-(DS)*10H=63654H-5C000H=7654H。
若使用 ES,则(IP)=63654H-(ES)*10H=63654H-5D100H=6554H。
15. 什么是 I/O 端口?8086CPU 的端口空间是多大?需要使用地址总线的多少位访问端口
空间?
答:I/O 端口即输入输出接口,是外部设备和主机交换信息的接口,在它们之间的通信
中起到了转换和缓冲数据的作用。8086 的 I/O 端口空间大小为 2 =64KB。需要 16 位,
8086 使用地址总线的低16 位访问 I/O 端口。
16. 简述 Intel 的 32 位处理器如何对16 位处理器的寄存器进行扩展,有何好处。
答:(1)将 16 位通用寄存器扩展 16 位形成 32 位通用寄存器。同时还保留了原来的
16 位寄存器和 8 位寄存器。
(2)将指令寄存器 IP 扩展 16 位形成 32 为的 EIP 寄存器。
(3)段寄存器仍然是16 位的,但增加了 FS 和 GS 两个段寄存器。
(4)将寄存器 Flags 扩展 16 为形成 32 位的 EFLAGS 标志寄存器,增加了新的标
志。
32 位微处理器完整保留了 16 位微处理器的寄存器结构,可保证 16 位架构的程序
可以不经修改的运行在32 位架构中,即向前兼容,是Intel 商业成功的重要保证。
17. 简述 32 位处理器的工作模式。
答:(1)实模式。实模式下的工作原理与 8086 相同,就相当于一个告诉的 8086 处理
器。
(2)保护模式。该模式有以下特点:支持多任务;支持存储器的分段管理和分页
管理,易于实现虚拟操作系统;具有保护功能,包括存储器保护、任务特权级保护和任务
之间的保护。
(3)虚拟 8086 模式。虚拟 8086 模式是为了在保护模式下执行 8086 程序而设计
的。在虚拟 8086 模式下可执行 16 位的软件,同时虚拟 8086 模式又可以以任务的形式与真
正的 32 位任务进行切换,共享资源。
答:在保护模式下,微处理器支持分段存储管理和分页存储管理。分段存储管理完成
由多个逻辑段构建的逻辑空间映射到线性空间的工作;程序设计面向逻辑空间进
行;如果不使用分页存储管理,则线性空间就是物理空间;分页存储管理将线性空
间按照一定的大小(4KB)划分页(逻辑页),然后以页为单位在物理空间上进行
分配(物理页)和回收,并实现逻辑页到物理页的映射;分页存储管理对使用者是
透明的。
评论1
最新资源