goo blog サービス終了のお知らせ 

gooブログはじめました!

写真付きで日記や趣味を書くならgooブログ

【高校情報授業・共通テスト対策/学習塾/個別指導】圧縮方式/ハフマン法/ランレングス法/コーディックとコンテナ【高校情報Ⅰ】

2021-11-20 21:51:45 | 日記

圧縮方式/ハフマン法/ランレングス法/コーディックとコンテナ【高校情報Ⅰ授業・共通テスト対策・基本情報】

 

 

高校情報1 教科書・参考書・問題集・プログラミング・共通テスト

高等学校 情報Ⅰ(情報1)の動画教科書・参考書・問題集です。授業・プログラミング対策/定期試験対策に利用可能!大学入学共通テスト「情報1」対...

 

 

【資料ダウンロード】

PDFの他、パワーポイント、学習指導案 等の原本も無料提供しています。

情報教育の底上げが目的なので、資料を修正して、学校・塾(営利目的含む)の授業等で利用して頂いて問題ありません。私への連絡不要ですが、利用する際には、YouTubeチャンネル・情報Ⅰ動画教科書・IT用語動画辞典を紹介してもらえると嬉しいです。

■PowerPoint・問題集
https://toppakou.com/info1/download/16ADVANCE_データの圧縮と効率化/16ADVANCE_データの圧縮と効率化.pptx

■簡易学習指導案
https://toppakou.com/info1/download/16ADVANCE_データの圧縮と効率化/【学習指導案】16ADVANCE_データの圧縮と効率化.docx

【文字おこし】

今日はデータの圧縮方式について説明していきます。
決められた方法に従ってファイルサイズを小さくする処理を圧縮と言います。
圧縮したデータを元のデータに戻すことを伸張といいます。他の言い方では、解凍、復元、展開とも言います。
圧縮の目的は、記録容量の節約や、ファイル転送時の通信時間の短縮するなどの目的があります。

ファイルの圧縮方法について説明していきます。
文書ファイルなどは,圧縮したものを完全に元に戻す必要があります。完全にもとに戻らないと、文書の一部が欠損して文書が意味不明なものになる可能性があります。
このような圧縮方法を可逆圧縮といい,ランレングス法やハフマン法などがあります。

画像,音声,動画などのファイルは,完全に元に戻す必要がない場合もあります。
このような圧縮方法を非可逆圧縮といい,可逆圧縮に比べて圧縮率をあげることができる場合が多いです。

ランレングス法の圧縮方法について説明していきます。
 例えば,AAAAABBBBB という連続した文字列がある場合,最初の文字列と連続する個数を記録することにすれば,A5B5 のように表現されます。
このように10 文字分が4 文字分で表現されるので,ファイルは元の40% に圧縮されたことになる。

圧縮後の容量÷圧縮前の容量×100 で表される 元のファイルサイズに対する、圧縮後のファイルサイズの割合を、圧縮率と言います。

ランレングス法には欠点があります。
たとえばABCDEという文字列があった場合は、同じ方法で圧縮すると
A1B1C1D1E1というふうに5文字だったのが10文字に増えて圧縮したら、元のファイルより容量が大きくなってしまいます。

つまり、ランレングス法は連続する同じ値が多い場合に有効な圧縮方法になります。

FAXの例で見ていきましょう。
FAXは文字も図形もモノクロの画像として送受信されます。
先ほどのランレングス法で考えるとA を白い部分,B を黒い部分と考えれば,白が続く部分や黒が続く部分がかなりあるため,ファイルは相当程度圧縮することができます。

次に、ハフマン法について説明していきます。
「intelligence」という文字列を圧縮していきます。
intelligenceは、intelgc の7種類の文字でできています。
7種類の文字を2進法で表すには3ビット必要となります。
もう少し掘り下げて説明すると、1ビットは2の1乗で2種類、2ビットは2の2乗で4種類、3ビットは2の3乗で8種類まで表すことができます。
つまりintelligenceについていえば1文字を3ビットで表現可能なので12文字×3ビットで36ビットのデータ量が必要になります。

ここで,文字に割り当てるビット数を減らせれば,全体のデータ量を減らすことができます。
このような考え方で行う圧縮の方法をハフマン法という。

具体的に実践していきます。
まずは,「intelligence」という文字列における文字の出現回数を割り出します。

多い順に
eは3回、iは2回、nは2回、lは2回、tは1回、gは1回、cは1回となります。
そしてこれを、出現回数の多い順に並び替えて、出現回数の多い文字に対して少ないビット数の符号を順番に割り当てていきます。
eは0で1ビット iは1で1ビット ここで1ビットで表される文字を使ったので、次のnは01で2ビットというように割り振っていきます。

