590 likes | 751 Views
www.qust.edu.cn. 第二章 微处理器. 第二章 微处理器. 本章将从微机的简化模型入手,开始讲述微机的内部工作原理;然后以 16 位微处理器 8086 为过渡,讲述 IA-32 架构微处理器的功能结构及编程结构;最后以 32 位微处理器 Pentium 为例 , 讲述 32 位微处理器的外部引脚及工作时序。. § 2.1 微型计算机简化模型. § 2.2 处理器的功能结构. § 2.3 IA-32 微处理器的编程结构. § 2.4 Pentium 微处理器的外部引脚. § 2.5 Pentium 微处理器的典型工作时序.
E N D
www.qust.edu.cn 第二章 微处理器
第二章 微处理器 本章将从微机的简化模型入手,开始讲述微机的内部工作原理;然后以16位微处理器8086为过渡,讲述IA-32架构微处理器的功能结构及编程结构;最后以32位微处理器Pentium为例,讲述32位微处理器的外部引脚及工作时序。 §2.1 微型计算机简化模型 § 2.2 处理器的功能结构 § 2.3 IA-32微处理器的编程结构 § 2.4 Pentium微处理器的外部引脚 § 2.5 Pentium微处理器的典型工作时序 www.qust.edu.cn
§2.1 微机简化模型 • 通过简化的微机模型,来学习计算机的基本工作原理. www.qust.edu.cn
§2.1 微机简化模型 预备知识 模型机 指令系统 回顾在《数字电路》中学过的一些电路,为学习模型机做准备。 介绍模型机的组成、工作原理。 建立起指令系统的概念,理解指令的来源、作用。 www.qust.edu.cn
§2.1.1 预备知识 一、寄存器 二、算术逻辑单元 三、三态输出电路 四、总线结构 五、存储器 www.qust.edu.cn
CPU I/O CPEPLMERLIEILAEASUEULBLO Mem W §2.1.2 微机简化模型的组成 CP LA CLK PC 8 A CLK 4 CLR EP 8 EA 8 LI SU CLK IR 8 8 ALU CLR EU 4 EI 8 LB 4 B 8 CLK CLK CON CLR 12 LO O 8 CLK LM 8 MAR 4 CLK D 4 16*8 PROM 8 ER www.qust.edu.cn
00H 01H . . . 0AH 0BH 0000 1010 0001 1011 1010 1011 0011 0011 §2.1.3 模型机的运行过程 一、初始状态: 1、存储器中事先存放一些数据 2、上电时,各寄存器有初始值: PC=0000B 3、上电后,CLK由CON不断送出, 模型机进入自动运行状态。 www.qust.edu.cn
CON W §2.1.3 模型机的运行过程 二、简化模型机的运行过程---T0(第1个CLK) CP LA CLK PC 8 A CLK 4 0000 CLR EP 8 EA 8 LI SU CLK IR 8 8 ALU CLR EU 4 EI 8 LB 4 B 8 CLK CLK CON CLR 12 LO CPEPLMERLIEILAEASUEULBLO O 8 CLK LM 8 MAR 4 CLK D 4 16*8 PROM 8 ER www.qust.edu.cn
CON W §2.1.3 模型机的运行过程 二、简化模型机的运行过程---T1(第2个CLK) CP LA CLK PC 8 A CLK 4 CLR EP 8 EA 8 LI SU CLK IR 8 8 ALU CLR EU 4 EI 8 LB 4 B 8 CLK CLK CON CLR 12 LO CPEPLMERLIEILAEASUEULBLO O 8 CLK LM 8 MAR 4 CLK 0000 D 4 16*8 PROM 8 0000 1001 ER www.qust.edu.cn
CON W §2.1.3 模型机的运行过程 二、简化模型机的运行过程---T2(第3个CLK) CP LA CLK PC 8 A CLK 4 CLR EP 0001 8 EA 8 LI SU CLK IR 8 8 ALU CLR EU 0000 1001 4 EI 8 LB 4 B 8 CLK CLK CON CLR 12 LO CPEPLMERLIEILAEASUEULBLO O 8 CLK LM 8 MAR 4 CLK 0000 D 4 16*8 PROM 8 ER www.qust.edu.cn
CON W §2.1.3 模型机的运行过程 二、简化模型机的运行过程---T3(第4个CLK) CP LA CLK PC 8 A CLK 4 CLR EP 0001 8 EA 8 LI SU CLK IR 8 8 ALU CLR EU 0000 1001 4 EI 8 LB 4 B 8 CLK CLK CON CLR 12 LO CPEPLMERLIEILAEASUEULBLO O 8 CLK LM 8 MAR 4 CLK D 4 16*8 PROM 8 ER www.qust.edu.cn
CON W §2.1.3 模型机的运行过程 二、简化模型机的运行过程---T4(第5个CLK) CP LA CLK PC 8 A CLK 4 CLR EP 0001 8 EA 8 LI SU CLK IR 8 8 ALU CLR EU 0000 1001 4 EI 8 LB 4 B 8 CLK CLK CON CLR 12 LO CPEPLMERLIEILAEASUEULBLO O 8 CLK LM 8 MAR 4 CLK 1001 D 4 16*8 PROM 1000 0001 8 ER www.qust.edu.cn
CON W §2.1.3 模型机的运行过程 二、简化模型机的运行过程---T5(第6个CLK) CP LA CLK PC 8 A CLK 4 CLR EP 0001 8 EA 8 LI SU CLK IR 8 8 ALU CLR EU 0000 1001 4 EI 8 LB 4 B 8 CLK CLK CON CLR 12 LO CPEPLMERLIEILAEASUEULBLO O 8 CLK LM 8 MAR 4 CLK 1001 D 4 16*8 PROM 1000 0001 8 ER www.qust.edu.cn
二、简化模型机的运行过程小结 §2.1.3 模型机的运行过程 • 6个时钟周期 • T0:Ep=1,Lm=1 • T1:Li=1,Er=1 • T2:Cp=1 • T3:Lm=1,Ei=1 • T4:Er=1,La=1 • T5:空闲 取指周期 指令周期 执行周期 模型机运行的关键在于: (1)整套装置有CLK进行同步。 (2)控制部件(CON)不断发出控制字,指挥各部件 产生不同的动作。每6个CLK一个完整周期。 www.qust.edu.cn
§2.1.4 指令系统 • 指令系统就是用来编制计算程序的一个指令集合 • 不同型号的微处理机的指令系统是不同的,指令的条数也不相同。 例如: Z80型的指令系统可达158条M6800型有72条 Intel 80386则为152条。 • 模型机有5条指令: • LDA——将数据装入累加器A; • ADD——进行加法运算; • SUB——进行减法运算; • OUT——输出结果; • HLT——停机。 www.qust.edu.cn
§2.2 处理器的功能结构 特权保护 虚拟存储 浮点运算 Cache 多级流水 www.qust.edu.cn
体系结构 编程结构 §2.2 处理器的功能结构 微处理器 功能结构 ... 物理结构 应用者 www.qust.edu.cn
§2.2.2 8086微处理器的功能结构 www.qust.edu.cn
§2.2.2 8086微处理器的功能结构 1、执行部件EU(Execution Unit) • 4个16位通用寄存器 • 4个16位专用寄存器 • 16位标志寄存器 • 算术逻辑单元ALU 8086内部的标志寄存器 www.qust.edu.cn
§2.2.2 8086微处理器的功能结构 2、总线接口部件BIU(Bus Interface Unit) • 6字节的指令队列 • 4个16位段地址寄存器 • 16位指令指针寄存器IP • 20位地址加法器 20位地址加法器的作用 www.qust.edu.cn
§2.2.3 Pentium微处理器的功能结构 www.qust.edu.cn
§2.2.3 Pentium微处理器的功能结构 • 1、总线接口部件BIU(Bus Interface Unit ) DB:64位 (但CPU是32位的) AB:32位 CB:若干 最终体现在外部引脚及总线时序上。 www.qust.edu.cn
§2.2.3 Pentium微处理器的功能结构 • 2、分段分页部件 就是存储管理单元MMU(Memory Manage Unit) 实现复杂的存储器访问管理。 将程序指令中的虚地址映射到内存实际的物理地址上。 16位CPU只有分段管理功能,而没有分页管理功能,因此不能实现虚拟存储。 拥有分段及分页管理的CPU才能实现虚拟存储。 www.qust.edu.cn
§2.2.3 Pentium微处理器的功能结构 • 3、U流水和V流水 (1)类似拥有8086的2套EI。 (2)构成超标量流水线结构。 (3)每条流水线都有自己的ALU,指令译码,地址生成、指令执行和回写。 (4)U流水线可执行所有指令,而V流水只能执行整数指令和一条异常指令。 www.qust.edu.cn
§2.2.3 Pentium微处理器的功能结构 • 4、高速缓存Cache (1)容量小。(8K或16KBytes) (2)速度快。(与CPU速度一致,而存储器则低一个数量级) (3)是RAM(Random Access Memory),可读可写。 (4)在Pentium中,分指令Cache和数据Cache. www.qust.edu.cn
§2.2.3 Pentium微处理器的功能结构 • 5、指令预取部件 (1)每次从代码Cache取两条指令,分别送给U流水线和V流水线。 (2)如果所需指令不在Cache,则启动总线操作,从存储器读取指令。 www.qust.edu.cn
§2.2.3 Pentium微处理器的功能结构 • 6、指令译码器 指令译码后送给CON,进行执行。 www.qust.edu.cn
§2.2.3 Pentium微处理器的功能结构 • 7、浮点处理部件FPU (1)进行浮点运算,是 MMX(MultiMedia eXtention )及 SSE(Streaming SIMD Extention) 指令 实现的硬件基础。 (2)内含专用的加法器、乘法器和除法器。 www.qust.edu.cn
§2.2.3 Pentium微处理器的功能结构 • 8、分支目标缓冲器Branch Target Buffer 动态预测程序的分支操作,以保证流水线的指令预取步骤不会空置。 www.qust.edu.cn
§2.2.3 Pentium微处理器的功能结构 • 9、控制ROM及控制部件 控制ROM存放微指令。控制部件是使用微指令而不是硬布线实现的。 www.qust.edu.cn
§2.2.3 Pentium微处理器的功能结构 • 10、寄存器组 程序数据的暂存地点。 对编程者而言,主要使用寄存器对数据进行各种处理。 www.qust.edu.cn
§2.2.3 Pentium微处理器的功能结构 Pentium微处理器结构特点: 1、U/V两条流水线构成超标量流水线。 2、重新设计的浮点部件。 3、独立的指令Cache和数据Cache。 4、分支预测。 5、采用64位外部数据总线。 www.qust.edu.cn
练习题 1、Pentium处理器是 位的,外部数据总线有条,地址总线有条。 2、Pentium处理器内部拥有 条流水线,分别称为 流水线和 流水线。不能进行浮点运算的是 流水线。每条流水线又可分为5个步骤,分别是、 、、 和 。 3、 Pentium处理器内部拥有KB的数据Cache和KB的指令Cache. 4、简述Pentium处理器的结构特点。 www.qust.edu.cn
§2.3 IA-32微处理器的编程结构 2.3.1 IA-32微处理器的工作模式 www.qust.edu.cn
§2.3 IA-32微处理器的编程结构 2.3.1 IA-32微处理器的工作模式 (1)实地址模式:CPU上电或重启后自动进入实地址模式。在该模式下,32位微处理器完全模仿16位微处理器,只是功能稍强、速度更快而已。通过修改控制寄存器CR0中的PE控制位,可以切换到保护模式。 (2)保护模式:是处理器的原生模式,涵盖了处理器的所有特点和指令,有着最好的性能。CPU可访问4GB(232)字节的物理存储空间。支持段、页两级保护机制,段有4个特权级,页面有2个特权级。为复杂的多任务环境提供全面服务。 www.qust.edu.cn
§2.3 IA-32微处理器的编程结构 2.3.1 IA-32微处理器的工作模式 (3)虚拟8086模式:是保护模式下的一种功能。其目的是为了让8086下的16位应用程序能在保护模式下运行。 (4)系统管理模式:当外部的中断引脚SMI信号有效,或从先进可编程中断控制器APIC方面接受到SMI中断时,处理器就进入SMM模式。 www.qust.edu.cn
§2.3 IA-32微处理器的编程结构 • 关于保护机制: 操作系统核心 系统服务及接口 0级 1级 2级 3级 应用程序 高级别的程序可以访问同级或低级的数据段,反之则不行 www.qust.edu.cn
§2.3.2 IA-32微处理器的编程结构 • 基本执行环境(Basic Execution Environment) 编 程 结 构 应用级程序员 系统级程序员 2.系统级体系结构资源 (System-level Architechture Resources) www.qust.edu.cn
§2.3.2 IA-32微处理器的编程结构 一、IA-32微处理器基本执行环境 www.qust.edu.cn
§2.3.2 IA-32微处理器的编程结构 一、IA-32微处理器基本执行环境 图2.12 基本程序执行寄存器 www.qust.edu.cn
(1) 通用寄存器 在程序执行时暂时保存中间结果。 在进行算术运算和逻辑运算时,通用寄存器任何一个都可以作为源操作数或目的操作数 累加器 基址寄存器 计数器 数据寄存器 堆栈指针 基址指针 源变址寄存器 目的变址寄存器 www.qust.edu.cn
(2)指令指针(IP) 指令在存储器的物理地址=CS * 16 + IP 作用相当于模型机中的PC www.qust.edu.cn
(3)标志寄存器(Flags) (1)用于反映CPU内部的实时运算状态 (状态标志位)或控制指令的运行 (控制位) (2)只使用了一部分标志位。 www.qust.edu.cn
§2.3.2 IA-32微处理器的编程结构 一、IA-32微处理器基本执行环境 (3) EFLAGS标志寄存器 www.qust.edu.cn
(4)段寄存器 在实地址模式下,构成20位地址的高位。 www.qust.edu.cn
习题 1、Pentium有多少条地址线?多少条数据线?能访问的存储空间是多大? 2、U流水线和V流水线有什么区别? 3、Pentium的Cache是如何配置的? 4、分段分页部件的作用是什么? 5、能进行32位运算,也能进行16位或8位运算的通用寄存器有哪几个? 6、Pentium中的段寄存器与8086的段寄存器有什么不同? 7、写出Pentium基本体系结构寄存器。 www.qust.edu.cn
§2.3.3 存储器组织 一、地址变换 1、物理地址:物理存储器都是以字节(8位二进制)为单位按顺序存放的,每个字节单元分配一个唯一的地址,称为物理地址 2、逻辑地址:程序员编写程序时所使用的存储空间称为虚拟地址空间或逻辑地址空间。程序中访问存储器所使用的地址称为逻辑地址。 图2.16 地址变换 www.qust.edu.cn
偏移地址寄存器 段寄存器 16位段地址 16位段内偏移量 左移4位 16位段地址 0000 15 0 15 0 + 16位偏移地址 16位段寄存器 地址加法器 19 0 20位物理地址 20位物理地址 §2.3.3 存储器组织 二、实地址模式下的地址变换 0000 逻辑地址的表示方法-----段:偏移量,如5678:1ABCH 物理地址的表示方法-----20位地址(实地址模式下) 如:5823CH www.qust.edu.cn
DS=5668H 5678:0000 64K 5678:FFFF §2.3.3 存储器组织 二、实地址模式下的地址变换 DS=5678H 5678:0000 64K 5678:FFFF 段的交叉与重叠 www.qust.edu.cn
2.4 Pentium微处理器的外部引脚 Pentium微处理器芯片共有168个引脚 。 1、地址总线 A31 (1)既能选择主存和I/O设备,又能选择片内Cache。 (2)只有29条地址线输出。可访问64位存储器。 (3)可访问4GB内存和64KI/O空间。 A31 : : A3 A3 BE7 字节 允许 符 : BE0 www.qust.edu.cn