微机原理及应用第二章微处理器

Download Report

Transcript 微机原理及应用第二章微处理器

第2章
微处理器
2·1
微处理器概述
2·2
8086/8088微处理器
2·3
存储器和I/O组织
2·4
8086的总线时序
2.5
微处理器新技术简介
本章学习要点
1
CPU的主要技术参数、主流技术术语。
2
8086微处理器组成及其寄存器结构。
3
8086微处理器的外部引脚特性。
4
8086微处理器的存储器和I/O组织。
5
8086最小/最大工作方式。
6
微处理器的最新技术及目前主流。
返回本章
2.1
微处理器概述
2.1.1 CPU的基本概念
2.1.2 CPU主要技术指标
2.1.3 CPU主流技术术语
返回本章
2.1.1
CPU的基本概念和组成
微处理器(Micro Processing Unit),即微型化的
中央处理器。中央处理器CPU的英文全称是Central
Processing Unit 。早期微处理器以MPU表示,以区别于
大型主机的多芯片CPU。但现在已经不加区分,都用CPU表
示。
CPU包括运算器、控制器和寄存器组。
X86兼容是指这些CPU能运行8086/8088指令系统编写
的任何程序。
常见的X86兼容CPU,即使他们采用完全不同的内核,
也不影响除主板以外的硬件和几乎所有的软件的高度兼容。
返回本节
2.1.2
CPU主要技术指标
1
字长:把CPU在单位时间内一次可处理的二进制数的位数叫字长。
2
CPU主频 :CPU的内核实际运行频率 。
主频=外频*倍频系数
3
CPU外频:CPU与外部进行数据传输时使用的频率。是由主板为CPU
提供的基准时钟频率,也叫系统总线频率(外频)。
4
前端总线(FSB)频率: (图2-1)CPU就是通过前端总线(FSB)连接
到北桥芯片,进而通过北桥芯片和内存、显卡交换数据。以前的很长一
段时间里(主要是在Pentium 4出现之前和刚出现Pentium 4时),前
端总线频率与外频是相同的。随着计算机技术的发展,使得前端总线的
频率成为外频的2倍、4倍甚至更高。而外频更多的影响了PCI及其他总
线的频率。
5
高速缓冲存储器(Cache)
为了加快CPU的运行速度,普遍在CPU和常规主存之间增设一级或二级
高速小容量存储器,称为高速缓冲存储器,简称Cache,其速度比内存大一
个数量级,大体与CPU的处理速度相当。
高速缓冲存储器有L1 Cache(一级缓存)和L2 Cache(二级缓存)。L1
Cache(一级缓存)是CPU第一层高速缓存。
L1高速缓存,也就是我们经常说的一级高速缓存。在CPU里面内置了高
速缓存可以提高CPU的运行效率。内置的L1高速缓存的容量和结构对CPU的
性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在
CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。一
般L1缓存的容量通常在32—256KB。
L2高速缓存,指CPU第二层的高速缓存,现在流行的CPU,无论是
AthlonXP和奔腾4,其L2高速缓存都是和CPU同速运行的。除了速度以外,
L2高速缓存容量也会影响CPU的性能,原则是越大越好,现在家庭用CPU容
量最大的是512KB,而服务器和工作站上用CPU的L2高速缓存更高达1MB-3MB。
返回本节
2.1.3
CPU主流技术术语
处理器的指令集:
1
① CISC指令集:也称为复杂指令集,英文全称是Complex Instruction Set
Computing。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指
令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机
各部分的利用率不高,执行速度慢。常用的X86指令集就属于CISC范畴。
② RISC指令集:也称为精简指令集,英文全称是Reduced Instruction Set
Computing。它是在CISC指令系统基础上发展起来的 。相对于CISC型
CPU,RISC型CPU不仅精简了指令系统,还采用了一种叫做“超标量和超流水线
结构”,大大增加了并行处理能力。RISC指令集是高性能CPU的发展方向。
2
3
流水线技术:是Inter首次在486芯片中开始使用。在CPU中由5-6个不同
功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5-6
步后在由这些电路单元分别同步执行,这样就能实现在一个CPU时钟周期
完成一条指令。到了Pentium在CPU中两条具有各自独立电路单元的流水线。
超流水线和超标量技术 :超流水线是指某些CPU内部的流水线超过通
常的5-6步以上。超标量是指CPU中有一条以上的流水线,并且每时钟
内可以完成一条以上的指令,这种设计就叫超标量技术。
2.1.3
CPU主流技术术语
4
乱序执行技术 :CPU采用了允许将多条指令不按程序规定的顺序,
分开发送给各相应电路单元处理的技术。
5
分支预测和推测执行技术 :分支预测是提前确定可能的程序分
支方向,在预测程序是否分支后所进行的处理也就是推测行。
6
7
指令特殊扩展技术是指CPU是否具有对X86指令集外的指令扩展执行能力。
MMX:多媒体指令集。但没有加强浮点方面的运算能力。
SSE:因特网数据流单指令序列扩展。
3D Now!是AMD公司开发的多媒体扩展指令集。主要应用于3D游戏。
工作电压:就是CPU正常工作所需的电压。早期的工作电压一般为
5V,随着CPU的制造工艺与主频的提高,CPU的工作电压有逐步下
降的趋势。 Intel出品的Tualatin核心Celeron已经采用1.475V的工作
电压了。
返回本节
2.2
8086/8088微处理器
8086有16根数据线、20根地址线,所以可寻址
空间1M。8088有8根数据线,准16位机。
2.2.1
8086微处理器内部组成结构
2.2.2
8086微处理器的寄存器结构
2.2.3
8086的外部引脚功能
2.2.4
8086工作模式
返回本章
2.2.1
8086微处理器的内部组成结构
1
执行部件EU
2
总线接口部件 (BIU)
3
“流水线”结构
通
用
寄
存
器
AH AL
BH BL
CH CL
DH DL
SP
BP
DI
SI
运算寄存器
8086CPU编程结
构图
16位
执行部分
控制电路
ALU
标志
执行部件
20位
地址加
法器
16位
CS
DS
SS
ES
IP
内部寄
存器
1 2 3 4 5 6
8位 指令队列缓冲
器
总线接口部件
I/O
控制
电路
外
总
线
1.执行部件EU
执行部件的功能就是负责从指令队列取指令并执行。
从编程结构图可见,执行部件由下列几个部分组成:
(1)算术逻辑单元ALU
(2)标志寄存器FLOG;
(3)数据暂存寄存器;
(4)通用寄存器组:包括4个16位位数据寄存器 AX、
BX、CX、DX;4个16位地址指针与变址寄存器SP, BP, SI,
DI。
(5)EU控制电路
2.总线接口部件 (BIU)
总线接口部件根据执行部件的请求,负责与存储器、
I/O端口传送数据。由下列各部分组成:
(1)4个段地址寄存器;
CS——16位的代码段寄存器;
DS——16位的数据段寄存器;
ES——16位的扩展段寄存器;
SS——16位的堆栈段寄存器;
(2)16位的指令指针寄存器IP;
(3)20位的地址加法器;
(4)6字节的指令队列缓冲器。
3.“流水线”结构
总线接口部件BIU和执行部件EU并不是同步工作的,
两者的动作管理遵循如下原则:
每当8086的指令队列中有2个空字节,BIU就会自动把
指令取到指令队列中。而同时EU从指令队列取出一条指令,
并用几个时钟周期去分析、执行指令。当指令队列已满,
而且EU对BIU又无总线访问请求时,BIU便进入空闲状态。
在执行转移、调用和返回指令时,指令队列中的原有内容
被自动清除,并要求BIU从新的地址重新开始取指令,新
取的第一条指令将直接经指令队列送到EU去执行,随后取
来的指令将填入指令队列缓冲器。
返回本节
2.2.2
8086微处理器的寄存器结构
 寄存器用来暂时存放参加运算的操作数和运算过程中
