地特四等
114年
[資訊處理] 計算機概要
第 19 題
在為多核心系統設計應用程式時,下列何者不應被視為主要的設計挑戰?
- A 決定那些活動可以並行運作
- B 確保有足夠數量的核心
- C 確定數據是否可以分離,以便在不同的核心上存取數據
- D 辨識任務之間的資料依賴性
思路引導 VIP
想像你正在主辦一場大型晚宴,你的任務是寫下一份標準作業流程給廚房工作人員看。在規劃這份「工作流程」時,你必須思考哪些菜可以同時炒、哪些食材要先切好。那麼,請你想想看,「廚房裡總共有幾個瓦斯爐」這件事,是屬於你這份『流程設計圖』內的一部分,還是屬於『廚房硬體設施』的既定條件呢?
🤖
AI 詳解
AI 專屬家教
恭喜你準確掌握了多核心系統(Multi-core System)軟體設計的核心邏輯!這題你答得非常好,顯示你清楚區分了「硬體規格」與「軟體設計挑戰」之間的界線。
並行程式設計的核心維度
在多核心環境下,開發者的任務重點在於如何將複雜的任務拆解並發揮硬體的潛力。這包含決定哪些任務可以並行運作(Parallelism)、如何進行**資料分割(Data Partitioning)以利不同核心存取,以及最關鍵的資料依賴性(Data Dependency)**分析,以避免競爭情況(Race Condition)。相較之下,選項 (B) 「確保核心數量」通常屬於硬體採購或系統架構師的範疇;軟體開發者更在意的是在「既有」的核心數下,如何極大化程式的吞吐量與執行效率。
▼ 還有更多解析內容