02325 「コンピュータ システム アーキテクチャ」自習問題: 第 1、2、3 章

総合カタログを確認する

  02325 「コンピュータシステムアーキテクチャ」自己検討検討要点リスト

第 1 章 コンピュータシステムアーキテクチャの概要

  大きな質問はありません。

第 2 章 データ表現、アドレッシングモードおよび命令システム

1. 浮動小数点数の仮数の基本値

歴史試験問題:2020.04、2018.10

タイトルの説明:次数の値、仮数の桁数、および仮数の基本値を指定して、次数の最大値と最小値、次数の数、仮数の最大値と最小値、表現可能な最大値と最小値を計算します。、および表現可能な数値の数

宿題演習 2-4

  あるマシンの順序値が 6 ビット、仮数部が順序記号と番号記号を除いて 48 ビットあるとします。仮数部がそれぞれ 2、8、16 に基づくとき、非負次数の場合は、正の仮数部と 16 ビットになります。正規化を行うと、最小次数、最大次数、次数、最小仮数値、最大仮数値、表現可能な最小値と最大値、および表現可能な数値の数がわかります。

解:
  p = 6 、m = 48 p=6、m=48p=6 メートル=48で、非負次数、正の仮数、正規化の場合、rm = 2 , 8 , 16 r_m=2,8,16rメートル=2 8 16の各パラメータの計算結果は

