這兩天從某位學弟大大學到了不少東西
主要是如何讓一個寫好的程執行檔呼叫你自己寫的 code
這好像也叫做 hook
2015年9月20日 星期日
2015年5月13日 星期三
2015年4月30日 星期四
整數定數除法的代換 (constant integer division)
不論是 CPU 或是硬體,裡面的除法都很慢
可以的話都要避免
而對於整數的常數除法,有一些方法可以用乘法代換掉
想法很簡單,既然是整數的話只要足夠近似就行了
例如在 gcc 裡面,以下這個東西編譯出來的組合語言相當於 (x*3435973837)>>35
主要參考了 libgmp 大數運算 library 的文件
可以的話都要避免
而對於整數的常數除法,有一些方法可以用乘法代換掉
想法很簡單,既然是整數的話只要足夠近似就行了
例如在 gcc 裡面,以下這個東西編譯出來的組合語言相當於 (x*3435973837)>>35
echo "unsigned int f(unsigned int x){return x/10;}" | g++ -S -xc - -o -
接下來說明如何在 unsigned integer 達成這件事主要參考了 libgmp 大數運算 library 的文件
2015年4月29日 星期三
2015年4月28日 星期二
2015年4月27日 星期一
Terasic DE5-NET Altera Stratix V FPGA PCIe 使用(一)
因為某些需求
花了一個禮拜研究怎麼使用 DE5 FPGA
希望可以使用到上面的 DRAM 跟 PCIe 界面
雖然說實驗的平台是 DE5
不過應該對於 DE4, DE2 150i 等等有 PCIe 的 FPGA 都或多或少適用
標題裡面有個(一),因為我應該不會想一次打完
花了一個禮拜研究怎麼使用 DE5 FPGA
希望可以使用到上面的 DRAM 跟 PCIe 界面
雖然說實驗的平台是 DE5
不過應該對於 DE4, DE2 150i 等等有 PCIe 的 FPGA 都或多或少適用
標題裡面有個(一),因為我應該不會想一次打完
2015年4月17日 星期五
Linux kernel module 嘗試 (1)
因為最近說不定有機會用到 kernel driver
所以藉此看了一下基本的使用
大致研究了一下,基本上這東西一般被認為不難寫
寫起來很無聊,只要照著硬體的 spec 去呼叫就會動
會寫的人就覺得很簡單,難的是如何呼叫到正確的函數
訂閱:
文章 (Atom)