




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微型计算机原理与接口技术微型计算机原理与接口技术莫善军中山大学工学院Tel:(020)39332230课件下载:课件下载:ftp:/ ID:pptID:ppt PW:pptPW:ppt热动专业计算机原理2第2章 微处理器与总线本章讲述:1 微处理器的特点2 8086的微处理器380386微处理器4P45总线热动专业计算机原理31 微处理器概述微处理器概述o 冯诺依曼计算机结构:以运算器为核心、以存储程序原理为基础运算器运算器输出设备输出设备控制器控制器输入设备输入设备存储器存储器指令指令驱动驱动指令流控制命令数据流热动专业计算机原理4微型计算机结构存储器I/O接口输入设备I/O接口地址总线地址
2、总线 ABAB输出设备CPU数据总线数据总线 DBDB控制总线控制总线 CBCBI/O接口AB: Address BusDB: Data BusCB: Control Bus热动专业计算机原理5微处理器的一般结构运算器 算术逻辑运算,由加法器和(ALU) 一些辅助逻辑电路组成 指令流控制控制器 时序控制,产生节拍定时信号 指令译码和操作控制寄存器组 存放临时数据、运算的中 间结果、运算特征、操作数地址性能:性能:8位位16位位 32位位(主流主流) 64位位(趋势趋势)主主要要部部件件热动专业计算机原理6运算器o 运算器由算术逻辑单元(ALU)、通用或专用寄存器组及内部总线组成。o ALU:加
3、法器、逻辑运算功能部件o 运算器结构: 单总线结构 双总线结构 三总线结构(In:两条、Out:一条)热动专业计算机原理7控制器o 指令控制:连续执行指令的过程控制。 取指令、译码、传送操作数、存结果o 时序控制: 时钟周期、指令周期o 操作控制:产生控制信号o 控制器组成: 程序计算器(PC) 指令寄存器(IR) 指令译码器(ID)热动专业计算机原理8微处理器结构:指令执行过程地址寄存器AR累加器A加法器加法器数据寄存器DR指令寄存器IR指令译码器ID时序逻辑电路时序控制信号(控制命令)1011 00000000 01010000 01000000 10001111 0100内部总线存储器0
4、1234程序计数器PC地址MOV AX, 5ADD AX, 8HLT地址总线+1地址译码器读写控制电路输出地址输出地址1011 0000锁存指令锁存指令锁存数据锁存数据置初值置初值输出指输出指令地址令地址锁存地址锁存地址读写命令读写命令指令译码指令译码锁存输出(取指/译码/执行)运算器控制器热动专业计算机原理9第2章 微处理器与总线本章讲述:1 微处理器的特点28086的微处理器1)外部引脚2)内部结构3)存储组织4)工作时序380386微处理器4P45总线热动专业计算机原理102 8088/8086微处理器微处理器1981年8088微处理器40根外部引线,5V工作电压8088外部总线8位,8
5、086外部总线6位8088/8086是IBM PC/XT的核心部件,PC技术发展的基石o 2.1 特点o 2.2 CPU引脚o 2.3 内部结构热动专业计算机原理112.1 8088/8086特点o 采用并行流水线工作方式: 通过设置指令预取队列(通过设置指令预取队列(IPQ)实现)实现o 对内存空间实行分段管理: 将内存分段并设置地址段寄存器,以实现将内存分段并设置地址段寄存器,以实现对对1MB空间的寻址。空间的寻址。o 支持多处理器系统:8087 FPU执行部件执行部件取指部件取指部件热动专业计算机原理12计算机运算过程取指令取指令指令指令译码译码取操取操作数作数执行执行指令指令存放存放结
6、果结果 CPU执行一条指令的过程类似于工厂生产流水线,被分 解为多个小的步骤,称为指令流水线。原料原料调度分配调度分配生产线生产线成品成品仓库仓库出厂出厂数据和程序指令控制器的调度分配ALU等 功能部件处理后的数据存储器输出热动专业计算机原理13指令流水线o 指令流水线有两种运作方式:n串行方式: 取指令和执行指令在不同的时刻按顺序执行。n并行方式: 取指令和执行指令可同时执行,需要有能并行工作的硬件的支持。热动专业计算机原理14o 8086以前的CPU采用串行工作方式串行工作方式取指令取指令1执行执行1取指令取指令2执行执行2CPUBUS忙忙 碌碌忙忙 碌碌取指令取指令3执行执行3忙忙 碌碌
7、空闲空闲空闲空闲空闲空闲t1t0t2t3t4t56个周期执行了3条指令热动专业计算机原理15并行工作方式o 8086CPU采用并行工作方式取指令取指令1取指令取指令2取指令取指令3取指令取指令4执行执行1执行执行2执行执行3BUS忙碌忙碌执行执行4CPUt1t0t2t3t4t5取指令取指令5执行执行5忙碌忙碌忙碌忙碌忙碌忙碌忙碌忙碌忙碌忙碌6个周期执行了5条指令热动专业计算机原理16并行操作的前提o 取指令部件和指令执行部件要能够并行工作;o 各部件执行时间基本相同,否则需再细分;o 取指令部件取出的指令要能暂存在CPU内部某个地方;o 指令执行部件在需要时总能立即获得暂存的指令;o 需要解决
8、转移指令问题。热动专业计算机原理17*超级流水线和超标量结构o 超级流水线n指令的执行步骤分得更细,流水线长度更长 例如,PIII为14个阶段,P4为20个阶段n有利于提高主频n转移分支时的效率?o 解决:分支预测、推测执行o 超标量结构n对流水线中的关键“岗位”设置多个相同的执行单元多个工人完成一道工序o P4:倍频ALU2, FPU2(其中一个为并行FPU)o Athlon XP:ALU6,并行FPU3组热动专业计算机原理18指令执行速度1条指令条指令4个时钟周期个时钟周期1条指令条指令2个时钟周期个时钟周期1条指令条指令1个时钟周期个时钟周期每个时钟执行两条指令每个时钟执行两条指令一个时
9、钟周期中可以执行多条指令一个时钟周期中可以执行多条指令808680386804868058680X86热动专业计算机原理198086GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN (S0)ALE (QS0)INTA(QS1)TESTREADYRESET2.2 8088/8086CPU引脚8088GNDA14A13A12A1
10、1A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCA15A16/S3A17/S4A18/S5A19/S6SS0(HIGH)MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN (S0)ALE (QS0)INTA(QS1)TESTREADYRESET热动专业计算机原理20概念o 分时复用:不同时刻,信号功能不同o 工作模式: 最小工作模式:8088独立工作 MN/MX=1 最大工作模式:多微处理器协同工作 MN/MX=0o 三态:高电平、低电平、高阻o 引线分类:地址线、数据线、状态线、
11、控制线、电源线热动专业计算机原理218086808282868284ACLKRESETREADYMN/MXALEBHEA19A16AD15AD0DENDT/RM/IOWRRDHOLDHLDAINTRINTASTB地址锁存器(三片)BHE地址总线数据总线控制总线READYRESET+5VDE数据收发器(二片)TOENMI8086最小模式的典型系统结构最小模式的典型系统结构 热动专业计算机原理22及有关电路总线控制器收发器OE(2个)TOE锁存器(3个)地址总线数据总线控制总线中断请求8086最大模式的典型系统结构最大模式的典型系统结构 热动专业计算机原理23主要引线oA的变化0-7:地址、数据复
12、用。 AD8-15:地址。 A16-19:地址、状态复用。 A/SoMN/MXo中断:INTRNMIINTAo读写IO/MWRRDo总线控制HOLDHLDA8088GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCA15A16/S3A17/S4A18/S5A19/S6SS0(HIGH)MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN (S0)ALE (QS0)INTA(QS1)TESTREADYRESET热动专业计算机原理248086/80888086/
13、8088引脚功能区别:引脚功能区别:8088与与8086除了内部指令队列长度不同外,在引脚上除了内部指令队列长度不同外,在引脚上还有三点区别:还有三点区别: 1 1、外部数据总线的宽度不同。、外部数据总线的宽度不同。8086的外部数据总线为的外部数据总线为16位(位(AD15AD0););8088的外部数据总线为的外部数据总线为8位(位(AD7AD0)。)。 2 2、第、第28引脚不同。引脚不同。8086的第的第28引脚为引脚为M/IOM/IO,即该引脚,即该引脚信号为高电平,表示对存储器操作,为低电平则是对信号为高电平,表示对存储器操作,为低电平则是对I/O端端口操作;口操作;8088的第的
14、第28引脚为引脚为M/IOM/IO,即该引脚信号为高电平,即该引脚信号为高电平,表示对表示对I/O端口操作,为低电平则是对存储器操作。端口操作,为低电平则是对存储器操作。 3、第第34引脚不同。引脚不同。8086的第的第34引脚为引脚为BHE/SBHE/S7 7,其功能已,其功能已如前述;如前述;8088的第的第34引脚为引脚为SSOSSO,在最小模式下的功能已如,在最小模式下的功能已如前述,在最大模式该引脚恒为前述,在最大模式该引脚恒为“1”。 热动专业计算机原理252.3 8088/8086 CPU功能结构分为两个部分:分为两个部分:1、总线接口部件总线接口部件 BIU(Bus Inter
15、face Unit)2、执行部件执行部件EU(Execution Unit)功能结构:从程序员和使用者的角度来看的结构。功能结构:从程序员和使用者的角度来看的结构。热动专业计算机原理26图2-1 8086的功能结构图CHDHDISPBPSI65标志 FR3EU控制系统运算寄存器ALU1 24DSSSES总线控制逻辑IPCS内部RegBHAHDLCLALBL地址总线20位地址加法 数据总线外部总线指令队列通用寄存器ALU数据总线80888086AXBXCXDXBus Interface UnitExecution Unit热动专业计算机原理27 数据寄存器:AX,BX,CX,DX (16位) 8
16、个通用寄存器 变址寄存器:SI,DI 算术逻辑运算部件ALU 16 位加法器,用于对寄存器和指令操作数进行算术或逻辑运算位加法器,用于对寄存器和指令操作数进行算术或逻辑运算. 标志寄存器FR(PSW) 9个标志位,其中个标志位,其中6个条件标志位用于存放结果状态个条件标志位用于存放结果状态. 运算寄存器 EU控制系统(1)组成AH,AL,BH,BL,CH,CL,DH,DL(8位)指示器:指示器: SP,BP接收接收从从BIU的的指令队列中取来的指令代码指令队列中取来的指令代码,译码并向译码并向 EU 内各有关部分内各有关部分发出时序命令信号发出时序命令信号,协调执行指令规定的操作协调执行指令规
17、定的操作。负责全部指令的执行;向BIU输出(地址及结果)数据;对Reg及PSW进行管理。(2)功能1. EU( Execution Unit,含有含有ALU及部分及部分Reg.)热动专业计算机原理282. BIU (Bus Interface Unit,8086/8088同外部设备的接口部件)同外部设备的接口部件)完成所有外部总线的操作,提供总线控制信号。具体地说,完成: 取指、指令排队、读写操作数、地址转换(将两取指、指令排队、读写操作数、地址转换(将两个个16位地址相加位地址相加 20位物理地址),总线控制。位物理地址),总线控制。代码段Reg:CS 堆栈段Reg:SS 数据段Reg:DS
18、 附加段Reg:ES (1)组成 指令指针寄存器IP(下一条要取的指令在当前代 码段内的偏移量)4个段寄存器 指令队列Queue 20位地址加法器 总线控制逻辑 内部通信寄存器 (2)功能热动专业计算机原理29(3)指令队列 BIU使用指令队列实现流水线操作。 当指令队列中有2个或2个(1个)以上的字节空间,且EU未申请读写存储器,则BIU顺序预取后续指令代码 Queue。热动专业计算机原理30 (1)若是运算操作:操作数 暂存器 ALU; 运算结果 经“ALU总线” 相应Reg、 并置PSW 。 (2)若从外设取数:EU BIU 访问MEM 或 I/O 内部通信寄存器 向“ALU数据总线”传
19、 送 数据。3. EU的工作过程的工作过程从BIU指令队列中取指 译码电路分析 相应控制命令 控制数据经过“ALU数据总线”的流向:热动专业计算机原理312.3 (续)内部寄存器(续)内部寄存器执行环境包括内存(地址空间)1.8个通用数据寄存器2.4个段寄存器3.标志寄存器(EFLAGES)4.IP指令指针寄存器等。寄存单元热动专业计算机原理32寄存器概要寄存器概要热动专业计算机原理33控制寄存器控制寄存器8位寄存器位寄存器 IP FLAG CS DS SS ES 代码段寄存器代码段寄存器 数据段寄存器数据段寄存器 堆栈段寄存器堆栈段寄存器 附加段寄存器附加段寄存器 AH AL BH BL C
20、H CL DH DL AX BX CX DX SP BP SI DI 累加器累加器 基地址寄存器基地址寄存器 计数器计数器 数据寄存器数据寄存器 堆栈指针寄存器堆栈指针寄存器 基地址寄存器基地址寄存器 源变址寄存器源变址寄存器 目的变址寄存器目的变址寄存器 (PC) 指令指针寄存器指令指针寄存器(PSW) 状态标志寄存器状态标志寄存器 段寄存器段寄存器16位寄存器位寄存器通用寄存器通用寄存器寄存器组(寄存器组(Register Set)寄存器的配置寄存器的配置热动专业计算机原理341通用寄存器八个32位通用寄存器AX、BX、CX、DX、SI、DI、BP和SP用于处理以下项: 逻辑和算术操作的操
21、作数; 用于地址计算的操作数; 内存指针。热动专业计算机原理35热动专业计算机原理36(1)数据寄存器o AX:累加器n 所有I/O指令都通过AX(AL)与接口传送信息;n 中间运算结果也多放于AX(AL)中;n 乘除法指令的一个操作数必须在AX(AL)中。o BX:基址寄存器n 在间接寻址间接寻址中用于存放操作数的基地址。o CX:计数寄存器n 用于在循环指令或串操作指令中存放计数值。o DX:数据寄存器n 在间接寻址间接寻址的I/O指令中存放I/O端口地址;n 在32位乘除法运算时,存放高16位数。例如:若例如:若(AX)1234H, 则则(AH)12H, (AL)34H热动专业计算机原理
22、37(2)地址指针寄存器o SP(stack pointer):堆栈指针寄存器,存放栈顶偏移地址。o BP(base pointer):基址指针寄存器,存放内存段内偏移地址。o SP和BP也可以存放数据热动专业计算机原理38(3)变址寄存器o SI(source index):源地址寄存器。o DI(destination index):目的变址寄存器。o 常用于串操作,变址寻址方式中索引指针。热动专业计算机原理392段寄存器段寄存器(CS、DS、SS、ES)保存16位段选择子。一个段选择子是标志内存中一个段的特殊指针。为访问在内存中的具体段,此段的段选择子必须存在于适当的段寄存器中。 CS:
23、code segment DS:data segment SS:stack segment ES:extra segment热动专业计算机原理40热动专业计算机原理41 3.控制寄存器o IP(instruction pointer):指令指针寄存器,存放指令偏移地址o FLAGS(PWS):标志寄存器或程序状态字,指令执行过程(算术、逻辑运算)的状态。热动专业计算机原理42“指令指针IP又称程序计数器PC”。给二者划了等号。真的如此吗? 1)程序计数器PC:根据冯诺依曼机思想:“用指令事先编好的程序连续存放在内存程序区中,靠地址+1的方法连续取指执行”。在八位机8080CPU中是采用先取指后
24、执行的串行操作的原理,而其中执行地址+1指令寻址的部件就是程序计数器PC。那么在程序的执行过程中,PC始终是指向下一条要执行的指令始终是指向下一条要执行的指令。 结论:PC中的地址就是需要转移、循环、调用子程序和中断子程序等操作时的断点。 2)指令指针IP:十六位机8086CPU中分为两个功能部件,即总线接口部件BIU和执行部件EU,BIU负责取指令,EU负责译码执行。并且当BIU执行指令排队栈中的六个字节装满后,(8088CPU是4个字节),EU开始从指令排队栈的出栈口,取指令进行译码执行,同时BIU并行操作向入栈口补充一条取指令命令。指令指针指令指针IP则是指向下则是指向下个条要取指的指令
25、,而不是个条要取指的指令,而不是EU要执行的指令要执行的指令。而断点则应该是要执行的指令内存地址,而不是IP内的下一条要取指的指令地址,而且(IP)比断点超前了六个字节(8088CPU超前四个字节)。 结论:IP中并不是需要作转移、循环、调用子程序、中断子程序等操作时的断点。热动专业计算机原理43IP指针变化o ip指针的改变并不是每次增加1,而是每次增加本指令的长度。 如果你想知道ip如何指向下一条指令,那是微程序级的事情,每一条指令在执行过程中,硬件自动计算出下一条指令的地址,ip并没指向什么别的地方。 o 可以用另一种观点来理解加1 比如在c中 int *x=NULL; x+; 实际上这
26、时x加了4(if sizeof(int)=4),可是在逻辑上加了1。 热动专业计算机原理44 8086/8088标志寄存器的格式及各位的功能标志寄存器的格式及各位的功能 1514131211109876543210OFDFIFTFSFZFAFPFCF状态标志状态标志方向标志中断标志跟踪标志Trace Flag控制标志控制标志进位标志奇偶标志半进位标志零标志符号标志溢出标志FLAGS:标志寄存器热动专业计算机原理45专题讨论:标志寄存器标志的含义o 标志寄存器和程序状态字的含义 指令执行过程(算术、逻辑运算)的状态。o 6个状态标志o 3个控制标志46标志寄存器标志寄存器FR 作用:作用:存放A
27、LU的操作结果的特征标志,这种标志可作为条 件,用于判断是否控制程序转移。状态标志寄存器(状态标志寄存器(PSW)CFPFAFZFSFTFIFDFOF进位标志进位标志CF(Carry Flag):):当结果的最高位(D15 或D7)产生一个进位 或借位,则CF=1,否则CF=0。溢出标志溢出标志OF(Overflow Flag):):当带符号数的运算结果超出2n-1 2n-11 时,溢出,OF=1,否则OF=0。 符号标志符号标志SF(Sign Flag):): 结果的最高位(D15 或D7)为1,则SF=1,否 则 SF=0。零标志零标志ZF(Zero Flag):): 若运算的结果为0,则
28、ZF=1,否则ZF=0。奇偶标志奇偶标志PF(Parity Flag):):若运算结果的低8位中1的个数为偶数,则 PF=1,否则,PF=0。辅助进位标志辅助进位标志AF(Auxiliary Flag):在进行8位或16位数运算时,由低4位向 高4位(D3向D4)有进位或借位,则AF=1,否则AF=0。状状态态标标志志控控制制标标志志方向标志方向标志DF(Direction Flag):): DF=1 ,串操作时地址自动减量; DF=0,串操作时地址自动增量。中断允许标志中断允许标志IF(Interrupt Enable Flag):):IF=1,允许CPU接收外部中断 请求,IF=0,屏蔽外
29、部中断请求。追踪标志追踪标志TF(Trace Flag):): TF=1,使处理进入单步方式,以便于调试。47(1)状态标志FLAGS寄存器的状态标志(位0、2、4、6、7和11)指示算术指令,例如ADD、SUB、MUL和DIV指令的结果的一些特征。状态标志的功能如下:状态标志寄存器(状态标志寄存器(PSW)CFPFAFZFSFTFIFDFOF48 进位标志CF(Carry Flag)当结果的最高位(字节操作时的D7或字操作时的Dl5、双字操作的D31)产生一个进位或借位,则C1,否则为0。这个标志主要用于多字节数的加、减法运算。移位和循环指令也能够把存储器或寄存器中的最高位(左移时)或最低位
30、(右移时)放入标志CF中。状态标志寄存器(状态标志寄存器(PSW)CFPFAFZFSFTFIFDFOF49 辅助进位标志AF(Auxitiary Carry Flag)在字节操作时,则由低半字节(一个字节的低4位)向高半字节有进位或借位,则AF1,否则为0。这个标志用于十进制算术运算指令中。状态标志寄存器(状态标志寄存器(PSW)CFPFAFZFSFTFIFDFOF50 溢出标志OF(Overflow Flag)在算术运算中,带符号数的运算结果超出了8位、16位带符号数能表达的范围,即在字节运算时+127或128,在字运算时+32767或32768此标志置位,否则复位。一个任选的溢出中断指令,
31、在溢出情况下能产生中断。状态标志寄存器(状态标志寄存器(PSW)CFPFAFZFSFTFIFDFOF51 符号标志SF(Sign Flag)它的值与运算结果的最高位相同。即结果的最高位(字操作时为D15)为1,则SF1;否则,SF0。 由于在X86系列结构微处理器中,符号数是用补码表示的,所以S表示了结果的符号,SF=0为正,SF=1为负。状态标志寄存器(状态标志寄存器(PSW)CFPFAFZFSFTFIFDFOF52 奇偶标志PF(Parity Flag)若操作结果中“1”的个数为偶数,则PF1,否则PF0。这个标志可用于检查在数据传送过程中是否发生错误。 状态标志寄存器(状态标志寄存器(P
32、SW)CFPFAFZFSFTFIFDFOF53 零标志ZF(Zero Fiag)若运算的结果为0,则ZF1,否则ZF0在这些状态标志中,只有进位标志CF能用指令STC(设置进位位)、CLC(清除进位位)和CMC(进位位取反)直接进行修改。也可以用位操作指令(BT、BTS、BTR和BTC)拷贝规定位至CF标志。状态标志寄存器(状态标志寄存器(PSW)CFPFAFZFSFTFIFDFOF54这些状态标志允许单算术操作以产生三种不同数据类型的结果:无符号整数、符号整数和BCD整数。若算术操作的结果作为无符号整数对待,CF标志指示超出范围(进位或借位);若作为符号整数(2的补码值)对待,OF标志指示是
33、否超出范围;若作为BCD数对待,AF标志指示进位或借位。 状态标志寄存器(状态标志寄存器(PSW)CFPFAFZFSFTFIFDFOF55SF标志指示符号整数的符号。ZF标志指示符号整数或无符号整数是否为0。当执行多精度整数算术运算时,CF用于与带进位加(ADC)和带借位减(SBB)指令一起产生适当的进位或借位。状态标志寄存器(状态标志寄存器(PSW)CFPFAFZFSFTFIFDFOF56(2)控制标志EFLAGS寄存器的控制标志(位8、9、10)指示程序和机器运行的状况。控制标志的功能如下: 方向标志D(Direction Flag) 若用指令置DF1,则引起串操作指令为自动减量指令,也就
34、是从高地址到低地址或是“从右到左”来处理串;若使DF0,则串操作指令就为自动增量指令。STD和CLD指令分别地设置和清除 DF 标志。状态标志寄存器(状态标志寄存器(PSW)CFPFAFZFSFTFIFDFOF57 中断允许标志IF(Interrupt-enable Flag)若指令中置IF1,则允许CPU去接收外部的可屏蔽的中断请求;若使IF0,则屏蔽上述的中断请求;对内部产生的中断不起作用。状态标志寄存器(状态标志寄存器(PSW)CFPFAFZFSFTFIFDFOF58 追踪标志TF(Trace Flag)置IF标志,使处理进入单步方式,以便于调试。在这个方式下,CPU在每条指令执行以后,
35、产生一个内部的中断,允许程序在每条指令执行完以后进行检查。状态标志寄存器(状态标志寄存器(PSW)CFPFAFZFSFTFIFDFOF59Flash演示60 例例: :指出80 x86CPU执行如下指令后,标志寄存器中各状态标志位的值:(1) MOV AX,32C5H (2) MOV AX,0E453H(1) MOV AX,32C5H (2) MOV AX,0E453H ADD AX,546AH ADD AX,0C572H ADD AX,546AH ADD AX,0C572H 解解 : (1)0011001011000101 (2)1110010001010011 + 010101000110
36、1010 + 1100010101110010 1000011100101111 1010100111000101所以, OF=1 SF=1 ZF=0 OF=1 SF=0 ZF=0 AF=0 PF=0 CF=0 AF=0 PF=1 CF=16180 x86 / Pentium 全系列微处理全系列微处理器的标志寄存器器的标志寄存器ID VIPVIF AC VM RFNTIOPODAPC31 21 20 19 18 17 16 15 14 13 12 11 10 98765432101IOP0ITSZPentium / Pentium II80486SX / 80486DX80386DX80286
37、8086 / 8088热动专业计算机原理622.4 存储器组织存储器组织o 8086可访问1MB的存储空间(为什么?)n哪个寄存器能够放得下20位的地址?n用分段分段的方法解决。o 段是存储器中的一块区域n段起始于存储器内16字节整倍数的边界处。o 段首地址的最低4位一定为0o 用段和偏移的组合访问存储单元n每个段最大为64KB,最小为16B(为什么?)n所有存储单元的地址都由段地址加偏移地址组成n段地址被装入段寄存器中以供寻址使用n偏移地址用于在64KB存储器段内选择任一单元热动专业计算机原理63o 8086有20条地址引线,它的直接寻址能力为2201M字节。o 在一个8086组成的系统中,
38、可以有多达1M字节的存储器。这1M字节逻辑上可以组织成一个线性矩阵。地址从00000H到FFFFFH。o 给定一个20位的地址,就可以从这1M字节中取出所需要的指令或操作数。o 在8086内部,这20位地址是如何形成的呢? 8086内部的ALU能进行16位运算,有关地址的寄存器如SP、IP,以及BP、SI、DI等也都是16位的,因而8086对地址的运算也只能是16位。这就是说,对于8086来说,各种寻址方式,寻找操作数的范围最多只能是64K字节。 热动专业计算机原理64分段存储o 整个1M字节存储器以64K为范围分为若干段。在寻址一个具体物理单元时,必须要由一个基地址再加上由SP或IP或BP或
39、SI或DI等可由CPU处理的16位偏移量来形成实际的20位物理地址。o 这个基地址就是由代码段寄存器CS、堆栈段寄存器SS、数据段寄存器DS以及附加段寄存器ES中的一个来形成的。在形成20位物理地址时,段寄存器中的16位数会自动左移4位,然后与16位偏移量相加。 热动专业计算机原理65段和偏移o 设段起始地址=60000Ho 段地址o 偏移地址n0FFFFH6A000H12H60000H6 0 0 0段寄存器偏移地址A000H 0 0 0 0段地址段地址(16位位)段起始地址段起始地址 热动专业计算机原理66.00213H00212H00211H00210H0020FH0020EH0020DH
40、0020CH0020BH0020AH00209H00208H00207H00206H00205H00204H00203H00202H00201H00200H段基值段基值(0021H)段基值段基值(0020H)偏移量偏移量(13H)物理地址物理地址偏移量偏移量(03H)逻辑地址逻辑地址物理地址编码图物理地址编码图 热动专业计算机原理67物理地址和逻辑地址o 物理地址: 存储单元的硬件地址物理地址=段地址16 (或段地址左移4位)+偏移地址o 逻辑地址: 段和偏移形式的地址n逻辑地址用于汇编语言程序设计n以下地址都是逻辑地址的例子:o 2500H:0100Ho 段地址A000Ho 偏移地址0001
41、H热动专业计算机原理68段基址段基址0 0 0 00 0 0 03 2 1 03 2 1 015 015 0偏移地址偏移地址基址加法器基址加法器物理地址物理地址0 015150 01919 物理地址的形成物理地址的形成.20000H20000H25F60H25F60H25F61H25F61H25F62H25F62H25F63H25F63H2000H2000H段基址段基址逻逻辑辑地地址址段内偏移地址段内偏移地址5F62H5F62H逻辑地址与物理地址逻辑地址与物理地址物理地址与逻辑地址的关系图热动专业计算机原理69存储器分段存储器分段高地址高地址低地址低地址段基址段基址段基址段基址段基址段基址段基
42、址段基址最大最大64KB段段i-1段段i段段i+1有效地址有效地址EAEA:正在使用的存储单元的地址与所在段的基:正在使用的存储单元的地址与所在段的基地址的偏移量称为地址的偏移量称为段内偏移量段内偏移量或者称为有效地址或者称为有效地址EAEA。热动专业计算机原理70逻辑地址逻辑地址与物理地址与物理地址n段基地址段基地址和和段内段内偏移偏移组成了组成了逻辑地址逻辑地址 段地址段地址 偏移地址偏移地址(偏移量偏移量) 格式为:段地址格式为:段地址:偏移地址偏移地址 60002H00H12H60000H0 0 0 0段基地址(段基地址(16位)位)段首地址段首地址 物理地址物理地址=段基地址段基地址
43、16+偏移地址偏移地址热动专业计算机原理71o例例 设代码段寄存器CS的内容为4232H,指令指针寄存器IP的内容为0066H,即CS4232H,IP0066H,则访问代码段存储单元的物理地址计算如下:4 2 3 20 0 6 64 2 3 20 0 6 60段基值段基值偏移量偏移量左移左移4位位物理地址物理地址逻辑地址逻辑地址 4 2 3 8 6+)热动专业计算机原理内容回顾o 8086微处理器结构寄存器组(名称、功能)分段存储(原因、原理)热动专业计算机原理738位寄存器位寄存器 IP FLAG CS DS SS ES AH AL BH BL CH CL DH DL AX BX CX DX
44、 SP BP SI DI 16位寄存器位寄存器控制寄存器控制寄存器 代码段寄存器代码段寄存器 数据段寄存器数据段寄存器 堆栈段寄存器堆栈段寄存器 附加段寄存器附加段寄存器 累加器累加器 基地址寄存器基地址寄存器 计数器计数器 数据寄存器数据寄存器 堆栈指针寄存器堆栈指针寄存器 基地址寄存器基地址寄存器 源变址寄存器源变址寄存器 目的变址寄存器目的变址寄存器 (PC) 指令指针寄存器指令指针寄存器(PSW) 状态标志寄存器状态标志寄存器 段寄存器段寄存器通用寄存器通用寄存器寄存器组(寄存器组(Register Set)寄存器的配置寄存器的配置热动专业计算机原理74例1:o 已知CS=1055H,
45、DS=250AH ES=2EF0H,SS=8FF0H 数据段中某操作数偏移地址=0204Hn各段首地址=?n画出各段在内存中的分布n该操作数的物理地址=?o 这个例子说明:n段与段可以不连续n段之间可以重叠10550H250A0H2EF00H8FF00HDS段段ES段段SS段段 CS段段热动专业计算机原理75默认段和偏移寄存器o 8086规定了访问存储器段的规则:n此规则定义了段地址寄存器和偏移地址寄存器的组合方式,其默认规则如下表:段地址 默认偏移地址用于访问CSIP指令SSSP、BP堆栈中的数据DSBX、DI、SI、8位或16位数数据段中的数据ES串指令的DI目标串操作数热动专业计算机原理
46、76代码段代码段数据段数据段堆栈段堆栈段CSCSIPIPDSDSSI,DI或BXSI,DI或BXSSSSSP或BPSP或BP段寄存器和其他寄存器组合指向存储单元示意图段寄存器和其他寄存器组合指向存储单元示意图热动专业计算机原理77例2:o 设当前执行的程序中某条指令的物理地址为5A1F6H,则程序所在的段的段地址=?当前CS的内容为多少?n 解:(有多个解,求出任意一个即可) 5A1F6H=5A10H10H+00F6H 所以,段地址=5A10H,CS的内容为5A10H 想一想,还有哪些解?思考题:设当前数据段位于存储器的思考题:设当前数据段位于存储器的A8000H到到B7FFFH的地址空间,的
47、地址空间, 问问DS的内容应是什么才能访问该数据段的所有存储单元?的内容应是什么才能访问该数据段的所有存储单元?64k=64*1024=65536=10000H,B7FFFH-10000H=A7FFFH热动专业计算机原理78 其他 部件 AX BX CS IP 指令流队列 执行控制器 输入输出 控制电路 地址加法器 20 位地址总线 数据总线 CPU 内存 B8 23 01 BB 03 00 89 D8 01 DB 20000 20001 20003 20004 20005 20006 20007 20008 20009 20002 Mov AX 0123H 机器码 B82301Mov BX
48、0003H 机器码 BB0300Mov AX BX 机器码 89D8Add AX BX 机器码 01DB20000000200000123B8 23 0100030006BB 03 000008BB 03 0089 D8 01010010000389 D8DB 01 DB 0003 0006CPU和内存协同工作热动专业计算机原理79第2章 微处理器与总线本章讲述:1 微处理器的特点28086的微处理器1)外部引脚2)内部结构3)存储组织4)工作时序380386微处理器4P45总线热动专业计算机原理802.5 CPU工作时序o 时序:微处理器各引脚在时间上的工作关系。o 时钟周期:CPU每个时钟
49、脉动持续的时间。由时钟发生器产生,是计算机内部最小的时间单位,用Ti表示。o 总线周期:CPU与内存或接口间通过总线进行一次读(或)写的过程持续时间,一个总线周期包括多个时钟周期。即:CPU完成一次访问内存(或接口)操作所需要的时间。 一个总线周期至少包括4个时钟周期。在在5MHz的工作频率时,一个标准总线周期为的工作频率时,一个标准总线周期为0.8s。热动专业计算机原理81及有关电路总线控制器收发器OE(2个)TOE锁存器(3个)地址总线数据总线控制总线中断请求8086最大模式的典型系统结构最大模式的典型系统结构 热动专业计算机原理82微处理器的一般工作过程o 一个程序工作例o (求解291
50、+3)取指令取指令1取操作数取操作数1取指令取指令2执行指令执行指令2Mov AX 0123H 机器码 B82301Mov BX 0003H 机器码 BB0300Mov AX BX 机器码 89D8Add AX BX 机器码 01DB热动专业计算机原理83 其他 部件 AX BX CS IP 指令流队列 执行控制器 输入输出 控制电路 地址加法器 20 位地址总线 数据总线 CPU 内存 B8 23 01 BB 03 00 89 D8 01 DB 20000 20001 20003 20004 20005 20006 20007 20008 20009 20002 Mov AX 0123H 机
51、器码 B82301Mov BX 0003H 机器码 BB0300Mov AX BX 机器码 89D8Add AX BX 机器码 01DB20000000200000123B8 23 0100030006BB 03 000008BB 03 0089 D8 01010010000389 D8DB 01 DB 0003 0006CPU和内存协同工作热动专业计算机原理84CPU的一个基本总线周期oT1周期nCPU向存储器或I/O发送地址nCPU向地址/数据分离器(地址锁存器)发送ALE信号oT2周期n给存储器或I/O发送写入的数据n测试READY引脚状态,以决定是否插入等待周期n发出RD或WR信号oT
52、3周期n等待存储器或I/O存取数据完成n使数据在CPU与存储器或I/O之间传输oT4周期n写入数据 T T1 1T T2 2T T3 3TwaitTwaitT T4 4热动专业计算机原理85o TW等待状态:如果存储器或IO设备不能及时配合CPU传送数据,这时外设或存储器会通过“READY”信号线在T3状态启动之前向CPU发数据“未准备好”信号,迫使CPU在T3状态后插入等待状态TW。当存储器或IO端口有足够的时间来完成读写操作时,就发出“准备好”(Ready)信号,使CPU脱离TW状态继续工作。o T1空闲状态:如果在一个总线周期之后,不立即执行下一个总线周期,或者当指令队列是满的,执行部件
53、EU又没有访问总线的要求,这时BIU就处于空闲状态。空闲状态,可以包含一个或几个时钟周期。o 图2.4为一个典型的总线周期时序。热动专业计算机原理86总线周期间的空闲状态T4TWT3T2T1T1T1T4T3T2T1TWT4T3T2T1等待存储器I/O接口响应而插入的等待状态总线周期有闲状态的总线周期时序图2.4 8086/8088 CPU的典型总线周期时序热动专业计算机原理87READY信号信号(输入输入):用于协调用于协调CPU与存储器、与存储器、I/O接口之间的速度差异接口之间的速度差异READY信号由存储器或信号由存储器或I/O接口发出。接口发出。READY=0时,时,CPU就在就在T3
54、后插入后插入TW周期,插入的周期,插入的TW个数取决于个数取决于READY何时变为高电平。何时变为高电平。热动专业计算机原理88数据写入存储器时的总线操作写总线周期由ALE信号将地址锁存到地址锁存器DEN=0并且DT/R=1时打开总线缓冲器,将其放到系统数据总线上此信号与M/IO信号共同构成存储器写控制信号,将数据写入存储器热动专业计算机原理89数据从存储器读出的总线操作读总线周期DEN=0并且DT/R=0时打开总线缓冲器,将其放到CPU总线上,供CPU读入 较完整较完整的读总线的读总线周期周期此信号与M/IO信号共同构成存储器读控制信号由ALE信号将地址锁存到地址锁存器热动专业计算机原理90
55、例例:o 当WR=1,RD=0,IO/M=0时,表示CPU当前正在进行读存储器操作。热动专业计算机原理91第2章 微处理器与总线本章讲述:1 微处理器的特点28086的微处理器1)外部引脚2)内部结构3)存储组织4)工作时序380386微处理器1)改进2)内部结构、内部寄存器3)工作模式3P44总线热动专业计算机原理923 80386微处理器微处理器主要特性:o全32位结构(ALU、BUS、Reg),可处理8/16/32位数据o物理寻址空间232字节(4GB)o外部数据总线传输率为33MB/so片内集成MMU,支持段式或页式虚拟存储管理和特权保护n虚存空间64TB,1MB或4GB/段,1638
56、4段/任务n4级特权层:一般OS为0、1、2级,用户程序为3级o实地址方式、虚拟8086方式和保护方式o硬件支持多任务,一条指令可完成任务转换,转换时间17uso更先进的流水线结构:16字节指令队列o时钟速度:1633MHz热动专业计算机原理933.1 内部结构分三个部分:o 总线接口单元(BIU)n与存储器和接口间的数据传送o 中央处理单元(CPU)n指令预取部件、指令译码部件、执行部件n指令译码和执行o 存储器管理单元(MMU)n段管理部件、页管理部件n地址转换、虚存管理内部内部结构结构热动专业计算机原理9480386 的功能部件指令预取部件 IPU指令译码部件IDU指令16字节指令预取队
57、列指令译码器译码指令队列执行部件 EUALU64位移位加法器8个32位通用寄存器控制和保护测试分段部件逻辑地址线性地址线性地址分页部件线性地址物理地址物理地址物理地址总线接口部件BIU总线请求判优数据和地址驱动控制信号驱动协处理器控制操作数和结果逻辑地址指令字节存储器接口协处理器译好码的指令CPUBIUMMU热动专业计算机原理953.2 外部引线132条o D0D31 :双向,32位数据总线 ;o A2A31 :输出,30位地址总线;o BE0BE3 :字节选通输出,与:字节选通输出,与30位地址线结位地址线结合可相当于合可相当于32位地址;位地址;o W/R:输出,写/读控制信号;o D/C
58、:输出,数据传送周期/控制周期;o BS16:输入,有效则总线宽度为16位;o ADS:输出,地址信号有效;o NA:输入,下一地址请求信号;o 其他信号与8086基本一致热动专业计算机原理96热动专业计算机原理973.3 内部寄存器组o 共34个内部寄存器8个通用寄存器(个通用寄存器(32/16/8位)位)6个段寄存器(个段寄存器(16位)位)指令指针(指令指针(32/16位)位)标志寄存器(标志寄存器(32/16位)位)4个系统地址寄存器(个系统地址寄存器(32+20位位/16位)位)控制寄存器控制寄存器调试和测试寄存器调试和测试寄存器热动专业计算机原理98通用寄存器组(32/16/8位)
59、o EAXo EBXo ECXo EDXo ESIo EDIo EBPo ESP低低16位可分为两个位可分为两个8位寄存器位寄存器低低16位可作为独立的寄存器位可作为独立的寄存器注:注:32位寻址时,这位寻址时,这8个个32位寄位寄存器全部可用于提供偏移地址。存器全部可用于提供偏移地址。热动专业计算机原理99指令指针及标志寄存器(32位)o 指令指针EIPo 标志寄存器EFLAGS(增加了4个标志位) IOPL位于13、12位,指定I/0操作处于哪个特权级;(10、01、11) NT当前任务是否嵌套于另一任务; RF调试结束,下一条指令后恢复程序的执行; VM是否工作于虚拟8086方式EFLA
60、GS热动专业计算机原理10080 x86 / Pentium 全系列微处理器的标志寄存器全系列微处理器的标志寄存器ID VIPVIF AC VM RFNTIOPODAPC31 21 20 19 18 17 16 15 14 13 12 11 10 98765432101IOP0ITSZPentium / Pentium II80486SX / 80486DX80386DX802868086 / 8088热动专业计算机原理101段寄存器(16位)o CSo DSo ESo SSo FSo GS每个每个16位位段寄存器对应一个段寄存器对应一个64位位的高速缓冲段描述符的高速缓冲段描述符一旦选择子装
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 周围性面神经麻木护理措施
- 护理进修学习成果汇报
- 青花瓷映沧海:智慧与传承的汇报
- 酱酒烤酒知识培训课件
- 2025年结核病工作方案
- 护理科研项目立项申请汇报
- 精神障碍病人心理护理
- 辽宁省葫芦岛市2024-2025学年高一上学期1月期末考试英语试卷 含解析
- 2025年深圳圣诞节活动策划方案
- 电工电子技术基础 第2版 习题答案 周鹏
- 电梯电磁兼容检验技术解决方案
- 用人单位劳动合同书范例
- 2024年10月自考13683管理学原理中级试题及答案含评分参考
- 中国历史朝代简表全
- 铁总计统【2017】177号关于进一步加强铁路建设项目征地拆迁工作和费用管理的指导意见
- 立式水轮发电机轴线分析及处理
- 蹲踞式起跑PPT
- 1云南省初中综合素质,完整版综合素质评定表
- HAD 101-07《核电厂厂址查勘》_图文
- 危险品停车场安全检查表
- 有限空间安全作业票
评论
0/150
提交评论