書籍一覧
The Basic Assembler 入門編
x64アーキテクチャーの初めの一歩を学んでから、円周率πを高速・高精度で計算するオール・アセンブラのプログラム作成にチャレンジします。
プログラミングの基本を説明するためにプログラミング言語Pythonを使用することにしました。
Pythonで作成した円周率計算プログラムを、同じアルゴリズムのまま64ビットアセンブラで作成します。
- 第1章:4月に公開されたVisual Studio 2019をインストールして64ビットアセンブラの初歩を解説
- 第2章:x64アーキテクチャへ至る道を、インテル社が如何に互換性を重視したかを説明します。また。過去のCPUから現在のCPUへの激しい進歩の状況を図で表現
- 第3章:円周率を求める計算方法を簡単なものから本格的なものまで、Pythonを使って説明。科学技術計算の拡張モジュールを使いPython単独でも高速な計算が実現できるため、その作成方法も解説
- 4章:オールアセンブラによる円周率計算プログラムの作成にチャレンジ。開発ツールは、NASMとPolinkという高性能なフリーのソフトウェアを使用
作成したプログラムは、多くのユーザ-の環境である 64ビット版Windows10で動作できます。
初出:技術書典6
The Advanced Assembler 上ノ巻
1993 年~1994 年にかけて The BASIC誌(「ざべ」)に連載していた Advanced Assembler 386 (上ノ巻1~5回/全10回)を現代風アレンジ
- 現在までのIntel CPU変遷記
- イラスト書き換え
- レイアウトを全面的に再構成 を加えて、同人誌として復刻
マニアックな記事の多かった「ざべ」誌の中では異色の王道技術解説記事である Advanced Assembler 386 は、x86アーキテクチャの基礎テクノロジーである7つの壁(上ノ巻は3つの壁まで)を詳しく解説しており、その技術は現在の最新 CPU を学ぶ上でも必須となっています。
上ノ巻 目次
- はじめに
- イントロダクション
- Intel CPU の歩み
- X86アーキテクチャの7つの壁
- 第1回 拡張命令/アドレッシング 80386
- 第2回 エクステンドメモリへのアクセス
- 第3回 プロテクトモードにおける保護機能
- 第4回 16ビットコードと32ビットコードの混在
- 第5回 VCPI
初出:技術書典4
The Advanced Assembler 下ノ巻
1993 年~1994 年にかけて The BASIC誌(「ざべ」)に連載していた Advanced Assembler 386 (下ノ巻6~10回/全10回)を現代風アレンジ
- x64アーキテクチャの最新記事
- 書き換え
- レイアウトを全面的に再構成
を加えて、同人誌として復刻。
マニアックな記事の多かった「ざべ」誌の中では異色の王道技術解説記事である Advanced Assembler 386 は、x86アーキテクチャの基礎テクノロジーである7つの壁(下ノ巻は3つの壁)を詳しく解説しており、その技術は現在の最新 CPU を学ぶ上でも必須となっています。
下ノ巻 目次
- はじめに
- 第6回 タスクスイッチ
- 第7回 割り込み&例外
- 第8回 仮想86 モード
- 第9回 ページング
- 第10回 キャッシュメモリシステム
- 新章 x86 64 ビットアーキテクチャー
初出:コミケ94
あなたCPUなんか創ってどうするのかしら?!
本書はTD4というCPUを拡張し、電卓を作成できるCPUを作り上げようというプロジェクトの第4弾です。
2016年に第1弾である「あんたCPUなんか創ってどうするのよ?!」を発表してから3年もかかってしまいましたが、ようやく電卓用CPUであるTD4EX4が完成しましたのでご紹介します。
- ビット幅:4bit
- 命令形式:1命令1~2バイト (可変長)
- プログラム記憶領域:4KB
- データ記憶領域:最大16語 (1語4bit)
- 演算機能:加算・減算
- 使用IC数:16個
- クロック周波数:DC~1kHz
TD4EX4は純粋なCPUなので入出力などの機能が全くありません。実際に電卓を作成するためにI/Oユニットが必要となります。もちろん電源も必要です。全て合計すると28個のICを使用しています。ブレッドボードで作成ましたので見た目は酷いものですが、きちんと動作します。
初出:技術書典6
関連動画
この世のCPUを食べ尽くすのだ!
本書はTD4というCPUを拡張し、電卓を作ろうというプロジェクトの第3弾です。
TD4EX2では既にROMを4KBに拡張しましたので、今回はRAMを追加し、さらに電卓用の入出力回路(テンキーと7セグメントLED)も追加します。
初出:技術書典5
関連動画
ええっ?! CPU創ったの⁈ すっごーい!
TD4というCPUを拡張しレジスタ間加算を実現しました。
初出:コミケ92
あんたCPUなんか創ってどうするのよ?!
TD4というCPUを可変長命令化しROMを4KBに拡張しました。
初出:コミケ90