這幾天有學弟問我的問題,我稍做整理
1.
問:假如 SPU3 要用mfc_put 把資料丟給SPU4,
我再SPU3裡面這樣寫,
mfc_put(&myps , XXX , sizeof(my_class) , TAG , 0,0);
XXX要放SPU4的 (local store位址) + (變數位址)
我知道local store的位址從problem state可以得到
可是我再SPU3裡面要怎麼抓到SPU4的變數位址呢?
答: 對,這是一個問題,所以你必須在SPU4的code加入"告訴SPU3 它該放在我的Local Store的哪一個address"意思就是你應該在SPU4的Local Store開一個一模一樣的變數,然後用mailbox或signal告訴SPU3這個變數的addr, 叫SPU3將資料傳到這個addr
2.
問:while(spe_out_mbox_status(spe_id[0])==0);
這段code的意思是說SPU0如果他的outbound傳輸是傳給SPU0的話,
就會一直被這個while 迴圈block住嗎?
答:其實是可以直接使用spe_out_mbox_read(),但是有時會出錯,為什麼呢?因為ppe去讀spe的outbound-mailbox是"non-blocking"。所以有可能spe根本還沒把資料寫到out-bound mailbox,但是你卻跑去讀了,所以會得到錯的值。為了預防這樣的錯誤發生,所以我們要去看out-bound mailbox的status,當status的值不是0的時候,代表有資料進來了。而因為你去讀status也是non-blocking,所以要用while loop一直去偵測,直到它不為零。
3.
問:Fenced and Barrier Command
Fenced command: mfc_putfBarrier command: mfc_putb
在每一個SPE當中,會有一個DMA queue,所有要做DMA的command,都會進到這個Queue當中等待執行。但是先送進去DMA不一定會先執行。如果資料送出的先後順序對我們來說是有意義的,但我們又不想要每送一筆就blocking的在等待,所以我們就必須以fenced和barrier command來幫忙將想要資料送出。
於是我們將想要依序的資料用相同的標籤(TAG)標記,然後使用barrier/fencedcommand 將資料送出。
barrier:跟我同樣TAG的DMA指令,比我早進來DMA Queue的指令先做完,才會輪到我做。fenced:跟我同樣TAG的DMA指令,比我早進來DMA Queue的指令先做完,比我後進來指令也可能會先執行,之後再輪到fenced指令去做。
2009年2月13日 星期五
2009年2月11日 星期三
2009/2 Training Course
請 Speakers儘快上傳你的講稿資料
2/9 SystemC - DNA
2/10 SystemC - DNA
2/11 SLIM - 宗胤
2/12 Cell - bbb
2/13 Eclipse - 宗胤、阿凡
上面是Training Course課表
地點皆在4285,時間 9:00~12:00、14:00~17:00
基本上皆是早上講課,下午則是一些實作練習
歡迎各位來參加
另外請主講人在2/6前上傳投影片等資料
SystemC & TLM
SLIM Slide SLIM Source 作業注意事項
Cell Slide Example Source 作業(有修正請重新下載)
Eclipse Slide Example
GEF Slide Lab
2009年2月10日 星期二
推薦書
Hi 老師及各位學長學弟妹們:
推薦兩本程式實作的好書:
1) Head 1st Design Pattern
http://supersmalldolphin.blogspot.com/2008/06/head-first-design-pattern.html
2) Effective C++
http://www.books.com.tw/exep/prod/booksfile.php?item=0010264536
第一本可幫助寫出具良好架構易維護的程式,第二本提供許多c++建議讓程式更快且避免錯誤的產生。
如果你/妳尚未閱讀過這兩本書,建議將他們當成打發時間的好朋友…
若有問題歡迎留言或寫信給我。
Thanks.
AL.
推薦兩本程式實作的好書:
1) Head 1st Design Pattern
http://supersmalldolphin.blogspot.com/2008/06/head-first-design-pattern.html
2) Effective C++
http://www.books.com.tw/exep/prod/booksfile.php?item=0010264536
第一本可幫助寫出具良好架構易維護的程式,第二本提供許多c++建議讓程式更快且避免錯誤的產生。
如果你/妳尚未閱讀過這兩本書,建議將他們當成打發時間的好朋友…
若有問題歡迎留言或寫信給我。
Thanks.
AL.
訂閱:
文章 (Atom)