微型计算机原理与应用 第二章(简略版)
第八讲8086/8088CPU的内部结构和外部引线
一、 CPU的功能和结构
当代主流计算机所遵循的任然是冯诺依曼的存储程序、程序控制思想
程序告诉计算机:应该逐步执行什么操作;在什么地方找到用来操作的数据,结果存到何处等
中央处理器是控制计算机自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通常称为CPU(Contral Processing Unit)
1.1CPU的功能
指令控制
保证机器按照程序规定的顺序取出行
操作控制
CPU产生每条指令所对应的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作
时间控制
对各种操作的实施时间进行定时
数据加工
对数据进行算术和逻辑运算处理
1.2CPU的基本组成
以前的CPU主要有运算器和控制器两大部分组成,随着集成电路的发展,目前CPU芯片上集成了一些其他逻辑功能的部件来扩充CPU的功能,比如Cache等
Cache(高速缓冲储存器),是为了解决CPU和主存储器之间速度匹配的问题而设置的
运算器是数据加工处理部件,所进行的全部操作由控制器发出的控制信号指挥
(1) 执行所有的算术运算
(2) 执行所有的逻辑运算,并进行逻辑测试
控制器完成对整个计算机系统操作的协调与指挥
(1) 控制机器从内存中取出一条指令,并指出下一条指令在内存中的位置
(2) 对指令进行译码,并产生相应的操作控制信号,送往相应的部件,启动规定的动作
(3) 指挥并控制CPU、内存与输入/输出(I/O)设备之间的数据流动的方向
CPU的基本模型
数据缓冲寄存器(DR)暂时存放由内存读出或写入的指令或数据字
指令寄存器(IR)保存当前正在执行的一条指令
程序计数器(PC)确定下一条指令的地址
地址寄存器(AR)保存当前CPU所访问的内存单元地址
累加寄存器(AC)最常使用的一个通用寄存器
状态条件寄存器(PSW)保存由算术和逻辑指令的结果建立的各种条件码
二、 掌握8086/8088CPU的引脚构成,理解其引脚复用的特性
2.1 8086CPU的最小模式下的引脚信号及功能
外部特性表现在其引脚信号上,学习时请特别关注下几个方面
(1) 引脚的功能:指引脚信号的定义、作用,通常采用英文单词或其缩写表示
(2) 信号的流向:信号从芯片向外输出,还是从外部输入芯片,或者是双向的
(3) 有效电平:起作用的逻辑电平,高、低电平有效,上升、下降边沿有效
(4) 三态能力:输出正常的低电平、高电平外,还可以输出高阻的第三态
2.2、数据地址引脚
1.地址、数据引脚线
AD0-AD15(Address/Data Bus)
功能:
·分时复用的地址数据引脚线,具有双向、三态功能
·在总线周期T1期间作地址线A15-A0用,此时输出存储单元的低16位地址
·在T2-T3期间作数据线D15-D0用,是双向的,当CPU响应中断时,以及系统总线处理保持响应状态时,AD0-AD15都处于悬空状态
A19/S6-A16/S3
·地址/状态分时复用,输出引脚
·在T1期间,作地址线A19-A16,对存储单元进行读写时,高四位地址由A19-A16输出,就和A15-A0组合在一起构成20位地址总线A19-A0
·在T2-T4期间作为S6-S3状态线用
(1) S6状态为低电平表明8086/8088CPU正与总线相连
(2) S5状态表示当前中断允许标志IF的状态,如果IF=1表明当前允许可屏蔽中断请求,IF=0表明当前禁止可屏蔽中断请求
(3) S4和S3状态组合起来指出CPU正在使用哪一个段寄存器
2.3.读写控制引脚
1.ALE(Address Latch Enable)
地址锁存允许,输出、三态
ALE引脚高电平有效
当复用引脚AD15-AD0和A19/S6-A16/S3正在传送地址信息,CPU提供ALE有效电平,将地址信息锁存到地址锁存器中
2. IO/M*(Input and Output/Memory)
I/O或存储器访问,输出、三态
·该引脚输出高电平时,表示CPU将访问I/O端口,这时地址总线A15-A0提供16位I/O口地址
·该引脚输出低电平时,表示CPU将访问存储器,这时地址总线A19-A0提供20位存储器地址
3. WR*(Write)
写控制,输出、三态、低电平有效
·有效时,表示CPU正在写出数据给存储器或I/O端口
4.RD*(Read)
读控制,输出、三态、低电平有效
·有效时,表示CPU正在从存储器或I/O端口读入数据
5.READY(ready)准备就绪信号,存储器和I/O就绪
·使CPU和低速的存储器或I/O设备之间实现速度匹配的信号
·当READY为高电平时,表示内存或I/O设备已准备就绪,可以立即进行一次数据传输
·CPU在每个总线周器的T3状态对READY引脚进行检测,若检测到READY=1,则总线周期按正常时序进行读、写操作;不需要插入等待状态Tw。若测得READY=0,则表示存储器或I/O设备工作速度慢,没有准备好数据,则CPU在T3和T4之间自动插入一个或几个等待状态Tw来延长总线周期,直到检测到READY为高电平后,才使CPU退出等待进入T4状态,完成数据传送
6.DEN*(Data Enable)
数据允许信号,输出、三态、低电平有效
·有效时,表示当前数据总线上正在传送数据
7.DT/R*(Data Transmit/Receive)
数据发送/接收,控制数据传送的方向
该信号表明当前总线上数据的流向
·高电平时数据自CPU输出(发送)
·低电平时数据输入CPU(接收)
2.4.总线请求和响应信号
·HOLD(Hold Request)总线保持请求信号
·HLDA(Hold Acknowledge)总线保持响应信号
·HOLD总线保持请求信号:
最小模式系统中,除CPU(8086/8088)以外的其它总线控制器,如DMA控制器申请使用系统总线的请求信号
2.5.中断请求和响应信号
中断请求和响应操作有两种类型的中断:
非屏蔽中断和可屏蔽中断
·NMI非屏蔽中断请求信号
NMI非屏蔽中断请求信号:当该引脚电平出现由低到高变化时,不管中断允许标志IF是0或1,CPU就会在当前指令周期结束后响应中断请求,转去执行中断处理程序
·INTR可屏蔽中断请求信号
INTR可屏蔽中断请求信号:当INTR信号高电平时,表示外部设备有中断请求,CPU在每个指令周期的最后一个T状态检测此引脚,一旦测得此引脚为高电平,并且中断允许标志位IF=1,则CPU在当前指令周期结束后,响应中断请求,转去执行中断处理程序
·INTA-----中断响应信号
INTA-----中断响应信号:INTA-----是CPU响应课屏蔽中断后发给请求中断设备的回答信号,对中断请求信号INTR的响应。目的为了获取中断类型码
2.6.其它引脚
1.CLK(Clock)
时钟输入
·系统通过该引脚给CPU和总线控制提供内部定时脉冲
·8086/8088CPU的时钟一般都是由时钟发生器Intel 8284A芯片来产生
2.Vcc
电源输入,向CPU提供+5V电源
3.GND
接地,向CPU提供参考地电平
4.MN/MX*(Minimum/Maximum)
组态选择,输入
接高电平时,8086引脚工作是最小组态,反之,8086工作在最大组态
5.TEST*
测试,输入、低电平有效
TEST*信号和WAIT指令配合使用,当CPU执行WAIT指令时,CPU处于等待状态,一旦测到TEST*信号为低,则结束等待状态,继续执行WAIT指令下面的指令
2.7引脚小节
CPU引脚是系统总线的基本信号
可以分成三类信号
16为数据线:D0-D15
20位地址线:A0-A19
控制线:
·ALE、IO/M*、WR*、RD*、READY
·INTAR、INTA*、NMI、HOLD、HLDA
·RESET、CLK、Vcc、GND
三、 掌握流水线技术,理解流水线管理规则
1. 什么是分时复用?
分时复用就是一个引脚在不同的时刻具有两个甚至多个作用
最常见的总线复用是数据和地址引脚复用
总线复用的目的是为了减少对外引脚个数
8086/8088CPU的数据地址线采用了总线复用方法
2. 流水线技术
|
S1 |
S2 |
S3 |
S4 |
|
入 |
IF |
ID |
EX |
WB |
出 |
IF(Instruction Fetch) 取指令阶段
ID (Instruction Decdoe) 指令译码阶段
EX(Execute) 执行运算阶段
MEM(Memory Access) 存储器访问阶段
WB(Write Back) 写回结果阶段
第八讲8086/8088CPU的内部结构和外部引线
一、 CPU的功能和结构
当代主流计算机所遵循的任然是冯诺依曼的存储程序、程序控制思想
程序告诉计算机:应该逐步执行什么操作;在什么地方找到用来操作的数据,结果存到何处等
中央处理器是控制计算机自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通常称为CPU(Contral Processing Unit)
1.1CPU的功能
指令控制
保证机器按照程序规定的顺序取出行
操作控制
CPU产生每条指令所对应的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作
时间控制
对各种操作的实施时间进行定时
数据加工
对数据进行算术和逻辑运算处理
1.2CPU的基本组成
以前的CPU主要有运算器和控制器两大部分组成,随着集成电路的发展,目前CPU芯片上集成了一些其他逻辑功能的部件来扩充CPU的功能,比如Cache等
Cache(高速缓冲储存器),是为了解决CPU和主存储器之间速度匹配的问题而设置的
运算器是数据加工处理部件,所进行的全部操作由控制器发出的控制信号指挥
(1) 执行所有的算术运算
(2) 执行所有的逻辑运算,并进行逻辑测试
控制器完成对整个计算机系统操作的协调与指挥
(1) 控制机器从内存中取出一条指令,并指出下一条指令在内存中的位置
(2) 对指令进行译码,并产生相应的操作控制信号,送往相应的部件,启动规定的动作
(3) 指挥并控制CPU、内存与输入/输出(I/O)设备之间的数据流动的方向
CPU的基本模型
数据缓冲寄存器(DR)暂时存放由内存读出或写入的指令或数据字
指令寄存器(IR)保存当前正在执行的一条指令
程序计数器(PC)确定下一条指令的地址
地址寄存器(AR)保存当前CPU所访问的内存单元地址
累加寄存器(AC)最常使用的一个通用寄存器
状态条件寄存器(PSW)保存由算术和逻辑指令的结果建立的各种条件码
二、 掌握8086/8088CPU的引脚构成,理解其引脚复用的特性
2.1 8086CPU的最小模式下的引脚信号及功能
外部特性表现在其引脚信号上,学习时请特别关注下几个方面
(1) 引脚的功能:指引脚信号的定义、作用,通常采用英文单词或其缩写表示
(2) 信号的流向:信号从芯片向外输出,还是从外部输入芯片,或者是双向的
(3) 有效电平:起作用的逻辑电平,高、低电平有效,上升、下降边沿有效
(4) 三态能力:输出正常的低电平、高电平外,还可以输出高阻的第三态
2.2、数据地址引脚
1.地址、数据引脚线
AD0-AD15(Address/Data Bus)
功能:
·分时复用的地址数据引脚线,具有双向、三态功能
·在总线周期T1期间作地址线A15-A0用,此时输出存储单元的低16位地址
·在T2-T3期间作数据线D15-D0用,是双向的,当CPU响应中断时,以及系统总线处理保持响应状态时,AD0-AD15都处于悬空状态
A19/S6-A16/S3
·地址/状态分时复用,输出引脚
·在T1期间,作地址线A19-A16,对存储单元进行读写时,高四位地址由A19-A16输出,就和A15-A0组合在一起构成20位地址总线A19-A0
·在T2-T4期间作为S6-S3状态线用
(1) S6状态为低电平表明8086/8088CPU正与总线相连
(2) S5状态表示当前中断允许标志IF的状态,如果IF=1表明当前允许可屏蔽中断请求,IF=0表明当前禁止可屏蔽中断请求
(3) S4和S3状态组合起来指出CPU正在使用哪一个段寄存器
2.3.读写控制引脚
1.ALE(Address Latch Enable)
地址锁存允许,输出、三态
ALE引脚高电平有效
当复用引脚AD15-AD0和A19/S6-A16/S3正在传送地址信息,CPU提供ALE有效电平,将地址信息锁存到地址锁存器中
2. IO/M*(Input and Output/Memory)
I/O或存储器访问,输出、三态
·该引脚输出高电平时,表示CPU将访问I/O端口,这时地址总线A15-A0提供16位I/O口地址
·该引脚输出低电平时,表示CPU将访问存储器,这时地址总线A19-A0提供20位存储器地址
3. WR*(Write)
写控制,输出、三态、低电平有效
·有效时,表示CPU正在写出数据给存储器或I/O端口
4.RD*(Read)
读控制,输出、三态、低电平有效
·有效时,表示CPU正在从存储器或I/O端口读入数据
5.READY(ready)准备就绪信号,存储器和I/O就绪
·使CPU和低速的存储器或I/O设备之间实现速度匹配的信号
·当READY为高电平时,表示内存或I/O设备已准备就绪,可以立即进行一次数据传输
·CPU在每个总线周器的T3状态对READY引脚进行检测,若检测到READY=1,则总线周期按正常时序进行读、写操作;不需要插入等待状态Tw。若测得READY=0,则表示存储器或I/O设备工作速度慢,没有准备好数据,则CPU在T3和T4之间自动插入一个或几个等待状态Tw来延长总线周期,直到检测到READY为高电平后,才使CPU退出等待进入T4状态,完成数据传送
6.DEN*(Data Enable)
数据允许信号,输出、三态、低电平有效
·有效时,表示当前数据总线上正在传送数据
7.DT/R*(Data Transmit/Receive)
数据发送/接收,控制数据传送的方向
该信号表明当前总线上数据的流向
·高电平时数据自CPU输出(发送)
·低电平时数据输入CPU(接收)
2.4.总线请求和响应信号
·HOLD(Hold Request)总线保持请求信号
·HLDA(Hold Acknowledge)总线保持响应信号
·HOLD总线保持请求信号:
最小模式系统中,除CPU(8086/8088)以外的其它总线控制器,如DMA控制器申请使用系统总线的请求信号
2.5.中断请求和响应信号
中断请求和响应操作有两种类型的中断:
非屏蔽中断和可屏蔽中断
·NMI非屏蔽中断请求信号
NMI非屏蔽中断请求信号:当该引脚电平出现由低到高变化时,不管中断允许标志IF是0或1,CPU就会在当前指令周期结束后响应中断请求,转去执行中断处理程序
·INTR可屏蔽中断请求信号
INTR可屏蔽中断请求信号:当INTR信号高电平时,表示外部设备有中断请求,CPU在每个指令周期的最后一个T状态检测此引脚,一旦测得此引脚为高电平,并且中断允许标志位IF=1,则CPU在当前指令周期结束后,响应中断请求,转去执行中断处理程序
·INTA-----中断响应信号
INTA-----中断响应信号:INTA-----是CPU响应课屏蔽中断后发给请求中断设备的回答信号,对中断请求信号INTR的响应。目的为了获取中断类型码
2.6.其它引脚
1.CLK(Clock)
时钟输入
·系统通过该引脚给CPU和总线控制提供内部定时脉冲
·8086/8088CPU的时钟一般都是由时钟发生器Intel 8284A芯片来产生
2.Vcc
电源输入,向CPU提供+5V电源
3.GND
接地,向CPU提供参考地电平
4.MN/MX*(Minimum/Maximum)
组态选择,输入
接高电平时,8086引脚工作是最小组态,反之,8086工作在最大组态
5.TEST*
测试,输入、低电平有效
TEST*信号和WAIT指令配合使用,当CPU执行WAIT指令时,CPU处于等待状态,一旦测到TEST*信号为低,则结束等待状态,继续执行WAIT指令下面的指令
2.7引脚小节
CPU引脚是系统总线的基本信号
可以分成三类信号
16为数据线:D0-D15
20位地址线:A0-A19
控制线:
·ALE、IO/M*、WR*、RD*、READY
·INTAR、INTA*、NMI、HOLD、HLDA
·RESET、CLK、Vcc、GND
三、 掌握流水线技术,理解流水线管理规则
1. 什么是分时复用?
分时复用就是一个引脚在不同的时刻具有两个甚至多个作用
最常见的总线复用是数据和地址引脚复用
总线复用的目的是为了减少对外引脚个数
8086/8088CPU的数据地址线采用了总线复用方法
2. 流水线技术
|
S1 |
S2 |
S3 |
S4 |
|
入 |
IF |
ID |
EX |
WB |
出 |
IF(Instruction Fetch) 取指令阶段
ID (Instruction Decdoe) 指令译码阶段
EX(Execute) 执行运算阶段
MEM(Memory Access) 存储器访问阶段
WB(Write Back) 写回结果阶段
第九讲:8086/8088CPU的工作方式
一、8086/8088的工作模式
8086/8088的工作模式完全由硬件决定的
为了尽可能适应各种使用场合,在设计8086/8088CPU芯片时,就使得它们可以在两种模式下工作,即最大模式和最小模式。
所谓最小模式,就是在系统中只有8086/8088一个微处理器。在这种系统中,所有的总线控制信号都直接由8086/8088产生,因此,系统中的总线控制逻辑电路被减到最少。
最大模式是相对最小模式而言,它用在中等规模的或者大型的8086/8088系统中,在此系统中,包含两个或多个微处理器,其中一个主处理器就是8086/8088,其它的处理器称为协处理器。它们是协助主处理器工作的。和8086/8088配合的协处理器有两个,一个是数值运算协处理器8087,一个是输入/输出协处理器8089
8087是一种专用于数值运算的处理器,它能实现多种类型数值操作,例如高精度的整数和浮点运算,也可以进行超越函数(如:三角函数、对数函数)的计算
在最大模式下,一般包括2个或多个处理器,这样就要解决主处理器和协调处理器之间的协调工作问题和对总线的共享控制问题在最大模式下,CPU不直接产生总线控制信号,而是将总线开始的状态信息等信号经一个控制信号转换电路,即8288总线控制器。
另外,在最大模式系统,一般还有中断优先管理部件,即8289A,在8086多处理器系统中,除8086CPU外还有8089和8087,他们也是采用分时方式来占用总线。因此,在多处理器系统中必须采用总线仲裁器8289配合总线控制器8288来确定每一个时刻的总线使用权赋予优先级别较高的处理器使用。
第十讲:8086/8088CPU系统总线的形成
一、总线BUS概念
1、总线定义:
微机各模块、各设备间传输信息的一组公用信号线
2、总线标准:
在总线连接和传输信息时应该遵循的协议和规范。包括:时钟、结构、电气、机械、协议、仲裁规范等。
3、三大总线:
问题:CPU通过什么将地址、数据和控制信息传到存储器芯片中?
地址线
CPU 数据线 内存
控制线