例えばintの文字列部分でみると101100となります。
1がi 、01がn、100がt という感じです。本来は3ビット×3で9ビットなのが6ビットまで圧縮できました。
ただこの方法だと問題があることに気づいた方もいると思います。
この方法だと、区切りが分からないので、区切る位置によっては101はg 、100はtと読めたりもします。


その問題を解決するためにハフマン木というものが使われます。
これを用いることで、どこで区切られるかということが分かります。

少しややこしいですが、順を追って詳しく説明していきます。

まずは文字の出現回数順に並べます。これはさっきやった内容とおなじになります。


そして、出現回数の少ない方から、gとcの出現回数を合計して、その上に合計値を記入します。この場合はg,c共に1回づつなので合計は2となります。
つぎにlとtも同じように2+1で3を上に記述します。
つぎにiとnは2+2で4を上に記述します。eは同列のペアがいないので、一つ前に計算したiとnの合計値にたいしてeの出現回数をプラスします。
右に戻って今度はgとeの合計値である2と、lとtの合計値である3を足した5を上に記述します。
最後に7と5をプラスして、12がピラミットの頂点となります。
つなぎ合わせたすべての部分の左に0を、右に1を入れていきます。

そして、つなぎ合わせた部分に入れた0と1を上から拾っていきます。
eの場合は00、iの場合は010、nの場合は011という感じで、それぞれの文字に圧縮したビット列を割り当てていきます。


例えば、圧縮したビット列「00」があったとすると,0と1を上からたどれば対応する文字は「e」だけとなります。
「100」を上からたどれば対応する文字は「l」となります。

このような方法で各文字に割り当てる符号を定め,これを基に圧縮する方法をハフマン法といいます。

ハフマン法では,常に各文字列に対応するハフマン符号の表と,それを基に圧縮されたビット列をセットでファイルに格納することなります。

 例えば、作成したハフマン符号を用いて「intelligence」を圧縮したビット列で表すと,
「010(i) 011(n) 101(t) 00(e) 100(l) 100(l) 010(i) 110(g) 00(e) 011(n) 111(c) 00(e)」のように33 ビットとなる。
「intelligence」の1文字を3 ビットで表していた場合は36 ビットなので,約92% に圧縮されたことになります。

 実際には,これに各文字列に対応するハフマン符号の表がつくので圧縮率はこれより低くはなります。ただ,ある程度長い文章であれば,出現頻度の高い文字に少ないビット数の符号が割り当てられるので,文書全体のデータ量に比べてハフマン符号の表のデータ量が小さくなるので,ランレングス法より高い圧縮率が期待できます。
======

今度は画像、動画、音声のファイル形式について見ていきましょう。

 まず、画像データには用途に応じて様々なファイル形式があります。必要に応じて,元に戻せる可逆圧縮や,完全には元に戻せないがファイルサイズをより小さくできる非可逆圧縮を行います。

例えばWindowsパソコンの場合、ペイントというソフトが標準搭載されていますが、
保存するときにこんな感じで画像のファイル形式が選べます。
代表的なものを説明していきます。

※画像形式 表の貼りつけ


音声データのファイル形式について説明していきます。

次に動画のファイル形式を確認していきます。
動画は多数の静止画を連続して表示するのでファイルサイズが大きくなります。このため,保存する際には圧縮することが多いです。

動画ファイルは、音声と動く画像から成り立っています。

今見てもらっているYouTubeも動く画像と音声が合わさっていますよね。

この動画と音声のデータそれぞれをコーディックと言います。
専門的な言い方をすれば、圧縮技術を含むデータの符号化や復号の技術をコーディックと言います。


動画のコーディックとして代表的なものはH.264やMPEG-4などがあります。
音声は先ほど説明したMP3,AACなどがあります。

そしてこの動画だけのファイルと音声だけのファイルを格納する箱のようなものをコンテナと言います。

一般的に動画ファイルと言われているもは、音と動画が合わさっているので、このコンテナを指し示します。
コンテナには今から説明するaviやmp4などがありますが、コンテナによって、音声と動画のコーディックの組み合わせパターンが決まっています。

もっと簡単に言えば、MP4という箱の中に、色んな規格の動画や画像や音声などが入れられるイメージです。

このコンテナについて代表的なファイル形式について説明していきます。


代表的な動画のファイル形式について説明していきます。

※動画ファイル形式貼りつけ

今話した圧縮形式は、試験で問われやすい部分なので、ファイルの種類とその特徴をしっかり押さえておいてください。
――

※復習問題


