diff --git a/W11D1/W11D1_Fengyueyang/1.png b/W11D1/W11D1_Fengyueyang/1.png new file mode 100644 index 0000000..94239cb Binary files /dev/null and b/W11D1/W11D1_Fengyueyang/1.png differ diff --git a/W11D1/W11D1_Fengyueyang/2.png b/W11D1/W11D1_Fengyueyang/2.png new file mode 100644 index 0000000..6fb4dbd Binary files /dev/null and b/W11D1/W11D1_Fengyueyang/2.png differ diff --git a/W11D1/W11D1_Fengyueyang/note.md b/W11D1/W11D1_Fengyueyang/note.md new file mode 100644 index 0000000..afb52ea --- /dev/null +++ b/W11D1/W11D1_Fengyueyang/note.md @@ -0,0 +1,26 @@ +### Tomasulo + +![](1.png) + +思想:renaming + +RS:![](2.png) + +四个阶段: + +- Issue:获取指令,向 RS 和 ROB 发送信号 +- Execution: 从 RS 中取出可以执行的指令并执行。还不能执行的指令试图从 CDB 中获取数据。 +- Write Back:将数据写入CDB,将数据提供给 RS 和 ROB,将 RS 中的位置标记为可用。 +- Commit:ROB 中按顺序提交指令,修改寄存器的值。 + +优势:消除了 WAW 和 WAR 的影响 + +### 中断 + +- 精确中断(precise Interrupt) + - 所有该指令之前的指令都已经提交其状态 + - 所有后续指令(包括中断的指令)没有改变任何机器的状态 +- 非精确中断(Non-precise interrupt) + - 直接截断所有流水中的指令,需要程序员自行处理 + +实现精确中断:ROB \ No newline at end of file diff --git a/W14D2/W14D2-FengYueyang.md b/W14D2/W14D2-FengYueyang.md new file mode 100644 index 0000000..0d2e99f --- /dev/null +++ b/W14D2/W14D2-FengYueyang.md @@ -0,0 +1,62 @@ +## 期末相关考点 + +### 基础知识 + +一些考点: + +- Cache Miss多少次 + - write back / write through + - write allocation / write around +- Cache Hit Ratio +- 分支命中次数 +- Tomasulo填表格 +- RISC-V流水线表格(带有forwarding) + +### 事务内存 + +#### 问题 + + + +#### 事务 + +事务是并发控制的单位,是用户定义的一个操作序列。 + +- 原子性(Atomicity): 事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。 +- 一致性(Consistency): 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。 +- 隔离性(Isolation): 一个事务的执行不能被其他事务干扰。 +- 持续性/永久性(Durability): 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。 + +把一堆操作“打包”到一起 + +### 弱内存模型 + + + +### RAID10和RAID01 + + + +### 内存保护键 + + + +内存屏障 + + + +- 怎么在RISCV上实现 Txbegin,Txend + +- 怎么用xbegin和xend测L1 cache 大小 + + + +- 加入store buffer后加速的原因? + - 不用等待核间通信的时间 +- 会带来什么问题?核心原因是什么 +- store FIFO和非FIFO区别? + + + +- 硬件级别的RAID支持? +- 比较RAID10和RAID01在实现上的区别