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比特之间。
image-20241123122951008

地址与地址空间

  • 地址 是标识内存字的数字。
  • 通常使用从\(0\)\(2^k - 1\)的数字,表示内存中连续位置的地址。
  • 这些\(2^k\)个地址构成了计算机的地址空间,内存可以有最多2^k个可寻址位置。
  • 例如:
    • \(24\)位地址生成的地址空间为\(2^{24}\),或\(16M\)位置。
    • \(32\)位地址生成的地址空间为\(2^{32}\),或\(4G\)位置。

字节寻址内存

  • 将每个比特位置分配独立地址 是不现实的。
  • 更实际的分配方法是,使连续的地址指向内存中的连续字节位置。

字节顺序

大端存储(Big-endian)

  • 在大端存储中,较低的字节地址用于存储字中较高的字节(即左边的字节)。
  • 例如:对于32位字长的字节寻址内存,在图2.3(a)中展示了大端存储的方式。
image-20241123123119730

小端存储(Little-endian)

  • 在小端存储中,较低的字节地址用于存储字中较低的字节(即右边的字节)。
  • 例如:对于32位字长的字节寻址内存,在图2.3(b)中展示了小端存储的方式。
image-20241123123131709

主内存操作

连接内存与处理器

主内存通过接口与处理器连接,以便数据传输和指令执行。

处理器-内存接口

  • 处理器通过特定的寄存器(如 MAR 和 MDR)与内存进行交互,进行读写操作。

读操作(加载)

  • 操作描述:将特定内存位置的内容复制到处理器。
  • 处理器:将所需内存位置的地址加载到 MAR(内存地址寄存器)中,并将 R/W(读/写)线设置为1。
  • 内存:将指定位置的数据放置在数据线上,并通过断言 MFC(内存就绪信号)信号确认此操作。
  • 处理器:接收到 MFC 信号后,将数据线上的数据加载到 MDR(内存数据寄存器)中。
image-20241123123428489

写操作(存储)

  • 操作描述:将处理器中的一项信息传输到特定位置,覆盖该位置原有的内容。
  • 处理器:将特定位置的地址加载到 MAR 中,并将数据加载到 MDR 中。同时将 R/W 线设置为0。
  • 内存:当数据写入完成后,内存通过 MFC 信号响应处理器。
image-20241123123437265

内存系统的特点

物理类型(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)

  • 主内存的容量通常通过以下方式表示:

    1. 字长(Word Size)
      • 指内存组织的自然单位中所包含的位数。
      • 常见的字长有8位、16位、32位和64位等。
    2. 字数(Number of Words)
      • 指特定内存设备中可用的字的数量。
      • 例如:如果内存容量为4K×8,则其字长为8位,字数为4K。

传输单元(Unit of Transfer)

  • 定义:指每次从内存中读取或写入的比特数。

  • 内部内存(Internal Memory)

    • 通常等于内存模块的数据线数量。
    • 它通常等于字长,但不一定是。
  • 外部内存(External Memory)

    • 数据通常以比字长更大的单位传输,这些单位称为“块”(blocks)。

存取方式(Access Methods)

  • 顺序存取(Sequential Access)

    • 内存按数据单位(称为记录)组织。
    • 如果当前记录是第1个,那么要读取第N个记录,必须先读取从第1个到第N-1个记录。
    • 访问任意记录的时间变化很大。
    • 示例:磁带
    image-20241123123947413
  • 随机存取(Random Access)

    • 可以随机选择任何内存位置,并直接访问。
    • 访问给定位置的时间与位置地址无关且是恒定的。
    • 示例:半导体RAM内存
    image-20241123123955376
  • 直接存取(Direct Access)

    • 每个数据块或记录根据物理位置有唯一的地址。
    • 通过直接存取到达大致位置,然后进行顺序搜索、计数或等待,直到达到最终位置。
    • 存取时间可变。
    • 示例:磁盘
    image-20241123124008336

性能(Performance)

  • 内存访问时间(Memory Access Time)
    • 从提供地址到获取有效数据(内存或其他存储设备)所需的时间。
    • 随机存取内存(RAM):执行读取或写入操作所需的时间。
    • 非随机存取内存:将读写机制定位到所需位置所需的时间。
  • 内存周期时间(Memory Cycle Time)
    • 仅用于随机存取内存。
    • 从一次内存访问到下一次内存访问的时间。
    • 包括访问时间和在第二次访问开始之前所需的额外时间。
    • 内存周期时间 = 内存访问时间 + 恢复时间
    • 访问时间和内存周期时间都是衡量内存速度的指标。
  • 传输速率(Transfer Rate)
    • 定义为数据进出内存单元的传输速率。

