---
# System prepended metadata

title: (一) 05-07 (四) 01-02 計算機概論
tags: [111-1, 計算機概論, 大一上, MCU課程筆記]

---

# (一) 05-07 (四) 01-02 計算機概論
###### tags: `111-1` `MCU課程筆記`、`計算機概論`、`大一上`

章節
[TOC]

## 0905(一) 第一週 第1堂

### 課程簡介

教科書
```
計算機概論－資訊武功祕笈, 17/e
ISBN  9786263281295
```

分數計算
平常 40% + 期中 30% + 期末 30%

---

### 1-1 計算機科學大事記

- VLSI（Very Large-Scale Integration, 超大型積體電路）：元件密度、複雜度較積體電路高
- CUDA（Compute Unified Device Architecture, 統一計算架構）：GPU 的驅動程式
- IC（Integrated Circuit, 積體電路）

晶圓（Wafer）由許多塊的晶片、裸晶（Die）組成，裸晶經過切割及處理後，便成為晶片（Chip）

[![](https://i.imgur.com/qbaxEvC.png)](https://i.imgur.com/qbaxEvC.png)
##### [5. IC（集積回路）について ：半導体の部屋：日立ハイテク](https://www.hitachi-hightech.com/jp/products/device/semiconductor/ic.html)

重要組織
- IEEE（電機電子工程師學會,I triple E）
- ACM（計算機協會, Association for Computing Machinery）

電腦技術演進
```
真空管時期 ->
電晶體時期 ->
積體電路時期 ->
超大型積體電路(VLSI)時期
```

處理元件演進
1. CPU（Central Processing Unit）
2. GPU（Graphics Processing Unit）
3. TPU（Tensor Processing Unit, 張量處理器）

處理元件功能
- CPU：核心數較少，用於各式運算及處理
- GPU：核心數較多（1000~10000 ↑），適合處理大量的運算

---

### 1-2 當代計算機的通用架構

馮紐曼架構（Von Neumann architecture）：馮紐曼於 1945 年提出電腦主要有四大子系統，分別為
1\. 記憶體（Memory）
2\. 算數邏輯單元（Arithmetic Logic Unit, 簡稱 ALU）
3\. 控制單元（Control Unit）
4\. 輸入／輸出（Input/Output）

而 ALU 與 Control Unit 組成的元件便是 CPU (Central Processing Unit)

> 終わる

---

## 0908(四) 第一週 第2堂 實習課

### APP Inventor

於課堂上檢查作業，檢查後可選擇上傳模擬器+程式碼畫面或專案的aia檔案

若未檢查則兩者皆須上傳

檔名格式為：`姓名_學號`

> 終わる

---

## 0912(一) 第二週 第3堂

### 2-1 資料型態

數位：不連續變化（兩數之間不存在其他數）的數量表示法

位元（bit）：電腦儲存中的最小單位

位元組（byte）：由 8 個位元組成。每一個英文字母、數字占用 1 byte，中文多數為 3 byte，不常用的字則為 4 byte 以上。

資料單位 MB、GB、TB 中，B 代表 Byte
- KB(Kilo Byte)
- MB(Mega Byte)
- GB(Giga Byte)
- TB(Tera Byte)

影像數位化
黑白相片 `1 bit/pixel`；灰階相片 `1 byte/pixel`；彩色相片 `3 byte/pixel (RGB)`

---

### 2-2 二進位表示法

二進位可經由分割轉換 16 進位與 8 進位
```
example
binary: 0b101011
ocatl: 101 011 -> 0o53
hexadecimal: 0010 1011 -> 0x2B
```
---

### 2-3 各種進位表示法的轉換

整數十進位轉二進位：連除法
```
example
2 / 19 ... 1
 2 / 9 ... 1
 2 / 4 ... 0
 2 / 2 ... 0
     1

--> 10011(binary)
```
小數十進位轉二進位：乘 2 取整數
```
example
  1.625 --> 1
  0.625
X_____2
  1.25  --> 1
  0.25
X_____2
  0.5   --> 0
X____2
  1.0   --> 1
  0.0

--> 1.101(binary)
1 + 1/2 + 1/8
```
```
2^(-1) = 1/2
2^(-2) = 1/4

8^(-1) = 1/8
8^(-2) = 1/64
```

---

### 2-4 整數表示法

透過

- 符號大小
- 1 的補數
- 2 的補數

來表示二進位的負數

> 終わる

---

## 0915(四) 第二週 第4堂 實習課

作業：求兩數字和、抽撲克牌

> 終わる

---

## 0919(一) 第三週 第5堂

### 2-4 整數表示法

10進位轉1的補數：

1. 進行二進位轉換（`6 --> 0000 0110`）
2. 檢查計算後的二進位是否溢位
3. 進行補數（`0000 0110 --> 1111 1001`）

10進位轉2的補數：

方法1

1. 進行1的補數（`10 --> 1111 0101`）
2. 將轉換後的值加1（`1111 0101 --> 1111 0110`）

方法2

1. 進行二進位轉換（`10 --> 0000 1010`）
2. 將右邊數來第一個`1`以左的數字進行補數（`0000 1010 --> 1111 0110`）

### 2-5 浮點數表示法

IEEE 754：將符號分為三部分

1. 正負符號（1 bit）：1表示負數，0表示正數
2. 指數（8 bit）：使用 Excess 127 方法表示，轉為浮點數時先加上127
3. 尾數（23 bit）：小數點後的部分

共使用 32 bit 來表示

```
example
4.625
數字為正
--> 正負符號為 0

100.101
= 1.00101 * 2^(2)
--> 指數部分為 127 + 2 = 129 = 1000 0001

1.[001010]
尾數部分為 0010 10... 其餘補0

得結果為
0 10000001 0010 1000...
```

> 終わる

---

## 0922(四) 第三週 第6堂 實習課

作業：畫布、彩色正方形

> 終わる

---

## 0926(一) 第四週 第7堂

### 2-6 ASCII及Unicode

Unicode：有 UTF-8, UTF-16 及 UTF-16 多種衍生，且用於不同系統

---

### 3-1 中央處理器

CPU 暫存器（register）

- 存取速度比主記憶體快
- 用於暫時紀錄指令和資料
- Instruction register（指令暫存器）、Program counter（程式指標暫存器）

匯流排（bus）

- 電子訊號的傳輸通道，用於傳輸控制訊號、位址資訊與資料
- 控制匯流排、位址匯流排、資料匯流排
- 分為 CPU 中心的內部匯流排以及與 I/O 裝置溝通的外部匯流排

### 3-2 主記憶體

von Neumann bottleneck（馮紐曼瓶頸）：CPU 與主記憶體間的運算效率會受限於匯流排的傳輸速率

記憶體中的資料（值, value）皆會對應到一個位址（address）

SRAM（Static random access memory, 靜態隨機存取記憶體）
- 速度較快，不須經常更新
- 價格較貴

DRAM（Dynamic randome access memory, 動態隨機存取記憶體）
- 速度較慢，需週期性更新
- 價格較便宜

### 3-3 執行程式

指令的執行步驟：
擷取、解碼、執行

> 終わる

---

## 0929(四) 第四週 第8堂

二進位整數、浮點數與補數的轉換測驗

> 終わる

---

## 1003(一) 第五週 第9堂

### 3-3 執行程式

指令的執行步驟：
擷取、解碼、執行

pipelining（生產線技術）：
從 CPU 中擷取（fetch）、解碼（decode）與執行（execute）的區塊皆保持使用中狀態，使資源最大化利用

暫存器只會用於儲存單行指令所需的資料

### 3-4 匯流排與介面

匯流排（bus）
- 為負責在各元件間傳輸訊號的工具
- 分為內部匯流排（負責 CPU 各元件溝通）與外部匯流排（負責與外部設備溝通）
- USB（Universal Serial Bus, 通用序列匯流排）

### 3-5 輸出入電腦設備

就... I/O

---

```
Machine instruction    機械指令
Machine language       機械語言
```

- 機械語言為機械指令的集合
- 機械語言用於管理、控制 CPU 內部元件運作

> 終わる

---

## 1006(四) 第五週 第10堂

作業：年齡判斷

> 終わる

---

## 1010(一) 第六週 雙十連假

## 1013(四) 第六週 第11堂 實習課

作業：計算點擊次數、自行設計應用程式

> 終わる

---

## 1017(一) 第七週 第12堂

### 3-3 執行程式

機械指令
1. Data Transfer（資料搬動指令）
2. Arithmetic Logic（算數/邏輯指令）
3. Control（控制流程指令）

機械指令由運算子（ex LOAD, STORE, ADD...）和運算元（ex 記憶體位址、暫存器編號）組成

example
```
0x3     0x5 0x4 0x7
 ↓           ↓
Op-Code　 Operand
```

---

程式執行步驟
1. 擷取（Fetch） - 從記憶體擷取指令，儲存至指令暫存器中
2. 解碼（Decode） - 查詢機械指令的運算子指令表
3. 執行（Execute） - 執行指令

> 終わる

---

## 1020(四) 第七週 第13堂 實習課

作業：複選盒與對話框 — 興趣調查、BMI 計算

> 終わる

---

## 1024(一) 第八週 第14堂

### 4-1 作業系統簡介

- 核心（kernal）：常駐在記憶體中的程式

- 開機（boot）時會將非常駐程式從硬碟載入至記憶體

- 作業系統五大工作：CPU 管理、記憶體管理、檔案管理、周邊設備管理、程序（Process）管理

- 作業系統負責維持 CPU 持續運作、管理記憶體以避免衝突、使 Process 共用資料。

- 當記憶體空間不足時，會只執行部分程式，未載入的部分則暫時留在硬碟內

- 程序有執行時間的限制，若有未完成的部分，會將結束前的狀態儲存在程序控制表（PCB, Process Control Block）上

> 終わる

---

## 1027(四) 第八週 第15堂 實習課

小考

> 終わる

---

## 1031(一) 第九週 段考週

> 終わる

---

## 1203(四) 第九週 段考週

> 終わる

---

## 1107(一) 第十週 第16堂

### 4-2 各類作業系統

#### 批次系統（batch system）

依序、逐一執行每個程序

#### 多元程式規劃系統

為程序設定 產生、就緒、執行、等待、結束 五個狀態，讓 CPU 保持啟用

- 工作排班：將儲存裝置的工作池內的程序排到記憶體中（較為簡略）
- 處理器排班：將記憶體內的程序放到處理器執行（較為細緻）

#### 分時系統

CPU 在短時間內在多個程序間切換

#### 個人電腦系統

MacOS 為第一個圖形化介面的 OS

#### 多處理器系統

多個處理器能共用周邊設備及共享電腦資源

#### 分散式系統

Web Service

---

    多元程式規劃系統：事件觸發
    
    分時系統：時間觸發

> 終わる

---

## 1110(四) 第十週 第17堂 實習課

作業：點餐系統（清單選擇器、下拉選擇器、清單顯示器）

> 終わる

---

## 1114(一) 第十一週 第18堂

### 4-2 各類作業系統

#### 分散式系統

Web Service

#### 即時系統

具容錯機制

---

### 4-3 CPU 排班

- 不可搶先排班

程序除非提前結束或等待，否則 CPU 不會被釋放

- 可搶先排班

死結 / 卡死（Deadlock）

具有獨佔性的資源被處於等待狀態的程序占用

---

#### 排班演算法的效能評估標準

1. CPU 使用率
2. 產能
3. 等待時間：程序在就緒狀態的時間是否過長
4. 回復時間：程序所花費的總時間

---

#### 排班演算法

- 先到先處理（First Come First Servem, FCFS）

- 最短工作先處理（Shortest Job First, SJT）
    
    - 減少小程序的等待時間
    - 提高平均效能
    - 難以準確評估程序所需的時間

- 優先權排班（Priority Scheduling, PS）

    - 為程序標上優先順序
    
    飢餓（Starvation）
    
    當高優先權的程序不斷進入就緒佇列，會導致優先權低的程序永遠無法使用 CPU

- 依序循環排班

    - 加入執行時間的限制 — 間隔時間

---

### 4-4 記憶體管理

1. 記憶體管理：對記憶體分割以用於多個程序

2. 記憶體位址定位：將邏輯位址（logical address）映射（mapping）到實際位址（physical address）

3. 記憶體保護與共享：保護系統記憶體不被破壞

> 終わる

---

## 1117(四) 第十一週 第19堂 實習課

作業：for 迴圈 99 乘法表、while 迴圈產生亂數

> 終わる

---

## 1121(一) 第十二週 第20堂

### 4-4 記憶體管理

- 記憶體位址定位：將邏輯位址（logical address）映射（mapping）到實際位址（physical address）

![](https://i.imgur.com/GxdPNit.png)

基底暫存器
    - 限制程序能存取的記憶體位置上限

動態載入
    - 將未使用的程序放在磁碟中，要使用時才放進 memory
    
覆蓋
    - 在原有的已使用完畢，且不再使用的部分寫入新的指令
    
置換
    - 將重要性較低的程序放至 disk 中。會搭配排班策略使用


### 4-5 檔案系統

1. 檔案
2. 目錄結構

### 4-6 熱門作業系統介紹

### 4-6 行動裝置作業系統

---

### 5-1 電腦網路的用途

1960 年代為軍事、研究用途而發展

封包交換（packet switching）
    - 將資料切成小片段後，再逐一傳輸
    
### 5-2 電腦網路的架構

1. 依線路連接方式分類
    1. 匯流排 bus
    2. 環狀 ring
    3. 星狀 star
    4. 網格 mesh

2. 依網路提供者
    1. 主從式架構（client-server）
        - 目前主流網路服務採用方式
    2. 同儕式架構（peer-to-peer）
        - P2P 服務

3. 依網路建置規模
    1. LAN（Local Area Network, 區域網路）
        - 涵蓋規模最小的架構
    2. WAN（Wide Area Network, 廣域網路）
        - 跨城市、跨國的網路
    3. MAN（Metropolitan Area Network, 都會網路）

> 終わる

---

## 1124(四) 第十二週 第21堂 實習課

作業：string reverse print、算數遊戲

> 終わる

---

## 1128(一) 第十三週 第22堂

### 5-3 傳輸媒介

#### 電話線 RJ-11
- 電話撥接、ADSL
- 因原本用來傳送類比訊號（聲音），故須將數位訊號轉為類比訊號後才能傳送
- 成本低廉
#### 同軸電纜（電視線纜）
- 速度可達 100 Mbps
- 成本較高
#### 雙絞線 RJ-45
- 區域網路內常見線材
- 速度可達 10 Gbps
#### 光纖
- 速度最快，距離最長
- 成本最高
    - 單模
        - 距離可達數千公里
        - 速度可達 40 Gbps
        - 成本較高
    - 雙模
        - 距離可達 2000 公尺
        - 速度可達 10 Gbps
        - 成本較低
#### 電磁波 IEEE 802.11
- 各國有不同頻段規劃，故外國的無線設備可能無法通用

### 5-4 OSI 與 TCP/IP 模型

OSI model

```
Application Layer        應用層        Layer 7
Presentation Layer       表達層        Layer 6 
Session Layer            交談層        Layer 5
Transport Layer          傳輸層        Layer 4
Network Layer            網路層        Layer 3
Data Link Layer          資料連結層     Layer 2
Physical Layer           實體層        Layer 1
```

- 訊息會從表層（應用層）傳至底層（實體層），並經由線路傳輸後再傳回表層
- 訊息向底層傳輸時，會在每一層加上該層資訊的 Header
- 向表層傳輸時，則會拆開該層所屬的 Header 並處理
```
User -->  Layer 7  ->  Layer 6, 5... Layer 1  ->
    
    >>>   網  路   >>>   線  路   >>>

          Layer 1  ->  Layer 2, 3... Layer 7  ---> Server
```

---

#### layer 7：Application Layer 應用層
- 與使用者接觸的層

常見協定（Protocol）

Email：SMTP、POP、IMAP
- Simple Mail Transfer Protocol, 簡易郵件傳輸協定
    - 將 mail 從 PC 傳至 Server、從 Server 轉送至另一 Server
- Post Office Protocol, 郵局協定
    - 將 mail 從 mail server 下載到 PC 上及閱讀
- Interactive Mail Access Protocol, 交談式郵件存取協定
    - 讓使用者登入 mail server 並讀取及管理電子郵件

Web：HTTP
- Hyper Text Transfer Protocol

Stream：RTSP
- Real Time Stream Protocol

BBS：TELNET

---
#### layer 6：Presentation Layer 表達層
- 負責將資料以標準化的形式傳送

---
#### layer 5：Session Layer 交談層
- 負責建立對話（通道），以用來處理多種用途

---
#### layer 4：Transport Layer 傳輸層
- 選擇資料傳輸的方法

常見協定
- TCP、UDP
    - Transmission Control Protocol, 傳輸控制協定
        - 具可靠性的傳輸方式
    - User Datagram Protocol, 使用者資料包協定

--- 
#### layer 3：Network Layer 網路層

常見協定
- IPv4
    - Internet Protocol version 4
- IPv6
    - Internet Protocol version 6

--- 
#### layer 2：Data Link Layer 資料連結層

常見協定
- IEEE 802.11（無線網路協定）
- IEEE 802.3（有線網路協定）
- ATM
- Ethernet

MAC 位址

--- 
#### layer 1：Physical Layer 實體層

--- 

### 參考資料

####  5-4 OSI 與 TCP/IP 模型
- [[Day10] HTTP好不容易才弄懂，TCP協定又是什麼？ - iT 邦幫忙::一起幫忙解決難題，拯救 IT 人的一天](https://ithelp.ithome.com.tw/articles/10298029)
- [網路通訊輕鬆聊 :: 2021 iThome 鐵人賽](https://ithelp.ithome.com.tw/users/20128159/ironman/4321)
    - [TCP/IP vs OSI，網際網路中的協議模型 - iT 邦幫忙::一起幫忙解決難題，拯救 IT 人的一天](https://ithelp.ithome.com.tw/articles/10266168)
    - [TCP/IP，網際網路的基礎通訊架構 - iT 邦幫忙::一起幫忙解決難題，拯救 IT 人的一天](https://ithelp.ithome.com.tw/articles/10267704)
- [菜園角耕耘田地: [網際網路] 乙太網路封包格式(MAC Frame Format)](https://bryceknowhow.blogspot.com/2013/12/mac-frame-format.html?m=1)
- [網路基本概念](http://www.nex1.com.tw/old_version/discussion/discussion_09.htm)
- [網路的架構&各種應用 :: 2022 iThome 鐵人賽](https://ithelp.ithome.com.tw/users/20151135/ironman/5100)
- [軟體工程師面試準備作業. 網路 TCP/IP | by Yu-Pu Wu | Midnight Engine Room | Medium](https://medium.com/midnight-engine-room/%E8%BB%9F%E9%AB%94%E5%B7%A5%E7%A8%8B%E5%B8%AB%E9%9D%A2%E8%A9%A6%E6%BA%96%E5%82%99%E4%BD%9C%E6%A5%AD-8f77052d4ba2)


#### layer 7：Application Layer 應用層
- [[Day08] 天天上網看到的HTTP是甚麼? Web開發初學者必學!!! - iT 邦幫忙::一起幫忙解決難題，拯救 IT 人的一天](https://ithelp.ithome.com.tw/articles/10296386)
- [[Day11] 看懂常見HTTP的狀態訊息404？500？ - iT 邦幫忙::一起幫忙解決難題，拯救 IT 人的一天](https://ithelp.ithome.com.tw/articles/10298091)
- [HTTP基本介紹. WWW | by 陳品宏 | Medium](https://medium.com/@lion6396643/http%E5%9F%BA%E6%9C%AC%E4%BB%8B%E7%B4%B9-42fcf9333285)


#### layer 6：Presentation Layer 表達層
#### layer 5：Session Layer 交談層
#### layer 4：Transport Layer 傳輸層
#### layer 3：Network Layer 網路層
- [理解網際網路協定（三）：何謂「子網路遮罩」，什麼又是「預設閘道」？ - iT 邦幫忙::一起幫忙解決難題，拯救 IT 人的一天](https://ithelp.ithome.com.tw/articles/10272208)
- [學習日誌十：NAT（網路位址轉譯）與Subnet Mask（子網路遮罩） | by Chun-Li 春麗 | 彼得潘的 Swift iOS App 開發教室 | Medium](https://medium.com/%E5%BD%BC%E5%BE%97%E6%BD%98%E7%9A%84-swift-ios-app-%E9%96%8B%E7%99%BC%E6%95%99%E5%AE%A4/%E5%AD%B8%E7%BF%92%E6%97%A5%E8%AA%8C-%E5%8D%81-nat-subnet-mask-a5abe27b44dd)
- [深入了解IP位址與子網路遮罩 | 網管人](https://www.netadmin.com.tw/netadmin/zh-tw/technology/D5162EE38674405EADB022E0802A05B2)


#### layer 2：Data Link Layer 資料連結層
- [[網路] 淺談 ARP (Address Resolution Protocol) 運作原理 | Relk's 工作手札](https://blog.downager.com/2013/07/03/%E7%B6%B2%E8%B7%AF-%E6%B7%BA%E8%AB%87-ARP-Address-Resolution-Protocol-%E9%81%8B%E4%BD%9C%E5%8E%9F%E7%90%86/)
- [Introduction to Computer Networks - IEEE 802.3 乙太網路 (Ethernet) - iT 邦幫忙::一起幫忙解決難題，拯救 IT 人的一天](https://ithelp.ithome.com.tw/articles/10290330?sc=rss.qu)


#### layer 1：Physical Layer 實體層



--- 

## 1201(四) 第十三週 第23堂 實習課

作業：string reverse print、算數遊戲、日期格式化

> 終わる

--- 

## 1205(一) 第十四週 第24堂

### 5-5 常見的網路設備

### 5-6 電信網路

### 5-7 無線網路

### 6-1 網際網路

--- 
### 6-2 資料連結層

### 6-3 網路層

IP Information

IPv4 位址數：$2^{32}$ (0.0.0.0 ~ 255.255.255.255, $2^{8\times4}$)
IPv6 位址數：$2^{128}$

虛擬IP技術：解決 IPv4 下位址數量不足的問題
```
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.16.255.255
192.168.0.0 ~ 192.168.255.255
```

網路路由（routing）
藉由路徑演算法計算路徑

### 6-4 傳輸層

識別封包在電腦內部的傳輸。
使用連結埠（Port）識別連線所屬的應用程式

常見協定
- TCP、UDP
    - TCP：連結導向
    - UDP：無連結導向


### 6-5 應用層

### 6-6 網際網路的基本設定與傳輸方式

--- 

## 1208(四) 第十四週 第25堂 實習課

作業：樂透號碼產生器

> 終わる

--- 

## 1212(一) 第十五週 第26堂

### 8-1 資訊安全的基本原則

機密性：資料不得被未經授權者取得，即確保資料能正確的被存取。

完整性：資料在傳輸、儲存的過程中不會被未經授權的篡改

可用性：在取得授權後可不受影響的讀取、使用資料，保持可利用的狀態。

### 8-2 資料機密性

對稱式金鑰：使用同一組密碼加解密

非對稱式金鑰：使用不同組密碼加解密

--- 

## 1215(四) 第十五週 第27堂 實習課

作業：指定條件列印倍數、骰子遊戲

> 終わる

---

## 1219(一) 第十六週 第28堂

    由於網路的運作複雜，所以需要利用 OSI model 的分層機制簡化流程
    又因為傳輸時所需的必要資訊（header）只能在各層使用、加入，所以
    不能把 header 合併為一層。

> 終わる

--- 

## 1222(四) 第十六週 第29堂 實習課

小考

> 終わる

---

## 1226(一) 第十七週 第30堂

## 1229(四) 第十七週 第31堂 實習課


## 0102(一)

## 0105(四)


