內容提要
本書的目的是讓學生在進入大學校門的時候,就對計算機有一個深入理解,為以後的課程打下堅實的基礎。本書包括兩方面的內容:計算機底層結構;高級語言編程及編程方法學。書中闡述了LC-3 體系結構的設計,並配套開發了LC-3模擬器供學生使用。為加深學生對編程及其方法學的理解,本書選用了C語言來進行講解。本書採用了“驅動式”的自底向上方法,即先給學生一個整體結構,然後自底向上地建立起相關的知識。同樣,在每個單元中,也採用相同的驅動式教學方法。在每個學習階段,都基於之前已學的知識介紹新的概念。經驗告訴我們,這種學習方法更多地強調理解而不是記憶。通過本書的學習,學生的理解能力將獲得很大的提高,因為他們循序漸進地了解了構建計算機的全部過程。
本書特色:
自底向上的組織:從最底層的MOS電晶體開關器件開始,然後是邏輯門、鎖存器、邏輯結構(開關MUX、解碼器、全加器、門鎖存器等),最後使用這些單元來實現記憶體。之後,轉至有限狀態機控制、順序電路的實現、馮·諾伊曼體系結構、一個簡單的計算機(LC-3),以及LC-3的機器和彙編語言、C高級語言、遞歸等,最後是基本數據結構。
調試技術:從寫第一個程式開始,學生就被要求採用LC-3的調試工具和相關的調試技術。正因為如此,他們對編程藝術的體會更加深刻。
LC-3模擬器:本書學習中的一個重要過程是親自操作LC-3模擬器,這是一個專門為學生掌握主要計算機概念而設計的工具。學生可以從本書網站免費下載LC-3模擬器。
編程方法學:本書給出了很多例程,其意義在於教會學生怎樣分析問題,並通過系統的問題分解轉換為計算機可程式的子問題。不論是LC-3彙編或C高級語言,編程思路上都存在相似性。這方面的理解和方法對快速掌握其他語言都有幫助。
編輯推薦
與Donald E. Knuth齊名的美國計算機界泰斗級作者Yale N. Patt。
伊利諾伊大學(UIUC)等眾多名校計算機的經典基礎教材。
本書的目的是讓學生在一進入大學校門的時候,就對計算機科學有一個深入理解,為以後的課程打下堅實的基礎。
本書包括兩方面的內容:計算機底層結構;高級語言編程及編程方法學。書中闡述了LC-3體系結構的設計,並配套開發了LC-3模擬器供學生使用。為加深學生對編程及其方法學的理解,本書選用了C語言來進行講解。本書採用了"驅動式"的自底向上方法,即先給學生一個整體結構,然後自底向上地建立起相關的知識。同樣,在每個子單元中,也採用相同的驅動式教學方法。在每個學習階段,都基於之前已學的知識介紹新的概念。經驗告訴我們,這種學習方法更多地強調理解而不是記憶。通過本書的學習,學生的理解能力將獲得很大的提高,因為他們循序漸進地了解了構建計算機的全部過程。
本書特色
●自底向上的組織:從最底層的MOS電晶體開關器件開始,然後是邏輯門、鎖存器、邏輯結構 (開關MUX、解碼器、全加器、門鎖存器等) ,最後使用這些單元來實現記憶體。之後,轉至有限狀態機控制、順序電路的實現、馮·諾伊曼體系結構、一個簡單的計算機 (LC-3),以及LC-3的機器和彙編語言、C高級語言、遞歸等,最後是基本數據結構。
●調試技術:從寫第一個程式開始,學生就被要求採用LC-3的調試工具和相關的調試技術。正因為如此,他們對編程藝術的體會更加深刻。
●LC-3模擬器:本書學習中的一個重要過程是親自操作LC-3模擬器,這是一個專門為學生掌握主要計算機概念而設計的工具。學生可以從本書網站免費下載LC-3模擬器。
●編程方法學:本書給出了很多例程,其意義在於教會學生怎樣分析問題,並通過系統的問題分解轉換為計算機可程式的子問題。不論是使用LC-3彙編或C高級語言,編程思路上都存在相似性。這方面的理解和方法對快速掌握其他語言都有幫助。
作者簡介
Yale N. Patt擁有史丹福大學電子工程博士學位,是德克薩斯大學奧斯汀分校電子與計算機工程系教授。他是IEE和ACM會士,因其在高性能微處理器方面的成就而獲得IEEE Emannuel R. Piore獎、IEEE/ACM Eckert-Mauchly獎和IEEE Wallace W. McDowell獎,因其在教學方面的貢獻而攻得ACM Karl V. Karlstrom傑出教育家獎、德克薩斯優秀教學獎等。
目錄
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
前言
It is a pleasure to be writing a preface to the second edition of this book. Three years have passed since the first edition came out. We have received an enormous number of comments from students who have studied the material in the book and from instructors who have taught from it. Almost all have been very positive. It is gratifying to know that a lot of people agree with our approach, and that this agreement is based on real firsthand experience learning from it (in the case of students) or watching students learn from it (in the case of..