Intel汇编程序设计-第五版-课后答案-第二章

来源:互联网 发布:免费刷空间访客软件 编辑:程序博客网 时间:2024/04/30 06:06

第2章 IA-32处理器体系结构

2.1基本概念

(1)CPU除了包含寄存器之外还包含哪些其他基本部件?

答案:控制单元CU,算术逻辑运算单元ALU,时钟。

(2)CPU使用了哪三种总线同计算机的其余部分相连接?

答案:地址总线,数据总线,控制总线。

(3)为什么访问存储器比访问寄存器要花费更多的机器时间?

答案:常规内存在CPU外部并且响应访问请求的速度比较慢,寄存器在CPU内同其他部件是直接相连的,所以访问较快。

(4)指令执行周期中的三个基本步骤是什么?

答案:取指令,指令译码,执行。

(5)当使用内存操作数时,指令执行周期中还需要哪两个额外的步骤?

答案:取内存操作数,存内存操作数。

(6)在指令执行周期的哪个阶段中,程序计数器的值会增加?

答案:取指令阶段。

(7)给出流水线执行的定义。

答案:并行执行处理器的各个阶段,使得交迭执行机器指令成为可能。

(8)在5级非流水线处理器中,执行两条指令需要多少时钟周期?

答案:5*2=10

(9)在5级单流水线处理器中,执行8条指令需要多少时钟周期?

答案:5+(8-1)=12

(10)什么是超标量处理器?

答案:超标量处理器是指有两条以上执行流水线的处理器。

(11)假设5级双流水线处理器中有一个阶段的执行需要两个时钟周期,执行10条指令需要多少时钟周期?

答案:5+(10-1)+1=15

(12)当程序运行时,操作系统从磁盘的文件目录项中读取哪些信息?

答案:文件名、文件大小,在磁盘上的起始位置。(大多数目录也存储了文件的最后修改的日期和时间)

(13)程序装入内存后如何开始执行?

答案:操作系统执行一条分支(就行一条GOTO语句)指令,跳转到程序的第一条机器指令处执行。

(14)试给出多任务的定义。

答案:CPU通过在程序之间快速切换执行多个任务(程序),这给人以多个程序同时运行的假象。

(15)操作系统调度程序的功能是什么?

答案:调度程序需要给多个进程分配CPU时间,并且进行进程切换。

(16)当处理器从一个任务切换到另一个任务时,必须保存第一个任务状态的哪些值?

答案:程序计数器,变量,CPU寄存器(包括状态位)。

(17)3GHz处理器的单个时钟周期要占用多长时间?

答案:1/3ns

 

2.2   IA-32处理器体系结构

(1)IA-32处理器的三种基本的操作模式分别是什么?

答案:保护模式,实模式,系统管理模式。

(2)说出所有8个32位通用寄存器的名称。

答案:EAX,EBX,ECX,EDX,ESI,EDI,ESP,EBP。

(3)说出所有6个段寄存器的名称。

答案:CS,DS,SS,ES,FS,GS。

(4)ECX通常用于什么特殊用途?

答案:循环计数器。

(5)除了堆栈指针(ESP)之外,还有哪个寄存器指向堆栈上的变量?

答案:EBP。

(6)说出至少4个CPU状态标志的名字。

答案:常用:进位标志CF,溢出标志OF,为零标志ZF,符号标志SF;不常用:辅助进位标志AC,奇偶校验标志PF。

(7)当无符号操作数的运算结果太大而无法容纳于目的操作数中时,哪个标志位被设置?

答案:进位标志CF。

(8)当有符号操作数的运算结果太大而无法容纳于目的操作数中时,哪个标志位被设置?

答案:溢出标志OF。

(9)当算数或逻辑操作产生的结果为负时哪个标志位卑设置?

答案:符号标志SF。

(10)CPU的哪个部分执行浮点运算?

答案:浮点单元FCU。

(11)FPU数据寄存器的位长时多少?

答案:80位。

(12)哪种Intel处理器是IA-32系列的第一个成员?

答案:Intel80386。

(13)哪种Intel处理器首次引入了超标量执行技术?

答案:奔腾(pentium)。

(14)哪种Intel处理器首次使用了MMX技术?

答案:奔腾II(pentiumII)。

(15)给出CISC的定义并解释其设计方式。

答案:CISC(复杂指令集):包含较多的指令,其中的一些指令执行类似于高级语言指令的非常复杂的操作。

(16)给出RISC的定义并解释其设计方式。

答案:RISC(精简指令集):包含较少的简单(原子)的指令,这些指令可以组合起来完成更加复杂的操作。

 

2.3   IA-32的内存管理

(1)在保护模式下可寻址的内存地址范围是什么?

答案:4GB(0-FFFFFFFFH)。

(2)在实地址模式下可寻址的内存地址范围是什么?

