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
31 changes: 31 additions & 0 deletions W12D2 系统笔记 —— 王浩然.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# W12D2 系统笔记 —— 王浩然

"Snoopy Cache" 是一种缓存一致性协议,通常用于多处理器系统中,确保不同处理器之间的缓存数据保持一致。这样,当一个处理器修改内存中的数据时,其他处理器的缓存就会被及时更新。

Snoopy Cache 协议的工作原理类似于一个"窥探"(snooping)系统,其中每个缓存都能够监视其他缓存的操作。当一个处理器对内存进行写入时,与之相连的缓存控制器会发送消息通知其他处理器,使它们的缓存失效或进行更新,以确保数据的一致性。

常见的 Snoopy Cache 协议包括 MESI(Modified, Exclusive, Shared, Invalid)协议和 MOESI(Modified, Owned, Exclusive, Shared, Invalid)协议等。这些协议定义了不同缓存状态(比如“修改”、“独占”、“共享”、“失效”等),以及在这些状态之间进行转换的规则。

## Snoopy Protocols:

Write Invalidate Protocol

Write Broadcast Protocol

Write serialization

## MESI

MESI (Modified, Exclusive, Shared, Invalid) 是一种缓存一致性协议。MESI 协议是处理多处理器系统中缓存一致性的一种方法。下面是 MESI 协议中各状态的简要说明:

1. **Modified (M):** 表示缓存行中的数据已被修改,并且该缓存是唯一持有该数据的缓存。其他处理器的缓存中可能存在过时的数据。

2. **Exclusive (E):** 表示缓存行中的数据与主存中的数据一致,且该缓存是唯一持有该数据的缓存。没有其他缓存拥有相同的数据。

3. **Shared (S):** 表示缓存行中的数据与主存中的数据一致,并且可能被其他缓存共享。其他缓存也可以具有相同的数据。

4. **Invalid (I):** 表示缓存行中的数据无效或者过时,需要从主存中重新加载。其他缓存可能拥有更新的数据。

MESI 协议的工作原理是根据读写操作来更新缓存的状态。当一个处理器执行写操作时,它会将缓存行标记为 Modified,表示它独占这个数据,并且需要将任何其他缓存中相同数据的副本标记为 Invalid。当一个处理器执行读操作时,它可以将缓存行标记为 Exclusive 或 Shared,具体取决于其他缓存是否也有相同的数据。

这种协议有助于确保多处理器系统中的缓存一致性,以防止不同处理器之间出现对同一数据的不一致操作。
85 changes: 85 additions & 0 deletions W8D1 系统笔记 ——王浩然.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# W8D1 系统笔记 ——王浩然

### 1.主存(Main Memory)

分为RAM和ROM,

### ①RAM:

分为DRAM和SRAM

DRAM是动态随机存取存储器(Dynamic Random Access Memory)的缩写。它是一种计算机内存类型,用于临时存储和访问计算机中的数据。与静态随机存取存储器(SRAM)不同,DRAM需要定期刷新存储的数据,因为它们存储的电荷会逐渐泄漏。这是“动态”一词的来源。

DRAM是一种主要用于随机读/写访问模式的内存,适用于计算机的主内存(RAM)和图形卡等应用。由于它的高密度和较低成本,DRAM通常用于提供大容量的内存,但相对于SRAM,其访问速度较慢。

在计算机系统中,DRAM的容量通常以GB为单位,并且是系统性能的一个重要因素。在过去几十年里,不断发展的DRAM技术已经带来了许多不同种类的DRAM,包括DDR(Double Data Rate)、DDR2、DDR3、DDR4、DDR5等,每一代都有改进的速度和功耗特性。

SRAM是静态随机存取存储器(Static Random Access Memory)的缩写。与动态随机存取存储器(DRAM)相对,SRAM使用触发器电路来存储每个存储单元的位,而不需要定期刷新。这意味着在不丧失数据的情况下,SRAM可以一直保持存储的状态。

SRAM通常用于需要更快访问速度和更低功耗的应用,相对于DRAM而言,SRAM的访问时间更短。由于其静态性质,SRAM不需要定期刷新,这有助于提供更快的读/写访问速度,使得它在一些对性能和速度要求较高的应用中得到广泛应用。

然而,相对于DRAM,SRAM的成本较高且密度较低,因此通常用于一些对速度要求较高但对容量要求不那么严格的场合,如高速缓存(Cache)和寄存器文件等。在一些要求较小内存容量但需要快速访问的情况下,SRAM是一个合适的选择。

DRAM->EDP/FP->SDRAM->DDR

EDO(Extended Data Out)和FP(Fast Page)是两种与动态随机存取存储器(DRAM)相关的技术。它们都是早期计算机内存技术中的一部分,目前已经较少使用。

1. **EDO(Extended Data Out)**:
- EDO DRAM是一种改进的动态随机存取存储器技术,它在传统的DRAM设计上进行了一些优化。
- 主要改进是允许在读取一个存储位置的同时开始准备下一个存储位置的数据。这样,EDO DRAM在某种程度上提高了访问速度,特别是对于顺序访问的数据。
- EDO DRAM在1990年代初至中期的个人电脑中得到了广泛应用,但后来被更先进的内存技术所取代,如SDRAM(同步动态随机存取存储器)。