的中间结果,使得在程序执行的过程中不必每时每刻
都要到存储器中存取数据。
 8086 CPU中可供编程使用的有14个16位寄存器,按其
用途可分为3类:通用寄存器、段寄存器、指针和标
志寄存器,如图2-4所示。
1.通用寄存器
 8086的通用寄存器分为数据寄存器与指针和变址寄存器两组。
 (1)数据寄存器:主要用来存放操作数或中间结果,以减少
访问存储器的次数。它包括4个16位的寄存器AX, BX, CX和DX,
还可将每个分成独立的两个8位寄存器来使用,即AH, BH, CH,
DH和AL, BL, CL, DL两组,16位数据寄存器主要用于存放常用
数据,也可存放地址。而8位寄存器只能用于存放数据。
 (2)指针和变址寄存器:8086的指针寄存器SP、BP和变址寄
存器SI、DI,都是16位寄存器,一般用来存放地址的偏移量
(被寻址存储单元相对于段起始地址的距离,或称偏移地址)。
这些偏移地址在BIU的地址产生器中和段寄存器相加产生20位
的实际地址。SP和BP用来存取位于当前堆栈段中的数据,SI和
DI用来存放当前数据段的偏移地址。
 各寄存器用法如下图。
1.通用寄存器的用法
2.控制寄存器
 8086 CPU的控制寄存器主要有指令指针寄存器IP和标
志寄存器FLAG。
 (l)指令指针寄存器IP:IP是一个16位的寄存器,
存放EU要执行的下一条指令的偏移地址,用以控制程
序中指令的执行顺序。
 (2)标志寄存器FLAG:标志寄存器FLAG是一个16位
的寄存器,共9个标志,其中6个用作状态标志,3个
用作控制标志,如图2-5所示。
图2-5
8086/8088的标志寄存器FLAG
1-有偶数个1
标志寄存器
0-有奇数个1
16位寄存器,其中有7位未用。
D15
D0
OF DF IF TF SF ZF
方
向
标
志
溢
出
标
志
返回本节
单
步
中
断
中
断
允
许
符 零
号 标
标 志
志
1-结果为0
0-结果不为0
AF
PF
半
进
借
位
标
志
奇
偶
标
志
CF
进
借
位
标
志
1-有进、借位
0-无进、借位
1-低4位向高4位有进、借位
0-低4位向高4位无进、借位
3.段寄存器
 为了达到寻址1MB存储器空间的目的,8086 CPU把这
1MB的存储空间分成若干个逻辑段,每个逻辑段的长
度不超过64KB。这些逻辑段是互相独立的,可以在整
个空间浮动。8086 CPU共有4个16位的段寄存器,用
来存放每一个逻辑段的段起始地址。
 (l)CS(Code Segment)——代码段寄存器。
 (2)DS(Data Segment)——数据段寄存器。
 (3)SS(Stack Segment)——堆栈段寄存器。
 (4)ES(Extra Segment)——附加(数据)段寄存器。
