微处理器与接口技术:第2章 微型计算机系统的微处理器_第1页
微处理器与接口技术:第2章 微型计算机系统的微处理器_第2页
微处理器与接口技术:第2章 微型计算机系统的微处理器_第3页
微处理器与接口技术:第2章 微型计算机系统的微处理器_第4页
微处理器与接口技术:第2章 微型计算机系统的微处理器_第5页
已阅读5页,还剩86页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章微型计算机系统的微处理器微处理器是微型计算机的核心,其性能的优劣将直接影响整机的性能80X86系列微处理器是PC系列机中处理器的主流产品

Intel8086/8088CPU外型封装为双列直插,40个引脚主时钟频率8086为5MHz,8088为4.77MHz16位数据总线(8088只有8位)和20位地址总线,直接可寻址空间为220=1MB以后推出的各种Intel微处理器都保持了与其兼容

第2章微型计算机系统的微处理器主要内容8086/8088的内部结构8086/8088CPU的引脚信号和工作模式8086/8088的寄存器结构8086/8088的存储器组织8086的I/O组织8086/8088微处理器典型时序分析8086/8088的内部结构8086/8088CPU内部设置了两个独立的部分总线接口部件(BIU)负责取指令、存取操作数和存结果(负责所有的外部操作)指令执行部件(EU)负责执行指令(从BIU的指令队列中取出指令,并执行指令)BIU和EU操作的并行性,大多数情况下都能使取指令和执行指令的操作并行进行,使得取指令的时间几乎“消失”,从而提高了CPU的运行效率实现取指与执行的流水线操作8086/8088的内部结构8086/8088的功能结构8086/8088的内部结构总线接口部件(BIU)主要功能CPU与外部存储器和I/O的接口。负责与存储器、I/O接口进行数据传送8086/8088的内部结构总线接口部件(BIU)组成:

4个16位段地址寄存器:CS、DS、SS、ES16位指令指针寄存器IP:存放下一条要执行指令的有效地址EA(段内偏移地址)20位物理地址加法器:进行16位/20位地址的变换(将逻辑地址变换成物理地址)指令队列:8086CPU的BIU中有一个6字节的指令队列;8088CPU的指令队列为4个字节。输入输出控制逻辑:产生并发出总线控制信号,实现对存储器和I/O端口的读/写控制8086/8088的内部结构总线接口部件(BIU)具体工作取指令:总线接口部件从内存中取出指令送到指令队列预取指令:BIU要保证指令队列始终是满的,当指令队列有2个空字节(8088队列为1个空字节)时,BIU将自动取指令到指令队列配合EU执行指令,存取操作数和运算结果空闲状态、执行转移指令等BIU还负责产生总线控制信号8086/8088的内部结构指令执行部件EU功能:负责指令的执行组成:算术逻辑单元ALU:完成8位/16位二进制数的算术/逻辑运算标志寄存器FR(16位):存放指令执行结果的特征和处理器状态寄存器组:包含8个16位寄存器EU执行控制部分:其作用是从BIU的指令队列中取出指令并执行,根据指令要求向EU内各功能部件发送相应的控制命令,以完成每条指令所规定的操作8086/8088的内部结构

8086/8088处理器程序执行过程程序的指令代码已存放在存储器中CPU按照时钟节拍,产生一系列控制信号,有规则地重复进行以下过程:首先BIU从存储器中取出一条指令存入指令队列。其次EU从指令队列取指令并执行指令。BIU利用总线空闲时间,从内存取第二条指令或取第三条指令存入指令队列。然后EU执行下一条指令。如果前面一条指令有写存储器的要求,则通知BIU把前条指令结果写到存储器中,然后再取指令存入指令队列。再次如指令执行要求读取操作数,则由BIU完成。最后EU执行再下一条指令,返回第一步继续执行上述操作过程举例8086/8088的内部结构8086/8088处理器程序执行过程小结程序的执行过程就是CPU取指令、分析指令、执行指令和再取指令这样一个循环重复过程。在指令执行过程中,利用EU分析指令操作码和执行指令时不占用总线操作时间的特点,BIU自动地通过总线读取存储器中的指令码存入BIU指令队列,从而使BIU与EU并行工作,提高CPU执行指令的速度