テールベースrm r_mrメートル 2 8 16
m'm^{\プライム}メートル m / ⌈ log 2 rm ⌉ m/\left \lceil \mathrm{log}_2r_m\right \rceilメートル/ログ2rメートル 48 16 12
最低注文金額 0 0 0 0
最大注文金額 2 p − 1 2^p-12p1 63 63 63
ステージ数 2p 2^p2p 64 64 64
最小仮数値 rm − 1 r^{-1}_{m}rメートル 1 1/2 1/8 1/16
仮数部の最大値 1 − rm − m ′ 1-r^{-m^{\prime}}_{m}1rメートルメートル 1 − 2 − 48 1-2^{-48}1248 1 − 8 − 16 1-8^{-16}18−16 _ 1 − 1 6 − 12 1-16^{-12}11 6−12 _
表現可能な最小値 rm − 1 r^{-1}_{m}rメートル 1 1/2 1/8 1/16
表現可能な最大値 rm 2 p − 1 ⋅ ( 1 − rm − m ' ) r_{m}^{2^p-1} \cdot (1-r^{-m^{\prime}}_{m})rメートル2p1( 1rメートルメートル) 2 63 ( 1 − 2 − 48 ) 2^{63}(1-2^{-48})263 (1)2−48 _ 8 63 ( 1 − 8 − 16 ) 8^{63}(1-8^{-16})863 (1)8−16 _ 1 6 63 ( 1 − 1 6 − 12 ) 16^{63}(1-16^{-12})1 663 (1)1 6−12 _
表現可能な数値の数 2 p ⋅ rmm ′ ⋅ rm − 1 rm 2^p \cdot r_{m}^{m^{\prime}} \cdot \frac{r_m-1}{r_m}2prメートルメートルrメートルrメートル 1 2 53 2^{53}253 7 × 2 51 7\times2^{51}7×251 15 × 2 50 15 \times 2^{50}15×250

  公式を暗記することはお勧めできません:
  タイトルには順序と数値記号が含まれていないこと、および非負次数、正の仮数、正規化の条件が示されています。つまり、数値を表現する方法は次のとおりです: value = rm order値×仮数値 値=r_m^{順序値}\×仮数値価値=rメートル注文金額×仮数値
(1) 最初の 3 つの順序値の該当する順序値は、
  タイトルに示されている 6 つの 2 進数で表され、最小 6 個の 0 は 0 に等しく、最大 6 個の 1 は 63 に等しくなります。数値は当然2 6 = 64 2^6 =6426=64
(2) ここで 2 つの仮数値は
  比較的複雑です。テールベースrm r_mrメートルこの数値をrm r_mとして扱うと理解できます。rメートル16 進数表現、例: rm = 8 r_m=8rメートル=8、この数値を 8 進数表現とみなし、タイトルに示されている仮数部の桁をmmmは指定された 2 進数です。8 進数と見なす場合、1 つの 8 進数を合成するには 3 つの 2 進数が必要です。m ' m^{\prime}メートル'の由来は、このとき仮数部を 8 進数 16 桁とみなせることを意味します。
  最小仮数値には正規化が必要です。正規化とは、小数点以下の最初の桁が 0 ではないこと、つまり、小数点以下の最初の桁が 1 で、残りの桁がすべて 0 であることが最小値となります。この時点ではrm r_mrメートル16 進数表現のため、最小値はrm − 1 r^{-1}_{m}となります。rメートル 1別の 2 進ビットの観点から見ると、正規化とは、小数点以下の最初のrm r_mが使用できないことを意味します。rメートル一の位は0です。
  仮数部の最大値は実際には各ビットの最大値です バイナリの観点に戻ると適切であり、バイナリの各ビットは 1, 1 − rm − m ’ 1-r^{-m^{\prime}} _ {男}1rメートルメートル1 − 2 − m 1-2^{-m}に相当12m
(3) 表現可能な 3 つの数の最大値と最小値については何も言うことはありません。
  つまり、順序値の仮数値はすべて最大値または最小値で表現されます。
  表現可能な数値の数は、バイナリの観点から考えることを個人的にお勧めします。合計 54 ビットで2 54 2^{54}254 個の数値ですが、正規化のため、小数点以下の最初の桁を 0 にすることはできません (rm r_mrメートル基数は 0 を取ることができないため、 2 54 2^{54}である限り、2rm − 1 rm \frac{r_m-1}{r_m} を54に基づいてrメートルrメートル 1つまり、2 p + m ⋅ rm − 1 rm 2^{p+m} \cdot \frac{r_m-1}{r_m}2p + mrメートルrメートル 1


2.ROMテーブル

歴史試験問題:2018.04、2016.04

タイトル説明:
  

宿題演習 2-6

  4桁の数値(最下位ビットはアンダーフロー処理用の追加ビット)をROMルックアップテーブルで四捨五入し、アンダーフローを3桁の結果に処理し、アンダーフローの平均誤差をROMテーブルに作成します。処理が0に近いように設計されており、ROMコード表にはアドレスと内容の対応関係が記載されています。

解決策:
ROM テーブルの相関:
ROM テーブルには2 k 2^kが必要です2Kユニット、アドレスはkkk 位二进制码表示,每个存储单元字长 k − 1 k-1 k1 位。
当存储器 k k k 位地址码的高 k − 1 k-1 k1 位全是 1 时,对应单元内容填 k − 1 k-1 k1 位全 1;
其余情况,最低位是 0 舍弃,最低位是 1 进 1 填 k − 1 k-1 k1 位内容。

简单理解分为三种情况:
红色:地址前 k − 1 ( 3 ) k-1(3) k1(3) 位全是 1 1 1,内容取 k − 1 k-1 k1 1 1 1
绿色:地址前 k − 1 ( 3 ) k-1(3) k1(3) 位不全是 1 1 1,且第 k ( 4 ) k(4) k(4) 位是 0 0 0,内容取地址的前 k − 1 ( 3 ) k-1(3) k1(3) 位;
蓝色:地址前 k − 1 ( 3 ) k-1(3) k1(3) 位不全是 1 1 1,且第 k ( 4 ) k(4) k(4) 位是 1 1 1,内容取地址的前 k − 1 ( 3 ) k-1(3) k1(3) 位的值 + 1 +1 +1
记忆方法:有点类似四舍五入,因为是二进制的所以 0 就是小于 0.5,1 就是大于0.5;只有红色的特殊情况如果进一就位数不够了,只能去尾。

地址 内容 地址 内容 地址 内容 地址 内容
0000 000 0001 001 0010 001 0011 010
0100 010 0101 011 0110 011 0111 100
1000 100 1001 101 1010 101 1011 110
1100 110 1101 111 1110 111 1111 111

3. 哈夫曼码

历史考题:2021.04

题目描述:根据 指令频度 计算 等长码哈夫曼码扩展操作码平均码长
  

课后习题 2-9

  经统计,某机器 14 条指令的使用频度分别为:0.01,0.15,0.12,0.03,0.02,0.04,0.02,0.04,0.01,0.13,0.15,0.14,0.11,0.03。分别求出用等长码、哈夫曼码、只有两种码长的扩展操作码等 3 种编码方式的操作码平均码长。

解:
(1)等长码:机器共有 n n n 条指令,要对指令做二进制编码,等长码 顾名思义每条指令码的长度相同,即二进制位数相同,本题是 14 条指令,至少要 ⌈ l o g 2 14 ⌉ = 4 \left \lceil \mathrm{log_214} \right \rceil =4 log214=4 个二进制位来表示;由于等长码码长都一样,平均码长就是 4。
(2)哈夫曼码:这里就要用到指令的使用频度了,指令频度就是统计出来的每条指令使用的概率。如果让使用概率高的指令码长较短,使用概率低的指令码长较长,那么整体的平均码长就可以短一些。
  计算哈夫曼码的平均码长要先构造哈弗曼树,哈弗曼树的绘制方法如下:
  1)对指令频度从小到大排序
  2)选最小(最靠左)的两个频度相加得到一个新的节点
  3)将新的节点和剩余的频度排序,如果新的节点和剩余的频度有相同的,新生成的节点放在靠后(靠右)的位置
  4)重复 2、3 步骤直到得到最后一个节点(最后一个节点的值为1)

  按照以上步骤可以得到如下草图:
在这里插入图片描述
  1)排序过后第一个节点是最小的 2 个 0.01 相加得到新的节点 0.02;
  2)第二次排序节点的 0.02 放在现有的 2 个 0.02 后面,因此第二个节点是靠左的 2 个 0.02 相加得到 0.04;
  3)以此类推,可以画出这个草图,指令的码长就是数上方连接的节点个数;
  4)哈夫曼码的平均码长就是每个指令的频度乘上各自的码长再相加,得到 3.38;
  5)用红色标出节点的码长,然后把码长相等放在同一行,从下至上整理草图可以得到如下比较美观的哈夫曼树。
在这里插入图片描述
补充:
  1)画完哈夫曼树要检查,如果出现频度低的码长比频度高的短,一定是画错了;
  2)哈夫曼树的意思就是将节点的 2 个分支看作 0 和 1 的编码,假设左分支为 0,右分支为 1,最左边的 0.01 的指令编码为 000000,最右边 0.15 的指令编码为 111;

(3)两种码长的扩展操作码
  哈夫曼编码是最优化的编码,但是也可以看出他的码长种类比较多,这样不利于译码,所以就在此基础上妥协为码长种类较少的扩展操作码。
  编码的时候短码不能是长码的前缀,例如一个指令是 001,另一个是 0011,个人理解是系统拿到一长串指令又不预先知道每个指令的长度那么就会混淆;可以看下哈夫曼树,它的构造方法就不会出现前缀的情况。

  本题就是在 4 种码长的哈夫曼码上转化成两种码长的扩展操作码。先观察哈夫曼码,14 条指令中 6 条码长是 3,3 位二进制表示数有 8 个,那么就会剩下 2 个作为长码的前缀;剩下还有 8 条指令,那么后缀就要能表示 4 个数,那么后缀用 2 位就可以了。所以本题就是 6 个频度高的码长为 3,8 个频度低的码长用 5。平均码长是一样算的,结果是 3.4。

补充:
  这里算起来有点凭感觉,但是一般指令数量和码长种类都不多,多算几种情况对比一下,有的时候频度集中在个别一两条指令的时候可以考虑让他们的码长短一些,然后剩下的码长长一些,也许会是更优解。

