2015-01-01から1年間の記事一覧
キャッシュとキャッシュ機構 キャッシュ技術はコンピュータシステム全体において基本となる最適化技術 アクセス要求を検知 自動的に値を格納 可能な限り高速にアクセス要求に答える 多重レベルキャッシュ階層や、先読みキャッシュがある キャッシュ技術は物…
仮想メモリの技術と仮想アドレス 仮想メモリシステム 抽象的なアドレス空間をプロエッサとプロセサ上で稼働するアプリケーションプログラムに提供する 下層の物理メモリの詳細を隠ぺいする ワードのアドレス付の詳細を隠蔽する アドレス空間を均質に見せるこ…
物理メモリと物理アドレス 現在多くのメモリ技術が存在する 永続性(RAMやROM) クロック同期 リード、ライトサイクル時間 物理メモリはワードとして構造化され、コントローラを通してアクセスされる プログラマにとってはびとアドレッシングが使いやすいがワ…
メモリと記憶装置 メモリのキーとなる概念 技術 揮発性か不揮発性か ランダムアクセスか逐次アクセスか 永続的か? 一次的か二次的か 構造 小容量の高性能メモリと大容量の低性能メモリ 参考 コンピュータアーキテクチャのエッセンス (IT Architects Archive…
アセンブリ言語とプログラミングパラダイム アセンブリ言語 命令セット、オペランドの番地付け、レジスタなどのプロセッサの特徴を含んだ低レベルな言語 多くのアセンブリ言語が存在する 各プロセッサにつき一つ以上のアセンブリ言語がある アセンブリ言語の…
CPU:マイクロコード、保護、およびプロセッサモード 実行モードは許可された処理や現在の特権レベルのような操作上のパラメタを決定する 大抵のCPUには特権と保護において2つ以上のレベルがある OSのためのもの アプリケーションプログラムのためのもの 内部…
オペランドアドレッシングと命令表現 プロセッサを設計するとき、アーキテクトはオペランドの数と型を各命令ごとに選択する オペランドを効率的に取り扱うために、大抵のプロセッサはその数を3つ以下に制限する オペランド数と型の選択には、機能性、プログ…
さまざまなプロセッサと命令セット 各プロセッサではサポートする演算群から構成される命令セットが定義されている プログラマへの利便性とハードウェアコストの間で妥協しながら選択される たいていのプロセッサには高速な記憶機構である汎用レジスタが備わ…
さまざまなプロセッサと計算エンジン プロセッサは多数の命令からなる計算を実行できるデジタル機器 下記の論理を使い分けられる 固定論理 選択可能論理 パラメータ化された論理 プログラム可能論理 プロセッサは様々な役割において下記のように分類される …
データやプログラムの表現 基礎となるディジタルハードウェアには0,1の出力がある これをビットとし、データやプログラムを表現するのに複数のビットを使う コンピュータは各々でバイトのサイズを定義していて、現行システムでは通常8ビット = 1バイトである…
ディジタル論理回路の基礎 フリップフロップ ちょうど電源スイッチのように働く、状態を扱う電子回路 入力の過程に対して反応し、現在の入力値に対しては単純には反応しない 入力が最初に1になると出力をオンにし、入力が次に(0になったあと)1になると出力を…
DOSエクステンダー MS-DOS上でプロテクトモードを活用するプログラムの実行を可能にする リアルモードの状態でMS-DOSメモリ領域にプロテクトモードプログラムファイルを読み込み、プロテクトモードに移行してからそれをプロテクトモードメモリに転送する MS-…
仮想8086モード プロテクトモードではセグメントの扱いが違うので、プログラムをそのまま実行できない 286ではMS-DOS用のアプリを実行する際には、いったんリアルモードに戻した リアルモードだとプロテクトモードの保護機能が全く使えない 386では「仮想808…
OSのセキュリティ 特権レベルとスタック切り替え 486は特権レベルによって、アプリケーションソフトウェアの権限を制限し、セキュリティを実現する アプリケーションを実行している状態からコールゲート、割り込み、例外によってOSが呼び出されると、CPUの動…
ページング メモリ管理方式の一つ メモリを「ページ」と呼ばれる固定長の単位に区分けする方法 本来フラットなメモリ空間のアドレス割り当てのまま、全メモリに連続したアドレスが割り付けられる ページングとアドレス変換 ページ単位でアドレス変換を行う …
タスク タスク(プロセス)とは 独立した資源を保持するプログラムの実行単位 実行単位 = プログラムが起動して処理を行い、終了するまでの一連の流れの実行 資源 = メモリ空間やファイルやデバイスの操作状況、それらを処理するプログラムの実行時間 各タスク…
割り込み 割り込みとは 仕組み プログラムの実行を何らかのきっかけで中断し、一時的に他のプログラムを実行すること 流れ 割り込みの発生 割り込み処理ルーチンの呼び出し 割り込み処理ルーチンの実行 割り込み処理の終了 種類 ハードウェア割り込み 周辺機…
保護機能 プロテクトモードでは下記のチェックをCPU内部で行っている セグメントの属性 セグメントリミット 特権レベル タスク セグメントリミット アクセスしようとするメモリのオフセットアドレスがリミット値を超えていないかをチェックする セグメントの…
セグメント メモリの区画割り 8086のセグメント機構は64Kバイトに制限されていたため有害無益と言われていた プロテクトモードではセグメント機構が持つメリットを十分に発揮できるようになっている セグメント方式 メモリを区画割りする方式の一種 8086のセ…
プロテクトモード リアルモードからプロテクトモードに移行するには システムレジスタのCR0(コントロールレジスタ0)の最下位ビットPE(プロテクションイネーブル)を1にする セグメントの設定→割り込みの設定→アドレス制限の解除→プロテクトモードへ移行
OSの役割 プロセス管理 メモリ管理 ファイルシステム 入出力管理 マルチタスク 複数のタスクを順番に少しずつ実行していく タスク切り替えの実現方法 タスク1を2に切り替える方法 タスク1の状態を保存するために、レジスタの内容をすべてメモリに保存する メ…
486の位置づけ CPUはCISCとRISCに分類される 486はCISCに属する86系 8080というインテル製の8ビットCPUを源流としている 86系CPUの発展 8086 16ビットCPU 8ビットCPUである8080からの移行を容易にすることを主眼に作られた セグメント方式やレジスタの種類に…
3つの動作モード 486は下記の3つの動作モードをもっている リアルモード プロテクトモード 仮想8086モード リアルモード 従来との互換性を保っているモードで、MS-DOSを利用できる 8086とほぼまったく同じ動作をする プロテクトモード MS-DOSからWindowsを起…
概要 $ homestead up した後に、下記のように設定すればよい。 参考 Using Sequel Pro with Laravel Homestead Vagrant Environment
概要 Laravel Homestead - Laravel - The PHP Framework For Web Artisansを使うと簡単です。 やり方 // 予めLaravelのプロジェクトを作っておく $ larval new yourProject $ vagrant box add laravel/homestead $ composer global require "laravel/homeste…
状況 間違ってcommitしたものをpushしてしまったので、リモートブランチから履歴を消したい。 revertで履歴が残るのも困る。 解決方法 手元のローカルブランチをreset --hardで戻りたい位置まで戻す リモートブランチに強制的にpushする $ git reset --hard …
Ninety-Nine Haskell Problems Haskellの勉強をしていて、(Ninety-Nine Haskell Problems)https://wiki.haskell.org/99_questionsを解いている。 そこで、sortの問題が出てきたので解いた。 Problem 28 Sorting a list of lists according to length of subl…
春風夏雨 (角川ソフィア文庫)作者: 岡潔出版社/メーカー: KADOKAWA / 角川学芸出版発売日: 2014/06/12メディア: Kindle版この商品を含むブログを見る この本との出会い 大学時代の友達が「春宵十話」をオススメしてくれて、その時に数学者、岡潔を知った。 …