ikemonn's blog

技術ネタをちょこちょこと

CPU

ヘネパタ 付録A (命令セットアーキテクチャの分類)

CPU

命令セットアーキテクチャの分類 主要な方式として、スタック、アキュミュレータ、レジスタを用いる方式がある スタックアーキテクチャ オペランドは暗黙的にスタックのトップ アキュムレータアーキテクチャ オペランドの1つは暗黙的に1つしか存在しないアキ…

コンピュータアーキテクチャのエッセンス 20章コンピュータアーキテクチャのエッセンス 20章

CPU

アーキテクチャの例と階層構造 ディジタルシステムのアーキテクチャはいくつもの抽象レベルで示すことができる システムレベル:コンピュータシステム全体の構造 ボードレベル:各ボードの構造 チップレベル:1つのIC回路の内部構造 参考 コンピュータアーキ…

コンピュータアーキテクチャのエッセンス 19章

CPU

性能評価 数多くの性能評価法が提案されている FLOPS 1秒間に実行できる平均の浮動小数点演算数 MIPS 平均の命令数 加重平均法 頻繁に使われる命令に重みをかける ベンチマークには一般的なプログラムや性能評価のためのプログラムを用いる SPECによって有名…

コンピュータアーキテクチャのエッセンス 18章

CPU

パイプライン ハードウェアパイプライン 機械命令を処理するためにプロセッサ内部で使われる命令パイプライン 任意のデータがパイプラインを通って行くデータパイプライン より速いプロセッサを使わない限り、データパイプラインでは1つのデータを処理する時…

コンピュータアーキテクチャのエッセンス 17章

CPU

並列化 並列化はハードウェアの性能を向上させるために使われる1つの基本的な技術 コンピュータシステムの多くの装置は並列ハードウェアを持っており、並列プロセッサを持っている場合にのみ、並列アーキテクチャとして分類される SISD 単一命令単一データ流…

コンピュータアーキテクチャのエッセンス 16章

CPU

装置、入出力、そしてバッファリングに対するプログラマの視点 入出力の2つの様相がプログラマと関係する デバイスドライバは3つの部分に分かれる アプリケーションプログラムと相互に作用する上半分 装置自体と相互に作用する下半分 共有変数の集合 プログ…

コンピュータアーキテクチャのエッセンス 14章

CPU

バスとバスアーキテクチャ バスは下記をコンピュータ・システム内で相互連結するのに使われる基本的な仕組み メモリ 入出力装置 プロセッサ バスは複数のビットを同時に転送できるような並列接続線から成る 各々のバスは装着された装置がバスをアクセスする…

コンピュータアーキテクチャのエッセンス 13章

CPU

入出力の概念と用語 コンピュータシステムはデバイスを制御するかデータを転送するために外部装置とやりとりする 外部インターフェースは、直列型か並列型のアプローチを使える 同時に送ることができるビットの数を並列型インターフェイスの幅という 双方向…

コンピュータアーキテクチャのエッセンス 12章

CPU

キャッシュとキャッシュ機構 キャッシュ技術はコンピュータシステム全体において基本となる最適化技術 アクセス要求を検知 自動的に値を格納 可能な限り高速にアクセス要求に答える 多重レベルキャッシュ階層や、先読みキャッシュがある キャッシュ技術は物…

コンピュータアーキテクチャのエッセンス 9章

CPU

