精华内容
下载资源
问答
  • 系统总线,外设总线的标准

    千次阅读 2018-07-08 11:25:34
    ---- 计 算 机 的 总 线 是 计 算机传 输 指 令、 数 据 和 地 址 的 线 路, 是 计 算 机 各 部 件 联系的 梁。 一 般 来 说, 按 照 总 线 在 计 算 机 中 的 位 置 可以分 为 机 器 内 部 总 线 和 机 器 外 ...
    常 听 人 说 他 的 计 算 机硬盘 是IDE 总 线 的, 光 驱 是SCSI 总 线 的, 主 板 是PCI 总 线的,显 卡 是AGP 总 线 的, 不 知 道 这 些 总 线 的 名 称 各 代 表什 么意 思 ? 是 按 什 么 划 分 的 ? 这 么 多 的 总 线 类 型 可 以在同 一 台 计 算 机 上 使 用 吗 ?
    ---- 计 算 机 的 总 线 是 计 算机传 输 指 令、 数 据 和 地 址 的 线 路, 是 计 算 机 各 部 件 联系的 桥 梁。 一 般 来 说, 按 照 总 线 在 计 算 机 中 的 位 置 可以分 为 机 器 内 部 总 线 和 机 器 外 设 总 线 两 类。
    ---- 机 器 内 部 总 线 是 计 算机内 部 各 部 件 通 讯 的 总 线, 按 照 发 展 的 过 程 分 为 以 下几种:ISA 总 线、EISA 总 线、VESA 总 线、PCI 总 线 和AGP 总 线。ISA总 线 是 用 于286 计 算 机 的 总 线 标 准,EISA 总 线 是 用 于386计 算 机 的 总 线 标 准,VESA 是 用 于486 计 算 机 的 总 线标准,PCI 总 线 是 用 于586 计 算 机 及 更 高 机 型 的 总 线 标准,前 三 种 总 线 已 经 被 淘 汰。AGP 总 线 只 负 责 控 制 芯 片和AGP 显 卡 之 间 的 指 令、 数 据 和 地 址 的 传 输, 可 以 和PCI总 线共 存。
    ---- 机 器 外 设 总 线 是 计 算机内 部 与 外 设 进 行 通 讯 的 总 线, 分 为IDE 总 线、SCSI 总线和USB 总 线。IDE 总 线 是PC 机 上 用 得 最 多 的 总 线, 其 造价比 较 便 宜。SCSI 总 线 的 速 度 比IDE 总 线 要 快 得 多, 不 过造价 比 较 贵。IDE 总 线 和SCSI 总 线 一 般 只 是 用 于 硬 盘、 光驱和 扫 描 仪 等, 而USB 总 线 则 可 以 用 于 更 多 的 外 设, 且速度 更 快。 一 般 来 说, 这 三 种 外 设 总 线 是 不 可 以 混 合使用 的, 但 是 如 果 有 总 线 转 换 器 则 可 以 在 一 定 程 度 上混合 使 用, 如SCSI 总 线 就 有 向IDE 总 线 进 行 转 换 的 转换器。
     
     
    

    常 听 人 说 他 的 计 算 机硬盘 是IDE 总 线 的, 光 驱 是SCSI 总 线 的, 主 板 是PCI 总 线的,显 卡 是AGP 总 线 的, 不 知 道 这 些 总 线 的 名 称 各 代 表什 么意 思 ? 是 按 什 么 划 分 的 ? 这 么 多 的 总 线 类 型 可 以在同 一 台 计 算 机 上 使 用 吗 ?
    ---- 计 算 机 的 总 线 是 计 算机传 输 指 令、 数 据 和 地 址 的 线 路, 是 计 算 机 各 部 件 联系的 桥 梁。 一 般 来 说, 按 照 总 线 在 计 算 机 中 的 位 置 可以分 为 机 器 内 部 总 线 和 机 器 外 设 总 线 两 类。
    ---- 机 器 内 部 总 线 是 计 算机内 部 各 部 件 通 讯 的 总 线, 按 照 发 展 的 过 程 分 为 以 下几种:ISA 总 线、EISA 总 线、VESA 总 线、PCI 总 线 和AGP 总 线。ISA总 线 是 用 于286 计 算 机 的 总 线 标 准,EISA 总 线 是 用 于386计 算 机 的 总 线 标 准,VESA 是 用 于486 计 算 机 的 总 线标准,PCI 总 线 是 用 于586 计 算 机 及 更 高 机 型 的 总 线 标准,前 三 种 总 线 已 经 被 淘 汰。AGP 总 线 只 负 责 控 制 芯 片和AGP 显 卡 之 间 的 指 令、 数 据 和 地 址 的 传 输, 可 以 和PCI总 线共 存。
    ---- 机 器 外 设 总 线 是 计 算机内 部 与 外 设 进 行 通 讯 的 总 线, 分 为IDE 总 线、SCSI 总线和USB 总 线。IDE 总 线 是PC 机 上 用 得 最 多 的 总 线, 其 造价比 较 便 宜。SCSI 总 线 的 速 度 比IDE 总 线 要 快 得 多, 不 过造价 比 较 贵。IDE 总 线 和SCSI 总 线 一 般 只 是 用 于 硬 盘、 光驱和 扫 描 仪 等, 而USB 总 线 则 可 以 用 于 更 多 的 外 设, 且速度 更 快。 一 般 来 说, 这 三 种 外 设 总 线 是 不 可 以 混 合使用 的, 但 是 如 果 有 总 线 转 换 器 则 可 以 在 一 定 程 度 上混合 使 用, 如SCSI 总 线 就 有 向IDE 总 线 进 行 转 换 的 转换器。
     
     

     

    展开全文
  • 其中嵌入式控制器单元是整个无线总线桥硬件电路的核心控制单元,其余功能单元均作为嵌入式控制器的扩展外设受其统一管理和控制,满足了分布式自动测试系统应用过程中多种总线信息稳定交换和实时处理的需求。
  • 理解总线桥

    千次阅读 2017-11-30 07:38:34
    总线之间的所谓,简单来说就是一个总线转换器,它实现各类微处理器总线到PCI总线、各类标准总线到PCI总线的连接...的内部包含有一些相当复杂的兼容协议的单元电路,也可以与内存控制器或外设控制器包装在一起。 ...

    总线之间的所谓桥,简单来说就是一个总线转换器,它实现各类微处理器总线到PCI总线、各类标准总线到PCI总线的连接,并允许它们之间相互通信。因此,桥的两端必有一端与PCI总线连接,另一端可接不同的微处理器总线或标准总线,可见,桥是不对称的。桥的内部包含有一些相当复杂的兼容协议的单元电路,也可以与内存控制器或外设控制器包装在一起。实现这些总线桥接功能的是一组大规模集成专用电路,称之为PCI总线芯片组(Chipset)或PCI总线组件 。
    总线桥一般有以下功能:
    1、协议转换 总线桥可以与间隔层(现场)设备以某种协议通信,而与上位机(站控层设备)以另外一种协议通信。总线桥完成协议转换的功能。
    2、数据转换 总线桥可以对传送过程中的数据进行处理,将上位机不支持的数据格式转换成上位机可读取的数据。
    3、透明传送 上位机与总线桥的通信为透明传送。即上位机所面对的始终是间隔层设备,总线桥为上位机与设备通信提供了虚拟通道,上位机始终采用A通信协议与间隔设备通信,而间隔层设备实际通信协议为B。

    说到总线桥,自然便容易联想到计算机中常提到的南桥北桥。
    那么着南桥北桥又是啥? 关于南北桥你可以记住:
    南(男人在外面干活)管外 南桥芯片又叫I/O(输入输出设备)控制器,简称维ICH,距离cpu较远 主要管理中低速外部设备;集成了中断控制器、DMA控制器。
    功能如下:
    1) PCI、ISA与IDE之间的通道。
    2) PS/2鼠标控制。 (间接属南桥管理,直接属I/O管理)
    3) KB控制(keyboard)。(键盘)
    4) USB控制。(通用串行总线)
    5) SYSTEM CLOCK系统时钟控制。
    6) I/O芯片控制。 7) ISA总线。 8) IRQ控制。(中断请求)
    9) DMA控制。(直接存取)
    10) RTC控制。
    北(女人在家操持家务)管内 北桥芯片又叫内存控制器,简称维MCH,距离cpu较近,上面写着MCH字样 主要负责CPU与内存、CPU与AGP之间的通信。掌控项目多为高速设备,如:CPU、Host Bus。后期主板北桥集成了内存控制器、Cache高速控制器;功能如下:
    ① CPU与内存之间的交流。
    ② Cache控制。
    ③ AGP控制(图形加速端口)
    ④ PCI总线的控制。
    ⑤ CPU与外设之间的交流。
    ⑥ 支持内存的种类及最大容量的控制。(标示出主板的档次) 说完了北桥,自然少不了碰到前端总线的概念了。 所谓前端总线——Front Side Bus(FSB),就是将CPU连接到北桥芯片的总线。 概念比较简单,但这里需要注意的是前端总线频率并不同于我们常说的外频: 前端总线的速度指的是数据传输的速度,外频是CPU与主板之间同步运行的速度。也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一亿次;而100MHz前端总线指的是每秒钟CPU可接受的数据传输量是100MHz×64bit=6400Mbit/s=800MByte/s(1Byte=8bit)。

    原文地址:由总线桥说开去

    展开全文
  • 网卡这类系统部件的外设总线 后端总线 相对高速的连接 CPU利用它 在外部缓存(经常为第二级缓存)之间来回传送信息   只向一台计算机系统中插入一块顶级微处理器并不能保证总体性能得到满意改进 还取决于...

    前端总线、后端总线、南北桥

    • 总线
      • 将微处理器与内存芯片及
      • 与之通信的设备连接起来的硬件通道
    • 前端总线
      • CPU连接到主内存和通向磁盘驱动器、
      • 调制解调器
      • 网卡这类系统部件的外设总线
    • 后端总线
      • 相对高速的连接
      • CPU利用它
      • 在外部缓存(经常为第二级缓存)之间来回传送信息

    • 只向一台计算机系统中插入一块顶级微处理器并不能保证总体性能得到满意改进
    • 还取决于工程师在处理芯片组中设计的前端总线。

    • 中央处理器的时钟频率速度(简称内频)
      • 由系统总线速率(BusSpeed)乘上倍频系数决定。
    • 时钟频率速度为700MHz的处理器,
      • 可能运行于100MHz的系统总线(BusSpeed)。
    • 时钟频率速度=系统总线(BusSpeed)*倍频系数

    • 系统总线(BusSpeed)与前端总线(FSB、外频)区别在于,
      • 前端总线(FSB、外频)速度指的是CPU和北桥芯片间总线的速度。
      • BusSpeed的概念是建立在数字脉冲信号震荡速度基础之上的,
      • 100MHz系统总线(BusSpeed)特指数字脉冲信号在每秒钟震荡一百万次,它更多的影响了PCI及其他总线的频率。
      • 之所以前端总线(FSB、外频)与系统总线(BusSpeed)这两个概念容易混淆,主要的原因是在以前很长一段时间里,
      • 前端总线(FSB、外频)与系统总线(BusSpeed)是相同速率,
      • 往往直接称系统总线(BusSpeed)为外频,最终误会。

    canci

    FSB

    canci

    展开全文
  • 在PCI体系结构中,含有两类片,一个是HOST主桥,另一个是PCI。在每一个PCI设备中(包括PCI)都含有一个配置空间。这个配置空间由HOST主桥管理,而PCI可以转发来自HOS...

    在PCI体系结构中,含有两类桥片,一个是HOST主桥,另一个是PCI桥。在每一个PCI设备中(包括PCI桥)都含有一个配置空间。这个配置空间由HOST主桥管理,而PCI桥可以转发来自HOST主桥的配置访问。在PCI总线中,PCI Agent设备使用的配置空间与PCI桥使用的配置空间有些差别,但这些配置空间都是由处理器通过HOST主桥管理。

    存储器域与PCI总线域

    HOST主桥的实现因处理器系统而异。PowerPC处理器和x86处理器的HOST主桥除了集成方式不同之外,其实现机制也有较大差异。但是这些HOST主桥所完成的最基本功能依然是分离存储器域与PCI总线域,完成PCI总线域到存储器域,存储器域到PCI总线域之间的数据传递,并管理PCI设备的配置空间。

    上文曾经多次提到在一个处理器系统中,存在PCI总线域与存储器域,深入理解这两个域的区别是理解HOST主桥的关键所在。在一个处理器系统中,存储器域、PCI总线域与HOST主桥的关系如图2‑1所示。

    上图所示的处理器系统由一个CPU,一个DRAM控制器和两个HOST主桥组成。在这个处理器系统中,包含CPU域、DRAM域、存储器域和PCI总线域地址空间。其中HOST主桥x和HOST主桥y分别管理PCI总线x域与PCI总线y域。PCI设备访问存储器域时,也需要通过HOST主桥,并由HOST主桥进行PCI总线域到存储器域的地址转换;CPU访问PCI设备时,同样需要通过HOST主桥进行存储器域到PCI总线域的地址转换。

    如果HOST主桥支持Peer-to-Peer传送机制,PCI总线x域上的设备可以与PCI总线y域上的设备直接通信,如PCI设备x11可以直接与PCI设备y11通信。为简化模型,在本书中,PCI总线仅使用32位地址空间。

    2.1.1 CPU域、DRAM域与存储器域

    CPU域地址空间指CPU所能直接访问的地址空间集合。在本书中,CPU、处理器与处理器系统的概念不同。如MPC8548处理器的内核是E500 V2[1],本书将这个处理器内核称为CPU;处理器由一个或者多个CPU、外部Cache、中断控制器和DRAM控制器组成;而处理器系统由一个或者多个处理器和外部设备组成。

    在CPU域中有一个重要概念,即CPU域边界,所谓CPU域边界,即CPU所能控制的数据完整性边界。CPU域的边界由Memory Fence指令[2]的作用范围确定,CPU域边界的划分对数据完整性(Data Consistency)非常重要。与CPU域相关的数据完整性知识较为复杂,可以独立出书,因此本篇对数据完整性不做进一步介绍。笔者有计划再更新完PCIe总线部分的资料后,书体系结构的两方面内容,一个是Cache层次结构,一个是以Weakly Ordered Memory Modle为基础书写数据完整性。

    严格的讲CPU域仅在CPU内核中有效,CPU访问主存储器时,首先将读写命令放入读写指令缓冲中,然后将这个命令发送到DRAM控制器或者HOST主桥。DRAM控制器或者HOST主桥将CPU地址转换为DRAM或者PCI总线地址,分别进入DRAM域或者PCI总线域后,再访问相应的地址空间。

    DRAM域地址空间指DRAM控制器所能访问的地址空间集合。目前处理器系统的DRAM一般由DDR-SDRAM组成,有的书籍也将这部分内存称为主存储器。在有些处理器系统中,DRAM控制器能够访问的地址空间,并不能被处理器访问,因此在这类处理器系统中,CPU域与DRAM域地址空间并不等同。

    比如有些CPU可以支持36位的物理地址,而有些DRAM控制器仅支持32位的物理地址,此时CPU域包含的地址空间大于DRAM域地址空间。但是这并不意味着DRAM域一定包含在CPU域中,在某些处理器系统中,CPU并不能访问在DRAM域中的某些数据区域。而CPU域中除了包含DRAM域外,还包含外部设备空间。

    在多数处理器系统中,DRAM域空间是CPU域空间的一部分,但是也有例外。比如显卡控制器可能会借用一部分主存储器空间,这些被借用的空间不能被CPU访问,而只能被DRAM控制器,更为准确地说是显卡通过DRAM控制器访问,因此这段空间不属于CPU域,严格地讲,这段空间属于外部设备域。

    本书使用存储器域统称CPU域与DRAM域。存储器域包括CPU内部的通用寄存器,存储器映像寻址的寄存器,主存储器空间和外部设备空间。在Intel的x86处理器系统中,外部设备空间与PCI总线域地址空间等效,因为在x86处理器系统中,使用PCI总线统一管理全部外部设备。为简化起见,本书使用PCI总线域替代外部设备域。

    值得注意的是,存储器域的外部设备空间,在PCI总线域中还有一个地址映射。当处理器访问PCI设备时,首先访问的是这个设备在存储器域上的PCI设备空间,之后HOST主桥将这个存储器域的PCI总线地址转换为PCI总线域的物理地址[3],然后再通过PCI总线事务访问PCI总线域的地址空间。

    2.1.2 PCI总线域

    在x86处理器系统中,PCI总线域是外部设备域的重要组成部分。实际上在Intel的x86处理器系统中,所有的外部设备都使用PCI总线管理。而AMD的x86处理器系统中还存在一条HT(HyperTransport)总线,在AMD的x86处理器系统中还存在HT总线域。本书对HT总线不做进一步介绍。

    PCI总线域(PCI Segment)由PCI设备所能直接访问的地址空间组成。在一个处理器系统中,可能存在多个HOST主桥,因此也存在多个PCI总线域。如在图2‑1所示的处理器系统中,具有两个HOST主桥,因而在这个处理器系统中存在PCI总线x和y域。

    在多数处理器系统中,分属于两个PCI总线域的PCI设备并不能直接进行数据交换,而需要通过FSB进行数据交换。值得注意的是,如果某些处理器的HOST主桥支持Peer-to-Peer数据传送,那么这个HOST主桥可以支持不同PCI总线域间的数据传送。

    PowerPC处理器使用了OCeaN技术连接两个HOST主桥,OCeaN可以将属于x域的PCI数据请求转发到y域,OCeaN支持PCI总线的Peer-to-Peer数据传送。有关OCeaN技术的详细说明见第2.2节。

    2.1.3 处理器域

    处理器域是指一个处理器系统能够访问的地址空间集合。处理器系统能够访问的地址空间由存储器域和外部设备域组成。其中存储器域地址空间较为简单,而在不同的处理器系统中,外部设备域的组成结构并不相同。如在x86处理器系统中,外部设备域主要由PCI总线域组成,因为大多数外部设备都是挂接在PCI总线[4]上的,而在PowerPC处理器和其他处理器系统中,有相当多的设备与FSB直接相连,而不与PCI总线相连。

    本书仅介绍PCI总线域而不对其他外部设备域进行说明。其中存储器域与PCI总线域之间由HOST主桥联系在一起。深入理解这些域的关系是深入理解PCI体系结构的关键所在,实际上这也是理解处理器体系结构的基础。

    通过HOST主桥,处理器系统可以将处理器域划分为存储器域与PCI总线域。其中存储器域与PCI总线域,彼此独立,并通过HOST主桥进行数据交换。HOST主桥是联系存储器域与PCI总线域的桥梁,是PCI总线域实际的管理者。

    有些书籍认为HOST处理器是PCI总线域的管理者,这种说法并不精确。假设在一个SMP(symmetric multiprocessing)处理器系统中,存在4个CPU而只有一个HOST主桥,这4个CPU将无法判断究竟谁是HOST处理器。不过究竟是哪个处理器作为HOST处理器并不重要,因为在一个处理器系统中,是HOST主桥管理PCI总线域,而不是HOST处理器。当一个处理器系统中含有多个CPU时,如果这些CPU都可以访问HOST主桥,那么这些CPU都可以作为这个HOST主桥所管理PCI总线树的HOST处理器。

    在一个处理器系统中,CPU所能访问的PCI总线地址一定在存储器域中具有地址映射;而PCI设备能访问的存储器域的地址也一定在PCI总线域中具有地址映射。当CPU访问PCI域地址空间时,首先访问存储器域的地址空间,然后经过HOST主桥转换为PCI总线域的地址,再通过PCI总线事务进行数据访问。而当PCI设备访问主存储器时,首先通过PCI总线事务访问PCI总线域的地址空间,然后经过HOST主桥转换为存储器域的地址后,再对这些空间进行数据访问。

    由此可见,存储器域与PCI总线域的转换关系由HOST主桥统一进行管理。有些处理器提供了一些寄存器进行这种地址映射,如PowerPC处理器使用Inbound和Outbound寄存器组保存存储器域与PCI总线域的地址映射关系;而有些处理器并没有提供这些寄存器,但是存储器域到PCI总线域的转换关系依然存在。

    HOST主桥进行不同地址域间的数据交换时,需要遵循以下规则。为区别存储器域到PCI总线域的地址映射,下文将PCI总线域到存储器域的地址映射称为反向映射。

    (1) 处理器访问PCI总线域地址空间时,首先需要访问存储器域的地址空间,之后通过HOST主桥将存储器地址转换为PCI总线地址,之后才能进入PCI总线域进行数据交换。PCI设备使用的地址空间保存在各自的PCI配置寄存器中,即BAR寄存器中。这些PCI总线地址空间需要在初始化时映射成为存储器域的存储器地址空间,之后处理器才能访问这些地址空间。在有些处理器的HOST主桥中,具有独立的寄存器保存这个地址映射规则,如PowerPC处理器的Outbound寄存器组;而有些处理器,如在x86处理器中,虽然没有这样的寄存器组,但是在HOST主桥的硬件逻辑中仍然存在这个地址转换的概念。

    (2) PCI设备访问存储器域时,首先需要访问PCI总线域的地址空间,之后通过HOST主桥将PCI总线地址转换为存储器地址,之后才能穿越HOST主桥进行数据交换。为此处理器需要通过HOST主桥将这个PCI总线地址反向映射为存储器地址。PCI设备不能访问在PCI总线域中没有进行这种反向映射的存储器域地址空间。PowerPC处理器使用Inbound寄存器组存放PCI设备所能访问的存储器空间,而在x86处理器中并没有这样的寄存器组,但是依然存在这个地址转换的概念。

    (3) 如果HOST主桥不支持Peer-to-Peer传送方式,那么分属不同PCI总线域的PCI设备间不能直接进行数据交换。在32位的PCI总线中,每一个PCI总线域的地址范围都是0x0000-0000~0xFFFF-FFFF,但是这些地址没有直接联系。PCI总线x域上的PCI总线地址0x0000-0000与PCI总线y域上的PCI总线地址0x0000-0000并不相同,而且这两个PCI总线地址经过HOST主桥反向映射后,得到的存储器地址也不相同。

    本篇在第2.2节中,主要以PowerPC处理器为例说明HOST主桥的实现机制,并在第2.2.4节简要说明了x86处理器中的南北桥构架。尽管部分读者对PowerPC处理器并不感兴趣,笔者仍然强烈建议读者仔细阅读第2.2节的全部内容。

    在PowerPC处理器中,HOST主桥的实现比较完整,尤其是PCI总线域与存储器域的映射关系比较明晰,便于读者准确掌握这个重要的概念。而x86处理器由于考虑向前兼容,设计中包含了太多的不得已,x86处理器有时不得不保留原设计中的不完美,向前兼容是Intel的重要成就,也是一个沉重的十字架。

    HOST主桥(1)

    本节以MPC8548处理器为例说明HOST主桥在PowerPC处理器中的实现机制,并简要介绍x86处理器系统使用的HOST主桥。

    MPC8548处理器是Freescale基于E500 V2内核的一个PowerPC处理器,该处理器中集成了DDR控制器、多个eTSEC(Enhanced Three-Speed Ethernet Controller)、PCI/PCI-X和PCIe总线控制器等一系列接口。MPC8548处理器的拓扑结构如图2‑2所示。

    如上图所示,MPC8548处理器的L1 Cache在E500 V2内核中,而L2 Cache与FSB[1]直接相连,不属于E500内核。值得注意的是有些高端PowerPC处理器的L2 Cache也在CPU中,而L3 Cache与CCB总线直接相连。

    在MPC8548处理器中,所有外部设备,如以太网控制器、DDR控制器和OCeaN连接的总线控制器都与SoC平台总线[2]直接连接。而SoC平台总线通过Cache共享一致性模块与FSB连接。

    在MPC8548处理器中,具有一个32位的PCI总线控制器、一个64位的PCI/PCI-X总线控制器,还有多个PCIe总线控制器。MPC8548处理器使用OCeaN连接这些PCI、PCI-X和PCIe总线控制器。在MPC8548处理器系统中,PCI设备进行DMA操作时,首先通过OCeaN,之后经过SoC平台总线到达DDR控制器。

    OCeaN是MPC8548处理器中连接快速外设使用的交叉互连总线,OCeaN不仅可以连接PCI、PCI-X和PCIe总线控制器,而且可以连接RapidIO[3]总线控制器。使用OCeaN进行互连的总线控制器可以直接通信,而不需要通过SoC平台总线。

    如来自HOST主桥1的数据报文可以通过OCeaN直接发向HOST主桥2,而不需要将数据通过SoC平台总线,再进行转发,从而减轻了SoC平台总线的负担。OCeaN部件的拓扑结构如图2‑3所示。

    在MPC8548处理器中,有两个HOST主桥,分别是HOST主桥1和HOST主桥2,其中HOST主桥1可以支持PCI-X总线,而HOST主桥2只能支持PCI总线。此外该处理器还含有多个PCIe总线控制器。

    本节仅介绍HOST主桥,即MPC8548处理器中的PCI总线控制器,而不介绍该处理器的PCIe总线控制器。因为从软件层面上看,MPC8548处理器的PCIe总线控制器与PCI/PCI-X总线控制器功能类似。

    MPC8548处理器即可以作为PCI总线的HOST处理器,也可以作为PCI总线的从设备,本节仅讲述MPC8548处理器如何作为PCI总线的HOST处理器管理PCI总线树,而并不关心MPC8548处理器作为从设备的情况。

    在MPC8548处理器的HOST主桥中,定义了一系列与系统软件相关的寄存器。本节将通过介绍这些寄存器,说明这个HOST主桥的功能。为节约篇幅,本节仅介绍与HOST主桥1相关的寄存器,HOST主桥2使用的寄存器与HOST主桥1使用的寄存器类似。

    2.2.1 PCI设备配置空间的访问机制

    PCI总线规定访问配置空间的总线事务,即配置读写总线事务,使用ID号进行寻址。PCI设备的ID号由总线号(Bus Number)、设备号(Device Number)和功能号(Function Number)组成。

    其中总线号在HOST主桥遍历PCI总线树时确定。PCI总线可以使用PCI桥扩展PCI总线,并形成一颗PCI总线树。在一颗PCI总线树上,有几个PCI桥(包括HOST主桥),就有几条PCI总线。在一颗PCI总线树中,总线号由系统软件决定,通常与HOST主桥直接相连的PCI总线编号为0,系统软件使用DFS(Depth-First Search)算法扫描PCI总线树上的所有PCI总线,并依次进行编号。

    一条PCI总线的设备号由PCI设备的IDSEL信号与PCI总线地址线的连接关系确定,而功能号与PCI设备的具体设计相关。在一个PCI设备中最多有8个功能设备,而且每一个功能设备都有各自的PCI配置空间,而在绝大多数PCI设备中只有一个功能设备。HOST主桥使用寄存器号,访问PCI设备配置空间的某个寄存器。

    在MPC8548处理器的HOST主桥中,与PCI设备配置空间相关的寄存器由CFG_ADDR、CFG_DATA和INT_ACK寄存器组成。系统软件使用CFG_ADDR和CFG_DATA寄存器访问PCI设备的配置空间,而使用INT_ACK寄存器访问挂接在PCI总线上的中断控制器的中断向量,这3个寄存器的地址偏移和属性如表2‑1所示。

    表2‑1 PCI总线配置寄存器

    Offset

    寄存器

    属性

    复位值

    0x0_8000

    CFG_ADDR

    可读写

    0x0000-0000

    0x0_8004

    CFG_DATA

    可读写

    0x0000-0000

    0x0_8008

    INT_ACK

    只读

    0x0000-0000

    在MPC8548处理器中,所有内部寄存器都使用存储器映射方式进行寻址,并存放在以BASE_ADDR[4]变量为起始地址的“1MB连续的物理地址空间”中。PowerPC处理器可以通过BASE_ADDR+Offset的方式访问表2‑1中的寄存器。

    MPC8548处理器使用CFG_ADDR寄存器和CFG_DATA寄存器访问PCI设备的配置空间,其中用CFG_ADDR寄存器保存PCI设备的ID号和寄存器号,该寄存器的各个字段的详细说明如下所示。

    Enable位。当该位为1时,HOST主桥使能对PCI设备配置空间的访问,当HOST处理器对CFG_DATA寄存器进行访问时,HOST主桥将对这个寄存器的访问转换为PCI配置读写总线事务并发送到PCI总线上。

    Bus Number字段记录PCI设备所在的总线号。

    Device Number字段记录PCI设备的设备号。

    Function Number字段记录PCI设备的功能号。

    Register Number字段记录PCI设备的配置寄存器号。

    MPC8548处理器访问PCI设备的配置空间时,首先需要在CFG_ADDR寄存器中设置这个PCI设备对应的总线号、设备号、功能号和寄存器号,然后使能Enable位。之后当MPC8548处理器对CFG_DATA寄存器进行读写访问时, HOST主桥将这个存储器读写访问转换为PCI配置读写请求,并发送到PCI总线上。如果Enable位没有使能,处理器对CFG_DATA的访问不过是一个普通的I/O访问,HOST主桥并不能将其转换为PCI配置读写请求。

    HOST主桥根据CFG_ADDR寄存器中的ID号,生成PCI配置读写总线事务,并将这个读写总线事务,通过ID译码方式发送到指定的PCI设备。PCI设备将接收来自配置写总线事务的数据,或者为配置读总线事务提供数据。

    值得注意的是,在PowerPC处理器中,在CFG_DATA寄存器中保存的数据采用大端方式进行编址,而PCI设备的配置寄存器采用小端编址,因此HOST主桥需要进行端模式转换。我们以源代码2‑1为例说明PowerPC处理器如何访问PCI配置空间。

    源代码2‑1 PowerPC处理器访问PCI配置空间

    stw r0, 0(r1)

    ld r3, 0(r2)

    我们首先假设寄存器r1的初始值为BASE_ADDR+0x0_8000(即CFG_ADDR寄存器的地址) ,寄存器r0的初始值为0x8000-0008,寄存器r2的初始值为BASE_ADDR+0x0_8004 (即CFG_DATA寄存器的地址),而指定PCI设备(总线号、设备号、功能号都为0)的配置寄存器的0x0B~0x08中的值为0x9988-7766。

    这段源代码的执行步骤如下。

    (1) 将r0寄存器赋值到r1寄存器所指向的地址空间中,即初始化CFG_ADDR寄存器为0x8000-0008。

    (2) 从r2寄存器所指向的地址空间中读取数据到r3寄存器中,即从CFG_DATA寄存器中读取数据到r3寄存器。

    在MPC8548处理器中,源代码2‑1执行完毕后,寄存器r3保存的值为0x6677-8899,而不是0x9988-6677。系统程序员在使用这个返回值时,一定要注意大小端模式的转换。值得注意的是,源代码2‑1可以使用lwbrx指令进行优化,该指令可以在读取数据的同时,进行大小端模式的转换。

    处理器读取INT_ACK寄存器时,HOST主桥将这个读操作转换为PCI总线中断响应事务。PCI总线中断响应事务的作用是通过PCI总线读取中断控制器的中断向量号,这样做的前提是中断控制器需要连接在PCI总线上。

    PowerPC处理器使用的MPIC中断控制器不是挂接在PCI总线上,而是挂接在SoC平台总线上的,因此PCI总线提供的中断应答事务在这个处理器系统中并没有太大用途。但是并不排除某些PowerPC处理器系统使用了挂接在PCI总线上的中断控制器,比如PCI南桥芯片,此时PowerPC处理器系统需要使用中断应答事务读取PCI南桥中的中断控制器,以获取中断向量号。

    2.2.2 存储器域地址空间到PCI总线域地址空间的转换

    MPC8548处理器使用ATMU (Address Translation and Mapping Unit)寄存器组进行存储器域到PCI总线域,以及PCI总线域到存储器域的地址映射。ATMU寄存器组由两大组寄存器组成,分别为Outbound和Inbound寄存器组。其中Outbound寄存器组将存储器域的地址转换为PCI总线域的地址,而Inbound寄存器组将PCI总线域的地址转换为存储器域的地址。

    在MPC8548处理器中,只有当CPU读写访问的地址范围在Outbound寄存器组管理的地址空间之内时,HOST主桥才能接收CPU的读写访问,并将CPU在存储器域上的读写访问转换为PCI总线域上的读写访问,然后才能对PCI设备进行读写操作。

    如图2‑2所示,CPU对存储器域的地址访问,首先使用CCB总线事务,如果所访问的地址在Cache中命中时,则从Cache中直接获得数据,否则将从存储器域中获取数据。而在绝大多数情况下,外部设备使用的地址空间是不可Cache[5]的,所以在绝大多数情况之下,发向PCI设备的CCB总线事务并不会与Cache进行数据交换。

    如果CCB总线事务使用的地址在HOST主桥的Outbound寄存器窗口中命中时,HOST主桥将接收这个CCB总线事务,并将其转换为PCI总线事务之后,再发送到PCI总线上。MPC8548处理器的每一个HOST主桥都提供了5个Outbound寄存器窗口来实现存储器域地址到PCI总线域地址的映射,其映射过程如图2‑4所示。


    在介绍MPC8548处理器如何使用Outbound寄存器组进行存储器域地址空间到PCI总线域地址空间的转换之前,本节将首先介绍Outbound寄存器组中的相应寄存器。Outbound寄存器组的地址偏移、属性和复位值如表2‑2所示。

    表2‑2 PCI/X ATMU Outbound寄存器组

    地址偏移

    寄存器名

    属性

    复位值

    0x0_8C00/20/40/60/80

    POTARn

    可读写

    0x0000-0000

    0x0_8C04/24/44/64/84

    POTEARn

    可读写

    0x0000-0000

    0x0_8C28/48/68/88

    POWBARn

    可读写

    0x0000-0000

    0x0_8C30/50/70/90

    POWARn

    可读写

    0x0000-0000

    1 POTARn和POTEARn寄存器

    在POTARn和POTEARn寄存器中保存当前Outbound窗口在PCI总线域中的64位地址空间的基地址。这两个寄存器的主要字段如下。

    POTARn寄存器的TEA字段,第0~11位,保存PCI总线地址空间的43~32位。

    POTARn寄存器的TA字段,第12~31位,保存PCI总线地址空间的31~12位[6] 。

    POTEARn寄存器的TEA字段,第12~31位,保存PCI总线地址空间的63~44位。

    2 POWBARn寄存器和POWARn寄存器

    而POWBARn寄存器保存当前Outbound窗口在存储器域中的36位地址空间的基地址[7] ,其主要字段如下。

    WBEA字段保存存储器域地址的第0~3位。

    WBA字段保存存储器域地址的第4~23 [8]位。

    POWARn寄存器描述Outbound窗口的属性,其主要字段如下。

    EN位,第0位。该位是Outbound窗口的使能位,为1表示当前Outbound寄存器组描述的存储器地址空间到PCI总线地址空间的映射关系有效;为0表示无效。

    RTT字段,第12~15位,该字段描述当前窗口的读传送类型,为0b0100表示存储器读,为0b1000表示I/O读。

    WTT字段,第16~19位,该字段描述当前窗口的写传送类型,为0b0100表示存储器写,为0b1000表示I/O写。在PCIe总线控制器中,RTT字段和WTT字段还可以支持对配置空间的读写操作。

    OWS字段,第26~31位,该字段描述当前窗口的大小,Outbound窗口的大小在4KB~64GB之间,其值为2OWS+1。 
     

    HOST主桥(2)

    3 使用Outbound寄存器访问PCI总线地址空间

    MPC8548处理器使用Outbound寄存器组访问PCI总线地址空间的步骤如下。

    (1) 首先MPC8548处理器需要将程序使用的32位有效地址EA (Effective Address)转换为41位的虚拟地址VA (Virtual Address)。E500 V2内核不能关闭MMU(Memory Management Unit),因此不能直接访问物理地址。

    (2) MPC8548处理器通过MMU将41位的虚拟地址转换为36位的物理地址。在E500 V2内核中,物理地址是36位(缺省是32位,需要使能)。

    (3) 检查LAWBAR和LAWAR寄存器,判断当前36位的物理地址是否属于PCI总线空间。在MPC8548中定义了一组LAWBAR和LAWAR寄存器对,每一对寄存器描述当前物理空间是与PCI总线、PCIe总线、DDR还是RapidIO空间对应。该组寄存器的详细说明见MPC8548 PowerQUICC III™ Integrated Host Processor Family Reference Manual。如果CPU访问的空间为PCI总线空间,则执行第(4)步,否则处理器将不会访问PCI地址空间。

    (4) 判断当前36位物理地址是否在POWBARn寄存器1~4描述的窗口中,如果在则将36位的处理器物理地址通过寄存器POTARn和POTEARn转换为64位的PCI总线地址,然后HOST主桥将来自处理器的读写请求发送到PCI总线上;如果不在POWBARn寄存器1~4描述的窗口中,POWBAR0寄存器作为缺省窗口,接管这个存储器访问,并使用寄存器POTAR0和POTEAR0,将处理器物理地址转换为PCI总线地址,当然在正常设计中很少出现这种情况。

    许多系统软件,将Outbound窗口两边的寄存器使用“直接相等”的方法进行映射,将存储器域的地址与PCI总线地址设为相同的值。但是系统软件程序员务必注意这个存储器地址与PCI总线地址是分属于存储器域与PCI总线域的,这两个值虽然相等,但是所代表的地址并不相同,一个属于存储器域,而另一个属于PCI总线域。

    2.2.3 PCI总线域地址空间到存储器域地址空间的转换

    MPC8548处理器使用Inbound寄存器组将PCI总线域地址转换为存储器域的地址。PCI设备进行DMA读写时,只有访问的地址在Inbound窗口中时,HOST主桥才能接收这些读写请求,并将其转发到存储器控制器。MPC8548处理器提供了3组Inbound寄存器,即提供3个Inbound寄存器窗口,实现PCI总线地址到存储器地址的反向映射。

    从PCI设备的角度上看,PCI设备访问存储器域的地址空间时,首先需要通过Inbound窗口将PCI总线地址转换为存储器域的地址;而从处理器的角度上看,处理器必须要将存储器地址通过Inbound寄存器组反向映射为PCI总线地址空间,才能被PCI设备访问。

    PCI设备只能使用PCI总线地址访问PCI总线域的地址空间。HOST主桥将这段地址空间通过Inbound窗口转换为存储器域的地址之后,PCI设备才能访问存储器域地址空间。这个地址转换过程如图2‑5所示。


    在介绍MPC8548处理器如何使用Inbound寄存器组进行PCI总线域地址空间到存储器域地址空间的转换之前,我们首先简要介绍Inbound寄存器组中的相应寄存器。该组寄存器的地址偏移、属性和复位值如表2‑3所示。

    表2‑3 PCI/X ATMU Inbound寄存器组

    Offset

    寄存器名

    属性

    复位值

    0x0_8DA0/C0/E0

    PITARn

    可读写

    0x0000-0000

    0x0_8DA8/C8/E8

    PIWBARn

    可读写

    0x0000-0000

    0x0_8DAC/CC

    PIWBEARn

    可读写

    0x0000-0000

    0x0_8DB0/D0/F0

    PIWARn

    可读写

    0x0000-0000

    值得注意的是,Inbound寄存器组除了可以进行PCI总线地址空间到存储器域地址空间的转换之外,还可以转换分属不同PCI总线域的地址空间,以支持PCI总线的Peer-to-Peer数据传送方式。

    1 PITARn寄存器

    PITARn寄存器保存当前Inbound窗口在存储器域中的36位地址空间的基地址,其地址窗口的大小至少为4KB,因此在该寄存器中仅存放存储器域地址的第0~23位,该寄存器的其主要字段如下所示。

    TEA字段存放存储器地址空间的第0~3位。

    TA字段存放存储器地址空间的第4~23位。

    2 PIWBARn和PIWBEARn寄存器

    PIWBARn和PIWBEARn寄存器保存当前Inbound窗口在PCI总线域中的64位地址空间的基地址的第63~12位,Inbound窗口使用的最小地址空间为4KB,因此在这两个寄存器中不含有PCI总线地址空间的第11~0位。这两个寄存器的主要字段如下所示。

    PIWBARn寄存器的BEA字段存放PCI总线地址空间的第43~32位。

    PIWBARn寄存器的BA字段存放PCI总线地址空间的第31~12位。

    PIWBEARn寄存器的BEA字段存放PCI总线地址空间的第63~44位。

    3 PIWARn寄存器

    PIWARn寄存器描述当前Inbound窗口的属性,该寄存器由以下位和字段组成。

    EN位,第0位。该位是Inbound窗口的使能位,为1表示当前Inbound寄存器组描述的存储器地址空间到PCI总线地址空间的映射关系有效;为0表示无效。

    PF位,第2位。该位为1表示当前Inbound窗口描述的存储区域支持预读;为0表示不支持预读。

    TGI字段,第8~11位。该字段为0b0010表示当前Inbound窗口描述的存储区域属于PCIe总线域地址空间;为0b1100表示当前Inbound窗口描述的存储区域属于RapidIO总线域地址空间。该字段对于OCeaN实现不同域间的报文转发非常重要,如果当前Inbound窗口的TGI字段为0b0010,此时PCI总线上的设备可以使用该Inbound窗口,通过OCeaN直接读取PCIe总线的地址空间,而不需要经过SoC平台总线。如果TGI字段为0b1111表示Inbound窗口描述的存储器区域属于主存储器地址空间,这也是最常用的方式。使用该字段可以实现HOST主桥的Peer-to-Peer数据传送方式。

    RTT字段和WTT字段,分别为该寄存器的第12~15位和第16~19位。Inbound窗口的RTT/WTT字段的含义与Outbound窗口的RTT/WTT字段基本类似。只是在Inbound窗口中可以规定PCI设备访问主存储器时,是否需要进行Cache一致性操作(Cache Lock and Allocate),在进行DMA写操作时,数据是否可以直接进入到Cache中。该字段是PowerPC处理器对PCI总线规范的有效补充,由于该字段的存在,PowerPC处理器的PCI设备可以将数据直接写入Cache,也可以视情况决定DMA操作是否需要进行Cache共享一致性操作。

    IWS字段,第26~31位。该字段描述当前窗口的大小,Inbound窗口的大小在4KB~16GB之间,其值为2IWS+1。

    4 使用Inbound寄存器组进行DMA操作

    PCI设备使用DMA操作访问主存储器空间,或者访问其他PCI总线域地址空间时,需要通过Inbound窗口,其步骤如下。

    (1) PCI设备在访问主存储器空间时,将首先检查当前PCI总线地址是否在PIWBARn和PIWBEARn寄存器描述的窗口中。如果在这个窗口中,则将这个PCI总线地址通过PITARn寄存器转换为存储器域的地址或者其他PCI总线域的地址;如果不在将禁止本次访问。

    (2) 如果PCI设备访问的是存储器地址空间,HOST主桥将来自PCI总线的读写请求发送到存储器空间,进行存储器读写操作,并根据Inbound寄存器组的RTT/WTT位决定是否需要进行Cache一致性操作,或者将数据直接写入到Cache中。

    结合Outbound寄存器组,可以发现PCI总线地址空间与存储器地址空间是有一定联系的。如果存储器域地址空间被Inbound寄存器组反向映射到PCI空间,这个存储器地址具有两个地址,一个是在存储器域的地址,一个是在PCI总线域的地址;同理PCI总线空间的地址如果使用Outbound寄存器映射到寄存器地址空间,这个PCI总线地址也具有两个地址,一个是在PCI总线域的地址,一个是在存储器域的地址。

    能够被处理器和PCI总线同时访问的地址空间,一定在PCI总线域和存储器域中都存在地址映射。再次强调,绝大多数操作系统将同一个空间的PCI总线域地址和存储器地址设为相同的值,但是这两个相同的值所代表的含义不同。

    由此可以看出,如果MPC8548处理器的某段存储器区域没有在Inbound窗口中定义时,PCI设备将不能使用DMA机制访问这段存储器空间;同理如果PCI设备的空间不在Outbound窗口,HOST处理器也不能访问这段PCI地址空间。

    在绝大多数PowerPC处理器系统中,PCI设备地址空间都在HOST主桥的Outbound窗口中建立了映射;而MPC8548处理器可以选择将哪些主存储器空间共享给PCI设备,从而对主存储器空间进行保护。

    2.2.4 x86处理器的HOST主桥

    x86处理器使用南北桥结构连接CPU和PCI设备。其中北桥(North Bridge)连接快速设备,如显卡、和内存条,并推出PCI总线,HOST主桥包含在北桥中。而南桥(South Bridge)连接慢速设备。x86处理器使用的南北桥结构如图2‑6所示。

    Intel使用南北桥概念统一PC架构。但是从体系结构的角度上看,南北桥架构并不重要,北桥中存放的主要部件不过是存储器控制器、显卡控制器和HOST主桥而已,而南桥存放的是一些慢速设备,如ISA总线和中断控制器等。

    不同的处理器系统集成这些组成部件的方式并不相同,如PowerPC、MIPS和ARM处理器系统通常将CPU和主要外部设备都集成到一颗芯片中,组成一颗基于SoC架构的处理器系统。这些集成方式并不重要,每一个处理器系统都有其针对的应用领域,不同应用领域的需求对处理器系统的集成方式有较大的影响。Intel采用的南北桥架构针对x86处理器的应用领域而设计,并不能说采用这种结构一定比MPC8548处理器中即含有HOST-to-PCI主桥也含有HOST-to-PCIe主桥更为合理。

    在许多嵌入式处理器系统中,即含有PCI设备也含有PCIe设备,为此MPC8548处理器同时提供了PCI总线和PCIe总线接口,在这个处理器系统中,PCI设备可以与PCI总线直接相连,而PCIe设备可以与PCIe总线直接相连,因此并不需要使用PCIe桥扩展PCI总线,从而在一定程度上简化了嵌入式系统的设计。

    嵌入式系统所面对的应用千姿百态,进行芯片设计时所要考虑的因素相对较多,因而在某种程度上为设计带来了一些难度。而x86处理器系统所面对的应用领域针对个人PC**务器,向前兼容和通用性显得更加重要。在多数情况下,一个通用处理器系统的设计难过专用处理器系统的设计,Intel为此付出了极大的代价。

    在一些相对较老的北桥中,如Intel 440系列芯片组中包含了HOST主桥,从系统软件的角度上看HOST-to-PCI主桥实现的功能与HOST-to-PCIe主桥实现的功能相近。本节仅简单介绍Intel的HOST-to-PCI主桥如何产生PCI的配置周期,有关Intel HOST-to-PCIe主桥[9]的详细信息参见第5章。

    x86处理器定义了两个I/O端口寄存器,分别为CONFIG_ADDRESS和CONFIG_DATA寄存器,其地址为0xCF8和0xCFC。x86处理器使用这两个I/O端口访问PCI设备的配置空间。PCI总线规范也以这个两个寄存器为例,说明处理器如何访问PCI设备的配置空间。其中CONFIG_ADDRESS寄存器存放PCI设备的ID号,而CONFIG_DATA寄存器存放进行配置读写的数据。

    CONFIG_ADDRESS寄存器与PowerPC处理器中的CFG_ADDR寄存器的使用方法类似,而CONFIG_DATA寄存器与PowerPC处理器中的CFG_DATA寄存器的使用方法类似。CONFIG_ADDRESS寄存器的结构如图2‑7所示。

    CONFIG_ADDRESS寄存器的各个字段和位的说明如下所示,

    Enable位,第31位。该位为1时,对CONFIG_DATA寄存器进行读写时将引发PCI总线的配置周期。

    Bus Number字段,第23~16位,记录PCI设备的总线号。

    Device Number字段,第15~11位,记录PCI设备的设备号。

    Function Number字段,第10~8位,记录PCI设备的功能号。

    Register Number字段,第7~2位,记录PCI设备的寄存器号。

    当x86处理器对CONFIG_DATA寄存器进行I/O读写访问,且CONFIG_ADDR寄存器的Enable位为1时,HOST主桥将这个I/O读写访问转换为PCI配置读写总线事务,然后发送到PCI总线上,PCI总线根据保存在CONFIG_ADDR寄存器中的ID号,将PCI配置读写请求发送到指定PCI设备的指定配置寄存器中。

    x86处理器使用小端地址模式,因此从CONFIG_DATA寄存器中读出的数据不需要进行模式转换,这点和PowerPC处理器不同,此外x86处理器的HOST主桥也实现了存储器域到PCI总线域的地址转换,但是这个概念在x86处理器中并不明晰。

    本书将在第5章以HOST-to-PCIe主桥为例,详细介绍Intel处理器的存储器地址与PCI总线地址的转换关系,而在本节不对x86处理器的HOST主桥做进一步说明。x86处理器系统的升级速度较快,目前在x86的处理器体系结构中,已很难发现HOST主桥的身影。

    目前Intel对南北桥架构进行了升级,其中北桥被升级为MCH(Memory Controller Hub),而南桥被升级为ICH(I/O Controller Hub)。x86处理器系统在MCH中集成了存储器控制器、显卡芯片和HOST-to-PCIe主桥,并通过Hub Link与ICH相连;而在ICH中集成了一些相对低速总线接口,如AC’97、LPC(Low Pin Count)、IDE和USB总线,当然也包括一些低带宽的PCIe总线接口。

    在Intel最新的Nehelem[10]处理器系统中,MCH被一份为二,存储器控制器和图形控制器已经与CPU内核集成在一个Die中,而MCH剩余的部分与ICH合并成为PCH(Peripheral Controller Hub)。但是从体系结构的角度上看,这些升级与整合并不重要。

    目前Intel在Menlow平台基础上,计划推出基于SoC架构的x86处理器,以进军手持设备市场。在基于SoC构架的x86处理器中将逐渐淡化Chipset的概念,其拓扑结构与典型的SoC处理器,如ARM和PowerPC处理器,较为类似。 

    NOW现在行动!
    推荐阅读
    【Vivado那些事】如何查找官网例程及如何使用官网例程【Vivado使用误区与进阶】总结篇【Vivado那些事】Vivado中常用的快捷键(二)其他常用快捷键SystemVerilog数字系统设计_夏宇闻 PDFVerilog 里面,always,assign和always@(*)区别图书推荐|ARM Cortex-M0 全可编程SoC原理及实现
    简谈:如何学习FPGA1202年了,还在使用虚拟机吗?Win10安装Ubuntu子系统及图形化界面详细教程谈谈Xilinx FPGA设计的实现过程
    Github 上有哪些优秀的 VHDL/Verilog/FPGA 项目
    AD936x+ZYNQ搭建收音机(一)AD936x+ZYNQ搭建OpenWIFI
    Verilog 版本:Verilog-95、Verilog-2001与System Verilog区别简谈
    FPGA时钟设计方案无招胜有招-Vivado非工程模式下的详细设计
    追寻ARM的起源-Acorn电脑简史及FPGA实现
    面试中经常会遇到的FPGA基本概念,你会几个?
    Xilinx FPGA MIPI 接口简单说明
    介绍一些新手入门FPGA的优秀网站
    Vivado ML(机器学习) 2021尝鲜
    推荐一些可以获取免费的国外的原版书籍(电子版)网站
    【Vivado那些事】FPGA的配置方式
    FPGA 的重构
    浅析FPGA局部动态可重构技术
    ISP(图像信号处理)算法概述、工作原理、架构、处理流程
    国产CPU概括
    浅谈PCI Express体系结构(一)
    浅谈PCI Express体系结构(二)
    点击上方字体即可跳转阅读
    
    展开全文
  •  PCI总线:PCI总线是一种高性能局部总线,其不受CPU限制,构成了CPU和外设之间的高速通道。比如现在的显卡一般都是用的PCI插槽,PCI总线传输速度快,能够很好地让显卡和CPU进行数据交换。  南桥:主要负责I/...
  • 总线

    2018-06-29 21:03:07
    总线----一组信号、各模块传送信息的公共通路。1. 总线的分类(按所处的位置)l 片内总线(芯片内部,逻辑单元之间的连接)。l 微处理器总线,局部总线(局部总线,元件级总线,板内,元件之间的连接)。l 系统总线(内...
  • 可以,如果没有IO,所有的“外设IO接口”都是直接挂接在三大高速总线上的,但是随着发展,挂接的外部设备越来越多,直接挂接在总线上,太多了,管理是一个麻烦,慢慢的才有了IO这个管理者。 IO的好处 设备...
  • stm32 总线矩阵介绍

    千次阅读 2018-12-16 10:25:23
    主系统由 32 位多层 AHB 总线矩阵构成,可实现以下部分的互连: ...— DMA2 外设总线 — 以太网 DMA 总线 — USB OTG HS DMA 总线 ● 七条被控总线: — 内部 Flash ICode 总线 — 内部 Flash DCode 总...
  • 部分内容来自于 知乎 前端总线,系统总线,内部总线,外部总线 本文是在两篇文章的基础上进行了二次加工,对两篇文章的精华内容进行了提炼,删掉了对理解主题不重要的,或已经过时的内容。并且为了更好的理解,自己...
  • AMBA总线分析

    千次阅读 2015-02-07 17:00:20
    一、AMBA总线标准 1. AMBA 全称“Advanced Microprocessor Bus Architectur”,是ARM公司提出的一种开放性的SOC总线... busing system),包括系统总线和等级稍低的外设总线。 AMBA支持32位、64位、128位的数据
  • 总线概述及常见总线

    2016-09-27 09:16:49
    一. 总线概念 所谓总线(Bus),是指计算机设备和设备之间传输信息的公共数据通道。总线是连接计算机硬件系统内多种设备的通信线路,它的一个重要...微机中的总线分为数据总线、地址总线和控制总线3类。不同型号的C
  • 系统总线

    2020-03-21 16:05:41
    系统总线总线的基本概念总线的分类总线特性及性能指标总线结构小记 总线的基本概念 1.计算机系统的五大部件的互联方式: (1)各部件之间通过单独的连线,叫做**分散连接**。 (2)将各部件连到一组公共信息传输线...
  • 补充资料:PC总线诠释PC总线从英特尔奔腾到奔腾Ⅲ,主板上的芯片组的结构和作用都没有太大的变化,一般分成2部分,由2块集成芯片组成,通过专用总线进行连接,这就是我们所称的“”,简单地来说就是一个总线转换...
  • 文章目录1 总线的概念与分类1.1总线的定义1.2 总线的特点1.3 总线的特性1.4 总线的分类1.4.1 串行总线与并行总线1.4.2 按总线功能分类1.5 系统总线的结构1.6 总线概念与分类小结2 总线的性能指标2.1 性能指标分析2.2...
  • AMBA总线笔记

    2020-08-25 00:06:28
    ARM研发的AMBA(Advanced Microcontroller Bus Architecture)提供一种特殊的机制,可将RISC处理器集成在其它IP芯核和外设中,2.0版AMBA标准定义了三...:AHB(AMBA高性能总线)、ASB(AMBA系统总线)、和APB(AMBA外设总线)...
  • stm32的总线架构

    2020-08-06 20:52:50
    stm32的总线架构 ...剩下片内外设和外界设备则是需要通过系统总线(AHB)进行数据的传输,对于低速外设则是挂载在相对较慢的外设总线(APB)总线,APB总线通过一个接器最终还是会挂载到AHB总线上。 ...
  • (1)前端总线 前端总线(FSB,Front Side Bus)是指中央处理器数据总线的专门术语,此总线负责中央处理器和北桥芯片间的数据传递。某些带有L2和L3缓存(Cache)的计算机,通过后端总线(Back Side Bus)实现这些...
  • AXI总线

    2018-10-16 10:21:42
    AXI 总线概述 1.简介: axi总线是arm公司开发的一套soc总线标准,用于片上系统设计时各个模块之间的互联操作,被广大的ic设计厂商所使用。AXI是高级扩展接口,在AMBA3.0中提出,AMBA4.0将其修改升级为AXI4.0。AMBA...
  • PCI总线与HT总线

    2020-05-16 11:29:11
    总线(BUS)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束,按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制...
  • ARM总线

    2008-08-07 08:17:00
    在ARM核中,所采用的总线是其自己研发的AMBA总线协议,该总线包含AHB[ARM高性能总线]、ASB[ARM系统总线]、APB[ARM外设总线]。看完这些总线的名称就知道是各总线的功能;只是要提到的是目前ARM核中没有使用ASB,而是...
  • AMBA是指先进的微控制器总线体系结构,主要由系统总线和外围总线两部分组成,它的演进如下: 根据AMBA标准定义了多种不同的总线,下面列出了四种核心的总线作以简介: 高级系统总线 [Advanced System B...
  • STM32F407总线

    2021-01-24 23:56:33
    — DMA2 外设总线 — 以太网 DMA 总线 — USB OTG HS DMA 总线 ● 七条被控总线: — 内部 Flash ICode 总线 — 内部 Flash DCode 总线 — 主要内部 SRAM1 (112 KB) — 辅助内部 SRAM2 (16 KB) — 辅助内部 SRAM3
  • AMBA总线概述

    千次阅读 2016-05-08 11:27:15
    一、概述 高级微控制器总线体系(AMBA)规范定义了在设计高...l 高级外设总线(APB) 一般的系统会选择AHB/ASB+APB的总线架构,图1是一个典型的AMBA系统   图 1 典型AMBA系统   AMBA AHB用于高性能、高时
  • 计算机总线

    2020-03-22 00:42:54
    第三章 计算机系统总线 3.1总线的基本概念 为了在各个部件之间传送信息而存在的公共通路叫总线,它是各个部件共享的传输介质 传输信息的方式串行并行 3.2总线的分类 片内总线(芯片内部的总线) 系统总线(各个部件...
  • APB总线

    2020-08-23 12:25:12
    APB简介 APB(Advanced Peripheral Bus),外围总线。APB属于AMBA 3 协议系列,它提供了一个低功耗的接口, 并降低了接口的复杂性。 APB接口用在低带宽和...​APB主要用于低带宽的周边外设之间的连接,例如UART、1284等

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,429
精华内容 1,771
关键字:

外设总线桥