-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ed70247
commit 1bdc4c4
Showing
5 changed files
with
7 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...i-tong/chapter01-chu-shi-ji-suan-ji-xi-tong/1.1-cong-ni-de-dian-nao-jiang-qi.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
# 0.1 从你的电脑讲起 | ||
# 1.1 从你的电脑讲起 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...hapter01-chu-shi-ji-suan-ji-xi-tong/1.3-ni-de-cheng-xu-shi-ru-he-yun-hang-de.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
# 0.3 你的程序是如何运行的 | ||
# 1.3 你的程序是如何运行的 | ||
|
22 changes: 0 additions & 22 deletions
22
...-xi-tong-jia-gou-de-jin-yi-bu-you-hua/chapter20-zhi-ling-ji-bing-hang-ji-shu.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,2 @@ | ||
# Chapter20 指令级并行技术 | ||
|
||
从本章开始,我们将会进入体系结构中处理器优化的部分。我们从指令级并行(Instruction-Level Parallelism,ILP)技术入手,因为实际上早在Chapter08中我们便接触到这一技术的最简单的模式,即流水线技术。这一从20世纪80年代开始盛行的技术实际上利用了指令之间潜在的可以重叠执行的优化空间,相较于单周期CPU的CPI、吞吐量等已有飞跃式的提升。 | ||
|
||
但是人们显然并不满足于此,流水线能达到的理想状态(无冒险)的CPI也只能是1,并且存在着结构冒险、数据冒险以及控制冒险等因素会使得CPI增大: | ||
|
||
$$ | ||
流水线CPI=理想流水线CPI+结构冒险暂停+数据冒险暂停+控制冒险暂停 | ||
$$ | ||
|
||
在本章中,我们将会看到人们为了使得CPI值的理想情况降至1以下而做出的努力。总的说来,我们实现ILP的方法有以下两种: | ||
|
||
1. 静态调度 | ||
|
||
通过软件在编译时刻的分析寻找潜在的指令并行性,或调整指令顺序以得到更大的指令并行可能。 | ||
2. 动态调度 | ||
|
||
硬件根据取得的指令动态调整执行策略从而获得指令并行性。 | ||
|
||
从上述描述中可知,区别静态与动态调度的关键在于硬件是否根据取得的指令动态调整策略,因为静态调度时硬件只需要根据软件已经限定好的指令顺序执行即可,因此这一静态是对于硬件而言的。 | ||
|
||
在本章中我们除了介绍并分析多种ILP技术以外,还需要从硬件乃至程序本身分析ILP的局限性,从而引出接下来两章中数据级、线程级并行的必要性。 | ||
|
||
本章的实验...... |