微型计算机系统原理及应用-第13章-第二十五次

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

济南大学控制学院2007年113.1X86系列处理器的功能结构13.2X86系列结构微处理器的工作方式第13章X86系列微处理器的结构与工作方式济南大学控制学院2007年2概述微处理器的发展第一节课详细讲过。20年来,Intel公司的微处理器有了极大的发展,从8086(8088)到80286、80386、80486、奔腾(也称为80586)、奔腾MMX、奔腾PRO(也称80686)、奔腾II、奔腾III、直至最新的奔腾4,形成了IA(IntelArchitectuce)-32结构。目前IA-64已经推出,微处理器正在向64位发展。济南大学控制学院2007年3上节课对8086/8088微处理器的结构详细讲过(是我们学的重点,也是学习IA-32微处理器结构的起点和基础。回顾其建筑模型,也就是IA-32结构)IA-32结构微处理器的最新版本的发展能追溯到8085和8080微处理器和4004微处理器.在IA-32结构系统引进32位微处理器之前,是8086/8088.所以IA-32结构微处理器同时包括16位和32位微处理器.IA-32结构最成功之作:1978年开始的那些处理器建立的目标程序仍然能够在IA-32结构系列的最新的处理器上执行.8086/8088将段引进IA-32结构.关于段----16位寄存器---64KB的内存指针---可以段于与段的寻址(即256KB)----用段和16位指针可形成20位(1MB)的地址范围.80286在此基础上扩充24位基地址,允许最大物理存储器16KB.济南大学控制学院2007年413.1.1Intel80386微处理器80386微处理器是在IA-32结构微处理器系列中第一个32位处理器.80386是32位处理器,每个32位寄存器(EAX----AX参见P53)的后一半保留两个早期处理器(8086和80286)的16位寄存器的特性,以提供完全的后向兼容。32位总线提供4GB的物理空间;在原来基础上引用许多的新技术,如段中又分页(每段分256页大家可以空间想象);码预取单元(从总线单元接受目标码并把它存放至16字节队列)。其结构功能:有6个并行操作部件(总线接口单元、码预取单元、指令译码单元、执行单元、段单元和分页单元)济南大学控制学院2007年513.1.2Intel80486微处理器80486在80386基础上扩展为五个流水线段(定义见P170第9行)。在不同段上同时执行五条指令。增加8KB的缓存(Cache).80486是第一次把80X87FPU(浮点处理单元----浮点数一般采用M×2E的形式来表示,M为,它一般为小数;E为阶码,)集成到处理器上并增加了新的引脚、位和指令支持更复杂有力的系统(二级Cache支持和多处理器支持)。使用专用的中断脚触发的系统管理模式,允许复杂的系统管理特性(如:停止时钟、自动暂停电源下降、减速的时钟速率下执行以节省电源)。在工艺方面方面进一步改善。济南大学控制学院2007年613.1.3Pentium处理器Intel奔腾(Pentium)处理器增加了第二个执行流水线以达到超标量性能。一片Cache加到16KB,主要寄存器是32位,每段可形成4MB的页,外部总线到64位,内部可以进行128和256位的数据相互传送,而且增加了高级可编程中断控制器(?)。把IntelMMX(8个64位积存器)技术引入IA-32结构。可以进行单指令多数据(SIMD)执行方式,从而使高级媒体技术、摄像处理和数据压缩应用程序运行和应用成为可能。济南大学控制学院2007年713.1.4IntelP6系列处理器建立新的性能标准,工艺先进(0.6微米)。IntelPentiumPro处理器是基于P6微结构的第一个处理器。P6处理器系统随后的成员是IntelPentiumII、IntelPentiumIIXeon(至强)、IntelCeleron(赛扬)、IntelPentiumIIIXeon(至强)处理器。其主要性能:能被5个执行单元顺序执行。Cache增加到256KB总线扩展为36位总线最大可达到64GB的物理地址空间济南大学控制学院2007年813.1.5Intel奔腾2--4处理器工艺逐步提高Cache逐步增到1MB逐步加速视频、语音、加密、摄像和照片处理技术济南大学控制学院2007年913.2Intel80386微处理器的功能结构功能具体体现:(1).从16位寄存器发展32位寄存器;(2).地址寄存器也发展为32位,可寻址的地址范围达到4GM(但段寄存器仍为16位),可分页;(3).增加了保护方式,使处理器有了两种工作方式:实地址方式和保护虚地址方式,实地址方式用于与8086兼容;保护虚地址方式32位处理器能够真正发挥其完整功能的工作方式;(4).引入了多任务、任务切换的概念;(5).引入了四级特权,引入了调用门、陷入门、中断门,使程序在不同特权之间切换;(6).引入了存储管理单元(MMU),使采用80386的操作系统方便地实现页(每页为4KB)虚拟存储器管理;(7).增加了新指令(主要保护方式的指令)。济南大学控制学院2007年1013.1.3Intel80486微处理器的功能结构其基本基础结构与80386一样,不同的是:(1)将80386处理器的指令译码和执行部件扩展成五级流水线,五条指令可同时执行,最快能够在每个CPU时钟内执行一条指令;(2)增加8KB高速缓存Cache),在此的指令可每个时钟内执行5个以上;(3)在80486中首次将浮点处理器部件80X87FPU集成到微处理器(4)总线接口更加复杂,增加了许多功能。济南大学控制学院2007年11CLKALEA0~A19MEMRD0~D7T1T3T2T4存储器读总线周期济南大学控制学院2007年1213.3操作模式IA-32结构处理器支持三种操作模式:保护模式、实地址模式和系统管理模式。保护模式---是处理器基本模式,提供做高的功能和性能;实地模式---是8086微处理器编程环境的工作模式并有一些扩展。在系统上电或复位后,处理器总是处在实地址模式系统管理模式---是操作系统为实现平台特定的功能或系统安全提供的一种透明机制。主要用于自动暂停、睡眠等节省电源模式济南大学控制学院2007年13基本执行环境概要IA-32处理器上执行的程序或任务,都给予一组执行指令的资源,用于存储代码、数据和状态信息。这些资源构成了IA-32结构处理器的执行环境。(1)地址空间(808620条;8038632条)(2)基本程序执行寄存器(通用寄存器、段寄存器、标志寄存器和指令寄存器)(3)80x87FPU(浮点处理单元)寄存器*(4)MMX寄存器(八个64位寄存器)单指令多数据(SIMD)(5)XMM寄存器(八个128位寄存器)(6)堆栈祥见P49图2-7除了基本执行环境提供的资源之外(这些对我们来说仅是了解)。IA-32结构处理器提供以下资源。(1)控制寄存器;(2)存储管理寄存器;(3)调试寄存器;(4)存储类型范围寄存器。济南大学控制学院2007年14存储器组织处理器在它的地址总线上寻址的存储器成为物理存储器.物理存储器按8位字节序列组织.每个字节赋予一个惟一的地址,称为物理地址.我们构建一个测量或控制系统,一般不会使用IA-32结构的高档微处理器,而是使用8086微处理器或单片机来构建系统。所以我们重点学习8086微处理器的结构、指令、汇编语言以及相应的外设接口(见P50页)济南大学控制学院2007年151实地址方式存储器组织IA-32结构微处理器中的实地址方式是为了与8086/8088微处理器兼容而设计的。所以该方式组织与8086/8088的存储器组织是一样的。济南大学控制学院2007年16控制寄存器16位寄存器AHALBHBLCHCLDHDLAXBXCXDXSPBPSIDIIPFLAGCSDSSSES(A)累加器基地址寄存器计数器数据寄存器(SP)堆栈指针寄存器基地址寄存器源变址寄存器目的变址寄存器(PC)指令指针寄存器(PSW)状态标志寄存器代码段寄存器数据段寄存器堆栈段寄存器附加段寄存器通用寄存器段寄存器8位寄存器1.结构•寄存器结构济南大学控制学院2007年172、存储器组织1.存储器分段8088有20条地址线,它的直接寻址能力为1M,所以在一个8088组成的系统中,可以有多达1M字节的存储器,这1M字节在逻辑上可以组成一个线性矩阵,地址从00000到FFFFF。给定一个20位的地址,就可以从中取出所需的指令和数据。在8088内部,ALU能进行16位的运算,有关地址寄存器如:IP、SP、BX、BP、SI、DI等都是16位的,因而对地址的运算也只能是16位。其寻址的范围最多是64K。在8088中怎样形成这20位的地址呢?——分段!将内存的1M字节以64K为范围,分成若干段;在8088中设置4个段寄存器CS、DS、SS、ES,在寻址一个具体的内存单元(物理地址)时,由一个段寄存器中保存的16位基地址,加上由IP(或SP,或BP,或BX,或SI,或DI)中保存的、可由CPU处理的16位偏移量,来形成20位的物理地址.在形成物理地址时,地址加法器将段寄存器中的16位数左移4位,然后与16位偏移地址相加,形成20位的物理地址。济南大学控制学院2007年18(2000:2002010:100?......说明什么道理?)16位段地址16位段内偏移量16位段地址000020位物理地址地址加法器段寄存器偏移量寄存器左移4位济南大学控制学院2007年19在不改变段存储器的访问情况下,寻址的最大范围是64KB,所以有一个程序,它的长度、堆栈长度以及数据区长度都不超过64KB,则在程序开始时,分别给CS、SS、DS置值,然后在程序中可以不在考虑这些段寄存器,程序就可以在各自的区域中正常地进行工作。这种存储器分段方法,对于要求在程序区、堆栈区和数据区之间隔离是非常方便的。(问:如果不要求分区,如何理解)如果一个程序超过64KB,怎样处理?如果都超过64KB,又怎么处理?济南大学控制学院2007年202.分段模式存储器结构IA-32结构微处理器的基本存储器是分段式存储模式.与8088类似,程序给出的地址由两部分组成:即段基地址(一个段的起始地址)和段内的偏移量.段地址由段寄存器的值确定,而段的偏移量是由指令的寻址方式确定.8088的段结构我们多次讲过,试回忆一下.80386有6个段寄存器(增加了两个数据段寄存器FS和GS),每个段寄存器仍是16位的.但在寻址上不同于8088.80386的段基地址是32位,16位段寄存器内容仅是选择32位基地址的段的索引和描述,而不是象8088那样合成.同理段内偏移量的寄存器也32位,故一个段最大为4GB.上述地址的描述就是逻辑地址:在系统上定义的任一字节的地址和段内偏移量两部分组成.在访问一个存储器地址,处理器把每个逻辑地址转换为线性地址(32位的段基地址与32位的段偏移量相加产生32位地址.用分段的存储器的最初的理由是增加程序和系统的可靠性.如把程序的堆栈防在一个段,防止堆栈的增长进入程序和数据区(空间).济南大学控制学院2007年213.平面存储模式平面存储模式实质上是分段存储模式的一种特例.在平面存储模式,存储器作为单个连续的地址空间,称为线性空间。代码(程序)、数据和过程堆栈全部包含在此地址空间中.在80386以上的IA-32结构微处理器上运行的操作系统和应用程序,广泛用平面存储模式。济南大学控制学院2007年22内存地址空间和数据组织实模式下Pentium微处理器只有20条地址线有效,因此实模式下内存空间为220=1MB,地址由00000-FFFFF(H)编码若存放的信息是字节,则按顺序存放若存放的信息是字,则将字的低位字节存放在低地址,高位字节存放在高地址若存放的信息是双字,则将双字的低位字存放在低地址,高位字存放在高地址实模式内存地址空间组织低字节低地址,高字节高地址济南大学控制学院2007年23对准双

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功