高校~社会人の情報学基礎知識講座

ノイマン型コンピュータのハードウェア

»

有限オートマトンの一種である万能チューリングマシンの具現化としてノイマン型コンピュータがパソコン・スマホの源流にあるよ、という話は以前もしました。

中学校技術の情報処理の単元には「コンピュータの五大装置」という項目があり、演算装置・制御装置・記憶装置・入力装置・出力装置が該当します。
一般に演算装置・制御装置⇒CPU,記憶装置⇒メモリ,入力装置⇒キーボード・マウス・タッチスクリーン等,出力装置⇒モニタ・スピーカー等が該当。

ちなみに主 記憶装置はメモリで 補助 記憶装置はHDD/SSD等を指します。最初期のコンピュータではメモリに入れる内容すら手動だった(今でもスロースキャンコンピュータという学習用コンピュータではやる)ので、メモリが主で長期保存するための装置は補助になります。


演算装置・制御装置についてのうんちく

メインとなる制御装置付き演算装置をCentral Processing Unitの略でCPUと言います。
CPUの総合処理スピードを比較する方法として、bit数・クロック数・コア数などが該当します。

bit数としてはPC用としては現在はほぼ32bit、64bitが存在します。それ以上のbit数のCPUは一部ゲーム機ハードなどにあります。

CPUは有限オートマトンの一種なので、状態が変化するかどうかを一定の時間ごとに比較するわけです。この切り替え時間を1クロックと言い、秒間で何クロックできるかをクロック

周波数と言います。消費電力および発熱量が増えますがオーバークロックという周波数増加機能がある場合もあります。

コア数としては2,4,8コアあたりが主流でコア数が多いほど同時処理可能数が増えます。1コア時代は数クロックごとに処理を切り替えていたため、モニタと音楽など違う種類の処理を切り替える必要があり、切り替えロスがちょいちょい発生するわけです。この辺のロスをいかになくすかでいろんな方式があったりするので、基本情報の問題があったりします。

他にCPUの中に一部GPUを持ったタイプなどがあり、GPU機能で一部機能を高速化したバージョンもあります。

で、上記で出てきたGPUはGraphical Processing Unitの略で、映像処理などは制御演算の種類よりもCPUでいうところのコア数のほうが大事となることが多くなるためコア数特化した演算装置になります。演算制御はCPUにぶん投げるわけです。 グラフィックボードはGPUに特化してます。


主記憶装置と補助記憶装置

先に言ったとおり主記憶装置はメモリ、補助記憶装置はHDD/SSDなどが該当します。
メモリは32bitCPUだと4GB弱しか詰めないという問題点があります。(下記リンク参照)
https://xtech.nikkei.com/it/pc/article/knowhow/20100222/1023106/
64bitになると詰める量が増えるので、メモリ量が多いほど処理スピードが上昇します。

補助記憶装置としてSSDが一般化してますね。比較的最近出てきたドライブなので、データの読み書きが単位時間でできること、ほかのディスクドライブより高速に読み書きできるメリットがあります。 書き込みの回数に上限があるため、超長期で利用すると利用できない領域がどんどん増えて(利用不能領域が増えること自体はHDDでも起こるが)いく。なのでHDDの高速化技術の一つデフラグを実施すると高速に劣化する。

HDDは大容量と低コストがバランスよく、SSDが出てくる前は起動ドライブなどにも利用されていました。(今は起動ドライブとしてSSD,補助のデータとドライブにHDDを使う場合のほうが多い)金属製の円盤を重ねて回転させ、セクタという領域ごとに針で磁力を読み取る構造をしている。そのため、衝撃を与えると針がぶれたり円盤にぶつかったりするため稼働中のHDDを振り回してはいけない。このセクタが連続していると回転させるだけでデータが読めるが、ファイルの読み書きでだんだんデータが書き込まれた位置が不連続活分散する。これを連続にしようとデータの位置を直すことをデフラグという。その性質上大量のコピペ移動があるため書き込み回数が多くなる。なのでSSDだと劣化するわけです。基本的に外周からデータを入れていきます。

他にSDカード・フラッシュメモリ・テープ・CD/DVD/Bru-rayなどが補助記憶装置としてあるが、SDカードとフラッシュメモリはSDカードに近い。
テープはHDDが一般化する前から存在するがLTOという規格により容量がどんどん増えている。ただしほしいデータをすぐに取り出す、ということがしづらいのでバックアップなどでまとめて保存するといった利用法に使われる。
CD/DVD/Bru-rayは音楽・動画などに利用されることが多い媒体である。基本的に中心部からデータを光線によって書き込み、読み込み用光線を当ててその反射でデータを読み込む。上記3種類のディスクの違いは使用する光線の周波数が違うことで、同一面積に対して書き込めるデータ量が増加している事に因る。なのでBru-rayドライブは基本的にDVDやCDも読めるがCDドライブはBru-rayを読めない。(波長が大きすぎてCD用の光線ではDVDやBru-rayの溝に対して太すぎる)

