微机原理笔记(2)

一、8086、8088CPU内部结构和外部引线(掌握)

1、CPU的功能和结构

当代主流计算机遵循的任然是冯诺依曼的“存储程序,程序控”思想
中央处理器(CPU)是控制计算机自动完成取出指令和执行指令任务的部件

  1. CPU的功能:
    指令控制
    操作控制
    时间控制
    数据加工:对数据进行算术运算和逻辑运算处理
  2. CPU的基本组成:
    主要有运算器控制器两大部分组成,目前CPU芯片上集成了一些其他逻辑功能的部件来扩充CPU的功能,比如cache等。
    Cache(高速缓冲存储器),是为了解决CPU和主存储器之间的速度匹配的问题
    运算器是数据加工处理部件,所进行的全部操作由控制器发出的控制信号指挥
    控制器完成对整个计算机系统操作的协调与指挥
微机原理笔记(2)_第1张图片 CPU的基本模型
  • 数据缓冲寄存器(DR):暂时存放由内存读出或写入的指令或数据字
  • 指令寄存器(IR):保存当前正在执行的一条指令
  • 程序计数器(PC):确定下一条指令的地址
  • 地址寄存器(AR):保存当前CPU所访问的内存单元的地址
  • 累加寄存器(AC):最常使用的一个通用寄存器
  • 状态条件寄存器(PSW):保存由算术和逻辑指令的结果建立的各种条件码

分时复用

  • 分时复用就是在一个引脚在不同的时刻具有两个甚至多个作用
  • 最常见的总线复用是数据和地址引脚复用
  • 总线复用的目的是为了减少对外引脚个数
  • 8088/8086CPU数据地址线采用了总线复用方法

流水线技术

微机原理笔记(2)_第2张图片

  • IF(Instruction Fetch):取指令阶段
  • ID(Instruction Decode):指令移码阶段
  • EX(Execute):执行运算阶段
  • MEM(Memory Access):存储器访问阶段
  • WB(Write Back):写回结果阶段 

2、8086CPU最小模式下的引脚信号及功能

重点: 

  • 引脚的功能:指引脚信号的定义、作用:通常采用英文单词或其缩写表示
  • 信号的流向:信号从芯片向外输出、还是从外部输入芯片,或者是双向的
  • 有效电平:起作用的逻辑电平,高、低电平有效,上升、下降边沿有效
  • 三态能力:输出正常的低电平、高电平外,还可以输出高阻的第三态

微机原理笔记(2)_第3张图片数据地址引脚:

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状态线使用
    • S6状态为低电平表明8086/8088CPU正与总线相连。
    • S5状态表示当前中断允许标志IF的状态,如果IF=1表明当前允许可屏蔽中断请求,IF=0表明当前禁止可屏蔽终端请求
    • S4S3状态组合起来指出CPU正在使用哪一个段寄存器

2、读写控制引脚 

ALE(Address Latch Enable)

  •  地址锁存允许,输出、三态
  • ALE引脚高电平有效
  • 当复用引脚AD15~AD0和A19/S6~A16/S3正在传送地址信息,CPU提供ALE有效电平,将地址信息锁存到地址锁存器中

IO/M(Input and Output/Memory) 

  • I/O或存储器访问,输出、三态
  • 该引脚输出高电平1时,表示CPU将访问I/O端口,这时地址总线A15~A0提供16位I/O口地址
  • 该引脚输出低电平0时,表示CPU将访问存储器,这时地址总线A19~A0提供20位存储器地址

WR(Write)

  •  写控制,输出、三态、低电平有效
  • 有效时,表示CPU正在写出数据给存储器或I/O端口

RD(Read)

  • 读控制,输出、三态、低电平有效
  • 有效时,表示CPU正在从存储器或I/O端口读入数据

 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状态,完成数据传送。

DEN(Data Enable)

  • 数据允许信号,输出,三态,低电平有效
  • 有效时,表示当前数据总线上正在传送数据

DT/R(Data Transmit/Receive)

  • 数据发送/接受,控制数据传送的方向
  • 该信号表明当前总线上数据的流向
    • 高电平时数据自CPU输出(发送
    • 低电平时数据输入CPU(接收) 

3、总线请求和响应信号

HOLD(Hold Request)总线保持请求信号

HLDA(Hold Acknowlwdge)总线保持响应信号

  • HOLD总线保持请求信号:
  • 最小模式系统中,除CPU(8086/8088)以外的其它总线控制器,如DMA控制器申请使用系统总线的请求信号 

4、中断请求和响应信号

中断请求和响应操作有两种类型的中断
        非屏蔽中断可屏蔽中断

NMI        非屏蔽中断请求信号

        当该引脚出现由低到高变化时,不管中断运行标志IF为0/1,CPU就会在当前指令周期结束后响应中断请求,转去执行中断处理程序

INIR        可屏蔽中断请求信号

        当INTR信号高电平时,表示外部设备有中断请求,CPU会在每个指令周期的最后一个状态检测此引脚,一旦测得此引脚为高电平,并且中断允许标志位IF=1,则CPU在当前指令周期结束后,响应中断请求,转去执行中断处理程序。

\overline{INTA}     中断响应信号

        是CPU响应可屏蔽请求发给请求中断设备的回答信号,对中断请求信号INTR的响应。目的为了获取中断类型码

5、其它引脚

Reset

  • 复位请求,输入、高电平有效
  • 该信号有效,将使CPU回到其初始状态
  • 在复位状态,CPU内部的寄存器初始化 

CLK(clock)

  • 时钟输入
  • 系通过该引脚给CPU和总线控制提供内部定时脉冲
  • 8086/8088CPU的时钟一般都是由时钟发生器Intel 8284芯片来产生。

VCC

电源输入,想CPU提供+5V电源

GND

接地,向CPU提供参考地电平

MN/MX

  • 组态选择,输入
  • 高电平时,8086引脚工作在最小组态;反之,8086工作在最大组态

Test         

  • 测试,输入,低电平有效
  • test信号和wait指令配合使用,当CPU执行wait指令时,CPU处于等待状态,一旦检测到Test信号为低,则结束等待状态,继续执行wait指令下面的指令 

二、8086、8088CPU的工作方式

8086/8088的工作模式完全由硬件决定的。分为最大模式和最小模式 

        所谓最小模式,就是在系统中只有8086/8088一个微处理器。在这种系统中,所有的总线控制信号都直接由8086/8088产生,因此,系统中的总线控制逻辑电路被减到最少。

        最大模式,包含两个或多个微处理器,其中一个主处理器就是8086/8088、其它的处理器称为协处理器。它们是协助主处理器工作的。和8086/8088配合的协处理器有两个,一个是数值运算协处理器8087,一个是输入/输出协处理器8089。一般还有中断优先管理部件,即8289A

  • 8087是一种专用于数值运算的处理器
  • 在多处理器系统中必须采用总线仲裁器8289配合总线控制器8288来确定每一个时刻的总线使用权赋予优先级别较高的处理器使用。

三、8086、8088系统总线的形成

1、总线BUS概念

定义
        微机中各模块、各设备之间传输信息的一组公用信号线

 总线标准

        在总线连接和传输信息时应该遵循的协议和规范

2、三大总线

地址线、数据线、控制线

四、8086、8088的存储器结构

1、8086/8088CPU的寄存器

微机原理笔记(2)_第4张图片

1、通用寄存器组

        8086/8088CPU指令执行部件EU中有8个16位通用寄存器,它们可以分成两组。一组由AX、BX、CX、DX构成,称作数据寄存器,可用来存放16位的数据或地址。也可当做8个8位寄存器来使用。也就是把每个通用寄存器个高半部份和低半部份分开:低半部份被命名为:AL、BL、CL、DL;高半部份为:AH、BH、CH、DH。8位寄存器只能存放数据而不能存放地址

  • AX称为累加器,是算术运算时使用的主要寄存器,所有外部设备的输入输出指令只能使用AL或AX作为数据寄存器。
  • BX称为基址寄存器,它可以用作数据寄存器,在访问存储器时,可以存放被读写的存储单元的地址,是具有双重功能的寄存器。
  • CX称为计数寄存器,可以用作数据寄存器,在字符串操作、循环操作和移位操作时用作计数器。
  • DX称为数据寄存器,它可以用作数据寄存,在乘、除法只作为辅助累加器,在输入输出操作中存放接口的地址

2、指针与变址寄存器

        4个16位寄存器,主要用来存放操作数的偏移地址(即操作数的端内地址)。

  • SP称为堆栈指针寄存器,在堆栈操作中存放栈顶的偏移地址。
  • BP称为基址指针寄存器,常用作堆栈区的基地址寄存器。
  • SI称为源变址寄存器,主要用于存放地址,在字符串操作中存放源操作数的偏移地址。变址寄存器内存放的地址在数据传送完成之后,具有自动修改的功能。
  • DI称为变址寄存器,用于存放地址,在字符串操作中存放目的操作数的偏移地址。

 3、段寄存器

8086/8088CPU总线接口部件BIU中设置有4个16位段寄存器,它们是代码段寄存器CS,数据段寄存器DS,附加段寄存器ES和堆栈段寄存器SS。

  • 代码段CS存放程序命令,程序代码超过64K时,需要分成几个段存放。CS中存放的是现在正在执行的程序段的段基址。
  • 数据段DS用于存放当前使用的数据。需要第二个数据段时可以使用附加段
  • 堆栈段SS是内存中的一块存储区,用来存放专用数据。

  4、控制寄存器Flags

8086/8088CPU中设置了一个16位标志寄存器FLAGS,用来存放运算结果的特征和控制标志。

标志寄存器Flags中存放的9个标志位可分为两类,一类状态标志,用来表示运算结果的特征,包括CF、PF、AF、ZF、SF和OF;另一类叫控制标志,用来控制CPU的操作,包括IF、DF和TF

  • CF(Carry Flag)进位标志位CF=1,表示本次运算中最高位有进位(加法运算时)或有借位(减法运算时)
  • PF(Parity Flag)奇偶标志位PF=1,表示本次运算结果的低八位中有偶数个“1”;PF=0,表示有奇数个“1”。PF可以用来进行奇偶校验,或者用来生成奇偶校验位。
  • AF(Auxiliary Carry Flag)辅助进位标志位AF=1,表示8位运算结果(限使用AL寄存器)中低4位向高4位有进位(加法运算)或有借位(减法运算时),这个标志位只在BCD数运算中起作用。
  • ZF(Zero Flag)零标志位ZF=1,表示运算结果为0(各位全为0),否则ZF=0
  • SF(Sign Flag)符号标志位SF=1,表示运算结果的最高位为“1”,否则,SF=0。
  • OF(Overflow Flag)溢出标志位OF=1,表示两个用补码表示的有符号数的加法或减法结果超出了该字长所能表示的范围
  • IF(Interrupt Flag)中断允许标志位。IF=1,表示允许CPU响应可屏蔽中断。IF标志可通过STI指令置位(置1),也可通过CLI指令复位(清零)。
  • DF(Direction Flag)方向标志位。在串操作指令中,若DF=0,表示串操作指令执行后地址指针自动增量,串操作由低地址向高地址进行;反之。DF标志位可通过STD指令置位,也可通过CLD指令复位。
  • TF(Trap Flag)单步标志位。TF=1,控制CPU进入单步工作方式。在这种工作方式下,CPU每执行完一条指令就会自动产生一次内部中断。

      

你可能感兴趣的:(微机原理笔记,笔记,单片机)