计算机硬件基础第2章.ppt
制作人天津大学制作人天津大学 迟丽华等迟丽华等2010年年1月月第2章 微处理器基础第2章 微处理器基础2.1 概述n微处理器是微型计算机核心微处理器是微型计算机核心n微型机发展与微处理器发展密切相关微型机发展与微处理器发展密切相关n发展是发展是8086/80888086/8088、80286802868048680486、Pentium(80586)Pentium(80586)系列系列n1616位微处理器位微处理器(8086/8088)(8086/8088)是基础是基础n下章介绍下章介绍3232位及以上微处理器位及以上微处理器单击图片,看插入芯片录像单击图片,看插入芯片录像2第2章 微处理器基础主要内容n 80868086微处理器内部寄存器微处理器内部寄存器n 80868086微处理器功能结构、引脚、工作原理微处理器功能结构、引脚、工作原理 n 8086 8086的存储器组织的存储器组织 下面分别介绍下面分别介绍3第2章 微处理器基础2.2 8086CPU内部寄存器寄存器寄存器(Register)(Register):用于存放信息用于存放信息(指令、数据)指令、数据)有有1414个个1616位寄存器,每个寄存器有一个名字位寄存器,每个寄存器有一个名字CPUCPU读读/写寄存器比内存快得多写寄存器比内存快得多 在用汇编语言编写程序时在用汇编语言编写程序时,可以直接使用寄存器可以直接使用寄存器程序设计中惟一可见的程序设计中惟一可见的CPUCPU部件部件是系统程序设计员的操作对象是系统程序设计员的操作对象下面分别介绍下面分别介绍4第2章 微处理器基础寄存器分三类下面分别介绍下面分别介绍SPIPFLAGSAHALBHBLCHCLDHDLAXBXCXDXBPSIDICSDSESSS8个通用寄存器个通用寄存器2个控制寄存器个控制寄存器4个段寄存器个段寄存器16位位16位位8个通用寄存器个通用寄存器4个段寄存器个段寄存器2个控制寄存器个控制寄存器 5第2章 微处理器基础2.2.1 通用寄存器包括:包括:1.1.数据寄存器数据寄存器(AX(AX,BXBX,CXCX,DX):DX):存放运算的数据和结果存放运算的数据和结果2.2.地址指针寄存器地址指针寄存器(SP(SP,BP):BP):存放内存的偏移地址存放内存的偏移地址3.3.变址寄存器变址寄存器(SI(SI,DI):DI):在变址寻址方式中存放索引地址在变址寻址方式中存放索引地址下面分别介绍下面分别介绍6第2章 微处理器基础1.数据寄存器(重点)n 存放运算需要的数据和运算结果存放运算需要的数据和运算结果n 含含4 4个个1616位数据寄存器,分为位数据寄存器,分为8 8个个8 8位寄存器位寄存器 AX AH AX AH,AL AL 例例 MOV AX,1234H MOV AX,1234H BX BH BX BH,BL BL 例例 MOV AH,12H MOV AH,12H CX CH CX CH,CL CL 例例 MOV AL,34H MOV AL,34H DX DH DX DH,DLDL7第2章 微处理器基础数据寄存器习惯用法n AXAX:累加器:累加器(Accumulator(Accumulator寄存器寄存器)所有所有I/OI/O指令都通过指令都通过AXAX与接口传送信息与接口传送信息,中间运算结果也放中间运算结果也放AXAX中中 n BX BX:基址寄存器:基址寄存器(Base(Base寄存器寄存器)在间接寻址中用于存放基地址在间接寻址中用于存放基地址n CX CX:计数寄存器:计数寄存器(Count(Count寄存器寄存器)用于在循环或串操作指令中存放计数值用于在循环或串操作指令中存放计数值n DX DX:数据寄存器:数据寄存器(Data(Data寄存器寄存器)在间接寻址的在间接寻址的I/OI/O指令中存放指令中存放I/OI/O端口地址端口地址 在在3232位乘除法运算时,存放高位乘除法运算时,存放高1616位数。位数。8第2章 微处理器基础2.地址指针寄存器栈顶栈顶SP栈首单元栈首单元堆堆栈栈段段栈底栈底偏移量偏移量n SP(Stack Point):SP(Stack Point):堆栈指针寄存器,存放栈顶的偏移地址堆栈指针寄存器,存放栈顶的偏移地址n BP(Base Point):BP(Base Point):基址指针寄存器,存放内存单元偏移地址基址指针寄存器,存放内存单元偏移地址BXBX与与BPBP在应用上的区别在应用上的区别n 做通用寄存器,二者均可用于存放数据;做通用寄存器,二者均可用于存放数据;n 做基址寄存器,用做基址寄存器,用BPBP时表示数据在堆栈段,用时表示数据在堆栈段,用BXBX数据在数据段数据在数据段9第2章 微处理器基础3.变址寄存器n SISI:源变址寄存器:源变址寄存器(Source Index)(Source Index)n DI DI:目标变址寄存器:目标变址寄存器(Destination Index)(Destination Index)n 变址寄存器常用于指令的间接寻址或变址寻址变址寄存器常用于指令的间接寻址或变址寻址n 在串操作指令在串操作指令(或成批数据操作指令或成批数据操作指令)中,用中,用SISI存放源操作存放源操作数的偏移地址,用数的偏移地址,用DIDI存放目标操作数的偏移地址。存放目标操作数的偏移地址。源操作数源操作数目标操作数目标操作数SISIDIDI将数据从将数据从SI处移到处移到DIDI处处10第2章 微处理器基础2.2.2 段寄存器(重点)将内存储器分成若干个逻辑段将内存储器分成若干个逻辑段,每段为每段为64KB64KB段寄存器用于存放相应逻辑段的段基地址段寄存器用于存放相应逻辑段的段基地址n CS(Code Segment)CS(Code Segment):代码段寄存器代码段寄存器,存放代码段的基地址存放代码段的基地址n DS(Data Segment)DS(Data Segment):数据段寄存器数据段寄存器,存放数据段的基地址存放数据段的基地址 n ES(Extra Segment)ES(Extra Segment):附加段寄存器附加段寄存器,存放附加段的基地址存放附加段的基地址 n SS(Stack Segment)SS(Stack Segment):堆栈段寄存器堆栈段寄存器,存放堆栈段的基地址存放堆栈段的基地址存放数据存放数据存放数据存放数据CSDSESSS 存放代码存放代码段可重叠段可重叠11第2章 微处理器基础2.2.3 控制寄存器(IP)包括:包括:IPIP、FLAGSFLAGS1 1.IPIP:指令指针寄存器(:指令指针寄存器(Instruction PointInstruction Point)内容为下一条内容为下一条待待取取指令的偏移地址指令的偏移地址 偏移地址、段基地址共同确定待取指令的内存实际地址偏移地址、段基地址共同确定待取指令的内存实际地址 CPUCPU从内存取出指令后,修改从内存取出指令后,修改IPIP,使之指向下一条待取指令,使之指向下一条待取指令 IPIP由程序自动控制,程序员不能直接使用由程序自动控制,程序员不能直接使用2.2.FLAGSFLAGS:标志寄存器见下页:标志寄存器见下页 12第2章 微处理器基础2.2.3 控制寄存器(FLAGS)FLAGSFLAGS:标志寄存器:标志寄存器存放系统的一些标志信息,如运算结果特征、系统状态存放系统的一些标志信息,如运算结果特征、系统状态由系统自动控制,程序员不能直接改变它由系统自动控制,程序员不能直接改变它 状态标志位(状态标志位(CFCF,SFSF,AFAF,PFPF,OFOF,ZFZF)控制标志位(控制标志位(IFIF,TFTF,DFDF)OF DF IF TF SF ZFAFPFCF1502467891011FLAGS13第2章 微处理器基础标志寄存器的标志位(重点)CF(Carry Flag)进位或借位标志位进位或借位标志位ZF(Zero Flag)零标志位零标志位OF(Overflow Flag)溢出标志位溢出标志位SF(Sign Flag)符号标志位符号标志位PF(Parity Flag)奇偶标志位奇偶标志位AF(Auxiliary Flag)辅助进位标志位辅助进位标志位有些指令有些指令(如算术指令如算术指令)影响影响FLAGS的值,有些不影响的值,有些不影响例题下页例题下页OF DF IF TF SF ZFAFPFCF1502467891011FLAGS14第2章 微处理器基础指令影响标志位例题1 b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 0 0 0 1 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 1 1 0 0 1+0 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0+0 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0 0 1 0 10 1 0 1 1 0 1 11 0 1 1 1 0 1 1 0 1 0 0 0 0 1 10 0 1 1 执行一条加法指令,计算执行一条加法指令,计算 15439H476AH 后,标志位的值是多少?后,标志位的值是多少?b15b15位向前无进位位向前无进位CF=0CF=0和值不为和值不为0ZF=00ZF=0b15b15符号位为符号位为1SF=11SF=1b7b7b0b0中中1 1的个数为偶数的个数为偶数PF=1PF=1b3b3位向位向b4b4位有进位位有进位AF=1AF=1结果不超出可表示的范围结果不超出可表示的范围OF=0OF=0结论:结论:CF=0 ZF=0 SF=1 PF=1 AF=1 OF=0CF=0 ZF=0 SF=1 PF=1 AF=1 OF=0 5 B A 3 5 B A 315第2章 微处理器基础指令影响标志位例题2 b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0+0 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0+0 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 执行一条加法指令,计算执行一条加法指令,计算6400H7A3CH后,标志位的值是多少?后,标志位的值是多少?b15b15位向前无进位位向前无进位CF=0CF=0和值不为和值不为0ZF=00ZF=0b15b15符号位为符号位为1SF=11SF=1b7b7b0b0中中1 1的个数为偶数的个数为偶数PF=1PF=1b3b3位向位向b4b4位有进位位有进位AF=0AF=0结果超出可表示的范围结果超出可表示的范围OF=1OF=1结论:结论:CF0,PF1,AF0,ZF0,SF1,OF1 D E 3 C16第2章 微处理器基础2.3 8086CPU的功能结构按功能分为两大部分按功能分为两大部分:1.1.执行单元(执行单元(EU Execute UnitEU Execute Unit)2.2.总线接口单元(总线接口单元(BIU Bus Interface Unit)BIU Bus Interface Unit)结构图下页结构图下页 EU BIU EU BIU功能是执行指令功能是执行指令 功能是传送信息(存储器、功能是传送信息(存储器、I/O设备)设备)17第2章 微处理器基础8086CPU的结构框图20位位AH AL BH BL CH CL DH DLSP BP DI SIALU运算寄存器运算寄存器标志标志执行部件执行部件 控制电路控制电路16位位CS DS SS ES IP 内部暂存器内部暂存器8位位1 2 3 4 5 6执行部件执行部件(EU(EU)输入输入/输出输出 控制电路控制电路16位位 外部总线外部总线 指令队列指令队列总线接口部件总线接口部件(BIU)通用寄存器通用寄存器地址地址 加法器加法器运算器运算器通用寄存器通用寄存器8 8个个标志寄存器标志寄存器1 1个个EUEU控制器件控制器件段寄存器段寄存器地址加法器地址加法器 指令预取队列指令预取队列总线总线控控制器件制器件18第2章 微处理器基础总线接口单元BIU的功能由指令预取单元负责从指定内存单元取出指令,送到由指令预取单元负责从指定内存单元取出指令,送到指令队列指令队列中排队。中排队。80888088指指令令队队列列是是6 6字字节节的的RAMRAM存存储储器器(8088(8088为为4 4字字节节),队队列列中中最最多多可可存存放放6 6个字节的指令,取来的指令按字节顺序存放。个字节的指令,取来的指令按字节顺序存放。当队列有两个以上指令字节空时,当队列有两个以上指令字节空时,BIUBIU自动执行总线操作,继续取指令。自动执行总线操作,继续取指令。执执行行指指令令时时,如如要要取取操操作作数数,也也由由BIUBIU从从内内存存或或I/OI/O接接口口指指定定区区域域取取出出,送给送给EUEU部件去执行。部件去执行。内存内存指令预取队列指令预取队列负责传送信息(与存储器、输入输出设备)负责传送信息(与存储器、输入输出设备)19第2章 微处理器基础执行单元EU的功能负责从负责从BIUBIU中的指令队列中取得指令和数据。中的指令队列中取得指令和数据。当当指指令令要要求求向向存存储储器器和和I/OI/O电电路路读读或或写写数数据据时时,EUEU向向BIUBIU发发出出请请求求,BIUBIU自动完成这些操作。自动完成这些操作。若若执执行行转转移移指指令令,则则存存在在指指令令队队列列缓缓冲冲器器中中的的指指令令就就没没用用了了,应应到到新新的的地地址址单单元元取取出出指指令令。BIUBIU新新取取出出的的第第一一条条指指令令直直接接送送到到EUEU中中执执行行,随随后重新填充指令队列。后重新填充指令队列。从指令预取从指令预取队列取指令队列取指令译译码码ALU完完成运算成运算运算结果特征放运算结果特征放到标志寄存器中到标志寄存器中负责翻译和负责翻译和执行指令执行指令20第2章 微处理器基础引入指令预取队列的优势nEUEU和和BIUBIU两部分两部分(取指令和执行指令取指令和执行指令)同时工作,提高同时工作,提高CPUCPU效率效率n降低对存储器存取速度的要求降低对存储器存取速度的要求(指令已放到指令预取队列中指令已放到指令预取队列中)指令指令1指令指令2指令指令3指令指令m指令预取队列指令预取队列指指令令 1 指指令令 2 指指令令 3 指指令令 4 指指令令n 内存内存21第2章 微处理器基础2.3.3 微处理器工作方式比较有两种工作方式:有两种工作方式:串行方式、并行方式串行方式、并行方式串行方式串行方式:取指令和执行指令在不同时刻按顺序执行取指令和执行指令在不同时刻按顺序执行并行方式并行方式:取指令和执行指令同时工作。需要硬件支持取指令和执行指令同时工作。需要硬件支持取指令取指令指令指令译码译码取操取操作数作数执行执行指令指令存放存放结果结果DecodeFetchFetchExecutePut22第2章 微处理器基础串行方式和并行方式的特点n 80868086以前的以前的CPUCPU采用串行工作方式采用串行工作方式n 8086 8086以后以后CPUCPU采用并行流水线工作方式采用并行流水线工作方式取指令取指令1 1执行执行1 1取指令取指令2 2执行执行2 2CPUCPUBUSBUS状态状态取指令取指令3 3执行执行3 3取指令取指令4 4执行执行1 1忙忙CPUCPU串串行行方方式式并并行行流流水水线线方方式式BUSBUS状态状态取出的指令先放到取出的指令先放到CPUCPU中的指令预取队列中中的指令预取队列中,排队等待执行排队等待执行闲闲忙忙闲闲忙忙取指令取指令2 2执行执行2 2取指令取指令3 3执行执行3 3取指令取指令1 1忙忙忙忙忙忙忙忙闲闲23第2章 微处理器基础8086CPU特点n 采用并行流水线工作方式:采用并行流水线工作方式:由指令预取单元把从内存取出的指令先存到由指令预取单元把从内存取出的指令先存到CPUCPU中的指令预取队列,实现取指中的指令预取队列,实现取指令和执行指令的并行流水线工作方式,提高令和执行指令的并行流水线工作方式,提高CPUCPU效率。效率。n 对内存空间实行分段管理:对内存空间实行分段管理:内存分为多个段,设置地址段寄存器,实现内存分为多个段,设置地址段寄存器,实现1MB1MB空间寻址空间寻址n 支持多处理器系统支持多处理器系统指令指令1指令指令2指令指令3指令指令n 内存内存 处理器处理器1 1处理器处理器2 2 处处 理理 器器 系系 统统分段分段指令预取队列指令预取队列段可重叠段可重叠24第2章 微处理器基础2.4 8086CPU的工作模式及引脚信号n 80868086有两种工作模式:有两种工作模式:最小模式和最大模式。最小模式和最大模式。n 最小模式最小模式(单处理机模式单处理机模式):):控制信号少,一般不必接总线控制器。控制信号少,一般不必接总线控制器。n 最大模式最大模式(多处理机模式多处理机模式):控制信号多,须通过总线控制器与总线相连。控制信号多,须通过总线控制器与总线相连。n 注意:注意:8028680286以后的以后的CPUCPU不再区分这两种工作模式不再区分这两种工作模式下面分别介绍下面分别介绍25第2章 微处理器基础最小模式连接示意图时钟发时钟发生生 器器8086CPU控制总线控制总线数据总线数据总线地址总线地址总线地址地址锁存锁存数据数据缓存缓存只有一个只有一个CPUCPU26第2章 微处理器基础最大模式连接示意图8086CPU数据总线数据总线地址总线地址总线地址地址锁存锁存数据数据缓存缓存总总 线线控制器控制器控制总线控制总线必须通过总线控制器与总线相连必须通过总线控制器与总线相连其他其他CPU时钟发时钟发生生 器器27第2章 微处理器基础8086CPU引线概述n 引脚分类引脚分类(按信息类型按信息类型):地址线、数据线、控制线三类地址线、数据线、控制线三类n 单信息引脚:单信息引脚:每个引脚只传送一种信息(如每个引脚只传送一种信息(如 RD RD)n 一脚两用:一脚两用:通过引脚电平的高低进行区别(如通过引脚电平的高低进行区别(如 M/IO M/IO)n 不同含义引脚:不同含义引脚:不同方式下,名称和定义不同不同方式下,名称和定义不同(如如 WR/LOCK)WR/LOCK)n 分时复用引脚:分时复用引脚:如如ADAD1515ADAD0 0,有时做地址线,有时做数据线,有时做地址线,有时做数据线n 双向引脚:双向引脚:既可做输入引脚,也可做输出引脚(既可做输入引脚,也可做输出引脚(RQ/GTRQ/GT0 0等)等)共共4040条引线条引线28第2章 微处理器基础工作模式引脚MN/MXn MN/MX=0 MN/MX=0:工作于最大模式:工作于最大模式n MN/MX=1 MN/MX=1:工作于最小模式:工作于最小模式8086CPUMN/MXMN/MX8086CPUMN/MXMN/MX0(接地接地GND)1(接接Vcc)最大模式最大模式最小模式最小模式29第2章 微处理器基础最小模式控制信号引线WR(Write)WR(Write):写信号,低电位有效,表示写信号,低电位有效,表示CPUCPU正在对内存或外设进正在对内存或外设进行写操作。行写操作。RD(Read)RD(Read):读信号,低电位有效,表示读信号,低电位有效,表示CPUCPU正在对内存或外设进行正在对内存或外设进行读操作。读操作。M/IO(Memory/IO)M/IO(Memory/IO):区分是访问内存还是访问区分是访问内存还是访问I/OI/O设备,高电平时设备,高电平时访问内存,低电平时访问外设。访问内存,低电平时访问外设。DENDEN(Data Enabled):数据允许信号,低电平有效,表示数据线上数据允许信号,低电平有效,表示数据线上存在有效数据,即表示允许读存在有效数据,即表示允许读/写操作写操作例例 当当WR=1WR=1,RD=0RD=0,M/IO=1,DEN=0M/IO=1,DEN=0时,表示时,表示CPUCPU正在读内存正在读内存接下页接下页30第2章 微处理器基础最小模式控制信号引线READYREADY:准备好信号,由存储器或准备好信号,由存储器或I/OI/O设备发出设备发出DT/R(Data Transmit/Receipt)DT/R(Data Transmit/Receipt):数据传送数据传送/接收接收控制信号。高电位时表示控制信号。高电位时表示CPUCPU向内存或向内存或I/OI/O设备传送数据,低电位时表示设备传送数据,低电位时表示CPUCPU接收内存或接收内存或I/OI/O设备设备的数据。的数据。接下页接下页31第2章 微处理器基础最小模式控制信号引线BHE/SBHE/S7 7(Byte High Enabled/State)(Byte High Enabled/State):字节高位数据总线允许控制字节高位数据总线允许控制/状态状态 分时复用信号线分时复用信号线。为。为低电位时,表示可使用低电位时,表示可使用1616位数据线位数据线ADAD0 0ADAD1515,否则只能,否则只能使用使用8 8位数据线位数据线ADAD0 0ADAD7 7。ALEALE(Address Lock Enabled)Address Lock Enabled):地址锁存允许信号,高地址锁存允许信号,高电位有效,表示电位有效,表示CPUCPU地址线上存在有效地址地址线上存在有效地址RESETRESET:系统复位信号系统复位信号接下页接下页32第2章 微处理器基础最小模式下的地址、数据引线n AD AD1515ADAD0 0:地址、数据分时复用信号线。地址、数据分时复用信号线。当当ALE=1ALE=1时,用于传输地址信号,单向传输。时,用于传输地址信号,单向传输。当当DEN=0DEN=0时,用于传输数据信号,双向传输。时,用于传输数据信号,双向传输。n A A1919/S/S3 3A A1616/S/S6 6:地址、状态分时复用信号线。地址、状态分时复用信号线。当访问内存时,为高当访问内存时,为高4 4位地址信号。位地址信号。其他时候为状态信号其他时候为状态信号接下页接下页33第2章 微处理器基础中断请求和响应信号(重点)n INTR(Interrupt Request)INTR(Interrupt Request)可屏蔽中断请求信号可屏蔽中断请求信号(输入端输入端)n NMI(Not Masked Interrupt)NMI(Not Masked Interrupt)非屏蔽中断请求信号非屏蔽中断请求信号(输入端输入端)n INTA(Interrupt Acknowledge)INTA(Interrupt Acknowledge)中断响应信号中断响应信号(输出端输出端)INTRCPUNMIINTA接下页接下页34第2章 微处理器基础总线保持信号(重点)n HOLDHOLD:总线保持请求信号输入端。当总线保持请求信号输入端。当CPUCPU以外的其他设备要求占用总线时,通以外的其他设备要求占用总线时,通过该引脚向过该引脚向CPUCPU发出请求。发出请求。n HLDA(HOLD Acknowledge)HLDA(HOLD Acknowledge):总线保持响应信号输出端。总线保持响应信号输出端。CPUCPU对对HOLDHOLD信号的响应信号。信号的响应信号。HOLD CPUHLDA 输入信号输入信号输出信号输出信号35第2章 微处理器基础2.5 工作时序n 工作时序工作时序:当微处理器执行指令时,要送出一系列控制信号,这些控制信当微处理器执行指令时,要送出一系列控制信号,这些控制信号在时间上的关系称为微处理器的时序。号在时间上的关系称为微处理器的时序。n 微处理器的工作时序可分为微处理器的工作时序可分为4 4种类型的周期:种类型的周期:时钟周期、总线周期、机器周期和指令周期。(见下页)时钟周期、总线周期、机器周期和指令周期。(见下页)36第2章 微处理器基础1.时钟周期(Clock Cycle)n也称也称T T状态,是微处理器处理动作的最小时间单位。状态,是微处理器处理动作的最小时间单位。n时钟周期值由系统时钟时钟周期值由系统时钟f f确定,两者关系是确定,两者关系是T=1/fT=1/f。n时钟周期越短,时钟周期越短,CPUCPU执行速度越快。执行速度越快。n例如,例如,80868086时钟频率为时钟频率为5MHz5MHz,即时钟周期为,即时钟周期为200ns200ns。n是计算机的基本工作脉冲,控制计算机的工作节奏是计算机的基本工作脉冲,控制计算机的工作节奏 37第2章 微处理器基础2.总线周期(Bus Cycle)n通过总线对存储器或通过总线对存储器或I/OI/O接口进行一次访问需要的时间接口进行一次访问需要的时间n包括多个时钟周期。执行一条指令需要若干个总线周包括多个时钟周期。执行一条指令需要若干个总线周期期总线周期总线周期T T1 1T T2 2T T3 3T T4 4地址地址缓存缓存数据数据数据数据缓存缓存地址地址T T1 1T T2 2T T3 3T T4 4总线周期总线周期38第2章 微处理器基础3.机器周期(Machine Cycle)n完成一个基本操作需要的时间称为机器周期。完成一个基本操作需要的时间称为机器周期。n一条指令的执行过程被划分为若干个阶段,每个阶段做一项基一条指令的执行过程被划分为若干个阶段,每个阶段做一项基本操作。基本操作有取指令、读存储器、写存储器等。本操作。基本操作有取指令、读存储器、写存储器等。n一个机器周期由若干个一个机器周期由若干个S(State)周期周期(状态周期状态周期)组成。组成。39第2章 微处理器基础4.指令周期(Instruction Cycle)n执行一条指令执行一条指令所需所需时间时间n不同不同指令,指令,指令周期指令周期不同不同n一个一个指令周期由若干指令周期由若干个机器周期组成个机器周期组成n简单简单指令只需指令只需一个机器周期,复杂一个机器周期,复杂需需若干若干个机器周个机器周期期 指令周期指令周期 =机器周期机器周期 时钟周期时钟周期 长到短长到短40第2章 微处理器基础2.6 8086/8088存储管理(重点)n80868086存储器:存储器:1MB(21MB(220 20 B)B)n按字节寻址:每个字节有一个地址按字节寻址:每个字节有一个地址n存储器分成:若干个逻辑段存储器分成:若干个逻辑段n原因:都是原因:都是1616位寄存器位寄存器n段寄存器:存放段的基地址段寄存器:存放段的基地址n每段为:每段为:2 21616B=64KB B=64KB 逻逻辑辑段段首单元首单元某单元某单元物理地址下页物理地址下页41第2章 微处理器基础由逻辑地址算出物理地址0 0 0 0段基地址段基地址(16位位)段首地址段首地址(后后4位是位是0)例题下页例题下页某某段段某单元某单元 偏移量偏移量n逻辑地址写成:逻辑地址写成:xxxxH:yyyyHxxxxH:yyyyH 段基地址段基地址 段内偏移地址段内偏移地址n如:如:1E00:3800H 1E00:3800Hn计算物理地址:计算物理地址:段基地址段基地址10H+10H+段内偏移地址段内偏移地址n如:如:1E0010H+3800H=1E000+3800=1E3800H 1E0010H+3800H=1E000+3800=1E3800H首单元首单元42第2章 微处理器基础计算物理地址举例1设设:某段的基地址为某段的基地址为6000H6000H求求:1):1)段首的物理地址段首的物理地址 2)2)偏移量为偏移量为9 9的物理地址的物理地址解:解:1)1)段首的物理地址段首的物理地址 6000H16+00 6000H16+0000H=60000H00H=60000H2)2)偏移量偏移量9 9单元的物理地址单元的物理地址 6000H16+9H=60009H 6000H16+9H=60009H逻逻辑辑段段首单元首单元段基址段基址6000H6000H 偏移地址偏移地址9H9H43第2章 微处理器基础计算物理地址举例2n 已知各段的基地址:已知各段的基地址:CS=1055H CS=1055H,DS=250AHDS=250AH ES=2EF0H ES=2EF0H,SS=8FF0HSS=8FF0Hn 求各个段首的物理地址?求各个段首的物理地址?结果结果:10550H 250A0H:10550H 250A0H 2EF00H 8FF00H 2EF00H 8FF00HCSDSESSS 44第2章 微处理器基础程程序序堆栈段n堆栈:堆栈:内存中的一个逻辑段,用于存放暂内存中的一个逻辑段,用于存放暂时不用或需要保护的数据。时不用或需要保护的数据。n用途:用途:用于响应中断或子程序调用用于响应中断或子程序调用n指针:指针:栈顶、栈底栈顶、栈底n堆栈操作:堆栈操作:入栈、出栈入栈、出栈n操作原则:操作原则:先进后出先进后出栈顶栈顶SP 1字节数据字节数据1字节数据字节数据1字节数据字节数据1字节数据字节数据 栈底栈底.调用子程序调用子程序.子子程程序序.返回调用处返回调用处 为什么能够返为什么能够返回回调用处?调用处?45第2章 微处理器基础计算堆栈地址举例已知:已知:SS=1000H SS=1000H,SP=2000HSP=2000H,堆栈段最后一个单,堆栈段最后一个单元的物理地址为元的物理地址为13000H13000H。问:堆栈段的段首物理地址问:堆栈段的段首物理地址=?栈顶物理地址栈顶物理地址=?栈底偏移地址栈底偏移地址=?答:堆栈段的首地址答:堆栈段的首地址=10000H=10000H 栈顶地址栈顶地址=12000H=12000H 栈底偏移地址栈底偏移地址=3000H=3000H段首段首栈底栈底栈顶栈顶堆堆栈栈段段46填空题(更多习题见教材)1.1.CSCS、DSDS、SSSS、ESES表示的表示的寄存器寄存器是是_、_、_和和_。2.2._段段用用于于存存放放当当前前要要执执行行的的指指令令段段,只只有有已已经经放放到到_段段的的指指令令才才能能被被执执行行。_段用于存放指令要访问的数据,段用于存放指令要访问的数据,_段用于临时存放一些数据。段用于临时存放一些数据。3.3.标标志志寄寄存存器器中中有有若若干干个个状状态态标标志志位位。CFCF是是_标标志志位位、OFOF是是_标标志志位位,ZFZF是是_标标志志位位,SFSF是是_标标志志位位。当当运运算算结结果果为为零零时时,ZFZF值值变变为为_,否否则则值值为为_。标志寄存器由系统标志寄存器由系统_控制,程序员不能直接控制,程序员不能直接_。4.4.80868086微处理器按功能分为两个部件,即微处理器按功能分为两个部件,即_和和_,前者负责,前者负责_,后者负责,后者负责_。5.5.微微处处理理器器中中的的ALU(ArithmeticALU(Arithmetic Logical Logical Unit)Unit)称称为为_,用用于于_运运算算和和_运运算算,运算结果的特征反映在运算结果的特征反映在_寄存器中。寄存器中。6.6.CPUCPU串串行行工工作作方方式式是是指指_和和_不不能能同同时时进进行行,要要在在_时时刻刻按按顺顺序序执执行行。CPUCPU并并行流水线工作方式是指行流水线工作方式是指_和和_同时进行。同时进行。477.7.若内存逻辑段的段内采用若内存逻辑段的段内采用1616根地址线寻址,则一个段的地址最大值是根地址线寻址,则一个段的地址最大值是_。8.8.设某存储单元的逻辑地址为设某存储单元的逻辑地址为1E00:3800H1E00:3800H。1E001E00是是_地址,地址,3800H3800H是是_地址。地址。9.9.对应的物理地址对应的物理地址是是_。9.9.设设CSCS段的基地址为段的基地址为1055H1055H,CSCS段首单元的物理位地址段首单元的物理位地址是是_。10.10.设设SS=1000HSS=1000H,SP=2000HSP=2000H,堆堆栈栈段段首首单单元元的的物物理理地地址址是是_,栈栈顶顶单单元元的的物物理理地地址址是是_。48简答题1.1.什么是什么是CPUCPU的串行工作方式和并行工作方式?的串行工作方式和并行工作方式?2.2.CPUCPU内部内部EUEU的中文含义和功能,的中文含义和功能,BIUBIU的中文含义和功能。的中文含义和功能。3.3.标标志志寄寄存存器器的的状状态态标标志志位位CFCF、ZFZF、SFSF、OFOF、PFPF、AFAF各各自自的的作用和取值。作用和取值。4.4.堆栈的用途、操作和操作原则。堆顶和堆首的区别。堆栈的用途、操作和操作原则。堆顶和堆首的区别。49