計算機是如何運作的 How Computers Really Work: A Hands-On Guide to the Inner Workings of the Machine

Matthew Justice 譯者 賀蓮

買這商品的人也買了...

商品描述

本書包含41個用於實踐的設計任務,涵蓋了從電路設計到程式碼編寫的廣泛主題,
涉及二進位、電路、記憶體、時脈訊號、機器碼、程式語言、作業系統和網際網路等概念。
跟隨本書,讀者將實踐搭建數位電路、設計猜謎遊戲、將十進制數轉換為二進制、檢查虛存使用情況、運行自己的網頁伺服器等,
從實踐設計中學習如何像軟體工程師一樣思考並用數據描述真實世界的概念,如何用歐姆定律和基爾霍夫定律分析電路的特性,
以及如何像電腦一樣思考並一步一步地在腦海中執行一個程式。

目錄大綱

前言
致謝
技術審查者簡介
第1章計算機的概念
1.1 計算機的定義
1.2 模擬和數字
1.2.1 模擬方法
1.2.2 數位化
1.3 數字系統
1.3.1 十進制數
1.3.2 二進制數
1.4 位元和位元組
1.5 前綴
1.6 十六進位
1.7 總結
第2章二進位
2.1 數位化表示資料
2.1.1 數位文字
2.1.2 ASCII
2.1.3 數位顏色與影像
2.1.4 表示顏色與影像的方法
2.1.5 解釋二進位資料
2.2 二進位邏輯
2.3總結
第3章電路
3.1 電學名詞
3.1.1 電荷
3.1.2 電流
3.1.3 電壓
3.1.4 電阻
3.1.5 水類比
3.2 歐姆定律 3.3
電路圖
3.4 基爾霍夫電壓定律
3.5 真實世界中的電路
3.6 發光二極體
3.7 總結
設計1:建造並測量電路
設計2:搭建簡單的LED電路
第4章數位電路
4.1 什麼是數位電路
4.2 用機械開關實現邏輯運算
4.3 神奇的電晶體
4.4 邏輯閘
4.5 用邏輯閘進行設計
4.6 積體電路
4.7 總結
設計3:用電晶體實現邏輯運算
設計4:用邏輯閘建構電路
第5章數位電路中的算術運算
5.1 二進位加法
5.2 半加器
5.3 全加器
5.4 4位元加法器
5.5 有符號數
5.6 無符號數
5.7 總結
設計5:建造半加器
第6章記憶體與時脈訊號
6.1 時序邏輯電路與記憶體
6.2 SR鎖存器
6.3 在電路中使用SR鎖存器
6.4 時脈訊號
6.5 JK觸發器
6.6 T觸發器
6.7 在3位元計數器中使用時脈
6.8 總結
設計6:用NOR閘搭建SR鎖存器
設計7:搭建一個基本的自動販賣機電路
設計8:在自動販賣機電路中加入延遲重設功能
設計9:將鎖存器用作手動時脈
設計10:測試JK觸發器
設計11:建構3位元計數器
第7章電腦硬體
7.1 電腦硬體概述
7.2 主存
7.3 中央處理器
7.3.1 指令集架構
7.3.2 內部結構
7.3.3 時脈、核心與高速緩存
7.4 其他元件
7.4.1 輔存
7.4.2 輸入/輸出
7.5 匯流排通訊
7.6 總結
第8章機器碼與組合語言
8.1 軟體術語
8.2 機器指令範例
8.3 用機器碼計算階乘
8.4 總結
設計12:組合語言中的階乘運算
設計13:檢查機器碼
第9章高階程式
設計9.1 高階程式概述
9.2 C和Python簡介
9.3 註解
9.4 變數
9.4.1 C中的變數
9.4.2 Python中的變數
9.5 堆疊與堆疊
9.5.1 堆疊
9.5.2 堆
9.6 算術運算
9.7 邏輯運算
9.7.1 位元運算子
9.7.2 布林運算子
9.8 程式流程
9.8.1 if語句
9.8.2 循環
9.9 函數
9.9.1 定義函數
9.9.2 呼叫函數
9.9.3 使用函式庫
9.10 物件導向的程式設計
9.11 編譯或解釋
9.12 用C語言計算階乘
9.13 總結
設計14:檢視變數
設計15:改變Python中變數所引用的值型別
設計16 :堆疊或堆疊
設計17:編寫猜謎遊戲
設計18:使用Python中的銀行帳戶類別
設計19:用C語言實現階乘
第10章作業系統
10.1 無作業系統程式
設計10.2 作業系統概述
10.3 作業系統系列
10.4 核心模式和使用者模式
10.5 流程
10.6 執行緒
10.7 虛存
10.8 應用程式介面
10.9 使用者模式氣泡與系統呼叫
10.10 API和系統呼叫
10.11 作業系統軟體庫 
10.12 應用 程式