Chapter 08

2日目::マザーボード2回目「復習とBIOS」

shiozumi
shiozumi
2021.07.02に更新

まず、はじめに前回の復習から!

https://youtu.be/Y35kRU_T2-U

それでは、前回に引き続いて、マザーボードの学習を進めていきます。
まずは、その前に復習からですね~

  1. パーツの土台
  2. パーツ間の橋渡し

やや、ざっくりとした乱暴な言い方ですが、土台の役割は、パーツや周辺機器の接続を可能にして(初期化、接続テスト等)、電源を供給することが基本ですね。

そして、パーツ間の橋渡しをするために、マザーボード上のバス(bus)が、そのデーターの通り道となり、複数の種類のバス(front-side bus、memory bus、pci bus、etc)が組み合わさっている。それを、チップセットと呼んでいる。

最先端技術は、SOC(system on a chip)

CPU、マザーボード(チップセット)、その他パーツ類の性能も常に進化しています。勿論、アーキテクチャー(構造や設計)も、日進月歩です。先日紹介した、ノースブリッジ、サウスブリッジの構成も、既に古くなっているんですね~ (;^_^A 又、製造過程における、最先端のプロセスルールは、なんと、5nm(ナノ、メートル) の配線幅を実現し、超高密度です。近年では、このマザーボードと必要なパーツの全てを、一つのチップの集積回路(LSI)にまとめた、SOC(system on a chip)が、スマートフォンや最新のMacなどにも搭載されています。

と、、、ここまでが、前回の復習でしたね。

https://youtu.be/MKVxj6xRtRI

M1 のアーキテクチャー(プロセスルールは5nm)

チップセットに相当する部分が、M1では、ファブリックですね。

ナノという単位は、10のマイナス9乗で、1ミリの100万分の1です。1メートルを基準にすると、10億分の1となりますが、どれだけ細かいんだ~ (^▽^;) もう~想像がつきません。

ナノ・メートル 単位も学習して置きましょう!

https://www.hakko.co.jp/qa/qakit/html/h06010.htm

いよいよ、BIOS学習のスタートです!

マザーボードを実際に制御しているプログラム、肝心かなめの BIOS(バイオス) について、いよいよ学習開始です。尚、BIOSという用語の定義も幾つかありますので、まずは、以下の表にまとめて置きました。

名称 別名 説明 形式 補足事例
BIOS System BIOS マザーボード上のBIOS firmware キーボード、ディスプレイ
BIOS拡張 同じ 各パーツの組込みBIOS firmware グラフィックカード
デバイスドライバ 同じ OS側にインストール software グラフィックドライバ
  1. BIOSプログラムは、PC起動時、一番最初に呼び出され、PC全体の初期化を行い、キーボードや、ディスプレーなど、最低限の機能を利用できるようにする。
  2. BIOS拡張は、BIOSから呼び出されて、各パーツの初期化を行ったのち、BIOSに変わって、その後の制御を担う。(グラフィックカード、その他の拡張カードに組み込まれている)
  3. デバイスドライバは、OS側にインストールされていて、BIOSやBIOS拡張とのやり取りを行う。

https://youtu.be/YEI_oOCYPw4

BIOS(System BIOS)BIOS拡張 デバイスドライバー(関係図)

BIOS(System BIOS)は、マザーボード専用のファームウェア(firmware)です。
BIOS拡張は、各種パーツ専用のファームウェア(firmware)。

そして、ファームウェア(firmware)とは、ROM等の集積回路(LSI)に書き込まれたプログラムの総称です。

BIOSの位置確認!(オレンジの矢印)

https://youtu.be/8qwJWJsuy3A

こちらのチップセットの論理図では、BIOS(FLASH ROM)は、サウスブリッジから、LPC Busの先に接続されていますね。PCを電源ONした直後、CPUは、このFLASH ROMに入っている、BIOSプログラムを最初に実行します。

BIOSプログラムの基本的な役割

https://youtu.be/StY4wLpl-so
  1. コンピュータ全体の初期化を行います。(周辺機器、接続されている各パーツ類)
    ※ 自己診断機能、POST(Power On Self Test)各パーツが正常に動作するかの確認

  2. ハードディスクなどの起動デバイスから、ブートローダーを読み込んで実行する。
    ※ その後、ブートローダーは、OSを起動します。
    ※ 起動デバイスは、HDD(SSD)の他、CD-ROM、USBメモリ、ネットワーク経由、などからの読み込みも可能です。又、起動する優先順位も、BIOS設定画面で変更可能。

  3. OSの起動後は、OSとハードウェアの間に入って、データのやりとりを行います。
    ※ BIOSプログラムの仕様も古くなり、今はデバイスドライバーが主流ですね。

BIOS(Basic Input Output System)の頭文字

https://youtu.be/VzZMBJ9_UZA

マザーボードの動作を制御するファームウェアを、通称、その頭文字を取ってバイオス、BIOS と呼んでいます。パソコンの電源を入れたら一番最初に実行されますから、全員の方が、お世話になっているものなんですよね~ BIOSの設定画面は見たことがなくても、OSが起動するまでのロゴなどは、見たことあるでしょう?! まずは、動画をどうぞ!

電源ONからのSystem BIOS設定画面(F2 or Del)と、OS起動

https://youtu.be/ZmUXRjFgbQ8

最初に表示される。ASUSのロゴも、BIOSプログラムによるものです。
電源ONから、Win10の起動までと、再起動から、BIOS画面までの動画をご覧ください。
2回目は、F2 キーを押したので、BIOSの設定画面となりましたね。

Windows3.1の起動画面(コラム:箸休め)

https://www.youtube.com/watch?v=zt1NkNY7F0I

このころは、Windowsを起動するまえに、MS-DOSを先に起動してからでしたね。いや~懐かしすぎるのですが、これを見ると私は、仕事モードに自然に入りま~す!(;^_^A

BIOSは、アップデートが可能!

マザーボード(チップセット)の動作を制御するファームウェア[1]BIOS は、マザーボード上のCMOS(半導体メモリ)の中に搭載されていて、アップデートも可能、書き換え可能なROM[2]となっています。最新のパーツ[3]に交換したときなども、BIOSアップデートにより正常な動作が可能となり、各パーツの性能を最大限に引き出せます。

Pentium FDIV バグ以降は、マイクロコードで対応(中級者)

その昔、こんな事件もあったんですよね~
これ以降、P6から、CPUのマイクロコードの書き換えも可能になっていきます。

https://ja.wikipedia.org/wiki/Pentium_FDIV_バグ

Wikiの引用
Pentium Pro以後のCPUではマイクロコードを修正する手段が盛り込まれている。書き換え可能なコントロールストアを持ち、エラッタが生じた場合には、BIOSやOSのアップデータ を介してこれを回避するマイクロコードを提供する。これにより、CPUの交換によらずにエラッタを回避する。

MCU(Microcode Update)

BIOSの一部には、MCU(Microcode Update)[4]も含まれています。
現在の私のPCのBIOS画面では、以下のようになっていますね。
CPUID 0x00870F10 / Revision 0x8701021
また、後日解説しますね~

マイクロコード/マイクロ命令(中級者)

マイクロコードの用語説明は、こちらのサイトからどうぞ!

https://e-words.jp/w/マイクロコード.html

BIOSの復習&補足の参考サイトはこちら!

https://youtu.be/0MN4Lk5vkRU

ちょっと、サイトの紹介をしておきますね。ネット上でいろいろ検索を繰り返していると、頭が混乱してしまうかと思いますが、そんなときは、初心者向けの入門サイトが宜しいかと思います。

初心者の方には、お勧めサイト!

https://wa3.i-3-i.info/word12418.html

この講座でも、初心者向けに利用していきたいと思うサイトですね。個人で運営されているようですが、良く出来ていると思いますし、私も使っていま~す!(笑)

中級者の方は、このあたりが合うかな?

https://e-words.jp/w/BIOS.html

初心者の方も、可能ならば、このあたりにも挑戦して欲しいです!

上級者の方、慣れてきたら、Wikipediaもいいかな?

https://ja.wikipedia.org/wiki/Basic_Input/Output_System

Wikipediaは、適切に解説している部分も多いですし、さらに深堀するにも便利ですけど、やや、専門用語も多いので、混乱を招く危険性もありますね~ (;^_^A

その他、個人のSNS、ブログ系

私のサイトも、この部類に入るので、やや、コメントしづらいのですが、個人で書かれている情報は、あまりオススメできません。というのも、私自身も、いろいろ読んでいて理解に苦しんだり、間違った認識を持ってしまうこととか? 又、理解していること前提に書かれていて、説明不足だと思うこともありますので。(^▽^;) と、、、いいつつも、私自身がこのカリキュラムを書いていて、いつもそう感じていますよ~ 説明するのは、ほんと、難しい!

ここまでの~とりあえずの~ ま・と・め!(笑)

さあ~、動画の説明を聞いて、どう感じ、どう理解しましたか?
私自身、リハーサルなし、台本無しの一発撮りなので、ライブ感ありありで、お聞き苦しいところも多々あり、大変恐縮なのですが、、、正しく理解しようとすると、これまた、膨大な勉強する時間が必要になるということ、、、なんですよね~ (^▽^;)

特に、Wikipedia のサイトは、しっかり、細かい処まで説明してありますから、知らない用語も、どんどん出てきますし、仮に、知っていても理解が曖昧だったりする用語もあり、動画の中でも、多々、後回し、また次回説明しま~す。なんていう発言が多かったですね~ (^▽^;)

で、とにかく、中級から上級者となるには、自己学習できないと、難しいと思うんですね。それは、私自身も同じ境遇でもあるからなんですけど・・・(;^_^A

まあ~ 何はともあれ、みなさんには、学習する機会を増やして頂き、是非、自分なりの勉強方法を、確立して貰えればと思います。勉強に慣れるって、ことから初めて、その次は、勉強のコツを掴む。自分なりの理解の仕方を身に着ける。それが出来ないと、真の壁にぶち当たったときに、自己解決できなくなってしまいます。(´;ω;`) 誰も教えてくれない、どんなに書籍を読んでも、解決できない問題は、、、いずれ、みなさんにも訪れると思います。 その時の為に、自分なりの解決方法、学習方法は、経験として、きっと役に立つと思うんですよね~ 自己解決能力を身に着けて下さい。是非! (o^―^o)ニコ

もしも壁にブチ当たったら?!

  1. 壁を登って、乗り越える方法もあれば・・・(正攻法)
  2. 壁の脇を通って、すり抜ける方法もあれば・・・(スルー、無視)
  3. 壁の前で立ち止まって、一休み・・・(一時保留)

3つのアプローチがあること。もしかしたら、その他もあるかも?! それらを、その場に合わせて、適時選択できるようになることも大切です。それが人生の選択、判断力に繋がると思います! とは言いつつも、私自身、間違った選択も多々していると思いますが、それも含めて経験となり、次の大事な場面では、よりよい選択で出来ると思うんですね。

午後の課題::自己学習、自己解決の訓練です!

残りの時間は、自己学習に充ててください。知らない用語が、たくさんあったと思いますが、是非、自己学習、自己解決の訓練だと思って、少しでも理解が深まるように、自分で調べて、自分の頭で考える努力してみましょう! 頭に汗をかく! そんな言い回しもありますけど、、、考えに考え抜くこと、、、とっても大切なアプローチですからね。

脚注
  1. ファームウェア(firmware)とは、ROMなどに書き込まれたプログラムです。 ↩︎

  2. 近年は、ROMではなく、フラッシュ‐メモリー(flash memory)、不揮発性メモリーが利用されている。 ↩︎

  3. 新しい世代のCPUや、速度が向上したメモリーなどを交換するとき、それを動作制御する為に必要となります。 ↩︎

  4. マイクロコード・アップデーター(MCU)MicroCode Update は、CPUのマイクロードを更新するためのコードです。 ↩︎