技術問答
技術文章
iT 徵才
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2024 iThome 鐵人賽
DAY
30
0
Software Development
RISC-V 與處理器之架構學習及應用
系列 第
30
篇
[Day30] 從抽象層次到效能改善
16th鐵人賽
凱特
2024-10-14 00:09:15
326 瀏覽
分享至
1.
Abstraction
:
程式的表示層級:
高階語言程式
(例如 C):人類可讀的語言,易於撰寫但難以高效執行。
組合語言程式
(例如 RISC-V):稍微接近硬體,易於機器理解,但需要較多的技術知識撰寫。
機器語言程式
(RISC-V):直接在硬體上執行的語言,最難撰寫,但效率最高。
2.
Language Execution Continuum
:
Interpreter (解釋器)
:一個程式,用來直接執行其他程式的源代碼。
解釋高階語言(例如 Python, Java)時效率較低,但易於編寫。
執行機器碼時效率最高,但難以編寫。
翻譯 (Translation)
:將程式從一種語言轉換到另一種語言,以提高執行效率。
3.
Interpretation vs. Translation
:
Interpreter (解釋器)
:直接執行源語言中的程式。
Translator (翻譯器)
:將程式從源語言轉換為另一個語言的等效程式。
4.
Interpretation
:
舉例:Python 程式
foo.py
會由 Python 解釋器讀取並執行。
Python 解釋器是一個程式,負責讀取和執行 Python 程式的功能。
5.
Why interpret machine language in software?
:
模擬器 (例如 VENUS RISC-V)
:適用於學習和除錯。
蘋果 Mac 系統轉換案例
:從 Motorola 680x0 指令集轉換到 PowerPC,讓程式保留了舊的機器碼和新的機器碼,並在必要時模擬舊的機器碼。
6.
Interpretation vs. Translation
:
解釋器較容易撰寫,因為更靠近高階語言。
解釋器執行速度較慢(大約是翻譯的十分之一),但程式碼較小。
翻譯/編譯的程式碼幾乎總是更高效,適合對性能要求高的應用,如操作系統。
7.
Translation/Compilation and Open Source
:
翻譯和編譯過程可以將程式的源碼隱藏,這在市場中有助於創造價值(例如,微軟保持其源碼秘密)。
另一種模式是開放源碼,通過公開源碼來創造價值並促進開發者社群。
留言
追蹤
檢舉
上一篇
[Day29] 總結與流程 (5/5)
系列文
RISC-V 與處理器之架構學習及應用
共
30
篇
目錄
RSS系列文
訂閱系列文
0
人訂閱
26
[Day26] CALL: Assembler (2/5)
27
[Day27] CALL: Linker (3/5)
28
[Day28] CALL: Loader (4/5)
29
[Day29] 總結與流程 (5/5)
30
[Day30] 從抽象層次到效能改善
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19854
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
使用Aruba 1960接上Gbic沒動作
全新拆封Aruba AP無法接管..
Proxmox mirgrate 有時候會跳出 redirections(599)
window.open參數傳遞問題
如何修復 ICMP Timestamp Request Remote Date Disclosure弱點
PRC端DNS解析問題....
ASP開啟已存在的Excel檔案
請教TRAE的PRO會員快速請求已經用完600點以後如何繼續使用?(已找到答案)
docker+ N8N-Ai agent Tool使用問題請教
跨平台網頁元件只能開放管理者使用權限才能用??
熱門回答
使用Aruba 1960接上Gbic沒動作
window.open參數傳遞問題
PRC端DNS解析問題....
ASP開啟已存在的Excel檔案
全新拆封Aruba AP無法接管..
熱門文章
Excel VBA建聖誕購物決策樹:Gen Z預算分配模型
準備 CKS 的實戰心得分享
【kintone 外部串接】Google 表單自動登錄至 kintone - 實作範例
JavaScript很難搞懂的底層機制原型鏈的 __proto__ 、prototype
整合 Gemini AI 的 LINE Bot - 雲端情人實作 (一) 專案介紹與技術架構
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}