[ストレージ]コンピュータシステムの原則

メモリのレベルと構造

メモリから異なる角度を分類:

 

コンピュータ(階層)分類1.プレスの役割

  (1)メインメモリ。また、メモリ(RAM)としても知られているメインメモリと呼ばれる、コンピュータの動作中に必要なプログラムやデータを大量に格納するため、CPUが直接ランダムにアクセスすることができ、また、バッファメモリ(キャッシュ)とデータを交換するための二次記憶装置に伝えることができます、小容量、高速アクセス、より高い単価を特徴とします。

  (2)二次メモリ。また、外部記憶装置(外部メモリ)としても知られている二次メモリと呼ばれる、それが直接CPUと情報を交換することができない、メインメモリは、現在のプログラムや一時未使用のデータを格納するために使用されるバックアップメモリ​​であり、いくつかは、永久記憶された情報を必要とします。偉大な能力を特徴とする、アクセス速度が遅い、低単価です。

  (3)キャッシュメモリ。CPUが高速でそれらを使用できるように、実行中のデータおよびプログラム・セグメントを格納するためのメインメモリとCPUとの間に位置する頭字キャッシュ、、。キャッシュのアクセス速度は、CPUの速度が、小さなストレージ容量と高価格に合わせることができます。現在のハイエンドコンピュータは、彼らは通常、CPUに作られています。

 

2.ストレージメディアの分類

  記憶媒体によれば、メモリは、メモリ(ディスク、テープ)、磁気コアメモリ、半導体メモリ(MOS型メモリ、バイポーラ・メモリ)、光記憶装置(CD-ROM)の磁性面に分けることができます。

 

3.方法の分類によると、

  (1)ランダム・アクセス・メモリ(RAM)。任意のメモリセルは、ランダム・アクセス・メモリとすることができ、アクセス時間は、メモリセルの物理的位置とは無関係です。利点は、柔軟な、読みやすい主としてメインメモリやキャッシュメモリとして使用されます。RAMは、スタティックRAMに分割され、ダイナミックRAM(登録情報、SRAMの原理をトリガするために)(キャパシタに登録情報、DRAMの原理を充電します)。

  (2)リードオンリメモリ(ROM)。メモリの内容が書かれており、ランダムに読み取ることができません。情報が固定、たとえ停電上のメモリに書き込まれると、内容が失われることはありません。したがって、それは通常、固定プログラム、定数や文字フォント、および硬化のためにも、オペレーティングシステムを格納しています。これは、メインメモリを構成する共通の統一アドレスフィールドの一部としてメインメモリとランダム・アクセス・メモリであってもよいです。

    ROMメモリから誘導また、書き換え型を繰り返すことができる含まROM及びRAMアクセスがランダムアクセス方式です広い意味でのメモリ等、電気的に消去可能な書き込みであったかもしれないだけで、読む、何の予約を「読み取り専用いない」が、それでもオフ保持内容を保持し、ランダム再生特性が、書き込み速度比となっている概念読み出し速度はかなり遅いです。

  (3)シリアルアクセスメモリ。ときに、メモリセルの読み出し/書き込み動作、(例えば、磁気テープ、SAM)順次アクセス・ストレージ(ディスクなど、DAM)ダイレクト・アクセス・ストレージを含むアドレッシング配列を有する基礎の物理アドレス。

 

概要シーケンシャルアクセスメモリは、遅いアクセス速度を特徴とする銀行に関する情報の物理的な位置に、特定の順序でアクセス時間の長さにアクセスすることができます。直接の間のどこかでアクセスするためにRAMとしてではなく、完全なシーケンシャル・アクセス・メモリとして、いずれかのメモリセルにアクセスしませんが、どちらも、ランダム・アクセス・メモリ。情報へのアクセスは、典型的には、次に小さい全メモリ内の領域(ディスク上の例えば、トラック)、および小領域に見つけるために探している場合。

 

