计算机硬件----第二次作业答案解析

一、举例说明哪些微处理器采用CISC架构设计,哪些采用RISC设计(20分,教材P83)

CISC:8080;8086/8088;80286;80386;80486;Pentium(内核还采用了RISC技术)等
RISC:ARM

二、8086对存储器的非规则字是如何处理的?8086的#BHE引脚有何用?(20分,教材P84)

非规则字:低位字节从奇数地址中开始存放的字。
两次访问存储器中国的两个偶数地址的字,忽略每个字中所不需要的那半个字,并对所需的两个半字进行字节调整。
#BHE引脚:当输出#BHE信号时,代表着总线高8位AD15-AD8上的数据有效。

三、80386的分段部件和分页部件有哪些优越性(20分,教材P85)

分段的作用:可以对容量可变的的代码储存块或数据储存块提高模块化和保护性。
分页的作用:便于实现虚拟存储管理,通常在内存和磁盘之间进行映射的时候,都是以页为单位把磁盘的程序和数据转存到内存中的一个相对应的地址区间的。

四、设某CPU的寻址空间为64KB,采用存储器作为堆栈,其中堆栈指针为SP,PC为程序计数器,设主存中有一段代码如下。(地址和机器码均以十六进制表示,15分)

(存疑)
在这里插入图片描述

CALL S 指令执行完后,PC的值为;2000,SP的值为:2FFE;
2FFE为06、2FFF为10。

执行会有问题

CALL S指令调用一个过程,指挥处理器从新的内存地址开始执行。
过程使用RET(从过程返回)指令将处理器转回到该过程被调用的程序点上。

从物理上来说,CALL指令将其返回地址压入堆栈,
再把被调用过程的地址复制到指令指针寄存器。
当过程准备返回的时候,它的RET指令从堆栈把返回地址弹到指令指针寄存器。
16位模式下,由IP(指令指针寄存器)指出指令。

当出现CALL语句的时候,CPU会将按堆栈顺序要执行的下一条指令压入堆栈中存着,然后执行CALL调用的那个指令,然后遇见RET指令(调用的指令执行完了),
就把原本要执行的那个指令从堆栈中弹出并且去执行。
注意:进出栈都是以字(两个字节)为单位。

PC(程序计数器):用来存放正待取出的指令的地址。根据PC中的指令地址,准备从存储器中取出将要执行的指令。PC具有自动加一的功能。
AX:一般用作累加器,在 I / O 指令当中专门用它来与外部设备交换数据。

CALL S 指令执行完后,下一条指令(1006)被压入栈中,SP(堆栈指针)指向2FFE,PC指向 2000 。
S指令:POP AX 将指令(1006)弹出到累加器中,所以SP此时指向3000。
RET指令执行完后,原本要执行的指令(1006)已经从堆栈中弹出,现在要弹出指令(2512)并且执行。
所以,SP指向 3002;PC指向 2512 。

堆栈既用于存放返回地址,又可以暂存用户的数据,因此编制子程序时一定要保持
堆栈的平衡,否则将不能正确实现子程序的返回,程序执行会失控。

五、单项选择题(25分)

1.在下面关于微处理器的叙述中,错误的是( ) 。
A.微处理器是用超大规模集成电路制成的具有运算和控制功能的芯片
B.一台计算机的CPU含有1个或多个微处理器
C.寄存器由具有特殊用途的部分内存单元组成,是内存的一部分
D.不同型号的CPU可能具有不同的机器指令

寄存器是微处理器的一部分,而内存是计算的主存储器,内存与微处理器是并列的。

2.运算器在执行两个用补码表示的整数加法时,判断其是否溢出的规则为( )。
A.两个整数相加,若最高位(符号位)有进位,则一定发生溢出
B.两个整数相加,若结果的符号位为0,则一定发生溢出
C.两个整数相加,若结果的符号位为1,则一定发生溢出
D.两个同号的整数相加,若结果的符号位与加数的符号位相反,则一定发生溢出

规则正是如此。

3.运算器由很多部件组成,其核心部分是( )。
A.数据总线 B.算术逻辑单元 C.累加器 D.多路开关

