第二分16位和32位的微处理器_第1页
第二分16位和32位的微处理器_第2页
第二分16位和32位的微处理器_第3页
第二分16位和32位的微处理器_第4页
第二分16位和32位的微处理器_第5页
已阅读5页,还剩111页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章第二章 1616位和位和3232位的微处理器位的微处理器本章学习重点 80868086的编程结构,尤其是寄存器组;的编程结构,尤其是寄存器组; 80868086标志寄存器各个标志的含义;标志寄存器各个标志的含义; 80868086的读写时序、总线操作和中断机制;的读写时序、总线操作和中断机制; pentiumpentium的先进技术;的先进技术; pentiumpentium的工作方式;的工作方式; pentiumpentium的原理结构、寄存器组和描述符;的原理结构、寄存器组和描述符; pentiumpentium的主要信号;的主要信号; pentiumpentium的总线状态;的总线

2、状态; pentiumpentium的中断机制和中断描述符表;的中断机制和中断描述符表; pentiumpentium的段页两级保护机制。的段页两级保护机制。微处理器的性能描述微处理器的性能描述 字长:字长:指指cpucpu能同时处理的数据位数,也能同时处理的数据位数,也称为数据宽度。字长越长,计算能力越称为数据宽度。字长越长,计算能力越快,速度越快。快,速度越快。 主频:主频:cpucpu的时钟频率,这和的时钟频率,这和cpucpu的运算的运算速度密切相关,主频越高,运算速度越速度密切相关,主频越高,运算速度越快。快。2.1 162.1 16位微处理器位微处理器808680862.1.1 8

3、0862.1.1 8086的编程结构的编程结构2.1.2 80862.1.2 8086的引脚信号和工作模式的引脚信号和工作模式2.1.3 80862.1.3 8086的操作和时序的操作和时序2.1.4 80862.1.4 8086的存储器编址和的存储器编址和i/oi/o编址编址2.1.1 80862.1.1 8086的编程结构的编程结构 80868086是是intelintel系列的系列的1616位微处理器,有位微处理器,有1616根数据线和根数据线和2020根地址线。根地址线。 编程结构是指从程序员和使用者的角度看到的结构。编程结构是指从程序员和使用者的角度看到的结构。 从功能上,从功能上,

4、80868086分为两部分分为两部分: : 总线接口部件(总线接口部件(biubiu): :负责与存储器、负责与存储器、i/oi/o端口传送端口传送数据。数据。 执行部件(执行部件(eueu):负责指令的执行。):负责指令的执行。微机原理 第二章 ia-32结构的微处理器(6)80868086的内部结构的内部结构2.2 8086/80882.2 8086/8088微处理器微处理器1.1. 总线接口部件总线接口部件4 4个段地址寄存器,个段地址寄存器, cs 16cs 16位的代码段寄存器位的代码段寄存器 ds 16ds 16位的数据段寄存器位的数据段寄存器 es 16es 16位的附加段寄存器

5、位的附加段寄存器 ss 16ss 16位的堆栈段寄存器位的堆栈段寄存器1616位的指令指针寄存器位的指令指针寄存器ipip2020位的地址加法器位的地址加法器6 6字节的指令队列缓冲器字节的指令队列缓冲器2.1.1 80862.1.1 8086的编程结构的编程结构2. 2. 执行部件执行部件 4 4个通用寄存器,即个通用寄存器,即axax、bxbx、cxcx、dxdx 4 4个专用寄存器,即个专用寄存器,即bpbp、spsp、sisi、didi 标志寄存器标志寄存器 算术逻辑部件算术逻辑部件 2.1.1 80862.1.1 8086的编程结构的编程结构状态标志寄存器状态标志寄存器f f(9 9

6、个状态标志位个状态标志位) ) 状态标志:状态标志用来反映状态标志:状态标志用来反映eueu执行算术和逻执行算术和逻辑运算以后的结果特征。辑运算以后的结果特征。标志名称值为0值为1cf进位无进位或借位有进位或借位pf奇偶有奇数个1有偶数个1af辅助进位低4位无进位或借位低4位有进位或借位zf零结果不为0结果为0sf符号结果为正数结果为负数of溢出无溢出有溢出2.1.1 80862.1.1 8086的编程结构的编程结构控制标志位:控制控制标志位:控制cpucpu的操作的操作标志 名称值为0值为1df方向数据串指令以地址的递增顺序对数据串进行处理数据串指令以地址的递减顺序对数据串进行处理if中断允

7、许关中断开中断tf陷阱cpu正常工作单步运行2.1.1 80862.1.1 8086的编程结构的编程结构2.1.1 80862.1.1 8086的编程结构的编程结构3. 80863. 8086的总线周期的概念的总线周期的概念 cpucpu是一个复杂的是一个复杂的时序数字逻辑时序数字逻辑,其所有的操作都必,其所有的操作都必须在统一的时钟下完成。由片外输入须在统一的时钟下完成。由片外输入clkclk引脚的时钟引脚的时钟脉冲信号,是系统定时的基本脉冲,其频率称为脉冲信号,是系统定时的基本脉冲,其频率称为主频主频,其周期称为其周期称为时钟周期时钟周期,有时时钟周期又称为,有时时钟周期又称为t t状态状

