\( \require{cancel} \)
earth
湘南理工学舎
[戻る]
2025/01/29
2024/10/25

 豆知識

 マイコン・コンピュータ用語と概略


(technical term of CPU and Microcomputer, history)
 --目 次--

はじめに


 論理回路の素子・デバイスは 真空管, トランジスタ, 集積回路IC, 大規模集積回路LSIへと進化してきました。
コンピュータは, 真空管, トランジスタで構成された後, IC, LSI の時代になると大きく進歩しました。
大型/ホストコンピュータなどは公共機関, 大企業で使われていましたが, 個人には身近ではありませんでした。
 LSIの登場により安価な個人ユースの電卓・パソコン(※)が登場し, 特に個人向けでは市場が大きく, 目覚ましい発展を遂げています。
注(※): "パソコン" は日本独自の略語, 正式には "personal computer" か " PC " です。
特にCPU(プロセッサ) の性能向上が著しく, 構造の階層化, 新しい周辺装置の登場などにより…用語も続々と出現し続けています。

マイコン・コンピュータ用語


 マイコン・パソコン・コンピュータは日進月歩に進化していますが, その用語も進化・変化しています。
同じことを指すのに人により, メーカにより, 使う環境・時代により 名称・用語が微妙に異なることがあります。
ここでは専門外の方にも, 分かりやすさを重視し説明していきます。(正確さを欠くことがあります)
 さて電卓の正式名を知っていますか…子式上計算機です。社会に普及したのは 1975年頃です。
その頃, 一般の人にはコンピュータを間接的に感じるのが電卓ぐらいでした。初期でも科学計算ができるものもありました。
この電卓には2種類の4ビットのマイコンが使われました。 一つはintel社 のCPU単独のマイコン(※1), もう一つは TI社(テキサスインスツルメンツ)の 1チップマイコン(※2)でした。 (intelのマイコンは日本のメーカの開発委託したものでした)
※1:intel社の4004です…世界初の1チップ(LSI)にしたマイクロプロセッサ(CPU)です。
メモリ・I/Oなどは外付けでコストパフォーマンスは低下するが, 高い汎用性がありました。
※2:TI社のTMS1000です…C P U の他に周辺デバイスを1チップ(LSI)にした1チップマイコンです。このチップにより電卓製造が簡単になり,多くのメーカが参入した。

指数と対数
intel社 4004
指数と対数
TI社 TMS1000
(電卓博物館)

参考: 国立科学博物館(上野)の地球館には初期の計算機/コンピュータが展示されています。

マイコン・コンピュータ用語
CPU(プロセッサ) 中央演算処理装置(Central Processing Unit) はコンピュータの中核・頭脳であり, コンピュータの性能を左右し,演算処理などの実行, 周辺デバイスの制御など コンピュータの中心的な装置です。
CPU のことをプロセッサ, マイクロプロセッサ などと呼ばれことがあります。

マイコン とは上述した TI社 TMS1000 のように "CPU に周辺デバイス(メモリ,I/Oなど)"を 1チップにまとめた マイクロコンピュータ(Microcomputer) のことです。
マイコンは日本独自の呼び名です, 海外では通じません, マイクロコンピュータ またはマイクロコントローラ と言ってください。

マイクロプロセッサ(MPU) とはプロセッサをマイクロチップに実装したものである。従いマイコンと同じです。

ワンチップマイコン とは マイコンの1つで, CPUの他にRAM、ROM、入出力回路などを1つのICチップにしたもの。 一般に言うマイコンより特定の機能に特化し, 低コストに仕上げている。 マイクロコントロールユニット(MCU),単にマイクロコントローラとも呼ばれています。

マイクロコントロールユニット(MCU) とは CPU に周辺機能(I/O, メモリなど)を内蔵し 1つのチップ(LSI) にまとめたもの。 マイコン, ワンチップマイコンと似ていますね。

プロセッサ(processor) は広義なので "装置/コンピュータ"に絞ってまとめると「一定の手順に基づいてデータを変換・演算・加工する機能を持った半導体装置」を指します。
従い CPU, MPU, マイコン もプロセッサといえます。
パソコンのスペックにはCPUでなく"プロセッサ" と記載されています。

