计算机组成原理学习笔记 - 第五、六章

  • 中央处理器
  • 总线系统

第 5 章 中央处理器

CPU 的功能和组成

CPU 的功能

  • 指令控制:程序的顺序控制,称为指令控制。
  • 操作控制:一条指令的功能往往是由若干个操作信号的组合来实现的,因此,CPU 管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作
  • 时间控制:对各种操作实施时间上的定时,称为时间控制。
  • 数据加工:所谓数据加工,就是对数据进行算术运算和逻辑运算处理。

CPU 的基本组成

CPU 中的主要寄存器

重点

数据缓冲寄存器 (DR):用来暂时存放 ALU 的运算结果,或由数据存储器读出的一个数据字,或来自外部接口的一个数据字。缓冲寄存器的作用是:

  1. 作为 ALU 运算结果和通用寄存器之间信息传送中时间上的缓冲
  2. 补偿 CPU 和内存、外围设备之间在操作速度上的差别。

指令寄存器 (IR):用来保存当前正在执行的一条指令。当执行一条指令时,先把它从指令存储器(简称指存)读出,然后再传送至指令寄存器。

一个叫做指译码器的部件就是做这项工作的。指令寄存器中操作码字段 OP 的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。

程序计数器 (PC):为了保证程序能够连续地执行下去,CPU 必须具有某些手段来确定下一条指令的地址。而程序计数器 (PC) 正是起到这种作用,所以它又称为指令计数器。

在程序开始执行前,必须将它的起始地址,即程序的第一条指令所在的指存单元地址送入 PC, 因此 PC 的内容即是从指存提取的第一条指令的地址。当执行指令时,CPU 将自动修改 PC 的内容,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对 PC 加 1 但是,当遇到转移指令如 JMP 指令时,那么后继指令的地址(即 PC 的内容)必须从指令寄存器中的地址字段取得。

数据地址寄存器 (AR) 数据地址寄存器用来保存当前 CPU 所访问的数据存储器(简称数存)单元的地址。由于要对存储器阵列进行地址译码,所以必须使用地址寄存器来保持地址信息,直到一次读/写操作完成。

通用寄存器 在我们的模型中,通用寄存器有 4 个 (R0~R3), 其功能是:当算术逻辑单元 (ALU) 执行算术或逻辑运算时,为 ALU 提供一个工作区

程序状态字寄存器 (PSWR) 程序状态字寄存器又称为状态条件寄存器,保存由算术运算指令和逻辑运算指令运算或测试结果建立的各种条件代码,如运算结果进位标志 (C), 运算结果溢出标志 (V), 运算结果为零标志 (Z), 运算结果为负标志 (N), 等等。

数据通路:通常把许多寄存器之间传送信息的通路,称为数据通路。

操作控制器

在各寄存器之间建立数据通路的任务,是由称为操作控制器的部件来完成的。操作控制器的功能,就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确地选择数据通路,把有关数据打入到一个寄存器,从而完成取指令和执行指令的控制。

硬布线控制器

微程序控制器

指令周期

指令周期的基本概念

重点

指令周期:CPU 每取出一条指令并执行这条指令,都要完成一系列的操作,这一系列操作所需的时间通常叫做一个指令周期。换言之,指令周期是取出一条指令并执行这条指令的时间。由于各种指令的操作功能不同,因此各种指令的指令周期是不尽相同的。

机器周期/时钟周期:指令周期常常用若干个 CPU 周期数来表示,CPU 周期又称为机器周期。CPU 访问一次内存所花的时间较长,因此通常用内存中读取一个指令字的最短时间来规定 CPU 周期这就是说,一条指令的取出阶段(通常称为取指)需要一个 CPU 周期时间。而一个 CPU 周期时间又包含有若干个时钟周期(又称周期或节拍脉冲,它是处理操作的最基本单位)。这些周期的总和规定了一个 CPU 周期的时间宽度。