【高校情報授業・共通テスト対策/学習塾/個別指導】演算誤差/丸め誤差、打切り誤差、けた落ち、情報落ち【基本情報・応用情報】

2021-11-20 21:50:49 | 日記

【高校情報Ⅰ共通テスト】演算誤差/丸め誤差、打切り誤差、けた落ち、情報落ち【基本情報・応用情報】

 

 

高校情報1 教科書・参考書・問題集・プログラミング・共通テスト

高等学校 情報Ⅰ(情報1)の動画教科書・参考書・問題集です。授業・プログラミング対策/定期試験対策に利用可能!大学入学共通テスト「情報1」対...

 

 

【資料ダウンロード】

PDFの他、パワーポイント、学習指導案 等の原本も無料提供しています。

情報教育の底上げが目的なので、資料を修正して、学校・塾(営利目的含む)の授業等で利用して頂いて問題ありません。私への連絡不要ですが、利用する際には、YouTubeチャンネル・情報Ⅰ動画教科書・IT用語動画辞典を紹介してもらえると嬉しいです。

■PowerPoint・問題集
https://toppakou.com/info1/download/16_コンピュータの性能/16_2_演算誤差.pptx
■簡易学習指導案
https://toppakou.com/info1/download/16_コンピュータの性能/【学習指導案】16_2_演算誤差.docx

【文字おこし】

今日はコンピュータの演算誤差について説明していきます。

コンピュータの記憶領域は有限で、オーバーフローと言って、容量オーバーすることがあります。

以前説明したように、コンピューターの世界は0と1の2進法で、データが扱われます。
この0と1の1桁を1ビットといい、ビットはデータ量を表す単位になります。
スマートフォンの容量などで〇〇GBというのを聞いたことあるともいますが、
コンピューターの世界では8ビットは1バイトとして定義されています。

さかなとそれを入れる箱の例でみていきましょう。

13ビットの容量がある魚がいたとします。
それを15ビットの容量がある箱に入れたとしたらちゃんと箱に収まります。

では、20ビットの容量がある魚がいた場合は、15ビットの箱に収まるでしょうか。。

これは、15ビット分は収まりますが5ビット分は失われてしまいます。
その失われた5ビットを誤差といいます。

実際の計算式で見ていきましょう。

例えば
1÷3は0.33333・・と永遠に割り切れずに3がつづきます。

2進法でもみていきましょう。
例えば10進法の0.1を2進法にすると
0.0001100・・と無限に終わりません。
コンピュータの容量は有限なので、どこかで無理やり終わらせる必要があります。

この誤差の種類については、何種類かあるのでそれぞれ説明していきます。

まずは、けたあふれ誤差があります。
演算した結果が、コンピュータの扱える最大値や最小値を超えることによって生じる誤差のことになります。

扱える最小値をMin 最大値をMaxとして
最小値を超えてしまうことをアンダーフロー 最大値を超えてしまうことをオーバーフローと呼びます。

次に情報落ち について説明していきます。

情報落ちは、絶対値の大きな値と絶対値の小さな値の加減算を行ったときに絶対値の小さな値が計算結果に反映されないという誤差のことになります。

言葉ではわからないと思うので、具体的な値で説明していきます。
分かりやすくするために二進法ではなく、十進法で見ていきましょう。

たとえば
0.1234×10の4乗と0.5678×10のマイナス4乗の足し算を考えていきましょう。

小数点以下の有効桁数は4桁とします。

このとき 足し算をするためには指数部をそろえないといけないので
どちらも10の4乗であらわすと
0.1234×10の4乗と
0.000000005678×10の4乗となります。。
計算結果は
0.123400005678×10の4乗になりますが
小数点以下の有効桁数は4桁なので0.1234×10の4乗となり小さな桁の方ははみ出てしまい、誤差として情報が落ちてしまうことを情報落ちといいます。

次に打切り誤差について説明していきます。
打切り誤差は計算処理を、完了まで待たずに途中で打ち切ることによって生じる誤差を
打切り誤差といいます。

たとえば、3.1415・・ の円周率のような永遠に続くようなものになります。

次に、けた落ちについて説明していきます。
絶対値がほぼ等しい数値同士の差を求めた時に有効な桁数が大きく減ることによって生じる誤差を桁落ちと言います。

例えば 0.555×10 の7乗  有効桁数は小数点以下の3桁
0.554×10の7乗の有効桁数も小数点以下の3けたとした場合、

これの差を求めると0.001×10の7乗となり有効桁数は1けたとなります。
正規化すると
0.100×10の5乗と自動で00が付加されますが、この桁が元々0だったという保証はありません。つまり信用できない桁が増えるのが、けた落ちになります。

