昆明理工大学微机原理重点难点核心笔记根据付老师课件适用于昆工期末考和考研.docx
- 文档编号:1414781
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:11
- 大小:391.22KB
昆明理工大学微机原理重点难点核心笔记根据付老师课件适用于昆工期末考和考研.docx
《昆明理工大学微机原理重点难点核心笔记根据付老师课件适用于昆工期末考和考研.docx》由会员分享,可在线阅读,更多相关《昆明理工大学微机原理重点难点核心笔记根据付老师课件适用于昆工期末考和考研.docx(11页珍藏版)》请在冰豆网上搜索。
昆明理工大学微机原理重点难点核心笔记根据付老师课件适用于昆工期末考和考研
昆明理工大学微机原理重点难点核心笔记(根据付老师课件整理-适用于昆工期末考和考研!
!
)
————————————————————————————————作者:
————————————————————————————————日期:
第三代微处理器(1978-1982):
16位微处理器,如Intel公司的8086、80286、Motorola的68000和Zilog的Z8000。
集成度达29000万只晶体管,平均指令执行时间0.5us(200ns),。
从大型计算机到微型计算机,其基本结构属于冯.诺依曼结构,即包括运算器、控制器、存储器、输入设备和输出设备5个组成部分。
8位带符号数能表示的数据范围为+127~-128。
二进制负数的反码就是机器数符号位保持不变,其余各位按位取反。
8086CPU是16位微处理器,内部对外有16位数据总线。
8086CPU有20位地址总线,直接寻址空间为1MB。
8086有一个初级流水线结构,内部操作与对外操作具有并行性。
8088CPU是准16位微处理器,因为它的内部有16位数据总线,但对外只有8位数据总线。
BusInterfaceUnit,BIU总线接口部件由段寄存器、指令指针寄存器、总线控制逻辑、地址加法器、指令队列等单元组成。
BIU功能:
地址形成、取指令、指令排队、读/写操作数、总线控制。
IP总是指向下一条将要执行的指令。
当指令队列有2个或2个以上字节空时,BIU会自动存取指令。
ExecutionUnit,EU执行部件EU的组成:
算术逻辑单元ALU、寄存器组、标志寄存器、暂存器、EU控制电路。
EU的主要任务:
指令译码、执行指令。
指令顺序执行时,EU和BIU是并行工作方式;若遇到转移指令、调用指令和返回指令时,要将指令队列中的指令作废,由BIU重新取转移目标地址中的新指令,EU才能继续执行指令,并行操作将受到影响。
8086CPU的BIU和EU并行工作的过程:
EU的功能是执行指令。
EU从指令队列中取出指令编码,将其译码,发出相应的控制信息。
控制数据在ALU中进行运算,运算结果的特征保留在标志寄存器PSW中。
BIU的功能是负责与存储器、I/O端口传送信息。
当EU从指令队列中取走指令,指令队列出现空字节(8086指令队列为6个字节中空出2个字节,8088指令队列为4个字节空出1个字节)时,BIU即从内存中取出后续的指令代码放入队列中;当EU需要数据时,BIU根据EU给出的逻辑地址,在地址加法器中完成20位物理地址的计算,从指定的内存单元或外设中取出数据供EU使用;当运算结束时,BIU将运算结果送入指定的内存单元和外设。
当队列空时,EU就等待直到有指令为止。
CPU内部可用来提供地址信息的寄存器都是16位的,8086/8088采用了段结构的内存管理的方法:
20位物理地址=段地址*16+偏移地址。
AX,AL(隐含):
在乘法指令中,存放乘数或乘积,在除法指令中存放除数或商。
AH(隐含):
在LAHF指令中,做目标寄存器。
AL(隐含):
在十进制运算指令中做累加器;在XLAT指令中作累加器用。
BX(隐含):
在XLAT指令中作基址寄存器。
CX(隐含):
在LOOP指令和串操作指令中作计数器,可使程序指令简化,有利于提高程序的运行速度。
DX(隐含):
在做字乘/除法运算时,DX存放乘积高位或被除数高位或余数。
SI存放源串在数据段内的偏移地址,DI存放目的串在附加数据段内的偏移地址。
当CPU取出指令代码的一个字节后,IP自动加1,指向指令代码的下一个字节。
用户程序不能直接访问IP。
指令的物理地址=CS*16+IP。
若最高位发生进位(或借位)则CF=1,否则CF=0。
当运算结果低8位中含有偶数个1时,PF=1,否则PF=0。
结果的低4位向高4位有进位(或借位),则AF=1,否则AF=0。
若将TF置1,8086/8088CPU处于单步工作方式,CPU每执行完一条指令,就会自动产生一次内部中断,使用户能逐条跟踪程序。
否则,将正常执行程序。
DF=1(STD指令),地址指针自动减量,即由高地址向低地址进行串操作。
8086/8088芯片:
双列直插式封装。
40条引脚,部分引脚分时复用。
最小模式:
单机系统,所有控制信号由8086提供。
最大模式:
多处理机系统,系统所需的控制信号由8288提供。
在最小模式系统配置中,除了8086CPU、存储器、I/O接口芯片外,还要加入:
1片8284A作为8086/8088系统的时钟发生器:
3片Intel8282/8283或74LS373/74LS273作为地址锁存器,用以锁存当前的地址信号;2片Intel8286/8287或74LS245作为数据收发器(总线收发器)。
最大工作模式:
系统中有两个或多个微处理器,其中有一个是主处理器8086,其它的处理器称为协处理器,它们协助主处理器工作。
DEN(DataEnable)数据允许信号,三态,输出。
ALE(AddressLatchEnable)地址锁存允许信号,输出。
DT/R(DataTransmit/Receive)数据发送/接收控制信号。
RESET(Reset)复位信号,高电平有效,输入,此信号至少保持4个时钟周期以上的高电平,当RESET变低电平时,CPU执行重启过程,8086/8088重启后,从地址FFFF0H开始执行指令,通常此地址放一条无条件转移指令,将入口转到引导和装配程序。
HOLD(HoldRequest)总线保持请求信号,输入,高电平有效,在最小模式系统中,HOLD有效,表示其他共享总线的部件向CPU请求使用总线。
要求直接与存储器传送数据。
HLDA(HoldAcknowledge)总线保持响应信号,输出,高电平有效,表示CPU允许让出总线使用权,并将三条总线置成高阻状态。
总线请求部件获得总线使用权后,可进行总线操作(DMA数据传送),总线使用完毕后使HOLD无效,CPU将HLDA置成低电平,收回总线使用权。
8086与8088的区别:
8086为16位微处理器,而8088是准16位微处理器,其内部运算为16位,但外部数据总线是8位。
从内部结构上:
8086的指令队列有6个字节,出现2个空闲字节,BIU就访问存储器取指。
8088只有4个字节,只要指令队列出现1个空闲字节,BIU就会访问存储器取指。
存储器组织8086把1MB的内存空间分成两个部分:
偶地址存贮单元和奇地址存贮单元,分别由A0信号和BHE信号选通。
8088对整个内存空间不分奇偶。
代码段寄存器CS------存放当前代码段的段基址。
数据段寄存器DS-----存放当前数据段的段基址。
堆栈段寄存器SS------存放当前堆栈段的段基址。
附加段寄存器ES------存放当前附加段的段基址。
一旦这四个段寄存器的内容被设定,就规定了CPU当前可寻址的段。
8086系统中的堆栈段是由段定义语句在存储器中定义的一个段,堆栈段容量小于等于64K字节。
段基址由堆栈寄存器SS指定,栈顶由堆栈指针SP指定。
当堆栈置空时,SP指向栈底。
堆栈地址由高向低增长,栈底设在存储器的高地址区。
一个端口对应I/O芯片内部的一个寄存器或一组寄存器。
8086允许64K(65535个)个I/O端口,用地址总线的低16位AD15~AD0对端口进行编址。
8086的时钟频率为5MHZ,1个时钟周期就是200nS。
典型的总线周期至少由4个T状态组成,分别以T1、T2、T3、T4来表示,T1状态:
传送地址,T2-T4状态:
传送数据。
8086CPU复位条件:
RESET信号脉冲宽度不低于4个时钟周期。
T1状态:
输出20位地址A19~A0。
T2状态:
地址信息消失,A19-A16从地址信息变为状态信息S6-S3。
T3状态:
CPU采样READY信号,若无效,则CPU插入1个或几个Tw等待状态,直至READY有效,数据总线上出现数据。
T4状态:
在T4后半期,撤除数据,各控制和状态信号线进入无效状态。
该总线周期结束。
Tw:
当存储器或I/O接口速度不够时,T3与T4之间可插入等待状态Tw。
Ti:
当BIU无访问操作数和取指令的任务时,总线接口部件不和总线打交道,8086就进入了总线空闲周期Ti。
此时,CPU对总线进行空操作,但CPU内部操作仍在进行。
Ti可看成是BIU对EU的等待。
立即寻址:
操作数直接包含在指令中。
MOVAX,3000H。
立即数只能作源操作数,不能作目的操作数。
寄存器寻址方式:
操作数包含在寄存器中。
MOVBX,AX。
源操作数的长度必须与目的操作数一致。
CS不能用MOV指令修改。
寄存器可作源操作数或目的操作数,或同时作两个操作数。
直接寻址方式:
操作数在存储器中。
无段超越前缀:
MOVAX,[2000H]。
有段超越前缀:
MOVAX,ES:
[500H]。
符号地址:
MOVAX,AREA1。
寄存器间接寻址:
操作数在存储器中,操作数的有效地址包含在指令给出的寄存器中。
MOVBX,[DI]。
只有BX、BP、SI、DI可用于间接寻址。
在无段超越前缀的情况下:
使用BX,SI,DI时,默认段基址由DS给出,使用BP,默认段基址由SS给出。
寄存器相对寻址:
操作数在存储器中,操作数的有效地址是一个基址/变址寄存器的内容与指令中指定的8位或16位位移量之和。
基址变址寻址:
操作数在存储器中,操作数有效地址=基址寄存器内容+变址寄存器内容。
MOVAX,[BX][SI],MOVAX,[BP][DI]。
若基址寄存器为BX时,段寄存器使用DS。
若基址寄存器为BP时,段寄存器使用SS。
相对基址变址寻址:
MOVAX,COUNT[BX][DI]
通用寄存器:
AX累计器、BX基址寄存器、CX计数器、DX数据寄存器。
指针和变址寄存器:
SP堆栈指针寄存器、BP基址指针寄存器、SI源变址寄存器、DI目的变址寄存器。
指令性语句:
不能以数字开头,长度≤31个字符。
伪指令语句:
没有对应的机器码,在汇编源程序时被处理。
操作数:
如果开头字母为A~F,则需在数值前加0。
如:
0FFH。
TYPE变量/标号若为变量,返回变量的类型属性。
(字节,字,双字,四字变量分别对应返回值1,2,4,8)。
若为标号,返回标号的距离属性,返回值-1(FFH),-2(FEH)分别对应类型为近标号,远标号。
LENGTH变量当变量用DUP定义时,返回其包含的单元数,对其它变量则返回1。
SIZE变量返回SIZE=LENGTH*TYP。
类型/距离PTR变量或标号将PTR左边的类型/距离属性赋给右边的变量/标号。
用DW定义字符串时,只允许包括两个字符,多于两个字符时,只能用DB定义。
例:
FIRSTDB‘HELLO’,SECONDDW‘OK’。
定义堆栈段通常这样:
STACKSEGMENTSTACK‘STACK’;组合类型不能省略。
ORG表达式指定下面语句的起始偏移地址。
宏是源程序中一段具有独立功能的程序代码。
它只需要定义一次,就可以用宏指令语句多次调用。
1.宏调用是在汇编期间进行,子程序则在程序执行期间执行。
2.子程序调用每次都需保存现场,恢复现场,执行速度慢;宏调用则不需此项工作,节省时间,速度快。
3.子程序这组指令的机器码在存储器中只存放一次,而宏调用所占存储空间与调用次数有关,次数越多,所占空间越大。
若有多次调用的程序较长,速度要求不高,适宜采用子程序,可节省程序空间,若多次调用的程序较短,需传递的参数较多时或操作希望修改时,适宜采用宏调用。
当主程序(调用程序)和过程在同一代码段中,则使用NEAR属性,若不在同一代码段中,则使用FAR属性。
RAM随机存取存储器,随机存取存储器,随机读写,断电后数据消失。
静态RAM(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 昆明 理工大学 微机 原理 重点难点 核心 笔记 根据 老师 课件 适用于 工期 考研
![提示](https://static.bdocx.com/images/bang_tan.gif)