第2章 CPU-H03_第1页
第2章 CPU-H03_第2页
第2章 CPU-H03_第3页
第2章 CPU-H03_第4页
第2章 CPU-H03_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、n第1节 n第2节n第3节 n第4节 n第5节EUBIUCPU内部是什么结构? 8086的主要特点:的主要特点:数据总线:数据总线:数据总线宽度:数据总线宽度:1616位位提供了提供了8 8位(字节)、位(字节)、1616位(字)运算指令位(字)运算指令地址总线地址总线总线宽度:总线宽度:2020位,可寻址位,可寻址1MB1MB存储空间存储空间 8086的内部结构组成:的内部结构组成:执行单元(执行单元(EUEU)总线接口单元(总线接口单元(BIU)BIU) 80486的主要特点:的主要特点:数据总线:数据总线:内部数据总线:内部数据总线:3232位,位,6464位,位,128128位位外部数

2、据总线:外部数据总线:3232位位提供了提供了8 8位(字节)、位(字节)、1616位(字)、位(字)、3232位(双字)运位(双字)运算指令算指令地址总线地址总线总线宽度:总线宽度:3232位,可寻址位,可寻址4096MB4096MB存储空间存储空间支持虚拟存储管理,虚存空间:支持虚拟存储管理,虚存空间:64TB64TB片内集成浮点运算部件和片内集成浮点运算部件和8KB8KB的的CacheCache整数处理部件采用整数处理部件采用RISCRISC结构。结构。硬盘空间大于4G怎么办? 一、一、80486的内部结构的内部结构1.1. 总线接口部件总线接口部件 2.2. 指令预取部件指令预取部件3

3、.3. 指令译码部件指令译码部件4.4. 控制部件控制部件5.5. 整数执行部件整数执行部件6.6. 段管理部件页管理部件段管理部件页管理部件7.7. 高速缓存部件高速缓存部件8.8. 浮点运算部件浮点运算部件为什么要专门为你设置浮点运算部件? 预取单元 32字节 代码队列 2*16字节 ALU 浮点运算单元 ( F P U ) 浮点运算单元 ( F P U )段管理单元 描述符 寄存器 双界/属性 PLA 控制 单元 控制 ROM 页管理 单元 TLB (32页) 高速缓存器管理单元 8K字节高速缓存器 指令 译码器 地址驱动器 写缓存器 4* 80 数据总线 收/发器 总线控制 请求序列

4、发生器成组总线控制 高速缓存器 控制奇偶生成控制总线大小控制寄存器文件桶形移位器代码流偏移量总线64位内部数据总线32位数据总线线性地址总线PCDPWT201283224 指令总线总线接口单元 1 1、总线接口部件:管理地址、数据和控制总线,完成令预取、读、总线接口部件:管理地址、数据和控制总线,完成令预取、读/ /写写 数据等总线操作。数据等总线操作。2 2、指令预取部件:含有、指令预取部件:含有3232字节的指令预取队列,可通过字节的指令预取队列,可通过总线接口部件从总线接口部件从M M中读取指令放入指令队列。中读取指令放入指令队列。3 3、指令译码部件:从指令预取队列中读取指令并译码。、

5、指令译码部件:从指令预取队列中读取指令并译码。4 4、控制部件:对整数执行部件、控制部件:对整数执行部件、FPUFPU和分段部件进行管理。和分段部件进行管理。5 5、整数执行部件:由、整数执行部件:由ALUALU、通用通用R R、桶形移位桶形移位R R等组成,等组成,完成各种逻辑完成各种逻辑/ /算算朮朮运算。运算。6 6、段管理部件:、段管理部件: 对对M M进行分段管理,将逻辑地址转换为进行分段管理,将逻辑地址转换为3232位线性地址。位线性地址。 页管理部件:页管理部件: 对对M M进行分页管理,将线性地址变换为进行分页管理,将线性地址变换为3232位物理地址。位物理地址。7 7、高速缓

6、冲部件:可加速指令和数据的访问。、高速缓冲部件:可加速指令和数据的访问。8 8、浮点运算部件:简称、浮点运算部件:简称FPUFPU,专门用于浮点运算。专门用于浮点运算。1、基本寄存器(程序可见寄存器)、基本寄存器(程序可见寄存器) (1 1) 通用寄存器通用寄存器 (2 2) 指令指针寄存器指令指针寄存器 (3 3) 堆栈指针寄存器堆栈指针寄存器 (4 4) 标志寄存器标志寄存器 (5 5) 段寄存器段寄存器2、(系统级寄存器系统级寄存器)3、(调试和测试寄存器调试和测试寄存器)4、(浮点寄存器浮点寄存器)专用寄存器1 基本寄存器 31 16 15 8 7 0EAXAHALAXEBXBHBLB

7、XECXCHCLCXEDXDHDLDXESIEDIEBP通 用 寄 存 器EAX/AXEAX/AX:累加器累加器,用于乘法、除法和,用于乘法、除法和I/OI/O操作。操作。EBX/BXEBX/BX:基址基址R R,用于基址寻址和查表转换。用于基址寻址和查表转换。ECX/CXECX/CX:计数器计数器,用于循环计数和串操作的计数。,用于循环计数和串操作的计数。EDX/DXEDX/DX:数据数据R R, ,用于乘法、除法和间接用于乘法、除法和间接I/OI/O寻址。寻址。ESI/SIESI/SI:源间址源间址R R,用于变址寻址和串操作(源串偏移地址)。用于变址寻址和串操作(源串偏移地址)。EDI/

8、DIEDI/DI:目标间址目标间址R R,用于变址寻址和串操作(目标串偏移地址用于变址寻址和串操作(目标串偏移地址 )EBP/BPEBP/BP:基指针基指针,用于基址寻址。(访问堆栈段)用于基址寻址。(访问堆栈段)ESP/SP:堆栈指针堆栈指针R R,用于堆栈操作,作栈顶的指针。 31 16 15 0 EFLAGS FLAGS 标志寄存器EIP IP指令指针寄存器 15 0 CS SS DS ES FS GS 段寄存器31 19 18 17 16 15 14 1312 11 10 9 8 7 6 5 4 3 2 1 0AC VM RF NT IOPLOF DF IF TF SF ZF AF P

9、F CF FLAGSEFLAGS CFCF:进位标志,进位标志,CF=1,CF=1,表示有进位或借位表示有进位或借位 PFPF:奇偶标志(只看低奇偶标志(只看低8 8位:位:ALAL)PF=1PF=1表示偶数个表示偶数个1 1AFAF:辅助进位标志,第辅助进位标志,第3 3位与第位与第4 4位之间的半进位位之间的半进位 ZFZF:零标志,零标志,1:1:结果为结果为0 0SFSF:符号标志,符号标志,1 1:负数:负数OFOF:溢出标志溢出标志TFTF:单步标志单步标志IFIF:中断标志,中断标志,1:1:允许允许INTRINTR中断中断DFDF:方向标志方向标志 ,1:1:自动地址递减自动地

10、址递减 n标志位寄存器:标志位寄存器:671415/CCCC控制标志溢出和进位有何区别?溢出和进位有何区别? n进位标志表示进位标志表示无符号无符号数运算结果是否超出范围,运算结数运算结果是否超出范围,运算结果仍然正确;果仍然正确;n溢出标志表示溢出标志表示有符号有符号数运算结果是否超出范围,运算结数运算结果是否超出范围,运算结果已经不正确。果已经不正确。 【例例1 1】:3AH + 7CH3AH + 7CHB6H B6H 无符号数运算:无符号数运算:5858124124182182,范围内,无进位,范围内,无进位 CF=0CF=0 有符号数运算:有符号数运算:5858124124-74-74

11、,计算错误,有溢出,计算错误,有溢出 OF=1OF=1【例例2 2】 :AAH + 7CHAAH + 7CH(1 1)26H 26H 无符号数运算:无符号数运算:170170124124294294,范围外,有进位,范围外,有进位 CF=1CF=1 有符号数运算:有符号数运算:868612412438 38 ,范围内,无溢出,范围内,无溢出 OF=0n处理器对两个操作数进行运算时,按照无符号数处理器对两个操作数进行运算时,按照无符号数求得结果,并相应设置进位标志求得结果,并相应设置进位标志CF;同时,根据;同时,根据是否超出有符号数的范围设置溢出标志是否超出有符号数的范围设置溢出标志OF。 n

12、应该利用哪个标志,则由程序员来决定。也就是应该利用哪个标志,则由程序员来决定。也就是说,如果将参加运算的操作数认为是无符号数,说,如果将参加运算的操作数认为是无符号数,就应该关心进位位就应该关心进位位CF;认为是有符号数,则要注;认为是有符号数,则要注意是否溢出意是否溢出OF。 溢出和进位的使用?溢出和进位的使用? 是最基本的工作方式。实地址模式与是最基本的工作方式。实地址模式与1616位微处理器位微处理器8086/80888086/8088的实地址的实地址模式保持兼容,原有的模式保持兼容,原有的1616位微处理器的程序可不加修改地在实地址模式位微处理器的程序可不加修改地在实地址模式下运行。下

13、运行。引入了引入了虚拟存储器虚拟存储器的概念,可支持的概念,可支持多任务多任务操作。在保护模式方式下操作。在保护模式方式下3232位位CPUCPU可访问的物理存储空间为可访问的物理存储空间为4 4GBGB(2 232 32 ),),程序可用的虚拟存储空间为程序可用的虚拟存储空间为6464TBTB(2 24646)。)。是一种既有保护功能又能执行是一种既有保护功能又能执行1616位微处理器软件的工作方式。虚拟位微处理器软件的工作方式。虚拟80868086模式的工作原理与保护模式相同,但程序指定的逻辑地址解释与模式的工作原理与保护模式相同,但程序指定的逻辑地址解释与80868086微处理器相同。虚

14、拟微处理器相同。虚拟80868086模式可以看作保护模式的一种子方式。模式可以看作保护模式的一种子方式。 34H12H78H56Hn访问访问1 1M M字节的存储空间,需要多少位地字节的存储空间,需要多少位地址线。址线。20位位n1MB1MB的地址范围:的地址范围:00000HFFFFFHn每个存储单元存放一个字节的数据。每个存储单元存放一个字节的数据。 例如:(例如:(0000300003H H)= 12H= 12Hn相邻两个存储单元可构成一个字,在对相邻两个存储单元可构成一个字,在对准字时,用偶地址表示。准字时,用偶地址表示。 例如:(例如:(0000200002)= 1234= 1234

15、H H (高位高字节,低位低字节)(高位高字节,低位低字节)00000H00001H00002H00003H FFFFCHFFFFDHFFFFEHFFFFFH问题:段寄存器都是16位的,如何查询到1MB的空间?n实模式操作方式下对实模式操作方式下对1 1MBMB的存储单元进行分段管理,是将的存储单元进行分段管理,是将1 1M M字节的存储空间分为若干段,每个段的容量字节的存储空间分为若干段,每个段的容量 64 64KBKB。n每个段都是独立寻址的逻辑单位,用于存放程序或数据。每个段都是独立寻址的逻辑单位,用于存放程序或数据。n各逻辑段在存储器中采用各逻辑段在存储器中采用浮动方式浮动方式,即可以

16、邻接、间隔、,即可以邻接、间隔、完全重叠或部分重叠。完全重叠或部分重叠。n一个存储单元的物理地址可以属于一个逻辑段,也可以同一个存储单元的物理地址可以属于一个逻辑段,也可以同属几个逻辑段。属几个逻辑段。问题:为什么每个段的容量 64KB ?n8086/8088,程序当前只能访问4个段:u 代码段:CSu 数据段:DSu 堆栈段:SSu 附加段:ESn80386以后的微机增加了FS和GS两个附加段段寄存器,每个程序当前能访问6个段。 逻辑地址由段基址和偏移地址组成,它们都是16位无符号数, 8086CPU中,段基址来源于CS、DS、SS和ES,偏移地址来自 自SP、BP、SI、DI和IP。 物理

17、地址是真正的存储单元的地址,物理地址可由计算得到。15 0如左图:将段基址左移4位加上偏移16位段基址 0000 地址形成物理地址。即: + 16位偏移地址 物理地址物理地址 = 段基址段基址*16 + 偏移地址偏移地址 20位物理地址 每个存储单元只有一个物理地址,但它可由不同的段基址和 偏移地址组成。n允许程序在存储器内重定位;n允许在实模式下编写的程序在保护模式下也可以运行;n只要改变段寄存器的内容,就可以实现程序的重定位;n程序可以移动到存储器的任何地方。n堆栈是一个特定的存储区,用于数据的暂存、断点和现场保护。堆栈是一个特定的存储区,用于数据的暂存、断点和现场保护。n堆栈的数据结构特

18、点是:堆栈的数据结构特点是:后进先出后进先出。n可用段定义语句在存储器中定义一个堆栈段,其容量最大可用段定义语句在存储器中定义一个堆栈段,其容量最大6464KBKB。堆栈段由堆栈段由SSSS给出段基址,给出段基址,SPSP给出偏移地址。堆栈指针给出偏移地址。堆栈指针SPSP总是指向当总是指向当前栈顶的位置,当堆栈置空时,前栈顶的位置,当堆栈置空时,SPSP指向的位置称为栈底。指向的位置称为栈底。n堆栈的操作有两个:进栈操作和弹出操作。堆栈的操作有两个:进栈操作和弹出操作。(1 1)进栈操作()进栈操作(PUSHPUSH)是将数据压入堆栈,进栈操作时,是将数据压入堆栈,进栈操作时,先将(先将(S

19、PSP)- 2 - 2 SPSP,再将数据压栈。再将数据压栈。(2 2)弹出操作()弹出操作(POPPOP)是将数据从堆栈的顶部弹出,弹出操是将数据从堆栈的顶部弹出,弹出操作时,先将数据出栈,再将(作时,先将数据出栈,再将(SPSP)+ 2SP+ 2SP。n 堆栈以堆栈以字字为单位进行操作。为单位进行操作。1 地址总线A31-A2,BE0-BE3构成地址总线实模式下,A2-A19有效,寻址1MB;保护模式下,A2-A31有效,寻址4GB;I/O寻址时,使用A2-A15和BE信号,寻址64KB2 数据总线D31-D0组成32位双向数据总线经过数据总线可以传送字节、字、双字A0,A1和BS16、B

20、S8共同产生BE0-BE3字节允许输出信号BS16和BS8:总线宽度控制信号,有效时,只使16位或8位数据总线有效。 A2-A31 BE0 BE1 BE2 BE3 D0-D31存储体2存储体3存储体4地址锁存器数据收发驱动器存储体1A2-A31寻址到一个4字节的单元,BE0-BE3标识当前的操作涉及4个字节单元中的哪些字节。BE对应相应的数据总线,只有BE信号有效,对应的数据总线才传送数据。字节允许 数据总线信号线BE0 D0-D7BE1 D8-D15BE2 D16-D23BE3 D24-D313 总线周期定义信号 M/IO 存储器/IO指示信号,输出 D/C 数据/控制指示信号,输出 W/R

21、 读/写信号,输出 LOCK 总线锁定信号,输出, 有效表明CPU需要独占总线。 PLOCK:伪封锁信号,输出, 有效表明其他设备封锁对总线 的访问M/IO D/C W/R 总线周期类型0 0 0 中断响应0 0 1 停机0 1 0 I/O数据读0 1 1 I/O数据写1 0 0 存储器代码读1 0 1 保留1 1 0 存储器数据读1 1 1 存储器数据写4、总线仲裁 HOLD 总线保持请求,输入 HLDA 总线保持应答,输出 BOFF 总线占用,输入,强制CPU释放对总线的控制 BREQ 总线请求,输出,表明CPU需要使用系统总线5、突发控制 BRDY 突发准备就绪,输入 BLAST 突发结

22、束,输出6、总线控制 ADS 地址状态有效信号 RDY 非突发准备就绪 握手信号7、奇偶校验 DP3-DP0 数据的4个字节奇偶校验码 PCHK 奇偶校验错8、中断/复位 INTR 可屏蔽中断请求 NMI 不可屏蔽中断请求 RESET 复位9、 有关高速缓冲的信号 KEN 高速缓冲允许 FLUSH 高速缓冲清除 AHOLD和EADS 用于高速缓冲行无效周期 PWT和PCD 页面高速缓冲控制5 其它信号 FERR 浮点出错 IGNNE 忽略数值错误 A20M 第20位地址屏蔽错 CLK 提供给CPU的时钟信号,20M-100MHZ。1、总线分类(按位置分)片内总线 CPU芯片内部传送信息的连线。

23、内部总线 同一集成电路板上各芯片之间的连线。系统总线 各集成电路板之间的连线。(PCI、ISA)外部总线 微机系统与其他设备间的连线。(USB、1394)2、总线操作时钟*时钟周期:微处理器内部操作频率,是微处理器执行指令的最小时间单位,又称T状态 。总线周期:CPU对M或I/O端口完成一次读/写操作所需时间。由2个或2个以上时钟周期组成。指令周期:CPU执行一条指令所需的时间。3、总线操作步骤*n总线请求和仲裁阶段总线请求和仲裁阶段当有多个模块提出总线请求时,必须由仲裁机构仲裁,确定当有多个模块提出总线请求时,必须由仲裁机构仲裁,确定将总线的使用权分配给哪个模块。将总线的使用权分配给哪个模块。n寻址阶段寻址阶段取得使用总线权的模块取得使用总线权的模块, ,经总线发出本次要访问的经总线发出本次要访问的M M或或I/OI/O端端口的地址和有关命令。口的地址和有关命令。n传送数据阶段传送数据阶段主模块(指取得总线控制权的模块)与其它模块之间进行数主模块(指取得总线控制权的模块)与其它模块之间进行数据的传送。据的传送。n结束阶段结束阶段主从模块将有关信息从总线上撤除,主模块交出总线的控制主从模块将有关信息从总线上撤除,主模块交出总线的控制权。权。

温馨提示

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

评论

0/150

提交评论