返回8088的程序执行过程8086/8088的内部结构8086/8088处理器的启动

CPU被启动后,处理器内部的各寄存器和标志寄存器的内容自动设置为:CSFFFFHDS0000HSS0000HES0000HIP0000H指令队列空FR0000H(禁止中断)8086/8088将从地址FFFF0H开始执行指令,所以8086/8088引导程序的入口地址在FFFF0HCS×16+IP8086/8088的内部结构8086/8088CPU的总线周期概念在8086/8088CPU中,所有读/写存储器或I/O端口的操作都是总线接口部件BIU通过系统总线完成的BIU通过系统总线对存储器或I/O端口进行一次读/写操作的过程称为一个总线周期8086/8088CPU的一个基本总线周期由4个时钟周期(T1~T4)组成,也称4个T状态CPU在每个时钟周期内完成若干个基本操作Tw等待状态:用于慢速存储器或I/O设备,在T3状态后可插入等待状态TW

TI空闲状态:如果在一个总线周期之后,不立即执行下一个总线周期,或者当指令队列是满的,执行部件EU又没有访问总线的要求,这时BIU就处于空闲状态。空闲状态,可以包含一个或几个时钟周期8086/8088的内部结构8086/8088CPU的总线周期概念8086/8088CPU的典型总线周期时序

8086/8088CPU的引脚信号和工作模式最大和最小工作模式8086/8088CPU设置有两种工作模式CPU两种工作模式的选择由硬件决定,当CPU的引脚

MN/接高电平(+5V)时构成最小模式,接低电平(地)时,构成最大模式最小模式:指系统中只有8086/8088一个微处理器(单处理器系统)所有的总线控制信号都直接由8086/8088CPU产生系统的总线控制逻辑部件最少最大模式:指系统中包含有两个或两个以上的微处理(多处理器系统)主处理器、协处理器(8087、8089)由总线控制器(8288)对CPU发出的控制信号进行变换和组合,产生所有的总线控制信号8086/8088CPU的引脚信号和工作模式8086/8088CPU的引脚信号和功能特点:8086/8088CPU采用了引脚复用技术分时复用:地址线和数据线(状态线)的复用引脚在最大模式和最小模式有不同的意义(24-31引脚)8086/8088CPU的引脚信号和工作模式8086/8088CPU的引脚信号和功能AD15~AD0(Address/DataBus)地址/数据复用总线传送地址时三态、输出,传送数据时三态、双向输入输出在总线周期的T1状态,用来输出访问存储器或I/O端口的地址在总线周期的T2状态高阻状态(读周期)为传送数据(写周期)“中断响应”、“保持响应”周期为高阻状态在8086系统中,常将AD0作为低8位数据的选通信号8086/8088CPU的引脚信号和工作模式8086/8088CPU的引脚信号和功能

A19/S6~A16/S3(Address/Status)地址/状态复用线作地址线用时,高4位(A19~A16)地址作状态线用时,输出状态信息S6~S3

S6总是为0,表示8086/8088CPU当前与总线相连

S5状态指示当前中断允许标志IF的状态S4和S3状态的组合指出当前正使用哪个段寄存器

“保持响应”周期,A19~A16呈现高阻抗状态8086/8088CPU的引脚信号和工作模式8086/8088CPU的引脚信号和功能

