1.15k likes | 1.59k Views
第 2 章 微处理器. 2.1 概述 2.2 8088/8086 微处理器 2.3 80286 微处理器 2.3 80X86/Pentium 微处理器 2.4 本章小结 思考与练习题. 2.1 微处理器的基本结构. 微处理器 (Microprocessor) ,是采用大规模或超大规模集成电路技术做成的半导体芯片,上面集成了计算机的 主要部件:控制器、运算器和寄存器组 。整个微型计算机硬件系统的核心就是微处理器,所以它 又称为中央处理器 (Central Processing Unit) ,即 CPU 。 .
E N D
第2章 微处理器 2.1 概述 2.2 8088/8086微处理器 2.3 80286微处理器 2.3 80X86/Pentium微处理器 2.4 本章小结 思考与练习题
2.1 微处理器的基本结构 微处理器(Microprocessor),是采用大规模或超大规模集成电路技术做成的半导体芯片,上面集成了计算机的主要部件:控制器、运算器和寄存器组。整个微型计算机硬件系统的核心就是微处理器,所以它又称为中央处理器(Central Processing Unit),即CPU。
若字长8位,即一次能处理8位数据,则称为8位CPU,如Z80的CPU;若字长为16位,则称为16位CPU,如8086/8088、80286的CPU等。若字长8位,即一次能处理8位数据,则称为8位CPU,如Z80的CPU;若字长为16位,则称为16位CPU,如8086/8088、80286的CPU等。 图3-1是一个典型的8位微处理器的内部结构,它一般由算术逻辑运算单元、寄存器组和指令处理单元等几个部分组成。 2.1 微处理器的基本结构
2.1 微处理器的基本结构 1. 算术逻辑运算单元(ALU,Arithmetic Logic Unit) 算术逻辑运算单元实际上就是计算机的运算器,负责CPU进行各种运算,包括算术运算和逻辑运算。
2.1 微处理器的基本结构 算术运算:指加、减、增量(加1)、减量(减1)、比较、求反、求补等运算,有些微处理器还可以进行乘、除运算。 逻辑运算:指逻辑与、逻辑或、逻辑非、逻辑异或,以及移位、循环移位等运算和操作。
2.1 微处理器的基本结构 ALU的基本组成是一个加法器。ALU所进行的运算中,多数操作需要两个操作数,比如“加”和“逻辑与”运算。但是,也有些运算只要一个操作数,比如“增量”和“逻辑非”运算。
2.1 微处理器的基本结构 对8位CPU来说,由累加器提供其中一个操作数,而另一个操作数通过暂存器来提供。运算后,运算结果被返回到累加器,而运算中状态的变化和运算结果的数字特征则被记录在标志寄存器中。程序根据运算后各个标志位的情况来决定下一步走向。
运算单元电路 寄存器 累加器 2.1 微处理器的基本结构
2. 寄存器组(Register Set) 寄存器是CPU内部的高速存储单元,不同的CPU配有不同数量、不同长度的一组寄存器。有些寄存器不面向用户,我们称为“透明”寄存器,对它们的工作,用户不需要了解;有些寄存器则面向用户,供编程时使用,这些寄存器在程序中频繁使用,被称为可编程寄存器。
2.1 微处理器的基本结构 由于访问寄存器比访问存储器快捷和方便,因此各种寄存器用来存放临时的数据或地址,具有数据准备、数据调度和数据缓冲作用。从指令角度看,一般含有两个操作数的指令中,必有一个为寄存器操作数,这样可以缩短指令长度和指令的执行时间。
2.1 微处理器的基本结构 从应用角度,可以将寄存器分成以下三类: (1) 通用寄存器 通用寄存器在CPU中数量最多,它们既可以存放数据,又可以存放地址,使用频度非常高,是调度数据的主要手段。其中,累加器的寻址手段最多,功能最强,使用最频繁。
2.1 微处理器的基本结构 (2) 地址寄存器 地址寄存器主要用来存放地址,用于存储器的寻址操作,因而也称为地址指针或专用寄存器,如编址寄存器、堆栈指针、指令指针等。地址寄存器的功能比较单一,在访问内存时,可以通过它形成各种寻址方式。
2.1 微处理器的基本结构 (3) 标志寄存器 标志寄存器用来保护程序的运行状态,也称为程序状态字寄存器(PSW)。标志寄存器中,有些标志位反映运算过程中发生的情况,如运算中有无进位或借位,有符号数运算有无溢出等;有些标志位反映运算结果的数字特征,如结果的最高位是否为1,结果是否为0等。
2.1 微处理器的基本结构 3. 指令处理单元 指令处理单元是计算机的控制器,负责对指令进行译码和处理,它一般包括: (1) 指令寄存器:用来暂时存放从存储器中取出来的指令。 (2) 指令译码逻辑:负责对指令进行译码,通过译码产生能完成指令功能的各种操作命令。
2.1 微处理器的基本结构 (3) 时序和控制逻辑: 根据指令要求,按一定的时序发出、接收各种信号,控制、协调整个系统完成所要求的操作。这些信号包括:定时控制信号、CPU的状态和应答信号、外界的请求信号和联络信号等。
2.2 8086/8088微处理器 • 数据总线:16位 端口地址线:16位 • 地址总线:20位 时钟频率: 5MHz • 内存空间:CPU可直接寻址1MB内存空间 • 指令系统:90多条指令 • 寻址方式:7种基本寻址方式 • 中断功能:内部中断、外部中断,256级中断 • 工作模式:单处理器工作模式、多处理器工作模式 • 流水线工作方式:取指令、执行指令并行进行 • 兼容性:与8080、8085兼容 3.2.1 8086微处理器的主要特征
2.2.1 8086微处理器的主要特征 8086与8088的区别 • 8088是一种准16位微处理器 • 内部寄存器、内部运算部件以及内部操作都是按16位设计的。 • 但对外的数据总线只有8位。
2.2.2 8086微处理的内部结构 执行单元(EU) 总线接口单元(BIU) 1、BIU ① 总线控制逻辑 ② 指令指针寄存器IP ③ 段寄存器 ④ 地址加法器 ⑤ 指令队列缓冲器
BIU的功能:是8086 CPU与存储器或I/O设备之间的接口部件,负责全部引脚的操作。 ①BIU负责产生指令地址,根据指令地址从存储器取出指令,送到指令队列中排队或直接送给EU去执行; ②BIU也负责从存储器的指定单元或外设端口中取出指令规定的操作数传送给EU,或者把EU的操作结果传送到指定的存储单元或外设端口中。 2.2.2 8086微处理的内部结构 总线接口单元BIU
BIU内部设有4个16位的段寄存器: 代码段寄存器CS (Code Segment) 数据段寄存器DS (Data Segment) 堆栈段寄存器SS (Stake Segment) 附加段寄存器ES (Extra Segment) 2.2.2 8086微处理的内部结构 总线接口单元BIU
BIU内部设有 一个16位的指令指针寄存器IP (Instruction Pointer) 6字节指令队列缓冲器 20位地址加法器 总线控制电路 2.2.2 8086微处理的内部结构 总线接口单元BIU
2.2.2 8086微处理的内部结构 执行单元(EU) 总线接口单元(BIU) 2.EU ① 算术逻辑单元(ALU) ② EU控制电路 ③ 寄存器组
2.2.2 8086微处理的内部结构 2.执行单元EU • EU的功能:是从BIU的指令队列中取出指令代码,然后执行指令所规定的全部功能。 • 在执行指令的过程中,如果需要向存储器或I/O传送数据,则EU向BIU发出访问存储器或I/O的命令,并提供访问的地址和数据。
2.2.2 8086微处理的内部结构 存 储 器 DB CB AB 执行单元(EU) 总线接口单元(BIU) • CPU取指过程
2.2.2 8086微处理的内部结构 存 储 器 DB CB AB 执行单元(EU) 总线接口单元(BIU) • CPU向内存写数过程
2.2.2 8086微处理的内部结构 存 储 器 DB CB AB … 执行单元(EU) 总线接口单元(BIU) • EU取指、译码过程
2.2.2 8086微处理的内部结构 EU BIU BUS 执指4 t t t 执指1 执指2 执指3 执指5 取指5 8086 取指1 取指2 取指3 取指4 忙 忙 忙 忙 忙 忙 3、8086的内部结构特点: 指令的提取与执行分别由BIU和EU两部件完成,二者既独立又相互配合——并行工作。
2.2.2 8086微处理的内部结构 3、8086的内部结构特点: EU和BIU的流水线操作: EU与BIU可独立工作,BIU在保证EU与片外传送操作数的前提下,可进行指令预取,与EU可重叠操作,它们的操作具有并行性。
2.2.2 8086微处理的内部寄存器 1、通用寄存器AX、BX、CX、DX (16位) AX(累加器)用于完成各种运算和传送移位等操作,在乘法、除法指令中约定使用AX、AH、AL存放相关数据,在I/O指令中约定使用AX、AL存放I/O数据。 BX(基址寄存器)在存储器间接寻址时用于存放段内偏移地址
2.2.2 8086微处理的内部寄存器 1、 通用寄存器AX、BX、CX、DX (16位) CX(计数寄存器)在循环处理指令和串处理指令中约定使用CX存放循环次数,实现计数控制,在移位指令中约定使用CL存放移位次数 DX(数据寄存器)在间接寻址的I/O指令中用于存放端口地址,在字乘法、字除法指令中也约定使用DX存放双字数据的高位部分
2.2.2 8086微处理的内部寄存器 1、 通用寄存器SP、BP、SI、DI (16位) 用来存放操作数或偏移地址 SP(堆栈指针寄存器)用来指示栈顶的偏移地址,一般用于访问堆栈的栈顶单元 BP(基址指针寄存器)用来指示堆栈段某一操作数所在单元的偏移地址,一般用于访问堆栈段内任意单元 SP、BP一般与SS寄存器联用以确定堆栈段中某一存储单元的地址
2.2.2 8086微处理的内部寄存器 1、 通用寄存器SP、BP、SI、DI (16位) SI(源变址寄存器)用来存放源操作数偏移地址 DI(目的变址寄存器)用来存放目的操作数偏移地址 SI、DI一般与DS联用,用来确定数据段中某一存储单元的地址,在串操作指令中DI默认与ES联用
2.2.2 8086微处理的内部寄存器 2、 段寄存器CS、DS、SS、ES(16位) 用来存放代码段(CS)、数据段(DS)、堆栈段(SS)、附加段(ES)的段基址.
2.2.2 8086微处理的内部寄存器 3、 指令指针寄存器IP(16位) 用来存放代码段中指令的偏移地址 在程序运行的过程中,IP自动加“1” ,始终指向下一条指令首字节,它与CS寄存器联用确定下一条指令的物理地址,是用来控制指令序列的执行流程的寄存器
2.2.2 8086微处理的内部寄存器 OF DF IF TF SF ZF AF PF CF 4、 标志寄存器FLAG (16位) 6个状态位记录指令操作后结果的状态信息,由CPU根据结果自动设置 CF进位标志SF符号标志OF溢出标志 PF奇偶标志ZF零标志AF辅助进位标志
2.2.2 8086微处理的内部寄存器 OF DF IF TF SF ZF AF PF CF 4、 标志寄存器FLAG (16位) 3 个控制位控制处理器的操作,根据需要由程序用指令设置 DF方向标志IF中断允许标志 TF陷阱标志
2.2.3 8086的引脚及工作方式 8086/8088微处理器引线,在逻辑上可分为3类: 地址总线信号、控制总线信号, 还有一些专业信号:电源、地、时钟。 8086/8088采用引线分时复用技术,一条引线不同时间代表不同信号,解决引线不够问题。
2.2.3 8086的引脚及工作方式 最小模式:单微处理器模式,系统中只有一个8086微处理器,所有的总线控制信号均由CPU直接产生,因此系统中的总线控制电路少,控制信号较少,一般不必接总线控制器 最大模式:多微处理器模式,系统中可包含2个或2个以上微处理器,其中一个8086为主处理器,其他的微处理器为协处理器(如8087、8089) 系统中控制信号较多,需要通过总线控制器与总线相连,控制总线驱动能力较强 一、工作模式
2.2.3 8086的引脚及工作方式 8086 二、引脚功能
1. AD15~AD0(Address Data Bus) 地址/数据复用引脚 可作为输入或输出,具有三态 在总线周期的T1状态作为地址线,输出要访问的存储器或I/O端口的地址; 在总线周期的T2~T3状态作为数据线传输数据。 2.2.3 8086的引脚及工作方式 二、引脚功能
2. A19 /S6 ~A16/S3 地址/状态复用引脚 输出,具有三态 在总线周期的T1状态,用来输出地址的最高4位。 在总线周期的T2、T3、TW和T4状态时,用来输出状态信息。 2.2.3 8086的引脚及工作方式 二、引脚功能
2.2.3 8086的引脚及工作方式 3.(Bus High Enable/Status) • 高8位数据总线允许/状态复用引脚 • 输出引脚,三态。
4. (Read)读信号输出,三态 • 表示将要执行一个对存储器或I/O端口的读操作。 • 低电平有效
5. READY 准备好信号 输入,高电平有效 处理器与存储器及I/O接口速度同步的控制信号 6. 测试信号 输入,低电平有效 脱离等待状态
7. INTR (Interrupt Request) 可屏蔽中断请求信号 输入,高电平有效 CPU在执行每条指令的最后一个时钟周期时,会对INTR引脚的信号进行采样。若CPU的中断允许标志为1,且又接收到INTR信号,则CPU会在执行完当前指令后,响应中断请求,执行一个中断处理子程序。
8. NMI (Non-Maskable Interrupt) 非屏蔽中断请求信号 输入,高电平有效 NMI不受中断允许标志IF的影响,也不能用软件进行屏蔽。每当NMI端输入一个正沿触发信号时,CPU会在执行完当前指令后,执行对应的不可屏蔽中断处理程序。
9. RESET 复位信号 输入,高电平有效。 RESET将使8086 CPU立即结束当前操作。CPU内部进入原始状态。代码段CS全1 10. CLK(Clock)系统时钟信号 输入,高电平有效
最小/最大方式信号 当 接 +5V电压时,CPU工作于最小方式;接地时,CPU工作于最大方式。