4.情報の分類保存

  停電後、メモリに格納された情報は、RAMとして、消失揮発性メモリと呼ばれます。停電後、情報を記憶情報は、ROM、磁気記憶装置、光記憶面として、不揮発性メモリのままと呼ばれます。記憶部に記憶された情報が読み出された場合、元の情報が記憶されて破壊され、それが破壊読み出しと呼ばれ、読み取りと、読み取りユニットは、非破壊読み出しと呼ばれる、情報が破壊されない格納されています、破壊読み出しを有するメモリは、各読み出し動作の後、再生動作が直ちに回復するための情報が破壊されなければなりません。

 

メモリは、3つの主要業績評価指標、すなわち、記憶容量、速度、および単位あたりの記憶コストを有します。これらの3つの指標の相互拘束、メモリシステムの設計目標は、高容量、低コストかつ高速です。

  (1)(例えば、1M×8ビット)が格納された単語の記憶容量* =ワード長。メモリワードの収納サイズは、アドレス空間、1つのアクセス動作のデータ・ワード長の量を表しています。

  (2)単価:/総容量あたりの総費用=価格。

  (3)ストレージ速度:幅=データレート/データ・メモリ・サイクル。

    1. アクセス時間(T A):アクセス時間が経験操作を完了するためのメモリを起動する操作からの時間であり、時間は、読み出しおよび書き込み回に分割されています
    2. アクセス期間(TのM):読み取りと書き込みアクセスサイクルとして知られているアクセスサイクルまたは期間。これは、すなわち、間に必要な最小時間(読み出しまたは書き込み動作)連続する2回の独立したメモリアクセス動作間隔をメモリ読み出しを完了し、書き込み動作に必要な総時間を指します
    3. メインメモリ帯域幅(BのM):メインメモリ帯域幅、データ転送レートとして知られているが、第二のメインメモリは、文字単位のうち、情報の最大量を表し/秒/秒(B / S)バイト又はビット/秒(B /秒)。

 

これは、格納されたメモリのサイクル時間よりも典型的に大きく、記憶されたアクセス期間と等しくありません。メモリの任意の種類は、読み取りおよび書き込み操作の後、内部状態を復元するリカバリ時間の期間がなければならないからです。メモリアクセスサイクルの破壊読み出しのためにすぐにメモリ内に読み出された情報の後にあるため再生の必要性を、多くの場合、アクセス時間よりもはるかに大きいです。

ハードディスクに保存されているオペレーティングシステムは、あなたが最初の読み取りおよび書き込み操作が実行されている必要があるので、RAMを使用する必要があり、ブートプログラムは通常ROMに格納されてメインメモリに実施する必要があります。

 

メモリの階層構造

  図に示すように、コンピュータ・システム、典型的には、マルチレベルメモリ構造では、3つの相反するの大容量記憶システム、高速かつ低コストの制約を解決するために。上から下への描画では、低および低価格は、もっとゆっくり、容量を増やす、CPUの周波数が低くなっアクセス権を持っています。

  

 

 

 

  「 - メインメモリキャッシュ」レベルと「メインメモリ - 二次記憶装置」レベル実際には、ストレージシステムの階層は、主に反映されています。前者の問題のCPUとメインメモリの速度の不一致は、後者は、システムの記憶容量の問題を解決します。ストレージシステムでは、キャッシュは、メインメモリに直接CPUと情報を交換することができ、そして二次メモリはメインCPUのメモリを介して情報を交換する必要があります。CPUとメインメモリ、キャッシュ、補助記憶装置は、情報を交換することができます。

 

 

 

                 階層三次ストレージシステムとそのコンポーネント

 

メインメモリとキャッシュとの間のデータの動員は、ハードウェアによって自動的に行われ、全ては、プログラマに対して透明であり、メインメモリと二次メモリとの間のデータの移動は、アプリケーションを完了するために、ハードウェアとオペレーティングシステムでありますメンバーは透明です

