(5) PUSH CH (6) POP CS (7) ADD ES,AX (8) MOV SS,CS (9) DEC BX (10) INC [BX] [解答]:
(1) 类型不一致; (2) 两个操作数的类型都不明确; (3) 正确; (4) 立即数不能直接送段寄存器; (5)栈操作是字操作,不能进行字节操作;
(6) POP指令的操作数不能是CS;
(7)段寄存器仅能做MOV指令和栈操作指令的操作数,不能作累加器; (8)段寄存器间不能传送; (9) 正确;
(10)类型不明确,不知是字加1,还是字节加1。 4、 写出MOV AH,[BX+DI+50H]的机器语言编码。
5、 写出ADD AX,[BX+DI+0826H]的机器语言编码。
此指令的存储器有效地址EA=BX+DI+0826H, 其指令功能是(EA)+(AX)→AX中。
6、 写出指令MOV[BX+DI-8],CL的机器语言编码(假设在80386/80486上是16位操作)。
这条指令可用符号写成MOV mem, reg的形式,源操作数是寄存器寻址,目的数是
存储器寻址方式,故此指令的编码形式为:
由于目的数是存储器寻址,D=0和reg域指定了源寄存器。CL寄存器的reg编码是001B,它与W=0一起表示一个8位操作数。至此编码又可进一步写成如下形式:
取r/m的值为001B,是对[BX+DI+disp]的寻址计算。位移量disp8的范围是在-128到+127之间,-6为FAH。当mod=01B时, 为选取8位位移量, 则指令MOV[BX+DI-6], CL的完整编码如下:
第4章 存储器和高速缓存技术
1、微型计算机中存储器分成哪几个等级?它们各有什么特点?用途如何? [解答] 微型计算机中存储器分为外部存储器和内部存储器。外存容量大,但存取速度慢,且cpu使用外存信息时需先把信息送到内存中。内存容量小,存取速度快,其信息cpu可直接使用,故外存存放相对来说不经常使用的程序和数据。另外,外存总是和某个外部设备有关。内存容纳当前正在使用的或者经常使用的程序和数据。
2、什么是直接寻址范围?地址线的多少与它有什么关系?
[解答] 直接寻址范围就是利用地址线可寻址的最大地址范围,以地址线的位数为指数,以2为底数的幂为最大直接寻址范围。
3、根据你对CPU和各种存储器的了解,一个微型计算机是如何开始工作的? [解答] 计算机工作时,一般先由ROM(Read Only Memory,只读存储器)中的引导程序,启动系统,再从外存中读取系统程序和应用程序,送到内存的RAM(Random Access Memory,随机存取存储器)中。在程序的运行过程中,中间结果一般放在内存RAM中,程序结束时,又将结果送到外存。
4、存储器的存取时间是什么意思?它在系统设计时有什么实际意义?
[解答] 存储器的存取时间是指存储器接收到稳定的地址输入到完成操作的时间,系统设计时可以据此考虑数据传输、总线的选择和时序安排。 5、什么是随机存储器?它在系统中起什么作用?
[解答] 随机存取是指对所有的存储单元都可以用同样的时间访问,起到暂时保存中间结果和运行的程序。
6、什么是只读存储器?它在系统中起什么作用?
[解答] 存储器被写入后,只能被读出而不能用通常的办法重写或改写,以保存启动程序和部分固化系统程序段作用。
7、RAS、CAS信号有什么用?请画一个原理图并说明它们是如何产生的? [解答] RAS和CAS是提供给外部RAM的行地址和列地址的选通信号。图见课本
P175。
8、EPROM在写入和读出时所加的信号和电压有什么不同?
[解答] EPROM读出时,Vpp和Vcc接5v电压,芯片允许信号(片选信号)CE必须在地址稳定以后有效,才能保证读得所需单元的数据。写入即编程方式下,Vcc仍加5v电压,但Vpp按厂家要求加上21—25v的电压,必须在地址和数据稳定之后,才能加上编程脉冲。
9、8086CPU在组织系统时,为什么要把存储器分为奇和偶两个体?如何实现这种控制?由此推想,对32位CPU应该有几个控制信号,才能保证单字节,双字节和一个等寻址都能进行的要求?
[解答] 8086的数据总线16位,但1个内存单元中存放的数是8位,为了一次对2个单元进行访问,要把存储器分为奇和偶两个体。每个内存单元都一个地址,要访问2个单元时,从偶存储器开始,可用一个控制信号来选择。那么,对32位CPU有32位地址总线,分为4个存储体,应该有4个控制信号,才能保证单字,双字节和一个等寻址都能进行的要求。(详见P185)
10、计算机的内存有什么特点?内存由哪两部分组成?外存一般是指哪些设备?外存有什么特点?
[解答] 内存特点:快速存取,容量受限制。内存分为RAM和ROM。外存有软盘、硬盘、盒式磁带和光盘。外存特点:大容量,所存信息既可修改又可保存,但外存速度比较慢,要配置专用设备。
11、用存储器件组成内存时,为什么总是采用矩阵形式?请用一个具体例子说
明。
[解答] 简化选择内存单元的译码电路,通过行选择线和列选择线来确定一个内存单元,因而用存储器组成内存时,总是采用矩阵形式。比如,要组成1K字节的内容,如果不用矩阵来组织这些单元,而是将它们一字排开,那么就要1024条译码线才能实现对这些单元的寻址。如果用32*32的矩阵来实现排列,那么,就只要32条行选择线和32条列选择线就可以了。
12、在选择存储器件时,最重要的考虑因素是什么?此外还应考虑那些因素? [解答] 最重要的因素是存储容量(位容量)。此外,还应考虑易失性、只读性、速度、功耗、可靠性、价格等。
13、什么叫静态RAM?静态RAM有什么特点?
[解答] 不需要进行周期性刷新的既可读又可写的存储器。其特点如下:(1)优点:不需要进行刷新,简化了外部电路。(2)缺点:①静态RAM基本存储电路中包含的管子数目比较多,导致一个器件的位容量比采用类似设计方法的非静态RAM要少。②静态RAM基本存储电路中2个交叉耦合的管子总有1个处于导通状态,所以会持续地消耗功率,导致静态RAM的功耗比较大。
14、静态RAM芯片上为什么往往只有写信号而没有读信号?什么情况下可以从芯片读得数据?