最後に丸め誤差について説明していきます。
表現できる桁数を超えてしまったために、最小桁より小さい部分について四捨五入や切り捨て、切り上げなどを行うことによって生じる誤差を丸め誤差といいます。

★練習問題
平成31年春期問2 桁落ちによる誤差の説明|応用情報技術者試験.com (ap-siken.com)
https://www.ap-siken.com/kakomon/31_haru/q2.html


【高校情報授業・共通テスト対策/学習塾/個別指導】CPUの性能/クロック周波数・MIPS・CPI・コア/ITパスポート・基本情報】教科書準拠

2021-11-20 21:49:56 | 日記

【高校情報共通テスト対策】CPUの性能/クロック周波数・MIPS・CPI・コア/ITパスポート・基本情報】教科書準拠

 

 

高校情報1 教科書・参考書・問題集・プログラミング・共通テスト

高等学校 情報Ⅰ(情報1)の動画教科書・参考書・問題集です。授業・プログラミング対策/定期試験対策に利用可能!大学入学共通テスト「情報1」対...

 

 

【資料ダウンロード】

PDFの他、パワーポイント、学習指導案 等の原本も無料提供しています。

情報教育の底上げが目的なので、資料を修正して、学校・塾(営利目的含む)の授業等で利用して頂いて問題ありません。私への連絡不要ですが、利用する際には、YouTubeチャンネル・情報Ⅰ動画教科書・IT用語動画辞典を紹介してもらえると嬉しいです。

■PowerPoint・問題集
https://toppakou.com/info1/download/16_コンピュータの性能/16_1_CPUの処理能力.pptx

■簡易学習指導案
https://toppakou.com/info1/download/16_コンピュータの性能/【学習指導案】16_1_CPUの処理能力.docx

【文字おこし】

今日はCPUの処理能力、性能指標について解説していきます。
CPUの中の実際に処理を行っている部分をコアと言います。
1つのCPUの中には複数のコアを持っている種類のものが多くこれをマルチコアCPUと言います。一般的に、コア数が多いほど性能が高いCPUになります。

マルチコアCPUはコアの個数によって名称があります。
代表的なものについて説明します。
1コア シングルコア
2コア デュアルコア
3コア トリプルコア
4コア クアッドコア
6コア ヘキサコア
8コア オクタコア
10コア デカコア
12コア ドデカコア

CPUの性能は、クロック周波数やCPI、MIPSなどの指標値を用いて評価されます。

まずは、クロック周波数について説明していきます。
コンピュータ内部には色んな装置が入っていて、それらは「クロック」と呼ばれる周期的な信号に合わせて動くのが決まりになっています。
この1周期の時間が短ければ短いほど、より多くの処理ができるため、性能の良いCPUとなります。
 クロックが一秒間に繰り返される回数のことをクロック周波数と言います。
単位はHz(ヘルツ)を使います。
たとえば、上の図は、1秒間に1クロックなので、1Hz
下の図は1秒間に3クロックなので3Hzとなります。
実際には、何千、何億回となるので、1秒間に10億回の場合は1GHzとなります。

クロック信号を生成させるための回路を、クロックジェネレータといいます。

★1クロックに要する時間
試験では1クロックに要する時間を求める問題が出ることがあります。
例えば、4Hzの場合は、1秒間にクロックが4回繰り返されることになるので、
1(秒)をクロック周波数の4で割ると 0.25秒となります。
この時間のことをクロックサイクル時間と言います。

★CPI
1命令あたり何クロック必要かという指標に Clock cycles Per Instructionを略して
CPIと呼ばれるものがあります。
例えば1命令に8クロックサイクル必要ならば、8CPIとなります。

1命令当たりの実行時間はこのCPIとクロックサイクル時間を使って求めることが出来ます。
例えば1GHzのCPUで、1命令当たりのクロック数は 4CPIだったとします。
まず、クロックサイクル時間は 1秒÷10の9乗ヘルツで 10のマイナス9乗となり1ナノ秒となります。
1命令は4クロック必要なので、1ナノ秒×4CPI で 4ナノ秒が1命令当たりの実行時間ということになります。

★MIPS(ミップス)
1秒間に実行できる命令数を表す指標に、Million Instructions Per Second を略してMIPSがあります。

Millionは百万 Instructionsは命令 Perは毎 Secondは秒になります。
数値が大きくなるので、命令の数は百万単位で表します。

例えば1MIPSのCPUは1秒間に100万個の命令が実行できます。
20MIPSのCPUは1秒間に2000万個の命令が実行できます。

たとえば、1命令当たりの平均が2ナノ秒というCPUがあった場合に
MIPSを求めると