メモリと記憶装置 メモリのキーとなる概念 技術 揮発性か不揮発性か ランダムアクセスか逐次アクセスか 永続的か? 一次的か二次的か 構造 小容量の高性能メモリと大容量の低性能メモリ 参考 コンピュータアーキテクチャのエッセンス (IT Architects Archive…

コンピュータアーキテクチャのエッセンス 8章

CPU

アセンブリ言語とプログラミングパラダイム アセンブリ言語 命令セット、オペランドの番地付け、レジスタなどのプロセッサの特徴を含んだ低レベルな言語 多くのアセンブリ言語が存在する 各プロセッサにつき一つ以上のアセンブリ言語がある アセンブリ言語の…

コンピュータアーキテクチャのエッセンス 7章

CPU

CPU:マイクロコード、保護、およびプロセッサモード 実行モードは許可された処理や現在の特権レベルのような操作上のパラメタを決定する 大抵のCPUには特権と保護において2つ以上のレベルがある OSのためのもの アプリケーションプログラムのためのもの 内部…

コンピュータアーキテクチャのエッセンス 6章

CPU

オペランドアドレッシングと命令表現 プロセッサを設計するとき、アーキテクトはオペランドの数と型を各命令ごとに選択する オペランドを効率的に取り扱うために、大抵のプロセッサはその数を3つ以下に制限する オペランド数と型の選択には、機能性、プログ…

コンピュータアーキテクチャのエッセンス 5章

CPU

さまざまなプロセッサと命令セット 各プロセッサではサポートする演算群から構成される命令セットが定義されている プログラマへの利便性とハードウェアコストの間で妥協しながら選択される たいていのプロセッサには高速な記憶機構である汎用レジスタが備わ…

コンピュータアーキテクチャのエッセンス 4章

CPU

さまざまなプロセッサと計算エンジン プロセッサは多数の命令からなる計算を実行できるデジタル機器 下記の論理を使い分けられる 固定論理 選択可能論理 パラメータ化された論理 プログラム可能論理 プロセッサは様々な役割において下記のように分類される …

コンピュータアーキテクチャのエッセンス 3章

CPU

データやプログラムの表現 基礎となるディジタルハードウェアには0,1の出力がある これをビットとし、データやプログラムを表現するのに複数のビットを使う コンピュータは各々でバイトのサイズを定義していて、現行システムでは通常8ビット = 1バイトである…

コンピュータアーキテクチャのエッセンス 2章

CPU

ディジタル論理回路の基礎 フリップフロップ ちょうど電源スイッチのように働く、状態を扱う電子回路 入力の過程に対して反応し、現在の入力値に対しては単純には反応しない 入力が最初に1になると出力をオンにし、入力が次に(0になったあと)1になると出力を…

はじめて読む486 12章

CPU

DOSエクステンダー MS-DOS上でプロテクトモードを活用するプログラムの実行を可能にする リアルモードの状態でMS-DOSメモリ領域にプロテクトモードプログラムファイルを読み込み、プロテクトモードに移行してからそれをプロテクトモードメモリに転送する MS-…

はじめて読む486 11章

CPU

仮想8086モード プロテクトモードではセグメントの扱いが違うので、プログラムをそのまま実行できない 286ではMS-DOS用のアプリを実行する際には、いったんリアルモードに戻した リアルモードだとプロテクトモードの保護機能が全く使えない 386では「仮想808…

はじめて読む486 10章

CPU

OSのセキュリティ 特権レベルとスタック切り替え 486は特権レベルによって、アプリケーションソフトウェアの権限を制限し、セキュリティを実現する アプリケーションを実行している状態からコールゲート、割り込み、例外によってOSが呼び出されると、CPUの動…

はじめて読む486 9章

CPU

ページング メモリ管理方式の一つ メモリを「ページ」と呼ばれる固定長の単位に区分けする方法 本来フラットなメモリ空間のアドレス割り当てのまま、全メモリに連続したアドレスが割り付けられる ページングとアドレス変換 ページ単位でアドレス変換を行う …

はじめて読む486 8章

CPU

タスク タスク(プロセス)とは 独立した資源を保持するプログラムの実行単位 実行単位 = プログラムが起動して処理を行い、終了するまでの一連の流れの実行 資源 = メモリ空間やファイルやデバイスの操作状況、それらを処理するプログラムの実行時間 各タスク…

はじめて読む486 7章

CPU

割り込み 割り込みとは 仕組み プログラムの実行を何らかのきっかけで中断し、一時的に他のプログラムを実行すること 流れ 割り込みの発生 割り込み処理ルーチンの呼び出し 割り込み処理ルーチンの実行 割り込み処理の終了 種類 ハードウェア割り込み 周辺機…

はじめて読む486 6章

CPU

保護機能 プロテクトモードでは下記のチェックをCPU内部で行っている セグメントの属性 セグメントリミット 特権レベル タスク セグメントリミット アクセスしようとするメモリのオフセットアドレスがリミット値を超えていないかをチェックする セグメントの…

はじめて読む486 5章

CPU

セグメント メモリの区画割り 8086のセグメント機構は64Kバイトに制限されていたため有害無益と言われていた プロテクトモードではセグメント機構が持つメリットを十分に発揮できるようになっている セグメント方式 メモリを区画割りする方式の一種 8086のセ…

はじめて読む486 4章

CPU

プロテクトモード リアルモードからプロテクトモードに移行するには システムレジスタのCR0(コントロールレジスタ0)の最下位ビットPE(プロテクションイネーブル)を1にする セグメントの設定→割り込みの設定→アドレス制限の解除→プロテクトモードへ移行

はじめて読む486 3章

CPU

OSの役割 プロセス管理 メモリ管理 ファイルシステム 入出力管理 マルチタスク 複数のタスクを順番に少しずつ実行していく タスク切り替えの実現方法 タスク1を2に切り替える方法 タスク1の状態を保存するために、レジスタの内容をすべてメモリに保存する メ…

はじめて読む486 2章

CPU

486の位置づけ CPUはCISCとRISCに分類される 486はCISCに属する86系 8080というインテル製の8ビットCPUを源流としている 86系CPUの発展 8086 16ビットCPU 8ビットCPUである8080からの移行を容易にすることを主眼に作られた セグメント方式やレジスタの種類に…

はじめて読む486 1章

CPU

3つの動作モード 486は下記の3つの動作モードをもっている リアルモード プロテクトモード 仮想8086モード リアルモード 従来との互換性を保っているモードで、MS-DOSを利用できる 8086とほぼまったく同じ動作をする プロテクトモード MS-DOSからWindowsを起…