02——微处理器与总线

2.1微处理器概述

1)微处理器的功能

  • 能够进行算术和逻辑运算
  • 能对指令进行译码、寄存并执行指令所规定的操作
  • 具有与存储器和I/O接口进行数据通信的能力
  • 少量数据的暂存
  • 提供系统所需的定时和控制信号
  • 能够响应输入输出设备发出的中断请求

2)运算器

1.组成:运算器由算术逻辑单元通用或专用寄存器组及内部总线三个部分组成

2.说明:

  • ALU的内部包括负责加、减、乘、除运算的加法器以及实现与、或、非、异或等逻辑运算的逻辑运算功能部件。
  • CPU内部总线:CPU内部用于传送数据和指令的传送通道

3)控制器

1.功能:

  • 指令控制:控制器要能根据指令所在的地址,按顺序或在遇到转移指令时按照转移地址取出指令,分析指令,传送必要的操作数,并在指令执行结束后存放运算结果
  • 时序控制:指令的执行是在时钟信号的严格控制下进行的。
  • 操作控制:根据指令流程,确定在指令周期的各个节拍中要产生的微操作控制信号,有效地完成各条指令的操作过程。

2.内部组成:

  • 程序计数器PC
  • 指令寄存器IR
  • 指令译码器ID
  • 时序控制部件
  • 微操作控制部件

2.2 8088/8086 微处理器 

1)8088/8086 CPU的特点和构造

1.8086 CPU有16根数据线和20根地址线(可寻址的地址空间是220=1MB);8086的指令暂存队列为6个字节;

2.8088 CPU它的内部寄存器、内部运算部件以及内部操作都是按16位设计的,但对外的数据总线只有8位。(准16位处理器);指令暂存队列为4个字节;

3.8088/8086的功能特征:

  • 指令采用并行流水线处理方式

执行单元EU:负责分析指令和执行指令

总线接口单元BIU:负责取指令、取操作数和写结果。

  • 对内存空间实行分段管理

将内存分为4个段并设置地址段寄存器,以实现对1MB空间的寻址

  • 每段64KB,用段基地址和段内偏移实现对1MB内存空间的寻址
  • 支持多处理器系统

具有最小和最大两种工作模式以及内置的多任务处理能力,可通过模式选择引脚进行选择

  • 片内无浮点运算部件,浮点运算由数学协处理器8087支持(或用软件模拟)

2)8088 CPU的外部引脚及其功能

1.8088和8086都是具有40条引出线的集成电路芯片,采用双列直插式封装

2.8088/8086的最大和最小两种工作模式可以通过MN/#MX引脚来选择

  • 当MN/#MX=1时,工作在最小模式。此时,构成的系统中只允许有一个处理器,所有控制信号直接由8088/8086提供。
  • 当MN/#MX=0时,工作在最大模式。此时,构成的系统中除了有8088/8086之外,还可以接另外的处理器(如8087数学协处理器)。在最大模式下,CPU并不直接向外界提供全部控制信号,而由S0、S1、S2通过8288总线控制器提供。引脚图中括号内的信号用于最大模式。

3)8088/8086的功能结构

1.8088/8086的内部结构从功能上分成两个单元/并行执行

  • 总线接口单元BIU:管理8088与系统总线的接口;负责CPU对存储器和外设进行访问
  1. 指令队列缓冲器:暂时存放BIU从存储器中预取的指令
  2. 总线控制逻辑:以控制逻辑方法实现分时传送信息
  3. 地址加法器:物理地址=段地址×16d+偏移地址
  4. 段寄存器:CS、DS、SS、ES
  5. 指令指针寄存器
  • 执行单元EU:负责指令的译码、执行和数据的运算
  1. 算术逻辑单元:处理各种数据
  2. 数据暂存寄存器:暂存数据
  3. 标志寄存器:存放运算结果的状态特征和设置控制标志
  4. EU控制器:程序计数器:下一条要取出的指令;指令译码器:译码和分析;从队列中取指令、译码、产生控制信号等
  5. 通用数据寄存器组:存放数据(数据、中间结果、地址)
  6. 地址指针和变址寄存器:存放地址信息(偏移地址)

2.8088/8086的寄存器结构(均为16位)

  • 8个通用寄存器

