带宽,最容易想到的是上网用的网络带宽,在嵌入式软件开发中,也会用到带宽,这个带宽的含义就不一样了,区别是什么?本篇就来介绍一下,并通过一些例子来进行带宽的计算。
先来简单看下不同领域的带宽:
- 显示器中的带宽,单位是MHz,是一个频率的概念
- 通讯领域的带宽,单位是M(Mb/s),是一个速率(或数据传输率)的概念
- 嵌入式开发中的带宽,如总线或内存带宽,单位是MB/s或GB/s
1 不同含义带宽简介
1.1 显示器带宽
以CRT显示器为例,其带宽指的是频率概念,属于电路范畴,更符合带宽本来的含义。
要了解CRT显示器带宽的含义,需要先简单了解下其工作原理,其基本原理就是电子枪发射电子束,打在屏幕上发光,为了实现满屏幕显示,电子束必须从左到右、从上到下一个一个象素点进行扫描。
例如,若要完成800×600分辨率的画面显示,电子枪必须完成800×600=480000个点的顺序扫描。
荧光粉受到电子束击打后发光的时间其实很短,在一秒钟时间电子束往往都能完成超过85个完整画面的扫描,即屏幕画面可更新85次,人眼无法感知到如此小的时间差异会误以为屏幕处于始终发亮的状态。
每秒钟屏幕画面刷新的次数就叫场频,或称为屏幕的垂直扫描频率、以赫兹(Hz)为单位,也就是俗称刷新率。
例如:800×600分辨率、85Hz刷新率的CRT显示器,电子枪在一秒钟至少要扫描的点为:
800×600×85=40800000
如果将分辨率和刷新率都提高,电子枪要扫描的点数将大幅提高。
另外,由于显像管电子束的扫描过程是非线性的,为避免信号在扫描边缘出现衰减影响效果、保证图像的清晰度,总是将边缘扫描部分忽略掉,忽略的度量,用有效扫描系数表示,为0.6~0.8,一般取0.744。
了解了以上CRT显示器的基础原理后,现在来看下CRT显示器的带宽含义:
显示器带宽指的是显示器的电子枪在一秒钟内可扫描的最高点数总和,它等于:
水平分辨率×垂直分辨率×场频(画面刷新次数)÷扫描系数
单位为MHz(兆赫)。
例如,上面举例的800×600分辨率、85Hz刷新率的CRT显示器,其带宽计算为:
800×600×85/0.744=54838709.677=54.8MHz
1.2 网络带宽
在通讯和网络领域,带宽是指网络信号可使用的最高频率与最低频率之差,或说频带的宽度,或信道带宽。
在100M以太网之类的铜介质布线系统中,双绞线的信道带宽通常用MHz为单位,它指的是信噪比恒定的情况下允许的信道频率范围。
需注意的一点,生活中我们装宽带,说的多少兆的宽带,其单位是bit,例如100M的宽带,其实的100Mbit/s,即12.8MB/s。
另外,因受用户计算机性能、网络设备质量、资源使用情况、网络高峰期、网站服务能力、线路衰耗,信号衰减因素的影响,实际的速度会更低,例如2M(即2Mb/s)宽带理论速率是:256KB/s,实际速率大约为150~240KB/s;
注意带宽与宽带的区别:
带宽是量词,指的是网速的大小,比如1Mbps的意思是一兆比特每秒,这个数值就是指带宽。
宽带是名词,说明网络的传输速率速很高 。宽带的标准各不相同,例如64kbps以上带宽的就是宽带,而以下的就是窄带。
1.3 总线带宽
在计算机系统中,总线的作用就好比是人体中的神经系统,它承担的是所有数据传输的职责,而各个子系统间都必须藉由总线才能通讯。
按照工作模式不同,总线可分为两种类型:
- 一种是并行总线,它在同一时刻可以传输多位数据,好比是一条允许多辆车并排开的宽敞道路,而且它还有双向单向之分
- 一种是串行总线,它在同一时刻只能传输一个数据,好比只容许一辆车行走的狭窄道路,数据必须一个接一个传输
总线的带宽指的是这条总线在单位时间内可以传输的数据总量,它等于:
总线位宽x工作频率
例如:对于64位、800MHz的前端总线,它的数据传输率就等于:
64bit×800MHz÷8(Byte)=6.4GB/s
2 嵌入式中的带宽计算
2.1 题1(总线带宽)
- 题目
某系统一个总线周期中并行传输4字节信息,一个总线周期占用2个时钟周期,总线时钟频率为100MHz,求总线带宽
- 解答
由题目知,是并行总线,并行传输4字节,而8位是一个字节,所以此总线的32位的;又总线时钟频率为100MHz,而一个总线周期占用2个时钟周期,所以实际上总线的频率是50MHz,所以总线带宽计算为:
32bit×50MHz÷8(Byte)=200MB/s
或直接使用Byte单位计算:
4Byte×50MHz=200MB/s
2.2 题2(存储器带宽)
- 题目
某计算机字长是16位,存储器存取周期是500ns,求存储器的带宽
- 解答
字长是16位,也就是数据线宽度16bit,也即2Byte;存储周期500ns,即0.5us,即0.5x10(-6)s,,转换为频率为1/(0.5x10(-6))s=2000000Hz=2MHz。
所以,总线带宽计算为:
2Byte×2MHz=4MB/s
2.3 题3(显存带宽)
- 题目
某计算机显示器存储用DRAM芯片实现,要求显示分辨率1024x1024,颜色深度24位,帧率100Hz,显示总带宽的50%来刷新屏幕,求至少需要的显存总带宽
- 解答
分辨率1024x1024,颜色深度24位,则一帧图形的数据量为1024x1024x24bit=24Mbit,又因帧率100Hz,则一秒的数据量为24Mbitx100Hz=2400Mbit,使用以秒为单位,则显示器的带宽为2400Mbps,而显示总带宽的50%用来刷新屏幕,则显存的总带宽为4800Mbps
3 总结
本篇线介绍了不同领域的带宽含义,然后通过实际的题目与求解,介绍嵌入式领域中带宽的计算方法。