そして、「メインメモリ - 補助記憶装置」 - 「キャッシュメインメモリ」におけるレベル、コンテンツの上層だけコンテンツのコピーの下にある、すなわちキャッシュ(メインメモリ)メインメモリの内容のみ(補助記憶装置)コンテンツの一部。

 

半導体ランダム・アクセス・メモリ

 

 

 74138デコーダストロボ端子G1は、他の2つは、それぞれの出力端子にローレベルに符号化された翻訳されたバイナリの終了前にアドレス低く、高いです。

 

SRAMの作品

  記憶素子スタティック・ランダム・アクセス・メモリ(SRAM)は、メモリにフリップフロップ(6つのMOS)の情報であり、そのための情報が読み込まれた後も、それが再生を必要とせずに元の状態を保つ(非破壊読み出し)。しかし、限り、電源がオフされると、格納された元の情報が失われたので、揮発性半導体メモリに属しています。SRAMのアクセス速度が、統合度の低い、消費電力が大きい場合、バッファメモリは、一般に、組成物を伝えるために使用されています。

 

DRAMの作品

  ダイナミック・ランダム・アクセス・メモリ(DRAM)ゲート上の電荷は、メタ情報、共通の基本的なDRAMメモリ回路は一般に、3つの単一の管に分割されて格納する容量の記憶回路を使用することです。DRAMアドレス多重化を使用して、アドレス線は、元の1/2であり、分岐アドレス信号、カラム2つの送信尊敬のSRAMのために、DRAMは、容易な統合、低価格、低容量および消費電力の利点を有するが、DRAMのアクセス速度はSRAMよりも遅い、典型的には大容量のメインメモリシステムを形成するために使用されます。

 

DRAMはそのために、随時、通常は2msのをとりリフレッシュサイクルと呼ばれるこの時間をリフレッシュする必要があり、情報が自動的に(揮発性メモリ)に保存されて消えてしまいます。一般的に使用される方法は、3種類の更新である:集中分散非同期リフレッシュリフレッシュをリフレッシュ。

  (1)集中リフレッシュを:また、アクセスとして知られ、読み出し及びメモリへの書き込み動作が停止している間に、「デッドタイム」と呼ばれる、ある全て再生することにより、一定時間によるリフレッシュ周期で順次ラインメモリいずれかを意味します「デッドゾーン」を保ちます リフレッシュは、読み出しおよび書き込み動作に影響を与える場合の利点は、システムのより高いアクセス速度をリフレッシュ動作を集中していない、という欠点がリフレッシュ(デッドゾーン)中に濃縮されたメモリにアクセスすることはできません。

  (2)分散刷新:把对每行的刷新分散到各个工作周期中。这样,一个存储器的系统工作周期分为两部分:前半部分用于正常读、写或保持;后半部分用于刷新某一行。这种刷新方式增加了系统的存取周期,如存储芯片的存取周期为 0.5μs,则系统的存取周期为 1μs。分散刷新的优点是没有死区;缺点是加长了系统的存取周期,降低了整机的速度。

  (3)异步刷新:异步刷新是前两种方法的结合,它既可以缩短“死时间”,又能充分利用最大刷新间隔为 2ms 的特点。具体做法是将刷新周期除以行数,得到两次刷新操作的时间间隔 t,利用逻辑电路每隔时间 t 产生一次刷新请求。这样可以避免使 CPU 连续等待过长的时间,而且减少了刷新次数,从根本上提高了整机速度。

 

  DRAM 的刷新需注意以下问题:(1)刷新对 CPU 是透明的,即刷新不依赖外部的访问;(2)动态 RAM 的刷新单位是行,故刷新操作时仅需要行地址;(3)刷新操作类似于读操作,但又有所不同。刷新操作仅给栅极电容补充电荷,不需要信息输出。另外,刷新时不需要选片,即整个存储器中的所有芯片同时被刷新。

  SRAM 和 DRAM 都满足断电内容消失,但需要刷新的只有 DRAM,而 SRAM 不需要刷新。

 