(2023.4.9)评论区发现一些同学对于扩展操作码难以理解,这里更新一下,希望能有所帮助。
(1)理解题目
  简单理解一下题目到底在干啥,机器存在14条指令,对这些指令需要做二进制编码,编码的长度(二进制的位数)自然不能很随意,可以理解为越短越好,机器效率越高。
  下面以4条指令做个例子,假设4条指令的频度都是0.25,那么很自然可以全是2位二进制编码:00、01、10、11,平均码长就是2。但是假设频度是0.97和3个0.01,也就是其中一条指令用的非常频繁,那么4条指令全都用2位也许就不是最优的了,我们会希望0.97的那条指令编码更短,譬如分别是0、10、110、111,此时的平均码长为 1 ∗ 0.97 + 2 ∗ 0.01 + 3 ∗ 0.01 ∗ 2 = 1.05 1*0.97+2*0.01+3*0.01*2=1.05 10.97+20.01+30.012=1.05,平局码长明显更短。但之前4个0.25的时候这样编码,平均码长为 1 ∗ 0.25 + 2 ∗ 0.25 + 3 ∗ 0.25 ∗ 2 = 2.25 1*0.25+2*0.25+3*0.25*2=2.25 10.25+20.25+30.252=2.25,平均码长就变长了。
  通过这个例子,相信会对题目中的指令条数、频度、编码、平均码长到底都在干些啥有一定的感悟,下面再根据例题进一步理解。
(2)理解扩展操作码
  首先看下第二张美化过的哈夫曼树的图,其实这个图就对应着每条指令的编码(指令具体的编码是不唯一的,解题的时候也不需要写出编码,这里只是为了方便理解)。我们可以假设每个分支的左边是1右边是0,这样就能写出每条指令的编码了,例如从右往左的4条指令依次是:0.15(000)、0.15(001)、0.14(010)、0.13(011),最左边的指令是0.01(111111)。当把所有的指令编码都写出来以后,会发现这种编码是一定符合短码不是长码前缀这个要求的,并且哈夫曼码的平均码长是最短的。
  两种码长的扩展操作码的重点是在两种码长,可能的结果是非常多的,譬如可以1条指令码长为1,剩下13条指令码长为5,只不过这样的结果平均码长是较长的。由于哈夫曼码是最优解,在它的基础上做修改通常会比自己直接试着编码的结果要好。
  本题中是6个3、1个4、5个5、2个6,我们可以从6个3入手,3位2进制数有8种,而现在已经有6条指令占了6种,那么只剩下2种可以作为剩下指令编码的前缀。直观一点,我们可以假设6条3位的是(000~101),剩下的2种(110、111)可以作为前缀,剩下还要8条指令码长需要一样,那么后缀就是需要 ⌈ l o g 2 8 / 2 ⌉ = 2 \left \lceil \mathrm{log_28/2} \right \rceil =2 log28/2=2 位(110xx、111xx),所以两种码长的扩展操作码是6个3、8个5。
  实际上也可以试试别的情况,譬如假设7个3的时候,剩下的前缀有1种,剩下的指令有7条,那么后缀就需要 ⌈ l o g 2 7 / 1 ⌉ = 3 \left \lceil \mathrm{log_27/1} \right \rceil =3 log27/1=3 位,最后的结果就是7个3、7个6;也可以试试5个3的时候,剩下的前缀有3种,剩下的指令有9条,需要后缀 ⌈ l o g 2 9 / 3 ⌉ = 2 \left \lceil \mathrm{log_29/3} \right \rceil =2 log29/3=2 位,最后的结果就是5个3、9个5。安全起见,做题的时候可以适当增减短码的条数,多试几种情况分别计算平均码长,然后选最短的那种。


第 3 章 存储、中断、总线与 I/O 系统

1. 并行主存系统

历史考题:2017.10 (2)、2016.10 (1)、2015.10 (2)、2015.04 (1)

题目描述
(1)根据 m m m 分体交叉存取每个分体的 存取周期宽度 计算主存 最大频宽
(2)根据 m m m 单字交叉存储器申请队的 转移概率 计算每个存储周期能访问到的 平均字数
  

课后习题 3-2

  设主存每个分体的存取周期为 2 μ s \mu s μs,宽度为 4 个字节。采用模 m m m 多分体交叉存取,但实际频宽只能达到最大频宽的 0.6 倍。现要求主存实际频宽为 4 M B / S \mathrm{MB/S} MB/S,问主存模数 m m m 应取多少方能使两者速度基本适配( m m m 取 2 的幂)?