コ・プロセッサ(coprocessor) とはCPUの処理の補助として特定の演算処理をする集積回路のことでプロセッサの一種です。
コプロセッサ例:
  • ・GPU /Graphics Processing Unit: 画像処理装置
  • ・FPU /Floating-point Processing Unit:浮動小数点演算処理装置
  • ・DSP /Digital Signal Processor:デジタルシグナルプロセッサ

  • 組み込みマイコン とは 組み込み製品に使われるマイコンのことです。
    用途を明確にしたマイコン, その用途の "組み込み製品" とは, 家電,自動車,モバイル機器,医療機器などです。

    マイコンボード は CPU の他に入出力・電源装置など動作の必要最低限の部品を搭載したボードで, 以下の"ワンボードマイコン" と "シングルボードマイコン" がマイコンボードの一種です。

    ワンボードマイコン とは 1枚のボードに CPU に 入出力・電源装置など最低限の機能を搭載した簡素なマイコンである。評価用や組込み開発用ボードに使われる。 (汎用的なOSを搭載していない)

    シングルボードマイコン はオペレーティングシステム(OS)を搭載したワンボードのマイコンです。

    マイクロアーキテクチャ とは CPU の内部構造や設計, 命令の実行方法などを示します。 また, アーキテクチャ単独ではシステムの論理的構造を示します。

    メインフレーム(mainframe) は 主に企業など巨大な組織の基幹情報システムなどに使かわれる大型コンピュータのこと。 大型汎用コンピュータ, ホストコンピュータ などとも呼ばれる。

    ミニコンピュータ はメインフレームより小型のものを, 日本ではオフィスコンピュータ(オフコン)とも呼ばれ, 小規模組織の事務処理用のコンピュータです。

    スーパーコンピュータ(スパコン) は主に科学用の大規模・高速な計算能力をもつコンピュータです。

    ワークステーション はパソコンより高性能, 高性能CPUや高性能なGPU(Graphics プロセッサ)が搭載された業務用のコンピュータです。(個人の業務用ではパソコンも同様です)

    サーバ マシン とは ネットワークを介してデータ/情報を提供するコンピューターとシステムのことです。
    クライアント(ユーザ,顧客)からのニーズに対応する役割をもち、次のような種類がある。
  • ・メールサーバー
  • ・webサーバー
  • ・データサーバ
  • ・DNSサーバ
  • (※3)
  • ・FTPサーバ…など

  • ※3:ドメインとIPアドレスの関連付けデータを管理している。
    例えば WEB画面で「経済産業省」と入力するだけでそのページにたどり着きます。
    …これはDNSサーバのおかげです。

    Unixサーバ/Linuxサーバ , Unixはベル研究所によるものでオープンソースになり, Window と同様なマルチタスクのOS, またハードウェアに依存しない,コンパクトなOS です。
    インターネットのサーバーやワークステーションなど広く用いられてます。
    またUNIXを参考したLinuxがあります。両方をまとめ"UNIX系"と呼れることもある。
    日本では殆どの電気メーカが UNIXサーバを販売した。
    NEC,富士通,三菱電機、東芝, 日立, 沖電気\(\cdots \)

    ファイアウォール とは 設定されたルールに基づいて不正アクセスやサイバー攻撃(※)などからネットワークやコンピュータを保護するシステムです。一般に 通信の出入り口に設置されます。
    注(※):サイバー攻撃には様々あります。
    サイバー攻撃【参照先】(Wikipedia)

    マイコンの構成と機能

     下図はマイコンボードの構成例です。
    構成デバイスの説明
    CPU が接続されているROM, RAM, PIO, 通信モジュール, A/Dコンバータ を制御・管理しています。
    ROM(EPROM) にはプログラムが書き込めれいる。不揮発性(電源がOFFでもデータは保存)

    •\(\ul{\s{ E^2PROM(=EEPROM) }}\) は設定データ等を保存,書き換え可能なメモリ(不揮発性)

    RAM はマイコンの演算結果, その他のデータを書き込み・読みだしするメモリ, 電源がOFFでデータは消去されます。(揮発性)

    I/Oポート (PIO)は 入出力ポートのことで, CPU が直にモータを駆動できない, また直にスッチの入力できません。PIOは耐電圧性,大電流性能があります。
    A/Dコンバータは 外部の温度、圧力等のアナログ信号からデジタル信号への変換器です。

    D/Aコンバータ(構成図には記載していない)は マイコンが計算したデジタル数値をアナログの電圧量など(モータのスピード,音量などを制御)に変える変換器です。

    通信モジュール のシリアル通信には様々あります, マイコンボードでは RS232C, Bluetooth などが一般的です。
    インターネットへの接続にはインサーネット規格のLANボード(モジュール)が必要です。

    アドレスバスとデータバス CPUと各デバイスとの接続はアドレスバス(16本)とデータバス(8本)で繋がっています。
    (CPU 基板はアドレス信号線(16本)とデータバス信号線(8本)のパターンで埋もれています)
    アドレスバスは一般に16本(16bit)の信号線があり, CPU と 各デバイス(RAM,ROMなど)と接続されています。
    各デバイスにはアドレスが割り当てられています。(各マイコンボードにはアドレスマップが用意されています。)
    CPU はアクセスしたい 各デバイスのチップセレクト端子 \(\s{\baro{CE}}\) をアクティブにしてデータの授受をします。
    チップセレクトの【参照先】
    バスとは アドレスバス,データバスのような信号線の束のこと。
    データバスは8本(8ビット)の信号線があり, CPU と 各デバイスに接続されています。


    マイコンの構成

    指数と対数
    fig1 マイコンの構成

    ノイマン型コンピュータ

    (コンピュータの基本)
     私たちが使っている ほとんどのコンピュータはノイマン型コンピュータです。そのノイマン型コンピュータについて説明します。
    (非ノイマン型には、ニューロコンピュータや量子コンピュータなどがあります)
    ノイマン型の特徴は「5大要素プログラム内蔵方式逐次制御方式」にあります。
    5大要素 (以下の「①と②」はCPUです)
    ①制御装置 ②演算装置(ALU) ③主記憶装置(メモリ) ④入力装置 ⑤出力装置
    これらの要素が連携して、プログラムの実行とデータ処理を行います。
    プログラム内蔵方式
    プログラムとデータが同じメモリ空間に格納され, メモリが一元化されていて, プログラムが メモリ内の他のデータや命令に直接アクセスできる柔軟性を有しています。
    逐次処理
    プログラム逐次(ちくじ)処理は、プログラムの命令がメモリから一つずつ取り出され、順番に実行される方式のことです。この直線的な処理方式がノイマン型の基本動作です。
    CPU はプログラムカウンタ(以下Pカウンタ"という)の示すメモリのアドレスの命令を読みます(これを"フェッチ"という)。
    そしてその命令を解釈し(これをでデコードという), 実行します。
    fetch:フェッチ, decode:デコード, execute:実行

    次にCPU は更新された (+1)のPカウンタの示すアドレスのメモリをフェッチし, 上記と同様に動作します。

    これから次のことを説明します。
    ・電源の立ち上り時, ハード的に不安定なとき, マイコンと周辺素子がどのように安定してプログラムを起動するか
    ・クロックとプログラムの実行の関係
    マイコンの基本動作

     上図は8ビットマイコンのZ80 (CPU) を想定した構成図です。
    Z80 は8ビットの 最も代表的,最も多用された ザイログ社のCPU(プロセッサ) です。
    マイコンボードには OS(オペレーティングシステム)が搭載されていません。
    例えば Z80 では 四則演算のうち, 乗除算は搭載していないので ユーザが演算プログラム作る必要があります。

    CPU は電源がONして, マイコンと周辺素子への電圧が安定し, クロックが安定し, CPU が初期化するまでリセット状態を維持します。(パワーオンリセット)  その後リセットを解除し, 最初のクロックにより, CPU は プログラムカウンタ(P カウンタ)の示す番地のメモリ(ROM) の命令を実行します。
    ※:Pカウンタとは CPU が次に実行する命令の置かれている番地のこと。
    パワーオンリセット後のPカウンタ は "0" です。 命令がひとつ実行されるごとに、Pカウンタは更新されます。
    ジャンプ命令では "ジャンプ先のアドレス" を示しているが, そしてアドレスが Pカウンタです。
    CPU による命令のフェッチ, デコード, 実行はCPU のクロック信号に合わせて行われます。
    従いクロックが早くなればプログラムの実行速度は速くなります。
    1命令に必要なクロック数をクロックサイクル "n" といいます, 例えば Z80 の加算演算は4クロックです。
    仮にクロックが1MHz(\(\sc{1\x 10^6 Hz=百万Hz}\))とすると1周期は\(\frac{1}{\small{百万}}\)秒です。
    従い, この加算演算(4クロック)の実行には\(\frac{4}{\s{百万}} \s{=4μ秒}\)(※)かかります。
    (※):1秒の間に加算演算を25万回 行うスピードです

    「CPUの高速化」については以下の参照先にて詳しく掲載しています。
    CPUの高速化【参照先】

    …以上

      

    coffe

    [コーヒーブレイク/閑話]…お疲れさまでした