单周期 CPU 和多周期 CPU:单周期 CPU 在一个时钟周期内完成从指令取出到得到结果的所有工作,指令系统中所有指令执行时间都以最长时间的指令为准,因而效率低,当前较少采用。多周期 CPU 把指令的执行分成多个阶段,每个阶段在一个时钟周期内完成, 因而时钟周期短,不同指令所用周期数可以不同。

取指周期:取指周期中 CPU 完成三件事: 1. 从指存取出指令 2. 对程序计数器 PC 加 1,以便为取下一条指令做好准备 3. 对指令操作码进行译码或測试,以便确定进行什么操作。

重点

MOV 指令的指令周期

LAD 指令的指令周期

ADD 指令的指令周期

STO 指令的指令周期

JMP 指令的指令周期

用方框图表示指令周期

时序产生器和控制方式

时序信号产生器

时序信号产生器的构成

  1. 时钟源:时钟源用来为环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号。它通常由石英晶体振荡器和与非门组成的正反馈振荡电路组成,其输出送至环形脉冲发生器。

  2. 环形脉冲发生器:环形脉冲发生器的作用是产生一组有序的间隔相等或不等的脉冲序列,以便通过译码电路来产生最后所需的节拍脉冲。

  3. 节拍脉冲和存储器读写时序:我们假定在一个 CPU 周期中产生四个等间隔的节拍脉冲 T1~T4, 每个节拍脉冲的脉冲宽度均为 200ns, 因此一个 CPU 周期便是 800ms, 在下环形体冲一个 CPU 周期中,它们又按固定的时间关系重复。

  4. 启停控制逻辑:机器一接通电源,就会自动产生原始的节拍脉冲信号 T1~T4,然而,只有在启动机器运行的情況下,オ允许时序产生器发出 CPU 工作所需的节拍脉冲 T1~T4。为此需要由启停控制逻辑来控制 T1~T4 的发送。

重点

节拍点位和节拍脉冲时序关系

环形脉冲发生器

译码逻辑

启停控制逻辑:由于启动计算机是随机的,停机也是随机的,为此必须要求:当计算机启动时,一定要从第 1 个节拍脉冲前沿开始工作,而在停机时一定要在第 4 个节拍脉冲结束后关闭时序产生器。

控制方式

同步控制方式:在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都是固定不变的称为同步控制方式。根据不同情况,同步控制方式可选取如下方案

  1. 采用完全统一的机器周期执行各种不同的指令。这意味着所有指令周期具有相同的节拍电位数和相同的节拍脉冲数。显然,对简单指令和简单的操作来说,将造成时间浪费。

  2. 采用不定长机器周期。将大多数操作安排在一个较短的机器周期内完成,对某些时间紧张的操作,则采取延长机器周期的办法来解决。

  3. 中央控制与局部控制结合。将大部分指令安排在固定的机器周期完成,称为中央控制,对少数复杂指令(乘、除、浮点运算)采用另外的时序进行定时,称为局部控制。

异步控制方式:异步控制方式的特点是:每条指令、每个操作控制信号需要多少时间就占用多少时间。

这意味着每条指令的指令周期可由多少不等的机器周期数组成:也可以是当控制器发出某操作控制信号后,等待执行部件完成操作后发回“回答”信号,再开始新的操作。

联合控制方式:此为同步控制和异步控制相结合的方式。一种情況是,大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束标志。

微程序控制器

微程序控制原理

重点

微命令/微操作:控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令称为微命令,而执行部件接受微命令后所进行的操作,称为微操作

相容/相斥性的微操作:所谓相容性的微操作,是指在同时或同一个 CPU 周期内可以并行执行的微操作。所谓相斥性的微操作,是指不能在同时或不能在同一个 CPU 周期内并行执行的微操作。

微指令:一组实现一定操作功能的微命令的组合,构成一条微指令。

微程序:一条机器指令的功能是用许多条微指令组成的序列来实现的,这个微指令序列通常称为微程序。

微程序控制器原理

重点

它主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成,其中微指令寄存器分为地址寄存器和微命令寄存器两部分。

  • 控制存储器:控制存储器用来存放实现全部指令系统的微程序,它是一种只读型存储器。
  • 微指令寄存器:微指令寄存器用来存放由控制存储器读出的一条微指令信息。其中微地址寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息
  • 地址转移逻辑:如果微程序不出现分支,那么下一条微指令的地址就直接由微地址寄存器给出。