8、态。时。时钟周期是钟周期是cpucpu执行各种操作的最小时钟单位执行各种操作的最小时钟单位。 总线周期总线周期,指的是,指的是8086cpu8086cpu通过总线,执行一次访问存通过总线,执行一次访问存储器或访问储器或访问i io o端口的操作或操作的时间。若执行的端口的操作或操作的时间。若执行的是数据输出是数据输出( (从从cpu)cpu),则称为,则称为 写写 总线周期总线周期;若执行的;若执行的是数据输入是数据输入( (到到cpu)cpu),则称为,则称为 读读 总线周期总线周期。典型的典型的80868086总线周期波形图总线周期波形图clkt1总线周期总线周期总线周期总线周期地址地址

9、缓冲缓冲数据数据地址地址 缓冲缓冲数据数据地址地址/数据数据总线总线t2t3t4t1t2t3t4 t2 t2状态,总线的高状态,总线的高4 4位输出状态信息位输出状态信息 t1 t1状态,发地址信息状态,发地址信息 t3 t3状态,高状态,高4 4位状态信息,低位状态信息,低1616位数据位数据 t3 t3之后,可能插入之后,可能插入t tw w 在在t4t4状态,结束。状态,结束。 在在80868086中,一个最基本的中,一个最基本的总线周期总线周期由由4 4个时钟周期组成,个时钟周期组成, 因此基本总线周期用因此基本总线周期用t1t1,t2t2,t3t3,t4t4表示表示2.1.1 808

10、62.1.1 8086的编程结构的编程结构2.1 162.1 16位微处理器位微处理器808680862.1.1 80862.1.1 8086的编程结构的编程结构2.1.2 80862.1.2 8086的引脚信号和工作模式的引脚信号和工作模式2.1.3 80862.1.3 8086的操作和时序的操作和时序2.1.4 80862.1.4 8086的存储器编址和的存储器编址和i/oi/o编址编址2.1.2 80862.1.2 8086的引脚信号和工作模式的引脚信号和工作模式 1.1.最小模式和最大模式的概念最小模式和最大模式的概念 (1)(1)最小模式最小模式: :在系统中只有一个微处理器。在系统

11、中只有一个微处理器。(2)(2)最大模式:两个或多个微处理器(主处理最大模式:两个或多个微处理器(主处理器、协处理器)器、协处理器)80878087:数值运算协处理器,实现多种类的:数值运算协处理器,实现多种类的数值操作,如高精度的整数和浮点运算,数值操作,如高精度的整数和浮点运算,也可以进行超越函数(如三角函数、对数也可以进行超越函数(如三角函数、对数函数)的计算函数)的计算80898089:输入:输入/ /输出协处理器,有一套专门输出协处理器,有一套专门用于输入用于输入/ /输出的指令系统,直接为输入输出的指令系统,直接为输入/ /输出设备服务。输出设备服务。2.8086/80882.80

12、86/8088的引脚信号和功能的引脚信号和功能 数据线和地址线复用数据线和地址线复用 有有16根数据线根数据线 第第21脚脚(reset)为输入复位为输入复位信号信号 第第22引脚为引脚为“准备好准备好”(ready)信号信号 高高4位地址和状态线复用位地址和状态线复用 2.1.2 80862.1.2 8086的引脚信号和工作模式的引脚信号和工作模式 vccad15a16/s3a17/s4a18/s5a19/s6bhe/s7mn/mxrdholdhldawrm/iodt/rdenaleintatestreadyreset8086gndad14ad13ad12ad11ad10ad9ad8ad7a

13、d6ad5ad4ad3ad2ad1ad0nmiintrclkgndvccad15a16/s3a17/s4a18/s5a19/s6bhe/s7mn/mxrdholdhldawrm/iodt/rdenaleintatestreadyreset8086gndad14ad13ad12ad11ad10ad9ad8ad7ad6ad5ad4ad3ad2ad1ad0nmiintrclkgndgnd vcc:gnd vcc:地和电源地和电源ad15ad15ad0:ad0:地址地址/ /数据复用数据复用a19/s6a19/s6a16/s3a16/s3 地址地址/ /状态状态复用复用s6:8086s6:8086当前

14、与总线相连当前与总线相连s5:ifs5:if的值的值s4s4、s3:s3:当前使用的段寄存器当前使用的段寄存器bhebhe/s7 :/s7 :高高8 8位数据总线允位数据总线允许许/ /状态复用状态复用nmi:nmi:非屏蔽中断输入非屏蔽中断输入 intr:intr:可屏蔽中断请求信可屏蔽中断请求信号输入号输入 rdrd: :读信号输出读信号输出 clk:clk:时钟输入时钟输入 resetreset: :复位信号输入复位信号输入 ready :“ready :“准备好准备好”信号输信号输入入 testtest: :测试信号输入测试信号输入 mn/mxmn/mx: :最小和最大模最小和最大模式

15、控制输入式控制输入 2.1.2 80862.1.2 8086的引脚信号和工作模式的引脚信号和工作模式 vccad15a16/s3a17/s4a18/s5a19/s6bhe/s7mn/mxrdholdhldawrm/iodt/rdenaleintatestreadyreset8086gndad14ad13ad12ad11ad10ad9ad8ad7ad6ad5ad4ad3ad2ad1ad0nmiintrclkgndintainta: :中断响应信号输出中断响应信号输出 ale:ale:地址锁存允许信号输出地址锁存允许信号输出 denden: :数据允许信号数据允许信号dt/rdt/r: :数据收发

