




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2023/1/301微型计算机技术WeixinɡJisuɑnjiJishu
(第3版)
2023/1/302
第2章
8086微处理器2023/1/3038086微处理器2.18086微处理器的结构2.28086微处理器的引脚功能2.38086微处理器的基本时序2023/1/3042.18086微处理器的结构
2.1.1执行部件和总线接口部件
2.1.28086的编程结构
2.1.38086系统中的存储器组织及物理地址的形成2023/1/3052.28086微处理器的引脚功能2.2.1引脚功能说明2.2.28088引脚与8086引脚的不同之处2023/1/306
2.38086微处理器的基本时序2.3.1指令周期、总线周期和时钟周期2.3.2几种基本时序的分析2023/1/3072.1.1执行部件和总线接口部件微处理器执行程序的步骤①从内存储器中取出一条指令,分析指令操作码;②读出一个操作数(如果指令需要操作数);③执行指令;④将结果写入内存储器或输出设备(如果指令
需要)。2023/1/308执行部件和总线接口部件8086微处理器被设计为两个独立的功能部件,总线接口部件和执行部件,并在大多数情况下,能使大部分的取指令和执行指令重叠进行。提高了程序的执行速度,充分利用总线,2023/1/309功能部件2023/1/3010总线接口部件
(BusInterfaceUnit,BIU)由段寄存器、指令指针、地址形成逻辑、总线控制逻辑和指令队列等组成。BIU负责从内存指定区域取出指令送到指令队列中排队;执行指令时所需要的操作数(内存操作数和I/O端口操作数)也由BIU从相应的内存区域或I/O端口中取出,传送给执行部(EU)。指令执行的结果如果需要存入内存或I/O端口,也由BIU写入相应的内存区域或I/O端口。总之,BIU的功能是:同外部总线连接,为EU和内存(及外设接口)之间提供信息通路。并形成20位的内存物理地址。(注:教材中P13中漏了这一句)。2023/1/3011执行部件(ExecutionUnit,EU)由通用寄存器、标志寄存器、算术逻辑单元(ALU)和EU控制系统等组成。EU从BIU的指令队列中获得指令,然后执行该指令,完成指令所规定的操作。EU用来对寄存器内容和指令操作数进行算术和逻辑运算,以及进行内存有效地址的计算。EU负责全部指令的执行,向BIU提供数据和所需访问的内存或I/O端口的地址,并对通用寄存器、标志寄存器和指令操作数进行管理。2023/1/3012
取指令和执行指令重叠进行2023/1/30138088与8086的区别8088微处理器是一种准16位微处理器,内部采用16位结构,实质上与8086基本上是相同的,其内部功能部件EU与8086一样,而BIU略有区别。第一,8086的指令队列是6字节长,而8088的指令队列为4字节长;第二,8086是真正的16位机,同BIU相连的8086总线中的数据总线是16位总线,而8088是准16位机,同BIU相连的8088总线中的数据总线为8位总线。2023/1/3014
2.1.28086的编程结构可供程序员使用的有14个16位寄存器。1.通用寄存器(General‐PurposeRegister,GPR)可分为两组。1)数据寄存器累加器AX(Accumulator)、基址寄存器BX(BaseRegister)、计数寄存器CX(CountRegister)数据寄存器DX(DataRegister)。2023/1/3015通用寄存器
AXAHALBXBHBLCXCHCLDXDHDLSPBPSIDI2023/1/30161.通用寄存器1)数据寄存器2)指针寄存器(PointerRegister)和变址寄存器(IndexRegister)2023/1/3017数据寄存器特点是:每个16位寄存器可分为高8位(AH、BH、CH和DH)低8位(AL、BL、CL和DL),这两组8位寄存器可分别寻址、独立操作。既可以将数据寄存器作为一个16位寄存器进行操作,又可用做两个8位寄存器进行操作。2023/1/3018数据寄存器可以存放参加操作的数据、操作的中间结果,也可以是操作数的地址。大多数算术和逻辑运算指令都可以使用这些数据寄存器。2023/1/30192)指针寄存器(PointerRegister、变址寄存器(IndexRegister)堆栈指针寄存器SP(StackPointer)、基址指针寄存器BP(BasePointer)、源变址寄存器SI(SourceIndex)目的变址寄存器DI(DestinationIndex)用来形成操作数的地址,用于堆栈操作和变址运算中计算操作数的有效地址。SP、BP用于堆栈操作SI、DI用于变址操作2023/1/3020通用寄存器在8086的指令系统中,许多情况下,某些指令只能用一个特定的寄存器或寄存器组来完成其功能,对这些用来完成特定操作的8086指令,上述通用寄存器具有一些隐含用法通用寄存器的隐含用法2023/1/30212023/1/30222.指令指针
(InstructionPointer,IP)16位专用寄存器,它指向当前需要取出的指令字节,当BIU从内存中取出一个指令字节后,IP就自动加1,指向下一指令字节。注意,IP指向的是指令地址的段内地址偏移量,又称偏移地址(OffsetAddress)或有效地址(EffectiveAddress,EA)。
程序员不能对IP进行存取操作,程序中的转移指令、返回指令以及中断处理能对IP进行操作。2023/1/30233.标志寄存器FR(FlagRegister)16位的标志寄存器FR定义了9位,6位是状态位,3位是控制位2023/1/3024标志寄存器FR(FlagRegister)定义了9位
6位状态位 C、A、Z、S、O、P3位控制位I、D、TOFDFIFTFSFZFAFPFCFInterruptenableDirectionTrapCarryAuxiliaryCarryZeroSignOverflowParity2023/1/30251)状态位①进位标志CF(CarryFlag)———
反映算术运算后,最高位(字节操作为D7位,字操作为D15位)出现进位(或借位)的情况,有则为1。CF主要用于加、减法运算,移位和环移指令也会改变CF值。②奇偶(校验)标志PF(ParityFlag)———
反映操作结果中1的个数的情况,若为偶数,PF置1,主要在数据通信中用来检查传送有无出错(注意,只考虑低8位)。③辅助进位标志AF(AuxiliaryCarryFlag)———
反映一个8位量(或16位量的低位字节)的低4位向高位(即D3位向D4位)有无进位(或借位)的情况,有则置1,AF用于BCD码算术运算指令。2023/1/3026状态位④零标志ZF(ZeroFlag)———
反映运算结果是否为零的情况,结果为零,ZF置1。⑤符号标志SF(SignFlag)———
反映带符号数运算结果符号位的情况,结果为负数,SF置1,SF的取值与运算结果的最高位(字节操作为D7位,字操作为D15位)取值一致。⑥溢出标志OF(OverflowFlag)———
反映带符号数(以二进制补码表示)运算结果是否超过机器所能表示的数值范围的情况,对字节运算为-128~+127,对字运算为-32768~+32767。若超过上述范围,称为“溢出”,OF置1。2023/1/3027状态位“溢出”与“进位”是两个不同的概念,某次运算结果有“溢出”不一定有“进位”
;反之,有“进位”也不一定有“溢出”。6个状态标志由执行部件EU设置,反映算术或逻辑运算结果的某些特征,这些状态标志常用来影响或控制某些后续指令(例如条件转移指令、循环指令等)的执行。不同指令对状态标志的影响不一样,有些指令不影响状态标志。另外,进位标志CF可由专用指令设置。2023/1/30282)控制位①方向标志DF(DirectionFlag)———
在进行字符串操作时,每执行一条串操作指令,对源或(与)目的操作数的地址要进行一次调整(对字节操作为加1或减1,对字操作为加2或减2),由DF决定地址是递增还是递减。若DF=1为递减,即从高地址向低地址进行;DF=0为递增。DF可由专用指令设置。2023/1/3029控制位②中断允许标志IF(InterruptEnableFlag)———
表示系统是否允许响应外部的可屏蔽中断,若IF=1,表示允许响应。IF对不可屏蔽中断请求以及内部中断不起作用。IF可由专用指令设置。③陷阱标志TF(TrapFlag)———
当TF=1时,微处理器每执行完一条指令便自动产生一个内部中断,转去执行一个中断服务程序,可以借助中断服务程序来监视每条指令的执行情况,称为“单步工作方式”,常用于程序的调试。TF又称为跟踪标志。3个控制标志用来控制微处理器的某些操作,可以由指令来设置。2023/1/30304.段寄存器
在微型计算机系统的内存中通常存放着三类信息:①代码(指令)———
指示微处理器执行何种操作。②数据(字符、数值)———
程序处理的对象。③堆栈信息———
被保存的返回地址和中间结果。在8086系统中,这三类信息通常分别存放在各自的内存区域中———
8086存储系统中的不同存储段。2023/1/3031段寄存器
8086系统中把可直接寻址的1MB内存空间划分为称为“段”(Segment)的逻辑区域,每个段的物理长度为64KB,而段的起始地址由称为“段寄存器”(SegmentRegister)的4个16位寄存器决定。
8086利用上述段寄存器的内容,通过适当转换可以访问这4个存储段———
代码段、堆栈段、数据段和附加段。2023/1/3032段寄存器
①代码段寄存器CS(CodeSegment),指向当前的代码段,指令由此段中取出。②堆栈段寄存器SS(StackSegment),指向当前的堆栈段,堆栈操作的对象就是该段中存储单元的内容。③数据段寄存器DS(DataSegment),指向当前的数据段,通常用来存放程序变量(存储器操作数)。④附加段寄存器ES(ExtraSegment),指向当前的附加段,通常也用来存放数据以及—
些专用指令的操作数。2023/1/30332.1.38086系统中的存储器组织及物
理地址的形成1.存储器组织8086微处理器有20条地址线,可以配置1MB(1048576B)的内存储器,地址编号为00000H~FFFFFH。存储空间都按8位字节进行组织,每个存储单元存储一个字节数据。若存放“字”数据(16位),则存放在相邻两个存储单元中,按小数端存放规则,高字节存放在高地址单元,低字节存放在低地址单元(W=BHBL)2023/1/30342.存储器分段
1)为什么要分段因为8086微处理器内部的数据通路和寄存器皆为16位,内部ALU只能进行16位运算,在程序中也只能使用16位地址,寻址范围局限在216=65536B(64KB),为了能寻址1MB的地址,所以引入“分段”的概念。2023/1/30352)分段8086程序把1MB的存储空间看做是一组存储段,各段的功能由具体用途而定,分别为代码段、堆栈段、数据段和附加段。一个存储段是存储器的一个逻辑单位,其长度可达64KB,每个段都由连续的存储单元构成,是存储器中独立的、可分别寻址的单位。每段第一个字节的位置称为“段起始地址”,可由软件指定。对段起始地址的要求是:最好能被16整除(起始地址为××××0H)。段寄存器中存放了与段起始地址有关的16位“段基值”(SegmentBaseValue),2023/1/3036分段一旦4个段寄存器的内容确定后,程序就可访问4个段中的任一存储单元。若程序超过64KB,则必须通过给段寄存器重新赋新值,把超出部分转到新段中。注意,几个段可以相互重叠,也可指向同一个64KB的空间。2023/1/30373)物理地址与逻辑地址在具有地址变换机构的计算机中,有两种存储器地址:一种是允许在程序中编排的地址———逻辑地址(LogicalAddress);另一种是信息在存储器中实际存放的地址———
物理地址(PhysicalAddress)。在8086系统中每个存储单元也有两种地址。2023/1/3038物理地址与逻辑地址
8086系统中,8086微处理器与内存储器之间所有信息交换都要使用20位的物理地址,而在程序中所涉及的地址是16位的逻辑地址。对给定的任一存储单元而言有两部分逻辑地址:段基值———
决定所在段第一个字节的位置,段内偏移量(Offset)———
该存储单元相对于该段起始单元的距离。2023/1/3039物理地址与逻辑地址
段基值存放在段寄存器(CS、SS、DS、ES)中,而段内偏移量由寄存器SP、BP、SI、DI、IP、BX和直接地址以及上述寄存器和直接地址的组合而形成。存储单元的20位物理地址是通过将16位的段基值左移4位再加上16位的段内偏移量(又称偏移地址)生成的。2023/1/3040逻辑地址的来源
①当取指令时,8086会自动选择CS值作为段基值,再加上由IP提供的偏移量形成物理地址。②当涉及堆栈操作时,8086会自动选择SS值作为段基值,再加上由SP提供的偏移量形成物理地址。③当涉及一个存储器操作数(除以BP为地址寄存器外)时,8086会自动选择DS值作为段基值,再加上16位偏移量形成物理地址,这16位偏移量可来自:指令中提供的直接地址———
16位的位移量。某一个16位地址寄存器(BX、DI或SI)的值。指令中的位移量加上16位地址寄存器(BX、BP、DI或SI)的值。2023/1/3041逻辑地址的来源
④ES用于串操作指令中的数据块传送指令。⑤当存储器操作数中偏移量采用BP为地址寄存器时,8086会自动选择SS值为段基值,再加上以BP为基址的16位偏移量形成物理地址。2023/1/3042逻辑地址的来源
(EA
,
EffectiveAddress为有效地址,反映操作数的段内偏移地址)
操作类型隐含的段基值可替换的段基值
偏移地址取指令CS
无IP,[CS:IP]堆栈操作SS
无SP,[SS:SP]BP用作基址寄存器SSCS、DS、ESEA,[SS:EA]通用数据读写DSCS、ES、SSEA,[DS:EA]字符串操作(源地址)DSCS、ES、SSSI,[DS:SI]字符串操作(目的地址)ES
无DI,[ES:DI]2023/1/30432.28086微处理器的引脚功能在对计算机系统和计算机应用系统进行分析和设计时,理解微处理器(CPU)芯片的引脚功能以及总线上有关信号的时间关系是十分重要的。8086微处理器是Intel公司的第三代微处理器———16位微处理器。它采用40条引脚的DIP(DualIn‐linePacage,双列直插)封装。2023/1/3044
8086的40条引脚信号按功能可分为4部分─地址总线数据总线控制总线其它(时钟与电源)。
2023/1/30452.2.1引脚功能说明
1、地址总线和数据总线
2、控制总线1—
同工作方式有关的控制信号
3、控制总线2—
同工作方式无关的控制总线
4、其他信号2023/1/30461)双重总线、分时复用
21条引脚传送42个信号
AD0~AD15,
A16/S3~A19/S6,
/S7。1.地址总线和数据总线2023/1/3047
2)三种周期
指令周期(InstructionCycle)执行一条指令所需要的时间称为指令周期,不同指令的指令周期是不等长的。
总线周期(BusCycle)
8086CPU与外部交换信息总是通过总线进行的。CPU的每一个这种信息输入、输出过程需要的时间称为总线周期,一个指令周期由一个或若干个总线周期组成。
2023/1/3048
时钟周期(ClockCycle)执行指令的一系列操作都是在时钟脉冲CLK的统一控制下一步一步进行的,时钟脉冲的重复周期称为时钟周期,时钟周期是CPU的时间基准,由计算机的主频决定,8086CPU的总线周期至少由4个时钟周期组成,分别以T1、T2、T3和T4表示。2023/1/30493)AD0~AD15
在每个总线周期开始(T1)时,用作地址总线的16位(A15~A0),给出内存单元(或I/O端口)的地址;其它时间为数据总线,用于数据传输。4)A16/S3~A19/S6,/S7
在每个总线周期开始(T1)时,作地址总线的高4位(A19~A16)和,2023/1/30504)A16/S3~A19/S6,/S7
在存储器操作中为高4位地址,在I/O操作中,这4位置“0”(低电平)。在总线周期的其余时间,这4条信号线指示CPU的状态信息。当 为低电平时,把读/写的8位数据与AD15~AD8连通。该信号与A0(地址信号最低位)结合以决定16位数据字是高字节工作还是低字节工作。
2023/1/3051S4、S3的编码表S4S3特性(所使用的段寄存器)LLESLHSSHLCS(或者不是存储器操作)HHDS2023/1/30522、控制总线1—
同工作方式有关的控制信号
1)MN/
最小/最大方式控制线,用来控制8086的工作方式。当MN/接+5V时,8086处于最小方式,由8086提供系统所需的全部控制信号,用来构成一个小型的单处理机系统。当MN/接地时,8086处于最大方式,系统的总线控制信号由专用的总线控制器8288提供,用来构成一个多处理器或协处理器系统。
2023/1/3053
2)、、—
总线周期状态信号(三态、输出)表示8086外部总线周期的操作类型,在最小方式下, 、、三引脚分别为 、和。为存储器/IO控制信号(输出、三态),用于区分CPU是访问存储器(=H),还是访问I/O端口(=L)。为数据发送/接收信号(输出、三态),用于指示CPU是进行写操作(=H)还是读操作(=L)。为数据允许信号(输出、三态),在CPU访问存储器或I/O端口的总线周期的后一段时间内,该信号有效,用作系统中总线收发器的允许控制信号。2023/1/3054
、、译码表
操作类型(CPU周期)LLL中断响应LLH读I/O端口LHL写I/O端口LHH暂停HLL取指HLH读存储器(数据)HHL写存储器HHH无效(无总线周期)2023/1/3055
3), 请求/允许总线访问控制信号(双向)。 在最小方式下,和二引脚分别为HOLD和HLDA。HOLD为保持请求信号(输入)。
HLDA为保持响应信号(输出),这是CPU对HOLD信号的响应信号。2023/1/3056 4)QS1,QS0
指令队列状态信号(输出)。在最小方式下,QS1、QS0二引脚分别为ALE和。ALE为地址锁存允许信号(输出),为中断响应信号(输出、三态)。
5) 总线优先权锁定信号(输出、三态)该信号用来封锁外部处理器的总线请求,当输出低电平时,外部处理器不能控制总线,信号有效由指令LOCK在程序中设置,在最小方式下,引脚为信号。2023/1/30573、控制总线2—
同工作方式无关的控制总线
─读控制信号(三态、输出)
READY─等待状态控制信号,又称准备就绪信号(输入)。当被访问的部件无法在8086CPU规定的时间内完成数据传送时,应由该部件向8086CPU发出READY=L(低电平),使8086CPU处于等待状态,插入一个或几个等待周期TW,当被访问的部件可以完成数据传输时,被访问的部件将使READY=H(高电平),8086CPU继续运行。2023/1/3058INTR─中断请求信号(输入)NMI─不可屏蔽中断请求信号(输入)─等待测试控制信号(输入)RESET─复位信号(输入)。当RESETA为高电平时,系统处于复位状态,8086CPU停止正在运行的操作,把内部的标志寄存器FR、段寄存器、指令指针IP以及指令队列复位到初始化状态。注意,代码段寄存器CS的初始化状态为FFFFH。2023/1/30594、其他信号
(1)CLK———
时钟
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产项目财务顾问与投资分析合同
- 成都市二手房买卖合同附带原开发商遗留问题处理协议
- 澳大利亚劳务派遣与文化交流合同
- 工程现场铲车作业安全责任承包合同
- 铝矿熟料产业链协同合作协议范本
- 场部保密技术培训与保密协议签署
- 生态餐饮企业股权转让与绿色餐饮市场拓展协议
- 汽车租赁公司停车场车位租赁合同范本
- 茶具品牌形象设计与维护合同
- 成都市多层住宅二手房买卖违约责任合同
- T/CCS 060-2023智能化煤矿运维组织架构管理规范
- DB32/T 4205-2022乡村公共空间治理规范
- DB31/T 920-2015产业园区服务规范
- 福建百校联考2025届高三5月高考押题卷-物理试卷(含答案)
- 2025安全生产月安全知识竞赛题库三(35ye)
- 让深度学习真实发生-学习任务群在小学语文教学中的探究和运用
- 个体商合伙协议书
- 商场消防设施管理与维护措施
- 中级宏观经济学知到课后答案智慧树章节测试答案2025年春浙江大学
- 2025年华侨港澳台学生联招考试英语试卷试题(含答案详解)
- 【MOOC】微处理器与嵌入式系统设计-电子科技大学 中国大学慕课MOOC答案
评论
0/150
提交评论