状态标志:SF、ZF、OF、AF、PF和CF,反映运算结果的状态特征。
控制标志:IF、DF和TF,对可屏蔽中断、字符串操作指针变换方向和单步运行起控制 作用。
物理地址:指存储器中存储单元的实际地址编码,是一种绝对地址,是CPU访问存储 器的实际寻址地址,对于8086系统,地址范围为00000H~FFFFFH。
逻辑地址:由段基址和偏移地址组成,均为无符号的16位二进制数,程序设计时采用 逻辑地址,可由逻辑地址变换为物理地址,物理地址=段基址×16+偏移地址。
机器语言:直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代
码,计算机可以直接识别,不需要进行任何翻译。每台机器的指令,其格式和代码所代表的 含义都是硬性规定的,故称之为面向机器的语言,也称为机器语言,是第一代计算机语言。 汇编语言:使用助记符表示的二进制代码指令语言,是一种符号化的机器语言,必须 经编译程序将汇编语言编译成机器语言,计算机才能识别。
指令:能被计算机识别并执行的二进制代码,规定了计算机能完成的某一操作。 内部总线:微处理器内部各个部件之间传送信息的通道。
系统总线:微处理机机箱内的底板总线,用来连接构成微处理机的各个插件板,如ISA 总线、EISA总线、PCI总线等。
5. 要完成下述运算或控制,用什么标志位判别?其值是什么? (1)比较两数是否相等 (2)两数运算后结果是正数还是负数 (3)两数相加后是否溢出 (4)采用偶校验方式,判定是否要补1 (5)两数相减后比较大小 (6)中断信号能否允许 答:(1)ZF,两数相减,若ZF=1,则相等。 (2)SF,SF=1 则为负,否则为正
(3)对有符号数:OF,OF=1 为溢出;对无符号数:CF,CF=1 为溢出 (4)PF,PF=1,不补1
(5)对有符号数:无溢出时(OF=0),如 ZF=1,则两数相等;如 ZF=0且 SF=0,则 被减数大;如 ZF=0 且 SF=1,则减数大; 有溢出时(OF=1),如 SF=1,则被减数大;如 SF=0,则减数大; 对无符号数:如 ZF=1,则两数相等;如 CF=0,则被减数大;如 CF=1, 则减数大
(6)IF,IF=1,允许中断
6. 8086系统中存储器采用什么结构?用什么信号来选中存储体?
答:8086系统中,存储器采用分体结构,1MB的存储空间分成两个存储体:偶地址存储体 和奇地址存储体,各为512KB。
使用A0和BHE来区分两个存储体。当A0=0时,选中偶地址存储体,与数据总线低8 位相连,从低8位数据总线读/写一个字节。
当BHE=0时,选中奇地址存储体,与数据总线高8位相连,从高8位数据总线读/写 一个字节。
当A0=0,BHE=0时,同时选中两个存储体,读/写一个字。
7. 用伪指令DB在存储器中存储ASCII码字符串“What time is it?”。并画出内存分布图。
答:
8. 用伪指令将下列16位二进制数存储在存储器中,并画出内存分布图。 (1)1234H (2)A122H (3)B100H 答: NUM DW 1234H,A122H,B100H
9. 段寄存器装入如下数据,写出每段的起始和结束地址。
(1)1000H (2)1234H (3)2300H (4)E000H (5)AB00H 答:(1)10000H~1FFFFH (2)12340H~2233FH (3)23000H~32FFFH (4)E0000H~EFFFFH (5)AB000H~BAFFFH
10. 根据下列CS:IP的组合,求出要执行的下一条指令的存储器地址。 (1)CS:IP=1000H:2000H (2)CS:IP=2000H:1000H (3)CS:IP=1A00H:B000H (4)CS:IP=3456H:AB09H 答:(1)12000H (2)21000H (3)25000H (4)3F069H 11. 求下列寄存器组合所寻址的存储单元地址:
(1)DS=1000H,DI=2000H (2)SS=2300H,BP=3200H (3)DS=A000H,BX=1000H (4)SS=2900H,SP=3A00H 答:(1)12000H (2)26200H (3)A1000H (4)2CA00H STR NUM
7850:0000
12. 若当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址,若此时入栈10个 字节,SP内容是什么?若再出栈6个字节,SP为什么值?
答:物理地址:35000H~35800H。入栈 10个字节后 SP为 7F6H。再出栈 6 个字节后 SP 为 7FCH。
13. 某程序数据段中存放了两个字,1EE5H和2A8CH,已知DS=7850H,数据存放的偏移 地址为3121H及285AH。试画图说明它们在存储器中的存放情况。若要读取这两个字,需 要对存储器进行几次操作?
答:1EE5H的存储物理地址=78500H+3121H=7B621H,为奇数,故若要读取这个字,需要 对存储器进行两次读操作。
2A8CH的存储物理地址=78500H+285AH=7AD5AH,为偶数,故若要读取这个字,只 需对存储器进行一次读操作。
14. 存储器中每段容量最多64K字节,若用debug调试程序中的r命令,在屏幕上有如下显 示:
C:>debug -r
AX=0000 BX=0000 CX=0079 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=10E4 ES=10F4 SS=21F0 CS=31FF IP=0100 NV UP DI PL NZ NA PO NC (1)试画出此时存储器分段示意图
(2)写出状态标志OF、SF、ZF、CF的值 答:(1)代码段首地址:31FF0H 当前指令地址:320F0H 数据段首地址:10E40H
堆栈段首地址:21F00H 堆栈段栈顶地址:31EEEH 附加段首地址:10F40H (2)OF=SF=ZF=CF=0
15. 说明8086系统中“最小模式”和“最大模式”两种工作方式的主要区别是什么? 答:为了便于组成不同规模的系统,在8086芯片中设计了两种工作模式,即最小模式和最 大模式。
最小模式用于单机系统,系统中所需要的控制信号全部由8086直接提供;最大模式用 于多处理机系统,系统中所需要的控制信号由总线控制器8288提供。
16. 8086系统中为什么要用地址锁存器?8282地址锁存器与CPU如何连接?
答:为了减少引脚的数量,8086CPU的地址引脚和数据引脚分时复用,为了保证在总线操 作周期中地址信号能有效而稳定的输出,必须使用地址锁存器。 7850:285A 7850:3121
由于8086有20条地址线,故需使用三片8282,其中OE接地,STB与CPU的ALE
相连,前两片8282的DI0~DI7分别与CPU的AD0~AD15相连,第三片8282的DI0~DI3分别
与CPU的AD16~AD19相连,DI4与CPU的BHE相连。 17. 哪个标志位控制CPU的INTR引脚?
答:IF,中断允许标志,IF=1时,允许可屏蔽中断,IF=0时,禁止可屏蔽中断。
18. 什么叫总线周期?在CPU读/写总线周期中,数据在哪个机器状态出现在数据总线上? 答:CPU完成一次存储器访问或I/O端口操作所需要的时间称为一个总线周期,由几个T 状态组成。在读/写总线周期中,数据在T2~T4状态出现在数据总线上。 19. 8284时钟发生器共给出哪几个时钟信号?
答:OSC:振荡器输出信号,是内部振荡电路的TTL电平输出,其频率与晶振的频率相等, 在PC/XT中,其频率为14.318MHz
CLK:三分频OSC后的时钟,输出频率为4.77MHz,占空比为1/3,供8086CPU使用。 PCLK:二分频CLK后的时钟,输出频率为2.38636MHz,TTL电平,占空比为1/2, 供PC/XT机的外设使用。
20. 8086CPU重新启动后,从何处开始执行指令?
答:重新启动后,CS=FFFFH,IP=0000H,故从物理地址为FFFF0H的位置开始执行指令。 21. 8086CPU的最小模式系统配置包括哪几部分? 答:8086最小模式系统配置包括:
8086CPU,存储器,I/O接口芯片,1片8284时钟发生器,3片8282地址锁存器,2片 8286双向数据总线收发器。 第五章
1. 静态RAM与动态RAM有何区别? 答:(1)静态RAM内存储的信息只要电源存在就能一直保持,而动态RAM的信息需要定 时刷新才能保持
(2)静态RAM的集成度比较低,运行速度快,而动态RAM的集成度高,运行相对较 慢
(3)静态RAM造价成本高,动态RAM价格便宜
2. ROM、PROM、EPROM、EEPROM在功能上各有何特点? 答:ROM是只读存储器,根据写入方式的不同可以分为四类:掩膜型ROM、PROM、EPROM 和EEPROM。
掩膜型ROM中信息是厂家根据用户给定的程序或数据,对芯片图形掩膜进行两次光刻 而写入的,用户对这类芯片无法进行任何修改。PROM出厂时,里面没有信息,用户采用 一些设备可以将内容写入PROM,一旦写入,就不能再改变了,即只允许编程一次。 EPROM可编程固化程序,且在程序固化后可通过紫外光照擦除,以便重新固化新数据。 EEPROM可编程固化程序,并可利用电压来擦除芯片内容,以重新编程固化新数据。 3. DRAM的CAS和RAS输入的用途是什么?
答:CAS为列地址选通信号,用于指示地址总线上的有效数据为列地址;RA行地址选 通信号,用于指示地址总线上的有效数据为列地址。
4. 什么是Cache?作用是什么?它处在微处理机中的什么位置?
答:Cache也称为高速缓存,是介于主存和CPU之间的高速小容量存储器。
为了减少CPU与内存之间的速度差异,提高系统性能,在慢速的DRAM和快速CPU
之间插入一速度较快、容量较小的SRAM,起到缓冲作用,使CPU既可以以较快速度存取 SRAM中的数据,又不使系统成本上升过高,这就是Cache的作用。
Cache在微处理机中的位置如下图:
5. 直接映像Cache和成组相联Cache的组成结构有什么不同?
答:直接映象 Cache 是将主存储器中每一页大小分成和 Cache 存储器大小一致,Cache中 每一块分配一个索引字段以确定字段,这样可以通过一次地址比较即可确定是否命中,但如 果频繁访问不同页号主存储器时需要做频繁的转换,降低系统性能;
成组相联Cache 内部有多组直接映象的 Cache,组间采用全关联结构,并行地起着高 速缓存的作用。访问时需要进行两次比较才能确定是否命中。
6. 为什么要保持Cache内容与主存储器内容的一致性?为了保持Cache与主存储器内容的 一致性应采取什么方法?
答:由于Cache的内容只是主存部分内容的拷贝,故应当与主存内容保持一致。数据不一致 问题通常是由于更新了Cache的数据而没有更新与其关联的存储器的数据,或更新了存储器 数据却没有更新Cache的内容所引起的。
为了保持Cache与主存储器内容的一致性,有两种写入策略: (1)通写法
在此方法中,当CPU写入数据到Cache中后,Cache就立即将其写入主存中,使主存
始终保持Cache中的最新内容。此方法简单,更新内容不会丢失,但每次对Cache的修改同 时要写入主存储器,总线操作频繁,影响系统性能。 (2)回写法
此方法中,Cache的作用好像缓冲区一样,当CPU写入数据到Cache中后,Cache并不 立即将其回写到主存中,而是等到系统总线空闲时,才将Cache中的内容回写到主存中,此 方法使得CPU可以持续运行而不必等待主存的更新,性能比通写法要提高很多,但其Cache 控制器复杂,价格高。
7. 用1024×1位的RAM芯片组成16K×8位的存储器,需要多少芯片?在地址线中有多少 位参与片内寻址?多少位组合成片选择信号?(设地址总线为16位)
答:由于所用的芯片为1024×1位,构成1024×8位(即1K×8位)的存储器需要8片, 因此组成16K×8位的存储器需要16×8=128片。 片内有1024个单元,需要10根地址线。
16组(每组8片)存储器需要16根片选信号,至少需要4根地址线经译码器输出。 8. 现有一存储体芯片容量为512×4位,若要用它组成4KB的存储器,需要多少这样的芯 片?每块芯片需要多少寻址线?整个存储系统最少需要多少寻址线? 答:4K×8 / 512×4=16片
每块芯片内有512个单元,故需要9根地址线 整个存储系统最少需要12根地址线
9. 利用1024×8位的RAM芯片组成4K×8位的存储器系统,试用A15~A12地址线用线性