dma总线全称_DMA & RDMA 基本概念,操作系统架构,总线 【good】

本文介绍了DMA(直接内存访问)技术在系统架构中的作用,阐述了如何通过DMA减轻CPU负担,提高数据传输效率。同时,文章讨论了RDMA(远程直接内存访问),一种低延迟、零拷贝的技术,以及其在大规模并行计算集群中的应用。RDMA通过内核旁路提高性能,但也存在成本高和编程复杂等问题。文中还对比了InfiniBand、RoCE和iWARP三种不同的RDMA实现方式。
摘要由CSDN通过智能技术生成

DMA

系统架构

rdma1

先来看一个典型的系统架构,其中,CPU 通过某种内存总线(memory bus)或互连电缆连接到系统内存。图像或者其他高性能 I/O 设备通过常规的I/O 总线(I/O bus)连接到系统,在许多现代系统中会是 PCI 或它的衍生形式。最后,更下面是外围总(peripheral bus),比如 SCSI、SATA 或者 USB。它们将最慢的设备连接到系统,包括磁盘、鼠标及其他类似设备。

为什么会用这样的分层架构?因为物理布局及造价成本。越快的总线长度越短,因此高性能的内存总线没有足够的空间来接太多设备。另外,在工程上高性能总线的造价非常高。所以,系统的设计采用了这种分层的方式,这样可以让要求高性能的设备(比如显卡)离 CPU 更近一些,低性能的设备离 CPU 远一些。将磁盘和其他低速设备连到外围总线的好处很多,其中较为突出的好处就是你可以在外围总线上连接大量的设备。

标准设备

rdma2

现在来看一个标准设备(不是真实存在的),通过它来帮助我们更好地理解设备交互的制。从图 中,可以看到一个包含两部分重要组件的设备。

第一部分是向系统其他部分展现的硬件接口(interface)。同软件一样,硬件也需要一些接口,让系统软件来控它的操作。因此,所有设备都有自己的特定接口以及典型交互的协议。

第二部分是它的内部结构(internal structure)。这部分包含设备相关的特定实现,负责具体实现设备展示给系统的抽象接口。非常简单的设备通常用一个或几个芯片来实现它们的功能。更复杂的设备会包含简单的 CPU、一些通用内存、设备相关的特定芯片,来完成它们的工作。例如,现代 RAID 控制器通常包含成百上千行固件(firmware,即硬件设备中的软件),以实现其功能。

标准协议

在图 36.2 中,一个(简化的)设备接口包含 3 个寄存器:一个状态(status)寄存器,可以读取并查看设备的当前状态;一个命令(command)寄存器,用于通知设备执行某个具体任务;一个数据(data)寄存器࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值