流水线
设流水线由N段组成,每段所需时间分别为 Δ t j \Delta{t_j} Δtj(1<=j<=N),完成M个任务的实际时间可计算如下:
t i m e = ∑ i = 1 N Δ t i + ( M − 1 ) Δ t j time = \sum_{i=1}^{N}{\Delta{t_i}}+(M-1)\Delta{t_j} time=i=1∑NΔti+(M−1)Δtj
Δ t j \Delta{t_j} Δtj为时间最长的那一段的执行时间。
公式逆向证明
-
流水线完成两个任务的时间
假设完成一个任务时间为 t s u m t_{sum} tsum, 那么根据公式计算流水线完成两个任务的最短时间为 t s u m + Δ t j t_{sum}+\Delta{t_j} tsum+Δtj。
根据实际运行情况,第二个任务比第一个任务必定始终慢一个步骤,那么第二个任务的最终完成时间就比第一个任务晚任务步骤中最长的一个步骤,即时间 Δ t j \Delta{t_j} Δtj。那么两个任务的完成时间与公式计算出来的相同。
-
流水线完成M个任务的时间
以此类推,第x个任务相比第x-1个任务,也晚 Δ t j \Delta{t_j} Δtj,最后的任务完成时间限上面给出公式。
信噪比
计算中易忘点在单位换算,将常数换算成分贝值
信噪比:信号功率与噪声功率的比值称为信噪比。通常将信号功率记为S,噪声功率记为N,信噪比为S/N。
还有产品序列号S/N
S / N ( d B ) = 10 ∗ l o g 10 ( S / N ) S/N(dB) = 10*log_{10}(S/N) S/N(dB)=10∗log10(S/N)
在日常生活中,声波是接触最多的,经常说声音是多少分贝。手机也有很多软件直接测量。
常用30db对应S/N= 10 3 10^3 103
信道最大数据速率
无噪声
根据那奎斯特定理计算:
s p e e d ( b p s ) = 2 W l o g 2 ( N ) speed(bps) = 2Wlog_{2}(N) speed(bps)=2Wlog2(N)
W为带宽,N是码元总的分类数
又由于,比特率和波特率之间的换算关系:
s p e e d ( b p s ) = B l o g 2 ( N ) speed(bps) = Blog_{2}(N) speed(bps)=Blog2(N)
B为波特率
得到: B = 2 W B=2W B=2W
有噪声
根据香农公式计算:
c = W ∗ l o g 2 ( 1 + S / N ) c = W*log_{2}(1+S/N) c=W∗log2(1+S/N)
误码率
误码率:指接收到的错误码元数在总传送码元数中所占的比例。
目前光纤和比较好的双绞线的误码率在 10 − 9 − 10 − 12 10^{-9}-10^{-12} 10−9−10−12之间,误码率较低。协议设计中的纠错和检错可以较少。
海明码检错、纠错计算
码矩:整个编码系统中任意 两个码字的码矩的最小值
码字:包含数据和校验的n位单元通常称为n位码字
海明研究发现:
- 检测d个错误,则编码系统码矩>=d+1
- 纠正d个错误,则编码系统码矩>=2d+1
纠正二进制序列错误即知道错误在哪一位
校验位长度计算:
2 k > = m + k + 1 2^{k}>=m+k+1 2k>=m+k+1
k为校验位长度,m为信息位长度
CRC校验计算
生成多项式G(x):最高位和最低位必须是1。有两种形式,如一个3阶多项式,1101, x 3 + x 2 + 1 x^{3}+x^{2}+1 x3+x2+1
CRC校验:在原始信息位后追加若干位校验位,使得追加的信息能被G(x)整除。
校验位生成:用原始信息位后加生成多项式阶数相同位数的0,"除"生成多项式(模2除,或者说异或),最后余数即为校验位,个数也为生成多项式的阶数。

CSMA/CD的最短帧长
- 最短帧长:由CSMA/CD协议边发送边监听是否有冲突,只有当发送时间大于等于冲突检测时间,发送端才能检测到冲突并停止发送,最短帧长保证这一点。否则,当发送时间小于冲突检测时间时,当数据发送到目的设备时即经过一段传输时间后在即将到达目的设备时,目的设备也发送数据出现冲突,但此时已经过了发送时间数据发送完毕不再检测,因此该数据会丢失且发送设备感知不到。
- 发送时间:数据长度/数据速率
- 电信号传输速度:即电磁波的速度,1km/5us或200m/us
- 最大冲突检测时间/争用期:两倍发送设备到目的设备的传输时间,即数据发送到目的设备时才出现冲突,传回发送设备检测到的时间。
可以简单将发送过程分为几个阶段:1.发送前检测是否空闲 2.信道空闲开始发送(a.发送超过传输时间前可能有冲突------有冲突停止发送b.发送超过传输时间后占用信道) 5.发送完毕,信道空闲
典型最短帧长:64B
对应场景:10M以太网,争用期为51.2us(传输距离最大5120m)
计算: t 发送 = 帧长 10 m > = 51.2 u s t_{发送}=\frac{帧长}{10m}>=51.2us t发送=10m帧长>=51.2us, 最短帧长 10 m = 51.2 u s \frac{最短帧长}{10m}=51.2us 10m最短帧长=51.2us,最短帧长=512bit=64B
交换机吞吐量和背板带宽
吞吐量
吞吐量主要关注PPS和BPS的换算:
B P S = ( 84 B ∗ 8 ) ∗ P P S BPS = (84B*8)*PPS BPS=(84B∗8)∗PPS
84B为最小帧长64B+(+8B+12B),其中8B为以太帧前导字节为网卡加上,12B为最小帧间隙由数据链路层规定。
由于包长是变化的,一般使用最小帧长换算PPS和BPS。
1000 M b p s / ( 84 ∗ 8 ) ≅ 1.488 M p p s 1000Mbps/(84*8) \cong{1.488Mpps} 1000Mbps/(84∗8)≅1.488Mpps
根据以上计算,给定交换机{万,千,百}兆口的数量,计算包转发率使用上面的换算就行。
背板带宽
背板带宽是交换机所能吞吐的最大数据量。即所有端口带宽*2(收+发),一般用BPS。
CDMA计算
码片序列:一个bit时间划分为m个短的间隔,称为码片。将发送端的每一bit信号进行编码,例如原本是信号1,则用01010101表示,原本是信号0,则发送其反码10101010,同时为了提升发送信号的抗干扰性,一般将编码中0用-1代替。
码片序列正交性:一个码片序列与不同的码片序列进行点积将得到0。
如CA1表示用户A分配到的码片序列(-1,-1,-1,-1),CA0为其补码(+1,+1,+1,+1);CB1表示用户分配到的码片序列(+1,-1,+1,-1),CB0为(-1,+1,-1,+1)。
C A 1. C B 1 = ( − 1 + 1 − 1 + 1 ) / 4 = 0 CA1.CB1=(-1+1-1+1)/4=0 CA1.CB1=(−1+1−1+1)/4=0
收到一个叠加后的码片序列,判断是谁发送的,发送的0还是1:用已知用户的码片序列与叠加后的序列做点积运算,为0表示没发送,为1或-1表示发送1或0。
RSA加密算法计算