/S7(BusHighEnable/Status)高8位数据总线允许/状态复用信号是一个高8位数据允许信号,低电平有效没有赋予S7实际意义总线周期的T1状态,该引脚输出为,在总线周期的T2、T3、TW、T4状态,该引脚输出状态信号S7和AD0结合起来,指出当前传送的数据在总线上将以何种格式出现8088系统中,由于数据总线只有8位,不存在高8位数据选择。在最大模式时,该引脚恒为高电平;在最小模式中,则定义为。8086/8088CPU的引脚信号和工作模式8086/8088CPU的引脚信号和功能(Read)读信号读信号为输出、三态、低电平有效有效时,表示CPU正在对存储器或I/O端口进行读操作,具体是对存储器读,还是对I/O端口读,由(8088为)决定8086/8088CPU的引脚信号和工作模式8086/8088CPU的引脚信号和功能READY准备就绪,输入该信号为使CPU和慢速存储器或I/O设备之间实现速度匹配的信号,是由被访问的存储器或I/O设备发出CPU在每个总线周期的T3状态对READY引脚进行检测,若检测到READY=1,则总线周期按正常时序进行读/写操作READY=0,则CPU在T3和T4之间自动插入一个或几个等待状态TW来延长总线周期,直到检测到READY为低电平后,才使CPU退出等待状态,进入T4状态,完成数据传送8086/8088CPU的引脚信号和工作模式8086/8088CPU的引脚信号和功能(Test)测试信号该信号为输入、低电平有效该信号是和等待指令WAIT结合使用的,用于协调8086/8088CPU与协处理器的工作当CPU执行WAIT指令时,CPU处于空转等待状态;当有效后,CPU结束等待状态8086/8088CPU的引脚信号和工作模式8086/8088CPU的引脚信号和功能

INTR(InterruptRequest)可屏蔽中断请求信号输入,高电平有效INTR有效时表示外设接口向CPU发出中断请求信号CPU在每条指令周期的最后一个时钟周期检测此引脚,一旦测得有中断请求,并且中断允许标志位IF为1,CPU在当前指令执行结束后,转入中断响应周期8086/8088CPU的引脚信号和工作模式

8086/8088CPU的引脚信号和功能NMI(NOMaskableInterrupt)不可屏蔽中断请求信号输入,且边沿触发,正跳变有效此类中断请求不受中断允许标志IF的影响一旦测试到该信号有效,则在当前指令执行完后,CPU自动转入执行非屏蔽中断服务程序8086/8088CPU的引脚信号和工作模式8086/8088CPU的引脚信号和功能

RESET(Reset)复位信号输入,高电平有效,有效时至少保持4个时钟周期有效时,CPU停止现行操作,并使内部段寄存器(DS、ES、SS)、标志寄存器、指令指示器IP和指令队列清0,使CS=FFFFH8086/8088将从地址FFFF0H开始执行指令8086/8088CPU的引脚信号和工作模式8086/8088CPU的引脚信号和功能

CLK(Clock)主时钟输入信号时钟信号CLK为CPU和总线控制逻辑提供定时脉冲MN/(MaximumModeControl)最小/最大模式控制信号当此引脚接高电平时,CPU工作于最小模式;接低电平时,CPU工作于最大模式

GND、VCCGND为接地端,VCC为电源端8086/8088CPU的引脚信号和工作模式8086/8088CPU的引脚信号和功能小结理解引脚复用以上信号是8086/8088CPU工作在最小模式和最大模式时基本都要用到的8086/8088的第24~31脚信号在不同模式下具有不同的名称和定义,下面再分别介绍34引脚在8086和8088CPU中有不同的定义8088系统中,由于数据总线只有8位,不存在高8位数据选择。在最大模式时,该引脚恒为高电平;在最小模式中,则定义为8086/8088CPU的引脚信号和工作模式最大、小工作模式引脚信号的定义(24~31)系统配置:时钟发生器8284A带有三态缓冲的锁存器(8282/8283)数据收发器(8286/8287)总线控制器(8288)——最大方式总线的形成地址线、数据线和控制线8086/8088CPU的引脚信号和工作模式最小模式——引脚信号(Memory/InputandOutput)存储器/输入输出控制信号输出,三态用来区分CPU当前是访问存储器,还是访问I/O端口。该信号为高电平时,表示CPU访问存储器;为低电平时,表示CPU访问I/O端口在DMA方式时,该信号被置为高阻抗状态对于8088CPU,该信号定义为,功能相同8086/8088CPU的引脚信号和工作模式最小模式——引脚信号

