こなさんち

しがないメンヘラエンジニアの日記。

コンピュータ構成要素~プロセッサと割り込み~

まえがき

今回は基本情報より、応用情報に寄った記事になります。

というのも、後述の専用レジスタの用途や説明は基本情報の方が多く語られるためです。それ専用の記事はまた別にまとめます。

CPUの構成

コンピュータの構成要素には、プロセッサ(処理装置、CPU)、記憶装置(メモリ)、補助記憶装置、入出力装置があります。

今回は、プロセッサの中身について説明したいと思います。

CPUの構成や高速化の技術、ここらの進歩も目覚ましいですもんね。BTOで構成を選んでいると、CPUの高速化を図る塗料なんてのもあるくらいで驚きです。

ここで言う「プロセッサ」はCPUや処理装置の総称ですが、CPUに置き換えていただいても問題ありません。

プロセッサとは

コンピュータを買うときに考えなければならないCPUの性能ですが、果たしてその「性能」とは何を指しているのでしょうか。

プロセッサとは、コンピュータの演算・制御を行う装置で、コンピュータ全体の司令塔の役割を担います。そりゃ、お金もかかりますね。

プロセッサの中には、レジスタと呼ばれるCPUが処理を実行するために一時的にデータを格納しておくための小容量で高速なメモリ装置があり、そこにデータを一時保存し、レジスタが保持しているデータを足したり、移動させたりなどなど行うんですね。

そのレジスタには多くの種類がありますが、大別すると汎用レジスタという用途を問わずいろんな一時置き場として使われるレジスタ専用レジスタという用途が決まったレジスタがあります。

専用レジスタが汎用レジスタの中に保存された値を用いて、デコーダと呼ばれる中継装置に司令を出し、デコーダが各種制御装置に命令を出します。

割り込み

さて、そんなCPUの作業は止まることなく制御装置に指示を出したりプログラムを作動させていますが、割り込みという「停止を余儀なくされる場合」があります。

これも大別すると2種類あり、プログラムに依って引き起こされる割り込みである内部割り込みと、入力待ちや印刷待ちなど、プログラムが待機せざるを得ないプログラム外に起因する外部割り込みがあります。

割り込みに関してはFE,APともに頻出で「この割り込みの中で外部割り込みはどれだ?」のような出題がされます。

細かく分類したものを以下にまとめますね。

外部割り込み

割込の種類 原因例 概要
機械チェック割込 処理装置の誤動作、電源・電圧異常、メモリ障害、NMI 機械の異常で、ブルースクリーンレベルの異常割り込み。
入出力割込 入出力完了、入出力装置の状態変化(プリンターの印紙切れ、電源OFF) 一般的な待機ですね。印刷ボタンを押した後はプログラムはすることありません。
外部信号割込 外部信号(測定器からの信号)など 赤外線検知など、常に何か監視している状態のプログラムが、異物混入などの例外を発生した場合に発生しますね。
タイマ割込 所定時間・所定時刻経過 待機許容時間をオーバーした場合に発生する、タイムオーバーの割込

NMI:Non - Maskable Interrupt(制御不可能な割り込み)

内部割り込み

割込の種類 原因例 概要
プログラム割込 オーバーフロー、0除算、Exceptionなど プログラム内で起こるエラー。テスト中に見つかるバグによるエラーはだいたいこれ。
制御プログラム呼び出し割込 入出力操作要求、タスク切換え、スーパバイザコール など 他の装置に依頼を出し、完了するまで待機する状態

スーパバイザコール:一般的なプログラムがOSの機能を使用するため、OS制御プログラム(スーパバイザ)を呼び出すこと。

PSW

割り込まれると、プログラムの状態は一旦保存され、再開に向けて待機します。

割込前のプログラムの状態や、現在発生している割込は、PSW (Program Status Word):プログラム状態語 としてスタックされ、状態保持がされます。

今回は以上です。

次回は、高速化について、です!