(1)数据寄存器:  AX累加器  BX基址寄存器  CX计数器  DX数据寄存器

(2)变址寄存器:  SI源地址寄存器  DI目的地址寄存器

(3)指针寄存器:  BP基址指针寄存器  SP堆栈指针寄存器

  • 4个段寄存器

CS:代码段寄存器       存放指令代码

DS:数据段寄存器       存放操作数  

ES:附加段寄存器       存放操作数

SS:堆栈段寄存器       指示堆栈区域的位置

  • 1个标志寄存器

标志(Flag)用于反映指令执行结果或控制指令执行形式

8088处理器的各种标志形成了一个16位的标志寄存器FLAGS(程序状态字PSW寄存器)

进位标志CF:有进位:CF = 1

奇偶标志PF:当运算结果最低字节中“1”的个数为零或偶数时,PF=1

辅助进位标志AF:运算时D3位(低半字节)有进位或借位时,AF=1

零标志ZF:若运算结果为0,则ZF=1

符号标志SF:运算结果最高位为1,则SF=1

溢出标志OF:若算术运算的结果有溢出,则OF=1

陷阱标志TF:设置TF=1,处理器单步执行指令

中断允许标志IF:设置IF=1,则允许中断

方向标志DF:设置DF=1,存储器地址自动减少

  • 1个指令指针寄存器

IP(Instruction Pointer)为指令指针寄存器,指示主存储器指令的位置。

4)8088/8086的存储器结构

1. 数据的存储格式

  • 计算机中信息的单位

二进制位Bit:存储一位二进制数:0或1

字节Byte:8个二进制位,D7~D0

字Word:16位,2个字节,D15~D0

双字DWord:32位,4个字节,D31~D0

  • 存储单元及其存储内容

每个存储单元都有一个编号,被称为存储器地址;每个存储单元存放一个字节的内容

2.存储器的分段管理

  • 8088CPU有20条地址线
  • 8088CPU将1MB空间分成许多逻辑段
  • 一个存储单元除具有一个唯一的物理地址外,还具有多个逻辑地址

3.物理地址和逻辑地址

物理地址

  1. 8088CPU存储系统中,对应每个物理存储单元都有一个唯一的20位编号,就是物理地址,从00000H ~ FFFFFH
  2. 分段后在用户编程时,采用逻辑地址,形式为 段基地址 : 段内偏移地址

如:物理地址    14700H  逻辑地址    1460H:100H

逻辑地址

  1. 段地址说明逻辑段在主存中的起始位置
  2. 8088规定段地址必须是模16地址:xxxx0H
  3. 偏移地址说明主存单元距离段起始位置的偏移量

物理地址和逻辑地址的转换

  • 将逻辑地址中的段地址左移4位,加上偏移地址就得到20位物理地址

4.段寄存器的使用

8088有4个16位段寄存器

  • CS(代码段)指明代码段的起始地址
  • SS(堆栈段)指明堆栈段的起始地址
  • DS(数据段)指明数据段的起始地址
  • ES(附加段)指明附加段的起始地址

每个段寄存器用来确定一个逻辑段的起始地址,每种逻辑段均有各自的用途

逻辑段的分配

  • 程序的指令序列必须安排在代码段
  • 程序使用的堆栈一定在堆栈段
  • 程序中的数据默认是安排在数据段,也经常安排在附加段,尤其是串操作的目的区必须是附加段
  • 数据的存放比较灵活,实际上可以存放在任何一种逻辑段中

8088/8086的工作时序

2.3 系统总线

1)总线的基本概念和分类

1.概念:是一组导线和相关的控制、驱动电路的集合。是计算机系统各部件之间传输地址、数据和控制信息的公共通道

2.分类:

2)总线技术

传输同步——协调通信双方的传输操作

总线仲裁——消除多个设备同时使用总线造成的冲突现象

出错处理

信号驱动

3)常用系统总线标准

  • ISA(Industry Standard Architecture)是工业标准体系结构总线的简称
  • PCI(Peripheral Component Interconnect)是外设互连总线的简称
  • PCI Express,简称PCIe或PCI-E,是微机系统中一种用来代替PCI、AGP接口规范的新型系统总线标准。
  • 36
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值