(Write)写信号三态、输出、低电平有效该信号有效时,表示CPU当前正在进行写操作由来区分是写入存储器还是写入I/O端口在DMA方式时,该信号被置成高阻态最小方式下,我们介绍过的、和组合才能确定读写的是存储器还是I/O接口8086/8088CPU的引脚信号和工作模式最小模式——引脚信号(InterruptAcknowledge)中断响应信号输出、三态、低电平有效是对中断请求信号INTR的响应该信号用来通知请求中断的外设,其发出的中断请求信号已得到响应,并命令其送上中断类型码一般连接到中断控制器(8259)8086/8088CPU的引脚信号和工作模式最小模式——引脚信号ALE(AddressLatchEnable)地址锁存允许信号输出、高电平有效在CPU读/写数据时,AD15~AD0总是先送出地址,然后传送数据在任何一个总线周期的T1状态,ALE输出有效电平,表示当前在地址/数据复用总线上输出的是地址信息锁存器利用它将地址锁存8086/8088CPU的引脚信号和工作模式最小模式——引脚信号(DataTransmit/Receive)数据发送/接收控制信号输出、三态当CPU写数据时,该信号为高电平;当CPU读数据时,该信号为低电平该信号用来控制外接的总线收发器(8286/8287)的数据传送方向在DMA方式时,该信号被置成高阻态8086/8088CPU的引脚信号和工作模式最小模式——引脚信号(DataEnable)数据允许信号输出、三态、低电平有效信号用来作为外接的总线收发器(8286/8287)的输出允许信号,使之开始传送数据在DMA方式时,该信号被置成高阻态8086/8088CPU的引脚信号和工作模式最小模式——引脚信号HOLD(HoldRequest)总线保持请求信号输入、高电平有效该信号有效时表示其他部件向CPU发出使用总线的请求HLDA(HoldAcknowledge)总线保持响应信号输出、高电平有效是CPU对总线保持请求信号HOLD的响应信号该信号有效时,表示CPU让出总线,此时CPU的地址线、数据线以及具有三态输出的控制线全部呈高阻状态了解总线控制权的传递过程8086/8088CPU的引脚信号和工作模式最小模式——引脚信号8088的34引脚定义为

8088CPU只有8位数据总线,不需要信号和及信号组合起来,决定了当前总线周期的操作总线操作的类型取指、读、存储器、写存储器、无源状态、发中断响应信号、读I/O端口、写I/O端口、暂停

8086/8088CPU的引脚信号和工作模式最小模式——系统配置8086/8088CPU的引脚信号和工作模式最小模式——系统配置锁存器8282/8283带有三态缓冲器的8位数据锁存器用于锁存CPU在T1状态输出的地址信息,形成独立的地址总线8086/8088CPU的地址/数据总线和地址/状态总线是分时复用的,在数据占用总线之前,必须先将地址锁存起来,以保证在读/写总线周期内保持地址稳定需要锁存的信号:20位地址和8282/8283的引脚及内部结构8282/8283和CPU的连接8086/8088CPU的引脚信号和工作模式最小模式——系统配置8286/8287总线收发器具有三态输出的8位双向总线收发器当总线上连接的设备较多时,用来提高8086/8088CPU数据总线的驱动能力需要驱动的信号:8086:16位数据线8088:8位数据线8286/8287的引脚及内部结构8286/8287和CPU的连接8086/8088CPU的引脚信号和工作模式最小模式——系统配置总线控制信号由CPU直接产生时钟发生器8284A8086/8088系统中的时钟发生器,提供频率恒定的时钟CLK信号8086/8088CPU内部设有时钟发生器,其内部和外部的时间基准信号是从时钟输入端CLK引入的还提供与CLK同步的RESET、READY信号还可向外提供晶振时钟OSC,以及供外部设备或外围芯片的时钟信号PCLK。8284A与CPU的连接在最小模式系统中,还允许接入其他主设备,如DMAC8086/8088CPU的引脚信号和工作模式最大模式——信号引脚QS1、QS0(InstructionQueueStatus)指令队列状态信号输出这两个信号的组合用来指示CPU内指令队列的当前状态,以便于外部对CPU内指令队列的动作跟踪

