




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片微机原理及应用第十章 8086CPU原理和PC体系结构PC的发展(Intel CPU)1978年8086/8088(1981,IBM-PC)1982年802861985年803861989年804861993年Pentium1995年,P6PentiumProPentiumIIPentiumIII2000-2005年Pentium4(32Bit64Bit)10.1 8086CPU8086CPU的结构8086CPU是INTER公司早期的16位结构的微处理器16位内部寄存器组、16位数据总线、20位地址总线(1M存储单元的寻址能力)8086CPU按照功能结构分成两个部分:总线接口单元BIU和执
2、行单元EUBIU负责取指、读写操作数EU负责指令的执行BIU和EU分开的意义:取指和执行重叠,提高CPU的利用率。EUBIU8086的执行顺序8086指令的执行顺序(流水线技术)BIU和EU分开,取指和执行可以重迭,大大减少了等待取指所需的时间,提高CPU的利用率取指1取指2取指3取指4取操作数取指5取指6等待执行1执行2执行3执行4执行5时间早期的微处理器的执行顺序取指1执行1取指2执行2取指3取操作数3执行3 8086的功能结构EU控制器ALU暂 存 器标志寄存器8位队列总线总线控制逻辑16位内部总线地址加法器20位地址总线16位数据总线执行部件EU总线接口部件BIU1 2 3 4 5 6
3、指令队列 通用寄存器AX AH ALBX BH BLCX CH CLDX DH DL SP BP DI SICSDSSSES80888086IP暂存器8086总线存储器接口8086总线接口部件BIU(Bus Interface Unit)BIU从内存中读取执行指令过程中所需的操作数,传送给EU部分去执行,并把EU执行结果送回内存或I/O接口。BIU负责CPU内部与存储器和I/O接口的信息传递。BIU包括以下几个主要任务:取指令BIU从内存取出指令送到指令队列中。传送数据生成20位的物理地址;4)将执行部件的操作结果送到指定的内存单元或I/O端口。BIU组成: 4个段寄存器、指令队列、指令指针寄
4、存器IP和地址加法器8086的执行部件EU指令译码 由EU控制系统将指令队列中的指令源代码翻译成EU可直接执行的指令代码。执行部件(EU)的功能就是负责指令的执行。将指令译码并利用内部的寄存器和ALU对数据进行所需的处理。它主要完成以下任务:执行指令 由EU控制系统向各个相关部件发出与指令一致的控制信号,完成指令的执行。具体的运算由ALU和相关寄存器负责。向BIU传送偏移地址信息 在指令执行过程中,如要从内存中取操作数,EU会向BIU发总线请求,而EU自动算出偏移地址并送到BIU中的内部暂存器,以便求出物理地址。算术逻辑单元ALU(Arithmetic and Logic Unit)算术和逻辑
5、运算计算16位地址偏移量EU控制器指令译码形成各种控制信号,控制EU各部件完成规定动作通用寄存器,即AX、BX、CX、DX 参与运算;存放结果。专用寄存器,即BP、SP、SI、DI标志寄存器Flags 自动记录运算结果的状态。EU组成8086CPU寄存器组FLAGS通用寄存器(8086)8个16位通用寄存器AX、BX、CX、DX、SI、DI、BP、SP作逻辑和算术操作的操作数用于各种存储器操作数的寻址方式中,作地址偏移量的计算用作串操作的地址指针4个16位数据寄存器AX、BX、CX、DX可拆分成8个8位寄存器AH、AL、BH、BL、CH、CL、DH、DL用作逻辑和算术操作的操作数,也可存放运算
6、的结果用作数据的暂存寄存器,临时存放数据在某些指令中,作隐含功能寄存器(参见后表)BX可在基址寄存器,用于操作数寻址通用寄存器(8086)(续)指针寄存器(SP、BP)SP(堆栈指针)用于在堆栈操作时,存放16位栈顶单元的偏移量BP(基址指针),指向堆栈段内的某一存储单元(该单元的16位偏移量)BP还可用作数据寄存器,存放参与运算的操作数和运算结果变址寄存器(SI、DI)在多数指令中,可随意选择SI、DI作为源或目的变址寄存器在串操作指令中,SI固定作源变址指针,DI作目的变址指针SI、DI还可用作数据寄存器,存放参与运算的操作数和运算结果8086通用寄存器的特殊使用FLAGS寄存器(8086
7、)FLAGS(标志寄存器)包含一组状态标志(CF、PF、AF、ZF、SF、OF)、一组控制标志(TF、IF、DF)FLAGS反映了程序运行时,CPU运算器的某些状态OFDFIFTFSFZFAFPFCF1514131211109876543210溢出标志方向标志中断标志单步标志符号标志零标志辅助进位标志奇偶标志进位标志8086存储器组织存储器地址的分段分段原因:8086/8088CPU:机内字长16位内部寄存器16位,因此8086/8088对地址的运算也只能是16位,也就是各种寻址方式,寻址操作数的范围最多只能是64K字节。地址范围0000HFFFFH外部地址线20位,直接寻址220=1M字节。
8、地址范围00000HFFFFFH物理地址.60000H 60001H 60002H 60003H 60004H.12HF0H1BH08H8086/8088具有20条地址总线,但CPU内部提供地址的寄存器BX、IP、SP、BP、SI和DI及算术逻辑单元ALU都是16位,只能直接处理16位地址,即寻址范围为64k字节。因此,如何扩大寻址范围形成20位地址,是8位微型机跨入16位微型机的一个难题。8086/8088巧妙的采用了地址分段的方法,将寻址范围扩大到1兆字节。存储器分段高地址低地址段起始地址段起始地址段起始地址段起始地址最大64KB段i-1段i段i+116位寄存器只能寻址64kB,所有系统将
9、1M存储空间分为若干个逻辑段,每个逻辑段最大容量为64kB,因此1M存储空间可分为16个逻辑段(015).段内一个存储单元的地址,可用相对于段起始地址的偏移量来表示,这个偏移量称为段内偏移地址,也称有效地址EA。逻辑地址与物理地址逻辑地址 是程序中使用的地址,它由段基值(段寄存器内容)和段内偏移值(有效地址EA)所组成,段基值与段内偏移值都为16位的二进制数,标准写法为:“段基值:偏移量” 。 物理地址 也叫实际地址或绝对地址,是CPU访问存储器时实际使用的地址,为20位地址。在8086中,两种地址的关系如下:物理地址 = 段基值X16 + 偏移量 存储器分段段的划分由CPU内部4个16位段寄
10、存器指定,每个段寄存器存放段地址,确定一个段的起始地址。段寄存器及其段中存放内容:CS 代码段存放当前正在运行的程序。DS 数据段存放当前运行程序所用的数据。SS 堆栈段程序堆栈区,栈中的数据按后进先出访问。ES 附加段附加的程序段。段区的分配由操作系统完成,每段可以独立地占有64K字节存储区,各段也可以重叠或部分重叠。在实际使用中,每段长不一定64K字节,段区大小根据实际需要来分配。存储器物理地址物理地址=段基地址左移4位+偏移地址60002H00H12H60000H段基地址(16位)0 0 0 0 段首地址物理地址:每一个存储单元一个唯一的20位地址。物理地址由两部分组成:段地址,偏移地址
11、格式为:段地址:偏移地址 偏移地址:指在段内相对于段起始地址的偏移值。BIU中的地址加法器用来实现逻辑地址到物理地址的变换8088 可同时访问4个段,4个段寄存器指示了每个段的基地址段基址段内偏移物理地址+16位20位0000段基址乘以16相当于左移四位。逻辑地址与物理地址转换实例逻辑地址“1200H:008FH”、“1111H:1234H”1200H:008FH 代表物理单元 1208FH1111H:1234H 代表物理单元 12344H如下逻辑地址单元为同一物理单元1000H:2345H1234H:0005H1200H:0345H物理地址:12345H段寄存器4个16位段寄存器CS、DS、
12、SS、ESCS(Code Segment):代码段寄存器,存放代码段段地址。DS(Data Segment):数据段寄存器,存放数据段段地址。SS(Stack Segment):堆栈段寄存器,存放堆栈段段地址。ES(Extra Segment):附加段寄存器,存放附加段段地址。8086的总线周期、工作模式、引脚说明及工作时序一、8086总线的工作周期指令执行周期:一条指令从取出到执行完毕所需要的时间。总线周期:由于存贮器和I/O端口是挂接在总线上的,CPU对存贮器和I/O接口的访问,是通过总线实现的。通常把CPU通过总线对微处理器外部(存贮器或I/O接口)进行一次访问所需时间称为一个总线周期。
13、一个总线周期一般包含4个时钟周期,分为以T1,T2,T3,T4表示。 基本总线周期为800ns.时钟周期:微处理器是在时钟信号CLK控制下按节拍工作的。时钟周期由时钟发生器产生。是计算机内部最小的时间单位,用Ti表示。时钟周期是CPU的时间基准,由计算机主频决定。8086系统的时钟频率为5MHz,每个时钟周期约为200ns。不同指令的指令周期是不等长的,而指令周期由一个或若干个总线周期组成。空闲周期:如果在一个总线周期后不立即执行下一个总线周期,系统总线处于空闲状态,此时执行空闲周期Ti。等待周期:在实际应用中,当一些慢速设备在三个T周期内无法完成数据读写时,那么在T4后,总线就不能为它们所用
14、,会造成系统读写出错。为此,在总线周期中允许插入等待周期TW当正在进行数据读写的存储器或外设无法在三个T周期内无法完成数据读写时,就由其发出一个请求延长总线周期的信号到8086CPU的READY引脚。8086CPU收到该请求后,就在T3与T4之间插入一个等待周期TW,加入TW的个数与外设请求信号的持续时间长短有关。8086总线的工作周期典型的总线周期示意读周期总线读操作(对存储单元或I/O端口)写周期总线写操作(对存储单元或I/O端口)空闲周期总线空操作而最大模式是相对最小模式而言的,此时系统中有两个或多个微处理器, 其中有一个是主处理器8086/8088,其它的处理器称为协处理器,它们协助主
15、处理器工作。用在较大系统中,系统中所有总线控制信号有8288总线控制器产生。二、8086/8088的工作模式 为了尽可能适应各种各样的使用场合,在设计8086 CPU芯片时, 使它们可以在两种模式下工作,即最小模式和最大模式。 所谓最小模式,就是在系统中只有8086/8088一个CPU,而所有的总线控制信号都由8086直接产生,因此系统中的总线控制电路被减到最少。8086/8088的工作模式由硬件决定。当MN/MX接高电平时,工作在最小模式;接低电平,工作在最大模式。最小组态(MN/MX引脚接高电平):构建较小的计算机系统时,系统地址总线由CPU地址线通过8282锁存供给;数据总线由CPU数据
16、线经8286缓冲后供给;系统控制总线由8086直接供给最大组态(MN/MX引脚接低电平) :构建较大的计算机系统时,系统地址总线和数据总线仍由8282和8286供给,系统控制总线由8288供给,8086通过总线控制器8288来形成各总线周期8086CPU的两种组态的特点三、 8086/8088的引脚AD15AD0:低16位地址/数据总线复用引脚NMI:非屏蔽中断输入端INTR:可屏蔽中断输入端RD:存储器或I/O读信号CLK:时钟输入端RESET:复位信号READY:“准备好”信号输入端TEST:测试信号A19/S6A16/S3:地址/状态复用输出端BHE:高8位地址总线允许输出端1、8086
17、CPU两种组态的部分公共引脚状态信号对当前使用段寄存器的指示S4S3当前正在使用的段寄存器00ES01SS10CS或未使用任何段寄存器11DSS5:指示IF的状态; S50禁止可屏蔽中断(INTR)S60表示8086/8088占有总线; 复位后相关寄存器的初始状态寄存器名初始状态寄存器名初始状态标志寄存器0000HIP0000HCSFFFFHDS0000HSS0000HES0000H指令队列清空其他寄存器0000H系统加电或操作员在键盘上进行“Reset”操作时产生Reset信号。从FFFF0H开始执行一条JMP指令,转入引导程序入口,把操作系统引导到内存来。3、8086最小模式下的引脚最小组
18、态时,引脚24-31的定义M/IO M/IO引脚用于区别CPU访问的是存储器还是I/O 端口。DT/R 数据发送/接收信号(data transmit/receive)表明微处理器数据总线是发送数据(DT/R1)还是接收数据(DT/R0)。WR 写控制,用来选通将8086的数据输出到存储器或I/O设备。ALE (Address latch enable) 地址锁存允许信号表明8086的地址/数据总线包含的是地址信息,该地址可以是存储器地址也可以是I/O端口号。最小组态引脚的定义(续)DEN 数据总线允许(data bus enable)用来激活外部数据总线缓冲器。 HOLD/HLDA 系统中别
19、的总线主设备通过HOLD向CPU发出总线请求信号,CPU在当前总线周期的T4状态输出总线响应信号HLDA,同时CPU使三总线浮空。INTA(interrupt acknowledge) 中断响应信号是对INTR输入引脚的响应。 8086最小模式下的典型配置由图可知,在8086的最小模式中,硬件连接上有如下几个特点: 当系统中所连接的存储器和外设比较多时,需要增加系统数据总线的驱动能力, 这时,要用两片8286/8287作为 总线收发器。MN/MX端接+5V,决定了8086工作 在最小模式。有一片8284A,作为 时钟发生器。有三片8282或74LS373,用来作为 地址锁存器。 最小模式下的数
20、据传输方式011存储器写101存储器读010100I/O读数据传输方式RDM/IOWRI/O写4、8086最大模式下的引脚最大组态时,引脚2431的定义S2、S1、S0:驱动8288总线控制器,产生各种总线周期所需的控制信号RQ/GT0、RQ/GT1:总线请求/允许信号,总线主设备向CPU请求总线时,通过RQ给出总线请求信号,CPU通过GT给出应答LOCK:禁止其它总线主设备占有总线QS1、QS0:内部指令队列状态BHE/S7:在总线周期的T1态,输出BHE信号,表示高8位数据线AD15AD8上的数据有效最大模式下的总线状态及对应操作这三个信号连接到总线控制器8288的输入端,8288对它们译
21、码后可以产生系统总线所需要的各种控制信号。8288的输出命令CPU状态中断响应读I/O端口写I/O端口暂停取指令读存储器写存储器无源状态INTAIORCIOWCAIOWC无MRDCMRDCMWTCAMWC无0 0 00 0 11 1 11 1 01 0 00 1 10 1 01 0 1S2 S1 S0S0、S1、S2总线周期状态信号(输出)QS1和QS0:指令队列状态信号(输出)这两个信号决定了前一状态中指令队列的状态。最大模式下的指令队列状态信号QS1指令队列状态信号的含义无操作从指令队列的第1个字节取走代码队列为空从指令队列的第1个字节及后续字节取走代码QS000011011LOCK:总线封锁信号(输出)低电平有效时,系统中其它总线主部件就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全球水利枢纽建设与运营合同
- 2025年纺织品租赁与洗涤业务合同样本
- 养殖土地入股合同范例
- 二零二五年度美容院员工绩效考核与激励方案合同
- 二零二五年度带担保个人教育培训借款合同
- 二零二五年度北京市冷冻食品仓储物流安全合同规范
- 全国粤教清华版初中信息技术九年级下册第1单元第4课《争创第一-“启动电机”模块和“延时等待”模块》教学设计
- 浙江省人教版历史与社会八年级下册6.1《连通世界的新航路》 教学设计1
- Unit 8 Section A 1a-1c 教学设计 2024-2025学年人教版英语八年级上册
- 小学信息技术第三册 传感器1选修教学实录 苏科版
- 房屋租赁合同标准版范文(4篇)
- 4.2做自信的人 课件 2024-2025学年统编版道德与法治七年级下册
- 小米集团价值创造及评价研究
- 湖南省2023年普通高等学校对口招生考试英语试卷
- 第11课《山地回忆》公开课一等奖创新教学设计
- 无人机执照考试知识考题(判断题100个)
- 学校保洁服务投标方案(技术标)
- 2025年春新人教版生物七年级下册课件 第三单元 植物的生活 第二章 植物体内的物质与能量变化 第一节 水的利用与散失
- 《脐橙采摘机器人结构设计》13000字(论文)
- 2025年黄河委员会招聘历年高频重点提升(共500题)附带答案详解
- 2025年保险公司工作计划
评论
0/150
提交评论