2. **FP(Fast Page)**:
- FP DRAM是另一种DRAM的变种,它引入了一些优化以提高访问速度。
- Fast Page模式允许在同一行内的不同列之间更快地切换,从而减少了存储器访问的延迟。
- 类似于EDO DRAM,Fast Page DRAM也是在早期PC系统中使用的一种内存技术,但随着时间的推移,被更新的内存技术取代。

这两种技术都是过去几十年内存发展的一部分,而当今的计算机系统通常使用更现代的内存技术,如DDR(Double Data Rate)和其后续版本,以提供更高的性能和容量。

SDRAM是同步动态随机存取存储器(Synchronous Dynamic Random Access Memory)的缩写。它是一种用于计算机系统的内存技术,是在动态随机存取存储器(DRAM)基础上的一种改进。

与传统的异步DRAM不同,SDRAM采用了同步时钟的设计。这意味着SDRAM使用外部时钟信号来同步内存控制器和内存模块之间的数据传输。这种同步性允许数据在固定的时钟周期内进行传输,提高了内存的效率和性能。

SDRAM有几个主要的变种,包括:
1. **SDR SDRAM(Single Data Rate Synchronous DRAM)**:在每个时钟周期传输一次数据。
2. **DDR SDRAM(Double Data Rate Synchronous DRAM)**:在每个时钟周期上升和下降沿都传输数据,因此每个时钟周期传输两次数据。DDR的后续版本包括DDR2、DDR3、DDR4等,每一代都在数据传输速率、内存容量和能效方面进行了改进。

SDRAM的使用广泛,特别是在个人电脑、工作站和服务器等计算机系统中。由于其同步性和高效性,SDRAM在提供高带宽和低延迟的内存访问方面相对于异步DRAM更为优越。

## ②ROM

ROM分为PROM、EPROM、EEPROM和FLASH,它们在计算机和电子设备中用于存储数据或程序。下面是它们的解释:

1. **PROM(可编程只读存储器,Programmable Read-Only Memory)**:
- PROM是一种只读存储器,一旦被编程,其内容就不能被修改。
- 编程是通过将电压应用到特定的存储单元(位)来实现的。通常,PROM是一次性编程的,一旦被编程,就无法擦除或重新写入。

2. **EPROM(可擦除可编程只读存储器,Erasable Programmable Read-Only Memory)**:
- EPROM是一种可编程的只读存储器,与PROM不同的是,它具有可擦除的特性。
- EPROM的内容可以通过使用紫外线擦除器进行擦除,然后可以重新编程。这使得开发人员可以多次使用相同的芯片。

3. **EEPROM(电可擦除可编程只读存储器,Electrically Erasable Programmable Read-Only Memory)**:
- EEPROM是EPROM的一种改进版本,擦除操作可以通过电子方式完成,而不需要紫外线擦除器。
- EEPROM可以在电子设备中进行在线擦除和重新编程,而无需将芯片从系统中移除。这种特性使得EEPROM更加灵活和易于使用。

4. **FLASH**:
- FLASH存储器是一种基于 EEPROM 技术的非易失性存储器,具有较高的存储密度和相对较快的擦除/编程速度。
- FLASH存储器通常用于存储固件、操作系统和其他需要在断电后仍然保留的数据。它也常用于存储照相机存储卡、USB驱动器和固态硬盘等。

这些存储器类型在不同的应用场景中发挥着重要的作用,选择哪一种取决于需求,如是否需要可擦除性、存储密度、速度和成本等因素。

## Multi-Bank

Multi-Bank通常指的是在计算机内存系统中使用多个存储银行(Bank)的一种技术。在内存架构中,存储银行是独立的存储区域,每个银行都有自己的地址范围。通过使用多个存储银行,系统可以在同时访问多个存储区域,从而提高内存的并发性和性能。

主要优势和特点包括:

1. **并发访问:** 多个存储银行允许系统同时访问不同的内存区域,从而提高内存访问的并发性。这对于需要大量数据传输的应用和对内存带宽要求较高的任务非常重要。

2. **降低冲突:** 当多个任务或线程同时访问内存时,如果它们访问的地址不冲突,系统就可以同时在不同的存储银行中进行操作,减少了竞争和冲突,提高了系统的整体性能。

3. **提高吞吐量:** 多银行架构可以提高内存子系统的总体吞吐量。当一个任务在一个存储银行上进行读/写操作时,其他任务可以在不同的银行上执行并发操作,从而更有效地利用系统资源。

4. **降低延迟:** 通过同时访问多个存储银行,系统可以在一定程度上降低内存访问的总体延迟,尤其是在需要大量数据传输的情况下。

Multi-Bank技术通常在高性能计算、服务器和一些需要处理大规模数据的应用中得到应用,以提高内存子系统的效率。这种技术可以在内存控制器和DRAM芯片之间的层次结构中实现。