SRAM 和 DRAM 各自的特点
特点 \ 类型 SRAM DRAM
存储信息 触发器 电容
破坏性读出
需要刷新 不要 需要
送行列地址 同时送 分两次送
运行速度
集成度
发热量(功耗)
存储成本
主要用途 高速缓存 主机内存

 

ROM 器件有两个显著的优点:

(1)结构简单,所以位密度比可读写存储器高。

(2)具有非易失性,所以可靠性高。

 

根据制造工艺不同,ROM 可分为掩膜式只读存储器(MROM)、一次可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、闪速存储器(Flash Memory)和固态硬盘(Solid State Drives)。

MROM 写入后任何人无法改变其内容。PROM 允许用户利用专门的设备(编程器)写入自己的程序,一旦写入,内容就无法改变。EPROM不仅可以由用户利用编程器写入信息,而且可以对其内容进行多次改写。需要修改 EPROM 内容时,先将其全部内容擦除,然后编程。

 

主存容量的扩展:位扩展法,字扩展法,字位同时扩展法。

 

双端口 RAM 和多模块存储器

双端口 RAM 是指同一个存储器有左、右两个独立的端口,分别具有两组相互独立的地址线、数据线和控制线,允许两个独立的控制器同时异步地访问存储单元。当两个端口的地址不相同时,在两个端口上进行读写操作一定不会发生冲突。

 

 

 

两个端口同时存取存储器地同一地址单元时,会因数据冲突造成数据存储或读取错误。两个端口对同一主存操作有以下4 种情况:

  1. 两个端口不同时对同一地址单元存取数据。
  2. 两个端口同时对同一地址单元读出数据。
  3. 两个端口同时对同一地址单元写入数据。
  4. 两个端口同时对同一地址单元操作,一个写入数据,另一个读出数据。

其中,第 1 种和第 2 种情况不会出现错误;第 3 种情况会出现写入错误;第 4 种情况会出现读出错误。

 

为提高访存速度,常采用多模块存储器,常用的有单体多字存储器和多体低位交叉存储器。

 

 

 

1.单体多字存储器

  单体多字系统的特点是存储器中只有一个存储体,每个存储单元存储 m 个字,总线宽度也为 m 个字。一次并行读出 m 个字,地址必须顺序排列并处于同一存储单元。

  单体多字系统在一个存取周期内,从同一地址取出 m 条指令,然后将指令逐条送至 CPU 执行,每隔 1/m 存取周期,CPU 向主存取一条指令。这增大了存储器的带宽,提高了单体存储器的工作速度。

  缺点:指令和数据在主存内必须是连续存放的,一旦遇到转移指令,或操作数不能连续存放,这种方法的效果就不明显。

2.多体并行存储器

  多体并行存储器由多体模块组成。每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路、地址寄存器和数据寄存器,它们既能并行工作,又能交互工作。多体并行存储器分为高位交叉编址(顺序方式)和低位交叉编址(交叉方式)两种。

  (1)高位交叉编址:高位地址表示体号,低位地址为体内地址。采用高位交叉编址方式的存储器仍是顺序存储器。

  (2)低位交叉编址:低位地址为体号,高位地址为体内地址。由于程序连续存放在相邻体中,因此采用此编址方式的存储器称为交叉存储器。

 

 

多体模块结构的存储器采用低位交叉编址后,可在不改变每个模块存取周期的前提下,采用流水线的方式并行存取,提高存储器的带宽。

 

 

高速缓冲存储器

高速缓冲技术是利用程序访问的局部性原理,把程序中正在使用的部分存放在一个高速的、容量较小的Cache中。使 CPU 的访存操作大多数针对 Cache 进行,从而大大提高程序的执行速度。

Cache 位于存储器层次结构的顶层,通常由 SRAM 构成。