CPU 周期与微指令周期的关系

在串行方式的微程序控制器中,微指令周期等于读出微指令的时间加上执行该条微指令的时间。为了保证整个机器控制信号的同步,可以将一个微指令周期时间设计得恰好和 CPU 周期时间相等。

机器指令与微指令的关系

微命令编码

重点

直接表示法:其特点是操作控制字段中的每一位代表一个微命令。这种方法的优点是简单直观,其输出直接用于控制。缺点是做指令字较长,因而使控制存储器容量较大

编码表示法:编码表示法是把一组相斥性的微命令信号组成一个小组(即一个字段), 然后通过小组(字段)译码器对每一个微命令信号进行译码,译码输出作为操作控制信号。但由于增加译码电路,使微程序的执行速度稍稍减慢。

混合表示法:这种方法是把直接表示法与字段编码法混合使用,以便能综合考虑微指令字长、灵活性、执行微程序速度等方面的要求

微地址的形成方法

计数器方式:这种方法同用程序器计数来产生机器指令地址的方法相类似。在顺序执行微指令时,后继微地址由现行微地址加上一个増量来产生:在非顺序执行微指令时必须通过转移方式,使现行微指令执行后,转去执行指定后继微地址的下一条微指令

计数器方式的基本特点是:微指令的顺序控制字段较短,微地址产生机构简单。但是多路并行转移功能较弱,速度较慢,灵活性较差。

多路转移方式:一条微指令具有多个转移分支的能力称为多路转移。例如,“取指”微指令根据操作码 OP 产生多路微程序分支而形成多个微地址。在多路转移方式中,当微程序不产生分支时,后继微地址直接由微指令的顺序控制字段给出:当微程序出现分支时,有若干“后选”微地址可供选择:即按顺序控制字段的“判别测试”标志和“状态条件” 信息来选择其中一个微地址,其原理如图 5.23 所示。“状态条件”有 1 位标志,可实现微程序两路转移,涉及微地址寄存器的一位:“状态条件”有 2 位标志,可实现微程序 4 路转移涉及微地址寄存器的两位。以此类推,“状态条件”有 n 位标志,可实现微程序 \(2^n\) 路转移,涉及微地址寄存器的 n 位。因此执行转移微指令时,根据状态条件可转移到 \(2^n\) 个微地址中的一个。

微指令格式

重点

水平型微指令:一次能定义并执行多个并行操作微命令的微指令,称为水平型微指令。

按照控制字段的编码方法不同,水平型微指令又分为三种:第一种是全水平型(不译码法)微指令,第二种是字段译码法水平型微指令,第三种是直接和译码相混合的水平型微指令。

垂直型微指令:指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令。

垂直型微指令举例

水平型微指令和垂直型微指令的比较

  1. 水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差。

  2. 水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。

  3. 由水平型微指令解释指令的微程序,有微指令字较长而微程序短的特点。垂直型微指令则相反,微指令字较短而微程序长。

  4. 水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。

硬布线控制器

硬布线控制器结构

基本原理:某一微操作控制信号 C 是指令操作码译码器输出 m、时序信号(节拍电位 M, 节拍脉冲 T) 和状态条件信号 B 的逻辑函数,即

一般来说,还要考虑节拍脉冲和状态条件的约束,所以每一控制信号 Cn 可以由以下形式的布尔代数表达式来确定:

与微程序控制相比,硬布线控制的速度较快。其原因是微程序控制中每条微指令都要从控存中读取一次,影响了速度,而硬布线控制主要取決于电路延迟

节拍电位信号:在用硬布线实现的操作控制器中,通常,时序产生器除了产生节拍脉冲信号外,还应当产生节拍电位信号。这是因为,在一个指令周期中要顺序执行一系列微操作,需要设置若干节拍电位来定时。