余談だが、補助記憶装置の容量は1KB=1000B、1MB=1000KB、1GB=1000MB、1TB=1000GBとして計算・作成されている。
しかしながらコンピュータ上では慣習的に1KB=1024B、1MB=1024KB、1GB=1024MB、1TB=1024GBとして計算している。これは最初期の研究室レベルのコンピュータにおいて2^10=1024で概ね1000だから、かつ2の乗数のほうがコンピュータにおいて扱いやすかったという理由で取り決められた。
SI単位としてみた場合正しいのは1000倍ごとにK,M,G,Tと伸びていく事なので、1024倍で上がっていくほうをKiB(キビバイト),MiB(メビバイト),GiB(ギビバイト),TiB(テビバイト)と表記するのが正しい。
慣例によって表記すると、K,M,G,Tと1段階上がるたびに2.4%の累乗で数値が小さくなってしまうのである。
これによりLinuxなどではKiB,MiB,GiB,TiBという表記が見られるがWindowsでは変換方法はない。理由は「慣例に従って表記しています」なのだが、そのせいで1TBで売っているSSDをつないでも931GBと画面に表示されることになる。
無知な人の場合、これで量販店に怒鳴り込んでもおかしくないぞ?


入力装置・出力装置については前回インターフェイスとして紹介しているので今回項目は取りません。

コメント募集
PCとつなぐことのできるセンサーや面白HWを教えてください。原理についても教えてくれると嬉しいです。
例)赤外線の送信機と受信機のセット。間に遮蔽物が入ると赤外線の受信量が下がるため、遮蔽物の存在を検知することができる。
赤外線受信機による物体表面温度の測定。いわゆるサーモグラフィ。最近非接触型体温計として利用が多いが、あくまで表面温度なのでガチ病気の体温測定には向かない。外気温とかの影響受けまくるので。

Comment(6)

コメント

ちゃとらん

ジェスチャー入力パッドとか、面白そうです。
「Microchip MGC3130チップ」で簡単な指や手の動きを検知してコマンドを実行します。
まあ、PC用と言うより、もっと簡易な機器(ON/OFF、音量、照明の明るさ)の操作に適しているみたいです。

たしか、ドローンの操作をジェスチャーで出来る…みたいな製品もあったような気が…

匿名

いつも楽しく読ませていただいております。

『1024倍で上がっていくほうをKiB(キビバイト),MiB(メビバイト),GiB(ギビバイト),TiB(テビバイト)と表記するのが正しい。』
これは初めて聞きました。
1000か1024か迷うこともあり、区別がつくと便利です。
今度試しに使ってみようかと思います。

白栁隆司@エンジニアカウンセラー

最近、オーディオインターフェースや配信用のスイッチャーが面白いなって感じています。
オーディオインターフェースも、音量だけではなくて、SEのポン出しに使えるものがあったり。
スイッチャーは、もちろん映像出力を出すんですが、USB接続と専用ソフトでモニターできたり(遅延大)。

マスター吹越

ちゃとらん様
コメントありがとうございます!
ジェスチャー入力というと2014年くらいに指輪型インターフェイスが何種類か出てたなぁと思いだしましたw。今調べたら日本発の「Ring」は公式がつぶれてたし他のも見なくなったしで、再登場してほしいなと思いましたw 教えていただいたMGC3130チップは机に置いて手を動かす、的な方針になりそうですね。

匿名の方様
コメントありがとうございます!
吹越は客先宛の月次運用報告書にGiBと書いたら誤字を疑われましたw
相手が知っている可能性は(日本人相手だと)ほぼないので説明も忘れずに!

木枯し紋次郎様
コメントありがとうございます!一般的にサーバ機と呼ばれるノイマン型コンピュータがPCと異なる点としては、CPUの個数が多い(一般PCのマザーボードには複数コア入りのCPUが1個、というのが多いがサーバ機はこの複数コア入りCPUを複数個設置できる)とかメモリを積める量が多いとかHDDの交換が容易になっている(RAIDの話するの忘れてた…)とかがありますが、基本原理レベルではPCと変わらんです。
HPのサーバだと外付け制御装置としてiLoという機能をつけることができる場合が多いので、性能監視するならiLoから基盤全体の負荷とかを取得すると良いです。SNMPで取れますし。
こんな感じでよろしいでしょうか?

白栁隆司@エンジニアカウンセラー様
オーディオ関係は面白いですよね。音をゆがませたり野加工がアナログで実施した後に量子化・標本化できたりしますし。吹越自身はオーディオデバイス系に明るくないのでこれ以上の話合わせができないのですが…

コメントを投稿する