1秒を2ナノ秒で割って 10の9乗ナノ秒÷2は5億となり
百万単位にするために100万で割ると500MIPSになります。

★CPUのビット数
CPUにはビット数というものがあります。簡単に言えばCPUが一度に扱える情報量のことで、現在はおもに32ビットまたは64ビットのCPUが使われています。
32ビットCPUの場合、32ビットを超える大きなデータは32ビットごとに分割して計算を行います。64ビットの方が一度に多くのデータを扱えるため32ビットの物より効率よく処理ができます。

※問題演習

 

【高校情報授業・共通テスト対策/学習塾/個別指導】CPUの命令実行手順とレジスタ/ITパスポート・基本情報・教科書問題集

2021-11-20 21:47:57 | 日記

【高校情報Ⅰ共通テスト対策】CPUの命令実行手順とレジスタ/ITパスポート・基本情報・教科書問題集

 

 

高校情報1 教科書・参考書・問題集・プログラミング・共通テスト

高等学校 情報Ⅰ(情報1)の動画教科書・参考書・問題集です。授業・プログラミング対策/定期試験対策に利用可能!大学入学共通テスト「情報1」対...

 

 

【資料ダウンロード】

PDFの他、パワーポイント、学習指導案 等の原本も無料提供しています。

情報教育の底上げが目的なので、資料を修正して、学校・塾(営利目的含む)の授業等で利用して頂いて問題ありません。私への連絡不要ですが、利用する際には、YouTubeチャンネル・情報Ⅰ動画教科書・IT用語動画辞典を紹介してもらえると嬉しいです。

■PowerPoint・問題集
https://toppakou.com/info1/download/15_コンピュータの構成要素/15_1_CPUの命令実行手順とレジスタ.pptx

■簡易学習指導案
https://toppakou.com/info1/download/15_コンピュータの構成要素/【学習指導案】15_1_CPUの命令実行手順とレジスタ.docx

【文字おこし】

前回は、CPUや主記憶装置のメインメモリや補助記憶装置等コンピュータの中の仕組みについて説明しました。
今回は、CPUがどのように命令を実行するかの手順について説明していきます。

はじめに、命令実行のざっくりとした流れを説明します。

ハードディスクなどの補助記憶にあるプログラムコードやデータは、必要な時に高速な主記憶装置に格納されます。
まずCPUは、そのプログラムコードつまり命令を主記憶装置から取り出します。
これを命令の取り出しや命令フェッチといいます。

次にCPUは取り出した命令を解読します。これを命令の解読といいます。

そして、命令内に記述があるメモリ上の番地(アドレス)から必要なデータを読み出します。
これを対象データの読み出しや オペランド読み出しといいます。

そして、命令を実行して、次の命令があればまた初めに戻って命令の取り出しから行います。

情報の教科書は命令取り出し、解読、実行の3段階で説明されている場合があります。
将来 IT系国家資格である、ITパスポートや基本情報技術者試験を受ける場合は4段階以上で詳しく掘り下げた知識が必要となるので、今回はこの4段階で説明していきます。

では、さらに詳しくCPU と 主記憶装置(メインメモリ) の処理を見ていきましょう。
理解しやすいように、今回はキャッシュメモリは無しとします。

主記憶装置のメインメモリには番地やアドレスと呼ばれる領域に区切られています。その名の通り、命令やデータが格納されている住所の様なものになります。
命令の取り出しの際にはこの番地が使われます。
今回は16進法で表される4桁の0000~FFFFの番地で説明していきます。

そして中央演算処理装置であるCPUには、演算装置と制御装置があります。

命令を主記憶装置から取り出したら、CPU内部でも一時的に記憶しておかないと処理が途中で止まってしまいます。
CPU内部にも記憶装置があって、これをレジスタと言います。

レジスタには色んな種類があるので掘り下げて説明していきます。
用語の意味を先に説明しますが、用語の意味だけでは分からないと思うので後から具体的な処理で説明していきます。

まずは制御装置の中を見ていきましょう。

まずは、命令レジスタがあります。取り出した命令を一時的に記憶するためのレジスタになります。
命令レジスタは、命令部とオペランド部に分けられます。
命令部はその名の通り、読込しなさいや加算しなさい等の命令が記憶される部分になります。
オペランド部は読みだすべきデータの主記憶装置の番地などを指し示す領域になります。

次に、プログラムカウンタは、次に実行すべき命令が入っている、主記憶装置の番地を記憶するレジスタになります。

制御装置には命令を解読する、命令デコーダがあります。