硬布线控制器设计的步骤:设计微操作控制信号的方法和过程是,根据所有的机器指令流程图,寻找出产生同个微操作信号的所有条件,并与适当的节拍电位和节拍脉冲组合,从而写出其布尔代数表达式并进行简化,然后用门电路或可编程器件来实现。

为了防止遗漏,设计时可按信号出现在指令流程图中的先后次序来书写,然后进行归纳和简化。要特别注意控制信号是电位有效还是脉冲有效,如果是脉冲有效,必须加入节拍脉冲信号进行相“与”。

例题

例:硬布线控制器设计

流水 CPU

并行处理技术

广义地讲,并行性有着两种含义:一是同时性,指两个以上事件在同一时刻发生;二是并发性,指两个以上事件在同时间间隔内发生。

时间并行:指时间重叠,在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而得速度。

空间并行:指资源重复,在并行性概念中引入空间因素,以“数量取胜”为原则来大幅度提高计算机的处理速度。

时间并行+空间并行:指时间重叠和资源重复的综合应用,既采用时间并行性又采用空间并行性。

流水计算机系统的组成

流水 CPU 的时空图

重点

假设指令周期包含四个子过程:取指令 (IF)、指令译码 (ID)、执行运算 (EX)、结果写回 (WB), 每个子过程称为过程段 (S), 这样,一个流水线由系列串联的过程段组成。各个过程段之间设有高速缓冲寄存器,以暂时保存上一过程段子任务处理的结果。在统一的时钟信号控制下,数据从个过程段流向相邻的过程段。

流水线分类

  • 指令流水线:指指令步骤的并行。将指令流的处理过程划分为取指令、译码、取操作数、执行、写回等几个并行处理的过程段。
  • 算术流水线:指运算操作步骤的并行
  • 处理机流水线:又称为宏流水线,是指程序步骤的并行。由一串级联的处理机构成流水线的各个过程段,每台处理机负责某一特定的任务。数据流从第一台处理机输入,经处理后被送入与第二台处理机相联的缓冲存储器中。第二台处理机从该存储器中取出数据进行处理,然后传送给第三台处理机,如此串联下去。

线性流水线的时钟周期和频率计算

重点

流水线的相关冲突

  • 资源相关:所谓资源相关,是指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。 当数据和指令放在同一个存储器且只有一个访问口时,便发生两条指令争用存储器资源的相关冲突。解决冲突的办法,一是第后一条指令停顿一拍后再启动,二是设一个存储器,将指令和数据分别放在两个存储器中
  • 数据相关:在流水计算机中,指令的处理是重叠进行的,前一条指令还没有结束,第二、三条指令就陆续地开始工作。由于多条指令的重叠处理,当后继指令所需的操作数,刚好是前指令的运算结果时,便发生“先读后写”的数据相关冲突。 为了解決数据相关冲突,流水 CPU 的运算器中特意设置若干运算结果缓冲寄存器,暂时保留运算结果,以便于后继指令直接使用,这称为“向前”或定向传送技术。
  • 控制相关:控制相关冲突是由转移指令引起的。当执行转移指令时,依据转移条件的产生结果, 可能为顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流。
    • 延迟转移法:由编译程序重排指令序列来实现。基本思想是“先执行再转移”,即发生转移取时并不排空指令流水线,而是让紧跟在转移指令之后已进入流水线的少数几条指令继续完成。
    • 转移预测法:硬件方法来实现,依据指令过去的行为来预测将来的行为。通过使用转移取和顺序取两路指令预取队列器以及目标指令 cache,可将转移预测提前到取指阶段进行,以获得良好的效果。

例题

例:数据相关冲突

第 6 章 总线系统

总线的概念和结构形态

总线:总线是构成计算机系统的互联机构,是多个系统功能部件之间进行数据传送的公共通路

重点

总线的类别

一个单处理器系统中的总线,大致分为三类: - CPU 内部连接各寄存器及运算部件之间的总线,称为内部总线 - CPU 同计算机系统的其他高速功能部件,如存储器、通道等互相连接的总线,称为系统总线。 - 中、低速 IO 设备之间互相连接的总线,称为 I/O 总线。

