微机原理总结

1.8086CPU由哪两部分构成?它们的主要功能是什么?

答:8086CPU由两部分组成:指令执行部件(EU)和总线接口部件(BIU) 指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。

2.8086CPU预取指令队列有什么好处?8086CPU内部的并行操作体现在哪里?

答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。

8086CPU内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。

3.8086CPU中有哪些寄存器?各有什么用途?

答:指令执行部件(EU)设有8个16位通用寄存器AX、BX、CX、DX、SP、BP、SI、DI,主要用途是保存数据和地址(包括内存地址和I/O端口地址)。其中AX、BX、CX、DX主要用于保存数据,BX可用于保存地址,DX还用于保存I/O端口地址;BP、SI、DI主要用于保存地址;SP用于保存堆栈指针。

标志寄存器FR用于存放运算结果特征和控制CPU操作。

BIU中的段寄存器包括CS、DS、ES、SS,主要用途是保存段地址,其中CS代码段寄存器中存放程序代码段起始地址的高16位,DS数据段寄存器中存放数据段起始地址的高16位,SS堆栈段寄存器中存放堆栈段起始地址的高16位,ES扩展段寄存器中存放扩展数据段起始地址的高16位。

指令指针寄存器IP始终存有相对于当前指令段起点偏移量的下一条指令,即IP总是指向下一条待执行的指令。

5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个?逻辑地址呢? 答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址相加形成物理地址。具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。 由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。逻辑地址由段基址和偏移地址两部分构成,都是无符号的16位二进制数,程序设计时采用逻辑地址,也是1MB。

6.8086系统中的存储器为什么要采用分段结构?有什么好处?

答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址,在8086系统中,

就是由段基址和偏移地址两部分构成。这两个地址都是16位的,将这两个地址采用相加的方式组成20位地址去访问存储器。 在8086系统的地址形成中,当段地址确定后,该段的寻址范围就已经确定,其容量不大于64KB。同时,通过修改段寄存器内容,可达到逻辑段在整个1MB存储空间中浮动。各个逻辑段之间可以紧密相连,可以中间有间隔,也可以相互重叠(部分重叠,甚至完全重叠)。采用段基址和偏移地址方式组成物理地址的优点是:满足对8086系统的1MB存储空间的访问,同时在大部分指令中只要提供16位的偏移地址即可。

7.8086存储器中存放数据字时有“对准字”和“非对准字”之分,请说明它们的差别。 答:一个16位的数据字是按照低地址存放低位数据、高地址存放高位数据来存放的。若16位数据的低8位存放在偶地址,则该数据字就是“对准字”,否则就是“非对准字”。主要差别是CPU读取和存储数据字时,如果是对准字,只需要一次读写操作即可,而非对准字就需要两次读写操作才能实现一个数据字的存取。

9.在某系统中,已知当前(SS)=2360H,(SP)=0800H,那么该堆栈段在存储器中的物理地址范围是什么?若往堆栈中存入20个字节数据,那么SP的内容为什么值?

答:(SS)×10H+(SP)=23600H+0800H=23E00H,堆栈段在存储器中的物理地址范围是23600H~23E00H。若往堆栈中存入20个字节数据,那么SP的内容为0800H-14H=07ECH。(20的十六进制为14H)。

10.已知当前数据段位于存储器的B4000H到C3FFFH范围内,则段寄存器DS的内容为多少? 答:段寄存器DS的内容为B4000H。

11.8086系统中为什么一定要有地址锁存器?需要锁存哪些信息?

答:由于8086CPU受芯片封装的限制,只有40个管脚,所以地址线和数据线只能采用复用的方式共同使用某些管脚。对存储器进行访问时,在读取数据或写入数据时,存储器芯片要求在这个过程中地址信息必须稳定提供给存储器,而由于8086CPU地址线和数据线是复用的,就不可能在同一时刻具有地址和数据的两种功能。这就需要在CPU提供地址信息时,将地址锁存起来,以保证下一个时刻当这些复用的管脚起着数据线的功能时,存储器有正确的地址信息。要锁存的信息包括这些复用管脚的地址和BHE等信号。

