昆明理工大学微机原理重点难点核心笔记根据付老师课件整理适用于昆工期末考和考研.docx
《昆明理工大学微机原理重点难点核心笔记根据付老师课件整理适用于昆工期末考和考研.docx》由会员分享,可在线阅读,更多相关《昆明理工大学微机原理重点难点核心笔记根据付老师课件整理适用于昆工期末考和考研.docx(10页珍藏版)》请在冰豆网上搜索。
![昆明理工大学微机原理重点难点核心笔记根据付老师课件整理适用于昆工期末考和考研.docx](https://file1.bdocx.com/fileroot1/2023-1/10/51bf5cc3-7c8e-409c-acc5-db6da2319699/51bf5cc3-7c8e-409c-acc5-db6da23196991.gif)
昆明理工大学微机原理重点难点核心笔记根据付老师课件整理适用于昆工期末考和考研
第三代微解决器(1978-1982):
16位微解决器,如Intel公司8086、80286、Motorola68000和ZilogZ8000。
集成度达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才干继续执行指令,并行操作将受到影响。
8086CPUBIU和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,[H]。
有段超越前缀:
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(6264)集成度低,速度快,功耗较大,通惯用做高速缓存(Cache)。
动态RAM(2164),存储原理:
动态RAM依托电容C存储电荷状况来决定存储信息是“1”或“0”。
电容会缓慢放电而导致信息丢失必要定期对电容充电,称为刷新,两次刷新时间间隔与温度关于,典型刷新时间间隔为2ms,刷新是一行一行进行,每刷新一行时间称为刷新周期。
刷新和地址两次打入是DRAM芯片重要特点。
密度高,速度慢,成本低。
微机中内存条由DRAM做。
位扩展法--当存储芯片所能提供数据位数不能满足存储器系统字长规定期,采用位扩展法进行扩展。
扩展办法:
三总线对接:
1、各芯片数据线分别接到数据总线各位上;2、各芯片地址线并接在一起,连到相应地址总线各位;3、各芯片控制线并接在一起,连到相应控制线上。
偶地址由A0做片选信号,数据为低8位,基地址由BHE非做片选信号,数据为高8位。
字扩展法--用存储容量较小芯片构成容量较大存储器,扩大容量。
扩展办法:
1、各存储芯片片内地址线接到AB上低位。
2、存储芯片片选用AB高位线来做。
3、各存储芯片数据线、控制线接法一致,均并接相应总线上。
I/O通信是计算机与外设间互换数据(数字量、模仿量、开关量)、状态(准备就绪位、忙碌位、错误位)和控制命令(CPU向接口发出各种命令和控制字)过程。
计算机和外设之间信息互换存在:
速度不匹配、信号电平不匹配、信号格式不匹配、时序不匹配。
I/O接口与外设交互三种信息时:
均是通过DB来完毕,每个接口部件都包括一组寄存器。
在进入端口时,不同信息进不同寄存器(端口)。
I/O接口——把外围设备同微型计算机连接起来实现数据传送控制电路称为“外设接口电路”,即I/O接口。
I/O端口——I/O接口中可以由CPU进行读或写寄存器被称为“端口”。
每个I/O端口有一种地址,即端口地址。
CPU对外设访问实质上是对接口中相应端口进行访问。
普通接口电路中要设立如下几种端口:
1)数据端口:
存储外设送往CPU数据以及CPU要输出到外设去数据。
2)状态端口:
用来批示外设当前状态。
3)控制端口:
用来存储CPU向接口发出各种命令和控制字。
CPU在同一时刻只能选中某一种I/O端口,因而和存储器同样,也需要由译码电路来形成I/O端口地址。
I/O端口编址方式有两种:
存储器映像编址方式、I/O单独编址方式。
存储器映像编址方式:
把系统中每一种I/O端口都看作一种存储单元,并与存储单元同样统一编址,这样访问存储器所有指令均可用来访问I/O端口,这种寻址方式称为存储器映像I/O寻址方式。
特点:
占用存储空间、无专门输入/输出指令、能用类型多、功能强访问存储器指令,对I/O设备进行以便、灵活操作。
I/O单独编址方式:
对系统中输入输出端口地址单独编址,构成一种I/O空间,它们不占用存储空间,而是用专门指令来访问这种具备独立地址空间端口。
有专门I/O指令,但I/O指令功能没有访问存储器指令强。
接口编址空间独立,不会对存储器空间导致影响。
I/O指令长度短,速度快。
CPU需提供能区别访问内存和访问I/O端口硬件引脚信号。
8086/8088微解决器采用I/O单独编址方式访问外设,用地址总线低16位(AD15~AD0)来寻址I/O端口,最多可访问65536个输入或输出端口。
CPU与外设数据传送方式:
程序控制方式、中断方式、DMA方式。
程序控制方式,可分为:
无条件传送、条件传送。
无条件传送方式(同步传送方式):
外设各种动作时间已知或固定状况。
程序设计简朴,直接由输入/输出指令实现,软、硬件开销小。
规定在任何时刻或固定期刻外设均已处在数据就绪或准备接受状态。
只合用于某些简朴外设操作,如LED显示屏、开关等。
往往需在DB上加缓冲器或锁存器。
条件传送方式(查询式传送方式),即先查询外设状态,然后执行输入/输出功能。
外设操作完全由CPU控制,CPU为积极,外设为被动。
接口简便。
CPU要不断地查询外设状态,当外设未准备好时,CPU就只能循环等待,不能执行其他程序,这样就挥霍了CPU大量时间,减少了主机运用率。
合用于以输出为主,CPU自身解决信息量不大场合。
中断方式:
当外设准备好,向CPU发出中断祈求。
CPU在满足响应中断条件下,发出中断响应信号。
CPU暂停当前程序,转去执行中断服务程序,完毕与外设数据传送。
CPU从中断服务程序返回,继续执行被中断程序。
CPU与外设处在并行工作状态。
CPU不必检测外部状态,效率较高。
可实现优先级控制。
DMA传送方式:
当外设需传送数据时,通过DMAC向CPU发出总线祈求。
CPU发出总线响应信号,释放总线。
MAC接管总线,控制外设、内存之间直接数据传送。
外设和内存之间,直接进行数据传送,不通过CPU,传送效率高。
合用于在内存与高速外设、或两个高速外设之间进行大批量数据传送。
电路构造复杂,硬件开销较大。
用于各部件之间传送信息公共通路,称总线。
总线分类1.片级总线:
地址、数据、控制总线。
2.系统总线:
板卡间总线。
3.外部总线:
机器间总线。
CPU在每条指令最后一种T周期去检测INTR引脚,若有中断祈求,则在IF=1条件下,响应中断,向外设发出INTA中断响应信号,并保护断点(当前CS、IP和FLAG值入栈),继而转去执行中断服务子程序,中断服务程序执行完毕,返回原程序被中断处继续执行。
中断响应过程:
CPU响应中断后,对中断接口电路发出两个中断响应信号INTA,中断接口电路收到第二个INTA后,通过数据线向CPU送中断类型号。
CPU自动完毕如下工作:
1.CPU从数据总线上读取中断类型号。
2.Flags进栈。
3.标志IF清0(关中断,屏蔽其他外部中断祈求),标志TF清0(关单步中断,以避免CPU以单步方式执行中断解决子程序)。
4.保护断点:
当前CS及IP进栈。
5.依照中断类型号,查中断向量表,转中断服务子程序。
6.中断解决程序结束后,从堆栈依次弹出IP,CS,Flags,返回断点处继续执行本来程序。
软件中断不受IF标志影响。
8086/8088系统容许解决256类中断,相应中断类型号为0~255。
在存储器00000H~0003FFH,占用1K字节空间,用作存储中断向量。
每个类型号占4个字节,高2个字节存储中断服务程序入口地址段地址,低2个字节存储该入口地址段内偏移地址。
尚有两块芯片没有写,分别是8255A、8259A,请自行脑补。
此外就是三八译码器也很重要,内存地址分派几乎是必考。
学长只能协助到这里了,请加油!
(依照付教师课件整顿,合用于昆工期末考和考研!
!
)