16、信号输出数据收发信号输出 3.3.最小模式最小模式 2.1.2 80862.1.2 8086的引脚信号和工作模式的引脚信号和工作模式 m/iom/io: :存储器存储器/ /输入输出控输入输出控制信号输出制信号输出wrwr: :写信号输出写信号输出 hold:hold:总线保持请求信号输入总线保持请求信号输入 hlda:hlda:总线保持响应信号输出总线保持响应信号输出 2.1.2 80862.1.2 8086的引脚信号和工作模式的引脚信号和工作模式 80868086在最小模式下的典型配置在最小模式下的典型配置最小模式连接特点:最小模式连接特点: mn/mxmn/mx端接端接+5v+5v 1

17、1片片8284a8284a作为时钟发生器作为时钟发生器 地址锁存器地址锁存器 存储器和外设较多时,需要总线收发器存储器和外设较多时,需要总线收发器2.1.2 80862.1.2 8086的引脚信号和工作模式的引脚信号和工作模式 2.1.2 80862.1.2 8086的引脚信号和工作模式的引脚信号和工作模式 m/iom/io、rdrd、wrwr信号的关系信号的关系 8284a8284a和和80868086的连接的连接2.1.2 80862.1.2 8086的引脚信号和工作模式的引脚信号和工作模式 4.4. 最大模式最大模式 qs1、qs0:指令队列状态信号输指令队列状态信号输出出 s2#、s1

18、#、s0#:总线周期状态信总线周期状态信号输出号输出 lock#(lock):总线封锁信号输出总线封锁信号输出 rq#/gt1#、rq#/gt0#:总线请总线请求信号输入、总线授权信号输出求信号输入、总线授权信号输出 2.1.2 80862.1.2 8086的引脚信号和工作模式的引脚信号和工作模式 vccad15a16/s3a17/s4a18/s5a19/s6bhe/s7mn/mxrdrq/gt0rq/gt1locks2s1s0qs0qs1testreadyreset8086gndad14ad13ad12ad11ad10ad9ad8ad7ad6ad5ad4ad3ad2ad1ad0nmiintr

19、clkgnd8086在最大模式下的典型配置 :2.1.2 80862.1.2 8086的引脚信号和工作模式的引脚信号和工作模式 2.1 162.1 16位微处理器位微处理器808680862.1.1 80862.1.1 8086的编程结构的编程结构2.1.2 80862.1.2 8086的引脚信号和工作模式的引脚信号和工作模式2.1.3 80862.1.3 8086的操作和时序的操作和时序2.1.4 80862.1.4 8086的存储器编址和的存储器编址和i/oi/o编址编址2.1.3 80862.1.3 8086的操作和时序的操作和时序 80868086的主要操作的主要操作: : 系统的复位

20、和启动操作;系统的复位和启动操作; 暂停操作;暂停操作; 总线操作;总线操作; 中断操作;中断操作; 最小模式下的总线保持;最小模式下的总线保持; 最大模式下的总线请求最大模式下的总线请求/ /允许。允许。 2.1.3 80862.1.3 8086的操作和时序的操作和时序 1. 1. 系统的复位和启动操作系统的复位和启动操作 2.1.3 80862.1.3 8086的操作和时序的操作和时序 2. 2. 总线操作总线操作80868086最小方式下的总线读操作最小方式下的总线读操作80868086最小方式下的总线写操作最小方式下的总线写操作 2.1.3 80862.1.3 8086的操作和时序的操

21、作和时序 微机原理 第2章 16位和32位的微处理器(30)补充概念:堆栈补充概念:堆栈 堆栈堆栈主要用于主要用于暂存暂存数据和在过程调用或处理数据和在过程调用或处理中断时中断时暂存断点信息暂存断点信息。 堆栈:在存储器中开辟的一片数据存储区,堆栈:在存储器中开辟的一片数据存储区,这片存储区的一端固定,另一端活动,且只这片存储区的一端固定,另一端活动,且只允许数据从活动端进出。采用允许数据从活动端进出。采用“先进后出先进后出”的规则的规则 。 堆栈的组织:堆栈指示器堆栈的组织:堆栈指示器sp,它总是指向堆,它总是指向堆栈的栈顶堆栈的伸展方向既可以从高地址向栈的栈顶堆栈的伸展方向既可以从高地址向

22、低地址,也可以从低地址向高地址。低地址,也可以从低地址向高地址。8086/8088的堆栈的伸展方向是从高地址向低地址。的堆栈的伸展方向是从高地址向低地址。 演示演示2.1.3 80862.1.3 8086的操作和时序的操作和时序 3.3.中断操作和中断系统中断操作和中断系统(1 1)什么是中断?)什么是中断?80868086的中断有哪些类型?的中断有哪些类型?中断是指当中断是指当cpucpu正在执行程序时,外设正在执行程序时,外设( (或其它中或其它中断源断源) )向向cpucpu发出请求,发出请求,cpucpu暂停当前程序的执行,暂停当前程序的执行,转向该外设服务转向该外设服务( (或称或称

23、中断服务中断服务) )程序程序,当,当中断服中断服务程序务程序运行结束后,返回原程序继续执行的过程。运行结束后,返回原程序继续执行的过程。中断可分为内部中断(软件中断)和外部中断中断可分为内部中断(软件中断)和外部中断(硬件中断)(硬件中断)除法错除法错中断中断(2) (2) 中断向量和中断向量表中断向量和中断向量表 阅读课本阅读课本p27p27到到p28p28中断向量和中断向量表部分的内中断向量和中断向量表部分的内容,思考如下问题:容,思考如下问题: 8086 8086有有256256种类型的中断,每一种类型的中断对种类型的中断,每一种类型的中断对应的中断服务程序的入口地址是不是固定的?系统