12.8086读/写总线周期各包括最少几个时钟周期?什么情况下需要插入等待周期TW?插入多少个TW取决于什么因素?

答:8086读/写总线周期各包括最少四个时钟周期。在系统中增加等待周期TW的一般情况是:当CPU提供了地址后,由于外设或存储器的读出或写入时间较慢,不能与CPU的速度匹配,就需要插入等待周期TW,等待CPU能从外设或存储器将数据正确地读出或写入为止。显然,插入的等待周期TW的个数取决于外设或存储器的取出或写入时间。 第4章 8086汇编语言程序设计

1.编写8086汇编语言程序,将寄存器AX的高8位传送到寄存器BL,低8位传送到寄存器DL。 答:CODE SEGMENT

ASSUME CS:CODE

START: MOV BL,AH MOV DL,AL MOV AX,4C00H INT 21H CODE ENDS

END STAR 2.将寄存器DX的内容按从低位到高位的顺序分成4组,并将各组数分别送到寄存器AL,BL,CL和DL中。(例如:(DX)=0ABCDH,分成四组(DL)=0AH,(CL)=0BH,(BL)=0CH,(AL)=0DH) 答:CODE SEGMENT ASSUME CS:CODE START: MOV AX,DX AND AL,0FH MOV BL,DL MOV CL,4

SHR BL,CL AND AH,0FH MOV CL,4 SHR DH,CL MOV CL,AH

MOV AH,4CH INT 21H

CODE ENDS END START 4.试统计9个数中偶数的个数,并将结果在屏幕上显示。

答:DATA SEGMENT

BUFF DB 3BH,47H,8DH,-75,0AH,69,-2EH,0CCH,200

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA MOV DS,AX MOV SI,OFFSET BUFF MOV CX,9 XOR DL,DL A1: SHR BYTE PTR [SI],1 JC NEXT INC DL

NEXT: INC SI LOOP A1 ADD DL,30H MOV AH,2 MOV AX,4C00H INT 21H CODE ENDS END START

5.试将一串16位无符号数加密,加密方法是每个数乘以2。(不考虑进位)答:DATA SEGMENT MEM DW 20 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV CX,LENGTH MEM LEA BX,MEM AA1: MOV AX,[BX]

ADD AX,AX ;或MUL AX,2 或SHL AX,1或SAL AX,1

MOV [BX],AX ADD BX,2 LOOP AA1 MOV AX,4C00H INT 21H CODE ENDS

END START 第五章 存储器原理与接口

2.什么是RAM和ROM? RAM和ROM各有什么特点? 答:RAM是随机存储器,指计算机可以随机地、个别地对各个存储单元进行访问,访问所需时间基本固定,与存储单元的地址无关。ROM是只读存储器,对其内容只能读,不能写入。与RAM相比,其信息具有非易失性,即掉电后,ROM中的信息仍会保留。

3.什么是多层次存储结构?它有什么作用?

答:存储器的性能是计算机性能的最主要指标之一,其目标是大容量、高速度和低成本,因此应该在系统结构的设计上扬长避短,采用多层存储结构构成一个较为合理的存储系统。多层存储结构是一个金字塔的结构,距塔尖(即CPU)越近速度越快,容量越小,单位价格也较贵;反之速度较慢,容量较大,单位价格也较便宜。其作用是获得最佳性价比。

5.主存储器的主要技术指标有哪些?

答:主存储器的主要技术指标有主存容量、存储器存取时间、存储周期和可靠性。 7.若用1K×1位的RAM芯片组成16K×8位的存储器,需要多少片芯片?在CPU的地址线中有多少位参与片内寻址?多少位用做芯片组选择信号? 答:要128片。A1~A9共10位参与片内寻址,其余可用于片选信号。

第七章

5.在某应用系统中,计数器/定时器8253地址为310H~316H,定时器0作为分频器(N为分频系数),定时器2作为外部事件计数器,编写初始化程序框架。

答:MOV DX,316H MOV AL,控制字

OUT DX,AL

MOV DX,310H

MOV AL,分频系数低8位

OUT DX,AL

MOV AL,分频系数高8位 OUT DX,AL

MOV DX,316H MOV AL,控制字 OUT DX,AL

MOV DX,314H