答案:1MB(0-FFFFFH)。

(3)在实地址模式下描述地址的两种方法分别是段-偏移地址和?

答案:线性地址(绝对地址)。

(4)在实地址模式下将下面十六进制数段-偏移地址转换成线性地址:0950:0100 。

答案:09600H。

(5)在实地址模式下将下面十六进制数段-偏移地址转换成线性地址:0CD1:02E0。

答案:0CFF0H。

(6)在MASM的平坦内存模式下,使用多少个数据位存放指令或变量的地址?

答案:32bit。

(7)在保护模式下,哪个寄存器存放堆栈段的描述符?

答案:堆栈寄存器SS。

(8)在保护模式的多段模式下,哪张表包含指向程序使用的各种段的描述符?

答案:局部描述符表LDT。

(9)在平坦分段模式下,哪张表包含至少两个段的描述符?

答案:全局描述符表GDT。

(10)使用IA-32处理器分页特性的主要优点是什么?

答案:装入内存的所有程序的总的大小可以超过计算机安装的物理内存的大小。

(11)挑战:MS-DOS操作系统不支持保护模式编程,你能想出一个与之相关的原因吗?

答案:这是一个自由回答问题。事实是MS-DOS最初必须在8086/8088处理器上运行,而8086/8088处理器只支持实地址模式。在新的处理器出现之后,关于MS-DOS仍然不支持保护模式的原因,我的猜想是Microsoft仍然想让MS-DOS在老处理器上运行,否则老计算机用户将拒绝升级到新版本的MS-DOS。

(12)挑战:在实地址模式下,解释说明两个不同的段-偏移地址指向同一个线性地址的情况。

答案:例如,0640:0100和0630:0200。

 

2.4   IA-32微机的构成

(1)对SRAM作一些说明并说出其最常见的用途。

答案:SRAM表示静态RAM,常用作CPU的高速缓存。

(2)哪种Intel处理器是在PCI总线诞生后出现的?

答案:Pentium。

(3)在主板芯片组中,Intel8259A的功能是什么?

答案:Intel8259A是中断控制芯片,也叫做可编程中断控制器(PIC),用来调度硬件中断并向CPU发送中断信号。

(4)供视频显示使用的存储器位于什么地方?

答案:在视频显示卡的内部或主板上(特定的内存区域)。

(5)试描述一下CRT视频监视器的光栅扫描。

答案:电子束照亮屏幕上称为像素的荧光点,电子枪从屏幕的最顶端开始从左到右进行扫描,然后关闭,并重新从左边的下一行开始扫描,水平回扫指电子枪在行扫描之间关闭的时间。当绘制完最后一行的时候,电子枪关闭并移动到屏幕的左上角重新开始扫描(称为垂直回扫)。

(6)说出本章中提到的4种类型RAM的名称。

答案:SRAM,DRAM,VRAM,CMOS RAM。

(7)哪种类型的RAM用于二级缓存?

答案:SRAM。

(8)和标准的串行和并行设备相比,USB设备有哪些优点?

答案:计算机可查询通过USB连接的设备的名字、设备类型以及它所支持的驱动的类型,计算机还可以挂起单个USB设备的电源。这些功能对于串口或并口而言都是不可能的。

(9)两种USB接头的名称是什么?

答案:传入接头和传出接头。

(10)哪种芯片用来控制串行口?

答案:16550UART(通用异步收发器,Universal Asynchronous Receive Transmitter)。

 

2.5   输入输出系统

(1)在计算机操作系统的4种访问层次中,哪个层次是最通用的和可移植性最好的?

答案:应用程序层。

(2)BIOS层次的输入/输出有哪些特点?

答案:BIOS功能调用直接和系统硬件通信,和操作系统无关。

(3)BIOS中已经存在和计算机硬件交互的代码了,为什么设备驱动程序还是必需的?

答案总会发明新的设备,在编写BIOS时不能预见到并支持所有新的功能,因此设备驱动是必须的。

(4)在显示字符串的例子中,在操作系统和视频控制卡之间还存在什么层次?

答案:BIOS层。

(5)在哪个(哪些)层次上,汇编语言程序可以控制输入输出?

答案:操作系统层,BIOS层,硬件层。

(6)为什么游戏程序通常直接通过声卡的硬件端口输出声音?

答案:游戏程序通常试图利用特定声卡的最新特性。应该注意的是MS-DOS下的应用程序在这一点上比在MS-windows下运行的游戏程序做起来更容易一些,Windows NT/2000/XP禁止应用程序直接访问硬件。

(7)挑战:运行MS-windows计算机的BIOS可能与运行linux的计算机使用的BIOS有所不同吗?

答案:不可能。同样的BIOS在这两种操作系统下都能工作,许多计算机用户在同一计算机上安装两个以上的操作系统,他们绝对不愿意在每次重启计算机后修改系统的BIOS!