24、怎应的中断服务程序的入口地址是不是固定的?系统怎样找到中断服务程序的入口地址?样找到中断服务程序的入口地址? 假设某系统中对应于中断类型号为假设某系统中对应于中断类型号为30h30h的中断处的中断处理子程序从理子程序从1234h:5678h1234h:5678h开始,则中断向量应该怎样存开始,则中断向量应该怎样存放放? ? 如果一个用户想定义某个中断,应该选择在什如果一个用户想定义某个中断,应该选择在什么范围?么范围?2.1.3 80862.1.3 8086的操作和时序的操作和时序 (2) (2) 中断向量和中断向量表中断向量和中断向量表 中断向量:中断处理子程序的入口地址,每一个中中断向量:

25、中断处理子程序的入口地址,每一个中断类型对应一个中断向量。断类型对应一个中断向量。 2.1.3 80862.1.3 8086的操作和时序的操作和时序 中断处理中断处理子程序子程序中断类型码中断类型码段基址段基址偏移地址偏移地址4 4偏移地址偏移地址偏移地址偏移地址cscsipip段基址段基址1616代码段代码段中断向量表中断向量表地址指针地址指针00000h00000h003ffh003ffh(3) (3) 硬件中断硬件中断 nminmi intrintr2.1.3 80862.1.3 8086的操作和时序的操作和时序 2.1.3 80862.1.3 8086的操作和时序的操作和时序中断的基本

26、过程:中断的基本过程: 中断检测中断检测 中断响应中断响应 中断处理中断处理 中断返回中断返回(4) (4) 硬件中断的响应和时序硬件中断的响应和时序 阅读课本阅读课本p29p29到到p32p32页的相关内容,思考如下问题:页的相关内容,思考如下问题:简述简述80868086的中断响应的总线周期的中断响应的总线周期可屏蔽中断的响应过程是怎样的?可屏蔽中断的响应过程是怎样的?cpucpu实际执行的与之相实际执行的与之相对应的总线时序是什么?对应的总线时序是什么?可屏蔽中断与不可屏蔽中断的处理有什么不同?可屏蔽中断与不可屏蔽中断的处理有什么不同? 一个可屏蔽中断请求到来时,通常只要中断允许标志为一

27、个可屏蔽中断请求到来时,通常只要中断允许标志为1 1,便可在执行完当前指令后响应,在哪些情况下有例外?便可在执行完当前指令后响应,在哪些情况下有例外? 80868086在中断响应期间为什么要将在中断响应期间为什么要将ifif和和tftf清清0 0? 在对堆栈指针进行修改时,要特别注意什么问题?为什在对堆栈指针进行修改时,要特别注意什么问题?为什么?么? 第第1 1个总线周期,通知外设,个总线周期,通知外设,cpucpu准备响应中断;准备响应中断;第第2 2个总线周期,外设发送中断类型码个总线周期,外设发送中断类型码2.1.3 80862.1.3 8086的操作和时序的操作和时序 (4) (4)

28、 硬件中断的响应和时序硬件中断的响应和时序 可屏蔽中断的响应过程可屏蔽中断的响应过程 : 读取中断类型号(中断响应周期)读取中断类型号(中断响应周期) 将标志寄存器的值推入堆栈(将标志寄存器的值推入堆栈(1 1个总线写周期)个总线写周期) 把标志寄存器的把标志寄存器的ifif和和tftf清零清零 将断点保护到堆栈中。将断点保护到堆栈中。 (2 2个总线写周期)个总线写周期) 寻找中断向量,转入中断处理程序寻找中断向量,转入中断处理程序 (2 2个总线个总线读周期)读周期)(5) (5) 中断处理子程序中断处理子程序 2.1.3 80862.1.3 8086的操作和时序的操作和时序 push a

29、x push ax ; ;进一步保护中断现场进一步保护中断现场 push bxpush bx push cx push cx sti sti ; ;开放中断开放中断 ; ;中断处理的具体内容中断处理的具体内容 pop cx pop cx ; ;恢复现场恢复现场 pop bxpop bx pop ax pop ax reti reti ; ;中断返回中断返回(6) (6) 软件中断软件中断 阅读课本阅读课本p32p32到到p33p33的相关内容,思考:的相关内容,思考: 软件中断有哪些特点?软件中断有哪些特点? 在中断处理子程序和主程序的关系上,软件中断在中断处理子程序和主程序的关系上,软件中断

30、和硬件中断有什么不同之处?和硬件中断有什么不同之处?2.1.3 80862.1.3 8086的操作和时序的操作和时序 4. 4. 最小模式下的总线保持最小模式下的总线保持利用hold和hlda信号实现总线保持2.1.3 80862.1.3 8086的操作和时序的操作和时序 5. 5. 最大模式下的总线请求最大模式下的总线请求/ /授权授权利用rq#/gt实现总线请求/授权2.1.3 80862.1.3 8086的操作和时序的操作和时序 2.1 162.1 16位微处理器位微处理器808680862.1.1 80862.1.1 8086的编程结构的编程结构2.1.2 80862.1.2 8086