MOV AL,计数常数低8位 OUT DX,AL

MOV AL,计数常数高8位 OUT DX,AL

 

第二篇:微机原理总结

微机原理总结

08通信(1)班 汪海云 0805070178

继对计算机语言的学习,我开始学习了计算机的硬件部分——《微型计算机与接口技术》。这门课程是我以前从未接触过的一门课程,微型计算机系统包括运算器、控制器、存储器、输入设备和输出设备五个组成部分,其工作原理是存储器存储程序控制原理。

学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系,其中微处理器是微型计算机的重要组成部分。

Intel8086CPU是目前最常用的微处理器,其内部结构包含两大部分:指令执行单元和总线接口单元,我们要特别注意存储器地址的分段和物理地址的分段。8086的寻址方式主要有立即寻址方式、寄存器寻址方式、直接寻址方式、寄存器间接寻址方式、寄存器相对寻址方式、基址变址寻址方式、相对基址变址寻址方式等等。8086的指令系统主要有数据传送指令、算术运算指令、逻辑运算和移位指令、字符串指令、控制转移指令以及处理器控制指令。

在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始,那么学习高级语言也当然应当从汇编开始。在汇编时,我们要注意汇编语言的格式,即注意指令性语句和伪指令语句的书写,对于伪指令语句有如下几种类型:数据定义语句DB,DW,DD等等、标号赋值语句EQU,=、段定义语句SEGMENT?ENDS、段分配语句ASSUME、过程定义语句PROC?ENDP、过程开始结束语句ORG,END,以上这些语句经常使用,没有这些伪指令,汇编程序不能得到正确的汇编结果。

学习汇编语言实际上是培养了学习计算机语言的能力和素养。个人认为,学习汇编语言对学习其他语言很有促进作用。汇编语言在微机学习中有核心地位。

本学期微机原理课程内容繁多,还学习了可编程的计数/定时的8253,可编程的外围接口芯片8255A等。8253内部包含数据总线缓冲器、读/写控制逻辑、控制字寄存器和3个结构完全相同的计数器,这3个计数器分别称为计数器0、计数器1和计数器2。8253的初始化编程步骤为:1)写入控制字、2)写入计数初值。8253有6种不同的工作方式:方式0-计数结束中断方式、方式1-可编程单稳态输出方式、方式2-比率发生器、方式3-方波发生器、方式4-软件触发选通、方式5-硬件触发选通。使用8253时,先要根据实际需要设计硬件电路,然后用输出指令向有关通道写入相应的控制字和计数初值,对8253进行初始化编程,这样8253就可以工作了。8255A由以下几个部分组成:数据端口A、B、C,A组和B组控制逻辑,数据总线缓冲器和读/写控制逻辑。8255A有两类控制字,一类控制字用于定义各端口的工作方式,称为方式选择控制字;另一类控制字用于对C端口的任一位进行置位或复位操作,称为置位复位控制字。

理论知识的学习毕竟是不能带来质的飞跃,所以对于这门课程加以实验的辅导,是非常必须的,通过实验,我可以将理论知识运用到实际当中,可以看到一个正确代码的运行,究竟会出现什么样的结果。总之,我认为,在学习中要考虑到“学以致用”,不能过分强调课程的系统性和基本理论的完整性,而应该侧重于基本方法和应用实例。从微机应用系统的应用环境和特点来看,微机系统如何与千变万化的外部设备、外部世界相连,如何与它们交换信息,是微机系统应用中的关键所在,培养一定的微机应用系统的分析能力和初步设计能力才是最终目的!

总之,我对于这门课程的学习我不光是知识上的吸收,在程序编写方面也有了较大的提高。最后,我要感谢本课程的授课老师—丁老师,因为您的正确教导及特别负责的教学,让我对这门课程有了浓厚的兴趣,而且你不光是针对上课而上课,你还向我们分析了本专业的一些基本情况,以及本专业未来的走向,还有本专业的人才需求,这会为我以后的就业提供了一个启蒙,非常感谢。

 

第三篇:微机原理总结

1.8086CPU由哪两部分构成?它们的主要功能是什么?