CPU 与 Cache 之间的数据交换以字为单位,而 Cache 与主存之间的数据交换则以 Cache 块为单位

 

  在Cache 中,地址映射是指把主存地址空间映射到 Cache 地址空间,即把存放在主存中的程序按照某种规则装入Cache。地址映射不同于地址变换。地址变换是指 CPU 在访存时,将主存地址按映射规律换算成 Cache 地址的过程。地址映射的方式有以下 3 种。

  1.直接映射

  主存数据块只能装入 Cache 中唯一的位置。若这个位置已有内容,则产生块冲突,原来的块将无条件地被替换出去(无须使用替换算法)。直接映射的块冲突概率最高,空间利用率低。直接映射的关系可定义为 j = i mod 2c

  直接映射的地址结构为 

主存字块标记 Cache 字块地址 字块内地址

  2.全相联映射

  可以把主存数据块装入 Cache 中的任何位置。

  全相联映射的地址结构为

主存字块标记 字块内地址

  3.组相联映射

  将 Cache 空间分成大小相同的组,主存的一个数据块可以装入一组内的任何一个位置,即组间采取直接映射,而组内采取全相联映射。两个 Cache 块为一组即二路组相联。

  组相联映射的地址结构为

主存字块标记 组地址 字块内地址

 

 

Cache 总容量包括:存储容量、标记列阵容量(有效位、标记位、一致性维护位、替换算法控制位)。

每个 Cache 行对应一个标记项(有效位、标记位……)

 

Cache 中主存块常用的替换算法有随机(RAND)算法、先进先出(FIFO)算法、近期最少使用(LRU)算法和最不经常使用(LFU)算法。与操作系统算法类似,不再赘述。

 

Cache 中的内容是主存块的副本,当对 Cache 中的内容进行更新时,就需选用写操作策略,使 Cache 内容和主存内容保持一致。此时分两种情况:

  对于 Cache 写命中(write hit),有两种处理方法。

  (1)全写法(写直通法、write - through)。当 CPU 对 Cache 写命中时,必须把数据同时写入 Cache 和主存。

  (2)写回法(write - back)。当 CPU 对 Cache 写命中时,只修改 Cache 的内容,而不立即写入主存,只有当此块被换出时才写回主存。这种方法减少了访存次数,但存在不一致的隐患。采用这种策略时,每个 Cache 行必须设置一个标志位(脏位),以反应此块是否被修改过。

  对于 Cache 不命中,也有两种处理方法

  (1)写分配法(write - allocate)。加载主存中的块到 Cache 中,然后更新这个 Cache 块。它试图利用程序的空间局部性,但缺点是每次不命中都需要从主存中读取一块。

  (2)非写分配法(not - write - allocate)。只写入主存,不进行调块。

Cache的写命中和写未命中,就是磁盘或者内存上的存储区域之前有没有写过数据。如果有,这次再写到相同的区域叫写命中;如果写到其他区域,叫写未命中。

非写分配法常与全写法合用,写分配法通常和写回法合用。

 

对于由高速缓存、主存、硬盘构成的三级存储体系,CPU 访问该存储系统时发送的地址为主存物理地址。当 CPU 访存时,先要到 Cache 中查看该主存地址是否在 Cache 中,所以发送的是主存物理地址。只有在虚拟存储器中,CPU 发出的才是虚拟地址。磁盘地址是外存地址,外存中的程序由操作系统调入主存中,然后在主存中执行,因此 CPU 不可能直接访问磁盘。

采用 指令Cache 和 数据Cache 分离的主要目的是减少指令流水线的资源冲突。

 

局部性原理的基本含义是:在程序执行过程中,程序对主存的访问是不均匀的(即局部)。

页式虚拟存储方式和段页式都以页为单位和主存交互。

虚存对应用程序员透明,对系统程序员不透明。

在虚拟存储器中,当程序正在执行时,由操作系统完成地址映射。

若 Cache 行长太大,Cache 项数变少,因而命中的可能性减小。

おすすめ

転載: www.cnblogs.com/oneMr/p/11438087.html