これらの類似点にもかかわらず、レジスタとメモリは互いにほとんど違いがありません。 レジスタとメモリの基本的な違いは、レジスタがCPUが現在処理しているデータを保持するのに対し、 メモリはプログラム命令とプログラムが実行に必要なデータを保持することです。
レジスタとメモリの違いについて、下の比較表を使って説明します。
比較表
比較基準 | 登録 | 記憶 |
---|---|---|
基本 | レジスタは、CPUが現在処理しているオペランドまたは命令を保持します。 | メモリは、CPU内で現在実行中のプログラムが必要とする命令およびデータを保持する。 |
容量 | レジスタは32ビットから64ビット程度の少量のデータを保持します。 | コンピュータのメモリは数GBからTBの範囲です。 |
アクセス | CPUは1クロックサイクル内に複数の動作レートでレジスタの内容を処理できます。 | CPUはレジスタより遅い速度でメモリにアクセスします。 |
タイプ | アキュムレータレジスタ、プログラムカウンタ、命令レジスタ、アドレスレジスタなど | RAM。 |
レジスタの定義
レジスタは、プロセッサ自体に組み込まれている最小のデータ保持要素です。 レジスタは、プロセッサから直接アクセスできるメモリ位置です。 レジスタは、現在CPUによってアクセスされている命令またはオペランドを保持する。
レジスタは高速アクセス可能な記憶素子です。 プロセッサは1 CPUクロックサイクル以内にレジスタにアクセスします 。 実際には、プロセッサは命令をデコードし、 CPUクロックサイクルごとに複数の演算の速度でレジスタの内容に対して演算を実行できます。 つまり、プロセッサはメインメモリよりも速くレジスタにアクセスできると言えます。
プロセッサが16ビット、32ビット、または64ビットレジスタを持つことができるように、レジスタはビットで測定されます。 レジスタビット数はCPUの速度とパワーを指定します。 たとえば、32ビットレジスタを持つCPUは、一度に32ビット命令にアクセスできます。 64ビットレジスタを持つCPUは64ビット命令を実行できます。 したがって、レジスタのビット数が多いほど、CPUの速度と能力が向上します。
コンピュータレジスタは次のように分類されます。
DR: データレジスタは、プロセッサによって操作されるオペランドを保持する16ビットレジスタです。
AR: Address Registerは、メモリ位置のアドレスを保持する12ビットのレジスタです。
AC: アキュムレータはプロセッサによって計算された結果を保持する16ビットレジスタでもあります。
IR:命令レジスタは、現在実行しなければならない命令コードを保持する16ビットレジスタです。
PC: プログラムカウンタは、プロセッサによって実行される命令のアドレスを保持する12ビットレジスタです。
TR: 一時レジスタは、プロセッサによって計算された一時中間結果を保持する16ビットレジスタです。
INPR: 入力レジスタは、 入力デバイスから受け取った入力文字を保持し、それをアキュムレータに 渡す 8ビットレジスタです。
OUTR:出力レジスタは、 アキュムレータから受信した出力文字を保持し、それを出力デバイスに送信する8ビットレジスタです。
メモリの定義
メモリは、コンピュータプログラム、命令、およびデータを格納するために使用されるハードウェアデバイスです。 プロセッサの内部にあるメモリはプライマリメモリ(RAM)であり、プロセッサの外部にあるメモリはセカンダリメモリ(ハードドライブ)です。 メモリは、 揮発 性メモリと不揮発性メモリに基づいて分類することもできます。
基本的に、 コンピュータメモリはコンピュータの一次メモリを指し、 二次メモリはコンピュータの記憶 装置と呼ばれる。 一次メモリは、データへのアクセスに遅延がないためにプロセッサによって直接アクセスされ得るメモリであり、したがってプロセッサはより高速に計算する。
一次メモリまたはRAMは揮発性メモリです。つまり、システムの電源を入れると一次メモリ内のデータが存在し、システムの電源を切るとデータは消えます。 一次メモリは、CPU内で現在実行中のプログラムによって必要とされるデータを含む。 プロセッサが必要とするデータが一次メモリにない場合、データは二次記憶装置から一次メモリに転送され、次にプロセッサによってフェッチされる。
データをコンピュータに保存すると、それが二次記憶装置に転送され、それまでは一次メモリに残ります。 今日のプライマリメモリまたはRAMの範囲は1 GBから16 GBです。 その一方で、今日の二次記憶装置は、数ギガバイト(GB)からテラバイト(TB)の範囲です。
レジスタとメモリの主な違い
- レジスタとメモリの主な違いは、レジスタはCPUが現在処理し ているデータを保持するのに対し、メモリは処理に必要なデータを保持することです 。
- レジスタは32ビットレジスタから64ビットレジスタの範囲ですが、メモリ容量は数GBから数TBの範囲です。
- プロセッサはメモリより速くレジスタにアクセスします。
- コンピュータレジスタは、 アキュムレータレジスタ、プログラムカウンタ、命令レジスタ、アドレスレジスタなどである。一方、メモリはコンピュータのメインメモリ、すなわちRAMと呼ばれる。
結論:
通常、レジスタはメモリ階層の最上位にあります。 これは、最小で高速にアクセス可能な記憶域要素です。 一方、メモリは一般にメインメモリと呼ばれ、レジスタよりも大きく、CPUへのアクセスはレジスタよりも遅くなりますが、セカンダリストレージよりも速くアクセスされます。