與Donald E. Knuth齊名的美國計算機界泰斗級作者Yale N. Patt。伊利諾伊大學(UIUC)等眾多名校計算機的經(jīng)典基礎教材。本書的目的是讓學生在一進入大學校門的時候,就對計算機科學有一個深入理解,為以后的課程打下堅實的基礎。本書包括兩方面的內容:計算機底層結構;高級語言編程及編程方法學。書中闡述了LC-3體系結構的設計,并配套開發(fā)了LC-3模擬器供學生使用。為加深學生對編程及其方法學的理解,本書選用了C語言來進行講解。本書采用了"驅動式"的自底向上方法,即先給學生一個整體結構,然后自底向上地建立起相關的知識。同樣,在每個子單元中,也采用相同的驅動式教學方法。在每個學習階段,都基于之前已學的知識介紹新的概念。經(jīng)驗告訴我們,這種學習方法更多地強調理解而不是記憶。通過本書的學習,學生的理解能力將獲得很大的提高,因為他們循序漸進地了解了構建計算機的全部過程。本書特色●自底向上的組織:從最底層的MOS晶體管開關器件開始,然后是邏輯門、鎖存器、邏輯結構 (開關MUX、譯碼器、全加器、門鎖存器等) ,最后使用這些單元來實現(xiàn)內存。之后,轉至有限狀態(tài)機控制、順序電路的實現(xiàn)、馮·諾伊曼體系結構、一個簡單的計算機 (LC-3),以及LC-3的機器和匯編語言、C高級語言、遞歸等,最后是基本數(shù)據(jù)結構?!裾{試技術:從寫第一個程序開始,學生就被要求采用LC-3的調試工具和相關的調試技術。正因為如此,他們對編程藝術的體會更加深刻?!馤C-3模擬器:本書學習中的一個重要過程是親自操作LC-3模擬器,這是一個專門為學生掌握主要計算機概念而設計的工具。學生可以從本書網(wǎng)站免費下載LC-3模擬器。●編程方法學:本書給出了很多例程,其意義在于教會學生怎樣分析問題,并通過系統(tǒng)的問題分解轉換為計算機可編程的子問題。不論是使用LC-3匯編或C高級語言,編程思路上都存在相似性。這方面的理解和方法對快速掌握其他語言都有幫助。
Preface Preface to the First Edition 1 Eelcom Aborad 1.1 What We Will Try to Do 1.2 How We Will get There 1.3 Two Recurring Themes 1.4 A Computer System 1.5 Two Very Important Ideas 1.6 Computers as Universal Computational Devices 1.7 How Do We Get the Electrons to Do the Work? Exercises 2 Bits, Data Types, and Operations 2.1 Bits and Data Types 2.2 Integer Data Types 2.3 2's Complement Integers 2.4 Binary-Decimal Conversion 2.5 Operations on Bit-PartⅠ: Arithmetic 2.6 Operations on Bit-PartⅡ: Logical Operations 2.7 Other Representations Exerises 3 Digital Logic Structures 3.1 The Transistor 3.2 Logic Gates 3.3 Combinational Logic Circuits 3.4 Basic Storage Elements …… 4 The von Neumann Model 5 The LC-3 6 Programming 7 Assembly Laguage 8 I/O 9 TRAP Routines and Subroutines 10 And, Finally...The Stack 11 Introducion to Programming in C 12 Variables and Operators 13 Control Structures 14 Functions 15 Testing and Debugging 16 Pointers and Arrays 17 Recursion 18 I/O in C 19 Data Structures A The LC-3 ISA B From LC-3 to x86 C The Microarchitecture of the LC-3 D The C Programming Language E Useful Tables F Solutions to Selected Exercises