解:
最大频宽 B m = W × m / T M = 4 × m / 2 B_{\mathrm{m}}=W\times m/T_{\mathrm{M}}=4\times m/2 Bm=W×m/TM=4×m/2
0.6 × B m ≥ 4 0.6\times B_{\mathrm{m}}\ge4 0.6×Bm4 求得 m ≥ 3.33 m\ge3.33 m3.33,因为 m m m 要取 2 的幂所以 m = 4 m=4 m=4

存取周期 T M T_{\mathrm{M}} TM:每个分体存取一次数据的时间
宽度 W W W:存储体字长,每个分体一次存取多少数据
m m m:并行工作的存储体数,分体的数量
频宽 B B B:存取数据的速度


课后习题 3-1

  程序存放在模 32 单字交叉存储器中,设访存申请队的转移概率 λ \lambda λ 为 25%,求每个存储周期能访问到的平均字数。当模数为 16 呢?由此可得到什么结论?

解: 记公式
B = 1 − ( 1 − λ ) m λ = 1 − 0.7 5 32 0.25 ≈ 4 B=\frac{1-(1-\lambda)^m}{\lambda}=\frac{1-0.75^{32}}{0.25}\approx 4 B=λ1(1λ)m=0.2510.75324

  模数为 16 时, B ≈ 3.96 B\approx 3.96 B3.96
  可以看出两者非常接近,也就是说提高模数对提高主存实际频宽效果不显著。实际上模数进一步增大会因为工程实现上的问题,导致性能反而下降,且价格更高。所以模数不宜太大,对于 λ \lambda λ 为 25% 时,模数取 8 时, B B B 就接近 3.6 了。

  补充:书上 P77 有模分别取 4、8、16 时 λ \lambda λ B B B 的曲线,就能反映出当 λ \lambda λ 大于 30% 的时候不同模数的 B B B 差异不大,但小于 10% 的时候差异就很明显了。


2. 中断屏蔽位、程序运行图

历史考题:2021.04、2020.04、2018.04、2015.10

题目描述:根据中断 响应次序处理次序,画出 中断屏蔽位程序运行图
  

课后习题 3-6

  若机器共有 5 级中断,中断响应优先次序为 1 → 2 → 3 → 4 → 5 1\to2\to3\to4\to5 12345,现要求其实际的中断处理次序为 1 → 4 → 5 → 2 → 3 1\to4\to5\to2\to3 14523,回答下面问题:
(1)设计各级中断处理程序的中断级屏蔽位(令“1”对应于屏蔽,“0”对应于开放);
(2)若在运行用户程序时,同时出现第 4、2 级中断请求,而在处理第 2 级中断未完成时,又同时出现第 1、3、5 级中断请求,请画出此程序运行过程示意图。

解:
(1)中断屏蔽位的设置

中断处理
程序级别
中断级屏蔽位
1 2 3 4 5
1 1 1 1 1 1
2 0 1 1 0 0
3 0 0 1 0 0
4 0 1 1 1 1
5 0 1 1 0 1

怎么画的:这里是“1”对应于屏蔽,“0”对应于开放,不同题目会不一样,注意审题
中断响应次序: 1 → 2 → 3 → 4 → 5 1\to2\to3\to4\to5 12345
中断处理次序: 1 → 4 → 5 → 2 → 3 1\to4\to5\to2\to3 14523
  屏蔽位对应的就是程序级别,本题的处理次序 1 → 4 → 5 → 2 → 3 1\to4\to5\to2\to3 14523,代表 1 级别最高,没有任何程序可以打断,3 级别最低,除了自己本身别的都能打断,屏蔽位就代表对应位置的级别是否可以打断自己。因此,1 级的屏蔽位全屏蔽,3 级的除了 3 都开放。再举例 4,4 排在第二,除了 1 级都不能打断,所以只有 1 是开放。

