comparison example/basic/README @ 638:671fca057ad3

hmmmm
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 19 Nov 2009 18:18:20 +0900
parents 5c194c71eca8
children
comparison
equal deleted inserted replaced
637:5530fa36d42e 638:671fca057ad3
1 /* 1 /*
2 * $Id: README,v 1.5 2008/10/20 10:02:01 gongo Exp $ 2 * $Id: README,v 1.5 2008/10/20 10:02:01 gongo Exp $
3 */ 3 */
4 4
5 - 车妥 5 - 姒傝
6 6
7 int の芹误を流り、タスク(Twice) で、芹误の妥燎を2擒にして流り手します。 7 int 銇厤鍒椼倰閫併倞銆併偪銈广偗(Twice) 銇с侀厤鍒椼伄瑕佺礌銈2鍊嶃伀銇椼仸閫併倞杩斻仐銇俱仚銆
8 8
9 PPE->SPE の DMA 啪流は main.cc の twice_init に 9 PPE->SPE 銇 DMA 杌㈤併伅 main.cc 銇 twice_init 銇
10 今いてるのでわかってもらえるかなと慨じて、タスク娄で 10 鏇搞亜銇︺倠銇仹銈忋亱銇c仸銈傘倝銇堛倠銇嬨仾銇ㄤ俊銇樸仸銆併偪銈广偗鍋淬仹
11 そのデ〖タの减け艰り数を棱汤する。 11 銇濄伄銉囥兗銈裤伄鍙椼亼鍙栥倞鏂广倰瑾槑銇欍倠銆
12 12
13 ------------------------------------- 13 -------------------------------------
14 PPE から流られてきたデ〖タの减け艰り 14 PPE 銇嬨倝閫併倝銈屻仸銇嶃仧銉囥兗銈裤伄鍙椼亼鍙栥倞
15 ------------------------------------- 15 -------------------------------------
16 16
17 void *get_input(void *p, int index) を蝗う。 17 void *get_input(void *p, int index) 銈掍娇銇嗐
18 18
19 p には rbuf が掐ります。海のところ澄年なのでわざわざ今かせる涩妥も痰いか。。。 19 p 銇伅 rbuf 銇屽叆銈娿伨銇欍備粖銇仺銇撱倣纰哄畾銇伄銇с倧銇栥倧銇栨浉銇嬨仜銈嬪繀瑕併倐鐒°亜銇嬨傘傘
20 index は、create task 箕に add_inData したと蛔うけど、その界戎になります。 20 index 銇乧reate task 鏅傘伀 add_inData 銇椼仧銇ㄦ濄亞銇戙仼銆併仢銇爢鐣伀銇倞銇俱仚銆
21 21
22 add_inData(data1, size1); 22 add_inData(data1, size1);
23 add_inData(data2, size2); 23 add_inData(data2, size2);
24 24
25 の界戎で淡揭した眷圭、 25 銇爢鐣仹瑷樿堪銇椼仧鍫村悎銆
26 26
27 data1 = get_input(rbuf, 0); 27 data1 = get_input(rbuf, 0);
28 data2 = get_input(rbuf, 0); 28 data2 = get_input(rbuf, 0);
29 29
30 で艰れます。 30 銇у彇銈屻伨銇欍
31 31
32 ------------------------------------- 32 -------------------------------------
33 PPE へデ〖タを流る 33 PPE 銇搞儑銉笺偪銈掗併倠
34 ------------------------------------- 34 -------------------------------------
35 35
36 void *get_output(void *p, int index) を蝗う。 36 void *get_output(void *p, int index) 銈掍娇銇嗐
37 37
38 p は wbuf, index は input と票じ炊じでいいです。 38 p 銇 wbuf, index 銇 input 銇ㄥ悓銇樻劅銇樸仹銇勩亜銇с仚銆
39 get_output で减け艰った挝拌でデ〖タを今けば、 39 get_output 銇у彈銇戝彇銇c仧闋樺煙銇с儑銉笺偪銈掓浉銇戙伆銆
40 このタスクが姜位した稿に、add_outData で回年したアドレスに今き哈まれます。 40 銇撱伄銈裤偣銈亴绲備簡銇椼仧寰屻伀銆乤dd_outData 銇ф寚瀹氥仐銇熴偄銉夈儸銈广伀鏇搞亶杈笺伨銈屻伨銇欍
41 41
42 42
43 - 悸乖数恕 43 - 瀹熻鏂规硶
44 44
45 ./twice [-cpu spe_num] [-length data_length] 45 ./twice [-cpu spe_num] [-length data_length]
46 46
47 -cpu 蝗脱する SPU の眶 47 -cpu 浣跨敤銇欍倠 SPU 銇暟
48 // 海搀はあまり罢蹋の痰いオプションです。 48 // 浠婂洖銇亗銇俱倞鎰忓懗銇劇銇勩偑銉椼偡銉с兂銇с仚銆
49 // 叼络な芹误の眷圭、剩眶に慷り尸けてそれぞれで 2 擒させるっていう 49 // 宸ㄥぇ銇厤鍒椼伄鍫村悎銆佽鏁般伀鎸倞鍒嗐亼銇︺仢銈屻仦銈屻仹 2 鍊嶃仌銇涖倠銇c仸銇勩亞
50 // 借妄を掐れれば罢蹋のあるものになります。茂か(ry 50 // 鍑︾悊銈掑叆銈屻倢銇版剰鍛炽伄銇傘倠銈傘伄銇仾銈娿伨銇欍傝銇(ry
51 51
52 -length 芹误の妥燎の眶 52 -length 閰嶅垪銇绱犮伄鏁
53 53
54 54
55 - 悸乖毋 55 - 瀹熻渚
56 56
57 % ./twice 57 % ./twice
58 before --- 58 before ---
59 0 1 2 3 4 5 6 7 8 9 10 11 59 0 1 2 3 4 5 6 7 8 9 10 11
60 after --- 60 after ---
69 % ./twice -length 15 69 % ./twice -length 15
70 before --- 70 before ---
71 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 71 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
72 zsh: bus error ./twice -length 15 72 zsh: bus error ./twice -length 15
73 73
74 惧の眷圭、PS3惧(SPE蝗った眷圭)では bus error が叫ます。 74 涓娿伄鍫村悎銆丳S3涓(SPE浣裤仯銇熷牬鍚)銇с伅 bus error 銇屽嚭銇俱仚銆
75 この妄统は length にあって、流るデ〖タのバイト眶が 75 銇撱伄鐞嗙敱銇 length 銇亗銇c仸銆侀併倠銉囥兗銈裤伄銉愩偆銉堟暟銇
76 4バイト(int) x 15 = 60 バイト だからです。 76 4銉愩偆銉(int) x 15 = 60 銉愩偆銉 銇犮亱銈夈仹銇欍
77 PPE <-> SPE での DMA 啪流のサイズは 77 PPE <-> SPE 銇с伄 DMA 杌㈤併伄銈点偆銈恒伅
78 1,2,4,8バイト, もしくは 16バイト擒眶と疯まっています。 78 1,2,4,8銉愩偆銉, 銈傘仐銇忋伅 16銉愩偆銉堝嶆暟銇ㄦ焙銇俱仯銇︺亜銇俱仚銆
79 このサイズに疙りがある眷圭、惧のように bus error が叫ます。 79 銇撱伄銈点偆銈恒伀瑾ゃ倞銇屻亗銈嬪牬鍚堛佷笂銇倛銇嗐伀 bus error 銇屽嚭銇俱仚銆
80 この收の拒しい慌屯は、 80 銇撱伄杈恒伄瑭炽仐銇勪粫妲樸伅銆
81 81
82 Game_project/ps3/docs にある PDF や 82 Game_project/ps3/docs 銇亗銈 PDF 銈
83 83
84 Fixstars のサイト 84 Fixstars 銇偟銈ゃ儓
85 http://cell.fixstars.com/ps3linux/index.php/3.3 DMA啪流によるデ〖タの减け畔し 85 http://cell.fixstars.com/ps3linux/index.php/3.3銆DMA杌㈤併伀銈堛倠銉囥兗銈裤伄鍙椼亼娓°仐
86 86
87 とか斧ればわかると蛔います 87 銇ㄣ亱瑕嬨倢銇般倧銇嬨倠銇ㄦ濄亜銇俱仚