コンピュータアーキテクチャ

コンピュータの設計書のことをコンピュータアーキテクチャと呼びます。この科目ではコンピュータがどのように成り立っているのかについて学びます。特に、コンピュータの頭脳であるCPUがどのように動作してるのかを集中的に学び、大学によってはCPUを学生自らが作ることもあります。この記事ではコンピュータアーキテクチャの重要な三つの要素について紹介します。

論理回路

「and」や「or」など単純な論理演算を行う電子素子のことを論理素子といい、論理素子による組み合わせによって成り立つ回路のことを論理回路といいます。論理回路の講義では「and」や「or」など単純なパーツを組み合わせて四則演算を行う計算回路やメモリなど高度な回路を構成する方法を学びます。論理素子がLEGOブロックで、単純なブロックを組み合わせることで徐々に大きな家や街を作っていくようなイメージです。

命令セットアーキテクチャ

CPUに命令を与える言語ための言語を機械語といい、機械語ののルールをまとめた体型を命令セットアーキテクチャといいます。例えば、機械語にはこの命令を下すとこのメモリとこのメモリの方値が足し算されるといった命令が存在します。C言語やPythonなどの高級言語とは異なり、機械語は非常に単純な命令のみを取扱えます。命令セットアーキテクチャの授業では単純な命令を組み合わせて高度なプログラムを書く術を学びます。ここでも、機械語の命令をLEGOブロックとして、大きなプログラムが家や街といったイメージをもつと分かりやすいかもしれません。

コンピュータアーキテクチャ

コンピュータアーキテクチャの授業では論理回路の授業で作った論理回路をさらに組み合わせることによって命令セットアーキテクチャの命令を実現する方法を学びます。論理回路で学ぶ回路は単一の機能しか持ちませんが、それらを組み合わせることにより、プログラムを用いて柔軟に動作する回路を構成することができるようになります。

まとめ

コンピュータアーキテクチャの授業では単純な論理素子から始めて、徐々に高度な機能をもつ回路を構成する術を学び、その回路に対して命令を与える機械語の書き方を学びます。