|
|
原帖由 smilexp 于 2006-6-5 01:12 发表
( w* F! {: z, u2 c0 B
5 m6 ]+ {+ _7 h! C( n) v% `& [
" I! n6 S. ?) s i$ W" z建议你去了解一下PCI总线,PCI总线是并行工作的,加上FIFO缓冲区以及DMA,数据时延没有你想像中那么严重,基本上可以认为是实时传送
8 ?- N6 e6 L1 M H按照你的逻辑,ISA声卡时代莫非玩游戏都是按一下等半天才有声音出来? 8 ?2 ]( B# x( N# g% ^
) v0 e" G* E* Z. Z3 N# tpci总线是并行总线,但pci总线也是共享总线,挂在上面的设备共同分享带宽,而pcie的一个明显好处就是各设备独享带宽,而且不像pci总线,pcie总线可以同时读写,是“全双工”。
8 {1 Y- x/ D1 \3 x& O, \
! K S& D: ^1 ]' c4 } ]0 h到底pci总线的实际速度有多少,我搜索了一下:' ]1 p v. W6 S6 C$ f- q. N( s
- R2 C" X: B: W9 J X2 J# c6 Z/ a% x我们经常提到的132MByte/s只是在数据传输Burst时达到的峰值,实际中不可能。0 W8 `1 k$ z, g5 z
因为还要有仲裁、地址段、译码等时间。) i8 m3 |6 r% z; ~' g) h
& x( O7 d6 H& S" s1 m$ i一般认为在一个轻载的系统中,一个设计优秀的PCI系统是可以获得40MB/s到50MB/s的 ! ~7 v0 O! P. W& A, w
实际运行带宽的。请注意一定是轻载系统。如果有大量的其他设备需要占用PCI " b% m9 d# s0 T4 J
总线,那么你的设备所得到的带宽就会大大下降(例如大量的图形刷新,网络
6 {' @# o. M. X; F+ f! [' O4 r, v传输,硬盘操作等等)。, V2 f" T& \: N1 Y" o" \; O# o
; j! B+ b8 U( ]3 `; f/ Y
你还要考虑到:
: o' y1 e+ K' y7 b- M
: u. I. N& ^, dRetry; z' D' N/ i& l, k! P
Wait State
, c6 d7 }9 {7 F" B+ e+ f7 U# [Interrupt service polling
: b1 U( B$ U6 z$ B" M3 i: A7 w4 U) T( m8 ~
即使你能够一个接一个地传输,但是 Single Read / Single Write 将使得真正实用的带宽降到四分之一或更低。* U! W6 M! P! u5 G! n
; w3 v: H, _+ l# r3 T
如果需要 CPU 频繁地调度各个芯片之间的工作,或者是 SW/HW 有频繁的交互,即,
; @) {6 d) K# S1 G/ ?/ K# c" O
7 t4 l3 p4 |- \* m# J& |3 c2 A5 [! ?Set registers' [* L2 j n3 I& ^
Service interrupt
- d( y# m9 g; T8 w
7 J1 `! ~7 a* s. s( c传输数据的带宽又被迫降低。/ F7 F6 l1 J6 E' h. k/ S# L
2 e' p+ _" S2 C9 n- O9 B
更深一步看系统,如果系统的 Memory 的组织,排的不利于 Burst,那么,即使使用DMA也无济于事,过多的 Transaction Overhead 将使得使用带宽进一步下降。
E8 S! v) F" y. B& k3 I3 n3 B/ Y0 G4 h
说实话,以上的文字我看不太懂,但结论很明显。1 _' L5 g1 u7 s) e) C1 m# b( I- Z
! [+ X3 K) c5 r% g( W& B+ ^$ ]8 F- R
要讨论延迟,总得有个参照,看和谁比,如果是听mp3,几百毫秒的延迟也不影响,因为你要关注的就是声音本身,没有其它参照;如果是看多声道电影,过高的延迟人们会察觉出来,就是音画不同步,但实际中这种情况很少见,播放软件会控制音画同步,个别情况比如mpc+创新dts硬解码,就要靠外挂的软件来实现同步,就是reclock这个滤镜。% I+ `* ^" f* x" J6 R
@2 {% T" Z: h3 c5 E6 Q& v我在顶楼说的很明白,讨论的是3D音频加速性能,就是常说的声卡游戏性能。这时候对延迟的要求就很高了,因为要求音画同步的同时对画面的帧数还有极高要求。电影的fps要么23.976要么25,游戏的fps降到这个水平就没人玩了,而且游戏的时候cpu是满载,片刻的分心就会在fps上体现出来。就是说20ms的延迟在听音乐、看电影的时候不是问题,但跑游戏的时候就是严重问题。 |
|