次に演算装置の中を見ていきます。
まずは、汎用レジスタがあります。これは特に機能を限定していないレジスタで、演算装置内で一時的な値の保持等に利用されます。

そして、ALUと呼ばれる演算装置があります。


――
では実際に、命令やデータを当てはめて説明していきます。

今回命令の種類は4種類使います。

READ 番地 は 主記憶装置の指定された番地番号から、CPUの命令レジスタに命令を読込む命令になります。

ADD 番地 は CPUのレジスタにある値と、主記憶装置の指定された番地の値を加算する命令になります。

WRITE 番地 は CPUのレジスタから、主記憶装置の指定された番地に書き込む命令になります。


STOP は プログラムを停止する命令になります。 
 


では、実際の命令やデータを当てはめてみていきましょう。
3と5の加算を行います。

先に主記憶装置に命令やデータを読み込んでおくことを前提とします。
番地0001に命令READ 番地は0010 番地を指定します。
番地0002に命令ADD 番地は 0011 番地を指定します。
番地0003に命令WRITE 番地は0012 番地を指定します。

番地0004に 命令STOP を指定します。

番地0010は加算対象の データ3 を指定します。
番地の0011には加算対象の データ5 を指定します。

――
プログラムカウンタには一番初めに読み込むメインメモリの番地である0001番地が指定されています。

---
それでは処理を開始します。
まずは命令フェッチでプログラムカウンタにある、0001番地の命令をメモリから取得します。
命令レジスタの命令部にREAD オペランド部に 番地の0010 を書き込みます。

取り出しが終わったら、次の命令に備えてプログラムカウンタを1増加させて2にしておきます。

次に命令の解読を行います。取り出した命令を命令レコーダに渡して READ命令なのでメモリからデータを読み込む必要があると判断します。
つぎは対象データの読み出し及び命令の実行で、オペランド部にある番地のデータをメインメモリから取得して、それを汎用レジスタに格納します。

1つめの命令が終わったので、次の命令の取り出しから行います。
命令フェッチでプログラムカウンタにある、0002番地の命令をメモリから取得します。
命令レジスタの命令部にADD オペランド部に 番地の0011 を書き込みます。

取り出しが終わったら、次の命令に備えてプログラムカウンタを1増加させて3にしておきます。

次に命令の解読を行います。取り出した命令を命令レコーダに渡して ADD命令なのでメモリからデータを読み込む必要があると判断します。
つぎは対象データの読み出し及び命令の実行で、オペランド部にある番地0011のデータをメインメモリから取得して、先ほど汎用レジスタに書き込んだデータと加算するためALUに渡して、3+5の計算結果である8を汎用レジスタに書込みます。

2つめの命令がおわったので
次の命令の取り出しから行います。
命令フェッチでプログラムカウンタにある、0003番地の命令をメモリから取得します。
命令レジスタの命令部にWRITE オペランド部に 番地の0012 を書き込みます。

取り出しが終わったら、次の命令に備えてプログラムカウンタを1増加させて4にしておきます。

次に命令の解読を行います。取り出した命令を命令レコーダに渡して WRITE命令なのでメモリにデータを書き込む必要があると判断します。
そして対象データの読み出し及び命令の実行で、汎用レジスタに格納されている8をオペランド部にある番地0012のメインメモリに書込みを行います。

3つめの命令がおわったので
次の命令の取り出しから行います。
命令フェッチでプログラムカウンタにある、0004番地の命令をメモリから取得します。
命令レジスタの命令部にSTOP を書き込みます。

取り出しが終わったら、次の命令に備えてプログラムカウンタを1増加させて5にしておきます。

次に命令の解読を行います。取り出した命令を命令レコーダに渡して STOP命令なのでここで処理を終了する必要があると判断し、プログラムを停止します。

以上が、3+5の加算処理の流れです。
かなり複雑に感じたと思いますが、コンピュータの世界ではこのような複雑な処理が高速で行われています。

※基本情報技術者試験、ITパスポート過去問解説


【高校情報授業・共通テスト対策/学習塾/個別指導】コンピュータの構成要素・キャッシュメモリ・CPU概要

2021-11-20 21:45:55 | 日記

【高校情報授業】コンピュータの構成要素・キャッシュメモリ・CPU概要/基本情報技術者過去問/教科書準拠・問題集・参考書

 

 

高校情報1 教科書・参考書・問題集・プログラミング・共通テスト

高等学校 情報Ⅰ(情報1)の動画教科書・参考書・問題集です。授業・プログラミング対策/定期試験対策に利用可能!大学入学共通テスト「情報1」対...

 

 

【資料ダウンロード】

PDFの他、パワーポイント、学習指導案 等の原本も無料提供しています。

