教案03微型机技术8086内部结构.docx
《教案03微型机技术8086内部结构.docx》由会员分享,可在线阅读,更多相关《教案03微型机技术8086内部结构.docx(18页珍藏版)》请在冰豆网上搜索。
教案03微型机技术8086内部结构
微型机原理与应用第3次课
章节名称
第二章80X86系列微处理器
2.180X86系列微处理器概述
2.28086微处理器
目的要求
了解微处理器的发展及主要性能指标,掌握8086的内部结构、寄存器结构、存储器分段原理。
主
要
内
容
与
时
间
概
算
序号
主要内容
时间概算
1
微处理器的发展
10分
2
微处理器的主要性能指标
15分
3
8086的内部结构
40分
4
8086的寄存器结构
35分
5
分
6
分
7
分
8
分
共计
100分
重点
难点
重点:
微处理器的主要性能指标;8086的内部结构。
难点:
8086的内部结构、存储器分段原理
方法
手段
课堂讲授,利用图片、动画等演示8086的内部组成及各寄存器的功能。
(续表)
课堂提问
1.8086由哪两个部分组成?
每部分的功能如何?
2.8086是如何用16位宽度的段寄存器去保存20位的段基址的?
3.8086的物理地址是如何计算的?
4.存储器分段后,一个存储单元的物理地址和逻辑地址是唯一的吗?
本次课内容总结
本次课以Intel80X86系列微处理器为例,简单介绍了微处理器飞速发展的情况,讨论了微处理器的主要性能指标,详细分析了8086微处理器的内部结构及编程结构。
思
考
题
作
业
题
思考题:
查找阅读微处理器发展的有关资料。
作业:
P782、4、5
参考
资料
填表说明:
1.该表供主讲教员备课使用,每次课均应按表中所列内容填写,各次课构成一门课教案的整体;2.表中相关项目内容的详略程度由主讲教员酌情掌握;3.该表可书写或电脑录入,书写字迹应工整,电脑录入应按格式中显示的字体、字号(仿宋GB2312小四)填写,外语可用TimesNewRoman字体。
授 课 内 容
1 知识的回顾与问题的引出
上一章我们已经学习了微型机的基本结构,我们知道微处理器是微型机的运算和控制中心,是微型机的重要组成部分。
在微处理器的发展历程中,Intel公司的80X86系列CPU一直处于发展的前沿,在各种通用微机、专用微机和工作站中得到了广泛的应用。
下面我们首先了解一下80X86系列微处理器的发展。
2.80X86系列微处理器的发展
自Intel公司推出世界上第一个微处理器4004以来,微处理器在制造工艺、结构、集成度、字长、工作频率、封装形式和性能上都有了飞速发展。
4004:
第一片微处理器,4位字长,集成度2100个晶体管,时钟频率不到1MHZ。
8086:
第一个16位微处理器。
16位字长,集成度29000个晶体管,时钟频率为4MHZ~8MHZ。
80286:
16位微处理器。
集成度13.4万个晶体管,时钟频率为8MHZ~10MHZ。
80386:
第一个32位微处理器。
集成度27.5万个晶体管,时钟频率为16MHZ~40MHZ。
80486:
32位微处理器。
集成度120万个晶体管,时钟频率为50MHZ~100MHZ。
集成了浮点运算协处理器、Cache等部件。
Pentium:
32位微处理器。
双执行部件、超标量体系结构、分离的程序和数据Cache、64位数据总线。
集成度310万个晶体管,时钟频率为66MHZ~166MHZ。
PentiumMMX:
增加了MMX(多媒体扩展指令集)指令,采用了SIMD(单指令流多数据流)技术,提高了对多媒体数据的处理能力;片内Cache扩展到32KB。
PentiumPro:
三条超标量流水线、5个并行执行单元,8KBL1指令Cache和8KBL1数据Cache,并采用乱序执行、动态转移预测等技术,主频可达200MHz以上。
PentiumⅡ和PentiumⅢ:
集成度750万个晶体管,L1Cache增加到了32KB,并配备了512KB的L2Cache。
采用双独立总线结构,前端总线FSB负责主存储器的访问,后端总线连接到L2Cache。
PentiumⅢ微处理器首次内置序列号,能唯一标识一个微处理器。
Pentium4:
采用“NetBurst”的新结构,流水线达到了20级。
内部的算术逻辑运算电路(ALU)的工作频率为CPU内核频率的两倍。
新增SSE2指令集,使浮点运算的准确度增大了一倍。
总线速度可达400MHz,加速了处理器与内存之间的数据传输。
Itanium:
第一个64位的微处理器。
采用显示并行指令计算(EPIC)技术、RISC技术和CISC技术;具有显示并行功能,它让编译器分析程序的并行性,提前完成代码的排序,多条排序好的代码流并行执行;具有断定执行功能和数据预装功能;采用三级高速缓存;前端总线时钟频率为200MHz,数据通道宽度为128位,数据带宽最大达到3200MB/s。
这些微处理器的出现,加速了微机朝着网络化、多媒体化和智能化方向的进一步发展。
3.微处理器的主要性能指标
微处理器是微机系统的核心部件,它的性能如何直接影响到整个系统的性能。
下面将列举一些最常用的或针对一些专门为Intel系列微处理器的性能指标进行讨论,仅作为对微处理器及其系统整体执行性能进行度量的一个参考。
(1)数据总线宽度或字长(DataBusWidth)
字长:
CPU一次所能处理的二进制的位数,一般等于CPU数据总线的宽度。
CPU的字长越大,运算精度就越高,处理信息的速度就越快,性能就越高。
一般可按CPU的字长来划分CPU的档次,如16位机、32位机、64位机等。
(2)时钟频率(ClockFrequency)
●主频:
CPU内核的实际工作频率。
主频对系统性能的影响可通过以下公式表现出来:
t=n×1/f
•t为执行某一指令所需的时间。
•n为执行此指令所需的时钟周期数。
•f为CPU的工作频率,或称CPU的主频。
f越高,执行一条指令所需的时间越短,CPU速率越快。
●外频:
指CPU总线频率,或称系统频率,是由主板为CPU提供的基准时钟频率。
●倍频系数:
CPU主频与外频之间的相对比例关系。
在外频不变的情况下,可以通过提高倍频系数来提高主频。
CPU主频=外频×倍频系数。
现在Intel生产的CPU基本上都采用了倍频系数不能改变的锁频技术,因此对该类CPU超频只能通过提高外频的方法来进行。
●前端总线频率:
前端总线是CPU与主板北桥芯片之间连接的通道,而“前端总线频率”(FSB)就是该通道“运输数据的速度”。
Pentium4系列CPU采用“Quad-pumped”技术,使前端总线在一个时钟周期内,可以传输4倍的数据。
(3)高速缓冲存储器(CacheMemory)
●引入Cache的原因:
CPU的速度越来越快,而内存的速度相对较慢,很难与CPU的速度相匹配,使CPU在与内存交换数据时不得不插入一些等待状态,大大降低了CPU的速度。
为了解决这一问题,利用与CPU速度相同的、容量较小的SRAM作为CPU和内存之间的高速缓冲存储器Cache,可以显著提高CPU的速度,从而提高整个PC的性能。
●L1Cache和L2Cache:
集成在CPU内部的高速缓存称为一级高速缓存或内部高速缓存(即L1Cache)。
集成在CPU芯片外部的高速缓存称为二级高速缓存或L2Cache。
从PentiumII开始,将L2Cache集成在片内。
ItaniumCPU继而采用了片内L3Cache。
●CPU访问Cache过程:
CPU首先访问一级Cache,若未命中则访问二级Cache,若仍未命中则需访问主存。
通常两级Cache的命中率都会大于80%,即CPU需要访问主存的概率小于4%,使得CPU的运行速度得到明显的提高。
有关Cache的工作原理的详细介绍,我们将在第五章中详细介绍。
(4)地址总线宽度
●决定CPU可以访问的物理地址空间的大小。
●地址线n位,寻址范围是2n字节。
(5)工作电压(WorkVoltage)
指CPU正常工作时所需的电压。
低电压可以解决耗电量过大和发热量过高的问题。
(6)制造工艺
●线宽:
指芯片上的最基本功能单元(门电路)的宽度。
●线宽小→晶体管小、密集→降低芯片功耗,系统更稳定,CPU可以运行在更高的频率下,而且在相同的芯片复杂程度下可使用更小的晶片,降低了成本。
(7)iCOMP(IntelComparableMicroprocessorPerformance)
衡量Intel系列微处理器性能的综合指数。
4.8086微处理器
8086是80X86系列中的16位微处理器,有16条数据线和20条地址线,可直接寻址1M字节的物理存储空间。
芯片采用40条引线封装,单相时钟,+5V电源。
8086是Intel系列中最具代表性的16位微处理器,随后Intel公司陆续推出的80X86都是按其模式加以升级的,均保持与8086兼容。
通过对8086这个原始模型的了解,可帮助掌握整个80X86系列微处理器的体系结构与组成原理。
(1)内部结构
8086CPU由两个功能部件:
EU(ExecutionUnit)和BIU(BusInterfaceUnit)构成。
其内部结构如图2-3所示。
a.总线接口部件BIU
●组成:
段寄存器、指令指针、地址加法器、指令队列缓冲器和总线控制电路。
●功能:
负责从存储器的指定单元取出指令,送至指令队列中排队或直接送给EU单元去执行;或者负责从存储器的指定单元或外设端口中取出指令规定的操作数传送给执行单元EU,或把执行单元EU的操作结果传送到指定的存储器或外设端口中。
●指令队列缓冲器(6B):
保存预取的指令。
●地址加法器和段寄存器:
8086有20位地址线,具有1M字节空间的寻址能力。
但是8086是16位微处理器,其内部寄存器均为16位,那么如何用16位寄存器提供的信息来实现1M字节空间的存储器寻址呢?
为了解决这个问题,8086采用了将存储器分段的技术。
将1M字节的存储器划分成若干个段,每段的最大长度为64KB,因此段内的存储地址相对于该段起始地址的最大偏移为64K,可用16位的偏移量来表示。
每个段的起始地址(段基址)由段寄存器给出。
【提问】
段寄存器是16位的,而段基址是20位的,如何用16位宽度的段寄存器去保存20位的段基址呢?
【解答】
为了用16位的段寄存器保存20位的段基址,8086系统约定,所有的段的基址最低4位为0000,因此在保存段的基地址时,就可以不用保存这最低的4位地址,而仅保留段基址的高16位,在形成物理地址的时候,按照段基址左移4位加偏移地址的方法进行。
这样就解决了用16位宽度的段寄存器保存20位的段基址的问题。
如此分段后,CPU访问存储器时所需的20位物理地址可由两项16位的逻辑地址来表示(段地址:
偏移地址)。
段寄存器内容左移4位得到20位的地址,就是该存储器段的起始地址。
20位段起始地址再加上16位偏移量,便得到存储器的20位物理地址。
而地址加法器就是用来完成分段管理的从16位段基地址(存放在段寄存器中)与16位段内偏移地址(由指令指定)到20位物理地址的转换。
●物理地址的计算方法:
16段基地址左移4位加上16位段内偏移量,得到20位物理地址,如图所示。
【提问】
存储器分段后,一个存储单元的物理地址和逻辑地址是唯一的吗?
【解答】
存储器分段后,一个存储单元的物理地址仍然是唯一的,但逻辑地址却不唯一,如同10=1+9=2+8=3+7=......一样。
●指令指针IP:
指出下一条待预取指令在现行代码段中的段内偏移地址。
●总线控制电路:
产生外部总线操作时的相关控制信号。
b.执行部件EU
执行部件完成译码和执行指令的工作。
它由算术逻辑运算部件ALU、标志寄存器、8个通用寄存器、暂存器、队列控制逻辑和时序控制逻辑等组成。
执行部件从总线接口部件的指令队列输出端取得指令,对指令的操作码部分进行译码,产生操作数地址(如果需要的话),并将其传送给BIU,向BIU申请完成存储器或I/O的读写总线周期,对操作数进行由指令规定的操作。
在指令执行期间,EU测试状态和控制标志位,根据指令执行的结果修改标志位。
如果指令队列为空,EU等待下一次取的指令字节,且修改队列机构的输出端指针。
执行部件的16位算术逻辑运算单元(ALU)用来对操作数进行算术逻辑运算。
为了实现数据的快速传送,EU中的所有寄存器和数据通路的数据宽度都是16位的。
C.EU和BIU的关系
●相互配合:
EU和BIU是组成8086微处理器的两个基本功能部件,它们相互配合完成指令操作。
EU从指令队列中取走指令后,指令队列出现空字节,BIU就立即自动地从内存中取出后续的指令放入队列;当EU执行指令需要操作数时,BIU就根据EU给出的操作数有效地址,从指定的内存单元或I/O端口取出数据供EU使用;当EU运算结束后,BIU将运算结果写入指定的内存单元或I/O端口。
●相互独立:
EU和BIU这两个功能部件又是相互独立的。
大多数情况下,EU的执行指令操作与BIU的取指令操作在时间上可重叠进行,即EU进行某条指令执行操作时,BIU可同时进行后继指令的取指令操作,这两个部件并行连续工作可形成指令处理流水线。
这样,可减少CPU取指令的等待时间,加快了CPU的指令执行速度,也提高了系统总线的利用率。
在微处理器内,多个部件重叠进行指令各个操作的处理方式被称为指令流水线处理。
8086指令流水线处理如图所示。
8086指令流水线处理
(2)寄存器结构
8086微处理器内部有14个16位寄存器,可供程序员编程使用。
这些寄存器按其作用可分为四类:
通用寄存器、段寄存器、标志寄存器和指令指针寄存器。
如图所示。
图2-68086的寄存器结构
a.通用寄存器
通用寄存器按其用途可分为数据寄存器、地址指针寄存器和变址寄存器三组。
✧数据寄存器
一般用于存放参加运算的数据或运算结果。
包括AX,BX,CX,DX,
每个数据寄存器既可作为一个16位的寄存器使用,也可分为高字节H和低字节L,分别作为两个独立的8位寄存器使用。
✧地址指针寄存器
主要用来存放堆栈数据区存储单元的偏移地址。
SP栈顶指针
BP基址指针
✧变址寄存器
既可作为16位数据寄存器使用,也可用来存放源操作数和目的操作数的变址值。
SI源变址寄存器
DI目的变址寄存器
通用寄存器除了上述的基本用途外,还有一些隐含用法,我们将在第三章中结合具体指令的介绍再进行学习。
b.段寄存器
前面我们已经知道8086对存储器采用分段管理技术,将1MB存储空间分成若干个逻辑段,每个逻辑段长度最大为64KB,而段的起始地址(又称段基址)由4个16位的段寄存器存放。
其中
CS:
存放当前代码段的段地址
SS:
存放当前堆栈段的段地址
DS:
存放当前数据段的段地址
ES:
存放当前附加段的段地址
C.标志寄存器FLAGS
●作用:
反映系统状态及运算结果的特点。
●格式:
16位寄存器,9个标志位(6个状态标志,3个控制标志)。
●状态标志位:
反映结果的特点,包括AF,CF,OF,SF,ZF,PF。
●控制标志位:
改变处理器的操作,包括IF,DF,TF。
状态标志位在第一章中已经学习过,下面我们主要来分析3个控制标志位的作用。
●方向标志位DF
方向标志位的作用是在串操作时控制串处理的方向。
其中
DF=1:
由高地址向低地址方向处理
DF=0:
由低地址向高地址方向处理
●中断允许标志位IF
中断允许标志位的作用是控制是否允许CPU响应外部INTR。
其中
IF=1:
允许
IF=0:
不允许
●追踪标志位TF
追踪标志位是为调试程序而设定的陷阱控制位。
其中
TF=1:
处理机处于单步工作方式
TF=0:
处理机正常工作
备注:
详细解释分段原理
通过动画演示物理地址的计算过程。
通过动画演示指令流水线的处理过程。