Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions W12D2/ZhouBinglin/Note W12D2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Note W12D2

> 主要上课内容:内存一致性协议:ESI, MESI

## Snoopy 协议:

### ESI:

每个 L1 Cache 分为三种状态: `E(Exclusive)` , `S(Shared)` , `I(Invalid)` 。初始都是 `Invalid` 状态.

#### 三种状态的解释:

- `Exclusive` : 数据经过了修改,在此 cache 中是 dirty 的。
- `Shared` : 数据是 up to date 的。
- `Invalid` : 当前 cache 中没有数据。

#### 三种状态的装换:

##### 根据从 CPU 来的请求转换状态:

![](img1.png)

##### 根据来自 总线 的信息转换状态:

![](img2.png)

##### 合并:

![](img3.png)

### MESI:

增加状态 `M(Modify)` . 如果修改 modify 状态的 cache 将不会进行核间通信,这也是 MESI 相对于 ESI 的优点。

#### 状态转换图:

![](img4.png)
Binary file added W12D2/ZhouBinglin/img1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added W12D2/ZhouBinglin/img2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added W12D2/ZhouBinglin/img3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added W12D2/ZhouBinglin/img4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions W12D2/menu.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[周秉霖](ZhouBinglin/Note%20W12D2.md)
27 changes: 27 additions & 0 deletions W16D1/ZhouBinglin/Note W16D1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# 期末复习

## 1. 事务内存

不考虑一个核上跑多个Tx的情况。

会考使用addm, xbegin, xend等指令测量L1 cache大小的方案。

## 2. Store buffer

一个核一个store buffer,作用是避免了核间通信,加快速度。

有FIFO和非FIFO之分,FIFO能够保证其他核看到的写顺序是一样的。

## 3. MESI 与 ESI的差异,机器状态和祖安环

## 4. RAIDS

RAIDS-01:先做条带,再作镜像。

RAIDS-10:先做镜像,再作条带。

综合来说 RAID-10优于RAIDS-01。

## 5.MPK

染色,用 “域” 表示读写权限,使用 PKRU 寄存器来表示不同 “域” 的读写权限。
1 change: 1 addition & 0 deletions W16D1/menu.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[周秉霖](ZhouBinglin/Note%20W16D1.md)
2 changes: 1 addition & 1 deletion W5D2/menu.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[范棋珈](FanQijia/W5D2-FanQijia-Cache.md)

[周秉霖](ZhouBinglin/Arch Note W5D2.md)
[周秉霖](ZhouBinglin/Arch%20Note%20W5D2.md)
68 changes: 68 additions & 0 deletions W9D1/ZhouBinglin/Note W9D1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Note: W9D1:

> By ZhouBinglin

## 1.Main Memory Organization

三种 Organization 组织结构:

- Simple:
- CPU, Cache, Bus, Memory same width (32 or 64 bits)


- Wide:
- CPU: 1 word
- Cache, Bus, Memory: n words (总线上能携带更多信息)
- Interleaved:
- CPU, Cache, Bus 1 word
- Memory N modus

![mg](img1.png)

## 2.Main Memory Performance

衡量memory速度的公式: $AMAT_{Mem} = T_{address} + T_{access} + T_{transfer}$ .

对于三种不同的模型,假设 $T_{address} = 1$ ,$T_{access} = 6$ ,$T_{transfer} = 1$ . 读连续的 4 words data:

- Simple M.P. $T=4\times(1 + 6 + 1) = 32$
- Wide M.P.(Bus is 4 words) $T = 1 + 6 + 1$
- Interleaved M.P. (4 bank) $T = 1 + 6 + 4\times1 = 11$

## 3.Multi Bnak

#### 概念:

存储器被组织为多个体(bank)

#### 目的:

在总线宽度不变的情况下,完成多个字的并行读写。加快访问速度。

速度变快的原因:多个字同时access到buffer里面,再一个一个地经总线传回到cpu。

本质是一种 **delay hidden** 策略:用多个word的回传时间掩盖掉第二次access的时间(注意:第二次access是从第一次access结束时开始的)。

所以我们能够得出结论: $\textbf{$Num_{bank}=T_{access}/T_{tansfer\_one\_word}$}$ 时 **delay hidden** 效果最好。从总线上看,此时word是连续不断地从mem回传。

#### Address 到 bank 的映射:

假设 $m-banks$ ,每个bank的capacity 为 $n$ words:

##### 1.高位交叉编址

$A = x\times n + y$ // $x$ 为bank的number,y为bank内offset

##### 2.低位交叉编址

$A = y \times m + x$ // $x$ 为bank的number,y为bank内offset

1,2相比低位交叉编址能够更好利用空间局部性,减少冲突率

tips:若用低位交叉编址发生bank冲突,可在编译器层面对代码进行优化。

##### 3.Gao.q.s : 快速交叉编址

$x = a \% m, y = a\%n$ 。但这要求 $n = 2^s, m = 2^k -1$ .

![mg](img2.png)
Binary file added W9D1/ZhouBinglin/img1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added W9D1/ZhouBinglin/img2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions W9D1/menu.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[周秉霖](ZhouBinglin/Note%20W9D1.md)