1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

はじめて読む486 第2章 486の履歴書

Last updated at Posted at 2023-06-23

2.1 486の位置付け

  • CISC(Complexed Instruction Set Computer)
    • 80/86系
      • 8080
        • 8ビットCPUの源流
      • Z80
      • 8086
        • 8ビットCPUの8080からの移行を容易にすることを主眼において開発された16ビットCPU
      • 8088
        • 8086と同アーキテクチャ、外部データバスを8ビットにしたもの
      • 8087
        • 数値演算専用のチップ
        • 8086と協調して動作するように設計されたコプロセッサ
      • 80186
        • 8086に割り込みコントローラなどの各種コントローラ機能を加えて、さまざまな電子制御装置に内蔵しやすくしたもの
      • 286
        • 命令の実行速度の高速化
        • プロテクトモードの導入
        • MS-DOSとの互換性やセグメントの制約があったため、8086の高速版として利用されるのに留まった
      • 386
        • 86系で初の32ビットCPU
        • セグメントのサイズは4Gバイトに
        • 仮想8086モードとページング機能の追加
        • 386DX
          • 80386とも呼ばれる、32ビットCPU
          • 後述する386SXの外部データバスが32ビットのもの
        • 386SX
          • 内部アーキテクチャは386DXと同じで、外部のデータバスを16ビットにしたもの
      • 486
      • Pentium
    • 68系
      • 6800
      • 6809
      • 68000
      • 68020
      • 68030
      • 68040
  • RISC(Reduced Instruction Set Computer)
    • MIPS
      • R2000
      • R3000
      • R4000
    • SUN
      • SPARC
      • SuperSPARC
    • IBM
      • PowerPC

2.2 486のアーキテクチャ

  • アーキテクチャ概要
    • 386のアーキテクチャをそのまま引き継ぎ、性能を大幅に向上させたCPU
    • いくつか種類があるが、486DXが基本形
    • 486DXの特徴
      • キャッシュメモリ
        • メモリとCPUの演算処理部との中間に置く高速メモリ
        • 486は8Kバイト
        • メモリから読み込んだデータのコピーを保持しておく仕組み
          • 高速なメモリチップは高価なので、低速なメモリを基本的には使うが、この場合CPUにウェイトがかかる現象が生じる
          • そこで、キャッシュメモリに最近使われたデータを保持しておくことで、ウェイトがかかる頻度を減らすことができる
        • キャッシュメモリと本来のメモリに書き込む方式は以下の2つがある
          • ライトスルー方式
            • キャッシュメモリと本来のメモリに同時に書き込む
          • ライトバック方式
            • 本来のメモリには、その後の別のタイミングで書き込む
            • 高速な処理が可能な反面、一貫性を保つのが難しくなる
        • CPU内蔵のキャッシュメモリのことを1次メモリ、外部のキャッシュメモリのことを2次メモリという
      • FPU(浮動小数点プロセッサ)内蔵
  • 486SX
    • 486DXは非常に集積度が高く、製造にかなりのコストがかかるため、比較的安価に製造できるよう486SXが考えられた
    • 486DXのFPUの部分を無効にしたもの
    • 浮動小数点演算を高速に実行することはできないが、487SXを追加することで浮動小数点演算機能を追加することができる
      • 487SXはCPU部分も含んだ完全な486
      • 486SXに487SXを装着すると、486SXは動作を停止し、487SXが代わりに動作する
  • 486DX2/ODP
    • クロックダブラー(CPU内部のクロック信号の倍速化)によって高速化を実現した486
    • CPU外部は動作が遅い(外部のクロック速度になる)点に注意、但しCPU内部のキャッシュメモリがあるので、これにヒットしている間は倍速で実行できる
  • DX4
    • クロックトリプラー回路の内蔵
    • キャッシュメモリの容量も16Kバイト(2倍)
    • 消費電力が486DX2より小さい

2.3 486の操り方

  • 基本機能とシステム管理機能
    • 基本機能
      • 一般命令
        • メモリアクセス
        • 演算・分岐
        • 入出力
        • 浮動小数点演算
      • 特殊命令(リアルモードではモード移行のための一部の命令のみ実行可能)
        • システム管理機能
        • メモリ管理
        • タスク管理
        • 保護機能

2.4 486のレジスタ

  • レジスタセット
    • 一般レジスタ群
      • 全てのソフトウェアが利用するレジスタ群
      • セグメントレジスタ以外の各レジスタが32ビットに拡張
      • セグメントレジスタもFG, GSが追加
    • 浮動小数点レジスタ群
      • 浮動小数点演算を行うプログラムが利用する
      • 386まではFPUとして独立したチップでサポート
    • システムレジスタ群
      • オペレーティングシステムが利用するレジスタ群
      • これらのレジスタを設定して、メモリ管理やタスク管理機能を働かせる
    • デバッグレジスタ群
      • デバッガが利用するレジスタ
      • プログラムの実行を指定した条件で中断させ、プログラムの実行状況を確認するために使用

2.5 486の32ビットアーキテクチャ

  • 32ビットのサポート
16ビットCPU 32ビットCPU
オペランドサイズ(扱える数値の範囲) 0~65535 -32768~32767 0~4294967295 -2147483648~2147483647
アドレスサイズ(扱えるアドレス空間オフセットアドレス) 64Kバイトまで 4Gバイトまで
  • 32ビットバス
    • データバスが32ビット(本)に拡張
  • 32ビットレジスタ
    • 各レジスタの下位16ビットは8086のレジスタと全く同じ役割を持っており、8086のマシン語命令で扱うことができる
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?