510 likes | 753 Views
第2章 微处理器. 2 · 1 微处理器概述 2 · 2 8086/8088微处理器 2 · 3 存储器和 I/O 组织 2 · 4 8086 的总线时序 2.5 微处理器新技术简介. 1. 2. 3. 4. 5. 6. 本章学习要点. CPU 的主要技术参数、主流技术术语。 8086 微处理器组成及其寄存器结构。 8086 微处理器的外部引脚特性。 8086 微处理器的存储器和 I/O 组织。 8086 最小 / 最大工作方式。 微处理器的最新技术及目前主流。. 返回本章. 2.1 微处理器概述.
E N D
第2章 微处理器 2·1 微处理器概述 2·2 8086/8088微处理器 2·3 存储器和I/O组织 2·4 8086的总线时序 2.5 微处理器新技术简介
1 2 3 4 5 6 本章学习要点 CPU的主要技术参数、主流技术术语。 8086微处理器组成及其寄存器结构。 8086微处理器的外部引脚特性。 8086微处理器的存储器和I/O组织。 8086最小/最大工作方式。 微处理器的最新技术及目前主流。 返回本章
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,即使他们采用完全不同的内核,也不影响除主板以外的硬件和几乎所有的软件的高度兼容。 返回本节
1 2 3 4 2.1.2 CPU主要技术指标 字长:把CPU在单位时间内一次可处理的二进制数的位数叫字长。 CPU主频 :CPU的内核实际运行频率 。 主频=外频*倍频系数 CPU外频:CPU与外部进行数据传输时使用的频率。是由主板为CPU 提供的基准时钟频率,也叫系统总线频率(外频)。 前端总线(FSB)频率: (图2-1)CPU就是通过前端总线(FSB)连接 到北桥芯片,进而通过北桥芯片和内存、显卡交换数据。以前的很长一 段时间里(主要是在Pentium 4出现之前和刚出现Pentium 4时),前 端总线频率与外频是相同的。随着计算机技术的发展,使得前端总线的 频率成为外频的2倍、4倍甚至更高。而外频更多的影响了PCI及其他总 线的频率。
5 高速缓冲存储器(Cache) • 为了加快CPU的运行速度,普遍在CPU和常规主存之间增设一级或二级高速小容量存储器,称为高速缓冲存储器,简称Cache,其速度比内存大一个数量级,大体与CPU的处理速度相当。 • 高速缓冲存储器有L1Cache(一级缓存)和L2Cache(二级缓存)。L1Cache(一级缓存)是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。 返回本节
1 2 3 2.1.3 CPU主流技术术语 处理器的指令集: ① CISC指令集:也称为复杂指令集,英文全称是Complex Instruction Set Computing。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。常用的X86指令集就属于CISC范畴。 ② RISC指令集:也称为精简指令集,英文全称是Reduced Instruction Set Computing。它是在CISC指令系统基础上发展起来的 。相对于CISC型CPU,RISC型CPU不仅精简了指令系统,还采用了一种叫做“超标量和超流水线结构”,大大增加了并行处理能力。RISC指令集是高性能CPU的发展方向。 流水线技术:是Inter首次在486芯片中开始使用。在CPU中由5-6个不同 功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5-6 步后在由这些电路单元分别同步执行,这样就能实现在一个CPU时钟周期 完成一条指令。到了Pentium在CPU中两条具有各自独立电路单元的流水线。 超流水线和超标量技术 :超流水线是指某些CPU内部的流水线超过通常的5-6步以上。超标量是指CPU中有一条以上的流水线,并且每时钟内可以完成一条以上的指令,这种设计就叫超标量技术。
5 4 2.1.3 CPU主流技术术语 乱序执行技术 :CPU采用了允许将多条指令不按程序规定的顺序,分开发送给各相应电路单元处理的技术。 分支预测和推测执行技术 :分支预测是提前确定可能的程序分支方向,在预测程序是否分支后所进行的处理也就是推测行。
7 6 指令特殊扩展技术是指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工作模式 返回本章
1 2 3 2.2.1 8086微处理器的内部组成结构 执行部件EU 总线接口部件 (BIU) “流水线”结构
20位 8086CPU编程结构图 AH AL 地址加法器 BH BL 16位 通用寄存器 CH CL CS DH DL DS SP SS BP ES I/O控制电路 IP DI 内部寄存器 SI 外总线 16位 运算寄存器 1 2 3 4 5 6 执行部分控制电路 8位 指令队列缓冲器 ALU 标志 执行部件 总线接口部件
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用来存放当前数据段的偏移地址。 • 各寄存器用法如下图。
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 AF PF CF 方向标志 单步中断 符号标志 零标志 半进借位标志 奇偶标志 进借位标志 溢出标志 中断允许 1-结果为0 0-结果不为0 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的引脚信号(括号中为最大模式下的名称)
8086/8088 4039383736353433323130292827262524232221 VCC(5V) GND 0102030405060708091011121314151617181920 AD15/A15 AD14/A14 A16/S3 AD13/A13 A17/S4 AD12/A12 A18/S5 AD11/A11 8086CPU采用双列直插式的封装形式,具有40条引脚,见图2-6。它采用分时复用的地址/数据总线,所以有一部分引脚具有双重功能,即在不同时钟周期内,引脚的作用不同。 AD10/A10 A19/S6 /BHE/S7 HIGH(SSO) AD9/A9 MN//MX AD8/A8 /RD AD7 HOLD(/RQ//GT0) AD6 AD5 HLDA(/RQ//GT1) /WR(/LOCK) AD4 M//IO(/S2) AD3 DT//R(/S1) AD2 /DEN(/S0) AD1 ALE(QS0) AD0 图2-6 8086的 引脚信号(括 号中为最大模 式下的名称) /INTA(QS1) NMI /TEST INTR READY CLK 返回本节 RESET GND
1 2 3 2.2.4 8086工作模式 为了构成不同规模的微型计算机,适应各种各样的应用场合,Intel公司在设计8086 CPU芯片时,规定了可以在两种方式下工作,即最小工作方式和最大工作方式。 最小工作模式 :系统中只有一个CPU,所有的总线 控制信号都由8086直接产生。 最大工作模式 :系统中有两个或多个微处理器。 8086CPU的引脚信号
1.最小工作模式 由图2-7可知,在8086的最小模式中,硬件连接上有如下几 个特点: (1)MN/MX引脚接+5V,决定了8086工作在最小模式。 (2)有一片8284A,作为时钟发生器。 (3)有三片8282或74LS373,用来作为地址锁存器。 (4)当系统中所连接的存储器和外设比较多时,需要增加 系统数据总线的驱动能力,这时,可选用两片8286或 74LS245作为总线收发器。
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.存储器分段 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 偏移地址 段地址左移4位 0 19 地址加法器 0 19 20位物理地址 物理地址的形成 从逻辑地址到物理地址的转换由BIU中20位的地址加法器自动完成,具体操作如图所示。先将段寄存器提供的16位段地址左移4位,恢复为20位地址,然后与各种寻址方式提供的16位有效地址相加,最终得到20位的物理地址。 在访问内存时,用户编程使用的是16位的逻辑地址, 而BIU使用的是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(安腾)微处理器 • 32位和64位处理模型如图2-15所示。 采用了一种新的指令集结构——EPIC。 图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-20揭开外壳后的AMD Athlon 64 X2 图2-19 AMD Athlon 64 X2内部示意图
3.Core 2系列 • Core 2(酷睿2)是Intel推出的采用全新Core微架构的处理器,取代从2000年起大多数Intel处理器采用的NetBurst架构。首批Core 2处理器已于2006年7月27日开始发售,目前分为Duo(双核)、Extreme(至尊版)以及Quad(四核)三种型号。 返回本节