(2)程序运行过程示意图(彩色标号仅用于解释说明)
在这里插入图片描述
怎么画的:
中断响应次序: 1 → 2 → 3 → 4 → 5 1\to2\to3\to4\to5 12345
中断处理次序: 1 → 4 → 5 → 2 → 3 1\to4\to5\to2\to3 14523
红色序号:图的框架,(4) 中断处理程序下面的序号对应中断响应次序
蓝色序号
(1) 用户程序运行
(2) 同时出现 ②④ 中断请求
(3) 按照响应次序 ② 要先响应,但是 ④ 的处理优先级高,所以只响应不处理;响应的时间很短,往下凹一点点就代表响应
(4) ④ 响应并处理,短横线代表交换程序状态字的时间,理解为切换到中断处理程序
(5) ④ 处理完了回 ②
(6) 响应并处理 ②
(7) ② 还没处理完出现了 ①③⑤ 中断请求
(8) 打断 ② 的处理,响应 ①,由于此时 ① 的优先级最高,直接处理 ①
(9) ① 处理完后回到 ② 响应一下,此时因为还有高于 ② 的 ⑤ 还没处理所以先不处理 ②
(10) 响应并处理 ⑤
(11) 处理完 ⑤ 回到 ② 响应并继续处理 ② 剩余的部分
(12) ② 是从用户程序过来的,要先回到用户程序,再去处理 ③
(13) 响应并处理 ③
(14) ③ 处理完回到用户程序,继续执行用户程序

易错点
(1)(9)(10) 的过程中不响应 ③,理解为此时程序已经响应了 ②,导致中断屏蔽位屏蔽了 ③
(2)(11)(12),从哪儿来回哪儿去,② 是从用户程序来的,执行完要先回去,而不能直接去处理 ③
(3)(14),最后回到用户程序的时候容易忘了画短横线


3. 通道流量设计

历史考题:2021.10、2019.10、2016.04

题目描述:根据通道 选择设备传送一个字节数据 的时间,以及各个设备的 工作速率(传送速率)申请间隔,计算不同类型通道的 最高流量(极限流量)能挂哪些设备
  

课后习题 3-13

  有 8 台外设,各设备要求传送信息的工作速率分别如下表所示。现设计的通道在数据传送期,每选择一次设备需 2 μ s 2 \mu s 2μs,每传送一个字节数据也需要 2 μ s 2 \mu s 2μs
(1)若用作字节多路通道,通道工作的最高流量是多少?
(2)作字节多路通道用时,希望同时不少于 4 台设备挂在此通道上,最好多挂一些,且高速设备尽量多挂一些,请问应选哪些设备挂在此通道上?为什么?
(3)若用作数组多路通道,通道工作的最高流量是多少?设定长块大小取成 512 B。
(4)作数组多路通道用时,应选哪些设备挂在此通道上?为什么?

设备 工作速率 / ( K B / s ) (\mathrm{KB / s}) (KB/s) 设备 工作速率 / ( K B / s ) (\mathrm{KB / s}) (KB/s)
A 500 E 50
B 240 F 40
C 100 G 14
D 75 H 10

相关概念:

数据宽度 数据传输方式 通道极限流量 实际最大流量
字节多路通道 1个字节 字节交叉 1 T S + T D \frac{1}{T_S+T_D} TS+TD1 各个设备速率和
数组多路通道 定长块 成组交叉 K T S + K ⋅ T D \frac{K}{T_S+K\cdot T_D} TS+KTDK 速率最大的设备
选择通道 可变长块 N T S + N ⋅ T D \frac{N}{T_S+N\cdot T_D} TS+NTDN 速率最大的设备

数据宽度:代表通道每次传送多少数据后重新选择一次设备;
字节多路通道:每传输一个字节就要重新选择设备;
数组多路通道:每传输一个定长块大小的数据重新选择设备,定长块就是固定 K K K 个字节;
选择通道:每次把一个设备需要的数据传完再重新选设备,因为每个设备需要的数据是不一样的所以是可变长块,如一个设备需要传 N N N 个字节的数据。

T S T_S TS:通道选择一次设备需要的时间; T D T_D TD:通道传送一个字节需要的时间;对应题目给出的两个时间。

