1 / 19

江木 班プロセッサ実験最終発表 2009/3/10(Tue) 班員 :江木 聡志、市川 浩丈、木下 祐介、葛原 佑伍、中村 尚太

江木 班プロセッサ実験最終発表 2009/3/10(Tue) 班員 :江木 聡志、市川 浩丈、木下 祐介、葛原 佑伍、中村 尚太. 江木班の歴史. 江木班の歴史. 10 月初旬 班結成。班結成は最速だった 10 月中旬   フィボナッチ数列を計算できるレベルの CPU を設計。  アセンブラやシミュレータを書いたりしてみる。 11 月中旬 フィボナッチ数列計算プログラムが実機で動く コンパイラを Scheme でオリジナルで書くことを本決定 このころ 、 SRAM でつまずきはじめる。そして長い停滞をむかえる. 江木班の歴史. 1 月中旬

Download Presentation

江木 班プロセッサ実験最終発表 2009/3/10(Tue) 班員 :江木 聡志、市川 浩丈、木下 祐介、葛原 佑伍、中村 尚太

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 江木班プロセッサ実験最終発表 2009/3/10(Tue) 班員:江木 聡志、市川 浩丈、木下 祐介、葛原 佑伍、中村 尚太

  2. 江木班の歴史

  3. 江木班の歴史 • 10月初旬 • 班結成。班結成は最速だった • 10月中旬 •   フィボナッチ数列を計算できるレベルのCPUを設計。 •  アセンブラやシミュレータを書いたりしてみる。 • 11月中旬 • フィボナッチ数列計算プログラムが実機で動く • コンパイラをSchemeでオリジナルで書くことを本決定 • このころ、SRAMでつまずきはじめる。そして長い停滞をむかえる

  4. 江木班の歴史 • 1月中旬 • SRAMイニシャライザが苦戦するもようやく完成。これを機に微妙に進み始める • 2月初旬 •   班員の市川、中村、木下が、実はレイトレが動画ではなく静止画だということをはじめて把握する。 • 2月中旬 • テスト勉強と、課題とでまたも停滞。

  5. 江木班の歴史 • 3月 • 3月4日、コンパイラの吐いたレイトレのコードがシミュレータで完全動作 • 3月5日、機械語が本決定 • 3月8日21時頃、実機でレイトレ完全動作(51分) • 3月9日、最適化を行う。25分にまで縮める。

  6. 班員の構成 江木 - 班長、コンパイラ、prelinker, IO 市川 - CPU、IO 葛原 - アセンブラ、ライブラリ、シミュレーター minCaml->Schemeトランスレータ 中村、木下 ーFPU、FPUシミュレーター

  7. CPU

  8. CPU(設計方針) 完成結果ができるだけシンプルなVHDLになることを基本理念とし、設計。 ・単一命令フォーマット コンパイラがコードを吐き出しやすいようにする ・レジスタスウィッチ

  9. CPU(仕様) • レジスタ(32bit、整数/浮動小数点数 共用、256本) • i0~i31(32本) • o0~o31(32本) • g0~g31(32本) • v0~v95(96本) • h0~h15(16本) • s0~s15(16本) • 動作clock • 本体:50MHz • SRAM:50MHz

  10. CPU(仕様) • 単一命令フォーマット(64bit、SRAMでpipeline read) • INSTINFO:命令の種類を指定(3bit) • OPCODE:実際に行う命令を指定(5bit) • DR(Destination Register):演算結果を格納するレジスタを指定(8bit) • SR1、SR2(Source Register):被演算数を格納するレジスタを指定(8bit×2) • IMD:即値(32bit) INSTINFO (3bit) OPCODE (5bit) DR(8bit) SR1(8bit) SR2(8bit) IMD(32bit)

  11. CPU(仕様) • 命令 • SYSTEMOPERATION:nophalt • IO OPERATION:read-byte write-byte • MEMORY OPERATION:load store • JUMP OPERATION:if goto call • CMPOPERATION:==. > >. < <. >= >=. <= <=. • SCU OPERATION:set + - xor or and not • MCU OPERATION:sllsrl * +. -. *. /. itofftoi

  12. CPU(仕様) 特徴のある命令 Call命令   ジャンプすると同時にコンバートフラグをたてる。 コンバートフラグをたてると、SPARCのような感じでレジスタが入れ替わる  レジスタ規約がゆるくなる

  13. CPU(FPU) • clock数 • 2clock:+. *. ftoiitof • 3clock:-. • 7clock:/.

  14. CPU(データパス)

  15. Compiler

  16. Compiler(概要) 完全オリジナルCPSコンパイラ。 Schemeコードをコンパイルする。 すべてSchemeで記述されている。 マクロ以外のR5RSの機能を基本実装している。 call-with-current-continuation, call-with-valuesなど。

  17. Compiler(開発) 完全オリジナルCPSコンパイラ。 Schemeコードをコンパイルする。 すべてSchemeで記述されている。

  18. レイトレ出力画像

  19. レイトレ出力画像

More Related