QS1QS0含义00110101无操作从指令队列的第一个字节中取走代码队列为空除第一个字节外,还取走了后续字节中的代码8086/8088CPU的引脚信号和工作模式最大模式——信号引脚、、(BusCyclsStatus)总线周期状态信号输出这3种状态信号的不同组合,指出CPU在当前总线周期所进行的操作类型。最大模式中,总线控制器8288利用这些状态信号进行组合,产生访问存储器和I/O端口的控制信号有源状态:对上面三个信号来说,在前一个总线周期的T4状态和本总线周期的T1、T2状态期间,其中至少有一个信号为低电平,每一种组合都对应了一种具体的总线操作,称为有源状态

8086/8088CPU的引脚信号和工作模式最大模式——信号引脚、、(BusCyclsStatus)总线周期状态信号无源状态:在总线周期的T3、TW状态,并且准备就绪信号READY为高电平时,这三个信号同时为高电平,此时,一个总线操作过程将要结束,另一个新的总线周期还未开始,称为无源状态操作过程000011110011001101010101发中断响应信号读I/O端口写I/O端口暂停取指令读内存写内存无源状态8086/8088CPU的引脚信号和工作模式最大模式——信号引脚、(request/grant)总线请求信号输入/总线请求允许信号双向,请求/允许信号在同一引脚上传送在最大模式系统中,它是主CPU和其他协处理器间交换总线使用权的联络控制信号8086/8088CPU的引脚信号和工作模式最大模式——信号引脚(lock)总线封锁信号输出当该信号为低电平时,表明此时CPU不允许其他总线主模块占用总线执行带指令前缀LOCK的指令时,该信号有效在8086/8088CPU处于中断响应周期期间,该信号会自动变为有效8086/8088CPU的引脚信号和工作模式最大模式——系统配置8086/8088CPU的引脚信号和工作模式最大模式——系统配置与最小模式的主要区别最大模式一般用于多处理器系统单主控者系统多主控者系统增加了一个总线控制器8288,输出CPU系统所需要的总线控制信号增加了一个总线仲裁器8289,对系统多个处理器间共享总线资源进行控制,解决总线竞争8086/8088CPU的引脚信号和工作模式最大模式——系统配置8288的引脚和内部结构8288主要引脚连接和功能来自8086/8088CPU的总线状态信号、、经8288状态译码器译码后,与输入控制信号、CEN和IOB相互配合,产生总线命令信号和总线控制信号总线控制信号:ALE、DEN、、、、、、、、8086/8088的寄存器结构8086/8088CPU共有14个寄存器通用数据寄存器组指针变址寄存器组段寄存器组控制寄存器8086/8088的寄存器结构通用数据寄存器组包括:AX、BX、CX、DX4个16位寄存器每个16位寄存器,也可以作为两个8位寄存器。寄存器的低字节用AL、BL、CL、DL表示;高节字用AH、BH、CH、DH表示用来保存算术、逻辑运算的操作数、中间结果和地址某些通用寄存器又规定了专门的用途

AX——累加器、BX——基址寄存器

CX——计数器、DX——数据寄存器

