微型计算机原理及应用知识点总结.docx
- 文档编号:9253449
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:49
- 大小:1.76MB
微型计算机原理及应用知识点总结.docx
《微型计算机原理及应用知识点总结.docx》由会员分享,可在线阅读,更多相关《微型计算机原理及应用知识点总结.docx(49页珍藏版)》请在冰豆网上搜索。
微型计算机原理及应用知识点总结
第一章计算机系统
一、微机系统的基本组成
1.微型计算机系统由硬件和软件两个部分组成。
(1)硬件:
①冯●诺依曼计算机体系结构的五个组成部分:
运算器,控制器,存储器,输入设备,输入设备。
其特点是以运算器为中心。
②现代主流的微机是由冯●诺依曼型改进的,以存储器为中心。
③冯●诺依曼计算机基本特点:
核心思想:
存储程序;
基本部件:
五大部件;
信息存储方式:
二进制;
命令方式:
操作码(功能)+地址码(地址),统称机器指令;
工作方式:
按地址顺序自动执行指令。
(2)软件:
系统软件:
操作系统、数据库、编译软件
应用软件:
文字处理、信息管理(MIS)、控制软件
二、系统结构
系统总线可分为3类:
数据总线DB(DataBus),地址总线AB(AddressBus),控制总线CB(ControlBus)。
根据总线结构组织方式不同,可分为单总线、双总线和双重总线3类。
总线特点:
连接或扩展非常灵活,有更大的灵活性和更好的可扩展性。
三、工作过程
微机的工作过程就是程序的执行过程,即不断地从存储器中取出指令,然后执行指令的过程。
★例:
让计算机实现以下任务:
计算100+100H=?
并将结果保存在16920H的字单元内。
编程运行条件:
CS=1000H,IP=100H,DS=1492H
将机器指令装入计算机的存储器
计算机自动地进行计算(执行)
计算机工作过程大致描述:
(1)分别从CS和IP寄存器中取出1000和100经地址加法器运算后,通过总线控制,找到对应地址的机器指令,第一条汇编指令的第一个机器指令为B8,对应的地址为10100H;将B8取出,通过总线和指令队列到达执行部分电路控制,给CPU发出信号。
(2)IP具有自动加1功能,所以,此时,分别从CS和IP寄存器中取出1000和101经地址加法器运算后,通过总线控制,找到对应地址的机器指令,第一条汇编指令的第二个机器指令为64,对应的地址为10101H;将64取出,通过总线和指令队列,将该机器指令存入寄存器AL中;
(3)分别从CS和IP寄存器中取出1000和102经地址加法器运算后,通过总线控制,找到对应地址的机器指令,第一条汇编指令的第三个机器指令为00,对应的地址为10102H;将00取出,通过总线和指令队列,将该机器指令存入寄存器AH中;
(4)分别从CS和IP寄存器中取出1000和103经地址加法器运算后,通过总线控制,找到对应地址的机器指令,第二条汇编指令的第一个机器指令为05,对应的地址为10103H;将05取出,通过总线和指令队列到达执行部分电路控制,给CPU发出信号,此时,从寄存器AX中取出第一条汇编指令的数据放入ALU中;
(5)分别从CS和IP寄存器中取出1000和104经地址加法器运算后,通过总线控制,找到对应地址的机器指令,第二条汇编指令的第二个机器指令为00,对应的地址为10104H;将00取出,通过总线和指令队列,将该机器指令放入ALU中;
(6)分别从CS和IP寄存器中取出1000和105经地址加法器运算后,通过总线控制,找到对应地址的机器指令,第二条汇编指令的第三个机器指令为01,对应的地址为10105H;将01取出,通过总线和指令队列,将该机器指令放入ALU中,此时,在ALU中自动计算求和,并将结果放回寄存器AX中。
(7)分别从CS和IP寄存器中取出1000和106经地址加法器运算后,通过总线控制,找到对应地址的机器指令,第三条汇编指令的第一个机器指令为A3,对应的地址为10106H;将A3取出,通过总线和指令队列到达执行部分电路控制,给CPU发出信号,此时,将AX寄存器中的数据取出,通过内部寄存器,放入总线控制里。
(8)分别从CS和IP寄存器中取出1000和107经地址加法器运算后,通过总线控制,找到对应地址的机器指令,第三条汇编指令的第二个机器指令为00,对应的地址为10107H;将00取出,通过总线和指令队列放入内部寄存器。
(9)分别从CS和IP寄存器中取出1000和107经地址加法器运算后,通过总线控制,找到对应地址的机器指令,第三条汇编指令的第三个机器指令为20,对应的地址为10108H;将20取出,通过总线和指令队列放入内部寄存器。
(10)分别从DS和内部寄存器中取出1492和2000经地址加法器运算后,通过总线控制,找到对应的地址16920H,将已计算的结果64放入该地址,由于结果占两个字节,所以将01放入地址16921H中。
计算结果为0164H。
第二章计算机的编码
信息=命令+被处理对象(数据)
命令=机器指令汇编指令
被处理对象=数+文(字符、汉字、图形)
一、计算机的数制
二进制数:
逢二进一,符号B,机器使用(0:
低电平,1:
高电平)
八进制数:
逢八进一,符号Q
十进制数:
逢十进一,符号D
十六进制数:
逢十六进一,符号H
数制转换:
位权:
十进制:
10n,二进制:
2n,八进制:
8n,十六进制:
16n。
八进制以0开头,十六进制以0x开头
二、计算机的信息编码
1.BCD编码(8421码):
将十进制数的每一位数字直接用等值4位二进制数表示。
十进制整数256用BCD码表示,则为(001001010110)BCD
2.二进制数的算术运算:
加、减、乘、除
二进制加法的运算规则:
(1)0+0=0
(2)0+1=1
(3)1+1=0进位1
(4)1+1+1=1进位1
二进制减法的运算规则:
(1)0-0=0
(2)1-1=0
(3)1-0=1
(4)0-1=1借位1
二进制乘法的运算规则:
(1)0×0=0
(2)0×1=0
(3)1×0=0
(4)1×1=1
3.二进制数的逻辑运算
3种基本运算:
逻辑加法(或运算)、逻辑乘法(与运算)和逻辑否定(非运算)
与运算规则为:
0×1=0或0•1=0或0∧1=0读成0与1等于0
1×0=0或1•0=0或1∧0=0读成1与0等于0
1×1=1或1•1=1或1∧1=1读成1与1等于1
或运算规则为
0+0=0或者0∨0=0读成0或0等于0
0+1=1或者0∨1=1读成0或1等于1
1+0=1或者1∨0=1读成1或0等于1
1+1=1或者1∨1=1读成1或1等于1
非运算运算规则为:
读成非0等于1
读成非1等于0
异或运算规则为
0⊕0=0读成0同0异或,结果为0
0⊕1=1读成0同1异或,结果为1
1⊕0=1读成1同0异或,结果为1
1⊕1=0读成1同1异或,结果为0
4.机器数的种类和表示方法
在机器中表示带符号的数有3种表示方法:
原码、反码和补码。
所谓数的原码表示,即符号位用0表示正数,而用1表示负数,其余数字位表示数值本身。
正数的反码表示与其原码相同,即符号位用“0”表示正,数字位为数值本身。
负数的反码是将它的正数按位(包括符号位在内)取反而形成的。
正数的补码与其原码相同,即符号位用“0”表正,其余数字位表示数值本身。
负数的补码表示为它的反码加1(即在其低位加1)。
8位二进制反码能表示的数值范围为+127D~-127D。
8位二进制补码所能表示的数值为+127~-128。
三、计算机的指令编码(见第四章计算机指令系统)
第三章计算机主机结构
一、8086/8088微处理器
8086微处理器的内部结构:
从功能上讲,由两个独立逻辑单元组成,即执行单元EU和总线接口单元BIU。
执行单元EU包括:
4个通用寄存器(AX,BX,CX,DX,每个都是16位,又可拆位,拆成2个8位)
4个16位指针与变址寄存器(BP,SP,SI,DI)
16位标志寄存器FLAG(6个状态标志和3个控制标志)
16位算术逻辑单元(ALU)
数据暂存寄存器
EU功能:
从BIU取指令并执行指令;计算偏移量。
总线接口单元BIU包括:
4个16位段寄存器(CS(代码段寄存器)、DS(数据段寄存器)、SS(堆栈段寄存器)和ES(附加段寄存器))
16位指令指针寄存器IP(程序计数器)
20位地址加法器和总线控制电路
6字节(8088位4字节)的指令缓冲队列
BIU功能:
形成20位物理地址;从存储器中取指令和数据并暂存到指令队列寄存器中。
3、执行部件EU和总线接口部件BIU的总体功能:
提高了CUP的执行速度;降低对存储器的存取速度的要求。
4、地址加法器河段寄存器
由IP提供或由EU按寻址方式计算出寻址单元的16位偏移地址(又称为逻辑地址或简称为偏移量),将它与左移4位后的段寄存器的内容同时送到地址加法器进行相加,最后形成一个20位的实际地址(又称为物理地址),以对应存储单元寻址。
要形成某指令码的物理地址(即实际地址),就将IP的值与代码段寄存器CS(CodeSegment)左移4位后的内容相加。
【例3.1】假设CS=4000H,IP=0300H,则指令的物理地址PA=4000H×10H+0300H=40300H。
逻辑地址=4000H:
0300H。
“段加偏移”的寻址机制:
物理地址=段基地址(又称段起始地址=段地址×10H)+偏移地址
逻辑地址:
其表达形式为“段地址:
段内偏移地址”。
二、8086/8088CPU内部寄存器
设置段寄存器原因:
8086/8088系统中,需要用20位物理地址访问1MB的存储空间,但是8086/8088CPU的每个地址寄存器都只是16位,因而采用分段存储结构,每个逻辑段的最长度为64KB。
8086/8088的内部寄存器编程结构共有13个16位寄存器和1个只用了9位的标志寄存器。
8086/8088的16位标志寄存器F只用了其中的9位作标志位,即6个状态标志位,3个控制标志位。
6个状态标志位:
CF(CarryFlag)进位标志:
进位或借位时,则CF为1;否则为0。
PF(ParityFlag)奇偶性标志:
含有偶数个“1”时,则PF为1;否则为0。
AF(AuxiliaryCarryFlag)辅助进位标志:
ZF(ZeroFlag)零标志:
运算结果为零,ZF为1;否则为0。
SF(SignFlag)符号标志:
OF(OverflowFlag)溢出标志:
3个控制标志位(程序设置
(1),清除(0)):
DF(DirectionFlag)方向标志
IF(InterruptEnableFlag)中断允许标志
TF(TrapFlag)跟踪(陷阱)标志
三、总线周期
1、时钟周期:
时钟脉冲信号的一个循环时间叫一个时钟周期,又称为一个“T”状态,是微处理器工作的最小时间单位
2、总线周期(基准时间):
完成一次对存储器或I/O端口的操作所需要的时间。
3、指令周期:
执行一条指令所需要的时间。
1个最基本的总线周期由4个时钟周期组成,4个时钟周期又称为4个状态,。
四、8086/8088引脚
地址/数据总线AD15~AD0:
分时复用
地址/状态总线:
A19/S6~A16/S3:
控制总线:
BHE/S7:
表示高8位数据有效,T1输出。
RD:
存储器或I/O口读信号,输出,低电平有效,T2~T3有效。
READY:
准备就绪信号,输入,高电平有效。
READY=1时,表示CPU访问的存储器或I/O端口已准备好传送数据,马上可以进行读/写操作。
TEST:
测试信号,输入,低电平有效。
INTR:
可屏蔽中断请求信号,输入,电平触发,高电平有效。
CPU每执行完一条指令,即检查INTR,为“1”表示有中断清求,为“0”,则没有。
是否响应受标志寄存器中IF的控制
NMI:
不可屏蔽中断请求信号,输入,上升沿触发。
RESET:
复位信号,输入,高电平有效。
CPU复位后,从FFFF0H单元开始读取指令。
电源线和地线:
VCC,GND
五、8086系统的最小/最大工作方式
最小工作方式:
①INTA:
中断响应信号,输出,低电平有效。
②ALE:
地址锁存允许信号,输出,高电平有效。
③DEN:
数据允许信号,三态输出,低电平有效。
④DT/R:
数据发送/接收控制信号,三态输出。
⑤M/IO:
存储器或I/O端口选择信号,三态输出。
M/IO=1,表示当前CPU正在访问存储器;M/IO=0,表示当前CPU正在访问I/O端口。
⑥WR:
写信号,三态、输出。
当WR=0低电平有效时,表示当前CPU正在对存储器或I/O端口进行写操作。
⑦HOLD:
总线保持请求信号,输入,高电平有效。
⑧HLDA:
总线请求响应信号,输出,高电平有效。
最大工作方式:
在最大方式系统中,外加有8288总线控制器,一般包含2个或多个处理器。
8282:
地址锁存器,8286:
数据收发器
第四章计算机指令系统
一、计算机指令编码
8086与8088的指令系统完全相同,主要特点:
(1)采用可变长指令,机器指令格式由1~6字节组成,比较复杂,最短8位,最长48位。
(2)寻址方式多样灵活,处理数据的能力比较强,可处理字节或字、带符号或无符号的二进制数据以及压缩型/非压缩型的十进制数据。
(3)有重复指令和乘、除运算指令。
扩充了条件转移、移位/循环指令。
(4)为加强软件中断功能和支持多处理器系统的工作,增设了有关的指令。
1.指令的编码
指令:
直接控制电路实现特定功能的信息。
机器指令:
面向机器,0和1表示机器是否可接受并执行指令。
汇编指令:
面向人,符号表示,必须翻译才能执行。
汇编指令的格式:
一般格式:
操作码操作数
具体格式:
标号:
操作码(空格分隔符)目的操作数(存放结果),(逗号分隔符)源操作数;注释
一条指令可以无操作数,必须有操作码,不同的机器,操作数个数不同。
2.机器指令主体的编码
(1)机器指令的主体格式
(2)B1字节编码
决定指令的功能:
OP——指令操作码,决定指令操作的基本功能(传送、加法、减法等)。
决定操作数传送方向:
D:
D=1,REG字段所确定的寄存器操作数为目标;D=0,为源。
决定操作数类型(长度):
W:
W=1为字(16位),W=0,为字节(8位)。
(3)B2字节编码
决定寻址方式
REG:
寄存器操作数地址编码。
MOD和R/M:
另一操作数地址的编码。
3.汇编指令与机器指令的关系
(1)MOVBYTEPTR[BX+5678H],23H
将5678H拆成两部分:
56,78
(2)MOVBYTEPTR[BX+78H],23H
4.操作数类型
按物理位置分(有存储功能的地方):
寄存器操作数,存储器操作数,I/O端口操作数。
5.计算机寻址概念
指令的寻址=>CS:
IP(不用表示,固定的)
二、指令掌握要点
1.指令功能:
产生的状态—>状态标志位是否受影响,以及如何影响。
2.指令格式:
符号,分隔符,说明符号。
3.操作数寻址方式
4.操作数数据类型:
字节、字型、双字型.
5.使用规则:
非法使用规则,指令约定设置,要求与之的参数,隐含使用的寄存器等。
三、8086指令寻址方式
1.操作数寻址方式
操作数位置在指令中的表达方式,以及寻找实现方式。
2.寻址方式分类
固定寻址(隐含寻址):
操作数位置固定(寄存器或存储器),在指令中不表示。
立即数寻址:
直接写在指令上的数据,在存储器的程序(代码)段中。
寄存器寻址:
操作数放在寄存器中,源/目的操作数都可。
存储器寻址:
对存储器操作数而言
I/O端口寻址
数据串寻址(串操作指令寻址)
转移寻址
3.存储器寻址的划分
存储器地址=物理地址=段地址*10H+偏移地址
操作数的偏移地址=有效地址(EA)=基址值(BX/BP)+变址值(SI/DI)+偏移量(0/8/16)
(1)直接寻址方式:
位移量=有效地址
(2)寄存器间接寻址方式:
有效地址(EA)=基址值(BX/BP)+变址值(SI/DI)+偏移量(0/8/16)
(3)基址寻址方式:
有效地址(EA)=基址值(BX/BP)+偏移量(0/8/16)
(4)变址寻址方式:
有效地址(EA)=变址值(SI/DI)+偏移量(0/8/16)
(5)基址加变址寻址方式:
有效地址(EA)=基址值(BX/BP)+变址值(SI/DI)+偏移量(0/8/16)
(6)寄存器相对间接寻址:
(7)相对基址加变址寻址:
操作数的默认段为SS
设DS=1200H,BX=05A6H,SS=5000H,BP=40A0H,SI=2000H,DI=3000H,位移量DISP=1618H,试判断下列指令的寻址方式,并求出在各种寻址方式下,这些寄存器与位移量所产生的有效地址EA和实际地址(物理地址)PA。
说明指令执行的结果。
①MOVAX,[0618H]
这是一条直接寻址方式的指令。
EA=0618H
PA=12000H+0618H=12618H
该指令执行的结果是将数据段的实际地址为12618H和12619H两单元中的内容取出送AX。
②MOVAX,[BX]
这是一条以数据段基址寄存器BX间接寻址的指令。
EA=05A6H
PA=12000H+05A6H=125A6H
该指令执行的结果是将数据段的125A6H和125A7H两单元的字内容取出送AX。
③MOVAX,[BP]
这是一条以堆栈段基址寄存器BP间接寻址的指令。
由于寻址时用上了BP寄存器,则操作数所默认的段寄存器就是SS。
EA=40A0H
PA=50000H+40A0H=540A0H该指令执行的结果是将堆栈段的540A0H和540A1H两单元的字内容取出送AX。
④MOVAX,[DI]
这是一条变址寻址的指令。
EA=3000H
PA=12000H+3000H=15000H
该指令执行的结果是将数据段的15000H和15001H两单元的字内容取出送AX。
⑤MOVAX,[BX+DI]
这是一条基址加变址寻址的指令。
EA=05A6H+3000H=35A6H
PA=12000H+35A6H=155A6H
该指令执行的结果是将数据段的155A6H和155A7H两单元的字内容取出送AX。
⑥MOVAX,[BP+SI+DISP]
这是一条带位移量的基址加变址寻址的指令,又叫相对基址加变址寻址的指令,且操作数的默认段为SS。
EA=40A0H+2000H+1618H=76B8H
PA=50000H+76B8H=576B8H
该指令执行的结果是将堆栈段的576B8H和576B9H两单元的字内容取出送AX。
4.I/O端口寻址
寻址空间:
64KB;用于输入指令IN,输出指令OUT中。
寻址方式分别为:
直接端口寻址:
端口地址为8位(地址<=255),端口地址直接写在指令上。
间接端口寻址:
端口地址为16位(地址<=65535),端口地址放在DX中,DX寄存器作为I/O端口的地址指针。
5.数据串寻址
仅用于串操作时,使用变址寄存器,且使用其自动递增或自动递减的功能。
将A块10个数据转移至B块空间中,源序数—>SI,目的序数—>DI。
串操作指令使用的是隐含寻址方式,有自动处理功能,在重复串操作时,8086/8088能自动修改SI和DI的内容。
6.转移寻址
用于控制转移类指令。
实质:
控制转移类指令通过改变IP和CS值,从新位置开始执行指令。
转移寻址分成2种类型:
段内转移和段间转移。
条件转移指令只允许实现段内转移,而且是段内短转移,由指令中直接给出8位地址位移量
无条件转移和调用指令又可分为段内短转移、段内直接转移、段内间接转移、段间直接转移和段间间接转移等5种不同的寻址方式。
段间转移=远转移。
四、指令分类
8086/8088的指令按功能可分为6类:
数据传送、算术运算、逻辑运算、串操作、程序控制和CPU控制。
1.数据传送类指令
数据传送类指令可完成寄存器与寄存器之间、寄存器与存储器之间、寄存器与I/O端口之间的字节或字传送,共同特点是不影响标志寄存器的内容,分成4种类型。
(1通用数据传送指令
(1)MOVd,s;d←s,即将由源s指定的源操作数送到目标d
源操作数(s)可以是8/16位寄存器、存储器的某个字节/字或者是8/16位立即数;目标操作数(d)不允许为立即数;两者不能同时为存储器操作数。
基本传送指令MOVd,s的类型有以下7种。
①MOVmem/reg1,mem/reg2
由mem/reg2所指定的存储单元或寄存器中的8位数据或16位数据传送到由mem/reg1所指定的存储单元或寄存器中,但不允许从存储器传送到存储器。
②MOVmem/reg,data
将8位或16位立即数data传送到由mem/reg所指定的存储单元或寄存器中。
③MOVreg,data
将8位或16位立即数data传送到由reg所指定的寄存器中。
④MOVac,mem
将存储单元中的8位或16位数据传送到累加器ac中。
⑤MOVmem,ac
将累加器AL(8位)或AX(16位)中的数据传送到由mem所指定的存储单元中。
使用MOV指令时要注意的问题:
CS不能做目的操作数
不能直接从存储器到存储器之间数据传送
2条伪指令:
WORDPTR表示字数据类型
BYTEPTR表示字节数据类型
(2)PUSH和POP
PUSHs:
将源操作数(16位)压入堆栈
POPd:
将堆栈中当前栈顶两相邻单元的数据字弹出到d
压栈指令PUSHAX:
将AX(16位)中的数据压入栈,AX是源操作数,栈顶是目的操作数,由(SS:
SP)指向。
出栈指令POPAX:
将栈顶信息弹出到AX中,AX是目的操作数,栈顶是源操作数,由(SS:
SP)指向。
设当前CS=1000H,IP=0020H,SS=1600H,SP=004CH,则该指令执行时,将当前栈顶两相邻单元1604CH与1604DH中的数据字弹出并传送到CX中,同时修改堆栈指针,SP+2→SP,使之指向新栈顶1604EH。
堆栈是内存中开辟的一个段,存放需要保护的信息(数据、地址)。
堆栈操作时应遵循的5点原则:
堆栈的存取操作每次必须是一个字(即2个字节)。
执行压栈指令时,总是从高位地址向低位地址存放数据,而不象内存中的其他段,总是从低地址向高地址存放;执行出栈指令时,从堆栈中弹出数据则正好相反。
堆栈段在内存中的物理地址由SS和SP或SS和BP决定,其中,SS是堆栈段寄存器,它是栈区的最低地址,称为堆栈的段地址;SP是进栈或出栈指令隐含的堆栈地址指针,它的起始值是堆栈应达到的最大偏移量,即指向栈顶地址。
堆栈段的范围是SS×16至SS×16+SP的起始值。
每执行一次压栈指令,则SP-2,推入堆栈的数据放在栈顶;而每执行一次弹出指令时,则SP+2。
BP寄存器用于对堆栈中的数据块进行随机存取,例如,MOVAX,[BP][SI]指令执行后,将把偏移量为BP+SI的存储单元的内容装入AX。
堆栈指令中的操作数只能是寄存器或存储器操作数,而不能是立即数。
对CS段寄存器可以使用压栈指令PUSHCX,但却不能使用POPCS这种无效指令。
(3)XCHGd,s
该指令功能是将源操作数与目标操作数(字节或字)相互对应交换位置。
交换可以在通用寄存器与累加器之间、通用寄存器之间、通用寄存器与存储器之间进行。
但不能在两个存储单元之间交换,段寄存器与IP也不能作为一个源或目的操作数。
(4)XLAT
这是一条用于实现字节翻译功能的指令,又称为代码转换指令。
具体地说,它可以将AL寄存器中设定的一个字节数值变换为内存一段连续表格中的另一个相应的代码,以实现编
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 原理 应用 知识点 总结