题目
1. 什么是前趋图? 请画出下列4条语句的前趋图。S1: a = x + y;S2: b = z + 1;S3: c = a - b;S4: w = c + 1;
1. 什么是前趋图? 请画出下列4条语句的前趋图。
S1: a = x + y;
S2: b = z + 1;
S3: c = a - b;
S4: w = c + 1;
题目解答
答案
前趋图是表示程序中语句执行顺序的有向无环图[1]。对于给定语句:
- $ S1 $ 和 $ S2 $ 独立,可并行执行。
- $ S3 $ 依赖 $ S1 $ 和 $ S2 $,需在两者之后执行。
- $ S4 $ 依赖 $ S3 $,需在 $ S3 $ 之后执行。
前趋图如下:
```
S1 S2
\ /
\ /
\ /
S3
|
|
S4
```
或简化为:
```
S1 → S3 → S4
S2 ↗
```
该图表明 $ S1 $ 和 $ S2 $ 可并行,$ S3 $ 需等待 $ S1 $ 和 $ S2 $ 完成,$ S4 $ 需等待 $ S3 $ 完成。