8086/8088CPU中通用寄存器的特殊用途和隐含性质8086/8088的寄存器结构指针和变址寄存器组包括SP、BP、SI、DI4个16位寄存器它们可以存放16位操作数,但经常是用来存放操作数的偏移地址8086/8088的寄存器结构指针和变址寄存器组指针寄存器SP——堆栈指针寄存器指出当前堆栈段中栈顶的偏移地址SP与堆栈段寄存器SS联合使用确定堆栈的物理地址SP不直接在指令中出现8086是属于向下增长型的堆栈,作一次进栈操作,SP的值要减2;作一次出栈操作,SP的值要加2BP——基址指针寄存器BP中存放的是堆栈中某一存储单元的偏移地址,不是指栈顶BP与堆栈段寄存器SS联合使用确定堆栈任意单元的物理地址8086/8088的寄存器结构指针和变址寄存器组变址寄存器SI——源变址寄存器、DI——目的变址寄存器与数据段寄存器DS联合使用,确定数据段中某一存储单元的地址在串操作指令中,SI、DI隐含作为源变址和目的变址寄存器,并且SI和DI具有自动增量和减量的功能。对其他的指令,则没有这种限制8086/8088的寄存器结构段寄存器组在8086/8088CPU的总线接口部件BIU中设置了4个16位段寄存器CS——代码段寄存器、DS——数据段寄存器

SS——堆栈段寄存器、ES——附加数据段寄存器段寄存器给出相应段的段起始地址的高16位,称为“段基址”

段寄存器CS、DS、SS、ES用于识别当前可寻址的4个段,不可互换使用,但可以根据需要修改其内容8086/8088的寄存器结构段寄存器组不同的信息存放在不同段中代码段:用来存放可执行的程序代码数据段(附加数据段):用来存放参加运算的操作数和运算结果堆栈段:用做在内存中开辟的堆栈区8086/8088的寄存器结构控制寄存器指令指针IP用来存放将要取出的指令在现行代码段中的偏移地址和代码段寄存器CS联合使用,用来下一条要取出的指令所在存储单元的物理地址程序运行过程中,IP的内容由BIU自动修改顺序执行程序时,CPU每取一个指令字节,IP自动加1,指向下一个要读取的字节遇到转移类指令时,自动将新的转移目标地址送入IP8086/8088的寄存器结构控制寄存器标志寄存器FR(PSW——程序状态字)16位寄存器,其中定义了9个有效位状态标志(6个):表示前一步操作(如加、减等)执行以后,ALU所处的状态,后续操作可以根据这些状态标志进行判断,实现转移控制标志(3个):可以通过指令人为设置,用以对某一种特定的功能起控制作用(如中断屏蔽等),反映了人们对微机系统工作方式的可控制性。标志寄存器的格式8086/8088的寄存器结构控制寄存器标志寄存器FR(PSW——程序状态字)各标志位具体含义CF(CarryFlay)进位标志:当算术运算结果使最高位产生进位或借位时,CF=1;否则CF=0PF(ParityFlag)奇偶校验标志。当本次运算结果中的低8位含偶数个“1”时,P=1;为奇数个“1”时PF=0AF(AuxiliaryCarryFlay)辅助进位标志:本次运算过程中第3位向第4位有进位或借位时,AF=1,否则AF=0。该标志用于BCD运算中判别是否需要进行十进制调整ZF(ZeroFlay)零标志:当本次运算结果为0时,ZF=1;否则,ZF=0状态标志(9位)8086/8088的寄存器结构控制寄存器标志寄存器FR(PSW——程序状态字)各标志位具体含义SF(SignFlag)符号标志:它与运算结果的最高有效位相同,用来表示带符号数本次运算结果是正还是负。

OF(OverflowFlag)溢出标志:表示本次运算结果是否产生溢出。溢出时,OF=1;否则OF=0溢出:当带符号数的结果超出了能表示的范围溢出的判断:(加发、减法)“有进无出,有出无进”——溢出状态标志(9位)8086/8088的寄存器结构控制寄存器标志寄存器FR(PSW——程序状态字)各标志位具体含义IF(InterruptFlag)中断允许标志,这是控制可屏蔽中断的标志。当IF=1时,允许CPU响应可屏蔽中断;当IF=0,禁止CPU响应外部可屏蔽中断请求DF(DirectionFlag)方向标志,用来控制串操作指令标志。在串操作指令中,若DF=0,地址指针为自动递增;若DF=1,地址指针自动递减