总线的层次结构

重点

总线的特性 - 物理特性:总线的物理特性是指总线的物理连接方式,包括总线的根数,总线的插头插座的形状,引脚线的排列方式等。 - 功能特性:功能特性描述总线中每一根线的功能。 - 电气特性:电气特性定义每一根线上信号的传递方向及有效电平范围。 - 时间特性:时间特性定义了每根线在什么时间有效。

总线带宽:衡量总线性能的重要指标是总线带宽,它定义为总线本身所能达到的最高传输速率,单位是兆字节每秒 (MB/s)。

例题

例:计算总线带宽

单总线结构:使用单一的系统总线来连接 CPU、主存和 I/O 设备

在单总线结构中,要求连接到总线上的逻辑部件必须高速运行,以便在某些设备需要使用总线时,能迅速获得总线控制权:而当不再使用总线时,能迅速放弃总线控制权。

多总线结构

双总线结构

三总线结构

重点

早期总线的内部结构

地址线是单向的,用来传送主存与设备的地址数据线是双向的,用来传送数据;控制线一般而言对每一根线是单向的 (CPU 发向接口,或接口发向 CPU), 用来指明数据传送的方向(存储器读、存储器写、I/O 读、I/O 写)、中断控制(请求、识别)和定时控制等。

早期总线结构的不足之处在于:

  1. CPU 是总线上唯一的主控者。即使后来增加了具有简单仲裁逻辑的 DMA 控制器以支持 DMA 传送,但仍不能满足多 CPU 环境的要求。
  2. 总线信号是 CPU 引脚信号的延伸,故总线结构紧密与 CPU 相关,通用性较差。

当代总线的内部结构

  • 数据传送总线由地址线、数据线、控制线组成。
  • 仲裁总线包括总线请求线和总线授权线。
  • 中断和同步总线用于处理带优先级的中断操作,包括中断请求线和中断认可线。
  • 公用线包括时钟信号线、电源线、地线、系统复位线以及加电或断电的时序信号线等。

总线接口

信息传送方式

重点

  • 串行传送:当信息以串行方式传送时,只有一条传输线,且采用脉冲传送。在串行传送时,按顺序来传送表示一个数码的所有二进制位 (bit) 的脉冲信号,每次一位,通常以第一个脉冲信号表示数码的最低有效位,最后一个脉冲信号表示数码的最高有效位。

  • 并行传送:用并行方式传送二进制信息时,对每个数据位都需要单独一条传输线。并行传送一般采用电位传送。由于所有的位同时被传送,所以并行数据传送比串行数据传送快得多

总线接口的基本概念

重点

I/O 接口 I/O 功能模块通常简称为 I/O 接口,也叫适配器。广义地讲,I/O 接口是指 CPU、主存和外围设备之间通过系统总线进行连接的标准化逻辑部件。

I/O 接口的功能

  • 控制:接口模块靠指令信息来控制外围设备的动作
  • 缓冲:接口模块在外围设备和计算机系统其他部件之间用作为一个缓冲器,以补偿各种设备在速度上的差异。 ​- 状态:接口模块监视外围设备的工作状态并保存状态信息
  • 转换:接口模块可以完成任何要求的数据转换,如并一串转换或串一并转换
  • 整理:接口模块可以完成一些特别的功能,例如,在需要时可以修改字计数器或当前内存地址寄存器
  • 程序中断:每当外围设备向 CPU 请求某种动作时,接口模块即发生一个中断请求信号到 CPU。

重点

串行数据接口和并行数据接口:一个 I/O 接口模块有两个接口:一是和系统总线的接口。CPU 和 I/O 接口模块的数据交换一定是并行方式:二是和外设的接口。I/O 接口模块和外设的数据交换可能是并行方式,也可能是串行方式。因此,根据外围设备供求串行数据或并行数据的方式不同,I/O 接口模块分为串行数据接口和并行数据接口两大类。

例题

例:I/O 接口速率的计算

总线仲裁