通道极限流量(最高流量):单位时间内最多能传送多少数据,也就是通道理论上的最大传送速率。
实际最大流量:通道上所挂设备所需要的最大传送速率,也就是和所挂设备的 工作速率(传送速率)申请间隔 有关(对应题目给出的表格),实际最大流量不能超过通道的极限流量。

解:
(1)字节多路通道的极限流量:传送 1 个字节需要选择一次设备 + 传送一个字节
   f m a x ⋅ b y t e = 1 T S + T D = 1 2 + 2 = 0.25   B / μ s f_{\mathrm{max\cdot byte}}=\frac{1}{T_S+T_D}=\frac{1}{2+2}=0.25\ \mathrm{B/\mu s} fmaxbyte=TS+TD1=2+21=0.25 B/μs

  答案给出的是 250   K B / s 250\ \mathrm{KB/s} 250 KB/s,直接按 1000 倍而不是 1024 倍换算。

(2)字节多路通道上的 设备速率之和 不能超过 极限流量
  A 和 B 明显不能挂,后面 CDEGH 加起来刚好 249   K B / s 249\ \mathrm{KB/s} 249 KB/s ∑ i = 1 5 f b y t e ⋅ i = 100 + 75 + 50 + 14 + 10 = 249 < 250 \sum\limits^{5}_{i=1}f_{\mathrm{byte}\cdot i}=100+75+50+14+10=249<250 i=15fbytei=100+75+50+14+10=249<250

(3)定长块为 512 B 的数组多路通道:传送 512 个字节选择一次设备
   f m a x ⋅ b l o c k = K T S + K ⋅ T D = 512 2 + 512 × 2 = 499   K B / s f_{\mathrm{max\cdot block}}=\frac{K}{T_S+K\cdot T_D}=\frac{512}{2+512\times2}=499\ \mathrm{KB/s} fmaxblock=TS+KTDK=2+512×2512=499 KB/s

(4)数组多路通道只要 速率最大的设备 不超过通道 极限流量 即可
  除了 A 都能挂


课后习题 3-11

  如果通道在数据传送期间,选择设备需 9.8 μ s 9.8 \mu s 9.8μs,传送一个字节数据需 0.2 μ s 0.2 \mu s 0.2μs。某低速设备每隔 500 μ s 500 \mu s 500μs 发出一个字节数据传送请求,问至多可连接几台这种低速设备?对于如下 A ∼ F \mathrm{A\sim F} AF 6 6 6 种高速设备,一次通信传送的字节数不少于 1024 个字节,问哪些设备可以挂在此通道上?哪些则不能?其中 A ∼ F \mathrm{A\sim F} AF 设备每发送一个字节数据传送请求的时间间隔如下表所示。

设备 发送申请间隔 / μ s \mu s μs 设备 发送申请间隔 / μ s \mu s μs
A 0.2 D 0.19
B 0.25 E 0.4
C 0.5 F 0.21

解:
(1)低速设备每隔 500 μ s 500 \mu s 500μs 发出一个字节数据传送请求;题目里虽然没有说通道是什么通道,但是这里明显只能是字节多路通道,传送一个字节需要 10 μ s 10 \mu s 10μs,所以最多可以连 50 台。

(2)一次通信传送的字节数不少于 1024 个字节,很显然这里是数组多路通道
   f m a x ⋅ b l o c k = K T S + K ⋅ T D = 1024 9.8 + 1024 × 0.2 = 1 9.8 / 1024 + 0.2   B / μ s f_{\mathrm{max\cdot block}}=\frac{K}{T_S+K\cdot T_D}=\frac{1024}{9.8+1024\times0.2}=\frac{1}{9.8/1024+0.2}\ \mathrm{B/\mu s} fmaxblock=TS+KTDK=9.8+1024×0.21024=9.8/1024+0.21 B/μs

  表格中给出的是设备发送一个字节数据传送请求的时间间隔, 1 / 时间间隔 = 速率 1/时间间隔=速率 1/时间间隔=速率,而数组多路通道设备的最大速率不超过极限流量即可,也就是表格中的时间间隔要大于极限流量的分母,即要大于 0.2,显然只能挂 BCEF 4 个设备。

おすすめ

転載: blog.csdn.net/weixin_43605641/article/details/124428842