Chapter 8 Cache(1)
Chapter 8 Cache(1)
Contents of this lecture
English | Chinese |
---|---|
Internal Memory and External Memory | 内部存储器与外部存储器 |
Memory Locations and Addresses | 存储位置与地址 |
Byte Ordering | 字节排序 |
Main Memory Operations | 主存储器操作 |
Characteristics of Memory Systems | 存储系统的特性 |
内部存储器与外部存储器
- 典型的计算机系统 配备有一个层次化的存储子系统。
内部存储器(主存储)
- 存储器位于系统内部,处理器可以直接访问。
- 示例:
- 主存储器(RAM)
- 缓存(Cache)
- 处理器寄存器(Processor Registers)
外部存储器(次级存储)
- 存储器位于系统外部,处理器通过I/O模块访问。
内存位置与地址
主存组织
- 内存由许多存储单元组成,每个单元可以存储一个值为0或1的比特信息。
- 可以将主存视为一个比特矩阵来组织。
- 内存的组织方式是,每次存取操作都可以以一个基本内存操作的方式,存储或读取一组固定大小的比特。
- 字(Word):每组固定大小的比特称为一个字。
- 字长(Word Length):每个字的比特数称为字长,通常在16到64比特之间。
地址与地址空间
- 地址 是标识内存字的数字。
- 通常使用从\(0\)到\(2^k - 1\)的数字,表示内存中连续位置的地址。
- 这些\(2^k\)个地址构成了计算机的地址空间,内存可以有最多2^k个可寻址位置。
- 例如:
- \(24\)位地址生成的地址空间为\(2^{24}\),或\(16M\)位置。
- \(32\)位地址生成的地址空间为\(2^{32}\),或\(4G\)位置。
字节寻址内存
- 将每个比特位置分配独立地址 是不现实的。
- 更实际的分配方法是,使连续的地址指向内存中的连续字节位置。
字节顺序
大端存储(Big-endian)
- 在大端存储中,较低的字节地址用于存储字中较高的字节(即左边的字节)。
- 例如:对于32位字长的字节寻址内存,在图2.3(a)中展示了大端存储的方式。
小端存储(Little-endian)
- 在小端存储中,较低的字节地址用于存储字中较低的字节(即右边的字节)。
- 例如:对于32位字长的字节寻址内存,在图2.3(b)中展示了小端存储的方式。
主内存操作
连接内存与处理器
主内存通过接口与处理器连接,以便数据传输和指令执行。
处理器-内存接口
- 处理器通过特定的寄存器(如 MAR 和 MDR)与内存进行交互,进行读写操作。
读操作(加载)
- 操作描述:将特定内存位置的内容复制到处理器。
- 处理器:将所需内存位置的地址加载到 MAR(内存地址寄存器)中,并将 R/W(读/写)线设置为1。
- 内存:将指定位置的数据放置在数据线上,并通过断言 MFC(内存就绪信号)信号确认此操作。
- 处理器:接收到 MFC 信号后,将数据线上的数据加载到 MDR(内存数据寄存器)中。
写操作(存储)
- 操作描述:将处理器中的一项信息传输到特定位置,覆盖该位置原有的内容。
- 处理器:将特定位置的地址加载到 MAR 中,并将数据加载到 MDR 中。同时将 R/W 线设置为0。
- 内存:当数据写入完成后,内存通过 MFC 信号响应处理器。
内存系统的特点
物理类型(Physical Types)
- 内存可以分为不同类型,如主内存、缓存、硬盘、光盘等。
- 每种类型的内存有不同的存储介质和功能,主要包括快速的半导体内存和较慢的磁性或光学存储。
容量(Capacity)
- 容量指内存系统能够存储的数据量,通常以字节为单位。
- 容量越大,能够存储的信息越多,但也需要更多的物理空间和成本。
传输单位(Unit of Transfer)
- 传输单位指的是内存系统在一次操作中能够传输的数据量。
- 常见的传输单位包括字(word)、字节(byte)、块(block)等。
访问方式(Access Methods)
- 访问方式决定了如何从内存中读取数据或写入数据。
- 常见的访问方式包括顺序访问、随机访问、直接存取等。
性能(Performance)
- 性能是衡量内存系统效率的关键指标,包括读写速度、响应时间和带宽。
- 高性能内存可以更快地响应处理器的请求,从而提高整体系统的效率。
物理特性(Physical Characteristics)
- 物理特性包括内存的尺寸、功耗、响应时间等。
- 这些特性直接影响内存的应用场景和成本,决定了内存是否适合高性能计算或嵌入式应用。
物理类型(Physical Types)
半导体(Semiconductor)
- 示例:
- 主内存(Main Memory):例如DRAM、SRAM等,是计算机系统中的主要存储设备,用于存储正在运行的程序和数据。
磁性表面(Magnetic Surface)
- 示例:
- 磁盘(Magnetic Disk):如硬盘(HDD),用于大容量数据存储,数据通过磁头在磁性表面上进行读写。
- 磁带(Magnetic Tape):主要用于大容量数据存储,通常用于备份和归档。
光学(Optical)
- 示例:
- 光盘(CD, CD-R, CD-RW):用于存储音频、视频和数据等,CD-R是可记录的光盘,CD-RW是可重复擦写的光盘。
- DVD、Blu-Ray:具有更高存储容量的光盘,常用于存储高清电影和大容量数据。
容量(Capacity)
主内存的容量通常通过以下方式表示:
- 字长(Word Size)
- 指内存组织的自然单位中所包含的位数。
- 常见的字长有8位、16位、32位和64位等。
- 字数(Number of Words)
- 指特定内存设备中可用的字的数量。
- 例如:如果内存容量为4K×8,则其字长为8位,字数为4K。
- 字长(Word Size)
传输单元(Unit of Transfer)
定义:指每次从内存中读取或写入的比特数。
内部内存(Internal Memory)
- 通常等于内存模块的数据线数量。
- 它通常等于字长,但不一定是。
外部内存(External Memory)
- 数据通常以比字长更大的单位传输,这些单位称为“块”(blocks)。
存取方式(Access Methods)
顺序存取(Sequential Access)
- 内存按数据单位(称为记录)组织。
- 如果当前记录是第1个,那么要读取第N个记录,必须先读取从第1个到第N-1个记录。
- 访问任意记录的时间变化很大。
- 示例:磁带
随机存取(Random Access)
- 可以随机选择任何内存位置,并直接访问。
- 访问给定位置的时间与位置地址无关且是恒定的。
- 示例:半导体RAM内存
直接存取(Direct Access)
- 每个数据块或记录根据物理位置有唯一的地址。
- 通过直接存取到达大致位置,然后进行顺序搜索、计数或等待,直到达到最终位置。
- 存取时间可变。
- 示例:磁盘
性能(Performance)
- 内存访问时间(Memory Access Time)
- 从提供地址到获取有效数据(内存或其他存储设备)所需的时间。
- 随机存取内存(RAM):执行读取或写入操作所需的时间。
- 非随机存取内存:将读写机制定位到所需位置所需的时间。
- 内存周期时间(Memory Cycle Time)
- 仅用于随机存取内存。
- 从一次内存访问到下一次内存访问的时间。
- 包括访问时间和在第二次访问开始之前所需的额外时间。
- 内存周期时间 = 内存访问时间 + 恢复时间
- 访问时间和内存周期时间都是衡量内存速度的指标。
- 传输速率(Transfer Rate)
- 定义为数据进出内存单元的传输速率。
物理特性(Physical Characteristics)
- 易失性/非易失性(Volatile/Nonvolatile)
- 易失性(Volatile)
- 信息在电源关闭时自然衰退或丢失。
- 非易失性(Nonvolatile)
- 一旦记录,信息将保持不变,直到被故意更改。无需电力即可保持信息。
- 示例
- 磁表面存储器是非易失性的。
- 半导体存储器可以是易失性的或非易失性的。
- 易失性(Volatile)
- 可擦除/不可擦除(Erasable/Non-erasable)
- 可擦除(Erasable)
- 存储器的内容可以被修改或更改。
- 不可擦除(Non-erasable)
- 存储器的内容不能修改,除非摧毁存储单元。
- 可擦除(Erasable)
小测验(Quiz)
**内存组织方式是将一组 n 位存储或检索为单个基本操作。n 被称为____。**
- A. 字(Word)
- B. 字长(Word Length)
- C. 地址(Address)
- D. 单元(Cell)
答案:B. 字长(Word Length)
32位值 0x30A79847 被存储到地址 0x1000。如果系统是小端(Little Endian),则字节 ____ 存储在地址 0x1002 中。
- A. 0x30
- B. 0xA7
- C. 0x98
- D. 0x47
答案:B. 0xA7
解释:
- 在小端模式下,最低有效字节(右边的字节)存储在最低的地址位置,因此 0x47 会存储在地址 0x1000,0x98 存储在 0x1001,0xA7 存储在 0x1002,0x30 存储在 0x1003。
在主内存中,字长为 16 位,字的数量为 8K,这个主内存的容量是多少?
- A. 16K×16
- B. 16K×8
- C. 8K×16
- D. 8K×8
答案:C. 8K×16
解释:字长为 16 位,字的数量为 8K(即 8192 个字)。因此,内存的容量为 8K × 16 位。
对于随机访问内存,执行读或写操作所需的时间称为 ____。
- A. 内存周期时间(memory cycle time)
- B. 内存命中时间(memory hit time)
- C. 内存恢复时间(memory recovery time)
- D. 内存访问时间(memory access time)
答案:D. 内存访问时间(memory access time)
解释:内存访问时间指的是从内存接收或写入数据所需要的时间。
在内存中,任何位置在指定地址后都可以在短且固定的时间内访问,这种内存叫做 ____。
- A. 直接访问内存(direct access memory)
- B. 顺序访问内存(sequential access memory)
- C. 关联访问内存(associative access memory)
- D. 随机访问内存(random access memory)
答案:D. 随机访问内存(random access memory)
解释:随机访问内存(RAM)允许在固定时间内访问任何内存位置,无论其物理位置如何。
如果关闭计算机电源,存储在 ____ 设备上的内容将会丢失。
- A. RAM
- B. 硬盘(disk)
- C. DVD
- D. CD-ROM
答案:A. RAM
解释:RAM(随机访问内存)是易失性内存,当计算机关机或电源关闭时,存储的数据将会丢失。而硬盘、DVD 和 CD-ROM 是非易失性存储设备,不会因断电而丢失数据。
正确还是错误?对于内部内存,数据通常以比字长更大的单位进行传输,这些单位被称为块(blocks)。
- 答案:错误
解释:这个描述适用于外部内存(如硬盘),而不是内部内存。内部内存通常以字为单位进行数据传输,而外部内存可能以更大的单位,如块(blocks),进行数据传输。
正确还是错误?内存访问时间长于内存周期时间。
- 答案:错误
解释:内存访问时间是从提供地址到获取有效数据的时间,而内存周期时间是从一次内存访问到下一次内存访问的时间。内存周期时间包括访问时间和恢复时间,因此内存访问时间不应长于内存周期时间。
什么是内存访问时间?什么是内存周期时间?解释它们之间的关系。
- 答案:
- 内存访问时间是从提供地址到获取有效数据的时间。
- 内存周期时间是从一次内存访问到下一次内存访问的时间。
- 它们的关系是:
内存周期时间 = 内存访问时间 + 恢复时间
解释:内存周期时间包括内存访问时间和恢复时间,恢复时间是内存准备好下一次访问所需要的额外时间。
- 答案: