# 電機工程概論
### Chapter 1(電腦: AI時代的工具)
- 資料與資訊
- 資料[data] -> 計算,處理,分析 -> 資訊
- 計算機
- 功能: 計算,處理和分析 "資料" 來產生有用的 "資訊"

- MOS中的半導體通道
- MOS中的半導體通道是一種可由外界環境,如電壓值(voltage),來決定其具有導體或絕緣體性質的電子材料
- 電壓值 vs. 二進位系統(數位系統)

- Metal-Oxide-Semiconductor(MOS)

半導體的應用

積體電路
- 積體電路(IC)
- 將數個電子元件(電晶體,電容,電阻...)集積於單一矽晶片上
- Moore's Law
- 積體電路的集積程度(每18個月將成長一倍)
- 積體電路集積程度的演進
- 
- 
- 積體電路的製作
- 
- 
- OEM vs ODM
- OEM: Original Equipment Manufacture
- 專業代工
- ODM: Origincal Design Manufacuture
- 原始設計製造商
- 電腦資料的基本單位
- bit(binary digit)
- 電腦系統中最好的實體資料單位
- 每個bit只能表示**0或1**
- byte
- 8 bits
- 電腦系統中最小的邏輯資料單位
- 可表示 2^8=25 組合情況
- 巨集資料單位
- 
### Chapter 2(AI的平台: 硬體介紹)
- 硬體的架構
- 電腦系統的硬體可分成五大部門:
- 
- 五大部門分工合作,例如:
- 
- 示意圖:
- 
- 中央處理單元
- 
- 習慣上,我們合併**控制部門**和**算術邏輯部門**,將其稱為**中央處理單元(CPU)**
- 16/32/64 位元的電腦
- 何謂16/32/64位元的電腦?
- 指CPU與記憶部門間**資料匯流排(data bus)的寬度為16/32/64位元**的電腦系統
- CPU的頻率(內頻)
- 同一型的CPU,又可以依其適當的工作頻率分成不同的等級
- 例:Pentium II-233,Pentium II-266....
- 233 表示適當的工作頻率為233MHz
- 266 表示適當的工作頻率為266MHz
- 主機板的頻率(外頻)
- 主機板可決定外頻與被頻係數
- CPU的實際工作頻率= 外頻 * 倍率頻係數
- 保證CPU穩定工作的條件
- 內頻>=外頻 * 倍頻係數
- 超頻
- 調整主機板的外頻與倍頻係數以拉高CPU的工作頻率
- 主機容易過熱,將會減少電腦元件的壽命
- Q:64位元CPU一定比32位元CPU快嗎?
- A: 不一定!須考量下列因素:
- CPU的內頻
- 主機板的外頻與倍頻係數
- 記憶部門
- 主記憶體: RAM,ROM
- 輔助記憶體: 軟碟,硬碟,光碟....
- 
- 主記憶體(Main Memoey)
- 組成元件
- IC
- 分類
- ROM
- **唯獨記憶體**
- 關掉電源,資料不流失
- RAM
- 隨機存取記憶體
- 關掉電源,資料流失
- 唯讀記憶體(ROM)
- 依輸入/抹去資料的方式分為:
- ROM
- 資料在電路製作時就決定
- 不可抹去資料
- PROM (Programmable ROM)
- 使用電子燒錄器輸入資料
- 不可抹去資料
- EPROM (Erasable PROM)
- 使用點子燒錄器輸入資料
- 使用紅外線抹去(p.s. 全部抹去)資料
- Flash EPROM (隨身碟)
- 使用電子燒錄器輸入資料
- 允許電子式抹去單一區塊資料
- 目前廣泛使用
- ROM的用途
- 儲存BIOS
- BIOS
- 主管低階硬碟與基本啟動所需元件的設定
- 開機之後到進入作業系統之前所需要的步驟皆由BIOS完成
- BIOS 所需的程式與資料儲存在ROM中
- 其中可更改設定的部分儲存在**CMOS**中
- 維持CMOS程式資料的電力來自主機板的鋰電子
- 隨機存取記憶體(RAM)
- DRAM(Dynamic RAM)
- 以**電容**為元件,須週期性充電(讀出,寫入)
- 研發趨勢:低功率(低耗電)技術
- SRAM(Static RAM)
- 以**正反器**為元件,不須定期重新充電
- 速度較**DRAM**快
- 體積較**DRAM**大,價格較**DRAM**貴
- 用於快取記憶體(Cache Memory)
- SDRAM
- Synchronous(同步) DRAM
- 記憶體的時脈(clock)和CPU的時脈同步,所以在執行指令和傳送資料時,同步化的SDRAM可以節省許多時間,進而增加系統的整體效能.一般來說,SDRAM的存取速度大約比DRAM快上六倍左右
- 快取記憶體(Cache Memory)
- 內建(built-in)於中英處理單元(CPU)內
- 
- 記憶體階層(Moemory Hierarchy)
- 
- 輔助記憶體
- 利用磁性來設定0和1
- 軟碟(Floppy Disk,FD)
- 硬碟(Hard Disk,HD)
- 利用光線的反射
- 光碟(Compact Dish,CD)
- 利用磁性和光學原理
- 磁光碟機(Magneto Optical Drive,MO)
- 軟碟(Floppy Disk,FD)
- 軟式磁碟片的規格
- 5.25inch/1.2MB(幾乎淘汰)
- 3.5/1.44MB
- 原理: 感測器接收不到光,所以資料就收不到。
- 
- 軟式磁碟片的結構
- 
- 由若干個同心圓組成,每一圈成一個磁軌。
- 硬碟(Hard Dish,HD)
- 結構原理與軟碟相似
- 硬式磁碟片的容量較軟碟大
- 硬碟機的速度較軟碟機快
- 使用時須注意
- 避免瞬間開,關電源
- 避免激烈碰撞或震動
- 光碟(Compact Dish,CD)
- 光碟片的規格
- 直徑120mm/厚1.2mm/650MB
- 原理
- 平面(lands)為1(反射70-80%的雷射光線)
- 凹點(pits)為0(不反射雷射光線)
- CD-ROM(唯讀光碟機)
- 只能讀取光碟片的資料,但無法寫入
- CD-R(燒錄機)
- 只能寫入一次,多次讀取
- 只能寫入專用的光碟片
- 讀寫速度不同,e.g. 20R8W
- CD-RW(複寫式燒錄機)
- 又稱CD-E(Erasable CD)
- 不限寫入一次,可多次讀取
- 只能寫入專用的光碟片
- VCD
- Video CD(影音光碟片)
- 應用壓縮技術(MPEG)儲存聲音影像
- 播放時須有相對應的解壓縮程式或硬體介面卡
- MPEG
- 壓縮視訊的標準--位元資料流(Bit Stream)的壓縮視訊和語音的標準
- 磁光碟機(Magneto Optical Drive,MO)
- 結合磁碟與光碟的技術(磁光),為一種可以重複讀寫的儲存媒介
- 原理:
- (寫)以光學技術加熱到約攝氏200度,由磁頭改變其磁性
- (讀)將磁頭靠近讀取
- 磁光碟片的容量
- 230MB,640MB,1.3GB/3.5inch
- 存取MO必須用專用的MO讀取機
### Chapter 3(AI的動力:軟體工具)
- 軟體的分類
- 系統軟體(SP): 程式語言,作業系統...
- 應用軟體(AP): 文書處理程式....
- 
- 程式語言的種類
- 機器語言
- 完全由0跟1表示
- 組合語言
- 將機器語言符號化
- 直譯/編譯式語言
- 直譯式: 逐行翻譯與執行
- 例: GWBasic,VB
- 編譯式: 全部翻譯後才執行
- 例: C/C++,VB
- 系統軟體(SP*)
- 作業系統(Operating System,OS)
- 管理電腦系統資源與協調各部門的運作
- 例如: MS-DOS,Microsoft Windows,Unix,Linux...
- 程式語言(Programming Language,PL)
- 開發其他系統軟體或應用軟體
- 例如: Visual BASIC(VB),C/C++.....
- 作業系統的介面架構
- 
- 介面的型式
- 命令列(command line)介面
- 以文字為主,須手動輸入指令
- 例: MS-DOS,Unix/Linux...
- 圖形化使用者介面(graphical user interface,GUI)
- 視覺化的圖示(icon)與功能表(下拉式或快顯示)選項,適當地點選即可執行某個指令或功能
- MS-DOS
- 命令列介面
- (不區分大小寫,non-case sensitive)
- 使用命令提示字元 -- 系統提示使用者輸入命令的符號
- E.g C:\>format a:
- 不容易使用(not user-friendly)
- 一次只能鍵入一個命令
- 批次檔(batch)
- Microsoft Windows
- 圖形化使用者介面
- 大部分的PC在出廠時就已經安裝Microsoft Windows了
- 完整獨立的作業系統
- 早期的Windows只是DOS作業環境的殼層(shell):加在使用者與DOS之間的一層東西
- DOS命令依舊可以使用
- 工作列方便再以開啟程式之間相互切換
- 檔名允許最長可以到255個字元
- UNIX
- 支援
- 多使用者
- 分時(time-sharing) #可以分成很多工作 分開去做
- 以字元為主的系統
- 命令列使用者介面
- 它可以在多種處理器與多種類型的電腦上執行
- 它是目前Internet上的伺服器主要使用的OS,例:BBS(Bulletin Board System)
- Linux
- 類似UNIX的OS
- 它是種開放原始碼(Open-sorce)軟體
- 應用軟體
- 為解決某種特定需求所寫的程式稱為應用軟體(Apllied Programs,AP)
- 套裝軟體
- 訂製軟體
- 應用在真實生活的工作上來解決使用者問題
### Chapter 4(資料)
- 數字系統
- N進位制
- 符號個數:N個
- 基數: 以N為基數,逢N進位
- 表示法
- (X)n: 表X唯一個N進位制數字
- 十進位制和二進位制
- 十進位制(decimal)
- 符號個數: {0,1,2,3,4,5,6,7,8,9} 共10個
- 基數: 以10為基數,逢10進位
- 例如: (365)10
- 二進位制(binary)
- 符號個數: {0,1} 共兩個
- 基數: 以2為基數,逢2進位
- 例如: (101101101)2
- 八進位制和十六進位制
- 八進位制(octal)
- 符號個數: {0,1,2,3,4,5,6,7} 共8個
- 基數: 以8為基數,逢8進位
- 例如: (555)8
- 十六進位制(hexadecimal)
- 符號個數: {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} 共16個
- 基數: 以16為基數,逢16進位
- 例如: (16D)16
- 不同進位制整數之轉換
- 
- 十進位制 v.s. N進位制(整數)
- 口訣:反覆除以N直到新被除數小於N
- 
- N進位制 v.s. 十進位制(整數)
- 
- 二進位制 v.s. 八進位制(整數)
- 
- 不同進位制小數之轉換
- 
- 十進位制 v.s. N進位制(小數)
- 口訣: 反覆乘以N直到新被乘數等於0
- 
- N進位制 v.s. 十進位制(小數)
- 
- 二進位制 v.s. 八進位制(小數)
- 
- 二進位制 v.s. 十六進位制(小數)
- 
- 資料的分類
- 數值資料
- 可做算術運算的資料
- 例: 整數(integer),實體/浮點數
- 文字(非數值)資料
- 不可做算術運算的資料
- 例: 字元,字串
- 符號位元表示法
- 
- 1的補述表示法
- 
- 2的補述表示法 (1/2)
- 正數: 同二進位表示法
- 負數: step1 -- 取絕對值的二進位表示法
step2 -- 0 <=> 1 (取1的補述)
- 例: -7的 8-bit 2的補述表示法
step1 -- 00000111
step2 -- 11111000
step3 -- 11111001
- 2的補數快速取法
- 
- 超值表示法
- 
- 3-bit 有號整數的表示法(整理)
- 
- 實數/浮點數表示法
- 
- 補充: [IEEE 754](https://ithelp.ithome.com.tw/articles/10266532)
- 浮點表示法的例子
- 
- 溢位問題與捨去誤差
- 溢位(overflow/underflow)問題
- 欲儲存的 **整數值** 超過允許的範圍就會 ERROR
- 捨去誤差(truncation error or round-off error)
- **假數部分** 無法完全放入浮點數表示法中的假數欄位
- Precision loss....
- 二進位加法
- 
- 何時發生溢位???
- (I) 正數+正數 => 負數
- (II) 負數+負數 => 正數
- 二進位減法
- A-B = A+B 之2的補數
- 何時可能發生溢位?
- (I) 正數-負數
- (II) 負數-正數
- 文字資料表示法
- ASCII
- 美國標準資訊交換碼
- 制定時:7bits
- 現在:8bits(=1byte)
- 
- 中文資料表示法
- Big-5碼(通用漢字標準交換碼)
- 2bytes
- 目前台灣版的Windows中文作業系統中,使用的就是Big-5碼
- 共定義了13053個中文字, 除了Big-5碼之外, 在中國大陸, 電腦系統所採用的標準內碼稱為GB碼(國標碼)
- 當瀏覽中文網頁的時候,畫面上如果出現亂碼,注意瀏覽器編碼的設定是否正確。
- Unicode
- 統一碼/標準萬國碼
- 16bytes
- 完整收集全世界各大語系的文字
- 邏輯運算(Logic Operation)
- 
- 邏輯運算子是以真假值(1bit)-True(1)和False(0)為運算對象(運算元),運算的結果不是True(1)就是False(0)
- 真值表(Truth Table)
- 
### Chapter 5(網路與通訊)
- 網路(Network)
- 利用通訊設備將分散在各地的電腦與周邊設備連接在一起
- 公用
- 資源(檔案,設備.....)共享
- 傳遞與交換訊息
- 網路的分類
- 依傳輸距離
- 區域網路(LAN)
- 廣域網路(WAN)
- 依連接的拓樸(topology)架構(configuration)
- 星狀網路
- 環狀網路
- 網狀網路
- 階層/樹狀網路
- 匯流排網路
- 區域網路(LAN)
- 使用在一個小區域如:學校,公司或同一建築物內的網路系統
- 特色
- 高資料傳輸率
- 低錯誤率
- 廣域網路(WAN)
- 使用於大區域且長程的網路系統
- 利用電信網路來連接系統中的電腦與周邊裝置
- 特色
- 低資料傳輸率(速度較LAN慢)
- 網路如何傳送資料
- 以訊框/封包的方式傳送,每一個訊框/封包是由標頭和資料兩個部分組成,而標頭部分至少包含發送和接收端地位址
- 當甲欲傳送資料給乙時,首先將資料封裝(encapsulation)成封包/訊框,即在資料的前面加上標頭.然後,依所指定的存取技術送進網路中,經傳輸媒介傳送到乙,當乙確定訊框/封包內的資訊,俗此即可完成資料的傳送
- 星狀網路
- 缺點: 主電腦當掉,整個網路將無法工作
- 
- 環狀網路
- 缺點: 1.某一電腦當掉,將影響其餘電腦的工作效率 2.保密性低
- 
- 網狀網路
- 缺點: 成本太高
- 
- 階層(hierarchical)/樹狀(tree)網路
- 缺點: 某些電腦當掉會讓一些電腦無法工作
- 
- 匯流排網路
- 缺點: 保密性不太好
- 
- 混合架構
- 
- 電腦網路面面觀
- 傳輸媒介
- 實體線路[有線(wired)傳輸]
- 空氣或真空[無限(wireless)傳輸]
- 硬體設備元件
- 電腦網路作業系統
- 主機(host)與終端機(terminal)
- 
- 網路卡(NIC)
- 
- 集線器(hub)
- Why集線器?
- 網路最脆弱的部份在通訊線路
- 集線器的用圖
- 使用集線器可集合多條網路線來降低網路癱瘓的程度
- 
- 中繼器(repeater)
- Why中繼器?
- 因傳輸距離過長,造成所傳送的訊號愈來愈弱
- 中繼器的用途
- 強化(重新整理/複製)訊號來加長傳輸距離
- 
- 橋梁器(bridge)
- 又稱選擇性中繼器
- 知道每個機器的位置,合理限制網路通具的傳遞
- Connect two compatible networks
- 
- 中繼器(repeater) vs. 橋接器(bridge)
- 由A傳送資料到B
- 
- Switch
- Connect **serveral** networks