答:8086CPU由两部分组成:指令执行部件(EU)和总线接口部件(BIU) 指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。

2.8086CPU预取指令队列有什么好处?8086CPU内部的并行操作体现在哪里?

答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。

8086CPU内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。

3.8086CPU中有哪些寄存器?各有什么用途?

答:指令执行部件(EU)设有8个16位通用寄存器AX、BX、CX、DX、SP、BP、SI、DI,主要用途是保存数据和地址(包括内存地址和I/O端口地址)。其中AX、BX、CX、DX主要用于保存数据,BX可用于保存地址,DX还用于保存I/O端口地址;BP、SI、DI主要用于保存地址;SP用于保存堆栈指针。

标志寄存器FR用于存放运算结果特征和控制CPU操作。

BIU中的段寄存器包括CS、DS、ES、SS,主要用途是保存段地址,其中CS代码段寄存器中存放程序代码段起始地址的高16位,DS数据段寄存器中存放数据段起始地址的高16位,SS堆栈段寄存器中存放堆栈段起始地址的高16位,ES扩展段寄存器中存放扩展数据段起始地址的高16位。

指令指针寄存器IP始终存有相对于当前指令段起点偏移量的下一条指令,即IP总是指向下一条待执行的指令。

5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个?逻辑地址呢? 答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址相加形成物理地址。具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。 由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。逻辑地址由段基址和偏移地址两部分构成,都是无符号的16位二进制数,程序设计时采用逻辑地址,也是1MB。

6.8086系统中的存储器为什么要采用分段结构?有什么好处?

答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址,在8086系统中,

就是由段基址和偏移地址两部分构成。这两个地址都是16位的,将这两个地址采用相加的方式组成20位地址去访问存储器。 在8086系统的地址形成中,当段地址确定后,该段的寻址范围就已经确定,其容量不大于64KB。同时,通过修改段寄存器内容,可达到逻辑段在整个1MB存储空间中浮动。各个逻辑段之间可以紧密相连,可以中间有间隔,也可以相互重叠(部分重叠,甚至完全重叠)。采用段基址和偏移地址方式组成物理地址的优点是:满足对8086系统的1MB存储空间的访问,同时在大部分指令中只要提供16位的偏移地址即可。

7.8086存储器中存放数据字时有“对准字”和“非对准字”之分,请说明它们的差别。 答:一个16位的数据字是按照低地址存放低位数据、高地址存放高位数据来存放的。若16位数据的低8位存放在偶地址,则该数据字就是“对准字”,否则就是“非对准字”。主要差别是CPU读取和存储数据字时,如果是对准字,只需要一次读写操作即可,而非对准字就需要两次读写操作才能实现一个数据字的存取。

9.在某系统中,已知当前(SS)=2360H,(SP)=0800H,那么该堆栈段在存储器中的物理地址范围是什么?若往堆栈中存入20个字节数据,那么SP的内容为什么值?

答:(SS)×10H+(SP)=23600H+0800H=23E00H,堆栈段在存储器中的物理地址范围是23600H~23E00H。若往堆栈中存入20个字节数据,那么SP的内容为0800H-14H=07ECH。(20的十六进制为14H)。

10.已知当前数据段位于存储器的B4000H到C3FFFH范围内,则段寄存器DS的内容为多少? 答:段寄存器DS的内容为B4000H。

11.8086系统中为什么一定要有地址锁存器?需要锁存哪些信息?

答:由于8086CPU受芯片封装的限制,只有40个管脚,所以地址线和数据线只能采用复用的方式共同使用某些管脚。对存储器进行访问时,在读取数据或写入数据时,存储器芯片要求在这个过程中地址信息必须稳定提供给存储器,而由于8086CPU地址线和数据线是复用的,就不可能在同一时刻具有地址和数据的两种功能。这就需要在CPU提供地址信息时,将地址锁存起来,以保证下一个时刻当这些复用的管脚起着数据线的功能时,存储器有正确的地址信息。要锁存的信息包括这些复用管脚的地址和BHE等信号。

12.8086读/写总线周期各包括最少几个时钟周期?什么情况下需要插入等待周期TW?插入多少个TW取决于什么因素?