情報教育の底上げが目的なので、資料を修正して、学校・塾(営利目的含む)の授業等で利用して頂いて問題ありません。私への連絡不要ですが、利用する際には、YouTubeチャンネル・情報Ⅰ動画教科書・IT用語動画辞典を紹介してもらえると嬉しいです。

■PowerPoint・問題集
https://toppakou.com/info1/download/15_コンピュータの構成要素/15_コンピュータの構成と動作.pptx

■簡易学習指導案
https://toppakou.com/info1/download/15_コンピュータの構成要素/【学習指導案】15_コンピュータの構成と動作.docx

【文字おこし】

今日はコンピュータの構成要素やメモリやCPUについて説明していきます。
たとえば、何か分からないことを検索したいときどんな装置が使われるか考えてみましょう。
まずはキーボードやタブレットを使って調べたいキーワードを検索欄に入れて。検索ボタンをタップしたり、マウスでクリックしたりすると思います。
そして、その後その入力した情報はパソコン本体に送られて、パソコンの画面つまりディスプレイに検索結果が表示されます。

このキーボードやタブレット、マウスのような、入力する装置を、「入力装置」といいます。

そしてパソコンを通して、情報を出力して私たちに見せてくれる装置を出力装置といいます。

ディスプレイだけではなく、プリンターも紙に印刷してくれるので出力装置の一つになります。

今度は入力したデータがどのような流れで出力装置に表示されるかのパソコン内部の流れについて詳しく説明していきます。


入力装置で入力されたデータは、記憶装置に送られます。
記憶装置は動作に必要な情報を保持したりファイルとして保存したりするものになります。
 記憶装置は主記憶装置と補助記憶装置に分けられます。
主記憶装置は動作するために必要なプログラムやデータを一時的に記憶する装置でコンピュータの電源を切ると、その内容は消えてしまいます。例としてメインメモリが主記憶装置にあたります。

補助記憶装置はプログラムやデータを長期にわたって保存できますが、主記憶装置に比べて処理が遅い点が特徴としてあります。代表的な例としてハードディスクがあります。

主記憶装置のデータは制御装置や演算装置に送られます。
制御装置は入力装置や出力装置を含め,すべてを制御する指揮者みたいな役割になります。演算装置は、命令に従って演算を行って結果を記憶装置に返します。

この制御装置と演算装置を合わせてCPUといいます。
CPUは人の頭脳に例えられることが多く、複数のCPUを持つ装置も多いです。

パソコンにこんなシール貼られているの見たことある人いると思います。

あっ!インテルという会社のCPUですね。
CMでインテルが入ってるってダジャレ聞いたことあります。

インテルは世界的に有名なCPUメーカですが、年を追うごとにどんどん性能がアップしています。

CPU の動作速度が速いほど,1動作あたりに実行する命令や処理するデータが多くなって、性能の良いCPU となります。

さきほど主記憶装置のメインメモリについて説明しましたが、CPUにとっての作業場所がメモリになります。
メモリの単位はなんとがギガバイトが使われるものが多いですが、この数値が大きいほど作業場所が広いイメージになります。
特に複数の仕事を同時に進行する場合は広くする必要があります。。
 ここがせまいと,コンピュータ全体の処理速度が落ちます

そして、もしメモリが足りない場合は,あふれたデータを補助記憶装置のハードディスクに保存するため,ハードディスクとのデータのやり取りにほとんどの時間がとられ,いくらCPUが高速でも実行速度は上がりません。

最近では,ハードディスクのかわりにデータの読み書きの速度が速いSSDというのが
(Solid State Drive)普及し始めていて、コンピュータの実質的な動作速度を上げることも可能になっています。

――
次にソフトウェアについて説明していきます。
Windowsの様なコンピュータ利用者とハードウェアの間で動作してハードウェアを利用者に意識させずに効率よくコンピューターを動作させるためのソフトウェアをオペレーティングシステムを略してOSと言います。大きく基本ソフトウェアとも言います。
ワードやエクセル、パワーポイント、ブラウザなどは応用ソフトウェアと言います。

プリンタやディスプレイやハードディスクの様な入出力装置や補助記憶装置などを周辺機器といいます
基本ソフトウェアであるOSは、周辺機器を動作させるためのデバイスドライバというプログラムを追加することで、様々な周辺機器に対応させることができます。

人間と機械の間で情報を伝達するための入出力装置のことをユーザーインターフェースと言います。

―――
つぎは、オペレーティングシステム OS の役割について詳しく説明していきます。
OSは、プリンタ、ハードディスク等の様なハードウェアとワード、エクセルの様な応用ソフトウェアとを仲介することを目的としています。

