`
javababy1
  • 浏览: 1215403 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

从PC总线到ARM的内部总线

 
阅读更多
从PC总线到ARM的内部总线

从PC的总线到ARM内部总线

我在学习《Linux设备驱动程序(第3版)》第九章 与硬件通信 时,对 I/O总线的概念 不是很清晰,所以查找了有关资料。现在总结如下

本文的参考资料:
1、 《AMBA、AHB、APB总线简介》 作者 adamzhao 日期 2006-11-16 19:33:00
转载网址:http://www.openhard.org/myspace/blog/show.php?id=75802
2、 《Introduction to AMBA Bus System 》台湾 工研院 / 系統晶片技術中心工程師 吳欣龍,PDF格式
下载地址:http://tpe-wh3.dwins.net/download/member_file/2002/soc/2002-5-1.pdf
3、 《PC架构系列:CPU/RAM/IO总线的发展历史!》
转载网址:http://blog.csdn.net/xport/archive/2006/11/16/1387928.aspx
4、 《认识物理I/O构件- 主机I/O总线(1)》作者:IT168存储频道 2007-04-10

总线的演变
首先应该讲讲总线的演变历史,这方面《PC架构系列:CPU/RAM/IO总线的发展历史!》这篇文章写得很好!感谢文章的作者!以下内容大量来自这篇文章,可以说是这篇文章的缩减转载。

公共总线

早期PC中,CPU/RAM/IO都是挂在一条总线上,所有的部件都必须在同步的模式下工作。这样就带来一个"互锁" (locked to each other )效应:所有设备都被限定在一个通用时钟频率(Clock Frequency)上面,整个系统的速度会被系统中最慢的设备限制,系统的整体性能无法提高。

南桥诞生(I/O总线诞生

1987年,康柏(Compaq)公司想到一个办法: 将系统总线与I/O总线分开,使得2个不同的总线工作在不同的时钟频率上。CPU和内存工作在系统总线上(the System Bus),独立于所有的I/O设备。这样高速的CPU/RAM组件就摆脱了低速I/O设备的束缚。



这里的Bridge,就是现在的南桥(South Bridge)芯片的前身,而它实际起到了降频的作用。


倍频出世

从80486开始,CPU的发展迅猛,频率大幅攀升。内存开始变得跟不上CPU的发展步伐了。Intel 于是决定在80486中引入倍频(Clock Doubler)的概念。内存依旧工作在系统总线上,与系统总线保持同样的工作频率,而CPU的内部工作频率(CPU主频)是:

ARM处理器的内部总线

认真研究ARM9(以s3c2410为例)的结构框图,你会发现:作为高性能的嵌入式CPU,ARM9可以看成一个高度浓缩的计算机系统,类似于分化出南桥芯片且有倍频的计算机构架!具体见下图:

看了这些,应该可以对计算机的总线有了一些认识,更重要的是对ARM9的体系构架有了更好地认识!这里值得注意的是:ARM 的内存芯片并没有直接接在“内存总线”上,而是通过内存控制器间接地和“内存总线”连接。
如果你有兴趣更深入地研究ARM的总线结构,推荐你看一下我上面提到的参考资料:《AMBA、AHB、APB总线简介》、《Introduction to AMBA Bus System 》 。我就不在这废话了,因为他们讲得已经很全面,很精彩了。你如果是ARM总线的设计者,你应该看看ARM 公司的《AMBA™ Specification (Rev 2.0)文档(去ARM的官方网站注册一下就可以下载了)。

CPU 主频 = 外频(系统总线频率System Bus Frequency)*倍频 (Clock doubler)

北桥和前端总线的诞生

PC结构的变化趋势是把低速设备高速设备用隔离总线的方法进行隔离。而发展到后来,就演变出了北桥(North Bridge)芯片。内存与北桥间的总线称为内存总线,把CPU与北桥间连接的这段总线成为前端总线(Front Side Bus,FSB),也就是系统总线System Bus)!


PC中的I/O总线
通过上面的文章,我们知道的总线的演变过程。现在专门来讲讲I/O总线。

总线:用来传送信号或能量的构造器。

系统 I/O 总线将指令从内存传导至与输入/输出处理器(IOP)相连的设备。系统 I/O 总线还会将指令从 IOP 传导回内存。

以下的内容来自《认识物理I/O构件- 主机I/O总线(1)》,这篇文章写得很好。感谢文章作者!

在数据离开系统内存总线后,它通常传输到另一条总线:主机I / O总线。现在最常见的主机I / O总线是P C I总线,另外还有如PCI-E总线、ISA总线,E I S A总线及V M E总线等等。主机I / O总线实现了几种重要的功能,包括:

允许加入新的插卡。
允许从内存总线输入和输出数据。
允许在插卡之间传输数据
主机I / O总线并不是处于设备与系统内存总线间的仅有的中介物,在主机I / O总线和系统内存总线之间还存在着桥控制器芯片(南桥),该芯片负责在两总线之间交换数据。主机I / O总线是在内存和外设之间传送数据的运输工具。
分享到:
评论

相关推荐

    基于ARM的PC104总线实现

    它支持ISA总线协议,使得PC104模块可以与传统的PC总线设备兼容。实现PC104总线,需要对总线协议进行深入分析,从而确保所有的通信和数据传输都能按照标准进行。 CPLD作为实现PC104总线的关键硬件部分,其作用是提供...

    基于CAN总线的ARM分布式数控系统的设计.pdf

    该方案通过将CAN总线的分布式控制与ARM处理器的高性能相结合,旨在提高系统的资源利用率和实时性,同时确保系统的灵活性和通用性。文章中主要分析了系统各部分的功能,设计了硬件电路和程序,并重点介绍了在ARM...

    基于ARM处理器的PC_104总线嵌入式计算机的设计.pdf

    【基于ARM处理器的PC_104总线嵌入式计算机设计】 嵌入式系统设计在不断演进,越来越注重软硬件的协同,其中嵌入式操作系统扮演着关键角色。ARM处理器与Linux操作系统结合的嵌入式计算机因其设计灵活性、硬件可裁剪...

    基于ARM7的PC_104接口的设计与实现.pdf

    《基于ARM7的PC_104接口的设计与实现》这篇论文...通过这种设计,可以将PC/104总线的优势——如紧凑的尺寸、丰富的扩展能力和与现有ISA设备的兼容性——引入到基于ARM的嵌入式系统中,进一步提升系统的灵活性和适应性。

    基于ARM和uC_OS-Ⅱ的PC_104总线无人机火控计算机设计.pdf

    【基于ARM和uC_OS-Ⅱ的PC_104总线无人机火控计算机设计】是一种专门用于无人机的火控系统的计算机设计方案。该设计利用了ARM处理器和uC_OS-Ⅱ实时操作系统,以适应无人机对火控计算的高速、精准需求。 ARM处理器是...

    pc104 arm linux 驱动

    ### pc104 ARM Linux驱动知识点解析 #### 一、pc104简介与应用场景 PC104是一种紧凑型的计算机总线标准,适用于嵌入式系统领域,特别是那些空间受限的应用场景。ARM架构因其低功耗特性,在嵌入式系统中广泛使用。...

    嵌入式系统/ARM技术中的基于ARM嵌入式系统的PC/104总线设计

    在设计中,S3C2410的数据总线通过CPLD输出到Buffer,然后连接到PC/104总线,确保总线控制的正确性和系统的稳定性。 综上所述,基于ARM的嵌入式系统结合PC/104总线设计,旨在克服x86架构的局限性,提供更高效、低...

    从零开始学arm9.pdf

    从零开始学习ARM9:基于S3C2410的入门指南 一、S3C2410X高性能ARM处理器概览 S3C2410X是一款由三星公司推出的高性能ARM处理器,其核心是ARM920T内核,这款16-/32-bit RISC CPU不仅性能强大,而且集成了众多先进的...

    基于FPGA与ARM单片机的CAN总线分析仪设计.pdf

    本文档所讨论的是基于FPGA(现场可编程门阵列)和ARM单片机的CAN(Controller Area Network,控制器局域网络)总线分析仪的设计。CAN总线作为一种广泛应用于汽车和工业自动化领域的串行通信协议,因其在恶劣环境下的...

    基于ARM和FPGA高速1553B总线测试系统的设计.pdf

    总之,基于ARM和FPGA的高速1553B总线测试系统是解决传统1553B总线设备局限性的有效途径,它不仅提升了通信速度,还优化了与PC机的交互方式,对于提升相关领域设备的性能具有重要意义。这一设计方法和实现思路为其他...

    嵌入式系统/ARM技术中的一种SMC接口研究与PC/104总线仿真设计与实现

    像原来的PC总线一样,PC104一直是以一个非法定标准在执行,而不是委员会设计制定的。1992年IEEE开始着手为PC和PC/AT总线制定一个精简的IEEEP996标准(草稿),PC104作为基本文件被采纳,叫做IEEE P996.1兼容PC嵌入式...

    ARM s5pc100 实现温度传感器

    S5PC100是三星电子推出的一款32位微控制器,基于ARM Cortex-A8内核,它集成了多种硬件接口,如I²C(Inter-Integrated Circuit)总线,用于与外部设备通信,如温度传感器。I²C总线是一种多主控、两线制的串行通信...

    嵌入式系统/ARM技术中的基于Linux的PC104总线与CAN总线通信设计

    这个转换卡考虑到了PC104嵌入式系统通常运行Linux操作系统的情况,因此,还编写了Linux下的驱动程序,用于访问双口RAM,以实现总线间的数据同步。 硬件部分的设计主要包括以下几个关键组件: 1. 双端口RAM IDT7134...

Global site tag (gtag.js) - Google Analytics