答:8086读/写总线周期各包括最少四个时钟周期。在系统中增加等待周期TW的一般情况是:当CPU提供了地址后,由于外设或存储器的读出或写入时间较慢,不能与CPU的速度匹配,就需要插入等待周期TW,等待CPU能从外设或存储器将数据正确地读出或写入为止。显然,插入的等待周期TW的个数取决于外设或存储器的取出或写入时间。 第4章 8086汇编语言程序设计

1.编写8086汇编语言程序,将寄存器AX的高8位传送到寄存器BL,低8位传送到寄存器DL。 答:CODE SEGMENT

ASSUME CS:CODE

START: MOV BL,AH MOV DL,AL MOV AX,4C00H INT 21H CODE ENDS

END STAR 2.将寄存器DX的内容按从低位到高位的顺序分成4组,并将各组数分别送到寄存器AL,BL,CL和DL中。(例如:(DX)=0ABCDH,分成四组(DL)=0AH,(CL)=0BH,(BL)=0CH,(AL)=0DH) 答:CODE SEGMENT ASSUME CS:CODE START: MOV AX,DX AND AL,0FH MOV BL,DL MOV CL,4

SHR BL,CL AND AH,0FH MOV CL,4 SHR DH,CL MOV CL,AH

MOV AH,4CH INT 21H

CODE ENDS END START 4.试统计9个数中偶数的个数,并将结果在屏幕上显示。

答:DATA SEGMENT

BUFF DB 3BH,47H,8DH,-75,0AH,69,-2EH,0CCH,200

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA MOV DS,AX MOV SI,OFFSET BUFF MOV CX,9 XOR DL,DL A1: SHR BYTE PTR [SI],1 JC NEXT INC DL

NEXT: INC SI LOOP A1 ADD DL,30H MOV AH,2 MOV AX,4C00H INT 21H CODE ENDS END START

5.试将一串16位无符号数加密,加密方法是每个数乘以2。(不考虑进位)答:DATA SEGMENT MEM DW 20 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV CX,LENGTH MEM LEA BX,MEM AA1: MOV AX,[BX]

ADD AX,AX ;或MUL AX,2 或SHL AX,1或SAL AX,1

MOV [BX],AX ADD BX,2 LOOP AA1 MOV AX,4C00H INT 21H CODE ENDS

END START 第五章 存储器原理与接口

2.什么是RAM和ROM? RAM和ROM各有什么特点? 答:RAM是随机存储器,指计算机可以随机地、个别地对各个存储单元进行访问,访问所需时间基本固定,与存储单元的地址无关。ROM是只读存储器,对其内容只能读,不能写入。与RAM相比,其信息具有非易失性,即掉电后,ROM中的信息仍会保留。

3.什么是多层次存储结构?它有什么作用?

答:存储器的性能是计算机性能的最主要指标之一,其目标是大容量、高速度和低成本,因此应该在系统结构的设计上扬长避短,采用多层存储结构构成一个较为合理的存储系统。多层存储结构是一个金字塔的结构,距塔尖(即CPU)越近速度越快,容量越小,单位价格也较贵;反之速度较慢,容量较大,单位价格也较便宜。其作用是获得最佳性价比。

5.主存储器的主要技术指标有哪些?

答:主存储器的主要技术指标有主存容量、存储器存取时间、存储周期和可靠性。 7.若用1K×1位的RAM芯片组成16K×8位的存储器,需要多少片芯片?在CPU的地址线中有多少位参与片内寻址?多少位用做芯片组选择信号? 答:要128片。A1~A9共10位参与片内寻址,其余可用于片选信号。

第七章

5.在某应用系统中,计数器/定时器8253地址为310H~316H,定时器0作为分频器(N为分频系数),定时器2作为外部事件计数器,编写初始化程序框架。

答:MOV DX,316H MOV AL,控制字

OUT DX,AL

MOV DX,310H

MOV AL,分频系数低8位

OUT DX,AL

MOV AL,分频系数高8位 OUT DX,AL

MOV DX,316H MOV AL,控制字 OUT DX,AL

MOV DX,314H

MOV AL,计数常数低8位 OUT DX,AL

MOV AL,计数常数高8位 OUT DX,AL

相关推荐