31、的引脚信号和工作模式的引脚信号和工作模式2.1.3 80862.1.3 8086的操作和时序的操作和时序2.1.4 80862.1.4 8086的存储器编址和的存储器编址和i/oi/o编址编址2.1.4 80862.1.4 8086的存储器编址和的存储器编址和i/oi/o编址编址 1. 80861. 8086的存储器编址的存储器编址 2.1.4 80862.1.4 8086的存储器编址和的存储器编址和i/oi/o编址编址cs、ds、ss和其他寄存器组合指向存储单元的示意和其他寄存器组合指向存储单元的示意 :2.1.4 80862.1.4 8086的存储器编址和的存储器编址和i/oi/o编址编址

32、 分段编址的好处分段编址的好处 程序中的指令只涉及程序中的指令只涉及1616位地址,减短了指令长度,位地址,减短了指令长度,提高了执行程序的速度。在程序执行过程中,不需提高了执行程序的速度。在程序执行过程中,不需要在要在1m1m空间中去寻址,多数情况下只在一个较小的空间中去寻址,多数情况下只在一个较小的存储器段中运行。存储器段中运行。 多数指令运行时,并不涉及段寄存器的值,而只涉多数指令运行时,并不涉及段寄存器的值,而只涉及及1616位的偏移量。也为程序的位的偏移量。也为程序的浮动装配浮动装配创造了条件。创造了条件。2.1.4 80862.1.4 8086的存储器编址和的存储器编址和i/oi/

33、o编址编址 存储器中,有几个部分的用处是固定的:存储器中,有几个部分的用处是固定的: 00000 00000003ffh:003ffh:中断向量表中断向量表 b0000h b0000hb0f9fhb0f9fh:单色显示器的显示缓冲区:单色显示器的显示缓冲区 b8000h b8000hbbf3fhbbf3fh:彩色显示器的显示缓冲区:彩色显示器的显示缓冲区 ffff0h ffff0hfffffh fffffh :无条件转移指令:无条件转移指令微机原理 第2章 16位和32位微处理器(48)教育技术07级2.1.4 80862.1.4 8086的存储器编址和的存储器编址和i/oi/o编址编址 存储

34、器按存储器按字节字节组织,按组织,按字节字节分配分配地址地址 当存放的数为一个字当存放的数为一个字(16位,位,2个字节个字节)时,则将字的时,则将字的高位字节高位字节放在放在高地址高地址中,将中,将低位字节低位字节存放存放在在低地址低地址中;中; 当存放的数是双字形式当存放的数是双字形式(地址指地址指针数据针数据)时,则将时,则将低字低字(偏移量)偏移量)存放在较低地址存放在较低地址中,中,高字(段基高字(段基址)址)存放在存放在较高地址较高地址中中 。1fh1fh20h20h21h21h22h22h23h23h24h24h25h25h26h26h0ch0ch28h28h23h23h0bh0

35、bh00h00h30h30h00h00h20h20h地址指针地址指针段基址:段基址:2000h2000h偏移量:偏移量:3000h3000h字字:0b23h:0b23h字节数字节数字节数字节数地址地址微机原理 第2章 16位和32位微处理器(49)2.1.4 80862.1.4 8086的存储器编址和的存储器编址和i/oi/o编址编址 对存放的字,其低位字节对存放的字,其低位字节可以在可以在奇数地址奇数地址中中(即从奇即从奇数地址开始存放数地址开始存放),这种方,这种方式为式为非规则存放非规则存放,这样存,这样存放的字为放的字为非规则字非规则字; 若是低位字节在若是低位字节在偶数地址偶数地址中

36、中(即从偶数地址开始存放即从偶数地址开始存放)为为规则存放规则存放,这样存放的,这样存放的字称为字称为规则字规则字。1fh1fh20h20h21h21h22h22h23h23h0ch0ch28h28h23h23h0bh0bh20h20h非规则字非规则字280ch280ch规则字规则字200bh200bh微机原理 第2章 16位和32位微处理器(50)2.1.4 80862.1.4 8086的存储器编址和的存储器编址和i/oi/o编址编址 若一个字是规则存放,则对它的存取可在一个总线周期完若一个字是规则存放,则对它的存取可在一个总线周期完成,而非规则字的存取则需二个总线周期。成,而非规则字的存取

37、则需二个总线周期。a0=0:同时同时选中高位库选中高位库和低位库,和低位库,传送传送2字节字节;a0=1:只选只选中高字节,中高字节,传送传送1字节字节cs a19a1(高字节)(高字节)奇地址存储体奇地址存储体512k8cs a19a1(低字节)(低字节)偶地址存储体偶地址存储体512k8d15d8d7d0a19a1a0bhe高高8位数据线位数据线低低8位数据线位数据线微机原理 第2章 16位和32位微处理器(51)2.1.4 80862.1.4 8086的存储器编址和的存储器编址和i/oi/o编址编址操作操作a0a0bhebhe数据线数据线存取规则字存取规则字0 00 0ad15-ad0a