返回本节
2.2.3
8086的外部引脚功能
8086CPU采用双
列直插式的封装
形式,具有40条
引脚,见图2-6。
它采用分时复用
的地址/数据总线
所以有一部分引
脚具有双重功能
即在不同时钟周
期内,引脚的作
用不同。
图2-6
8086的引脚信号(括号中为最大模式下的名称)
GND
AD14/A14
AD13/A13
AD12/A12
AD11/A11
8086CPU采用双列
直插式的封装形式,AD10/A10
具有40条引脚,见 AD9/A9
AD8/A8
图2-6。它采用分
AD7
时复用的地址/数
据总线,所以有一
AD6
部分引脚具有双重
AD5
功能,即在不同时
AD4
钟周期内,引脚的
AD3
作用不同。
AD2
AD1
AD0
图2-6 8086的
NMI
引脚信号(括
INTR
号中为最大模
CLK
式下的名称)
GND
8086/8088
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
VCC(5V)
AD15/A15
A16/S3
A17/S4
A18/S5
A19/S6
/BHE/S7 HIGH(SSO)
MN//MX
/RD
HOLD(/RQ//GT0)
HLDA(/RQ//GT1)
/WR(/LOCK)
M//IO(/S2)
DT//R(/S1)
/DEN(/S0)
ALE(QS0)
/INTA(QS1)
/TEST
READY
返回本节
RESET
2.2.4 8086工作模式
为了构成不同规模的微型计算机,适应各种各样的
应用场合,Intel公司在设计8086 CPU芯片时,规定了
可以在两种方式下工作,即最小工作方式和最大工作方
式。
1
最小工作模式 :系统中只有一个CPU,所有的总线
控制信号都由8086直接产生。
2
最大工作模式 :系统中有两个或多个微处理器。
3
8086CPU的引脚信号
1.最小工作模式
由图2-7可知,在8086的最小模式中,硬件连接上有如下几
个特点:
(1)MN/MX引脚接+5V,决定了8086工作在最小模式。
(2)有一片8284A,作为时钟发生器。
(3)有三片8282或74LS373,用来作为地址锁存器。
(4)当系统中所连接的存储器和外设比较多时,需要增加
系统数据总线的驱动能力,这时,可选用两片8286或
74LS245作为总线收发器。
图2-7
8086CPU最小模式下的典型配置
2.最大工作模式
由图2-8可知
最大模式配
置和最小模
式配置有一
个主要的差
别:最大模
式下多了
8288总线控
制器。
图2-8 8086CPU最大工作模式下的典型配置
返回本节
2.3
存储器和I/O组织
2.3.1 存储器组织
2.3.2 I/O端口组织
返回本章
2.3.1 存储器组织
 1.存储器的内部结构及访问方法
 规则字、不规则字的概念、读取
 表2-3 BHE和A0的意义
 两个存储体与CPU总线之间的连接如图2-10所示。
图2-10
8086系统的存储结构
2.存储器分段
8086 CPU中有四个
段寄存器:CS,DS
SS和ES,这四个段
寄存器存放了CPU
当前可以寻址的四
个段的基值,也即
可以从这四个段寄
存器规定的逻辑段
中存取指令代码和
数据。一旦这四个
段寄存器的内容被
设定,就规定了
CPU当前可寻址的
段,如图2-11所示。
图2-11
当前可寻址的存储器段
(堆栈段和附加段重叠)
3.逻辑地址和物理地址
8086 CPU中的每个存储元在存储体中的位置都可
以使用实际地址和逻辑地址来表示。
物理地址(Physical Address)是存储器的实际地址,它是CPU和存储
器进行数据交换时所使用的地址。对于8086系统,物理地址由CPU提
供的20位地址码来表示,是惟一能代表存储空间每个字节单元的地址,
是00000H至FFFFFH之间的某个地址值。图2-12 物理地址的形成
逻辑地址(Logic Address)是在程序中使用的地址,它由段地址和偏移
地址(也称为有效地址)两部分组成。逻辑地址的表示形式为“段地
址:偏移地址”。段地址和偏移地址都是无符号的16位二进制数,或
用4位十六进制数表示。偏移地址又称为有效地址EA,是距离段起始地
址的偏移量。
CPU访问存储器时,要形成20位的物理地址即先找到某段,再找到
该段内的偏移量。换句话说,CPU是以物理地址访问存储器的。
段寄存器
物理地址的形成
有效地址EA
0
15
偏移地址
从逻辑地址到物理地址的转
换由BIU中20位的地址加法器自动
完成,具体操作如图所示。先将
段寄存器提供的16位段地址左移4
位,恢复为20位地址,然后与各
种寻址方式提供的16位有效地址
相加,最终得到20位的物理地址。
在访问内存时,用户编程使用的
是16位的逻辑地址, 而BIU使用
的是20位的物理地址。
段地址左移4位
0
19
地址加法器
19
0
20位物理地址
返回本节
2.3.2 I/O端口组织
 所谓端口是指I/O接口电路中供CPU直接存取访问的那
些寄存器或某些特定电路。一个I/O接口总要包括若
干个端口,如数据、命令、状态、方式端口等,微机
系统要为每个端口分配一个地址号,称为端口地址。
各个端口地址和存储单元地址一样,应具有惟一性。
 8086 CPU用地址总线的低16位作为对I/O端口的寻址
线,所以8086 CPU可访问的位1/O端口有65536 (216)
个。
返回本节
2.4
8086的总线时序
时钟周期(T):CPU处理动作的最小时间单位。是
时序序列的最小时间单位,由主频决定。
总线周期:完成一次读/写操作所需要的时间。一般
包括四个时钟周期(T1-T4)。
返回本章
1.存储器读周期的时序(图2-13)
图2-13
8086读总线周期
一个基本的读周期一般包含如下几个状态:
 T1状态:
 T2状态:
 T3状态:
 Tw状态:
 T4状态:
2.存储器写周期的时序(图2-14)
图2-14
8086写总线周期
返回本节
2.5 微处理器新技术简介
2.5.1 处理器的架构
2.5.2 64位技术
2.5.3 双核技术
返回本章
2.5.1 处理器的架构
 决定CPU整体性能表现的关键因素已经不仅仅是主频,
也不是缓存技术,而是核心架构。
 。回顾历代CPU,我们不难发现Intel在大部分时间内
都保持领先地位。Pentium采用了代号为P5的架构、
Pentium Pro、Pentium Ⅱ、Pentium Ⅲ采用了代号
为P6的架构、Pentium 4和Pentium D则采用了
NetBurst架构,目前,Intel推出了全新的Core架构,
在未来一段时间内将彻底取代NetBurst架构。AMD处
理器主要采用的架构有K7和K8。常见的Athlon采用了
K7架构,Athlon 64即采用了K8架构。
返回本节
2.5.2
64位技术
 目前世界上的64位微处理器主要由HP、Sum、IBM、
Intel和AMD等公司所把持。
 相比较与常见的32位处理器相比,64位计算主要有两
大优点:可以进行更大范围的整数运算;可以支持更
大的内存。
 目前主流处理器使用的64位技术主要有AMD公司的
AMD64位技术、Intel公司的EM64T技术和IA-64技术。
1.Itanium(安腾)微处理器
采用了一种新的指令集结构——EPIC。
 32位和64位处理模型如图2-15所示。
图2-15 32位和64位处理模型图
2.Athlon 64系列
 Athlon 64系列处理器的诞生对于桌面处理器领域具有划
时代的意义,使得桌面电脑可以迅速迈入64位的时代。
 Athlon 64系列处理器的主要特征和性能:








·64位计算能力。
·超过4GB的内存寻址能力。
·处理器内部集成内存控制器。
·采用HyperTransport总线。
·Execution Protection防病毒技术。
·Cool‘n’Quiet技术。
·MMX、3DNow!、SSE、SSE2全面支持,部分支持SSE3。
·Athlon 64 X2系列支持双核技术。
返回本节
2.5.3 双核技术
 双核处理器是指在一个处理器上集成两个运算核心,
从而提高计算能力。
 AMD和Intel的双核技术在物理结构上也有很大不同之
处。AMD将两个内核做在一个Die(晶元)上,通过直
连架构连接起来,集成度更高。Intel则是将放在不
同Die(晶元)上的两个内核封装在一起,因此有人
将Intel的方案称为“双芯”,认为AMD的方案才是真
正的“双核”。
 AMD处理器的两个核心直接连接到同一个内核上,核
心之间以芯片速度通信,进一步降低了处理器之间的
延迟。而Intel采用多个核心共享二级缓存方案。
1.Pentium D和Pentium EE
 Pentium D和Pentium EE分别面向主流市场以及高端
市场,其每个核心采用独立式缓存设计,在处理器内
部两个核心之间是互相隔绝的,通过处理器外部(主
板北桥芯片)的仲裁器负责两个核心之间的任务分配
以及缓存数据的同步等协调工作。两个核心共享前端
总线,并依靠前端总线在两个核心之间传输缓存同步
数据。pentium D内部示意图如图2-17,揭开外壳后
的双核心pentium D如图2-18。
图2-17 Pentium D内部示意图
图 2-18 揭 开 外 壳 后 的 双 核 心
Pentium D处理器
2.AMD双核处理器
 AMD推出的双核心处理器分别是双核心的Opteron系列
和全新的Athlon 64 X2系列处理器。AMD Athlon 64
X2内部示意图如图2-19, 揭开外壳后的AMD Athlon
64 X2如图2-20。其中Athlon 64 X2是用以抗衡
Pentium D和Pentium Extreme Edition的桌面双核心
处理器系列。
图2-19 AMD Athlon 64 X2
内部示意图
图 2-20 揭 开 外 壳 后 的 AMD
Athlon 64 X2
3.Core 2系列
 Core 2(酷睿2)是Intel推出的采用全新Core微架构
的处理器,取代从2000年起大多数Intel处理器采用
的NetBurst架构。首批Core 2处理器已于2006年7月
27日开始发售,目前分为Duo(双核)、Extreme(至
尊版)以及Quad(四核)三种型号。
返回本节
返回本章