主/从设备:主方(主设备)可以启动一个总线周期,而从方(从设备)只能响应主方的请求。每次总线操作,能有一个主方占用总线控制权,但同一时间里可以有一个或多个从方。

集中式仲裁

重点

  • 链式查询方式:在查询链中离总线仲裁器最近的设备具有最高优先级,离总线仲裁器越远,优先级越低。 链式查询方式的优点是,只用很少几根线就能按一定优先次序实现总线仲裁,并且这种链式结构很容易扩充设备。 链式查询方式的缺点是对询问链的电路故障很敏感,如果第个设备的接口中有关链的电路有故障,那么第 i 个以后的设都不能进行工作。另外查询链的优先级是固定的,如果优先级高的设备出现频繁的请求,那么优先级较低的设备可能长期不能使用总线。
  • 计数器定时查询方式:总线上的任一设备要求使用总线时,通过 BR 线发出总线请求。总线仲裁器接到请求信号以后,在 BS 线为“0 的情況下让计数器开始计数,计数值通过一组地址线发向各设备。每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备地址相一致时,该设备置“1”BS 线,获得了总线使用权,此时中止计数查询 每次计数可以从“0”开始,也可以从中止点开始。如果从“0”开始,各设备的优先次序与链式查询法相同,优先级的顺序是固定的。如果从中止点开始,则每个设备使用总线的优先级相等。
  • 独立请求方式:在独立请求方式中,每一个共享总线的设备均有一对总线请求线 BR 和总线授权线 BG。当设备要求使用总线时,便发出该设备的请求信号。总线裁器中有一个排队电路,它根据一定的优先次序决定首先响应哪个设备的请求,给设备以授权信号 BG。 独立请求方式的一个优点是响应时间快,即确定优先响应的设备所花费的时间少,用不着一个设备接一个设备地查询。另一个优点是对优先次序的控制相当灵活。它可以预先固定,如 BR。优先级最高,BR1 次之…BR 最低:也可以通过程序来改变优先次序还可以用屏蔽(禁止)某个请求的办法,不响应来自无效设备的请求。

分布式仲裁

重点

  1. 所有参与本次竞争的各主设备(本例中共 8 个)将设备竟争号 CN 取反后打到仲裁总线 AB 上,以实现“线或”逻辑。AB 线低电平时表示至少有一个主设备的 CNi 为 1,AB 线高电平时表示所有主设备的 CNi 为 0

  2. 竞争时 CN 与 AB 逐位比较,从最高位 (b7) 至最低位 (b0) 以一维菊花链方式进行只有上一位争得胜者 Wi+1 位为 1。当 CNi=1,或 CNi=0 且 ABi 为高电平时,才使 Wi 位为 1。若 Wi=0 时,将一直向下传递,使其竞争号后面的低位不能送上 AB 线

  3. 竞争不到的设备自动撤除其争号。在竞争期间,由于 W 位输入的作用,各设备在其内部的 CN 线上保留其竞争号并不破坏 AB 线上的信息。

  4. 由于参加竞争的各设备速度不一致,这个比较过程反复(自动)进行,有最后稳定的结果。竞争期的时间要足够,保证最慢的设备也能参与竞争

总线的定时和数据传送模式

重点

同步总线定时协定

同步定时适用于总线长度较短、各功能模块存取时间比较接近的情況。这是因为同步方式对任何两个功能模块的通信都给予同样的时间安排。由于同步总线必须按最慢的模块来设计公共时钟,当各功能模块存取时间相差很大时,会大大损失总线效率。

异步总线定时协定

在异步定时协议中,后一事件出现在总线上的时刻取决于前一事件的出现时刻,即建立在应答式或互锁机制基础上。在这种系统中,不需要统一的公共时钟信号。总线周期的长度是可变的。

异步定时的优点是总线周期长度可变,不把响应时间强加到功能模块上,因而允许快速和慢速的功能模块都能连接到同一总线上。但这以增加总线的复杂性和成本为代价

例题

例:总线仲裁时序图分析

