書籍一覧

 

The Basic Assembler 入門編

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 上ノ巻

The Advanced Assembler 386 上の巻

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 下ノ巻

The Advanced Assembler 386 下の巻

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なんか創ってどうするのかしら?!

あなた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を食べ尽くすのだ!

この世のCPUを食べ尽くすのだ!

本書はTD4というCPUを拡張し、電卓を作ろうというプロジェクトの第3弾です。

TD4EX2では既にROMを4KBに拡張しましたので、今回はRAMを追加し、さらに電卓用の入出力回路(テンキーと7セグメントLED)も追加します。

初出:技術書典5

内容公開中

関連動画

ええっ?! CPU創ったの⁈ すっごーい!

ええっ?! CPU創ったの⁈ すっごーい!

TD4というCPUを拡張しレジスタ間加算を実現しました。

初出:コミケ92

内容公開中

あんたCPUなんか創ってどうするのよ?!

あんたCPUなんか創ってどうするのよ?!

TD4というCPUを可変長命令化しROMを4KBに拡張しました。

初出:コミケ90

内容公開中