專題成果報告書 ARM 的 Binary code 轉 Verilog code 之翻譯器 元智大學資訊工程學系 組員︰張立蓉、李佳珉 指導教授︰楊正仁教授.

Slides:



Advertisements
Similar presentations
Chapter 10 馬可夫鏈 緒言 如果讀者仔細觀察日常生活中所發生的 諸多事件,必然會發現有些事件的未來 發展或演變與該事件現階段的狀況全然 無關,這種事件稱為獨立試行過程 (process of independent trials) ;而另一些 事件則會受到該事件現階段的狀況影響。
Advertisements

布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
建立使用案例敘述 --Use Case Narrative
第七章 抽樣與抽樣分配 蒐集統計資料最常見的方式是抽查。這 牽涉到兩個問題: 抽出的樣本是否具有代表性?是否能反應出母體的特徵?
: A-Sequence 星級 : ★★☆☆☆ 題組: Online-judge.uva.es PROBLEM SET Volume CIX 題號: Problem D : A-Sequence 解題者:薛祖淵 解題日期: 2006 年 2 月 21 日 題意:一開始先輸入一個.
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/3 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH3.5 ~ CH /10/31.
小綠人行人用交通號誌燈 指導教授:黃朝章 學生:951408陳宜歆 徐祐祥.
指導教授:陳淑媛 學生:李宗叡 李卿輔.  利用下列三種方法 (Edge Detection 、 Local Binary Pattern 、 Structured Local Edge Pattern) 來判斷是否為場景變換,以方便使用者來 找出所要的片段。
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 參 實驗法.
五小專案 黃詩晴 章乃云. 目錄 計算機 智慧盤 拼圖 記憶大挑戰 數學題庫 心得 參考文獻.
Review of Chapter 3 - 已學過的 rules( 回顧 )- 朝陽科技大學 資訊管理系 李麗華 教授.
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
Chapter 2 聯立線性方程式與矩陣 緒言 線性方程式組 (systems of linear equations) 出現 在多數線性模式 (linear model) 中。根據以往解 題的經驗,讀者們也許已發現方程式的解僅與 該方程式的係數有關,求解的過程也僅與係數 的運算有關,只要係數間的相關位置不改變,
1.1 電腦的特性 電腦能夠快速處理資料:電腦可在一秒內處理數百萬個 基本運算,這是人腦所不能做到的。原本人腦一天的工 作量,交給電腦可能僅需幾分鐘的時間就處理完畢。 電腦能夠快速處理資料:電腦可在一秒內處理數百萬個 基本運算,這是人腦所不能做到的。原本人腦一天的工 作量,交給電腦可能僅需幾分鐘的時間就處理完畢。
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
第一章 計算機系統的主要架構.
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
第四章 第二節 網路位址轉換器 NAT Network Address Translation. 動機 解決 IP addresses 不夠的問題 IPv6 – 現有的網路設備需要重新設計 – 代價昂貴 Virtual IP Gateway(VIP Gateway) – 架構於目前的 IPv4 上.
Chapter 07 低階程式語言.
Department of Air-conditioning and Refrigeration Engineering/ National Taipei University of Technology 模糊控制設計使用 MATLAB 李達生.
第一章 演算法:效率、分析與量級 1.1演算法 1.2發展有效率演算法的重要性 1.3演算法的分析 1.4量級(Order)
國立中山大學財產管理系統 線上報廢、盤點系統 總務處保管組 策劃 計算機與網路中心 分析設計 2008/03.
第 7 章 程序與函數 7-1 模組化程式設計 7-1 模組化程式設計 7-2 VB.NET 的程序與函數 7-2 VB.NET 的程序與函數 7-3 程序與函數的變數範圍 7-3 程序與函數的變數範圍 7-4 VB.NET 常用的內建函數 7-4 VB.NET 常用的內建函數 7-5 遞迴函數 7-5.
具備人臉追蹤與辨識功能的一個 智慧型數位監視系統 系統架構 在巡邏模式中 ,攝影機會左右來回巡視,並 利用動態膚色偵測得知是否有移動膚色物體, 若有移動的膚色物體則進入到追蹤模式,反之 則繼續巡視。
© The McGraw-Hill Companies, Inc., 2008 第 6 章 製造流程的選擇與設計.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 貳 研究設計.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
第 5 章 深入 Response 物件 製作. 網頁的轉向與強制輸出 - 讓網頁轉彎的 Redirect 敘述 運用 Response 物件的 Redirect 方法,將瀏覽器顯 示的網頁,導向至其他網頁,語法如下: Response.Redirect 網頁路徑與名稱 此網頁路徑與名稱  若是導向到同一台.
:Problem D: Bit-wise Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10232: Problem D: Bit-wise Sequence 解題者:李濟宇 解題日期: 2006 年 4 月 16.
24-6 設定開始與結束場景中的 程式 最後我們要替這個遊戲收個尾, 幫它把開始 的等待畫面跟結束畫面處理一下。
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
Department of Air-conditioning and Refrigeration Engineering/ National Taipei University of Technology MATLAB 操作與 系統動態模擬 SIMULINK 李達生.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 參 資料蒐集的方法.
行政院國家科學委員會工程技術發展處自動化學門 * 試以國立成功大學製造工程研究所 鄭芳田教授 產學合作計畫 : 智慧預測保養系統之設計與實作 成果報告盤點為範例 國科會工程處專題計畫成果典藏 自動化學門成果報告盤點範例.
第三章 自動再裝載運用篇 使用時機:裝載計劃完成時,尚有剩餘空 間的情形,維持已固定計劃而繼續做裝載 最佳化。以支持次日裝載計劃而提前調整 作業模式。 裝載物品設定和裝載容器設定如前兩章介 紹,於此不再重複此動作,直接從裝載計 劃設定開始,直接從系統內定的物品和容 器選取所需.
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
North Point Government Primary PM School 北角官立下午小學 應用 ‘ 基本能力學生評估 ’ 及 ‘ 網上學與教支援系統 ’ 經驗分享.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
教材名稱:網際網路安全之技術及其應用 (編號: 41 ) 計畫主持人:胡毓忠 副教授 聯絡電話: 教材網址: 執行單位: 政治大學資訊科學系.
The application of boundary element evaluation on a silencer in the presence of a linear temperature gradient Boundary Element Method 期末報告 指導老師:陳正宗終身特聘教授.
資料結構實習-一 參數傳遞.
法律系 系所科助之血淚辛酸史 劉蕙綺. 系上推行困難處 ( 學期初 ) 傳統習慣:法律系以教科書為主 很多老師沒有電子檔案 專、兼任老師使用平台的意願 因老師多為資深老師,因此在使用電腦部 份可能比較需要幫助 通常學生知道訊息的來源是藉由 BBS 或者 是系上的系板,使用意願會降低.
計算機概論 演算法與程式語言 李明山.
: Beautiful Numbers ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11472: Beautiful Numbers 解題者:邱經達 解題日期: 2011 年 5 月 5 日 題意: 若一個 N 進位的數用到該.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
函式 Function Part.2 東海大學物理系‧資訊教育 施奇廷. 遞迴( Recursion ) 函式可以「呼叫自己」,這種動作稱為 「遞迴」 此程式的執行結果相當於陷入無窮迴圈, 無法停止(只能按 Ctrl-C ) 這給我們一個暗示:函式的遞迴呼叫可以 達到部分迴圈的效果.
資料結構實習-二.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
2010 MCML introduction 製作日期: 2010/9/10 製作人 : 胡名霞.
Chapter 3 Entropy : An Additional Balance Equation
-Antidifferentiation- Chapter 6 朝陽科技大學 資訊管理系 李麗華 教授.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Structural Equation Modeling Chapter 6 CFA 根據每個因素有多重指標,以減少 測量誤差並可建立問卷的構念效度 驗證性因素分析.
廣電新聞播報品質電腦化 評估系統之研發 國立政治大學 資訊科學系 指導教授:廖文宏 學生:蘇以暄.
: Function Overloading ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11032:Function Overloading 解題者:許智祺 解題日期: 2007 年 5 月 8 日 題意:判對輸入之數字是否為.
概念性產品企劃書 呂學儒 李政翰.
專題成果報告 胺基酸功能預測開發環境 指導教授:歐昱言 邱彥豪 邱顯鈞.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
第 6 章 迴圈結構 6-1 計數迴圈 6-1 計數迴圈 6-2 條件迴圈 6-2 條件迴圈 6-3 巢狀迴圈 6-3 巢狀迴圈 6-4 While/End While 迴圈 6-4 While/End While 迴圈 6-5 跳出迴圈 6-5 跳出迴圈 6-6 VB.NET 的錯誤處理 6-6 VB.NET.
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/30 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH7.1~CH /12/26.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 壹 企業研究導論.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
Visual C++重點複習.
1 寬頻分碼多重進接無線通訊上 鏈傳收系統之設計與製作 Transceiver System Design and Implementation for WCDMA Uplink Communication 國科會計畫 (1999/8 – 2002/7) 簡介 2004/1.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
:Problem E.Stone Game ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10165: Problem E.Stone Game 解題者:李濟宇 解題日期: 2006 年 3 月 26 日 題意: Jack 與 Jim.
幼兒行為觀察與記錄 第八章 事件取樣法.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m
Presentation transcript:

專題成果報告書 ARM 的 Binary code 轉 Verilog code 之翻譯器 元智大學資訊工程學系 組員︰張立蓉、李佳珉 指導教授︰楊正仁教授

摘要 利用 FPGA (Field Programmable Gate Array) 增 強電腦計算效能中,將程式移 植到 FPGA 平台的過程 – 耗費人力 – 耗費時間

Cont. 在此專題計畫中,我們將設計 一個程式碼翻譯器 – 針對沒有任何輔助資訊的二元碼, 轉換成 FPGA 上的硬體描述語言。 – 幫助系統開發工程師能夠迅速地 將一些現有的應用軟體轉換到 FPGA 平台上,獲得可重組態硬 體加速的效能提昇。

研究動機 若直接使用硬體描述語言撰寫 FPGA 的 bitstream – 開發人員必須要有不短的撰寫經驗 – 其程式設計概念迴異於一般所熟知的程 式設計語言,其學習門檻不低 為了加速系統開發,會使用一些軟 體工具,將高階語言所撰寫的軟體 轉譯成硬體描述語言來進行移植。 系統開發者沒有軟體原來的高階語 言程式碼,在軟體移植上,必須將 其執行檔先進行反組譯,再由開發 人員針對這些組合語言進行分析與 轉譯。