总线数据传送模式

  • 读、写操作:读操作是由从方到主方的数据传送写操作是由主方到从方的数据传送。
  • 块传送操作:只需给出块的起始地址,然后对固定块长度的数据一个接一个地读出或写入。对于 CPU(主方)-存储器(从方)而言的块传送,常称为突发(猝发)式传送,其块长一般固定为数据线宽度(存储器字长)的 4 倍。
  • 写后读、读修改写操作:这是两种组合操作。只给出地址一次(表示同一地址), 或进行先写后读操作,或进行先读后写操作。前者用于校验目的,后者用于多道程序系统中对共享存储资源的保护。
  • 广播、广集操作:一般而言,数据传送只在一个主方和一个从方之间进行。但有的总线允许一个主方对多个从方进行写操作,这种操作称为广播。与广播相反的操作称为广集,它将选定的多个从方数据在总线上完成 AND 或 OR 操作,用以检测多个中断源。

PCI 总线和 PCIe 总线

重点

多总线结构

HOST 总线:HOST 总线是连接“北桥”芯片与 CPU 之间的信息通路,它是一个 64 位数据线和 32 位地址线的同步总线。

PCI 总线:连接各种高速的 PCI 设备。PCI 是一个与处理器无关的高速外围总线,又是至关重要的层间总线。它采用同步时序协议和集中式仲裁策略,并具有自动配置能力。PCI 设备可以是主设备,也可以是从设备,或兼而有之。在 PCI 设备中不存在 DMA(直接存储器传送)的概念,这是因为 PC 总线支持无限的猝发式传送。这样,传统总线上用 DMA 方式工作的设备移植到 PC 总线上时,采用主设备工作方式即可。系统中允许有多条 PCI 总线,它们可以使用 HOST 桥与 HOST 总线相连,也可使用 PCI/PCI 桥与已和 HOST 总线相连的 PCI 总线相连,从而得以扩充整个系统的 PC 总线负载能力。

LEGACY 总线:可以是 ISA、EISA、MCA 等这类性能较低的传统总线,以便充分利用市场上丰富的适配器卡,支持中、低速 I/O 设备

桥:在 PCI 总线体系结构中有三种桥。其中 HOST 桥又是 PCI 总线控制器,含有中央仲裁器。桥起着重要的作用,它连接两条总线,使彼此间相互通信。桥又是一个总线转换部件, 可以把一条总线的地址空间映射到另一条总线的地址空间上,从而使系统中任意一个总线主设备都能看到同样的一份地址表。桥本身的结构可以十分简单,如只有信号缓冲能力和信号电平转换逻辑,也可以相当复杂,如有规程转换、数据快存、装拆数据等

PCI 总线的特点:PCI 总线的基本传输机制是猝发式传送,利用桥可以实现总线间的猝发式传送。写作时,桥把上层总线的写周期先缓存起来,以后的时间再在下层总线上生成写周期,即延迟写。读操作时,桥可早于上层总线,直接在下层总线上进行预读。无论延迟写和预读,桥的作用可使所有的存取都按 CPU 的需要出现在总线上

PCI 总线周期由当前被授权的主设备发起。PCI 支持任何主设备和从设备之间点到点的对等访问,也支持某些主设备的广播读写。

PCI 总线周期的操作过程有如下特点。

  • 采用同步时序协议
  • 总线周期由被授权的主方启动。
  • 一个总线周期由一个地址期和一个或多个数据期组成。
  • 地址期为一个总线时钟周期,一个数据期在没有等待状态下也是一个时钟周期。
  • 总线周期长度由主方确定。
  • 主方启动一个总线周期时要求目标方确认。
  • 主方结束一个总线周期时不要求目标方确认。

PC 总线采用集中式仲裁方式,每个 PC 主设备都有独立的 nREQ(总线请求)和 nGNT(总线授权)两条信号线与中央仲裁器相连。

PCI 总线支持隐藏式仲裁

PCIe 总线:PCIe 总线全称为 PCI-express,是基于 PCI 总线技术发展起来的总线标准,对 PCI 总线有良好的继承性,在软件和应用上兼容 PCI 总线。

作者

xqmmcqs

发布于

2022-06-20

更新于

2023-03-29

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×