注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計計算機系統(tǒng)解密:從理解計算機到編寫高效代碼

計算機系統(tǒng)解密:從理解計算機到編寫高效代碼

計算機系統(tǒng)解密:從理解計算機到編寫高效代碼

定 價:¥129.00

作 者: [美]喬納森·E.斯坦哈特(Jonathan E. Steinhart)
出版社: 機械工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787111689874 出版時間: 2021-09-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 408 字數(shù):  

內(nèi)容簡介

  本書深入探討了計算機的基礎(chǔ)概念,比如計算機硬件、軟件在硬件上的行為,以及隨著時間的推移,人們?nèi)绾谓鉀Q問題等主題;介紹了現(xiàn)實世界是如何轉(zhuǎn)換成計算機能理解的形式的,組成計算機的基本構(gòu)件,以及為什么設(shè)計與計算機硬件相匹配的程序可以提高性能;還將介紹如何將程序轉(zhuǎn)換為計算機能夠理解的機器語言,如何用軟件構(gòu)建塊創(chuàng)造Web瀏覽器等程序,讓程序更高效的循環(huán)不變式、強度削弱和遞歸細分等技巧,計算機安全和機器智能的基礎(chǔ)知識,以及項目設(shè)計、文檔編制、日程安排、可移植性、維護等內(nèi)容。。

作者簡介

  喬納森•E.斯坦哈特(Jonathan E. Steinhart)設(shè)計了圖形硬件和軟件,并建立了CAD系統(tǒng)、圖形工作站、電路模擬器、發(fā)電廠。他曾在蘋果、英特爾、Sun、Welch-Allyn、Lulu等公司擔(dān)任咨詢顧問。

圖書目錄

