TOCEC
資訊學群
總評比分數: 4.69 顆星

Introduction To MIPS Assembly Language Programming (Kann)


本書作者:Charles W. Kann III
出版年份:2021
授課名稱:計算機組織

書評教師:國立臺北科技大學 資訊工程系 郭忠義 教授

【總評】

整體評價:
本書介紹「計算機組織」課程經典教科書「Computer Organization
and Design: The Hardware/Software Interface」中的指令集架構
MIPS 組合語言,可謂教科書第二章內容之詳細進階版。書中涵蓋基
本的算術邏輯運算和基本指令集、子程序呼叫、記憶體載入和儲存、
程序控制及將 MIPS 組合語言轉換為機器碼的方法,描述非常詳細,
可做為同學進一步深入研讀的補充教材,或者是「組合語言」課程教
科書。
提供試用後之建議,給欲使用此參考書授課之教師:
1. 目前各大學計算機組織普遍使用經典教科書「Computer Organizationand Design: The Hardware/Software Interface」,該教科書使用的Instruction Set Architecture 是 MIPS。
而本導入計畫第一本 OTB「Introduction To MIPS Assembly Language Programming」,介紹計算機組織教科書中最常介紹的指令集架構 MIPS 組合語言,為原教科書第二章內容。書中涵蓋基本的算術邏輯運算和基本指令集、子程序呼叫、記憶體載入和儲存、程序控制及將 MIPS 組合語言轉換為機器碼的方法,描述非常詳細,可做為同學進一步深入研讀的補充教材。

2. 本導入計畫第二本 OTB 「Digital Circuit Projects: An Overview of Digital Circuits Through Implementing Integrated Circuits」,介紹中央處理單元 (CPU) 中最重要的原件,包含加法器、解碼器、多工選擇器、D觸發器和簡單狀態機,為原教科書第三章內容的基礎。若同學對於數位邏輯設計比較不熟悉,可以參考此書厚實其基礎知識。
【分項評比】

完整性(Comprehensiveness):
本書涵蓋 MIPS 指令集中 MIPS 組合語言的理論概念,並運用 MARS 模擬器為執行環境,逐步說明 MIPS 組合語言設計實做方法。本書內容包含數字表示、MARS 整合環境介紹、MIPS 指令集 架構、運用算術邏輯運算符號於數組、指令表示和記憶體操作等主題。
內容正確性(Content Accuracy):
本書內容大部分是正確的,極少數可以需要再次驗證,例如 3.10: Shift Operations,其中有一個範例似乎有誤。
一致性(Consistency):
本書章節及圖文在內容編排或敘述上,表達脈絡一致、且有系統的
呈現各主題而易於理解。
清晰性(Clarity):
在本課程所使用的章節中,本書均使用實際上的程式範例解說,複雜的部分富有圖片解說,內容表達清晰。
組織結構流暢度(Organization Structure Flow):
本書整體敘述清楚,從簡單的組合語言概念到復雜的副程式、遞迴程式主題,漸進且有結構的介紹。
語法誤差度(Grammatical Errors):
本書語法尚無發現明顯錯誤,只發現 Program 7-3 可能需要再次驗證其正確性。
文化相關性(Cultural Relevance):
本書內容與國內教科書知識內容、撰寫出發點未有文化差異處。因為本書主要介紹沒有文化相關性的計算機處理器之組合語言程式設計技巧,引用範例也沒有文化相關性。
模組性(Modularity):
本書各章節均有其獨立主題介紹,且從簡單主題逐步介紹到複雜主題。
各章節說明、章節間具有模組化連貫,整體編排講述具有邏輯性,難度方面以分層方式呈現,對於複雜的案例亦提供圖片說明,整體閱讀容易。
Relevance Longevity(銜接新知之容易度-教科書內容之敘述方式、範例或時事等…):
本書在主題難度方面以分層方式呈現,先介紹基本問題和概念,然後逐漸深入進階組合語言程式設計,有助於閱讀與學習更進階的知識。
Interface(介面之適用性-是否因為不同瀏覽器或不同行動載具,而格式不正確或圖片扭曲):
本書提供各種閱讀格式,不同瀏覽器或不同行動載具,格式與圖片均正確,少數一兩張 MARS IDE 圖片可能不甚清楚但可接受。
專業程度(Professional knowledge):

在本課程所使用的章節中,本書均提供正確相關之專業知識。

教學資源(Supplementary Resources):
本書提供豐富的課堂練習題、評量測驗等教學資源。

Go to open textbook
https://eng.libretexts.org/Bookshelves/Computer_Science/Programming_Languages/Introduction_To_MIPS_Assembly_Language_Programming_(Kann)