第一章 電腦(計算機)科技簡 介
Lecturer
許明宗
前言
近年來由於資訊軟硬體產業的快速進步,
讓我們的生活越來越便利,因此形成了一 個資訊的時代。
本章將對這些資訊應用所需的軟、硬體設
備的發展歷史、用途以及未來發展趨勢加
介紹。
大綱
1 電腦特性
2 電腦技術的演進與未來發展方向
3 電腦的種類與組成
4 數字系統:資料表示法
5 文字資料表示法
6 中央處理器( CPU )
7 記憶體( Memory )
8 電腦結構的最新設計
1 電腦特性
優點:
計算速度快
儲存能力強
可靠度高
具備通訊能力
問題
健康問題
容錯能力
著作權爭議
網路言論
跨國犯罪
環保議題
2 電腦技術的演進與未來發展方向
2.1 電腦的誕生
2.2 電腦的演進歷史
2.3 未來的電腦(第五代電腦)
2.4 電腦的未來趨勢
2.1 電腦的誕生
2.1 電腦的誕生 (cont’d)
2.1 電腦的誕生 (cont’d)
計算工具
『算盤』, 1300
加法器:法國數學家巴斯卡 (Blaise Pascal) , 1642
乘法器:德國人萊伯尼茲 (Gottfried Leibnitz) , 1672
差分器及分析器:英國數學家巴貝基 (Charles Babbage) , 18 32
表格運算機器:美國人口調查局的赫羅瑞斯 (Herman Hollerith)
, 1890
使用繼電器的計算工具
電動計算器:貝爾電話實驗室的史提必茲 (George Stibitz) , 1937
,
繼電式電腦:史提必茲, 1940 年
Mark I :哈佛大學的愛肯教授 (Professor Howard Aiken) 、 IBM
, 1944
2.1 電腦的誕生 (cont’d)
使用真空管的計算工具
1942 年,愛特納索夫教授 (Professor John V. Atanasoff) 及其助 理貝瑞 (Clifford Berry) 完成由 45 個真空管構成記憶體的數位計 算機,為世界上第一部電子數位計算機,命名為 Atanasoff-Berr y Computer, ABC 。
1946 年,毛琦雷教授 (Professor J. W. Mauchly) 與他的學生愛 克特 (J. P. Eckert) 以 ABC 的基礎,設計電子數值積分及計算器
( Electronic Numerical Integrator And Calculator, ENIAC )。
1952 年,賓州大學完成了電子離散變數計算機( Electronic Disc rete Variable Computer, EDVAC )。
1951 年,雷明頓蘭得 (Remington Rand) 公司完成了世界上第一 部商業用途電腦,命名為: Universal Automatic Computer, U NIVAC 。
使用真空管所設計的機器淘汰了使用繼電器所設計的機器。『真 空管』確立了電腦發展歷史的確切地位,被稱為第一代電腦。
2.2 電腦的演進歷史
第一代 第二代 第三代 第四代
元件 真 空 管 電 晶 體 積體電路 超大型積體電
路
時期 1951~1958 1959~1963 1964~1970 1971 年 ~ 現今 速度 2000 IPS 。 1 MIPS 10 MIPS 100~1000
MIPS 機器時間單
位 10-3 秒 10-6秒 10-9 秒 10-9~-13 秒
記憶體材質 及容量
主記憶體為磁 蕊輔助記憶體 為打孔卡紙
主記憶體為磁鼓或 磁蕊,容量約4~3 2KB 輔助記憶體為 磁帶
半導體記憶 體,容量約 3 2K~3MB
半導體記憶體
,容量超過 3 MB
程式語言 機器語言
組合語言及早期高 階程式語言Fortra n 、 Cobol 、 Lis p 等
高階語言 Pa scal 、 Basi c 、 PL/1
高階語言 Basi c 、 C 、 C++
、 Pascal 、 J ava
【 IC 技術的演進】
2.2 電腦的演進歷史 (cont’d)
SSI(Small-Scale Integration) :一顆 IC 含 10 個電晶體 MSI(Medium-Scale Integration) :一顆 IC 含 102 個電晶體 LSI(Large-Scale Integration) :一顆 IC 含 104 個電晶體
VLSI(Very Large-Scale Integration) :一顆 IC 含 106 個電晶體 ULSI(Ultra Large-Scale Integration) :一顆 IC 含 108 個電晶體 GSI(Giga-Scale Integration) :一顆 IC 含 109 個電晶體
2.2 電腦的演進歷史 (cont’d)
Moore’s Law
“Stuff” (transistors, etc) doubling every 1-2 years
歷史上曾經出現第五代電腦的說法
1980 年,日本曾經提出發展第五代電腦的十年計劃
,目標是要設計一個和人類一樣,具有智慧,能夠 和人類以自然語言溝通,並具有專家性質,能夠替 人們解決問題的電腦或機器人。
人工智慧包含的技術非常廣闊,某些方面確實已經獲得不 錯的成果,但有許多方面則有待努力。
使用生物晶片來取代目前的半導體晶片,以便提供 更高速度的運算能力。
奈米科技除了可以讓電腦變得更小用,因為奈米所 造成的物理性質的改變,也是目前研究的重心。
2.3 未來的電腦(第五代電腦)
2.4 電腦的未來趨勢
更快的電腦:製程技術、電腦組織與結構的設計、平行 化處理等等。
更小的電腦:製程技術、電腦組織與結構的設計等等。
容量更大的電腦:新技術的研發以及製程技術的改良。
更聰明的電腦:人工智慧 (AI) 、資料探勘。
更安全的電腦:病毒 (virus) 、病蟲 (worm) 、駭客 (ha cker) 。
更大的頻寬:更大的頻寬、更新的網路結構以及更佳的 資料壓縮技術。
更方便、舒適的使用環境:人機界面。
3 電腦的種類與組成
3.1電腦的分類
3.2個人電腦
3.3電腦的組成
3.3.1 硬體
3.3.2 軟體
3.1 電腦的分類
一、依用途分類
一般用途電腦 (General Purpose Computer)
特殊用途電腦 (Special Purpose Computer)
二、依處理資料的類型分類
類比式電腦 (Analog Computer)
數位式電腦 (Digital Computer)
混合式電腦 (Hybrid Computer)
三、綜合分類
與記憶容量、處理速度、軟體支援度、體積、價格
高低等有關,可以區分為超級電腦、大型電腦、中
型電腦、小型(迷你)電腦、微型個人電腦等。
3.1 電腦的分類 (cont’d)
超級電腦 Cray T90 大型電腦 IBM 3090
個人電腦IBM PC
3.2 個人電腦
針對個人或家庭設計的電腦通常屬於個人電腦 (Person al Computer, PC)
IBM 在 1981 年推出 IBM PC ,各家廠商競相仿照其架構製造 相容的電腦 PC ,使得 PC 一詞也成為 IBM 相容 PC 的簡稱。
IBM 相容 PC
16 位元電腦
IBM PC ( Intel 的 8088 微處理器)、 PC-XT 、 PC-AT ( Int el 的 80286 微處理器)
32 位元個人電腦
Intel 的 80386 微處理器、 Intel 80486 微處理器、 Pentium 、 Pe ntium MMX 、 AMD K5 、 Cyrix 6x86 、、、
64 位元個人電腦
AMD Athlon64
個人電腦等級 別名 中央處理器 推出時間
PC Personal Computer 8088 1981
PC-XT Extended Technology 8088、 8086 1983
PC-AT/286 Advanced Technology 80286 1984
386 386SX、 386DX 386SX、 386DX 1987
486
486SX
486DX、 486DX2 、 486DX 4
486SX
486DX、 486DX2 、 486DX4
1991
1991-1993
586/Pentium
Pentium、 Pentium MMX AMD K5
Cyrix 6x86
Pentium、 Pentium MMX K5
M1
1993、 1997 1996
1995
686
Pentium Pro Pentium II AMD K6
Cyrix 6x86MX Celeron
Xeon
AMD K6-III AMD K7 Pentium III
Pentium Pro Pentium II K6
M2 Celeron Xeon K6-III Athlon Pentium III
1995 1997 1997 1997 1998 1998 1999 1999 1999
==
Pentium 4 Celeron Athlon XP AMD Duron VIA Cyrix 3
Pentium 4 Celeron Athlon XP AMD Duron C3
2000 2000 2001 2001 2002
3.2 個人電腦 (cont’d)
由於 IBM 將公司主力放在大型電腦的研 發,將 CPU 交給 英特爾,將作業系統委 託微軟開發,因此造就了下列三項大事。
IBM 相容 PC 大量出現,組裝電腦大行其道
微軟與英特爾的崛起
CPU 代名詞
3.2 個人電腦 (cont’d)
麥金塔電腦 (Macintosh)
Apple 公司在 1977 年推出 Apple I 、 II ,是世界上第二部 PC
(第一部是 Ed Robert 在 1975 年製造的 Altair 8800 )。
最新的 Apple PC 則被命名為麥金塔電腦 (Macintosh)
操作介面非常人性化,很早就使用滑鼠及視窗化介面,對於專 業美工排版而言,效能更勝於 IBM 所推出的 PC 。
設計架構和 IBM PC 完全不同,採用的是 Motorola 等公司出產 的 PowerPC 處理器,所以又稱為 Power PC 。
作業系統也是由 Apple 公司獨立開發 (Mac-OS) 。
軟體的適用性牽扯到作業系統,因此麥金塔電腦的軟體與 IBM PC 的軟體並不相同。
由於麥金塔電腦如此封閉及特殊,因此可以使用 Apple 、 Mac
、 PowerPC 等代名詞來加以稱呼。
3.2 個人電腦 (cont’d)
iMac 電腦非常美觀 最新的 Power Mac G4
3.2 個人電腦 (cont’d)
筆記型電腦 (NoteBook)
PC 一詞只被侷限於形容 IBM 相 容 PC 的桌上型( desktop )。
筆記型電腦
(NoteBook) 的功能和 PC 完全一樣,不過它比一般 個人電腦更輕,把滑鼠、鍵盤也 包含在內,並加上電池裝置,成 為可以隨身攜帶的電腦。 Intel 也 針對了筆記型電腦設計了一些專 用的 CPU ,以減少其耗電量。
Compaq 的筆記型電腦
Apple 的超薄 PowerBook 系列
3.2 個人電腦 (cont’d)
DeskNote
DeskNote 顧名思義就是介於 Desk top (桌上型)與 NoteBook (筆 記型)電腦之間的一種電腦機型。
個人數位助理 (PDA)
個人數位助理 (Personal Digital As sistants ;簡稱 PDA) 是一種非常 小型的電腦,它可以放入口袋中隨 身攜帶,並且使用手寫輸入、觸控 螢幕作為輸入設備。
精英電腦廠商出產的DeskNote
PDA
3.2 個人電腦 (cont’d)
平板電腦 (Tablet PC)
Tablet PC 具有可摺疊的優點,結合了 P DA 與 NoteBook 的特性,一方面它可以 直接使用手寫輸入、觸控螢幕等來輸入資 料,體積及性能又和 NoteBook 差異不大
。
網路電腦 (Network Computer)
網路電腦是一種極為特殊的電腦設備,它 完全是因應 Internet 流行所出現的一種電 腦。網路電腦有 CPU 與記憶體,它可以 連結到電視中,讓使用者透過電視及網路 連上 Internet ,進行網路瀏覽與交易。另 外,網路電腦也可以搭配鍵盤與螢幕來上 網。
Tablet PC
網路電腦
3.3 電腦的組成
電腦系統可以分為使用者 (user) 、硬體 (hardware) 與軟體 (software) 等三項
『使用者』就是使用或管理電腦的人
『硬體』就是組成電腦的電子元件以及各項 設備
『軟體』則是一種抽象化的名詞,它必須以 某種排列方式附著於某個硬體之上,例如:
附著於記憶體、硬碟、光碟片中,而『軟
體』的功能則是告知電腦該去做什麼或提供
電腦所需要資料的來源。
3.3.1 硬體 (Hardware)
『硬體』就是一切可以看到的電腦設備
(連電腦外殼也拆掉)。
實際上,若從功能面加以區分,一般會將電
腦硬體分為算數邏輯單元、控制單元、記憶
體單元、輸入單元、輸出單元等 5 大單元。
3.3.1 硬體 (cont’d)
電腦硬體的 5 大單元
3.3.1 硬體 (cont’d)
算數邏輯單元 (Arithmetic and Logic Unit, ALU) ,執行 程式中各類運算的實體單位。
算數運算:加、減、乘、除等等的數值運算。
邏輯運算: AND 、 OR 、 NOT 等位元/位元組的邏輯運算。
控制單元 (Control Unit, CU) 控制流程及協調輸入、輸 出、記憶、算數邏輯等 4 大單元的運作
當指令進入 CPU 之後,控制元件就會先進行指令解碼 (Decod e) ,並按照指令種類執行對應的微程式,發出不同的訊號完成 該指令所需要完成的各項功能,最後執行邏輯電路以便取得下 一個指令。
算數邏輯單元與控制單元合稱中央處理單元 ( 就是常聽到的 CPU) , 中央處理單元和主記憶體則為電腦的核心部分。
3.3.1 硬體 (cont’d)
記憶體單元 (Memory unit and Storage Unit)
主記憶體(又稱為內部記憶體),特性為存取速度 快、成本高。
隨機存取記憶體 (Random Access Memory, RAM) :成本 較低,但是無法於電力消失時保存資料,為揮發性記憶體
。
唯讀記憶體 (Read Only Memory ;簡稱 ROM) 。 ROM 成 本較高,但卻可以在無電力的狀況下保存資料,傳統的 RO M 只能寫入資料一次。
輔助記憶體(又稱為外部記憶體),以磁性物體或 光學材料組成,例如:硬碟機、軟碟片、光碟片。
輔助記憶體的存取速度相對於主記憶體慢了數十倍以上,
但製作成本則比主要記憶體低了數十倍以上。
3.3.1 硬體 (cont’d)
輸入單元 (Input unit)
具有輸入功能的週邊設備,例如鍵盤、滑鼠、搖桿 等等。藉由這些輸入裝置與電腦取得溝通的管道。
輸入單元
3.3.1 硬體 (cont’d)
輸出單元 (Output unit)
具有輸出功能的設備皆屬輸出單元的元件,主要功能是將程式 執行的結果(如:文字、聲音、影像等)輸出或顯示。常見的 輸出裝置例如螢幕、印表機等等。
某些設備也可能同時具有輸入與輸出的功能,例如:觸控式螢 幕、會震動的搖桿等等。
輸出單元
3.3.1 硬體 (cont’d)
系統單元 輔助記憶體 輸入單元 輸出單元
CPU( 含 CU 、 AL U)
主記憶體 (RAM)
硬碟 軟碟 光碟
:
:
鍵盤 滑鼠 軌跡球 手寫輸入裝
置
語音輸入裝 置
:
:
螢幕/顯示 器
投影機 印表機 繪圖機
:
:
3.3.2 軟體 (Software)
『軟體』是一種抽象化的名詞,以某種排列方 式附著於硬體之上
軟體又分為資料 (data) 與程式 (program) 兩大類
程式 (program) 是由一組有順序的指令 (instruction) 所構成
,而指令則是指揮電腦作業方式的命令。
程式又可以分為系統程式與應用程式兩大類。
系統程式一般為較接近硬體底層的低階程式,例如
:作業系統、編譯器、組譯器、連結器等。
應用程式則是架構在系統程式之上,依據某種特殊 需求而開發出來的軟體,例如: Office 、帳務系統
、電腦遊戲等。
3.3.2 軟體 (cont’d)
系統程式與應用程式關係圖
系統程式與應用程式階層圖
3.3.2 軟體 (cont’d)
作業系統 工具軟體 程式開發工
具 應用軟體
DOS Windows 95/98/me Windows NT/2000/XP
Linux OS/2
:
:
PC-cillin 防毒 軟體
Norton 防毒 軟體
磁碟清理工具 磁碟重組工具 Ghost 備份軟
體
:
:
Visual Basic Visual C++
Dev C++
C++ Builder Delphi Assembler
JDK Jbuilder
:
:
網頁設計 (Dreamweaver) 瀏覽器 (IE 、 Netscape) 繪圖軟體 (PhotoDraw 、 Cor
elDraw)
影像處理 (Photoshop 、 Pho toImpact)
辦公室常用軟體 (Microsoft O ffice)
:
:
4 數字系統:電腦內部的資料表示法
電腦核心元件(例如中央處理器、主記憶體等 等)皆由半導體材質製作而成,電晶體(以半 導體製作而成)是電腦核心元件的主要構成元 素。
電晶體在電路中扮演著『開』與『關』的開關 角色,因此,最適合以 2 進位來加以表示。
想要更深一步了解電腦內部的運作模式,首先
,我們必須先學習另外一套有別於 10 進位的數
字系統,也就是 2 進位與 16 進位數字系統。
對於人來說,最常使用的是十進制、十二進制
(例如一打)或六十進制(例如:時間)。
實際上並非所有的現實狀況都會產生十種變化
,某些現實狀況,採用二分法更能夠簡化問題
,如圖中,我們可以用 11001 來表示五顆燈泡 與五根水管的開關狀態。
4.1 二進制及電腦的儲存單位
電子元件通常只能夠顯示開( ON )或關( OFF )兩 種狀態,因此電腦使用的是二進位數( Binary Digit ) 來表示資料。
二進位的每一個位數稱之為位元( Bit )。用來表示 0 或 1 的 狀態。
位元是記憶體的最小儲存單位,只能夠產生 2 種變化( 0 與 1 ),為了表達更多狀態的變化,必須以多個位元來組合。
8 個位元( Bits )組合成 1 個位元組( Byte ),可以產生 28=25 6 種變化。
一個位元組的變化足以用來表示某些英文字母、數字或符號。
另一種計算存取資料的單位稱為字組( Word ),一個 Word 究竟包含多少個 Bytes ,必須視硬體結構而定。
一個 Word 可能等於 2 個 bytes ( 16 位元電腦)、 4 個 bytes
( 32 位元電腦)、 8 個 bytes ( 64 位元電腦)。
4.1 二進制及電腦的儲存單位 (cont
’d)
Byte 為記憶體儲存單位中最常被使用的表示單位,
此外,還有千位元組( Kilo Bytes ,簡稱 KB )、百 萬位元組 (Mega Bytes ;簡稱 MB) 、十億位元組 (G iga Bytes ;簡稱 GB) 、兆位元組( Tera Bytes ;簡 稱 TB )等來形容記憶體容量,其實際容量如下。
1 Byte = 8 Bits
1 KB = 2
10Bytes = 1024 Bytes ( 近 1 千 )
1 MB = 2
20Bytes = 1,048,576 Bytes ( 近 100 萬 )
1 GB = 2
30Bytes = 1,073,741,824 Bytes ( 近 10 億 )
1 TB = 2
40Bytes = 1,099,511,627,776 Bytes ( 近 1 兆 )
4.1 二進制及電腦的儲存單位 (cont
’d)
十進制每一位數共有 0 ~ 9 等 10 種變化,並且逢十進 位。而六十進制一般使用在時間的表達上,也就是逢六 十進位,例如: 1 小時 =60 分鐘、 1 分鐘 =60 秒。
由於電子訊號的緣故,電腦內部的數字系統只能採用 2 進制( 0 與 1 的變化),但過長的 01 字串常常使得程 式設計師閱讀不易,因而採用 8 進制系統( octal syste m )或 16 進制系統( hexadecimal system )來加以速 記。
我們可以推導出一個適合用任意數字系統的公式,然後 再將此公式套用於不同的數字系統。
在十進位系統中,我們將可以一個數值分解為如下等式:
359.68 = 3*102+5*101+9*100+6*10-1+8*10-2
4.2 數字系統
觀察上述等式,我們可以發現, 10 為十進制的基底,因此,
我們可以將基底由十進制擴充到 K 進制數字系統,一個 K 進制 的正數 N 可以使用下列多項式來表達:
多項式中的每一位數( Di)我們稱之為位數( Digit ),最左邊 數字 Dp-1稱為最高有效位數( Most Significant Digit ;簡稱 MS D )、最右邊數字 D-q稱為最低有效位數( Least Significant Digit
;簡稱 LSD ),並將基底 K 放在數值 N 的右下角標註,
4.2 數字系統 (cont’d)
十進制(K=10 )數字系統具有下列特性:
每一位數能接受的數字符號為: 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 。
每一位數所代表的量,根據其位置而有不同的指數加權(底數為 10 )
整數部份由小數點的左邊以 10 的正冪次方向左逐一遞增(次方由 0 開始)
小數部份由小數點的右邊以 10 的負冪次方向右逐一遞減(次方由 -1 開始)
10 進制在做運算時,每一位數逢 10 向左進位。
【範例】: 307.25 = (307.2 5)10 之位數及加權計算
4.2 數字系統 (cont’d)
只有 0 、 1 變化的數字系統稱為 2 進制數字系統。為了 與 10 進制的數值產生區別,在數值右下角加上一個下標 2 ,以示區隔。
2 進制數字系統特性:
每一位數( Digit )只接受 0 、 1 兩種變化,因此二進制的位數 又稱為位元。
最高有效位元稱為 MSB ( Most Significant Bit )、最低有效位 元稱為 LSB ( Least Significant Bit )。
每一個 Bit 所代表的量,根據其位置而有不同的指數加權。
整數部份由小數點的左邊以 2 的正冪次方向左逐一遞增(次方由 0 開始)。
小數部份由小數點的右邊以 2 的負冪次方向右逐一遞減(次方 由 -1 開始)。
進制在做運算時,每一 Bit 逢 2 向左進位。
(所以 12+12不是等於 2 , 12+12是等於 102)
4.2.1 二進制數字系統
【範例】: 1001.101
2之位數及加權計算如下:
4.2.1 二進制數字系統 (cont’d)
使用二進制來表示數值,常常會出現一連串的 0 、 1 串 列,不容易識別與記憶,為了提高數值的可讀性,通常 採用 8 進制或 16 進制來表示。
16 進制數字系統具有下列特點:
每一位數可能接受的數字符號為 0 , 1 , 2 , 3 , 4 , 5 , 6
, 7 , 8 , 9 , A , B , C , D , E , F
每一位數所代表的量,根據其位置而有不同的指數加權。
整數部份由小數點的左邊以 16 的正冪次方向左逐一遞增(次 方由 0 開始)。
小數部份由小數點的右邊以 16 的負冪次方向右逐一遞減(次 方由 -1 開始)。
16 進制在做運算時,每一位數逢 16 向左進位。
數值下方加上 16 代表 16 進制數字,或者在數值結尾加上 h 或 H 來表示使用大小寫的 16 進制數字,例如: 1AH 、 5dh 。
4.2.2 十六進制數字系統
【範例】: 6A4
16之位數及加權計算如下:
4.2.2 十六進制數字系統 (cont’d)
8 進制數字系統具有下列特點:
每一位數可能接受的數字符號為 0 , 1 , 2 , 3 , 4
, 5 , 6 , 7 。
每一位數所代表的量,根據其位置而有不同的指數加 權(底數為 8 )。
整數部份由小數點的左邊以 8 的正冪次方向左逐一遞 增。
小數部份由小數點的右邊以 8 的負冪次方向右逐一遞 減(次方由 -1 開始)。
8 進制在做運算時,每一位數逢八向左進位。
通常會將數值下方加上 8 代表 8 進制數字,也有少許 書籍會在 8 進制數字後面加上下標 o 或 O 來表示使用 8 進制數字。
4.2.3 八進制數字系統
【範例】: 572
8之位數及加權計算如下:
4.2.3 八進制數字系統 (cont’d)
5 文字資料表示法
前面章節介紹了數值資料在電腦的存放方式,
而文字資料又是如何被放到記憶體的呢?由於
每一個記憶體單元只能接受 0 、 1 等 2 進制的
表示法,因此文字資料必須先經由編碼,使得
不同的字元對應到唯一的位元圖樣( bit patter
n ),然後才能存入記憶體中。目前最普遍的編
碼為 ASCII ,繁體中文則為 Big5 碼。此外,為
了統一各國文字的編碼方式,另外也發展了 Uni
code 編碼方式。
5.1 ASCII 碼
ASCII 碼 (American Standard Code for Information Int erchange ,唸做 as-key) 為美國國家標準局所制定,目 的是提供一個各類電腦皆通用的編碼方式以便於使得這 些電腦可以互通訊息。
ASCII 碼為 7 個 bits ,因此可以產生 128 種變化,每一 個變化都可以用來表示一個特殊字符,其中的 95 個字 符為可列印字符,而剩餘的字符則為不可列印的特殊控 制字符,例如:換列、倒退鍵、歸位等。
1 個 Bytes 為 8 個 Bits ,因此留下剩餘的 1 個 Bit 並無任何作 用,有時將該位元用來記錄同位檢查,或者將 ASCII 擴充為 8 個 Bits ,稱之為 ASCII-8 ,可以產生 256 種變化。
5.1 ASCII 碼 (cont’d)
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 NU
L SO
H ST
X ET
X EO
T EN
Q AC
K BE
L BS HT LF VT FF CR SO SI 1 DL
E DC
1 DC
2 DC
3 DC
4 NA
K SY
N ET
B CA
N EM SUB ES
C FS GS RS US 2 SP
C ! " # $ % & ' ( ) * + , - . / 3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ \ ] ^ _
6 ' a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { | } ~ DE
L
【註】:上述的 ASCII 表使用方法:先找到想要的字元,然後對照左 邊數字為第一位數、上面數字為第二位數( 16 進制)。
A → 4116 = 6510 1 → 31 = 49
5.1 ASCII 碼 (cont’d)
ASCII 的應用實例非常多,例如您在個人 電腦中的鍵盤按下一個『 H 』鍵,它將 會被轉換為 48
16,就是 ASCII 碼的 0100 1000 ,然後再存入記憶體中。
雖然 ASCII 是目前最普遍的編碼系統,但並
非所有的系統都採用這種編碼方式,例如 IB
M 則採用 8 位元碼 EBCDIC ( Extended Bin
ary Coded Decimal Interchange Code )或
ASCII-9 ,以便表達較多的字元變化。
5.2 中文內碼
中文字多達數萬字,必須使用 2 個位元組來加 以儲存一個中文字型的內碼,這種編碼方式稱 為『雙位元組編碼』。就中文而言則稱為「中 文內碼系統」。
BIG5 (也可以寫作 Big-5 ;稱為大五碼)、王安碼
、 CCCII 碼( Chinese Character Code for Informat ion Interchange )、 CNS11643-1992 。
資策會和五家電腦公司在 1984 年制定 BIG5 碼 做為中文系統。
BIG5 碼共提供了五千多個常用字,七千多個次常用
字,另外尚有 499 個特殊符號,因此一共約制訂一
萬三千多個中文字內碼。
5.2 中文內碼 (cont’d)
內碼 字符 內碼 字符 內碼 字符 內碼 字符 內碼 字符 A140 0 A141 , A142 、 A143 。 A144 . A145 ‧ A146 ; A147 : A148 ? A149 ! A14A ︰ A14B … A14C ‥ A14D ﹐ A14E ﹑ A14F ﹒ A150 · A151 ﹔ A152 ﹕ A153 ﹖ A154 ﹗ A155 | A156 - A157 ︱ A158 - A159 ︳ A15A ╴ A15B ︴ A15C ﹏ A15D ( A15E ) A15F ︵ A160 ︶ A161 { A162 } A163 ︷ A164 ︸ A165 〔 A166 〕 A167 ︹ A168 ︺ A169 【 A16A 】 A16B ︻ A16C ︼
A16D 《 A16E 》 A16F ︽ A170 ︾ A171 〈
A172 〉 A173 ︿ A174 ﹀ A175 「 A176 」
A177 ﹁ A178 ﹂ A179 『 A17A 』 A17B ﹃
A17C ﹄ A17D ﹙ A17E ﹚ A1A1 ﹛ A1A2 ﹜
部分 BIG5 字元表
5.3 Unicode
非英語系國家面臨文字數量較多的問題,為了 統一解決這個問題,因此發展出 Unicode 編碼 系統。
依據 ISO/IEC 10646 標準所制定的的編碼系統。
使用 2 個位元組來表示字元符號,因此可以產生 655 36 個字元,最前面的 128 個字元與 ASCII 相同。
使用 Unicode 將可以讓電腦處理目前人類所遭遇的
所有語系,不需要為各種不同語系設計不同的編碼
系統,在網際網路中,尤其有用。
5.3 Unicode (cont’d)
Unicode 的優點
網際網路的發達,跨國性的文件常常會被採 用。
使用繁體的瀏覽器閱讀簡體網頁時,會發生衝碼 現象。
瀏覽網頁發生衝碼現象,主要則是由於該網
頁採用各國自行使用的內碼所致,若使用 Un
icode 進行編碼的話,就不會發生這種現象。
5.3 Unicode (cont’d)
UTF-16 與 UTF-8
Unicode 使用 16 位元進行各國文字的編碼,
這種格式稱之為 UTF-16 。對於某些全部都 是英文的文件而言,使用 UTF-16 的 16 個位 元存放英文字母,顯得有些浪費。
UFT-8 的編碼長度並不是固定的 8 位元,而 是一種可變動式的編碼長度
英文以
8 位元儲存,中文以 24 位元儲存。
中文字出現頻率較高的文件,使用 UTF-16 格式
儲存會比 UTF-8 來得節省空間。
中央處理器( Central Processing Unit, CPU ),也稱之為處理器
( Processor )或微處理器( Microprocessor ),是電腦最重要 的一個元件,其功能有如人類的大腦,主要負責算數邏輯運算及執 行程式。
6 中央處理器( CPU )
【 CPU 的種類】: CPU 的種類非常多,最有名的當然是 Intel 公司 的 8086 、 8088 、 80286 、 80386 、 80486 、 Pentiun 、 Pentiun Pro 、 Pentiun II 、 Pentiun III 、 Pentiun 4 、 Celeron 、 Xeon 等;
AMD 公司的 K5 、 K6 、 K6III 、 Athlon ( K7 )、 Duron 、 Athlon 64 ; VIA 公司的 Cyrix III ( C3 ); Transmeta 公司的 Crusoe ; C ompaq 公司的 Alpha ; Sun 公司的 SPARC ; Motorola 公司的 680 x0 ; Apple/Motorola/IBM 公司合作開發的 PowerPC (如 G3 、 G 4 )等等。個人電腦( IBM-PC )常採用 Intel 公司的 Pentium 系列
、 Celeron 或 AMD 公司及 VIA 公司所開發的相容 CPU 。 Mac 電腦 則採用 PowerPC 做為中央處理器。
各家廠牌的 CPU
6 中央處理器 (cont’d)
CPU 是由控制單元、算數邏輯單元、及 暫存器所組成
中央處理器 (CPU) 的組織元件
6 中央處理器 (cont’d)
控制單元( Control Unit, CU )控制流程及協調
輸入、輸出、記憶、算數邏輯等 4 大單元的運作。
可以讀取指令、解釋指令、產生控制訊號控制算 數邏輯單元及暫存器來完成指令所代表的工作。
記錄指令運作順序的微程式( microprogram )
取得下一指令的邏輯電路
驅動元件的解碼器( decoder )
多工器( multiplexer )。
控制單元的製作方式,通常分為下列兩種:
硬體線路控制( hardwired control )
微程式控制( microprogrammed control )
6.1 控制單元( CU )
硬體線路控制( hardwired control ):
將指令透過有限狀態自動機 (finite state auto mata) 加以設計,再用邏輯電路來實作。指 令會有一組相對應的邏輯電路負責完成該項 指令的功能。
優點是執行速度快
缺點則是指令集被固定不可改變
6.1 控制單元 (cont’d)
6.1 控制單元 (cont’d)
微程式控制( microprogrammed control ):
將指令加以分解為許多步驟,使用微指令 (microcod e) 來描述這些動作,指令實際上將會對應到一組微 程式。
設計邏輯電路時,主要針對微指令的功能來加以設 計。當指令數量或內容改變時,只要這些新增/變 動的指令仍可以透過原本的微程式來加以描述,只 要重新修改微程式,不需要更改邏輯電路。
優點彈性較大
缺點則是執行速度較慢
具有可新增/修改的特性,通常被儲存在可重複寫
入資料的非揮發性記憶體中,例如: EEPROM 或 Fl
ash Memory 。
算數邏輯單元( Arithmetic and Logic Unit, ALU ),執行程式中 各類運算的實體單位。
算數運算包含加、減、乘、除等等的數值運算。
邏輯運算則包含 AND 、 OR 、 NOT 、 Exclusive OR 、 Shift
(位元平移)、 Rotate (位元旋轉)等的邏輯運算。
【機器指令的種類】:電腦的機器指令 (machine instruction) 可分為 資料傳輸、算數邏輯、控制等三大類。
資料傳輸類指令:將資料搬移(其實是複製)到別的地方,例如, L OAD 指令會將資料從記憶體單元搬移到某個暫存器中;而 STORE 指令則恰好相反。
算數邏輯指令:執行算數或邏輯運算,而實際執行運算的地方是 AL U 。
控制指令:控制程式的執行流程,一般來說,程式將一行一行地往下 循序執行,但遇到控制指令時,將可以改變這個順序。控制指令又可 以分為無條件跳躍 JUMP 、有條件分支 BRANCH 及副程式呼叫 CAL L 等三類。
6.2 算數邏輯單元 (ALU)
AND 、 OR 、 NOT 邏輯運算子
此三種邏輯運算可以組合出所有的邏輯運算。其中 AND 與 OR 的運算元 (operand) 有兩個,而 NOT 的運算元只有一個。
AND 邏輯運算只有在兩個運算元同時為真 (true) 時,結 果才會為真。
A B A AND B False False False False True False True False False True True True
A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1
【註】:在二進制系統中,常常使用 1 來代表真 (true) , 0 代表 (fals e) 。
6.2 算數邏輯單元 (cont’d)
範例:
【運算元位元數】:
不同種類的 CPU 提供的指令也不相同,所有的 CPU 都會提供 AND
、 OR 、 NOT 等運算,但對運算元位元數的規定則不一定相同,大 多數的 CPU 都會提供 1 、 8 、 16 、 32 、 64 位元的 AND 、 OR 、 NOT 運算。
6.2 算數邏輯單元 (cont’d)
OR 邏輯運算只有在兩個運算元同時為假 (fal se) 時,結果才會為假。
A B A OR B False False False False True True
True False True True True True
A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1
6.2 算數邏輯單元 (cont’d)
範例:
【遮罩】:遮罩 (mask) 代表透過某些運算,使得某些位元保留,而 其他位元(稱之為遮罩位元)統一為某種特定遮罩格式,意即遮罩有 過濾的意涵。 AND 與 OR 運算都可以當作遮罩運算,例如,我們希 望將某個位元組 11100100 的左半邊 4 個位元都變為 0 (右半邊的位 元保留),則可以透過 11100100 AND 00001111 來加以完成,其結 果為 00000100 。如果我們希望將某個位元組 11100100 的左半邊 4 個位元都變為 1 (右半邊的位元保留),則可以透過 11100100 OR 11110000 來完成,其結果為 11110100 。
6.2 算數邏輯單元 (cont’d)
NOT 邏輯運算只有一個運算元,並且會將運算元反相( inver se )做為輸出結果。也就是當輸入為真 (true) ,結果將為假 (f alse) ,當輸入為假 (false) ,則結果為真 (true) 。
範例:
A NOT A False True
True False
A NOT A
0 1
1 0
6.2 算數邏輯單元 (cont’d)
Exclusive OR(XOR) 也是常見的運算,大多 數的 CPU 也都提供了 XOR 運算的指令,原 因是因為設計 XOR 的邏輯電路非常簡單且不 會耗費過多的資源。
只有在兩個來源運算元的值不同時,結果才會為 真,因此稱之為 Exclusive OR (互斥或)。
A B A XOR B False False False
False True True True False True True True False
A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0
6.2 算數邏輯單元 (cont’d)
範例:
【邏輯表示符號】: AND 、 OR 、 NOT 、 XOR 的表示符號通常如 下。
6.2 算數邏輯單元 (cont’d)
AND 、 OR 、 NOT 可以組成任何的邏輯型式,以 X OR 做為範例來加以示範與證明如下真值表:
A B ~A ~B (A . ~ B)
(~A . B )
(A . ~ B)+ (~A .
B) A B ⊕
0 0 1 1 0 0 0 0
0 1 1 0 0 1 1 1
1 0 0 1 1 0 1 1
1 1 0 0 0 0 0 0
【註】:
「 ~ 」代表 NOT 。「.」代表 AND 。「 + 」代表 OR 。「⊕」代 表 XOR 。
6.2 算數邏輯單元 (cont’d)
6.3 暫存器 (Register)
在 CPU 中的記憶體為暫存器 (Register)
用來存放要進行運算的資料或運算完畢的資料。
ALU 只針對暫存器內的資料運算,並且將結果存放在 暫存器中。
控制與狀態暫存器 (control and status register)
無法被使用者(程式設計人員)更改其內容,在邏輯 電路完成後就已經固定。
提供控制程式及記錄程式執行狀態之用。
使用者可見暫存器 (user visible register)
可以由使用者依照需要來設定內容,以完成程式功能
。
6.3 暫存器 (cont’d)
依功能面的角度來說,暫存器又可以分為下列幾 種:
指令暫存器 (instruction register)
存放最近從記憶體取出的指令。通常不是目前正在執行的指 令就是下一次可能被執行的指令。
程式計數暫存器 (program counter ;簡稱 PC)
存放下一個準備要被執行的指令在記憶體中的位址。
ALU 緩衝暫存器 (ALU buffer register)
暫時存放 ALU 的運算結果。
記憶體緩衝暫存器 (memory buffer register)
暫時存放由記憶體讀出的資料,或 CPU 準備把資料寫入記 憶體之前也會先將資料暫存於此處。
程式狀態字組 (program status word, PSW)
存放條件碼或狀態資訊,通常字組中的每一個位元都有其 特別功能(有些可能保留不用),例如正負符號 (Sign) 、 溢位 (Overflow) 、遮罩位元 (Mask bit) 、保護鑰匙 (Protect ed key) 、中斷代碼 (Interrupt code) 、中斷有效/失效控制 (Interrupt enable/disable) 、使用者模式/監督模式 (user mode/supervisor mode) 等等。
中斷向量暫存器 (interrupt vector register)
記錄系統的中斷向量。
資料暫存器 (data register)
用來存放資料的暫存器。
記憶體位址暫存器 (memory address register)
存放準備要存取的主記憶體位址。
6.3 暫存器 (cont’d)
位址暫存器 (address register) :
用來存放記憶體位址,但通常用於某個連續記憶體空間的 起始位址,例如:做為記錄堆疊頂端的指標暫存器 (stack p ointer register) 、做為記錄程式或資料在記憶體起始位址的 基底暫存器 (base register) 、做為記錄陣列索引的暫存器 (i ndex register) 。
條件碼暫存器 (condition code register) :
用來存放指令的執行狀態,該狀態將由 CPU 負責寫入,但 程式設計師仍可讀取暫存器內容。
通用暫存器 (general purpose register) :
沒有特定用途的暫存器,可以用來存放資料、指令或位址
,程式設計師可以善用這些暫存器,加快程式執行的速度。
此類暫存器數量越多, CPU 的執行效率越高,但成本也就 越高。
6.3 暫存器 (cont’d)
電腦的各個子系統之間需要彼此連接的介面,匯流排就 是做為連接電腦各個子系統所需要的元件,它的功能是 用來傳送指令、資料或控制訊號。
內部匯流排的功能是 CPU 內部元件(例如算數邏輯單 元、控制單元、暫存器等等)的連結。
外部匯流排的功能則是連結 CPU 與主記憶體、 I/O 元 件。
外部匯流排又可以分為 CPU-Memory 匯流排(亦稱為 Memory Bus )與 I/O 匯流排( I/O Bus )兩種。前者傳輸速率較快,
後者則遷就於 I/O 裝置,因此傳輸速率較慢。但為了降低成本
,有些電腦的 CPU-Memory 匯流排與 I/O 匯流排是同一條。
6.4 匯流排 (Bus)
匯流排結構是一種資料傳輸線路。
匯流排的設計透過不同的介面卡插槽或接點,讓多個 設備共用相同的傳輸管道。
匯流排的每一個端點都可以在某個時間內佔據匯流排 以傳輸資料
當有裝置正在使用匯流排時,其他匯流排使用者就必須等待
。
6.4 匯流排 (cont’d)
【晶片組】
晶片組 (Chipset) 原本是提供各項功能的一組晶片
,在主機板上則指的是用來管理資料流的晶片組,
這些晶片組的各個晶片分別提供不同的功能,例如
:管理 DMA 、處理中斷、管理輸出入匯流排間傳 輸資料等等。晶片組由於功能特殊,因此屬於 ASI C(application-specific integration circuit) 的一種,
著名的廠商有 Intel 、 ALi (揚智)、 VIA (威 盛)、 SiS (矽統)。目前市面上的主機板晶片組 都具有整合功能,並以單純的兩片晶片為主,也就 是北橋晶片與南橋晶片。北橋晶片通常負責 CPU- 記憶體及 CPU-AGP 之間的訊號處理,因此速度較 快。而南橋晶片一般處理與 I/O 有關的動作。不過 目前也有一些廠商將南北橋晶片做在一起,成為單 一整合型晶片。
6.4 匯流排 (cont’d)
ISA(Industry Standard Architecture ;工業標準 架構 ) 與 EISA(Extended ISA ;延伸工業標準架 構 ) :
XT 的匯流排為 8 位元
AT ( 286 系統),提高傳輸的速度為 16 位元,由 於首度使用在 AT 系統,因此 ISA 匯流排亦稱之為 A T 匯流排 (AT Bus) 。
ISA 插槽顏色為黑色,時脈為 8MHz , ISA 只適合用 於低速的介面卡,目前 ISA 匯流排已經很少使用並且 逐漸被 PCI 匯流排所取代。
1993 年, Intel 與 Microsoft 曾合作提出支援隨插即 用的新版 ISA 匯流排規格,稱之為 EISA ,其最大資 料寬度可達 32 位元,但時脈仍為 8MHz 。
6.4 匯流排 (cont’d)
PCI(Peripheral Component Interconnect) :
由 Intel 於 1993 年發展的高速匯流排規格,一般為白色插槽
,是 32 位元的匯流排,不過也支援 64 位元 CPU 所需要的 6 4 位元資料傳輸。可使用 33 或 66MHz 時脈,在 64 位元傳輸 時,採用 66MHz 時脈,傳輸速率可以達到 533MBps
寬度 速度 效能
32 bits 33 MHz 133 MBps 32 bits 66 MHz 266 MBps 64 bits 33 MHz 266 MBps 64 bits 66 MHz 533 MBps
PCI 的效能表
• PCI 規格雖然是由 Intel 制定,
但由於 PCI 使用晶片組控制,
因此 PCI 可支援不同的 CPU
(包含非 Intel 相容的 CPU )
;換句話說,在 PCI 匯流排上
,可以掛載支援 PCI 架構的各 類不同功能的 IC ,例如:網路 卡、 SCSI 卡、圖形加速卡等 等。
6.4 匯流排 (cont’d)
【電腦的速度表示方法】:
常常有人會問『你的電腦有多快?』這個問題,通常你聽到的答案可能是 Petium 4 3.06GHz 之類的答案,其實,這並不確切。因為一部電腦的速度並不止於 CPU 的速度所影響,包含主記憶體的速度及容量、硬碟的轉速、其他 I/O 的速度等等 都會影響整台電腦的效率。最常見的例子是一部 1.7 GHz 的筆記型電腦與桌上型 電腦,通常桌上型電腦電腦的效能較佳,這最主要的因素則來自硬碟的轉速不同
。
的確 CPU 的速度,常常被拿來當做簡述一部電腦速度的指標,而就上面的例子 而言, 3.06 GHz 究竟指的是什麼呢?這就必須先講解『時脈』。
時脈 (timer 或 clock speed) ,是類似一種時鐘的裝置,單位通常以『頻率』來表 示,它可以表示晶片的執行效率,一般為 MHz (百萬赫茲)或 GHz (十億赫 茲),而『頻率』是『週期』的倒數,所以 Hz 是 Second( 秒 ) 的倒數,而頻率 為 1MHz 相當於週期為 1μs( 百萬分之一秒 ) 。因此工作頻率越高代表速度越快,
如 Petium II 的工作頻率為數百 MHz ,而 Petium 4 的工作頻率則可以達到 1.x~3.
x GHz 。
上述的 CPU 為 Petium 4 3.06GHz ,代表的是,該 CPU 可以在 3.06 GHz 的頻率 下正常工作( 3.06 GHz 代表該 CPU 的工作頻率),當超過此頻率時,稱之為 C PU 超頻。 Intel 除非特別載明該 CPU 可以超頻,否則將不保證該 CPU 能夠正常 運作。
6.4 匯流排 (cont’d)
【電腦的速度表示方法】 ( 續 ) :
目前的主機板都允許插上多種工作頻率的 CPU ,換句話說,主機板無法完全預知 機器運作時,所插入 CPU 的工作頻率。因此,在主機板上面會必須透過一個稱之 為時脈產生器 (clock generator) 的裝置用來產生時脈,供給 CPU 、晶片組,做為 運作時的速度參考。
以機器週期來說,早期的 CPU 完成一個指令必須使用一個或多個機器週期,而目 前所流行的機器則透過先進的技術,可以於一個機器週期內完成一個或多個指令
。
除了使用 CPU 的工作頻率來描述一台電腦的速度之外,也可以使用 MIPS 、 MFL OPS 、 TPS 等來描述一個電腦的速度(或稱之為電腦的產能則更恰當)。這三種 表示法,當然都是值越大,代表電腦的效能越好,但這三種表示法卻分別適用於 不同的場合,通常 MIPS 適用於大型主機、工作站、個人電腦; MFLOPS 則適用 於大量浮點運算的機器(例如:超級電腦);而 TPS 則適用於商業交易的特殊功 能機器上。
【傳輸速率】:資料的傳輸速率單位,一般使用『 Bps 』來表示, Bps(Bytes Pe r Second) 代表一秒鐘可以傳輸多少個位元,因此 Bps 值越大,傳輸速率越快。
6.4 匯流排 (cont’d)
AGP(Accelerated Graphics Port) :
由 Intel 為了提高顯示卡的 3D 繪圖功能所發展的 匯流排標準, AGP 標準是以 PCI 標準為基礎所 建立的高效能界面,其效率為 PCI 的四倍。 AGP 又分為 1x 、 2x 、 4x 、 8x (最新 AGP 3.0 )等 時脈週期,而 4x 的時脈週期可達 266MHz 。
具有獨立性, AGP 是針對 3D 繪圖功能所設計,
因此 3D 繪圖卡可以使用獨立插槽與 AGP 匯流排
,而不必和音效卡、 SCSI 卡、網路卡等共享 PC I 的頻寬與插槽。
6.4 匯流排 (cont’d)
同時支援 3 種匯流排的 Petium II 主機板 支援最新 AGP 3.0(8x) 的技嘉主機板