A选项:数据总线和累加器只是提供数值的,并不属于运算器。
B选项:运算器的核心部分是算数逻辑单元(ALU)。
C选项:累加器:累加器属于内部寄存器。

4.在一般的微处理器中,( )包含在CPU中。
A.内存 B.输入/输出单元 C.磁盘驱动器 D.算术逻辑单元

中央处理单元(CPU)由指令预取单元(IPU,一个指令预取队列寄存器)、指令译码单元(IDU)和执行单元(EU,主要包括32位的逻辑运算单元ALU,和 8 个32位通用寄存器)组成。
中央处理单元(CPU) 从功能上讲,其内部结构可分为 总线接口单元(bus interface unit,BIU)和执行单元(EU)。

5.程序设计中所使用的地址是( )。
A.逻辑地址 B.有效地址 C.物理地址 D.段基址

A选项:逻辑地址:逻辑地址是指在计算机体系结构中是指应用程序角度看到的内存单元(memory cell)、存储单元(storage element)、网络主机(network host)的地址。
B选项:有效地址:有效地址EA是一16位无符号数,表示操作数所在单元到段首的距离即逻辑地址的偏移地址。
C选项:物理地址:物理地址存储器中存储单元对应实际地址称物理地址,与逻辑地址相对应。
D选项:段基址:在80x86 CPU中设置的段寄存器只有16位,只能存放20位段起始地址的高16位,称它为段基值(Segment Base Value),将段基值左移四位后,得到20位的段起始地址,称它为段基址或段基地址。

6.8086CPU通过( )控制线来区分是存储器访问,还是输入输出访问。
A. M/ #IO B. DT/#R C. ALE D. MN/#MX

A选项:M / #IO:高电平表示CPU在和存储器进行数据传输,低电平表示在和输入输出设备之间进行数据传输。
B选项:DT / #R:在使用8286 / 8287作为数据总线收发器时,其用来控制8286 / 8287 的数据传送方向。DT / #R为高电平时,表示在进行数据传送,低电平表示进行数据接收。在DMA方式下,他被浮置为高阻状态。
C选项:ALE:提供给地址锁存器 8282 / 8283 的地址锁存器控制信号,高电平有效。在T1状态ALE输出高电平,表示当前在地址 / 数据复用总线上输出的是有效地址。
D选项:MN / #MX:接地表示系统工作于最大模式,接电源电压表示系统工作于最小操作模式。

7.8086微处理器中,当引脚#RD 和 M/#IO信号同时为低电平时,意味着CPU当前正在进行( )。
A.存贮器读 B.存储器写 C.外设读 D.外设写

M / #IO:高电平表示CPU在和储存器进行数据传输,低电平表示在和输入输出设备之间进行数据传输。
#RD:当#RD = 0时,表示CPU将要执行对存储器或I / O端口的读操作。当执行DMA操作时,#RD被浮空。

8.在8086/8088 CPU中,一个最基本的总线读写周期由( )时钟周期组成。
A. 1个 B. 2个 C. 4个 D. 6个

在8086 / 8088 CPU 中,一个总线周期由四个时钟周期组成。

9.设8086微处理器CLK端接入的频率为4MHz,则存储器(或I/O)读写基本总线周期为( )。
A.1μS B.4μS C.0.4μS D.0.25μS

CLK端接入的频率即为:时钟频率。

10.8086/8088微处理器用于传输数据是在总线周期的( )。
A.T1状态 B.T2状态 C.T3状态 D.T4状态

在T1状态:发送地址。
在T2状态:撤销地址,为传输数据做准备。
在T3状态:提供状态信息,传送数据到数据总线上。
在T4状态:数据传输,完成数据传输,结束总线周期。
在Tw状态:等待。(外设或存储器的速度较慢,跟不上CPU的访问速度,就会出现等待状态。)

11.在总线周期的在T1状态,CPU往总线上发 ( )信息。
A. 数据 B . 地址 C. 状态 D. 其它
12.8086有两种工作模式, 最小模式的特点是( )。
A. CPU提供全部控制信号 B. 由编程进行模式设定
C. 不需要8286收发器 D. 需要总线控制器8288