TF(TrapFlag)单步标志。当TF=1时,CPU为单步工作方式,每执行完一条指令就自动产生一次内部中断。用在调试程序,可使用户逐条跟踪程序。状态标志(3位)8086/8088的寄存器结构控制寄存器标志寄存器FR(PSW——程序状态字)举例:将二进制数(0101010000111001)与(0100010101101010)相加,分析其对标志位的影响将二进制数(0010001101000101)与(0011001000011001)相加,分析其对标志位的影响8086/8088的存储器组织8086/8088的访存空间20条地址线:可直接寻址的存储单元数为220=1M8086/8088系统中,存储器是按照字节编址的,即一个存储单元存放一个字节的内容

8086/8088的访存空间:1MB,对应的地址区域为:00000H——FFFFFH(物理地址)8086/8088的存储器组织8086/8088存储器中信息的存放存储单元地址和内容存储单元地址就是对存储单元的编号(唯一)存储单元内容是指一个存储单元中的有效信息字节的存放每个字节占一个存储单元字节单元的地址就是存储单元的地址多个字节,顺序存放(地址由低到高)字的存放字长16位,占用两个连续的存储单元低位字节存入低地址单元,高位字节存入高地址单元字单元的地址采用它的低地址来表示多个字,顺序存放(地址由低到高)

