設計するプロセッサの命令セットアーキテクチャとその実現方式

本実験では、指導書1.2節に示した命令セットアーキテクチャを実現するプロセッサの設計を行う。
命令セットアーキテクチャの実現方式は、すべての命令の実行が1クロックサイクルを要するシングルサイクル方式とする。
本実験で設計するプロセッサは、参考書[3](または、参考書[1,2])のシングルサイクルプロセッサの構成に基づいており、よく知られた RISC プロセッサの一つである MIPS の命令セットのサブセットに対応している。

プロセッサ設計の準備

本実験では、Altera社のEDAツールを用い、ICEのLinuxマシンでプロセッサの設計を行う。
計算機とEDAツールの環境設定は、前の実験「EDA ツールを用いた論理回路設計」と全く同じである。
EDA ツールは/pub1/jikken/eda3以下の各ディレクトリにインストールされており、これらのツールを使用するには、下記のように、設定ファイルcadsetup.csh.alteraを読み込む。
・「source ~/cadsetup.csh.altera」
端末を立ち上げる度にsourceにより設定を読み込む必要がある。

プロセッサの動作実験用コンピュータの構成


  液晶ディスプレイ
 +------------------------------+
 | プロセッサ内部        |
 | 信号モニタ          |
 | (画面上部)          |                             PS/2キーボード
 +------------------------------+                             +------------+
 | ターミナル          |                             |            |
 | 30x40 キャラクタディスプレイ |                             | キーボード | 
 | (画面下部)          |                             |            |
 +------------------------------+                             +------------+
       ↑                             ↑
       |ディスプレイケーブル                   |キーボードケーブル
       |                                    |
+--------|  |-------------------------------------------------------|  |----------+
|      |VGA端子                                 |PS/2端子   |
|      |                                    |           |
| +-------+---------------------------------------------------------------------+ |
| |    |                             |         | |
| |    |           +---------------+          ↓         | |
| |+----------------+      |               |            +----------------+ | |
| ||  ディスプレイ  | 文字コード |  プロセッサ   |文字コード  |   キーボード   | | |
| || インタフェース |& 制御信号 |   (MIPS)    |& 制御信号 | インタフェース | | |
| ||   回路    |←--------→|               |←--------→|   回路    | | |
| |+----------------+           |   データRAM   |            +----------------+ | |
| |                    |   命令 ROM    |                               | |
| |                    |     込み      |                               | |
| |                    |        |                               | |
| |                +---------------+                               | |
| | FPGA 内                             ↑                                       | |
| +-------------------------------------+---------------------------------------+ |
|  DE2 ボード上の FPGA                  |                                         |
|                             +----------------------+                             |
|                             |DE2 ボード上のスイッチ|                             |
|                             +----------------------+                             |
| DE2 ボード                                                                       |
+----------------------------------------------------------------------------------+
図1:動作実験用コンピュータの構成

★実験の進め方
6個の実験を通してプロセッサを徐々に完成させてゆく(実験1,2,3,4,5,6)。
最後に、完成させたプロセッサを使い素数計算ならびにステッピングモーターの制御を行う実験を行う(実験7,8)。
★最初に提供する未完成のプロセッサについて

★ハードウェア開発環境について

★C言語によるソフトウェア開発環境について
実験3以降では、MIPSで動作させるプログラムをC言語で作成する。実験2までは、MIPSバイナリ・プログラムを直接扱う。
★実験課題を行う際に参考になるもの

参考書


中村一博