38、d15-ad0传送偶地址的一个字节传送偶地址的一个字节0 01 1ad7-ad0ad7-ad0传送奇地址的一个字节传送奇地址的一个字节1 10 0ad15-ad8ad15-ad8存取非规则字存取非规则字1 10 0ad15-ad8ad15-ad8(第一个总线周期放低位数(第一个总线周期放低位数据字节)据字节)0 01 1ad7-ad0ad7-ad0(第二个总线周期放高位数(第二个总线周期放高位数据字节)据字节)微机原理 第2章 16位和32位微处理器(52)2.1.4 80862.1.4 8086的存储器编址和的存储器编址和i/oi/o编址编址 练习练习1 1:有三个字数据,分别是:有三个字数

39、据,分别是1268h1268h,0 0a132ha132h,3630h3630h,他们在,他们在80868086系统存储器系统存储器中的地址分别为中的地址分别为21001h21001h、21004h21004h、2100621006h,h,请画出它们的存储示意图。请画出它们的存储示意图。 练习练习2 2:有一个:有一个3232位的地址指针位的地址指针20002000:323210h10h存放在从存放在从22000h22000h开始的存储器中,画开始的存储器中,画出它们的存放示意图。出它们的存放示意图。2.1.4 80862.1.4 8086的存储器编址和的存储器编址和i/oi/o编址编址 2.

40、80862.8086的的i/oi/o编址编址一个一个n n位的位的端口端口实际上是存取数据的一个实际上是存取数据的一个n n位位寄存器寄存器。在系统设计时,要为每个端。在系统设计时,要为每个端口分配一个口分配一个地址地址,称为,称为端口地址端口地址或或端口端口号号。i/oi/o端口的编址方式端口的编址方式统一编址方式统一编址方式内存内存960kb960kbi/0i/0(64kb64kb)00000h00000heffffheffffhf0000hf0000hfffffhfffffh00000h00000hfffffhfffffh0000h0000hffffhffffh独立编独立编址方式址方式内

41、存内存(1mb1mb)i/0i/0(64kb64kb)2.1.4 80862.1.4 8086的存储器编址和的存储器编址和i/oi/o编址编址80868086的的i/oi/o端口采用端口采用独立编址方式独立编址方式80868086允许有允许有65535(64k)65535(64k)个个8 8位的位的i/oi/o端口,端口,两个相邻编号的端口可以组合成一个两个相邻编号的端口可以组合成一个1616位端口位端口2.2 322.2 32位微处理器位微处理器pentiumpentium的先进技术的先进技术1.1. 先进的体系结构先进的体系结构2.2. cisccisc和和riscrisc相结合的技术相结

42、合的技术3.3. 超标量流水线技术超标量流水线技术4.4. 先进的分支预测技术先进的分支预测技术整数寄存器整数寄存器alualu(u(u流水线流水线) )alualu(v(v流水线流水线) )滚式移位器滚式移位器u u流水线流水线 v v流流水线水线控制部件控制部件8kb8kb数据数据 cachecache指令预取部件指令预取部件指令译码器指令译码器8kb8kb代码代码 cachecache控制控制romrombtbbtb分分支目标支目标缓冲器缓冲器总线总线接口接口部件部件biubiu分段分段部件部件与与分页分页部件部件浮点处理浮点处理部件部件fpufpu控制控制寄存器组寄存器组加法加法除法除

43、法乘法乘法tlbtlbtlbtlb80808080323232323232323232323232256256预取预取地址地址指令指令指针指针6464位位数据数据3232位位地址地址6464位位数据总线数据总线3232位位地址总线地址总线控制总线控制总线2.2 322.2 32位微处理器位微处理器pentiumpentium的先进技术的先进技术1.1. 先进的体系结构先进的体系结构2.2. cisccisc和和riscrisc相结合的技术相结合的技术3.3. 超标量流水线技术超标量流水线技术4.4. 先进的分支预测技术先进的分支预测技术cisccisc和和riscrisc相结合的技术相结合的技

44、术 复杂指令集计算机技术(复杂指令集计算机技术(complex instruction set ccomplex instruction set computer,cisc)omputer,cisc) 指令系统中包含很多指令,既有常用指令,也有用指令系统中包含很多指令,既有常用指令,也有用得较少的复杂指令。得较少的复杂指令。 访问内存时采用多种寻址方式访问内存时采用多种寻址方式 采用采用微程序微程序机制机制 简化指令集计算机技术(简化指令集计算机技术(reduced instruction ,risreduced instruction ,risc )c ) 指令系统只含简单而常用的指令。指令

45、的长度较短,指令系统只含简单而常用的指令。指令的长度较短,且每条指令长度相同且每条指令长度相同 采用流水线机制来执行指令。采用流水线机制来执行指令。 大多数指令利用内部寄存器来执行。大多数指令利用内部寄存器来执行。 pentiumpentium的大多数指令是简化指令,保留了一部分复杂的大多数指令是简化指令,保留了一部分复杂指令,对这部分指令用硬件来实现。指令,对这部分指令用硬件来实现。cisccisc和和riscrisc相结合的技术相结合的技术2.2 322.2 32位微处理器位微处理器pentiumpentium的先进技术的先进技术1.1. 先进的体系结构先进的体系结构2.2. ciscci

