Andes Workshop
https://forum.andestech.com/

關於 LMW 與 SMW
https://forum.andestech.com/viewtopic.php?f=14&t=522
Page 1 of 2

Author:  jjhuang [ Thu Jan 19, 2012 4:04 pm ]
Post subject:  關於 LMW 與 SMW

你好,

如果我想要存取位於 local memory space 的一串記憶體, 使用 LMW 可以讓那一串 bus access 儘量變成 burst 嗎?還是跟其他 load word 一樣,要一個一個搶 bus?

Author:  cindy [ Thu Jan 19, 2012 4:43 pm ]
Post subject:  Re: 關於 LMW 與 SMW

可以,LMW 是使用burst mode

Author:  jjhuang [ Fri Jan 20, 2012 1:12 pm ]
Post subject:  Re: 關於 LMW 與 SMW

cindy wrote:
可以,LMW 是使用burst mode


那再請教一下,在我寫 inline assembly 之前,要怎麼寫 c code 讓 compiler 使用 lmw? 還是我只能寫 inline assembly?

Author:  cindy [ Fri Jan 20, 2012 1:33 pm ]
Post subject:  Re: 關於 LMW 與 SMW

如果是副程式的prologue、epilogue會自動轉成lmw及smw,
不然就要用inline assembly了。
或是都用組合語言寫。

Author:  jjhuang [ Thu Jan 26, 2012 11:47 pm ]
Post subject:  Re: 關於 LMW 與 SMW

cindy wrote:
如果是副程式的prologue、epilogue會自動轉成lmw及smw,
不然就要用inline assembly了。
或是都用組合語言寫。


請問可以給我一些會自動使用 lmw/smw 的 C 的例子嗎?
另外, 請問貴公司是否有實測過 load word 改成 load multi-word 的效能?像是以下的連結:
http://infocenter.arm.com/help/index.js ... 13544.html

謝謝回答,新年快樂!

Author:  cindy [ Fri Jan 27, 2012 6:43 pm ]
Post subject:  Re: 關於 LMW 與 SMW

新年快樂..我會盡快看一下

Author:  cindy [ Mon Jan 30, 2012 6:48 pm ]
Post subject:  Re: 關於 LMW 與 SMW

您只要寫一個簡單的code,
轉成assembly就有lmw及smw了。

至於你說的實測我們沒有試過。

Author:  jjhuang [ Mon Feb 06, 2012 9:37 pm ]
Post subject:  Re: 關於 LMW 與 SMW

cindy wrote:
您只要寫一個簡單的code,
轉成assembly就有lmw及smw了。

至於你說的實測我們沒有試過。


我知道寫成 function 時參數等等 push/pop stacks 會自動使用 lmw, 但是我說的是
怎麼樣在 function body 裡面寫成讓 compiler 會自動產生 lmw 的方式。比如說:

for (i=0; i<128; i++) {
*out++ = *in++;
}

這樣應該是不會產生 lmw/smw, 那怎麼樣會呢?

Author:  cindy [ Thu Feb 09, 2012 4:47 pm ]
Post subject:  Re: 關於 LMW 與 SMW

我想你可以用inline assembly來寫。
Andes程式產生的lmw和smw都用在function的prolgue和epilogue。

Author:  jjhuang [ Mon Mar 05, 2012 6:43 pm ]
Post subject:  Re: 關於 LMW 與 SMW

cindy wrote:
我想你可以用inline assembly來寫。
Andes程式產生的lmw和smw都用在function的prolgue和epilogue。


請問一下哪裡有 Andes 的 C compiler calling convention 的文件嗎?要寫 inline assembly 需要這份文件,謝謝。

Page 1 of 2 All times are UTC + 8 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/