第1章基础知识1.1 进制变换(153.375)10=(10011001.011)2=(231.3)8=(99.6)16;(369.5)10=(101110001.1)2=(561.4)8=(171.8)16(10000000)2=(128)10=(200)8=(80)161.2 计算:① 11110000B=( 360Q )8=( F0H )16 = (240D )10 ;1111111111111111B=( 177777Q )8=( FFFFH )16 = (65535D )10② 32AH =( 1100101010)2=(1452)8 = (810)10 ;FFFEH =(1111111111111110)2=(177776)8 = (65534)101.5 真值与机器数(设系统为8 位字长)⑴.已知补码求真值(有符十进制表示)① 11110000B 真值=-16② 00110110B 真值=+54 ⑵.已知真值求机器数X=-28 [X]原=10011100 [X]补=111001001.6 下列各数为十六进制表示的8位二进制数,请说明当它们被看作是用补码表示的带符号数时,它们所表示的十进制数是什么?(1)59H (2)B2H (3)73H (4)F4H答:(1)+89 (2)-78 (3) +115 (4) -12第2章基本电路2.1 ALU是什么部件?其主要功能是什么?答:ALU是算术逻辑单元,是进行算术和逻辑运算的部件,是运算器的基本电路。
2.3 N位地址的存储器其容量是多少?若某动态存储器芯片有行、列地址各12位,该芯片的存储单元数是多少?若系统中需组成一个256K字节的RAM,选用128K×4位的芯片,需要多少片?答:容量=2N。
行12位+列12位=地址共24位,容量=224=16M。
2.4 什么是总线?微型机采作总线结构有何好处?答:各部件之间信息的公共通道。
相对简单,成本低,具有良好的扩充性。
2.7 ROM和RAM使用上有何特点?比较DRAM和SRAM在速度、容量等方面的差异?答:ROM只读存储器:断电信息不掉失,只读。
RAM随机存取存储器,停电则失去记忆能力。
SRAM:静态RAM常用双极型晶体管触发器作为记忆元件(也有用MOSFET的),只要有电源加于触发器,数据即可长期保留。
DRAM:动态RAM则用电容及MOSFET作为记忆元件。
由于电容会漏电,因而常需“刷新”,这就是要求每隔2ms充电一次,为此还须另加一刷新电源。
第3章微机基本工作原理3.1 采用流水线的微处理器为何能提高指令的执行速率?答:采用流水线的微处理是靠流水线各级的并行操作来提高执行指令的速率。
如果按照指令的执行过程将CPU流水线功能单元划分成5级,即按照从内存取指→对指令译码分析→读取内存中操作数(指令需要操作数时)→执行指令→回写执行结果(必要时再次访问存储器)这样的步骤执行指令,采用一定的技术使每个步骤执行时间大致相等,能实现5级流水,这样流水线每个时钟周期可以执行一条指令,将大大提高CPU的工作效率。
当然这样的细分是建立在硬件速度发展的基础上的,实际上,直到80486才真正实现了5级流水。
3.2 为何要在微机中引入CACHE技术?现代微型机中哪些地方使用了CACHE?什么叫命中?CACHE的作用是什么?CACHE主要靠什么使它能发挥作用的?答:由于微处理器的工作速度快速发展,使得与微处理器连接的数据部件速度滞后于微处理器,还有象内存的速度也比外存快了很多。
为减少慢速部件对快速部件性能的影响,引入CACHE。
现代微型机中主要在CPU与内存之间(如pentium中的L1/L2 CACHE)、内存与外存之间(如硬盘/光驱中的CACHE)使用了CACHE。
如CPU要读取某内存单元的数据,而该单元的数据已经在CACHE中时为命中;如CPU与内存间CACHE的作用:提高了CPU访问内存的等效速率; CACHE主要靠①未命中时内存到CACHE间的数据块传送,提高CACHE 的命中率;②命中时CPU与CACHE间的高速传送来使它能发挥作用的。
第4章 16位微处理器4.1 从功能上,8086可以分为哪两个部分?这种逻辑划分对提高CPU的执行速度有什么意义?答:从功能上看, 8086 CPU分为执行单元(EU)和总线接口单元(BIU)两部分。
BIU为EU完成全部的总线操作,根据EU的命令控制数据在CPU和存储器或I/O接口之间传送。
BIU由下面的五种功能单元组成:(1) 段寄存器(均为16位)CS:代码段寄存器,存放程序段地址;DS:数据段寄存器,存放数据段地址;ES:扩展段寄存器,存放辅助数据段地址;SS:堆栈段寄存器,存放堆栈段地址。
(2) 指令指针寄存器(16位) IP寄存器用于存放程序段的偏移量。
(3) 地址加法器(20位)地址加法器用于根据逻辑地址计算20位物理地址。
(4) 6字节的指令队列:指令队列可存放多条指令,用于指令预取。
(5) I/O控制电路实现I/O的控制逻辑,产生相应的控制信号。
执行单元EU从BIU的指令队列得到指令以后,完成对指令的译码、执行并回写结果。
当EU需要操作数时,便申请BIU 访问存储器并向BIU提供段偏移地址。
此外它还具有管理寄存器等功能。
EU由以下单元组成:(1) 通用寄存器(16位)AX:用作累加器;BX:一般用作基址寄存器;CX:常常作为计数器;DX:多用作辅助累加器AX、BX、CX和DX都是16位寄存器,可是它们都可以分别作为2个8位寄存器使用。
(2) 专用寄存器(16位)BP:基数指针寄存器;SP:堆栈指针寄存器;SI:源变址寄存器;DI:目的变址寄存器。
(3) 标志寄存器Flag(16位)。
(4) 算术逻辑单元ALU。
执行单元的控制电路EU和BIU协同工作,形成指令级的流水线。
EU总是从指令队列的队首得到指令。
BIU在EU执行指令的同时,不断从存储器顺序读取一条或多条指令,陆续将指令队列添满。
这样,EU就可以连续执行指令,实现指令级的流水作业,大大提高了CPU 的工作效率。
4.6 段地址和偏移地址为3017:000A的存储单元的物理地址是什么?如果段地址和偏移地址是3015:002A和3010:007A呢?如果在一个程序开始执行以前(CS)=0A7F0H(当十六进制数的最高位为字母,则应在其前加一个0),(IP)=2B40H,试问该程序的第一个字的物理地址是多少?答:3017:000A的存储单元物理地址是3017AH,3015:002A的存储单元物理地址是3017AH,3010:007A的存储单元的物理地址是3017AH。
该程序的第一个字的物理地址是0AAA40H。
4.9 中断类型为208的中断向量放在哪几个内存单元?如果它的中断处理程序入口地址是4030:2010,那么这些内存单元的内容是什么?答:类型号为208的中断所对应的中断向量存放在0000:0340H开始的4字节单元中,0340H 是由4×208=832(340H)得到的。
在中断向量表里,每个中断向量占4个字节单元。
其中,前两个字节存放中断处理程序入口地址的偏移量IP,低位在前,高位在后。
后2个字节存放中断处理程序入口地址的段地址CS,同样也是低位在前,高位在后。
因此0340H、0341H、0342H、 0343H这4个字节中的值分别为10H、20H、30H、40H。
4.15 保存当前栈顶地址的寄存器:(D)A.SI B.DI C.BP D.SP4.16 INT 29H中断的中断向量所在的向量表单元地址是:(D)A.0:0029H B.CS:0029H C.0:0164H D.0:00A4H4.17指出下一条将要执行的指令地址的是:(D)A.标号 B.SP C.伪指令 D.IP4.18指出指令操作结果的标志是:(D)A.IP B.SP C.ALU D.状态标志4.19逻辑段的起始地址称为:(A)A.段地址 B.代码段 C.附加段 D.标号4.20存放指令的存储区是:(B)A.堆栈 B.代码段 C.附加段 D.变量4.21进行算术和逻辑运算的单元是:(C)A.代码段 B.数据段 C.ALU D.BIU4.22 8086CPU的可屏蔽中断请求引脚信号是:(B)A.NMI B.INTR C.INTA D.LOCK4.23 CPU和主存之间的高速缓存Cache的主要作用是:(D)A.提高CPU的工作速率 B.扩大主存容量C.提高CPU访问外存的速度 D.提高CPU访问主存的等效速4.24各逻辑段的起始地址保存在( A )寄存器中。
A.段寄存器 B. 通用寄存器 C.指针寄存器 D. 数据寄存器4.25 8086CPU引脚信号:DEN#=0,DT/R#=1表示数据总路线上的数据的流向是:(A)A. CPU向其它器件B.其它器件向CPUC.总线高阻D.存储器向端口4.26 86CPU引脚信号ALE=1时的操作是:(C)A.总线收发器断B.总线收发器接收C.地址锁存器输入D. 8288工作4.27 计算机中用来存储程序、数据等信息的记忆装置是:(D)A.控制器 B. 运算器 C. CPU D.存储器4.28在计算机中,按先进后出方式工作的存储空间是:(D)A.存储器 B.RAM C.ROM D. 堆栈4.29 8086最大工作模式是设置引脚为:(D)A.NMI=1 B.INTR=1 C.MN/MX#=1 D.MN/MX#=04.30 8086CPU提供ALE信号的是因为:(C)A.地址要驱动 B.数据要驱动 C.地址与数据引脚总线复用 D.有20位地址第5章 86系列微机指令系统5.1 在实模式下,存储器中每一段最多可有64KB个字节。
如果用调试程序Debug的r命令在终端上显示出当前各寄存器的内容如下,请问①当前的栈顶(逻辑)地址?②当前的指令(逻辑)地址?若使用串指令,③问源串(逻辑)首地址?④的串(逻辑)首地址?⑤目串长度(字节)?以及条件标志OF、SF、ZF、CF的值。
C>debug-rAX=0000 BX=0000 CX=0079 DX=0000 SP=FFEE BP=0000 SI=0010 DI=0300DS=10E4 ES=10F4 SS=21F0 CS=31FF IP=0100 NV UP DI PL NZ NA PO NC答 :条件标志OF、SF、ZF、CF的值依次分别为0、0、0、0.5.7 如TABLE为数据段中5432H字单元地址的符号名,其中存放的内容为4567H,试问以下两条指令执行完后,AX寄存器的内容是什么?(1)MOV AX,TABLE(2)LEA AX,TABLE答:AX=4567HAX=5432H5.11 试编写一个程序求出双字长数的绝对值。