46、sc和和riscrisc相结合的技术相结合的技术3.3. 超标量流水线技术超标量流水线技术4.4. 先进的分支预测技术先进的分支预测技术什么是流水线?你能举什么是流水线?你能举出生活中的流水线的例出生活中的流水线的例子吗?子吗?食堂里的流水线食堂里的流水线-汤粉汤粉食堂里的流水线食堂里的流水线-汤粉汤粉打卡计费打卡计费烫粉烫粉加调料加调料加配菜加配菜1010秒秒1515秒秒3030秒秒1010秒秒6565秒秒+ + + += 不采用流水线:不采用流水线:4 465=26065=260 采用流水线:采用流水线:65+365+330=15530=1554 4个人的服务时间:个人的服务时间:3. p

47、entium3. pentium的指令流水线技术的指令流水线技术 指令流水线技术的原理指令流水线技术的原理 指令流水线技术是一种将指令流水线技术是一种将每条指令分解为多步,并每条指令分解为多步,并让各步操作重叠,从而实现几条指令并行处理的技让各步操作重叠,从而实现几条指令并行处理的技术。术。 程序中的指令仍是一条条顺序执行,但可以预先取程序中的指令仍是一条条顺序执行,但可以预先取若干条指令,并在当前指令尚未执行完时,提前启若干条指令,并在当前指令尚未执行完时,提前启动后续指令的另一些操作步骤。这样显然可加速一动后续指令的另一些操作步骤。这样显然可加速一段程序的运行过程。段程序的运行过程。 pe

48、ntiumpentium的流水线的组成的流水线的组成 pentiumpentium的一条流水线含有的一条流水线含有5 5个流水线级。个流水线级。指令预取级指令预取级pfpf首次译码级首次译码级d1d1二次译码级二次译码级d2d2执行级执行级exex回写级回写级wbwb 流水线运行时,一条接一条的指令连续不断地送到流水线运行时,一条接一条的指令连续不断地送到流水线,于是,在流水线全速运行时,同一个时钟流水线,于是,在流水线全速运行时,同一个时钟周期内,多个部件分别对多条指令的不同步骤进行周期内,多个部件分别对多条指令的不同步骤进行操作。操作。pentiumpentium的指令流水线的运行的指令流

49、水线的运行超标量流水线技术超标量流水线技术 在在pentiumpentium中,采用中,采用u u和和v v两条流水线,每条流水线均两条流水线,每条流水线均含有独立的含有独立的alualu、一系列寄存器、地址生成电路和连、一系列寄存器、地址生成电路和连接数据的接数据的cachecache接口。能够以并行方式在接口。能够以并行方式在u u、v v两条流两条流水线上同时执行两条指令。水线上同时执行两条指令。 阅读教材阅读教材p43p43的的pentiumpentium的超标量流水线的运行,掌的超标量流水线的运行,掌握握u u流水线和流水线和v v流水线的配对规则,了解两条流水线流水线的配对规则,了

50、解两条流水线的运行过程。思考:的运行过程。思考:在什么情况下在什么情况下v v流水线会受阻?流水线会受阻?与与u u流水线上的指令不符合配对规则流水线上的指令不符合配对规则u u流水线中执行过程受阻流水线中执行过程受阻2.2 322.2 32位微处理器位微处理器pentiumpentium的先进技术的先进技术1.1. 先进的体系结构先进的体系结构2.2. cisccisc和和riscrisc相结合的技术相结合的技术3.3. 超标量流水线技术超标量流水线技术4.4. 先进的分支预测技术先进的分支预测技术2.2 322.2 32位微处理器位微处理器pentiumpentium的先进技术的先进技术4

51、. 4. 先进的分支预测技术先进的分支预测技术 mov ax,0 mov ax,0 mov cx,100 mov cx,100 again: add ax,cxagain: add ax,cx dec cx dec cx jnz again jnz again mov sum,ax mov sum,ax hlt hltax0ax0cx100cx100axax+cxaxax+cxcxcx-1cxcx-1cx=0cx=0sumaxsumaxhlthlt 规律:规律:大多数分支指令转向每个分大多数分支指令转向每个分支的机会不是均等的支的机会不是均等的大多数分支转移指令排列在大多数分支转移指令排列在循

52、环程序中循环程序中 结论:结论:分支转移指令的转移目标地分支转移指令的转移目标地址是可以预测的,预测的依据址是可以预测的,预测的依据就是前一次转移的目标地址即就是前一次转移的目标地址即所谓的历史状态。所谓的历史状态。 pentiumpentium用分支目标缓冲器用分支目标缓冲器btb(branch target bufbtb(branch target buffer)fer)来执行预测功能,它含有一个来执行预测功能,它含有一个1kb1kb容量的容量的cachecache,其中可以容纳其中可以容纳256256条转移指令的目标地址和历史状态。条转移指令的目标地址和历史状态。 当一条指令造成分支时,

53、当一条指令造成分支时,btbbtb检测这条指令以前的执检测这条指令以前的执行状态,并用此状态信息预测当前的分支目标地址,行状态,并用此状态信息预测当前的分支目标地址,然后预取此处的指令。然后预取此处的指令。 高速分支预测技术高速分支预测技术 课外扩展:什么是动态分支预测?什么是静态分支课外扩展:什么是动态分支预测?什么是静态分支预测?预测?2.4 pentium2.4 pentium的工作方式的工作方式 实地址方式实地址方式: :系统初始化系统初始化 保护方式:本性方式,最常用。保护方式:本性方式,最常用。 虚拟地址方式虚拟地址方式 系统管理方式系统管理方式2.5 pentium2.5 pen