最大模式:一般包含两个或多个处理器。
最小模式:单处理器系统模式,系统中所需要的所有信号全部由CPU提供。
最大模式与最小模式的主要区别:最大模式外加有8288总线控制器。

13.8086有两种工作模式,最大模式的特点是 ( )。
A. M/#IO引脚可直接引用 B. 由编程进行模式设定
C. 需要总线控制器8288 D. 适用于单一处理机系统

14.真值超出机器数表示范围称为溢出,此时标志寄存器中的( )位被置位。
A. OF B. AF C. PF D. CF

A选项:OF(溢出标志):当发生溢出的时候,OF = 1;否则 OF = 0;对于无符号数的操作,将不考虑溢出标志。
B选项:AF(辅助进位标志):当执行加减法运算时,结果的低 4 位向高 4 位进位或借位的时候,AF = 1,否则 AF = 0。
C选项:PF(奇偶性标志):当执行结果低八位含有偶数个 1 的时候,PF = 1,否则 PF = 0。
D选项:CF(进位标志):当执行加减法运算的时候使最高位发生进位或借位的时候,CF = 1,否则,CF = 0。

15.8086 系统中内存储器地址空间为1M,而在进行I/O读写是,有效的地址线是 ( )
A . 高16位 B. 低16位 C. 高8位 D. 低8位

8086 / 8088是用地址线的低16位来寻址 8 位 I / O端口的。I / O端口有65536个。

16.8086 CPU中段寄存器用来存放( )
A.存储器的物理地址 B. 存储器的逻辑地址
C. 存储器的段基值 D. 存储器的起始地址

段寄存器提供16位的段地址。
将段寄存器的内容左移四位形成20位的段基址。

17.8086CPU在进行无符号数比较时,应根据( ) 标志位来判别。
A. CF和OF B. CF和PF C. CF和ZF D. ZF和OF
CF(进位标志),PF(奇偶性标志)
ZF(零标志):表示一个算术或逻辑操作的结果是否为零。结尾为零时,ZF = 1;否则,ZF = 0。
OF(溢出标志):在进行无符号整数的运算时,不考虑。
18.当存储器读写速度较慢时,需产生一个READY信号以实现与CPU的同步,CPU将在总线周期的( )时候采样该信号。
A. T2开始时 B. T2结束时 C. T3开始时 D. T3结束时

若外设或存储器的速度较慢,跟不上CPU的访问速度,则外设或存储器就会通过READY控制线,在T3状态启动之前向CPU发送一个数据未准备好的无效信号,在T3状态之后,插入一个或者多个Tw(等待状态),在完成数据传输之后,向CPU发送一个准备好的信号,CPU自动脱离Tw状态,进入T4状态。

19.8086微处理器中,有关READY引脚功能描述不正确的是( )。
A.实现CPU和存储器或I/O设备之间的速度匹配
B.CPU在每个总线周期的T3去检测READY是否有效
C.如果检测到READY线为低电平,则自动插入一个(或多个)等待状态TW
D.如果检测到READY线为高电平,则自动插入一个(或多个)等待状态TW

READY(准备好信号):高电平有效,当READY = 1,表示所要寻址的内存或
I / O设备已准备就绪,CPU可以进行数据传输。CPU在T3开始对READY信号采样。若READY为低电平,则表示存储器或 I / O设备未准备就绪,开始等待。

20.8086/8088微处理器复位后下列内部寄存器的值正确的是( )。
A.IP=0000H,CS=0000H,SS=0000H,DS=0000H
B.IP=0000H,CS=0000H,SS=0000H,DS=FFFFH
C.IP=0000H,CS=FFFFH,SS=0000H,DS=0000H
D.IP=FFFFH,CS=0000H,SS=0000H,DS=0000H

复位后内部寄存器的状态:
1、标志寄存器:清除。
2、IP:0000H。
3、CS:FFFFH。
4、DS:0000H。
5、SS:0000H。
6、ES:0000H。
7、指令队列缓冲器:清除。