譯者序
前言
致謝
作者簡介
審校者簡介
引言1
第1章 計算機的內(nèi)部語言12
1.1 什么是語言12
1.2 書面語言13
1.3 比特13
1.4 邏輯運算14
1.4.1 布爾代數(shù)14
1.4.2 德摩根定律15
1.5 用比特表示整數(shù)16
1.5.1 表示正數(shù)16
1.5.2 二進制加法18
1.5.3 表示負數(shù)20
1.6 表示實數(shù)23
1.6.1 定點表示法24
1.6.2 浮點表示法25
1.6.3 IEEE浮點標(biāo)準(zhǔn)26
1.7 二進制編碼的十進制系統(tǒng)27
1.8 處理二進制數(shù)的簡單方法27
1.8.1 八進制表示法27
1.8.2 十六進制表示法28
1.8.3 表示語境28
1.9 命名位組29
1.10 表示文本30
1.10.1 ASCII30
1.10.2 其他標(biāo)準(zhǔn)的演變32
1.10.3 UTF-832
1.11 用字符表示數(shù)字34
1.11.1 可打印字符引用編碼34
1.11.2 Base64編碼34
1.11.3 URL編碼35
1.12 表示顏色35
1.12.1 增加透明度37
1.12.2 編碼顏色38
1.13 本章小結(jié)39
第2章 組合邏輯40
2.1 數(shù)字計算機的案例40
2.1.1 模擬和數(shù)字之間的區(qū)別42
2.1.2 為什么尺寸對硬件很重要43
2.1.3 數(shù)字使設(shè)備更加穩(wěn)定44
2.1.4 模擬世界中的數(shù)字44
2.1.5 為什么使用位而不是數(shù)字46
2.2 電學(xué)的簡單入門47
2.2.1 用管道理解電47
2.2.2 電源開關(guān)50
2.3 為位構(gòu)建硬件52
2.3.1 繼電器52
2.3.2 真空管54
2.3.3 晶體管55
2.3.4 集成電路56
2.4 邏輯門57
2.4.1 利用遲滯現(xiàn)象提高抗噪聲能力58
2.4.2 差分信號59
2.4.3 傳播延遲60
2.4.4 輸出的變化61
2.5 構(gòu)建更復(fù)雜的電路63
2.5.1 制作加法器63
2.5.2 制作解碼器65
2.5.3 制作多路輸出選擇器66
2.5.4 制作選擇器66
2.6 本章小結(jié)68
第3章 時序邏輯69
3.1 表示時間69
3.1.1 振蕩器70
3.1.2 時鐘70
3.1.3 鎖存器71
3.1.4 鎖存器組成的門電路72
3.1.5 觸發(fā)器73
3.1.6 計數(shù)器75
3.1.7 寄存器77
3.2 內(nèi)存組織和尋址78
3.2.1 隨機存取存儲器80
3.2.2 只讀存儲器81
3.3 塊設(shè)備83
3.4 閃存和固態(tài)磁盤驅(qū)動器85
3.5 檢錯和糾錯86
3.6 硬件和軟件87
3.7 本章小結(jié)88
第4章 計算機剖析89
4.1 內(nèi)存89
4.2 輸入輸出91
4.3 中央處理器92
4.3.1 算術(shù)邏輯單元93
4.3.2 移位寄存器94
4.3.3 執(zhí)行單元96
4.4 指令集97
4.4.1 指令97
4.4.2 尋址方式99
4.4.3 條件碼指令99
4.4.4 分支100
4.4.5 終指令集100
4.5 終設(shè)計103
4.5.1 指令寄存器103
4.5.2 數(shù)據(jù)通路和控制信號103
4.5.3 流量控制104
4.6 RISC和CISC指令集107
4.7 圖形處理單元108
4.8 本章小結(jié)108
第5章 計算機架構(gòu)109
5.1 基本架構(gòu)元素109
5.1.1 處理器核心110
5.1.2 微處理器和微型計算機110
5.2 過程、子程序和函數(shù)111
5.3 堆棧113
5.4 中斷116
5.5 相對尋址118
5.6 內(nèi)存管理單元119
5.7 虛擬內(nèi)存121
5.8 系統(tǒng)和用戶空間121
5.9 存儲器層次和性能122
5.10 協(xié)處理器123
5.11 在內(nèi)存中排列數(shù)據(jù)124
5.12 運行程序125
5.13 內(nèi)存功耗126
5.14 本章小結(jié)126
第6章 通信故障127
6.1 低電平I/O127
6.1.1 I/O端口128
6.1.2 按下按鈕129
6.1.3 讓燈光亮起131
6.1.4 燈光,動作……132
6.1.5 奇思妙想133
6.1.6 2n種灰色134
6.1.7 正交134
6.1.8 并行通信135
6.1.9 串行通信136
6.1.10 捕捉一個波138
6.1.11 通用串行總線139
6.2 網(wǎng)絡(luò)140
6.2.1 現(xiàn)代局域網(wǎng)141
6.2.2 因特網(wǎng)141
6.3 數(shù)字世界中的模擬143
6.3.1 數(shù)模轉(zhuǎn)換143
6.3.2 模數(shù)轉(zhuǎn)換145
6.3.3 數(shù)字音頻148
6.3.4 數(shù)字圖像154
6.3.5 視頻156
6.4 人機界面設(shè)備157
6.4.1 終端157
6.4.2 圖形終端158
6.4.3 矢量圖159
6.4.4 光柵圖160
6.4.5 鍵盤和鼠標(biāo)161
6.5 本章小結(jié)161
第7章 組織數(shù)據(jù)162
7.1 原始數(shù)據(jù)類型162
7.2 數(shù)組164
7.3 位圖165
7.4 字符串166
7.5 復(fù)合數(shù)據(jù)類型167
7.6 單鏈表168
7.7 動態(tài)內(nèi)存分配173
7.8 更有效的內(nèi)存分配174
7.9 垃圾收集175
7.10 雙鏈表175
7.11 層次數(shù)據(jù)結(jié)構(gòu)176
7.12 塊存儲179
7.13 數(shù)據(jù)庫181
7.14 索引182
7.15 移動數(shù)據(jù)183
7.16 矢量I/O186
7.17 面向?qū)ο蟠嬖诘膯栴}187
7.18 排序188
7.19 哈希算法189
7.20 效率與性能191
7.21 本章小結(jié)192
第8章 語言處理193
8.1 匯編語言193
8.2 高級語言194
8.3 結(jié)構(gòu)化程序設(shè)計195
8.4 詞法分析196
8.4.1 狀態(tài)機198
8.4.2 正則表達式199
8.5 從單詞到句子201
8.6 每日語言俱樂部203
8.7 語法樹203
8.8 解釋器205
8.9 編譯器207
8.10 優(yōu)化209
8.11 小心硬件210
8.12 本章小結(jié)211
第9章 Web瀏覽器212
9.1 標(biāo)記語言213
9.2 統(tǒng)一資源定位符214
9.3 HTML文檔214
9.4 文檔對象模型216
9.4.1 樹結(jié)構(gòu)解析216
9.4.2 文檔對象模型解釋217
9.5 串聯(lián)樣式表218
9.6 XML和它的朋友們221
9.7 JavaScript224
9.8 jQuery226
9.9 SVG228
9.10 HTML5228
9.11 JSON228
9.12 本章小結(jié)230
第10章 應(yīng)用程序和系統(tǒng)程序設(shè)計231
10.1 猜動物程序版本1:HTML和JavaScript233
10.1.1 應(yīng)用程序級框架234
10.1.2 Web頁面主體235
10.1.3 JavaScript程序236
10.1.4 CSS238
10.2 猜動物程序版本2:C語言239
10.2.1 終端和命令行239
10.2.2 構(gòu)建程序240
10.2.3 終端和設(shè)備驅(qū)動程序240
10.2.4 上下文切換240
10.2.5 標(biāo)準(zhǔn)I/O242
10.2.6 循環(huán)緩沖區(qū)243
10.2.7 通過合適的抽象實現(xiàn)更好的代碼244
10.2.8 一些技術(shù)細節(jié)244
10.2.9 緩沖區(qū)溢出245
10.2.10 C語言程序246
10.2.11 訓(xùn)練251
10.3 本章小結(jié)252
第11章 捷徑和近似法253
11.1 表格查找253
11.1.1 轉(zhuǎn)換253
11.1.2 紋理映射254
11.1.3 字符分類256
11.2 整數(shù)方法258
11.2.1 直線261
11.2.2 曲線266
11.2.3 多項式268
11.3 遞歸細分269
11.3.1 螺旋線269
11.3.2 構(gòu)造幾何學(xué)272
11.3.3 移位和屏蔽278
11.4 更多地回避數(shù)學(xué)運算279
11.4.1 冪級數(shù)近似279
11.4.2 CORDIC算法280
11.5 隨機事物284
11.5.1 空間填充曲線284
11.5.2 L系統(tǒng)286
11.5.3 隨機287
11.5.4 量化288
11.6 本章小結(jié)297
第12章 死鎖和競態(tài)條件298
12.1 競態(tài)條件是什么298
12.2 共享資源299
12.3 進程和線程299
12.4 鎖301
12.4.1 事務(wù)和粒度302
12.4.2 等待鎖302
12.4.3 死鎖303
12.4.4 短期鎖的實現(xiàn)303
12.4.5 長期鎖的實現(xiàn)304
12.5 瀏覽器JavaScript304
12.6 異步函數(shù)和承諾307
12.7 本章小結(jié)311
第13章 安全性312
13.1 安全和隱私概述313
13.1.1 威脅模型313
13.1.2 信任314
13.1.3 物理安全315
13.1.4 通信安全316
13.1.5 現(xiàn)代社會317
13.1.6 元數(shù)據(jù)和監(jiān)控318
13.1.7 社會背景319
13.1.8 身份驗證與授權(quán)320
13.2 密碼學(xué)321
13.2.1 隱寫術(shù)321
13.2.2 替代密碼322
13.2.3 換位密碼324
13.2.4 更復(fù)雜的密碼325
13.2.5 一次一密325
13.2.6 密鑰交換問題326
13.2.7 公鑰密碼326
13.2.8 前向加密327
13.2.9 加密哈希函數(shù)327
13.2.10 數(shù)字簽名328
13.2.11 公鑰基礎(chǔ)設(shè)施328
13.2.12 區(qū)塊鏈328
13.2.13 密碼管理329
13.3 軟件衛(wèi)生330
13.3.1 保護好正確的東西330
13.3.2 仔細檢查你的邏輯330
13.3.3 檢查錯誤331
13.3.4 小化攻擊面331
13.3.5 待在界內(nèi)331
13.3.6 生成合適的隨機數(shù)是有難度的332
13.3.7 了解代碼333
13.3.8 聰明是你的敵人335
13.3.9 明白什么是可見的335
13.3.10 不要過度收集335
13.3.11 不要一直存儲335
13.3.12 動態(tài)內(nèi)存分配不是你的朋友336
13.3.13 內(nèi)存垃圾回收也不是你的朋友337
13.3.14 數(shù)據(jù)作為代碼338
13.4 本章小結(jié)340
第14章 機器智能341
14.1 概述342
14.2 機器學(xué)習(xí)343
14.2.1 貝葉斯344
14.2.2 高斯345
14.2.3 索貝爾348
14.2.4 Canny351
14.2.5 特征提取352
14.2.6 神經(jīng)網(wǎng)絡(luò)354
14.2.7 使用機器學(xué)習(xí)數(shù)據(jù)358
14.3 人工智能359
14.4 大數(shù)據(jù)361
14.5 本章小結(jié)363
第15章 現(xiàn)實世界的考慮364
15.1 價值主張364
15.2 來龍去脈366
15.2.1 短暫的歷史366
15.2.2 開源軟件368
15.2.3 創(chuàng)意共享370
15.2.4 可移植性的興起370
15.2.5 軟件包管理371
15.2.6 容器371
15.2.7 Java371
15.2.8 Node.js373
15.2.9 云計算373
15.2.10 虛擬機373
15.2.11 便攜式設(shè)備374
15.3 編程環(huán)境374
15.3.1 你有工作經(jīng)驗嗎374
15.3.2 學(xué)會估計374
15.3.3 調(diào)度項目375
15.3.4 決策376
15.3.5 與不同個性的人一起工作376
15.3.6 了解職場文化377
15.3.7 做出明智的選擇378
15.4 開發(fā)方法378
15.5 項目設(shè)計379
15.5.1 把想法寫下來379
15.5.2 快速原型發(fā)展法380
15.5.3 接口設(shè)計380
15.5.4 重用代碼或編寫自己的代碼383
15.6 項目開發(fā)383
15.6.1 談話384
15.6.2 成年人與計算機的關(guān)系384
15.6.

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號