8086/8088的存储器组织8086/8088存储器中信息的存放双字的存放32位地址指针的存放举例:请说明(0004H)=1234H与(0004H)=34H哪个指字单元,哪个指字节单元有两个16位字1EE5H和2A3CH分别存放在存储器000B0H和000B3H单元中,请指出它们在存储器里的存放情况8086/8088的存储器组织8086存储器的分体结构在8086系统中,将其可寻址的1MB存储器分为两个512KB的存储体,即奇地址存储体和偶地址存储体奇地址存储体与系统高8位数据总线相连,偶地址存储体与系统低8位数据总线相连访问存储器时,读/写偶地址体时,数据从低8位数据总线上传送。读/写奇地址体时,数据从高8位数据总线上传送奇存储体的选择由信号决定,偶存储体的选择由信号A0决定8086/8088的存储器组织8086存储器的分体结构存储器分体结构单元示意图8086/8088的存储器组织8086存储器的分体结构两个存储体与系统数据总线间的连接注意:CPU发出的地址是A19~A0,但直接控制存储器地址的是A19~A1,接到存储器的A18~A08086/8088的存储器组织8086存储器的分体结构内存中数据的存放规则一个字节数据可以存放在奇地址体,也可以在偶地址体,字节地址就是存储单元的实际地址一个字(16位)数据占连续的二个单元,高字节存放高地址,低字节存放低地址,并将低字节的地址作为该字的字地址字地址可以是偶数地址(规则字)——推荐字地址可以是奇数地址(非规则字)8086/8088的存储器组织8086存储器的分体结构字、字节的存取操作为了加快程序运行速度,通常从偶地址开始存放字数据A0操作所用的数据总线00存取规则字(从偶地址开始读/写一个字)AD15~AD010从偶地址内存单元或I/O端口读/写一个字节AD7~AD001从奇地址内存单元或I/O端口读/写一个字节AD15~AD80110从奇地址开始读/写一个(非规则)字第一总线周期高8位数据有效AD15~AD8AD7~AD0第二总线周期低8位数据有效8086/8088的存储器组织8086存储器的分体结构8088存储器只有一个存储体8088对外数据线只有8位CPU读/写一个字时,要访问两次存储器8086/8088的存储器组织存储器的分段管理存储器的分段原因8086/8088CPU有20根地址线,可寻址220=1MB。而8086/8088CPU内的所有寄存器都是16位的,20位地址无法用16位寄存器表示为了能对1MB的存储器进行寻址,8086/8088系统引入了存储器分段的概念8086/8088的存储器组织存储器的分段管理存储器分段1MB空间可分为若干逻辑段每个段最大可达64KB,大小任意的,段和段之间可以是连续的、分开的、重叠的(部分或完全)段地址(16位、段基址):用来说明是哪一个段,表示一个段的开始位置,存放于段寄存器中偏移地址(16位):用于一个段内单元的寻址,它表示的是段内的单元相对于段开始位置的距离一个程序可有多个代码段、数据段、堆栈段和附加段,当前所使用的段的段地址分别由段寄存器CS、DS、SS和ES给出若要从别的段存取信息,程序首先要改变对应的段寄存器的内容8086/8088的存储器组织存储器的分段管理分段的好处指令并不涉及段寄存的值,而只涉及16位的偏移量分段组织存储器——程序的浮动装配8086/8088的存储器组织存储器的分段管理物理地址与逻辑地址物理地址是存储器的绝对地址(20位的实际地址),范围从00000H~FFFFFH。是由CPU访问存储器时由地址总线发出的地址在1M字节存储器里,每个存储单元都有一个唯一的20位地址作为该存储单元的物理地址一个20位的物理地址也可以表示为段地址:偏移地址物理地址在访问存储器时使用的8086/8088的存储器组织存储器的分段管理物理地址与逻辑地址逻辑地址包括段地址和偏移地址逻辑地址为16位的无符号二进制数逻辑地址在程序设计时使用段地址和偏移地址的关系图8086/8088的存储器组织存储器的分段管理物理地址与逻辑地址一个物理地址可以对应多个逻辑地址8086/8088的存储器组织存储器的分段管理物理地址的形成存储单元物理地址的计算方法物理地址=段基地址×16+偏移地址将段寄存器(CS、DS、SS或ES)中的内容左移4位(相当于乘16),然后和偏移地址相加便得出20位物理地址实际操作时,可直接在16进制数表示的段地址后添加0,再加上偏移地址即可。8086/8088的存储器组织存储器的分段管理物理地址的形成物理地址的计算是在CPU的总线接口部件BIU中的地址加法器中实现的每当取指令时,就会自动选择代码段寄存器CS,和指令指示器IP一起形成指令所在单元的20位物理地址当进行堆栈操作时,CPU会选择段寄存器SS,和堆栈指示器SP或BP一起相加形成20位的堆栈地址访问堆栈当要往内存写一个数据或从内存读出一个数据时,CPU会选择数据段寄存器DS,再和指令中的偏移地址EA(EA由寻址方式决定)相加形成20位物理地址,去访问存储器读/写操作数。8086/8088的存储器组织存储器的分段管理物理地址的形成举例:某指令在代码段中的段首址CS=3000H,段内偏移地址IP=5F62H,请计算将要取出指令的存储器地址特殊的存储区域8086/8088通用的系统中,有几个部分的空间已被系统占用,用户不能使用在存储器的第1KB,即0000H~003FFH单元用做中断向量表,存放的是256个中断向量在FFFF0H~FFFFFH这16个单元中一般用来存放一条无条件转移指令,转到系统初始化程序8086/8088的I/O组织I/O端口8086系统和外部设备之间是通过I/O芯片连接的每个I/O芯片都设置有一定数目的端口,一个端口通常对应芯片内部的一个寄存器或者一组寄存器微型机系统为每个端口分配一个地址,叫端口号。端口号必须唯一8086/8088的I/O组织I/O端口的编址方式独立编址8086/8088CPU可以访问64K个8位I/O端口,8086两个编号相邻的8位端口可以组合成一个16位端口端口地址范围:0000H——FFFFHCPU通过执行IN、OUT指令,访问指定的端口硬件会自动产生有效的信号或者信号,同时使信号处于低电平通过外部逻辑电路的组合产生对I/O端口的读信号或者对I/O端口的写信号8086/8088的I/O组织I/O端口的编址方式和存储器统一编址把存储空间的一部分分配给I/O端口用对存储器的访问指令来实现对I/O端口的读/写读/写存储单元还是I/O端口是由地址区分的8086/8088一般采用I/O端口独立编址方式8086/8088微处理器典型时序分析

基本概念时序是指信号高低电平(有效或无效)变化及相互间的时间顺序关系了解时序深入了解微机的工作情况时钟周期:是CPU计时的最小单位,称为一个T状态(TState)或T周期,由计算机的主频决定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论