タスク管理は、ソフトウェアの実行順序やCPUへの割り当てなどを管理する機能になります。

記憶(メモリ)管理は 各ソフトウェアが使うメモリの割り当てを管理する機能になります。

入出力管理は、キーボードやプリンタなどの周辺機器のハードウェアを管理する機能になります。


ファイル管理は 補助記憶装置とのファイルのやり取り(読み込み・書き込み)を管理する機能になります。

資源(リソース)管理は、CPU、メモリ、ハードディスクなどのコンピュータ資源を管理する機能になります。

ユーザ管理は 複数のユーザアカウントを登録したり、削除したりして、コンピュータの利用者を管理する機能になります。


――
先ほど、主記憶装置について説明した時にメインメモリを代表例として説明したが、主記憶装置の動作速度は、CPUほど高速化が実現されていません。
そこで、CPUと主記憶装置との間に、小容量ながら高速な記憶装置であるキャッシュメモリを配置する仕組みが用いられています。

キャッシュメモリを合わせた処理フローについて説明していきます。
主記憶装置から読み込んだデータは、キャッシュメモリにも保存されてCPUに渡されます。

再度同じデータを読み込む場合は、主記憶装置からではなく、高速なキャッシュメモリからデータを取得します。キャッシュメモリにデータが無い場合は、主記憶装置がデータを返却します。

キャッシュメモリの容量は小さい為、主記憶装置が持っているすべてのデータをキャッシュメモリに保存できるわけではありません。
CPUがキャッシュメモリに問い合わせ、目的とするデータがキャッシュメモリに入っている確率をヒット率と呼びます。
この図の例だと主記憶に4つデータがあるうち、キャッシュメモリに1つデータがあるのでヒット率は25%となります。

試験で問われるのは、キャッシュメモリを利用したコンピュータの平均的なアクセス時間である実行アクセス時間の計算です。

実際に問題を解いて行きましょう。

キャッシュメモリへアクセスする時間は20ナノ秒
主記憶装置へアクセスする時間は80ナノ秒 
キャッシュメモリに必要な情報があるヒット率を60%とした場合の、実行アクセス時間を求めてください。

まず全体の中でキャッシュメモリにアクセスする平均時間を求めます。
これはキャッシュメモリへのアクセス時間×ヒット率で求められます。
20ナノ秒×60%(0.6)を計算すると12ナノ秒になります。

次に全体の中で主記憶装置にアクセスする平均時間を求めます。
これは主記憶装置へのアクセス時間×(1ーヒット率)で求めます。

80ナノ秒×(100%―60%)=32ナノ秒 になります。

求めた値の12ナノ秒+32ナノ秒をした44ナノ秒が実行アクセス時間になります。

――
今はキャッシュメモリ1つで説明しましたが、キャッシュメモリは複数重ねて設置できます。
CPUに近い方から1次キャッシュメモリ、2次キャッシュメモリと言います。

※基本情報技術者試験過去問解説

【解説重要用語】
CPU、制御装置、演算装置、入力装置、記憶装置、出力装置、主記憶装置、補助記憶装置、キャッシュメモリ、メインメモリ、OS(オペレーティングシステム)、基本ソフトウェア、応用ソフトウェア、SSD、HDD、ヒット率、実行アクセス時間、1次キャッシュメモリ、2次キャッシュメモリ

★私の目標
「とある男が授業をしてみた」 の葉一さん
https://www.youtube.com/user/toaruotokohaichi
※Google社に招待頂いた、「YouTube教育クリエイターサミット2020」で
 葉一さんと文部科学省・Google役員の対談セッションに感銘を受けて、高校情報講座スタートしています。

【参考サイト・参考文献】
tkmium note(共通テスト対策・プログラミング・情報教育全般)
★情報関係基礎の過去問解説が充実しております!
https://tkmium.tech/

文部科学省 「情報Ⅰ」教員研修用教材
https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1416756.htm

詳細(情I703 高校情報I Python)|情報|高等学校 教科書・副教材|実教出版 (jikkyo.co.jp) 検定通過版
https://www.jikkyo.co.jp/book/detail/22023322

令和4年度新版教科書「情報Ⅰ」|高等学校 情報|日本文教出版 (nichibun-g.co.jp)検定通過版
https://www.nichibun-g.co.jp/textbooks/joho/2022_joho01_1/textbook/

その他、情報処理技術者試験(全レベル1~4)/IT企業15年勤務(システム技術部 部長)経験から培った知識を交えながら解説しています。

かわいいフリー素材集 いらすとや (irasutoya.com)
https://www.irasutoya.com/