COLUMN
コラム
2021年10月20日
#アーキテクチャ – 知ったかテックワード!君もIT博士
カテゴリー:知ったかテックワード
タグ:プログラミング, 基本用語
アーキテクチャ(Architecture)とは、元々は建築用語で「建造物」「構造」を指す言葉だよ。IT分野では、コンピュータシステムやソフトウェアの基本構成や設計思想のことを「アーキテクチャ」と呼ぶんだ。
自動車業界でも、クルマを構成する基本部品の組み合わせ方を、メーカーに寄って「アーキテクチャ」とか「プラットフォーム」と呼んでいる。特に、クルマの車載電子システムで使われているかな。
IT分野のアーキテクチャ
コンピュータにアーキテクチャという用語を導入したのは、1964年にIBMが発表した大型コンピュータ「System/360」だと言われている。このときは、コンピュータプログラムからみたレジスタの仕様や命令セットなどを指していた。
これは、対象によって次のように分類できる。
- マイクロアーキテクチャ
- システムアーキテクチャ
- エンタープライズアーキテクチャ
マイクロアーキテクチャ
「マイクロアーキテクチャ」とは、CPUの内部構造・設計のことだよ。レジスタのビット幅や命令構成、キャッシュメモリのサイズ、さらにパイプライン処理や予測分岐などの高速化の仕組みといった機能構成を指す。命令構成に着目して「命令セットアーキテクチャ(ISA:Instruction Set Architecture)」と呼ぶ場合もある。
今でもコンピュータのCPUは、そのレジスタ構成などによって「32ビットアーキテクチャ」とか「64ビットアーキテクチャ」と呼ばれる。同じマイクロアーキテクチャなら、プログラムの互換性が高くなる。
代表的なマイクロアーキテクチャ
- IA-32/IA-64:インテル製32bit/64bit CPUのアーキテクチャ。x86/x64という言い方もある
- ARM:低消費電力でシンプルな命令セットを特徴とするARMプロセッサのアーキテクチャ。スマートフォンや組み込み機器からスーパーコンピュータまで幅広く利用されている。
- RISC-V:シンプルな命令セットを特徴とするオープン標準のマイクロアーキテクチャ。使用料のかからないオープンソースライセンスで提供されており、複数のチップメーカーがRISC-Vハードウェアの提供を開始している。
システムアーキテクチャ/ソフトウェアアーキテクチャ
「システムアーキテクチャ(System Architecture)」は、情報システムの基本構成のこと。複数のコンピュータやネットワークを組み合わせて、目的に応じて性能と信頼性を確保する。システムの多重化構成などがシステムアーキテクチャに当たる。
このようなシステムアーキテクチャを設計するエンジニアを「システムアーキテクト」と呼ぶ。情報システムのグランドデザインをする人だね。システムエンジニアの中でも、システムの全体像を把握している上級エンジニアになる。
あと、ソフトウェアのモジュールなどの構成を「ソフトウェアアーキテクチャ」と呼ぶんだ。
エンタープライズアーキテクチャ
「エンタープライズアーキテクチャ(EA:Enterprise Architecture)」という用語もある。これは、企業の組織とプロセス・情報システムなどに関する包括的な記述を指すんだけど、大企業向けの言葉で正直よく分からない。
企業全体を正確に把握することで、全体最適化を図る時に利用できるらしい。企業全体に情報システムをドカンと導入させるため、システムベンダーなどが自社製品を整理するために使っている印象がある。
おまけのコント
カエル:そんな恰好してどうしたの。
ウサギ:我こそは勇者ウサギ!いざ、旅立ちじゃ。
カエル:どこ行くの!
ウサギ:止めてくれるな!はるか遠く、西の大陸へ向かうのだ。
カエル:止めないけど。そこに何かあんの?
ウサギ:名前を言ってはいけないあの場所、ジ・アーキテクチャ。
カエル:なにそれ。
ウサギ:待っておるのだ!名前を言ってはいけないあの人が。
カエル:ああ、それも名前を言っちゃいけないのね。で、その人に会うとどうなるの?
ウサギ:何でも願いを叶えてくれる。
カエル:それはすごい。で、そこまでしてどんな願いを叶えてもらうの?世界平和とか?
ウサギ:おいしいごはんを食べて、たっぷり寝て、だらだら毎日すごすんだ。
カエル:冒険しなくてもいいのでは?
ウサギ:勇者ウサギは、ジ・アーキテクチャに向けて旅立った。
- カテゴリー
- タグ
- システム運用(16)
- TypeScript(1)
- WebAssembly(2)
- ウォーターフォール開発(2)
- 業務システム(28)
- CSS(2)
- GraphQL(1)
- プログラミング(31)
- スタートアップ(11)
- Nexaweb(1)
- BaaS(10)
- データベース(5)
- SPA(2)
- 基本用語(26)
- Case study(5)
- Keyword(10)
- FaaS(1)
- システム開発(69)
- スクラム(1)
- フロントエンド(38)
- AI(26)
- アジャイル開発(18)
- Supabase(1)
- イノベーション(5)
- Database(2)
- 月額制(1)
- PaaS(3)
- ACF(1)
- BookReview(3)
- サービス開発(5)
- React(3)
- Firebase(1)
- クラウドサービス(12)
- low-code(2)
- バックエンド(8)
- ナレッジマネジメント(1)
- ChatGPT(1)
- Vue.js(2)
- Tailwind CSS(1)
- DBaas(2)
- プロジェクト管理(13)
- セミナー(2)
- Web(21)
- 失敗事例(2)
- Hexabase_health(1)
- 生成AI(7)
- 受託開発(1)
- Kubernetes(3)
- WebComponents(1)
- 通知(1)
- API(6)
- Next.js(1)
- フレームワーク(3)
- ローコード開発(4)
- ノーコード開発(1)
- JavaScript(2)
- Hexabase(12)
- LLM(3)
- 画像生成(1)
- DX(34)