Cont. 開發者的兩個挑戰 – 需對二元碼的計算架構非常熟悉 – 能夠完全地掌握二元碼的演算法 流程 這兩個挑戰將使得系統開發耗 費人力與時間,同時所移植的 應用程式,也存在許多潛在的 錯誤。

研究問題 探討如何針對沒有任何輔助資 訊或 metadata 的二元碼,來 進行 FPGA 上硬體描述語言的 轉譯工作。 同時為了充分利用 FPGA 的硬 體特性,這個轉譯器將對所分 析出來的二元程式碼執行緒, 做效能最佳化的平行設計。使 轉譯後之 FPGA 運算核心,能 夠得到很高的執行效能。

系統軟硬體平台 硬體平台 –Altera 公司的 DE2 開發實驗板 軟體平台 –Quartus II –Metrowerks CodeWarrior for ARM Developer Suite

系統實作流程 Binary Code Parsing Find basic block Verilog code generator Remove data dependency Parallel Analyzer Verilog Code Part 1 Part 2 Part 3

實作範例 範例 FIR 濾波器的 C 程式碼︰ float FIR( int N, float c[], float x[] ) { int i=0; float f=0; while(i<N){ f = f + c[i]*x[i]; i++;} return f; }

實作:第一部份 編譯完 FIR 濾波器程式碼產生執行檔後, 將執行檔反組譯,出現下列二元程式碼︰ 依迴圈判斷結果將其分割成基本區塊。 … 0x c: e T. CMP r4,r6 0x : aa BGE {pc} + 0x28 ; 0x x : eafffff4.... B {pc} - 0x28 ; 0x1c … 10x c0x x x c 巢狀迴圈所屬層級終止位址開始位址 基本區塊對照表 依照基本區塊分割,並做第一次的 Verilog 程式碼翻譯動作。

實作:第二部份. 繼續第二階段的 Verilog 程式碼翻 譯,流程如下: 1. 對最外層主程式.tmp 檔之程式碼進行 指令的切割,並逐行放進已定義之陣 列。 2. 每讀進一行即進行指令之分析。 3. 當遇到指令碼 “call funcation: tmpX ” 之內容時,即跳入遞迴函式對 X.tmp 檔進行程式碼轉換。 4. 步驟2、步驟3持續進行直到未遇到 要翻之.tmp 檔即跳出遞迴 5. 跳回最外層主程式.tmp 檔後,再繼續 分析,直到翻完中途可能遇到之其 餘.tmp 檔,當外層主程式亦翻畢後, 即完成 Verilog 程式碼的翻譯。

實作:第三部份 完成第二部份的翻譯後,所面臨的問題是資料相依所造成的傳 遞延遲問題。為了解決此問題,因此我們必須將不必要的程式 碼移除。 for(i=0; i<50; i=i+1 ) begin t0 <= r8[r4]; t1 <= r7[r4]; t3 <= t1 * t0; r9 <= t3; t2 <= r5; t4 <= t2 + r9; r5 <= t4; r4 <= r4+1; End 移除前 for(i=0; i<50; i=i+1 ) begin t0 <= r8[r4]; t1 <= r7[r4]; t3 <= t1 * t0; t4 <= t4 + t3; r4 <= r4 + 1; End 移除後

Cont. 將不必要的部份去除後,最後即是 Loop unrolling 的動作。 for(i=0; i<50; i=i+1 ) begin t0 <= r8[r4]; t1 <= r7[r4]; t3 <= t1 * t0; tmp0_t0 <= r8[ r4 + 1 ]; tmp0_t1 <= r7[ r4 + 1 ]; tmp0_t3 <= tmp0_t1 * tmp0_t0; t4 <= t4 + t3 + tmp0_t3; r4 <= r4+2; end

實作:測試結果 做 Loop unrolling 前 做完 Loop unrolling 後

Cont. 實作測試結果 Test case Unrolling 展開數 FIR 濾波器 矩陣 Inner Product

謝謝指教 !