21.8086/8088微处理器复位后,有关内部寄存器的值描述不正确的是( )
A.标志寄存器各位全部置0 B.指令预取队列缓冲器被清楚
C.四个段寄存器置0 D.IP被置0

标志寄存器(FLAGS,又称处理器状态字(PSW):清除。
指令队列缓冲器:清除。
四个段寄存器:
1、代码段寄存器(CS):用来存放程序当前使用的代码段的段地址。
2、堆栈段寄存器(SS):用来存放程序当前使用的堆栈段的段地址。
3、数据段寄存器(DS):用来存放程序当前使用的数据段的段地址。
4、附加段寄存器(ES):用来存放程序当前使用的附加段的段地址,通常也用来存放数据,但典型用法是用来存放处理后的数据。

IP(指令指针寄存器):置零。

22.80486CPU进行算术和逻辑运算时,可处理的信息的长度为( )。
A.32位 B.16位 C.8位 D.都可以

80486内部数据总线宽度64位,CPU和cache之间数据通道是128位。

23.Intel80286有24位地址线,则其寻址的最大物理空间是( )字节。
A.1MB B.16MB C.1GB D.4GB

24.若某数据段位于存储区38000H~47FFFH,则该数据段的段基址为( )。
A.38000H B.47FFFH C.3000H D.3800H

每个段的起始地址(段基址):是一个能被16整除的数(最后四位为零)。
段地址是20位段基址的前16位。

25.若某台微型计算机的型号是奔四800,则其中800的含义是( )。
A.CPU中有800个寄存器 B.CPU中有800个运算器
C.该微机的内存为800MB D.时钟频率为800MHZ

800代表着处理器的运算频率为800兆赫兹。

26.8086标志寄存器FLAGS中存放两类标志,即( )。
A.符号标志.溢出标志 B.控制标志.状态标志
C.方向标志.进位标志 D.零标志.奇偶标志

标志寄存器FLAGS使用了 9 位做标志位,其中 6 个状态标志位和 3 个控制标志位。

27.若AL=3BH,AH=7DH,则AL和AH中的内容相加后,标志CF、SF和OF的状态分别是( )。
A.0、1、1 B.1、1、1 C.0、0、0 D.1、1、0

3BH = 0011 1011B;7DH = 0111 1101B。
0011 1011
0111 1101 +
——————
1011 1000

溢出。
CF(进位标志);OF(溢出标志)。
SF(符号标志):和运算结果最高位相同。

28.设某一个单元的物理地址是54321H,则正确的逻辑地址表示为( )。
A.4321H:50000H B.54320H:1H C.5430H:0021H D.5432H:00001H

段地址左移 4 位形成段基址,再与 16 位的偏移地址相加,得到实际地址。

29.某系统中,已知建立堆栈时SS=2360H,SP=0800H,经过一段时间后,SP的内容变为0700H,则堆栈中有多少个字的数据( )。
A.80H B.50H C.100 D.100H

SS(堆栈段寄存器):记录的是其16位段地址,它确定堆栈段的段基址。
SP(堆栈指针):16位偏移地址指定当前的栈顶。
一个字等于两个字节。

30.如果访问存储器时使用BP寻址,则默认的段寄存器是( )
A.CS B.ES C.DS D.SS

BP(堆栈基址指针寄存器):存放位于堆栈段中一个数据区基地址的偏移地址。
SP所指定的堆栈存储区的栈顶和由BP所指定的堆栈段中某一个数据区的首地址是两个不同的意思。

31.下列有关指令指针寄存器的说法中,正确的是( )。
A.IP存放当前正在执行的指令在代码段中的偏移地址
B.IP存放下一条将要执行的指令在代码段中的偏移地址
C.IP存放当前正在执行的指令在存储器中的物理地址
D.IP存放当前正在执行的指令在存储器中的段地址

IP(指令指针寄存器)中含有BIU(总线接口单元)要取的下一条指令的偏移地址,IP在程序运行中能自动加一修正,使之指向要执行的下一条指令。

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值