54、tium的原理结构的原理结构 总线接口部件总线接口部件 u u流水线和流水线和v v流水线流水线 数据数据cachecache 指令指令cachecache 指令预取部件指令预取部件 指令译码器指令译码器 控制控制romrom 分支目标缓冲器分支目标缓冲器btbbtb 控制部件控制部件 浮点处理部件浮点处理部件fpufpu 分段部件和分页部件分段部件和分页部件 寄存器组寄存器组整数寄存器整数寄存器alualu(u(u流水线流水线) )alualu(v(v流水线流水线) )滚式移位器滚式移位器u u流水线流水线 v v流流水线水线控制部件控制部件8kb8kb数据数据 cachecache指令预取

55、部件指令预取部件指令译码器指令译码器8kb8kb代码代码 cachecache控制控制romrombtbbtb分分支目标支目标缓冲器缓冲器总线总线接口接口部件部件biubiu分段分段部件部件与与分页分页部件部件浮点处理浮点处理部件部件fpufpu控制控制寄存器组寄存器组加法加法除法除法乘法乘法tlbtlbtlbtlb80808080323232323232323232323232256256预取预取地址地址指令指令指针指针6464位位数据数据3232位位地址地址6464位位数据总线数据总线3232位位地址总线地址总线控制总线控制总线地址驱动和传输地址驱动和传输数据驱动数据驱动数据总线宽度控制数

56、据总线宽度控制数据缓冲数据缓冲总线操作的控制功能总线操作的控制功能奇奇/ /偶校验告示功能偶校验告示功能cachecache操作控制操作控制cachecache(高速缓存):容量较小、速(高速缓存):容量较小、速度很高的可读度很高的可读/ /写写ram,ram,用来存放用来存放cpucpu最近要使用的数据和指令。其中数最近要使用的数据和指令。其中数据是主存中一小部分数据的复制品据是主存中一小部分数据的复制品从代码从代码cachecache预先预先取指令。每次取两取指令。每次取两条指令条指令两个并行工作的译两个并行工作的译码部件码部件有复杂指令对应的有复杂指令对应的微程序微程序预测转移是否发生,

57、预测转移是否发生,并提供预取地址并提供预取地址对来自指令译码部对来自指令译码部件和控制件和控制romrom中微程中微程序的解析,控制序的解析,控制u u、v v两条流水线和两条流水线和fpufpu正常运行。正常运行。分段部件将程序提供的逻辑分段部件将程序提供的逻辑地址转换为线性地址;分页地址转换为线性地址;分页是在分段基础上进一步把存是在分段基础上进一步把存储段分为固定大小的页面。储段分为固定大小的页面。用于浮点运算用于浮点运算2.6 pentium2.6 pentium的寄存器和相关机制的寄存器和相关机制 2.6.1 2.6.1 基本寄存器组基本寄存器组 2.6.2 2.6.2 段寄存器和描

58、述符以及保护方式的寻址机制段寄存器和描述符以及保护方式的寻址机制 2.6.3 2.6.3 系统寄存器组系统寄存器组 2.6.4 2.6.4 浮点寄存器组浮点寄存器组pentiumpentium的寄存器组包括的寄存器组包括 基本寄存器组基本寄存器组 系统寄存器组系统寄存器组 浮点寄存器组浮点寄存器组 基本寄存器组基本寄存器组 通用寄存器通用寄存器 eaxeaxebxebxecxecxedxedx31 1631 16 15 815 8ahahbhbhchchdhdh7070alalblblclcldldlaxaxbxbxcxcxdxdxespespebpebpesiesiediedi31 1631

59、 16 15 815 8 7070spspbpbpsisididi基本寄存器组基本寄存器组 指令指针寄存器和标志寄存器指令指针寄存器和标志寄存器2.6 pentium2.6 pentium的寄存器和相关机制的寄存器和相关机制 2.6.1 2.6.1 基本寄存器组基本寄存器组 2.6.2 2.6.2 段寄存器和描述符以及保护方式的寻址机制段寄存器和描述符以及保护方式的寻址机制 2.6.3 2.6.3 系统寄存器组系统寄存器组 2.6.4 2.6.4 浮点寄存器组浮点寄存器组段寄存器和描述符以及保护方式的寻址机制段寄存器和描述符以及保护方式的寻址机制 段寄存器:段寄存器:cs,ds,ss,es,f

60、s,gscs,ds,ss,es,fs,gs三种描述符表三种描述符表 全局描述符表全局描述符表gdt(1gdt(1个个) ) 局部描述符表局部描述符表ldtldt(多个)(多个) 中断描述符表中断描述符表idtidt(1 1个)个)保护方式下段地址的产生保护方式下段地址的产生段选择子包含段选择子包含3 3个部分的内容个部分的内容 描述符表指示标志描述符表指示标志titi 描述符索引描述符索引didi 请求特权级请求特权级rplrpl保护方式下段地址的产生保护方式下段地址的产生2.6 pentium2.6 pentium的寄存器和相关机制的寄存器和相关机制 2.6.1 2.6.1 基本寄存器组基本

温馨提示

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

评论

0/150

提交评论