第14回ASICデザインコンテスト/作業用(五十嵐・吉田・矢吹)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[第14回ASICデザインコンテスト]]
*第14回ASICデザインコンテスト/作業用 [#f508cdbd]
#contents
**設計方針 [#u575c084]
PICO16oベースのプロセッサの設計
**役割 [#ed579151]
[[五十嵐]]:CPUの設計、ドキュメントの作成~
[[吉田]]:コンパイラの作成、ドキュメントの作成~
%%[[矢吹]]:コンパイラの作成、ドキュメントの作成%%~
(ドキュメントは共同で)
**ToDo [#qe2fb176]
***五十嵐 [#g58ddef9]
-APPNA制作中
-パイプライン化
***吉田 [#gff62bb1]
-コンパイラ全般
***%%矢吹%% [#gd690902]
**現状の改良案、随時更新。 [#a7f96daf]
*''&color(red){赤字};は未実装''*
-回路部
--pico16o.h
---未定。~
--pico16o.sfl
---不要回路記述、不要命令の削除。~
---加算機の改良。
>並列プレフィクス加算機(APPNA)のHanCarlsonを導入。~
---パイプライン化。~
>段数は現在の2段で行く予定。~
---フォワーディング回路。~|4/4|r44|11,402|42.4|214|7,432|0.77(96.2%:2.98%)|しっかり論理合成 & ドキュメント改稿|
---
---命令追加(ldvl, stvl, &color(red){pop};, push)~---命令の追加。~|4/4|r44|11,402|42.4|214|7,432|0.77(96.2%:2.98%)|しっかり論理合成 & ドキュメント改稿|
>回路部と共通。~
>回路面積増加に見合うだけの効果があるか。~
>>ldvl,stvl:即値(インデックス)使用のロードストア。~
>>pop,push:スタック操作時のaddi,subi(というかPP,MM)を同時に行えるロードストア命令。~
>>>popは実装したところ効率が劣化したため保留。~
---
---
--pico16o.op1
---元は論理合成時に自動生成される、論理合成用スクリプト。~
---回路簡単化用モジュールを呼ばないことで速度をアップ。~
--pico16o.op2
---元は論理合成時に自動生成される、論理合成用スクリプトその2。~
---合成条件を設定できる。これをタイトにして性能向上を図る。~
-コンパイラ部
--picoc.h
---特に改良点無し。~
--picoc.l
---命令の追加。~
>回路部と共通。~
---現状特になし。意味ある解釈の厳密化を思いつけば。~
--picoc.y
---&color(red){構文木による定数畳み込み。};~
>即値ノード同士の演算時に値をまとめて一つの即値ノードとする((+12)を(3)に)~
>>'+'、'-'に%%加え無駄に'*'と'/'にも%%対応。%%'%'とかどうしよう。%%~
>>>定数を読むと畳み込み用ノードに入ってしまうため「定数 + 変数」な式が認識できない。~
>>>現状畳み込みはアセンブラ出力後にPerlで纏めている。~
---配列アドレス最適化。~
>感覚的に同上。~
>>a[n+3]のとき、aのインデックス値(=1)と+3をまとめてd[n]と認識させる。~
>>>添字の計算を「変数式」「変数式 + 定数」に限定したためyaccでやることが可能に。~
---
---
--picob.c
---&color(red){配列によるメモリ空間のトレースによる命令の最適化。};~
>完成すれば色々夢は広がるね。すればね。~
>>ループのような、アセンブラ出力時点で追えないものは不可。~
>>もし全て追えるなら、PPMMから比較加減算条件分岐と出来ることは多い。~
>>>つまり今回は何の役にも立たないと。~
---ロード命令最適化のためのレジスタテーブル。~
>このpico16oでは初期実装されてる模様。大和田さんありがとうございます。~
>>使われてない機能が有る。使いかたによっては化けるかも。~
>>>むしろバグった。真に使いたいなら自作の方がいいかもしれない。~
---インクリメント・デクリメント改良("++", "--", "+=", "-=")~
>加算値が定数で決まっているのでld→addではなくaddiで処理。~
>>"+=", "-=" は "=" の応用で実装。今回意味ないけど。~
>>>i++と++iの区別はしない、やらない。~
---変数&定数の式の最適化。~
>計算時に場合分け。~
>>p->opr[0].con.valueとかで即値読み出せば一手でaddiとかにいける。~
---%%比較命令の最適化。%%~
>%%`<',`>'の判定時、0 か 1 ではなく 0 か 0以外 に。ldliで1を用意しなくて済む分コスト減。%%~
---&color(red){ループアンローリング};。~
>変数回ループの展開なので全展開以外にいい案が浮かばない。~
>>全展開すればコードの肥満を代償にクロックを70%位まで落とせると判明。~
>>>ループ回数算出のためにはメモリマップが要る気がする。てか無いと回数判断用の値が手に入らないのでは。~
---%%&color(red){末尾再起展開};。%%~
%%>末尾再起の判定が多分キモ。%%~
%%>>判定自体は可能だが今のやりかただとゴチャい上に先に続かない感じ。%%~
%%>>下のopt_sem.plで同時に出来んかなー。%%~
>>>現状頓挫。~
---引数読み出しの最適化。~
%%>引数のスタック設置、利用時にSPを更新しないことで無駄なaddi,subiを抑制。%%~
%%>>このままだと関数の多重呼び出し時にちぬ。%%~
>引数ロード用命令追加で対応。~
---%%&color(red){分岐予測};。%%~
>分岐時のnopを回路内で吐いてるので弄り方が微妙。アセンブラソースでは見えないし。~
---%%&color(red){遅延スロット};。%%~
%%>分岐に依存しない命令を先のnopの位置に移動することで効率向上を目指す。%%~
%%>>構築設計論の最終課題でアセンブラ書いたときの苦労を機械まかせにしようという、%%~
%%>>>とりあえずはPerlでやってみようかの。%%~
>あまり効率に変化が無い割にコメントの扱いがダダダなので保留。~
---%%'*'とか'/'とか。%%~
%%>今回欠片も性能貢献しない。未公開プログラムでも活かされないこと必至。自己満足。%%~
%%>>'%'も作るべきか、否か、否かなぁ。%%~
---
--opt_sem.pl
---アセンブラソース最適化用に新規作成。アセンブラソース生成とpasmの間に置く。~
---%%&color(red){命令の実行順序最適化};%%~
%%>アセンブラ生成後、処理を並べ替える。%%~
%%>>Perlでの配列の任意位置への要素追加→spliceとか。~%%~
---即値命令の最適化~
>addi → subi とか来たら即値部分を計算して適した命令に置き換える。~
>>たぶん来ないけど連続ロードとかもこれで消せる。~
>>>つまりは除き穴的最適化用。~
-アセンブラ部
--pasm_parthenon.pl
---これは命令追加時以外いじらないことにした。
----
#comment
~
~
・旧改良案~
&size(6){・加算器の改良};~
&size(6){・乗、除算器の実装 -> 回路面積を増加させてまで実装する必要があるのか検討中};~
&size(6){・パイプライン化};~
&size(6){・不必要な命令の削除};~
&size(6){・分岐予測};~
&size(6){・インクリメント、デクリメント操作の改良 < おk};~
&size(6){・定数の畳み込み < おk <ではないようだ};~
&size(6){・変数と定数の加減算の改良 < おk?もう少し検証が};~
&size(6){・配列アドレスの添字の最適化};~
&size(6){・冗長なLD命令の削除 < お };~
&size(6){・メモリとレジスタ、もしくは即値間での演算(加減算)};~~
&size(6){ コンパイラに関してはいずみかわと同じ案を採用中、必要に応じて最適化します};~
**進捗状況 [#a7e9e7fb]
全体のステージ数を2ステージに減らした。[五十嵐 - 2/12]~
インクリ、デクリ、変数&定数の式の最適化、定数畳み込み。[吉田 - 2/15]~
変数をロードする命令を追加。[五十嵐 - 2/16]~
比較処理、定数の畳み込み+α[吉田 - 2/18]~
Han-Carlson型のAPPNAの実装。[五十嵐 - 2/20]~
比較演算の書式の見直し。[吉田 - 2/23]~
配列アドレスの添字の最適化。[吉田 - 2/26]~
2段パイプライン化[五十嵐 - 3/5]~
3段パイプライン化中[五十嵐 - 3/6]~
暫定提出用ファイル完成。[吉田 - 3/31]~
**スケジュール [#l958d0c0]
[回路設計]~
&size(6){2月1日-2月7日:パイプライン化の検討};~
&size(6){2月8日-2月14日:新命令実装の検討};~
&size(6){2月15日-2月19日:並列プレフィクス加算器実装の検討};~
&size(6){2月20日-2月26日:論理合成スクリプト最適化の検討};~
&size(6){3月6日-3月15日:動作検証・デバッグ};~
[コンパイラ]~
&size(6){2月1日-2月19日:構文木レベルの最適化};~
&size(6){2月1日-2月7日:パイプライン化の検討};~
&size(6){2月8日-2月14日:新命令実装の検討};~
&size(6){2月20日-2月26日:ループアンローリングの検討};~
&size(6){2月27日-3月5日:再帰の末尾最適化の検討};~
&size(6){3月6日-3月15日:動作検証・デバッグ};~
[ドキュメント]~
&size(6){2月1日-3月15日:性能向上の推移を記録};~
&size(6){3月10日-3月30日:ドキュメント執筆・添削依頼};~
&size(6){3月31日:提出};~
''4月1日-4月10日:延長戦''~
**評価の記録 [#jbd59d9c]
|日付|リビジョン|power|max_deray|recur|sort|TxE(前回比:オリジナル比)|備考|
|4/6|r50|10,826|37.5|225|7,893|0.72(93.7%:2.79%)|比較判定改良白紙 & 命令削除(AND,OR,XOR,ANDI,ORI,XORI,SL,SR) & ドキュメント終稿|
|4/4|r44|11,402|42.4|214|7,432|0.77(96.2%:2.98%)|しっかり論理合成 & ドキュメント改稿|
|||||||||
|3/31|r39|11,458|44.3|214|7,432|0.80(87.9%:3.00%)|最終調整 & やっつけ論理合成|
|3/28|r33|11,524|49.7|214|7,432|0.91(87.5%:3.52%)|stvlが機能するように & 乱暴な加減式でも答えを出せるように & Perlによる命令の畳み込み(addi→subiなど)|
|3/24|r28|11,478|48.1|226|8,334|1.04(105%:4.02%)|引数をロードする命令を追加|
|3/20|r26|11,274|47.8|220|8,334|0.988(96.9%:3.82%)|無駄なnop命令を吐かないようにした|
|3/20|r25|11,274|47.8|226|8,334|1.02(110%:3.95%)|より安全に動作するようにpicob.cを変更|
|3/6|r23|11,217|50.4|209|7,873|0.930(93.2%:3.60%)|スタックに値を保存する際の命令を追加|
|3/5|r22|11,257|48.3|233|7,873|0.997(94.0%:3.86%)|2段パイプライン その2|
|3/5|r21|11,240|51.5|233|7,873|1.06(37.5%:4.10%)|2段パイプライン化|
|3/3|r19|10,489|45.1|416|14,406|2.83(81.8%:11.0%)|"+=","ー="(効果無し)&引数のスタック設置関係|
|2/26|r18|10,489|45.1|508|14,406|3.46(86.3%:13.4%)|配列アドレスの添字の最適化|
|2/23|r17|10,489|45.1|508|16,686|4.01(97.8%:15.5%)|比較演算の書式の見直し|
|2/20|r15|10,489|45.1|508|17,066|4.10(63.1%:15.9%)|Han-Carlson型のAPPNAを実装した。|
|2/18|r14|10,526|71.2|508|17,066|6.50(93.1%:25.1%)|比較処理、タタミ+α|
|2/16|r13|10,526|71.2|520|17,908|6.98(79.3%:27.0%)|.plなどのファイルを更新、正しく実行可能に|
|2/15|r12|10,526|71.2|520|20,508|7.99(98.6%:30.9%)|PP、MM、変数&定数の式の最適化、定数畳み込み|
|2/13|r11|10,526|71.2|530|%%19,546%% 22,146|%%7.77%% 8.80(102%:34.1%)|変数をロードする命令を追加(未完)|
|2/12|r10|10,332|71.2|530|22,146|8.63(96.0%:33.4%)|不必要なレジスタ(mar, mdr)を削除|
|2/12|r9|10,770|71.1|530|22,146|8.99(73.9%:34.8%)|EXとWBを1ステージに。全体で2ステージ|
|2/11|r8|11,197|69.9|614|25,295|12.16(47.7%:47.1%)|IFとRFをひとつのステージにまとめた|
|2/10|r7|11,231|71.0|879|36,368|25.48(100%:98.6%)|先の更新に伴いpico16o.hを適切に変更|
|1/22|r6|11,231|71.0|879|36,368|25.48(98.6%:98.6%)|割込み関係の記述を削除|
|CENTER:-|オリジナル|12,097|66.8|879|36,368|25.83|素のTxEがSN/X版の約8.4倍。その分伸び代に期待|
**ドキュメント作業用 [#ebfd493a]
シミュレーションと論理合成の環境~
本設計においてシミュレーションはiverilogを用いて,論理合成はPARTHENONのautoコマンドで実行可能となっている.詳しいシミュレーションと論理合成の方法は付属のREADMEファイルに明記してある.~
**コメント [#q397bd5e]
- r11で追加された命令がsflファイルでしか更新されてないようで、今日測ったら上記の結果に。 更新版がありましたら後で上げておいてください -- [[吉田]] &new{2009-02-14 (土) 20:09:31};
- 更新されていなかったファイルを更新しました。 -- [[五十嵐]] &new{2009-02-16 (月) 16:47:11};
- APPNAにエラーがあるっぽいです(実行不可) -- [[吉田]] &new{2009-02-23 (月) 12:00:40};
- 全部消してチェックアウトしなおしてもダメなのでアップ不備だと思います。今はr14で作業中 -- [[吉田]] &new{2009-02-23 (月) 12:14:22};
- %%何故か突然APPNAで動くようになった。zxp005は不安定だと認識。%% -- [[吉田]] &new{2009-02-26 (木) 18:20:41};
- ↑やはり無理でした。appna_16が無いといわれる。論理合成は出来るのに、何故だ。 -- [[吉田]] &new{2009-03-02 (月) 22:43:17};
- ↑↑sfl2vlのバージョン、ライセンスの問題だったようです。現在正常動作中(多分) -- [[吉田]] &new{2009-03-03 (火) 18:50:17};
- 改良案を持ってきてみました。ツッコミを。 -- [[吉田]] &new{2009-03-10 (火) 00:05:43};
- r30時のデータ更新をお願いします。 -- [[吉田]] &new{2009-03-26 (木) 19:13:23};
- r32に。 -- [[吉田]] &new{2009-03-28 (土) 02:57:07};
- 後でリビジョンも更新しなければ。無駄更新で39とかだったか。 -- [[吉田]] &new{2009-04-02 (木) 15:31:37};
#comment
終了行:
[[第14回ASICデザインコンテスト]]
*第14回ASICデザインコンテスト/作業用 [#f508cdbd]
#contents
**設計方針 [#u575c084]
PICO16oベースのプロセッサの設計
**役割 [#ed579151]
[[五十嵐]]:CPUの設計、ドキュメントの作成~
[[吉田]]:コンパイラの作成、ドキュメントの作成~
%%[[矢吹]]:コンパイラの作成、ドキュメントの作成%%~
(ドキュメントは共同で)
**ToDo [#qe2fb176]
***五十嵐 [#g58ddef9]
-APPNA制作中
-パイプライン化
***吉田 [#gff62bb1]
-コンパイラ全般
***%%矢吹%% [#gd690902]
**現状の改良案、随時更新。 [#a7f96daf]
*''&color(red){赤字};は未実装''*
-回路部
--pico16o.h
---未定。~
--pico16o.sfl
---不要回路記述、不要命令の削除。~
---加算機の改良。
>並列プレフィクス加算機(APPNA)のHanCarlsonを導入。~
---パイプライン化。~
>段数は現在の2段で行く予定。~
---フォワーディング回路。~|4/4|r44|11,402|42.4|214|7,432|0.77(96.2%:2.98%)|しっかり論理合成 & ドキュメント改稿|
---
---命令追加(ldvl, stvl, &color(red){pop};, push)~---命令の追加。~|4/4|r44|11,402|42.4|214|7,432|0.77(96.2%:2.98%)|しっかり論理合成 & ドキュメント改稿|
>回路部と共通。~
>回路面積増加に見合うだけの効果があるか。~
>>ldvl,stvl:即値(インデックス)使用のロードストア。~
>>pop,push:スタック操作時のaddi,subi(というかPP,MM)を同時に行えるロードストア命令。~
>>>popは実装したところ効率が劣化したため保留。~
---
---
--pico16o.op1
---元は論理合成時に自動生成される、論理合成用スクリプト。~
---回路簡単化用モジュールを呼ばないことで速度をアップ。~
--pico16o.op2
---元は論理合成時に自動生成される、論理合成用スクリプトその2。~
---合成条件を設定できる。これをタイトにして性能向上を図る。~
-コンパイラ部
--picoc.h
---特に改良点無し。~
--picoc.l
---命令の追加。~
>回路部と共通。~
---現状特になし。意味ある解釈の厳密化を思いつけば。~
--picoc.y
---&color(red){構文木による定数畳み込み。};~
>即値ノード同士の演算時に値をまとめて一つの即値ノードとする((+12)を(3)に)~
>>'+'、'-'に%%加え無駄に'*'と'/'にも%%対応。%%'%'とかどうしよう。%%~
>>>定数を読むと畳み込み用ノードに入ってしまうため「定数 + 変数」な式が認識できない。~
>>>現状畳み込みはアセンブラ出力後にPerlで纏めている。~
---配列アドレス最適化。~
>感覚的に同上。~
>>a[n+3]のとき、aのインデックス値(=1)と+3をまとめてd[n]と認識させる。~
>>>添字の計算を「変数式」「変数式 + 定数」に限定したためyaccでやることが可能に。~
---
---
--picob.c
---&color(red){配列によるメモリ空間のトレースによる命令の最適化。};~
>完成すれば色々夢は広がるね。すればね。~
>>ループのような、アセンブラ出力時点で追えないものは不可。~
>>もし全て追えるなら、PPMMから比較加減算条件分岐と出来ることは多い。~
>>>つまり今回は何の役にも立たないと。~
---ロード命令最適化のためのレジスタテーブル。~
>このpico16oでは初期実装されてる模様。大和田さんありがとうございます。~
>>使われてない機能が有る。使いかたによっては化けるかも。~
>>>むしろバグった。真に使いたいなら自作の方がいいかもしれない。~
---インクリメント・デクリメント改良("++", "--", "+=", "-=")~
>加算値が定数で決まっているのでld→addではなくaddiで処理。~
>>"+=", "-=" は "=" の応用で実装。今回意味ないけど。~
>>>i++と++iの区別はしない、やらない。~
---変数&定数の式の最適化。~
>計算時に場合分け。~
>>p->opr[0].con.valueとかで即値読み出せば一手でaddiとかにいける。~
---%%比較命令の最適化。%%~
>%%`<',`>'の判定時、0 か 1 ではなく 0 か 0以外 に。ldliで1を用意しなくて済む分コスト減。%%~
---&color(red){ループアンローリング};。~
>変数回ループの展開なので全展開以外にいい案が浮かばない。~
>>全展開すればコードの肥満を代償にクロックを70%位まで落とせると判明。~
>>>ループ回数算出のためにはメモリマップが要る気がする。てか無いと回数判断用の値が手に入らないのでは。~
---%%&color(red){末尾再起展開};。%%~
%%>末尾再起の判定が多分キモ。%%~
%%>>判定自体は可能だが今のやりかただとゴチャい上に先に続かない感じ。%%~
%%>>下のopt_sem.plで同時に出来んかなー。%%~
>>>現状頓挫。~
---引数読み出しの最適化。~
%%>引数のスタック設置、利用時にSPを更新しないことで無駄なaddi,subiを抑制。%%~
%%>>このままだと関数の多重呼び出し時にちぬ。%%~
>引数ロード用命令追加で対応。~
---%%&color(red){分岐予測};。%%~
>分岐時のnopを回路内で吐いてるので弄り方が微妙。アセンブラソースでは見えないし。~
---%%&color(red){遅延スロット};。%%~
%%>分岐に依存しない命令を先のnopの位置に移動することで効率向上を目指す。%%~
%%>>構築設計論の最終課題でアセンブラ書いたときの苦労を機械まかせにしようという、%%~
%%>>>とりあえずはPerlでやってみようかの。%%~
>あまり効率に変化が無い割にコメントの扱いがダダダなので保留。~
---%%'*'とか'/'とか。%%~
%%>今回欠片も性能貢献しない。未公開プログラムでも活かされないこと必至。自己満足。%%~
%%>>'%'も作るべきか、否か、否かなぁ。%%~
---
--opt_sem.pl
---アセンブラソース最適化用に新規作成。アセンブラソース生成とpasmの間に置く。~
---%%&color(red){命令の実行順序最適化};%%~
%%>アセンブラ生成後、処理を並べ替える。%%~
%%>>Perlでの配列の任意位置への要素追加→spliceとか。~%%~
---即値命令の最適化~
>addi → subi とか来たら即値部分を計算して適した命令に置き換える。~
>>たぶん来ないけど連続ロードとかもこれで消せる。~
>>>つまりは除き穴的最適化用。~
-アセンブラ部
--pasm_parthenon.pl
---これは命令追加時以外いじらないことにした。
----
#comment
~
~
・旧改良案~
&size(6){・加算器の改良};~
&size(6){・乗、除算器の実装 -> 回路面積を増加させてまで実装する必要があるのか検討中};~
&size(6){・パイプライン化};~
&size(6){・不必要な命令の削除};~
&size(6){・分岐予測};~
&size(6){・インクリメント、デクリメント操作の改良 < おk};~
&size(6){・定数の畳み込み < おk <ではないようだ};~
&size(6){・変数と定数の加減算の改良 < おk?もう少し検証が};~
&size(6){・配列アドレスの添字の最適化};~
&size(6){・冗長なLD命令の削除 < お };~
&size(6){・メモリとレジスタ、もしくは即値間での演算(加減算)};~~
&size(6){ コンパイラに関してはいずみかわと同じ案を採用中、必要に応じて最適化します};~
**進捗状況 [#a7e9e7fb]
全体のステージ数を2ステージに減らした。[五十嵐 - 2/12]~
インクリ、デクリ、変数&定数の式の最適化、定数畳み込み。[吉田 - 2/15]~
変数をロードする命令を追加。[五十嵐 - 2/16]~
比較処理、定数の畳み込み+α[吉田 - 2/18]~
Han-Carlson型のAPPNAの実装。[五十嵐 - 2/20]~
比較演算の書式の見直し。[吉田 - 2/23]~
配列アドレスの添字の最適化。[吉田 - 2/26]~
2段パイプライン化[五十嵐 - 3/5]~
3段パイプライン化中[五十嵐 - 3/6]~
暫定提出用ファイル完成。[吉田 - 3/31]~
**スケジュール [#l958d0c0]
[回路設計]~
&size(6){2月1日-2月7日:パイプライン化の検討};~
&size(6){2月8日-2月14日:新命令実装の検討};~
&size(6){2月15日-2月19日:並列プレフィクス加算器実装の検討};~
&size(6){2月20日-2月26日:論理合成スクリプト最適化の検討};~
&size(6){3月6日-3月15日:動作検証・デバッグ};~
[コンパイラ]~
&size(6){2月1日-2月19日:構文木レベルの最適化};~
&size(6){2月1日-2月7日:パイプライン化の検討};~
&size(6){2月8日-2月14日:新命令実装の検討};~
&size(6){2月20日-2月26日:ループアンローリングの検討};~
&size(6){2月27日-3月5日:再帰の末尾最適化の検討};~
&size(6){3月6日-3月15日:動作検証・デバッグ};~
[ドキュメント]~
&size(6){2月1日-3月15日:性能向上の推移を記録};~
&size(6){3月10日-3月30日:ドキュメント執筆・添削依頼};~
&size(6){3月31日:提出};~
''4月1日-4月10日:延長戦''~
**評価の記録 [#jbd59d9c]
|日付|リビジョン|power|max_deray|recur|sort|TxE(前回比:オリジナル比)|備考|
|4/6|r50|10,826|37.5|225|7,893|0.72(93.7%:2.79%)|比較判定改良白紙 & 命令削除(AND,OR,XOR,ANDI,ORI,XORI,SL,SR) & ドキュメント終稿|
|4/4|r44|11,402|42.4|214|7,432|0.77(96.2%:2.98%)|しっかり論理合成 & ドキュメント改稿|
|||||||||
|3/31|r39|11,458|44.3|214|7,432|0.80(87.9%:3.00%)|最終調整 & やっつけ論理合成|
|3/28|r33|11,524|49.7|214|7,432|0.91(87.5%:3.52%)|stvlが機能するように & 乱暴な加減式でも答えを出せるように & Perlによる命令の畳み込み(addi→subiなど)|
|3/24|r28|11,478|48.1|226|8,334|1.04(105%:4.02%)|引数をロードする命令を追加|
|3/20|r26|11,274|47.8|220|8,334|0.988(96.9%:3.82%)|無駄なnop命令を吐かないようにした|
|3/20|r25|11,274|47.8|226|8,334|1.02(110%:3.95%)|より安全に動作するようにpicob.cを変更|
|3/6|r23|11,217|50.4|209|7,873|0.930(93.2%:3.60%)|スタックに値を保存する際の命令を追加|
|3/5|r22|11,257|48.3|233|7,873|0.997(94.0%:3.86%)|2段パイプライン その2|
|3/5|r21|11,240|51.5|233|7,873|1.06(37.5%:4.10%)|2段パイプライン化|
|3/3|r19|10,489|45.1|416|14,406|2.83(81.8%:11.0%)|"+=","ー="(効果無し)&引数のスタック設置関係|
|2/26|r18|10,489|45.1|508|14,406|3.46(86.3%:13.4%)|配列アドレスの添字の最適化|
|2/23|r17|10,489|45.1|508|16,686|4.01(97.8%:15.5%)|比較演算の書式の見直し|
|2/20|r15|10,489|45.1|508|17,066|4.10(63.1%:15.9%)|Han-Carlson型のAPPNAを実装した。|
|2/18|r14|10,526|71.2|508|17,066|6.50(93.1%:25.1%)|比較処理、タタミ+α|
|2/16|r13|10,526|71.2|520|17,908|6.98(79.3%:27.0%)|.plなどのファイルを更新、正しく実行可能に|
|2/15|r12|10,526|71.2|520|20,508|7.99(98.6%:30.9%)|PP、MM、変数&定数の式の最適化、定数畳み込み|
|2/13|r11|10,526|71.2|530|%%19,546%% 22,146|%%7.77%% 8.80(102%:34.1%)|変数をロードする命令を追加(未完)|
|2/12|r10|10,332|71.2|530|22,146|8.63(96.0%:33.4%)|不必要なレジスタ(mar, mdr)を削除|
|2/12|r9|10,770|71.1|530|22,146|8.99(73.9%:34.8%)|EXとWBを1ステージに。全体で2ステージ|
|2/11|r8|11,197|69.9|614|25,295|12.16(47.7%:47.1%)|IFとRFをひとつのステージにまとめた|
|2/10|r7|11,231|71.0|879|36,368|25.48(100%:98.6%)|先の更新に伴いpico16o.hを適切に変更|
|1/22|r6|11,231|71.0|879|36,368|25.48(98.6%:98.6%)|割込み関係の記述を削除|
|CENTER:-|オリジナル|12,097|66.8|879|36,368|25.83|素のTxEがSN/X版の約8.4倍。その分伸び代に期待|
**ドキュメント作業用 [#ebfd493a]
シミュレーションと論理合成の環境~
本設計においてシミュレーションはiverilogを用いて,論理合成はPARTHENONのautoコマンドで実行可能となっている.詳しいシミュレーションと論理合成の方法は付属のREADMEファイルに明記してある.~
**コメント [#q397bd5e]
- r11で追加された命令がsflファイルでしか更新されてないようで、今日測ったら上記の結果に。 更新版がありましたら後で上げておいてください -- [[吉田]] &new{2009-02-14 (土) 20:09:31};
- 更新されていなかったファイルを更新しました。 -- [[五十嵐]] &new{2009-02-16 (月) 16:47:11};
- APPNAにエラーがあるっぽいです(実行不可) -- [[吉田]] &new{2009-02-23 (月) 12:00:40};
- 全部消してチェックアウトしなおしてもダメなのでアップ不備だと思います。今はr14で作業中 -- [[吉田]] &new{2009-02-23 (月) 12:14:22};
- %%何故か突然APPNAで動くようになった。zxp005は不安定だと認識。%% -- [[吉田]] &new{2009-02-26 (木) 18:20:41};
- ↑やはり無理でした。appna_16が無いといわれる。論理合成は出来るのに、何故だ。 -- [[吉田]] &new{2009-03-02 (月) 22:43:17};
- ↑↑sfl2vlのバージョン、ライセンスの問題だったようです。現在正常動作中(多分) -- [[吉田]] &new{2009-03-03 (火) 18:50:17};
- 改良案を持ってきてみました。ツッコミを。 -- [[吉田]] &new{2009-03-10 (火) 00:05:43};
- r30時のデータ更新をお願いします。 -- [[吉田]] &new{2009-03-26 (木) 19:13:23};
- r32に。 -- [[吉田]] &new{2009-03-28 (土) 02:57:07};
- 後でリビジョンも更新しなければ。無駄更新で39とかだったか。 -- [[吉田]] &new{2009-04-02 (木) 15:31:37};
#comment
ページ名: