Embedded-systems-es-architectures
組み込みシステム-アーキテクチャの種類
8051マイクロコントローラは、8ビットのデータバスで動作します。 したがって、最大64Kの外部データメモリと最大64Kの外部プログラムメモリをサポートできます。 まとめて、8051マイクロコントローラは128kの外部メモリをアドレス指定できます。
データとコードが異なるメモリブロックにある場合、そのアーキテクチャは*ハーバードアーキテクチャ*と呼ばれます。 データとコードが同じメモリブロックにある場合、アーキテクチャは* Von Neumannアーキテクチャ*と呼ばれます。
フォンノイマンアーキテクチャ
フォンノイマンアーキテクチャは、コンピューター科学者ジョンフォンノイマンによって最初に提案されました。 このアーキテクチャでは、命令とデータの両方に対して1つのデータパスまたはバスが存在します。 その結果、CPUは一度に1つの操作を実行します。 メモリから命令をフェッチするか、データの読み取り/書き込み操作を実行します。 したがって、共通のバスを共有して、命令フェッチとデータ操作を同時に行うことはできません。
Von-Neumannアーキテクチャは、シンプルなハードウェアをサポートしています。 これにより、単一のシーケンシャルメモリを使用できます。 現在の処理速度はメモリアクセス時間を大幅に上回っており、プロセッサにローカルな非常に高速で少量のメモリ(キャッシュ)を採用しています。
ハーバードアーキテクチャ
ハーバードアーキテクチャは、命令とデータ用に別々のストレージバスと信号バスを提供します。 このアーキテクチャには、CPU内に完全に含まれるデータストレージがあり、データとしての命令ストレージへのアクセスはありません。 コンピューターには、内部データバスを使用してプログラムの命令とデータ用に別々のメモリ領域があり、命令とデータの両方に同時にアクセスできます。
オペレーターがロードする必要があるプログラム。プロセッサ自体を起動できませんでした。 ハーバードアーキテクチャでは、2つのメモリのプロパティを共有する必要はありません。
Von-Neumannアーキテクチャとハーバードアーキテクチャ
フォンノイマンアーキテクチャとハーバードアーキテクチャは次の点で区別されます。
Von-Neumann Architecture | Harvard Architecture |
---|---|
Single memory to be shared by both code and data. | Separate memories for code and data. |
Processor needs to fetch code in a separate clock cycle and data in another clock cycle. So it requires two clock cycles. | Single clock cycle is sufficient, as separate buses are used to access code and data. |
Higher speed, thus less time consuming. | Slower in speed, thus more time-consuming. |
Simple in design. | Complex in design. |
CISCおよびRISC
CISCは複雑な命令セットコンピューターです。 多数の命令に対処できるコンピューターです。
1980年代初頭、コンピュータ設計者は、メモリを使用せずにCPU内ではるかに高速に実行できるように、単純な構造でより少ない命令を使用することをコンピュータに推奨しました。 このようなコンピューターは、縮小命令セットコンピューターまたはRISCに分類されます。
CISC vs RISC
次のポイントは、CISCとRISCを区別します-
CISC | RISC |
---|---|
Larger set of instructions. Easy to program | Smaller set of Instructions. Difficult to program. |
Simpler design of compiler, considering larger set of instructions. | Complex design of compiler. |
Many addressing modes causing complex instruction formats. | Few addressing modes, fix instruction format. |
Instruction length is variable. | Instruction length varies. |
Higher clock cycles per second. | Low clock cycle per second. |
Emphasis is on hardware. | Emphasis is on software. |
Control unit implements large instruction set using micro-program unit. | Each instruction is to be executed by hardware. |
Slower execution, as instructions are to be read from memory and decoded by the decoder unit. | Faster execution, as each instruction is to be executed by hardware. |
Pipelining is not possible. | Pipelining of instructions is possible, considering single clock cycle. |