技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2024 iThome 鐵人賽
DAY
30
0
Software Development
RISC-V 與處理器之架構學習及應用
系列 第
30
篇
[Day30] 從抽象層次到效能改善
16th鐵人賽
凱特
2024-10-14 00:09:15
210 瀏覽
分享至
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
組
累計文章數
10439
篇
完賽人數
100
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
17th鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
熱門問題
Esxi 8.0版本上的虛擬機器, 安裝的作業系統是Windows Server 2025, 確定輸入的密碼是正確的, 無法登入(顯示密碼錯誤)
【求助】顯卡/主板 支援 PCIe4.0 為何 Host to Device (H2D) 只剩 Gen1 速度 (0.5 GB/s) ?
請問今天鐵人賽的發文系統是否故障?
Windows GPO Bitlocker
HP iLo Advanced trial license
在線求大神,千奧軟體主機怎麼安裝
Docker Compose 建立 GitLab 容器,執行器 Runner 運行流水線問題
windows server無法使用gpedit.msc
Java證照題目(main() method)
因為網路磁碟的關係造成系統自動重新開機
熱門回答
Esxi 8.0版本上的虛擬機器, 安裝的作業系統是Windows Server 2025, 確定輸入的密碼是正確的, 無法登入(顯示密碼錯誤)
因為網路磁碟的關係造成系統自動重新開機
Windows GPO Bitlocker
【求助】顯卡/主板 支援 PCIe4.0 為何 Host to Device (H2D) 只剩 Gen1 速度 (0.5 GB/s) ?
windows server無法使用gpedit.msc
熱門文章
第30天,完賽心得 / 葉家藥燉排骨 在地排隊美食(新北板橋)| 30天滷肉飯
[為你自己學 n8n] 第 3 天,打開控制台,認識你的自動化駕駛艙!
第4天,數位憑證的產生 / 中崙張記藥膳排骨 排骨讚(台北松山)| 30天滷肉飯
第4天,Cloudflare Public DNS 與 WARP / 滷小小 美味的滷味 | 30天板橋湳雅夜市
第3天, 公鑰與私鑰 / 一甲子餐飲 都是韓國人在吃(台北萬華)| 30天滷肉飯
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}