物理特性(Physical Characteristics)

  • 易失性/非易失性(Volatile/Nonvolatile)
    • 易失性(Volatile)
      • 信息在电源关闭时自然衰退或丢失。
    • 非易失性(Nonvolatile)
      • 一旦记录,信息将保持不变,直到被故意更改。无需电力即可保持信息。
    • 示例
      • 磁表面存储器是非易失性的。
      • 半导体存储器可以是易失性的或非易失性的。
  • 可擦除/不可擦除(Erasable/Non-erasable)
    • 可擦除(Erasable)
      • 存储器的内容可以被修改或更改。
    • 不可擦除(Non-erasable)
      • 存储器的内容不能修改,除非摧毁存储单元。

小测验(Quiz)

  1. **内存组织方式是将一组 n 位存储或检索为单个基本操作。n 被称为____。**

    • A. 字(Word)
    • B. 字长(Word Length)
    • C. 地址(Address)
    • D. 单元(Cell)

    答案:B. 字长(Word Length)

  2. 32位值 0x30A79847 被存储到地址 0x1000。如果系统是小端(Little Endian),则字节 ____ 存储在地址 0x1002 中。

    • A. 0x30
    • B. 0xA7
    • C. 0x98
    • D. 0x47

    答案:B. 0xA7

    解释

    • 在小端模式下,最低有效字节(右边的字节)存储在最低的地址位置,因此 0x47 会存储在地址 0x1000,0x98 存储在 0x1001,0xA7 存储在 0x1002,0x30 存储在 0x1003。
  3. 在主内存中,字长为 16 位,字的数量为 8K,这个主内存的容量是多少?

    • A. 16K×16
    • B. 16K×8
    • C. 8K×16
    • D. 8K×8

    答案:C. 8K×16

    解释:字长为 16 位,字的数量为 8K(即 8192 个字)。因此,内存的容量为 8K × 16 位。

  4. 对于随机访问内存,执行读或写操作所需的时间称为 ____。

    • A. 内存周期时间(memory cycle time)
    • B. 内存命中时间(memory hit time)
    • C. 内存恢复时间(memory recovery time)
    • D. 内存访问时间(memory access time)

    答案:D. 内存访问时间(memory access time)

    解释:内存访问时间指的是从内存接收或写入数据所需要的时间。

  5. 在内存中,任何位置在指定地址后都可以在短且固定的时间内访问,这种内存叫做 ____。

    • A. 直接访问内存(direct access memory)
    • B. 顺序访问内存(sequential access memory)
    • C. 关联访问内存(associative access memory)
    • D. 随机访问内存(random access memory)

    答案:D. 随机访问内存(random access memory)

    解释:随机访问内存(RAM)允许在固定时间内访问任何内存位置,无论其物理位置如何。

  6. 如果关闭计算机电源,存储在 ____ 设备上的内容将会丢失。

    • A. RAM
    • B. 硬盘(disk)
    • C. DVD
    • D. CD-ROM

    答案:A. RAM

    解释:RAM(随机访问内存)是易失性内存,当计算机关机或电源关闭时,存储的数据将会丢失。而硬盘、DVD 和 CD-ROM 是非易失性存储设备,不会因断电而丢失数据。

  7. 正确还是错误?对于内部内存,数据通常以比字长更大的单位进行传输,这些单位被称为块(blocks)。

    • 答案:错误

    解释:这个描述适用于外部内存(如硬盘),而不是内部内存。内部内存通常以字为单位进行数据传输,而外部内存可能以更大的单位,如块(blocks),进行数据传输。

  8. 正确还是错误?内存访问时间长于内存周期时间。

    • 答案:错误

    解释:内存访问时间是从提供地址到获取有效数据的时间,而内存周期时间是从一次内存访问到下一次内存访问的时间。内存周期时间包括访问时间和恢复时间,因此内存访问时间不应长于内存周期时间。

  9. 什么是内存访问时间?什么是内存周期时间?解释它们之间的关系。

    • 答案:
      • 内存访问时间是从提供地址到获取有效数据的时间。
      • 内存周期时间是从一次内存访问到下一次内存访问的时间。
      • 它们的关系是:
        内存周期时间 = 内存访问时间 + 恢复时间

    解释:内存周期时间包括内存访问时间和恢复时间,恢复时间是内存准备好下一次访问所需要的额外时间。