10241280~21024-1
(約1.8×10308)網上銀行使用的U盾中數字證書所含的公鑰(有些使用2048位)
(2) 帶符號整數
帶符號的整數必須使用一個二進位作為其符號位,一般總是最高位(最左麵的一位),“0”表示“+”(正數),“1”表示“-”(負數),其餘各位則用來表示數值的大小。例如:
00101011=+43,10101011=-43
可見,8個二進位表示的帶符號整數其取值範圍是-127~+127(-27+1~+27-1),16個二進位表示的帶符號整數其取值範圍是-32767~+32767(-215+1~+215-1),n個二進位表示的帶符號整數其取值範圍是-2n-1+1 ~ +2n-1-1。
上麵的表示法稱為“原碼”,它雖然與人們日常的習慣比較一致,但由於數值“0”有兩種不同表示(“1000…00”與“0000…00”),且加法運算與減法運算的規則不統一,需要分別使用加法器和減法器來完成,增加了計算機運算器的複雜性。為此,數值為負的整數在計算機內不采用“原碼”而都采用“補碼”進行表示。
負數使用補碼表示時,符號位也是“1”,但絕對值部分的表示卻是對原碼的每一位取反後
再在末位加“1”所得到的結果。例如:
(-43)原=10101011
絕對值部分每一位取反後為:11010100
末位加“1”得到:(-43)補=11010101
有趣的是,采用原碼表示整數0時,有“1 000…00”與“0 000…00”兩種表示形式。但在補碼表示法中整數0唯一地表示為“0000…00”,而“1000…00”卻被用來表示負整數-2n-1(n表示位數)。正因為如此,二進製補碼可表示的數的個數比相同位數的原碼多一個(見表12)。
表12三種整數表示方法和取值範圍的比較
8位二進製代碼無符號整數的值帶符號整數的值(原碼)帶符號整數的值(補碼)
00000000000
00000001111
……………………
01111111127127127
10000000128-0-128
10000001129-1-127
……………………
11111111255-127-1
注意,無論采用原碼還是補碼表示,正整數的編碼都是相同的,隻有負整數采用原碼或補碼才有區別。采用補碼表示負數後,無符號整數和帶符號整數的加法和減法運算就可以統一使用相同的加法器來完成,具體方法請參考有關計算機組成原理
方麵的教材,這裏不再介紹。
為了適應多種不同的應用需求,同一台計算機可處理的整數往往有多種類型。以當前主流的PC和智能手機產品為例,它們使用的CPU除了有幾種不同長度的無符號整數之外,帶符號整數也有三種不同的長度。表13是它們的格式、二進位長度及可表示的數值範圍。
表13三種帶符號整數
整數類型格式數值範圍
16位整數16個二進位,補碼表示-215~215-1(-32768~32767)
短整數32個二進位,補碼表示-231~231-1(-2147483648~2147483647)
長整數64個二進位,補碼表示-263~263-1(-9223372036854775808~
9223372036854775807)
(3) 浮點數
實數通常是既有整數部分又有小數部分的數,整數和純小數隻是實數的特例。例如56.721、-1894.0456,0.0034756,872等都是實數。由於實數的小數點位置不固定,實數在計算機中也稱為“浮點數”。
浮點數由兩部分組成,第1部分是“指數”(也稱為“階碼”,它是一個整數,用於指出2的多少次冪),第2部分是“尾數”(這是一個小數),兩者相乘即為該實數的值。
為了在不同計算機之間交換數據,1985年美國電氣與電子工程師協會(IEEE)製訂了有關浮點數表示的工業標準IEEE754,現已被絕大多數計算機所采用。IEEE754浮點數有32位(單精度浮點數)、64位(雙精度浮點數)、80位(擴充精度浮點數)等幾種不同的格式。
浮點數的優點是可表示的數值範圍很大。在字長相同的情況下,浮點數比定點數(整數)可表示的數值範圍要大得多。網上購物時,商品的單價、總價、運費、訂單總價、實付款等都用浮點數表示。大量的科學、工程計算及財務處理等均使用浮點數運算完成,人工智能中的機器學習算法就需要進行大量的浮點運算。
實數用浮點數表示時大多數情況都是近似的,浮點數的四則運算也存在一定誤差,運算結果與理論計算結果並不都完全一致。
研究如何有效使用計算機求數學問題近似解方法及理論的學科稱為“數值計算”,其內容包括數值逼近、數值微分和數值積分、數值代數、最優化方法、常\/偏微分方程數值解法、積分方程數值解法、計算幾何、計算概率統計等,當今幾乎所有工程及科學領域都離不開數值計算。
2. 文字符號的表示
日常使用的書麵文字由一係列稱為“字符”(character)的書寫符號所構成。常用字符的集合叫作“字符集”。字符集中的每一個字符在計算機中各有一個代碼(即字符的二進位表示),它們互相區別,構成了該字符集的代碼表,簡稱碼表。
西文字符集由拉丁字母、數字、標點符號及一些特殊符號所組成。目前計算機中使用得最廣泛的西文字符集及其編碼是ASCII字符集和ASCII碼,即美國信息交換標準碼。它已被國際標準化組織(ISO)批準為國際標準,在全世界通用。基本的ASCII字符集共有128個字符,包括96個可打印字符(常用的字母、數字、標點符號等)和32個控製字符,每個字符使用7個二進位進行編碼(叫作標準ASCII碼)(參見表14)。
表14ASCII字符集及其代碼表
字符二進製
表示十六
進製字符二進製
表示十六
進製字符二進製
表示十六
進製字符二進製
表示十六
進製
32個
控
製
字
符
,
不
可
打
印
000000000空格010000020@100000040''''110000060
000000101!010000121A100000141a110000161
000001002\"010001022B100001042b110001062
000001103#010001123C100001143c110001163
000010004$010010024D100010044d110010064
000010105%010010125E100010145e110010165
000011006&010011026F100011046f110011066
000011107`010011127G100011147g110011167
000100008(010100028H100100048h110100068
000100109)010100129I100100149i110100169
00010100A*01010102AJ10010104Aj11010106A
00010110B+01010112BK10010114Bk11010116B
00011000C,01011002CL10011004Cl11011006C
00011010D-01011012DM10011014Dm11011016D
00011100E.01011102EN10011104En11011106E
00011110F\/01011112FO10011114Fo11011116F
0010000100011000030P101000050p111000070
0010001111011000131Q101000151q111000171
0010010122011001032R101001052r111001072
0010011133011001133S101001153s111001173
0010100144011010034T101010054t111010074
0010101155011010135U101010155u111010175
0010110166011011036V101011056v111011076
0010111177011011137W101011157w111011177
0011000188011100038X101100058x111100078
0011001199011100139Y101100159y111100179
00110101A:01110103AZ10110105Az11110107A
00110111B;01110113B[10110115B{11110117B
00111001C<01111003C\\10111005C|11111007C
00111011D=01111013D]10111015D}11111017D
00111101E>01111103E^10111105E~11111107E
00111111F?01111113F_10111115F刪除11111117F
雖然標準ASCII碼是7位的編碼,但由於字節是計算機中最基本的存儲和處理單位,故一般仍使用一個字節來存放一個ASCII碼。此時,每個字節中多餘出來的一位(最高位)在計算機內通常保持為“0”。
中文的基本組成單位是漢字。我國漢字的總數超過6萬字,數量大,字形複雜,同音字多,異體字多,這給漢字在計算機內部的表示與處理帶來一定困難。有關漢字和其他國家與地區文字符號的編碼在本書第5章再作介紹。
3. 圖像等其他信息的表示
圖像在計算機中的表示要比字符更複雜一些。為了在計算機中表示一幅圖像,首先必須把圖像離散成為M列、N行,這個過程稱為圖像的取樣,取樣後的圖像分解成為M×N個取樣點,每個取樣點稱為圖像的1個像素。彩色圖像的像素通常由紅、綠、藍(R、G、B)三個基色(分量)組成,灰度圖像和黑白圖像的像素隻有一個亮度分量。像素的每個分量均采用無符號整數來表示。
以黑白圖像為例,像素隻有“黑”與“白”2種。因此每個像素隻需要用1個二進位即可表示。圖14是黑白圖像在計算機中如何表示的一個例子。有關灰度圖像和彩色圖像在計算機中的表示方法將在第5章再作詳細介紹。
圖14黑白圖像在計算機中的表示
其他形式的信息如聲音、視頻、溫度、壓力、運動等都可以使用比特來表示。即使是指揮計算機工作的程序,也是使用比特表示的。總之,隻有使用比特表示的信息計算機才能進行處理和存儲。所以,計算機中所存儲和處理的都是二進位信息。
需要強調的是,為了在不同計算機之間進行信息的交換,計算機中信息的表示格式不能自行其是,必須遵循一定的規範或標準。數值、文字、圖像、聲音、動畫等在計算機中的表示方法均有國際標準,一些國家和地區還製訂了自己的國家標準或地區標準,有些國際知名的大公司還有其自己的公司標準。
1.2.4比特的運算
各種類型的信息在計算機中都使用比特(二進位)表示,因此,信息的處理在計算機中都通過比特的運算來完成。
1. 基本邏輯運算
比特的取值隻有“0”和“1”兩種,這兩個值不完全是數量上的概念,很多情況下它隻是表示兩種不同的狀態。在計算機中,電位的高或低、脈衝的有或無經常用來表示“1”或“0”。在人們的邏輯思維中,
命題的真或假(對或錯)也可以用“1”或“0”來表示。
為了對二進製信息進行各種處理(包括加、減、乘、除等),需要使用邏輯代數這個數
學工具。邏輯代數是英國數學家喬治·布爾(George Boole)在19世紀中葉提出的,也稱為
布
爾代數。邏輯代數中最基本的邏輯運算有三種:邏輯加(也稱“或”運算,用符號“OR”
“∨”或“+”表示)、邏輯乘(也稱“與”運算,用符號“AND”“∧”或“·”表
示)以及取反(也稱“非”運算,用符號“NOT”或“-”表示)運算。它們的運算規則如
下:
(邏輯加)
0
∨0
00
∨1
11
∨0
11
∨1
1
(邏輯乘)
0∧
0
00
∧1
01
∧0
01
∧1
1
取反運算最簡單,“0”取反後是“1”,“1”取反後是“0”。
當兩個多位的二進製信息進行邏輯運算時,它們按位獨立進行,即每一位不受同一信息的其他位
影響。例如,兩個4位的二進製信息0101和1100進行邏輯加和邏輯乘的結果分別為:
0101
∨1100
1101
0101∧1100
0100
而對0101、1100進行取反之後,其結果分別為1010和0011。
2. 邏輯運算的實現
最初,邏輯運算是使用開關電路來實現的。如圖15所示,假設開關接通表示“1”,斷開表示“0”,燈泡亮表示“1”,暗表示“0”,那麼,把A、B兩個開關串聯在一起就實現了“與”運算,並聯在一起就實現了“或”運算,如果開關A按(c)那樣連接,就實現了“非”運算。
圖15使用開關電路實現邏輯運算
但是,用機械開關或機電式開關(如繼電器)實現邏輯運算時,它的操作速度太慢,而且工作也很不可靠。20世紀40年代出現了晶體管。晶體管在控製端G的控製下,可以工作在兩種狀態(圖16):A與B導通狀態或者A與B絕緣狀態,效果相當於圖15中開關的接通或斷開。這樣,晶體管就成了一個電子開關。由於沒有任何機械動作,它以電子運動的速度進行工作,所以速度極快(開關速度可以高達每秒幾十億次)。這也是為什麼計算機可以高速度進行信息處理的根本原因所在。
圖16MOS晶體管是一種電子開關
用幾個晶體管連接起來可以實現各種基本邏輯運算,這樣的電路稱為“門”電路。若幹門電路可組合成運算器,高速完成各種算術邏輯運算。計算機中的CPU芯片就是由數以千萬計的門電路組成的,有關介紹可參看閱讀材料之1.2。
1.2.5小結
在計算機、手機和其他數碼設備中為什麼要采用數字技術呢?這與使用比特表示信息的諸多優點
緊密相關。
首先,比特隻有0和1兩個符號,使用有兩個穩定狀態的電路就可以表示和存儲二進位信息,
而製造雙穩態的電路要比製造有多個穩定狀態的電路容易得多,並且很容易實現高速處理。
其次,二進位的運算規則很簡單,通過一些基本的門電路就能把二進製數的算術運算與非數
值信息的邏輯運算聯係在一起,實現統一的處理。
第三,使用二進位不僅能表示數值信息,而且能表示文字、符號、圖像、聲音等多種不同形
式的信息。由於均使用比特作為其基本單位,它們可以很方便地相互組合,形成文字
、圖像、聲音、數據等複合在一起的所謂“多媒體”。有關這方麵的內容本書將在第5章中
進行介紹。
第四,信息使用比特表示以後,可以通過多種方法進行“數據壓縮”,即使用更少的比
特來表示同樣的文字、聲音或視頻信息,有效地降低信息傳輸和存儲的成本。
第五,在傳輸或者存儲信息時,由於信道的噪聲或存儲器的缺陷往往會引起信息出錯。使用
比特表示信息之後,隻要再附加一些額外的比特,就能夠發現甚至糾正信息傳輸和存儲過程
中所產生的錯誤,大大提高了信息係統的可靠性。
使用比特來表示信息還有其他一些優點,這裏暫不一一細述。總之,使用以比特為核心的數
字技術來構造和開發各種信息設備和係統是信息技術發展的總趨勢,也是信息技術發展的一種必
然。
複習題
(1) 什麼是比特?比特是如何表示和存儲的?
(2) 存儲器容量有哪些常用的度量單位?內存(主存)容量和外存(輔存)容量的度量單位有何差別?
(3) 二進製數與十進製、八進製、十六進製數如何相互轉換?
(4) 無符號整數的表示範圍如何確定?它有哪些應用?
(5) 什麼是ASCII字符集?ASCII字符是怎樣表示和存儲的?
(6) 比特的基本邏輯運算有哪幾種?什麼是“與”運算、“或”運算和“非”運算?
1.3微電子技術簡介
1.3.1微電子技術與集成電路
微電子技術是信息技術領域中的關鍵技術,是發展電子信息產業和各項高技術的基礎。微電
子技術的飛躍發展,為電子信息技術的廣泛應用開辟了廣闊的道路。
微電子技術是實現電子電路和電子設備微型化的技術,其核心是集成電路芯片(簡稱芯片)。早期的電子技術以真空電子管為基礎元件[圖17(a)],在這個階段產生了廣播、電視、無線電通信、電子儀表、自動控製和第1代電子計算機。19
48年晶體管[圖17(b)]的發明,再加上印製電路組裝技術的使用,使電子電路在小型
化方麵前進了一大步。集成電路(IC)是20世紀50年代出現的,
它以半導體單晶片作為材料,經平麵工藝加工製造,將大量晶體管、電阻、電容及連線構成的電子線路集成在基片上,構成一個微型化的電路或係統[圖17(c)(d)]。現
代集成電路使用的半導體材料主要是矽,也可以是化合物半導體如砷化镓等。
圖17電子管、晶體管與集成電路
集成電路根據它所包含的電子元件(如晶體管、電阻、電容等)數目可以分為小規模、中規模、大規模、超大規模和極大規模集成電路。集成度(單個集成電路所含電子元件的數目)小於100的集成電路稱為小規模集成電路(SSI);中規模集成電路(MSI)的集成度在100~3000個電子元件之間;大規模集成電路(LSI)的集成度在3000~10萬之間;超大規模集成電路(VLSI)集成度一般達10萬~100萬個電子元件;超過100萬個電子元件的集成電路稱為極大規模集成電路(ULSI)。通常並不嚴格區分VLSI和ULSI,而是統稱為VLSI。中、小規模集成電路一般以簡單的門電路或單級放大器為集成對象,大規模集成電路則以功能
部件、子係統為集成對象。現在計算機、手機、數碼相機等電子設備中使用的微處理器、存儲器、圖形加速芯片等都是超大
規模和極大規模集成電路。
集成電路按照所用晶體管結構、電路和工藝的不同,主要分為雙極型集成電路
、金屬氧化物半導體(MOS)集成電路、雙極金屬氧化物半導體集成電路等幾
類。按集成電路的功能來分,可分為數字集成電路(如門電路、存儲器、微處理器、微控製器
、數字信號處理器等)和模擬集成電路(如傳感器、信號放大器、功率放大器等)和數\/模混合集成電路。按它們的用途可分為通用集成電路與專用集成電路(ASIC),微處理器和存儲器芯片等都
屬於通用集成電路,而專用集成電路是按照某種應用的特定要求專門設計、定製的集成電
路。
集成電路芯片是微電子技術的結晶,它是計算機、通信和幾乎所有電子設備的硬件核心,是現代信息產業的基礎,計算機、手機、電視機、銀行卡、音響設備、家用電器無不以集成電路作為其核心,汽車、高鐵、飛機、衛星的控製也都依賴於集成電路芯片製成的計算機及相關軟件。集成電路產業的發展十分迅速,以集成電路為基礎的電子信息產品的世界市場總額已經遠遠超過了1萬億美元,成為世界第一大產業。
我國集成電路產業近幾年雖然加速發展,但對外依存度仍比較高,特別是CPU、存儲器等高端集成電路。2019年集成電路進口量高達4400多億塊,進口額超 13000 億美元,約為原油進口額的兩倍。一些業內人士認為,目前我國集成電路是係統性、全方位落後於發達國家,整體提升和全麵超越必須從基礎研究和人才培養做起,還需要一定的時間。
1.3.2集成電路的設計製造
集成電路把成千上萬甚至以億計的晶體管等電子元件集成在指甲大小的晶片上,其製造工序從原料熔煉到最終產品測試封裝大約需要2000~5000道工序,工藝複雜且技術難度非常高,有一係列的關鍵技術,需要大量高精度專用設備。許多工序必須在恒溫、恒濕、超潔淨的無塵廠房內完成。芯片生產、控製及測試的設備也異常昂貴,動輒成百上千萬美元一台,目前大部分需要引進。有關集成電路的設計製造過程和我國芯片產業的發展情況可參看本章閱讀材料1.3。
1.3.3集成電路的發展趨勢
集成電路的特點是體積小、功耗低、速度快、可靠性高。集成電路的工作速度主要取決於組成邏輯門電路的晶體管的尺寸。晶體管尺寸越小,其工作頻率越高,門電路的開關速度就越快。所以,從集成電路問世以來,人們就一直在縮小門電路的尺寸上下功夫。芯片上電路元件的線條越細,相同麵積的晶片可容納的晶體管就越多,功能就越強,速度也越快。隨著納米量級的微細加工技術的采用和矽拋光片麵積的增大,集成電路芯片的集成度越來越高,所含晶體管數目已達數十億之多。Intel公司的創始人之一摩爾(G.E.Moore)1965年在美國《電子學》雜誌上曾發表論文預測,單塊集成電路的集成度平均每18~24個月翻一番,這就是有名的Moore定律。以Intel公司生產的微處理器為例,近50年來它所生產的80x86、Pentium(奔騰)係列和Core(酷睿)係列微處理器,其集成度的提高證實了這個規律的正確性(圖18)。
圖18Intel公司微處理器集成度的發展
集成電路的技術發展很快(表15)。現在,世界上集成電路批量生產的先進技術已經達到12~14英寸晶圓、7nm××納米,指芯片中電路連線的線寬尺寸,尺寸越小,集成度越高,製造難度也越大。(納米,1nm=10-9m)和5nm線寬的工藝水平,並還在進一步提高。最複雜的處理器芯片所集成的晶體管數目已達數十億,存儲器芯片包含的晶體管數目已達上百億,先進的CMOS集成技術已經可以實現數字電路、模擬電路、射頻電路等的集成。線寬更小、集成度更高、性能更好的芯片還在不斷推出。
表15集成電路技術的發展
年度199920012004200820102017
工藝(nm)18013090453214~10
晶體管(M)23.847.613553910008000
時鍾頻率(GHz)1.21.62.02.6553.85
麵積(mm2)340340390468600901
連線層數6789910
晶圓直徑(英寸)121214161616
1.3.4IC卡
IC卡是“集成電路卡”或“芯片卡”的簡稱,國外稱為chip card或smart card。它把集成電路芯片密封在塑料卡基片內部,使其成為能存儲、處理和傳遞數據的載體。與磁卡相比,它難以複製,不受磁
場影響,能可靠地存儲和處理數據。
IC卡按卡中所鑲嵌的集成電路芯片可分為兩大類:① 存儲器卡。這種卡封裝的集成電路主要是存儲器,其容量大約為幾到幾十KB,信息可長期保存,也可通過讀卡器改寫。這種IC卡除了存儲電路外,還有寫入保護和加密電路,具有一定的安全性,可用作校園卡、公交卡、醫保卡、門禁卡等。② CPU卡,也叫智能卡。卡上集成了中央處理器(CPU)、程序和數據存儲器,還內置了操作係統。這種卡的處理能力強,安全性更好,除上述應用外,它更適合銀行、電信、公安等對安全性要求很高的部門應用。手機中使用的SIM卡就是一種CPU卡,它保存有手機用戶的個人識別碼、加密用的密鑰以及用戶的電話簿等信息,供手機在接入通信網絡時進行身份認證,並可對用戶通話時的語音信息進行加密,防止竊聽。
IC卡按使用方式可分為兩種(參見圖19):① 接觸式IC卡(如手機SIM卡),其表麵有一個方型鍍金接口,共有8個或6個鍍金觸點。使用時必須將IC卡插入讀卡機卡口內,通過金屬觸點傳輸數據。這種IC卡多用於存儲信息量大、讀寫操作比較複雜的場合。接觸式IC卡易磨損、怕油汙,壽命不長。② 非接觸式IC卡,又叫射頻卡、感應卡,它采用電磁感應方式無線傳輸數據,解決了無源(卡中無電源)和免接觸等難題,操作方便、快捷。由於采用全密封膠固化,防水、防汙,所以使用壽命很長。隨著技術的進步和成本的降低,非接觸式IC卡現已成為主流。當前還流行一種兼有接觸式和非接觸式兩種刷卡方式的“雙界麵卡”,使用更為方便。有關非接觸式IC卡工作原理及其在日常生活中的應用,可參看閱讀材料之1.4。
圖19接觸式IC卡與非接觸式IC卡
IC卡不但可以作為電子證件,用來記錄持卡人的個人數據,作為身份識別之用(如身份證、遊泳證、醫療卡、門禁卡等),也可以作為電子錢包(如電話卡、公交卡、校園卡、加油卡等)使用,具有廣泛的應用。
我國使用的銀行卡早先采用磁條卡,磁條中記錄了用戶賬號等信息,一般僅作為識別卡使用。由於磁條卡的技術相對簡單,信息容易讀出和複製,保密性差,安全不易保證,偽卡欺詐事件屢有發生。所以,幾年前就開始更換為IC卡。銀行IC卡大多采用雙界麵CPU卡,不但安全性高,信息難以複製,而且還具備電子現金賬戶功能,支持離線(offline,也稱為“線下”)小額支付,並可使用非接觸方式讀寫,實現即刷即走的快捷支付(“閃付”功能)。
複習題
(1) 什麼是集成電路(芯片)?什麼是超/極大規模集成電路?PC和手機中使用哪些集成電路?
(2) 集成電路的發展趨勢如何?我國目前水平如何?
(3) IC卡有哪些類型?你用的校園卡屬何種類型?
自測題1
一、是非題
1. 信息處理指的是與信息的收集、傳遞、加工、存儲和施用相關的行為和活動,信息技術則泛指用來擴展人們信息器官功能、協助人們更有效地進行信息處理的一類技術。
2. 集成電路把成千上萬甚至以億計的晶體管等電子元件製作在指甲大小的晶片上,其工藝水平目前已經達到納米級水平。
3. 非接觸式IC卡依靠卡片中的微型電池供電,操作使用非常方便。
二、選擇題
1 假設兩個8位的二進製信息A=10010011,B=11001100,下麵是A、B進行邏輯運算的結果,其中錯誤的是()
(A) A∧B=10000000(B) A∨B=11011111
(C) A∧B∨A∧B=01011001(D) A∧B∨A∧B=10100000
2 數據通信中數據傳輸速率是最重要的性能指標之一,它指單位時間內傳送的二進位數目,計量單位Gb\/s的正確含義是()
(A) 每秒兆位(B) 每秒千兆位
(C) 每秒百兆位(D) 每秒百萬位
3 下麵關於比特的敘述中,錯誤的是()
(A) 比特是組成數字信息的最小單位
(B) 比特隻有“0”和“1”兩個符號
(C) 比特既可以表示數值和文字,也可以表示圖像和聲音
(D) 比特“1”大於比特“0”
4使用存儲器存儲二進位信息時,存儲容量是一項很重要的性能指標。存儲容量的單位
有多種,下麵哪一種不是存儲容量的單位?()
(A) XB(B) KB(C) GB(D) MB
5與十六進製數(BC)16等值的八進製數是()
(A) 273(B) 274(C) 314(D) 313
6 無符號整數是計算機中最常使用的一種數據類型,其長度(位數)決定了可以表示的正整數的範圍。假設無符號整數的長度是12位,那麼它可以表示的正整數的最大值(十進製)是()
(A) 2048(B) 4096(C) 2047(D) 4095
三、填空題
1 基本ASCII字符集中一共包含有128個字符,它在PC存儲器中存儲時,每個字符需要占用個二進位。
2 在計算機網絡中傳輸二進位信息時,傳輸速率的度量單位是每秒多少比特。某校校園網的主幹網傳輸速率是每秒10 000 000 000比特,它可以簡寫為Gb\/s。
3 十進製數205.5的八進製表示是。
4 計算機中的一個16位無符號整數,如果它的十六進製表示是(FFF0)16,那麼它的實際數值是(十進製表示)。
第1章閱讀材料
1.1數據量、存儲容量和通信流量
1. 數字信息的數據量
數字技術中比特是組成信息的最小單位,所有信息都使用比特表示。使用比特表示文字、符號、聲音、圖像的方法稱為“編碼”,後續章節將陸續進行介紹。下麵對幾種常用信息類型需要使用多少比特來表示(稱為數據量)做些對比介紹,使大家對數字信息有一些感性的認識。
正文中說過,在計算機、手機等數字設備中,1個西文字母通常用8個比特(即1個字節)表示,1個漢字通常用16個比特(2個字節)表示。手機在國內發送1條中文短信收費0.1元,每條短信限140字節(即70個漢字,含標點符號在內),超過70個漢字時將自動分割成若幹條發送(按條數收費),收件人手機收到後會自動進行組合。
在電腦上寫作一篇千字左右的短文,其數據量大約是幾KB;中國古典小說四大名著之一的《紅樓夢》,120回本的總字數大約是73萬字。電子版純文本格式的紅樓夢其數據量約為1.5MB。
使用數碼相機或手機拍照時,數字相片的數據量與拍照時所選擇的分辨率(即像素數目)及質量等級有關,與相片內容也有關係。通常,600萬~800萬像素分辨率的JPG格式相片,數據量在1~3MB之間,1200萬~1600萬像素的相片,數據量在3~5MB之間。
使用手機通話時用戶發出的語音信息,1分鍾的數據量(數據未壓縮前)約為0.5MB,壓縮後約為50~80KB。1分鍾高保真雙聲道的立體聲音樂的數據量(未壓縮前)約為10MB,采用MP3標準可將數據量壓縮5~10倍。因此,一首長度為3分鍾的MP3格式的音樂,其數據量大約是3~6MB。
視頻信息既有圖像又有聲音,數據量更大。即使經過數據壓縮,1分鍾的標準清晰度(每幀圖像的分辨率為640×480或720×480)視頻,數據量也在3~5MB左右,1集電視劇的數據量就達150~200MB。至於全高清或超高清視頻,其數據量就更大。
2. 存儲設備的容量
信息的存儲需要使用存儲設備。數碼產品中用來存儲比特的設備有多種,它們大多利用電、磁、光的特性研製而成。例如利用電能存儲信息的半導體存儲器,利用磁能存儲信息的磁卡和硬盤存儲器,利用光學原理存儲信息的CD、DVD等光盤存儲器,還可以利用紙或塑料等存儲信息,如過去使用的穿孔卡片、穿孔紙帶,現在常用的一維和二維條形碼等。
上述各種數字存儲設備的信息存取速度、存取方式、存儲容量、斷電後信息是否保存等性質有很大差異,因而其功能和用途也有所不同。下麵僅就個人電腦和智能手機使用的幾種存儲器的存儲器類型及其容量做對比介紹(表16)。
表16個人電腦和智能手機的存儲器類型與容量
存儲器類型設備存儲器名稱典型容量說明
主存儲器主存儲器(primary memory)又稱為內存儲器(內存)或RAM(隨機存取存儲器),手機中稱為運行內存(working memory)。本書稱為主存或者內存。
個人電腦DRAM存儲器4~16GB
智能手機DRAM存儲器4~12GB工作速度很快,容量不很大,價格較高,斷電後信息不能保存,屬易失性存儲器
(續表)
存儲器類型設備存儲器名稱典型容量說明
輔助存儲器輔助存儲器(secondary memory或storage)過去習慣稱為外存儲器(外存),現在手機廠商對其稱呼不一,為避免混淆,本書把它與硬盤統一稱為輔助存儲器,簡稱“輔存”。
個人電腦硬盤\/固態硬盤0.5~2TB
智能手機閃速存儲器32~256GB工作速度快,容量大,單位價格便宜,斷電後信息保持不變,屬非易失性存儲器
擴充存儲器
個人電腦U盤,移動硬盤,光盤,SD卡等幾十GB至幾個TB工作速度稍慢,容量範圍大,斷電後信息保持不變,屬於非易失性存儲器
智能手機U盤,SD卡等幾十~幾百GB容量範圍較大,斷電後信息保持不變,屬於非易失性存儲器
日常生活中使用的校園卡、公交卡、銀行卡等,其主要功能之一也是用來存儲信息(身份信息、賬號、金額等),它們的容量並不大,一般有幾十KB就夠了。商品包裝上印刷的條形碼(一維條碼),信息容量僅幾十個字節。二維條形碼容量可以達到幾KB,因而可以表示(存儲)如網站地址之類比較複雜的信息。
3. 關於存儲容量的單位
上麵在介紹數字信息的數據量和存儲器容量時,使用的單位有字節(B)、千字節(KB)、兆字節(MB)、吉字節(GB)等。正文中說過,這些度量單位中使用的前綴符號K、M、G、T等,在不同場合代表不同的數值。對於計算機和手機中的主存儲器,其容量單位是1KB=210字節,1MB=220字節,1GB=230字節,1TB=240字節,等等。對於它們的輔助存儲器(包括硬盤、光盤、U盤等),存儲容量單位是:1KB=103字節,1MB=106字節,1GB=109字節,1TB=1012字節,等等。
為什麼這樣呢?因為主存儲器是以字節為單位編址的,每個字節有一個自己的地址,CPU使用二進位表示的地址碼來指出需要訪問(讀\/寫)的存儲單元。地址碼是一個無符號整數,n個二進位的地址碼共有2n個不同組合,可以表示2n個不同的地址,也就可以用來指定主存中2n個不同的字節,所以主存的容量一般都以2的冪次來計算。
而輔助存儲器不需要也不可能按字節進行存取,它是以塊(block)為單位進行編址和存取的,塊的大小一般是幾百字節至幾千字節。因此,存儲容量=塊的數目×塊大小。為了計算方便,也為了使產品標稱容量可以更大一些,輔助存儲器生產廠商都以傳統的10的冪次作為其容量的度量單位。
在電腦和智能手機中,輔助存儲器和主存儲器都由操作係統統一管理並分配使用,操作係統采用與主存一致的方式來計算輔存的大小,即也以2的冪次作為輔存容量的計量單位。這樣一來,用戶經常會發現一個奇怪的現象:輔助存儲器的容量被“縮水”了。例如,明明硬盤標注的容量是160GB,操作係統顯示的卻是149.05GB,明明買的是8GB的U盤,係統顯示出來卻是7.46GB。手機也是如此。
原因很簡單。因為操作係統在計算存儲容量及文件大小時,其度量單位1G=230=1073741824,而輔助存儲器生產廠商使用的是1G=109=1000000000,後者隻是前者的0.931。因此,32GB和16GB的輔助存儲器,操作係統認為分別隻有29.79GB和14.89GB。這種相同符號在不同場合有不同含義的情況造成了諸多不便和混淆,提請大家注意。
4. 通信流量
通信流量指通信設備在通信過程中收到和發出的數據總量。日常生活中人們接觸最多的是手機流量,它特指手機\/平板電腦通過移動通信網絡連接互聯網時所收\/發的數據總量。從手機\/平板電腦送出的數據量稱為上行流量,收到的數據量稱為下行流量或下載流量。
流量的單位是字節,常用的是千字節(KB)、兆字節(MB)、吉字節(GB)、太字節(TB)等。我國電信運營商經常略去字母B而把它們簡略為K、M、G、T。它們之間的關係是:1TB=1024GB,1GB=1024MB,1MB=1024KB,1KB=1024B。
使用手機或電腦經互聯網傳輸照片、歌曲、視頻等所需要消耗的流量,要比這些照片、歌曲和視頻的實際數據量大一些,這是因為數據通信本身需要一些額外的開銷。例如通信雙方需要呼叫、應答和同步,增加附加信息來檢驗收到的數據是否正確,發現傳輸出錯後需要重新傳輸等,有關情況可參見第4章的介紹。
上網是需要付費的。目前的計費方式可以按流量計費,或按時長計費,也可以包月或者包一個時間段。手機如果在設置中開通“移動數據”,則意味著它通過2G\/3G\/4G移動通信網絡連接互聯網,則無論是中國電信、中國移動還是中國聯通,均按照上網所消耗的流量來計算費用。如果隻限某個時間段上網,費用還更優惠。
手機、平板電腦、電子書等移動設備一般都通過WiFi上網,此時用戶不再關心使用了多少流量,似乎流量是免費的。其實,WiFi的功能是把無線通信轉換成有線通信(參見第4章),後者利用電纜或者光纜接入互聯網,它們大多按使用時間的長短計費,而不像移動通信哪樣按流量計費。這是因為移動通信網絡的建設和維護成本遠高於有線寬帶網絡,以流量來計費可以更好地控製全網的負荷。畢竟如果大家都像有線寬帶接入那樣使用移動通信網的話,再先進的移動通信網絡恐怕也難以承受。
不同應用所需要的流量是不同的。QQ聊天主要是傳輸文字信息,幾十MB就夠1個月每天聊上個把小時了。但如果是下載歌曲或圖片,則一首歌或1張高清圖片就會消耗幾MB流量。下載1個應用程序(App)所需的流量有大有小,小的幾十KB,大的可能需要幾十MB。至於觀看電視劇,所耗費的流量就要以GB來計算了。
為了節省流量,有些軟件采取了一定措施。例如使用微信發送照片的時候,它先把照片的分辨率降低,使每張照片的數據量大為減少然後再進行發送;如果希望保持照片的分辨率(質量)不變,則可選擇以“原圖”方式進行發送。對於視頻,為了節省流量和縮短傳輸時間,微信軟件專門提供了一種“小視頻”通信功能,它的分辨率比較低,數據量也大為減少。
1.2門電路及其應用
1. 基本門電路
計算機等數字電子設備中用於完成基本邏輯運算的電路稱為“門”電路。邏輯代數中的“與”“或”“非”三種基本運算對應著三種邏輯電路,它們分別稱為“與”門、“或”門和“非”門。任何複雜的邏輯運算都可以由這些基本門電路的組合來實現。圖110是幾種常用的基本門電路及其符號表示,其中:
與非門實現的運算是:F=A·B
或非門實現的運算是:F=A+B
異或門實現的運算是:F=A·B+A·B
圖110常用門電路及其符號表示
2. 門電路的應用
雖然每個門電路的功能都很簡單,但組合起來卻可以完成非常複雜的功能。例如
使用不多幾個門電路就能分別實現兩個1位二進製數的半加器(不考慮低位的進位)或全加器(考慮低位的進位)(圖111)。
圖111兩個1位二進製數的半加器和全加器
如果要完成兩個多位二進製數的加、減法,高位必須考慮低位的進位或借位的處理。以加法為例,兩個4位二進製數的加法可以使用4個全加器完成,如圖112所示。正文中說過,集成電路中晶體管的開關速度非常快,工作頻率可達幾個GHz,所以圖中的加法器1秒鍾可以進行幾十億次加法運算。
圖112兩個4位二進製數的加法器
使用門電路不僅可以完成邏輯運算和算術運算,而且還能構造雙穩態電路(觸發器),用來存儲二進位信息。最簡單的觸發器是由兩個或非門組成的,如圖113所示。當輸入端R=1、S=0時,觸發器將置為0狀態;當輸入端R=0、S=1時,觸發器將被置為1狀態。如果R和S都保持為0,則觸發器將維持原狀態不變。
RSQQ說明
1001置0(使觸發器的狀態為0)
0110置1(使觸發器的狀態為1)
00不變不變保持原狀態不變
11不定不定不正常狀態,觸發器狀態不定(不使用)
圖113觸發器的構成及其原理
觸發器在計算機中可用於臨時存儲信息,每個觸發器存儲一個二進位信息。若幹觸發器組合成一個寄存器,即可存儲一組二進位信息(如一個整數、一個浮點數或一條指令等)。這樣的寄存器CPU中有很多個。
至此可以看出,數字技術的基本特點是:任何信息都使用二進位表示,任何算術和邏輯運算都通過“與”“或”“非”操作完成,任何數字設備核心電路都由“門”電路組成。
1.3集成電路產業簡介
集成電路芯片(以下簡稱芯片)是幾乎所有電子、機電設備的“心髒”,被譽為“現代工業的糧食”。芯片產業既是現代經濟社會發展的基礎性和先導性產業,也是影響國家經濟、政治、國防綜合競爭力的戰略性產業。
芯片產業有一個龐大的產業鏈,它主要分為設計、製造和封裝三大環節。下麵對芯片的設計和製造做簡要介紹。
1. 芯片設計
芯片設計是產業鏈的前端,也是麵向應用的重要環節。芯片由專業的集成電路設計公司進行設計,如美國的Intel美國的Intel公司、韓國的三星電子,它們集芯片設計、製造、封裝、測試等多個產業鏈環節於一身,不是單純的集成電路設計公司。、高通、英偉達,英國的ARM,韓國的三星電子①,我國的華為海思、台灣地區的聯發科等,它們提供不同規格和效能的芯片給下遊的電腦、手機廠商選擇,並交由芯片製造廠代工生產。
芯片的設計有多個步驟:功能設計、模塊劃分、設計與驗證、邏輯綜合、門級功能驗證、版圖生成等。其中的每個步驟都有其專門知識,皆可獨立成為專業課程,大部分工作都必須借助電子設計自動化(EDA)軟件才能完成。
芯片中包含有數以千萬計的晶體管和門電路,如此複雜的電路係統不可能一切從零開始設計。為提高效率,減少重複開發,芯片企業通常將合格的經過驗證的IC設計文件存儲在數據庫中,供日後重複使用。這些IC設計文件簡單的如寄存器、譯碼器、運算器,複雜的如CPU、GPU、存儲控製器、總線與接口電路等。設計文件均屬於知識產權(intellectual property, IP)保護的範圍,通常稱為“IP核”,必須購買後得到授權才能使用。
以英國ARM(Advanced RISC Machine)公司為例,它是一家1991年成立於英國劍橋專門從事處理器芯片設計的公司,它自己不生產芯片,隻出售ARM處理器設計文件的知識產權(IP)。許多半導體公司都購買了ARM的IP,如高通、IBM,華為、富士通、英偉達、英特爾、三星電子等。目前全球大多數手機、數碼相機等嵌入式數碼設備使用的都是ARM處理器。
2. 芯片製造
集成電路是在矽襯底上製作而成的。矽襯底是將單晶矽錠經切割、研磨和拋光後製成的像鏡麵一樣光滑的圓形薄片,它的厚度在1mm左右,其直徑可以是6英寸、8英寸、12英寸甚至更大,這種矽片稱為矽拋光片。矽拋光片經過嚴格清洗後即可用於集成電路的製造(圖114)。
圖114集成電路的製造過程
製造集成電路所用的工藝技術稱為矽平麵工藝,它包括氧化、光刻、摻雜和互連等多項工序。把這些工序反複交叉使用,最終在矽片上製成包含多層電路及電子元件(如晶體管、電阻、電容、電感等)的集成電路。視矽片大小和集成電路的複雜程度,每一矽拋光片上可製作出成百上千個獨立的集成電路,這種整整齊齊排滿了集成電路的矽片稱作“晶圓”。
晶圓製成後,用檢測儀對每一個獨立的集成電路逐個進行檢測,把不合格的集成電路用磁漿點上記號。然後將晶圓切開,分割成一個個單獨的集成電路小片,通過電磁法把點了磁漿的廢品剔除,將合格的集成電路按其電氣特性進行分類。這些小片就稱為晶片(die)。
接下來是將每個晶片固定在塑膠或陶瓷的基座上,並把晶片上蝕刻出來的引線與基座底部伸出的插腳進行連接,然後蓋上蓋板進行封焊,以保護晶片免受機械刮傷或環境汙染,這樣就製成了一塊集成電路成品。成品經最終測試後,按照它們的性能參數分為不同等級,貼上規格、型號等標識的標簽,包裝後即可出廠,這就是我們通常所說的“集成電路芯片”(IC chip)或簡稱“芯片”(chip)。
目前,全球芯片製造以美、韓、我國台灣地區的企業為主,特別是高端芯片的製造集中在美國Intel公司、中國台灣台積電公司、韓國三星電子、韓國海力士(存儲器芯片)、中國台灣聯華電子(UMC)等少數企業。其中台積電公司(TSMC)是全球最大的芯片代工企業,批量生產的工藝水平已達5nm,國內華為海思設計的麒麟芯片、寒武紀公司的人工智能處理器都委托台積電代工生產。
3. 我國的芯片產業
我國芯片產業從20世紀60年代起步,經曆了自主創業、引進提高、重點建設等階段,其間有成績也走過彎路。進入21世紀特別是2014年發布了《國家集成電路產業發展推進綱要》之後,芯片產業開始快速發展,目前已形成一定的產業規模,在集成電路設計、芯片製造、封裝測試以及產業配套方麵形成了較為完善的產業鏈格局,在芯片的基礎研究、技術開發、人才培養等方麵也有一定成績。
在集成電路設計方麵,華為海思半導體公司設計的芯片已經覆蓋無線網絡、固定網絡、智能手機、數字媒體等領域,躋身全球十大芯片設計公司之一。公司的麒麟芯片係列應用於華為多種型號的智能手機中,可與美國高通的芯片分庭抗禮。在CPU芯片方麵,龍芯中科公司已有近20年的開發經驗,自主研發了龍芯1號、龍芯2號、龍芯3號三大係列的CPU產品,在國防、政府、教育、工業、物聯網等行業取得了市場突破和良好的應用。
在芯片製造方麵,國內最大的芯片代工企業中芯國際,經過近20年的技術積累和沉澱,已經構建完成相對完整的代工製造平台,包括14nm、28nm和40\/45nm的生產線,以及非易失性存儲器、模擬\/電源管理、LCD驅動等產品線。台積電在南京江北新區投資了30億美元,建成12英寸晶圓、16nm的先進邏輯工藝生產線,月產能達2萬片晶圓。現在,南京江北新區已有集成電路設計企業100餘家,國內十強大多在此設點。據測算,到2020年,江北新區集成電路產業產值將達千億元,南京有望成為中國的“芯片之都”。
在應用領域,國產芯片對關鍵領域的支撐能力已顯著增強。全球超級計算機2017年排名第1、2019年排名第3的“神威·太湖之光”全部采用國產的CPU芯片;基於SM(國家商用密碼)算法的金融IC卡,其卡芯累計已生產數億個;北鬥三號衛星所用芯片已實現100%全國產;我國航天器和軍用裝備也已廣泛使用國產的CPU、GPU、DSP、FGPA等各類芯片。
但是,我國芯片設計行業還缺乏關鍵IP核的設計能力,SoC設計嚴重依賴於第3方,設計工具(EDA軟件)需要進口,芯片代工企業的IP供給不足,芯片製造業的工藝水平與Intel、台積電等還有兩代的差距,因而我國芯片的主流產品目前仍集中在中低端,與國際巨頭有較大差距。
隨著國產整機品牌的壯大,數以百萬計的方案商、供應鏈企業的存在,使得國內芯片企業比歐美同行有更大的市場需求和更多的發展機會。同時,海外芯片巨頭的兼並整合、資源重新配置,也為國內芯片企業提供了很多機遇。更重要的是國家政策自上而下的重視、資本自下而上的助推,我國的芯片產業已經迎來新的發展機遇,有望早日實現產業的自主可控和可持續發展。
1.4常用IC卡介紹
1. 手機SIM卡
SIM卡(subscriber identity module)的中文名稱是用戶身份識別卡,可存儲用戶身份數據、短信和電話號碼等,用於確認手機用戶的身份。SIM卡由電信網絡運營商發放(一卡一號),手機必須插入SIM卡才能通話和收發短信。SIM卡是接觸式IC卡的一種,進入4G移動通信後,中國移動和中國聯通使用的SIM卡升級為USIM卡,中國電信則稱為UIM卡,其功能有了增強。習慣上人們仍統稱為SIM卡。
SIM屬於CPU卡,它由CPU、ROM、RAM、EEPROM(用作數據存儲器)和接口電路等組成,通過6個或8個觸點與手機電路連接。
SIM卡的EEPROM中存放著一組由芯片製造商和移動通信運營商預先寫入的數據。包括SIM卡識別號ICCID、國際移動用戶識別號IMSI(國家代號、移動網代號、用戶的手機號)、分配給該用戶的二進製128位的用戶身份認證(鑒權)密鑰Ki(在運營商的網絡服務器中也保存1份)等,數據可保存10年以上。
3G、4G和5G手機在開機入網時,移動通信網必須確認手機用戶身份是否合法,即必須對手機(SIM卡)進行鑒權(身份認證)操作,同樣,手機也需要鑒別網站的真偽,其過程大體如下(圖115):
圖1153G、4G和5G手機(SIM卡)的開機鑒權過程
(1) 用戶輸入PIN碼,手機將其傳送給SIM卡,SIM卡核對無誤後將用戶識別號IMSI代碼和手機號等信息傳送給手機(通過設置,可省去輸入和驗證PIN碼)。
(2) 手機通過移動通信網絡將IMSI代碼等信息發送給基站及其服務器。
(3) 服務器根據IMSI等信息查找數據庫,找出該用戶的密鑰Ki,生成1個隨機數RAND和1個鑒權令牌AUTN發送給手機。
(4) 手機接收RAND和AUTN後交給SIM卡,後者對AUTH進行驗證,確定網絡的真實性。
(5) SIM卡按約定的算法和密鑰Ki對RAND進行計算,把計算結果RES返回給手機,由手機發送給服務器。
(6) 服務器使用密鑰Ki對RAND按相同的算法進行計算,與手機返回的結果RES進行比較。
(7) 若結果相同則手機鑒權通過,手機獲得通信授權。
接下去手機向移動網注冊,然後手機進入待機(attach)狀態,定時發起位置更新信息。保證網絡能夠尋呼到自己。
個人識別碼PIN(personal identification number)和解鎖碼PUK(personal unblocking code)用於保護SIM卡\/手機不被他人盜用。PIN碼是SIM卡的密碼,存儲在SIM卡中,出廠值為1234(或0000),用戶可自行修改。啟用SIM卡密碼保護後,每次開機後用戶輸入PIN碼才能登錄網絡,若輸錯3次,SIM卡會自動上鎖,此時隻有通過輸入PUK碼才能解鎖。PUK碼共8位,它與SIM卡識別號ICCID都印刷在SIM卡原卡卡片上,也可以到營業廳請工作人員操作。PUK碼有10次輸入機會,輸錯10次後,SIM卡會自動啟動自毀程序使SIM卡失效。
SIM卡的數據存儲器容量為128KB、512KB甚至1MB。除了存儲上述用於鑒權和芯片保護的數據之外,它還用來存儲用戶數據(大約幾百個電話號碼、幾十條短信、幾個最近撥出的電話號碼等),這樣一來,用戶可以方便地在手機之間移動其賬戶、短消息和電話號碼簿。
SIM卡的尺寸有幾種,標準卡的尺寸為 25mm×15mm ,稍小些的Micro SIM卡是12mm×15mm,更小的Nano SIM卡比Micro SIM卡還小三分之一,厚度也減少了15%,現在已普遍使用。隨著數字手表等可穿戴設備的流行,一種新的SIM卡——eSIM( embeddedSIM)出現了,它的體積更小,直接嵌入到電路板上,不但提高了可靠性,而且還支持通過OTA(空中寫卡)對SIM卡進行遠程配置,這在物聯網的場景中很有效。
2. 校園卡、公交卡和銀行卡
當前廣泛使用的公交卡、校園卡、身份證等都是一種非接觸式IC卡(射頻卡),它的工作原理是:讀卡器不斷發出一組固定頻率的電磁波,當射頻卡靠近讀卡機時,卡內的一個LC串聯諧振電路(其諧振頻率與讀卡器發射的電磁波頻率相同)便產生電磁共振,使電容器充電,為卡內其他電路提供例如2V左右的工作電壓,電路便開始工作,通過輻射電磁信號將卡內存儲的數據發送給讀卡器或接收讀卡器送來的數據。使用時,IC卡隻需在讀卡器有效距離(例如5cm左右)之內,不論IC卡的方向和位置正反,均可與讀卡器交換數據,實現預先設計的功能(圖116)。 在開始數據處理之前,非接觸式IC卡與讀卡機之間要相互認證對方的合法性,然後才進行加密的數據傳送。
圖116非接觸式IC卡工作原理
大學校園內廣泛使用的校園卡,它具有身份認證和電子錢包的功能,集學生證、借書證、醫療卡、用餐卡、校內購物卡、實驗室門禁卡等功能於一身,給廣大師生提供了很大方便。
以某高校使用的校園卡為例,它采用的是國產非接觸式存儲卡,存儲容量為4KB,分成32小區(每區64字節)和8個大區(每區256字節),每個區相互獨立,分別用作不同的用途以實現一卡多用。每個區各有2組密碼,芯片中的加密控製邏輯電路與讀卡機之間可進行加密通信和雙向三重驗證,確保信息安全。校園卡存儲器可以擦寫幾萬次,數據讀寫時間為1~2ms,與讀卡器的有效距離在2.5~10cm之間,數據通信速率106kb\/s,數據保存時間可長達10年。
校園卡必須在校園網和一卡通管理係統的基礎上,實現與校內各部門信息係統的無縫對接,才能有效發揮其最大的作用。
上麵列舉的校園卡是一種邏輯加密卡,該類型的IC卡在2008年被發現存在有安全漏洞,不法分子可通過監聽數據包攻擊破解IC卡,對IC卡進行篡改或複製,引起管理混亂和經濟損失。近些年此類校園卡和公交卡已逐步升級為安全性更高的CPU卡。
銀行IC卡(包括借記卡、信用卡等)大多使用安全性更高的雙界麵CPU卡。以某銀行使用的銀行IC卡為例(圖117),32位的CPU(ARM公司SC100)是整個芯片的核心;256KB的隻讀存儲器(ROM)用於存放芯片操作係統(COS),10KB的內存(RAM)在執行程序時用於存放數據;存儲保護電路可以對存儲器的不同區域分別進行存取保護;144KB的EEPROM是存放應用程序和數據的輔助存儲器(擦寫次數大於10萬次,數據保存10年以上);該芯片具有強大的數據安全功能,集成了我國商用密碼算法SSF33、SM1、SM3、SM7和美國數據加密標準DES\/3DES、RSA(2048位)的硬件協處理器,具有防複製、防偽造、防數據篡改等安全功能,可實現高度安全的借記\/貸記和小額支付等金融交易。
圖117銀行IC卡芯片的邏輯結構
3. 二代身份證
我國第二代居民身份證是采用非接觸式IC卡製成的。身份證上所載信息包括姓名、性別、民族、出生日期、常住戶口所在地住址、居民身份證號碼、本人相片、簽發機關和有效期限共9項內容。此外,內部還嵌入了一枚指甲蓋大小的非接觸式集成電路芯片,從而可以實現“電子防偽”和“數字管理”兩大功能。
第二代身份證在“防偽”方麵有多種措施。除證件表麵采用防偽膜和印刷防偽技術之外,還將個人數據和相片圖像經過編碼、加密後存儲在芯片中,需要時可通過專門的讀卡器讀取卡內存儲的信息進行驗證。這樣,不但防偽性能大大提高,而且驗證也更加方便快捷。甚至還可以將人體生物特征如指紋、血型等信息保存在芯片中,進一步改善防偽性能。
二代證的偽造幾乎是不可能的。製作一張身份證首先要有芯片,而這種芯片是由公安部監製的專用芯片,如果要從芯片開始仿製,其代價非常巨大。
二代證更大的應用價值還在於居民身份信息的數字化和網絡化。證件信息的存儲和查詢采用了數據庫和網絡技術,既可實現全國聯網快速查詢和識別,也可進行公安機關與政府其他行政管理部門的網絡互查,實現信息共享,使二代證在公共安全、社會管理、電子政務、電子商務等方麵發揮重要作用。
二代證使用的集成電路芯片由4部分組成,分別是射頻天線、存儲模塊、加密模塊和控製模塊。存儲模塊能夠儲存多達幾兆字節的信息,寫入的信息可分區存儲,按不同安全等級授權讀寫。居民在戶口遷移以後,可將新的住址和相關信息通過寫卡器重新寫入芯片而不需要換領新證。加密模塊是芯片的關鍵,它采用了國家商用密碼管理辦公室規定的多種加密技術。控製模塊是整個芯片的“大腦”,程序都存儲在其中,包括通信協議、讀寫協議等。它具有運算和控製功能,各種操作都由控製模塊執行相應程序完成。
目前存在的一個問題是身份證掛失後無法像手機卡、銀行卡那樣注銷使之失效,他人盜竊或撿到後在不需要聯網核查時還能使用。一些不法分子利用這個漏洞借機牟利或掩護其違法行為,對身份證失主乃至社會造成了損害。
4. 電子標簽
RFID(radio frequency identification)的中文名稱是“電子標簽”,它的原理與非接觸式IC卡相似,標簽中包含了耦合元件(線圈)及芯片。電子標簽黏貼在物體表麵用以標識該目標對象,每個標簽具有唯一的電子編碼,使用閱讀器可以讀取(有時還可寫入)標簽中的信息。RFID閱讀器可以是手持式也可以是固定式,一些具有近場通信(NFC)功能的手機也可以讀出RFID中的信息。
當RFID標簽進入閱讀器天線的磁場區域後,它接收天線發出的射頻信號,憑借感應電流所獲得的能量發送出存儲在芯片中的產品信息(這種標簽稱為無源標簽),也可以由電子標簽主動發送某一頻率的信號(稱為有源標簽),由閱讀器讀取信息,然後送計算機進行處理。整個識別工作無須人工幹預,在惡劣環境中也能工作。而且,閱讀器還可以識別高速運動的物體,並可同時識別多個標簽,操作快捷方便。圖118是高速公路不停車收費係統ETC(electronic toll collection)的示意圖,它通過安裝在車輛擋風玻璃上的電子標簽與收費站天線之間的數據通信,借助互聯網訪問車主的銀行賬戶,達到車輛不必停車而能自動交費的目的。
圖118RFID在車輛自動收費係統中的應用
RFID技術的應用領域很多。例如物流和供應管理、生產製造與裝配、航空行李處理、郵件\/快運包裹處理、文檔追蹤與圖書館管理、動物身份標識、門禁控製與電子門票、道路自動收費等。
第2章計算機組成原理
第2章計算機組成原理數字電子計算機是20世紀人類最偉大的發明創造之一。經曆了大半個世紀的發展,計算機
已經成為最重要的一種信息處理工具,它不僅承擔著信息加工、信息存儲的任務,而
且信息的傳遞、感測、識別、控製和顯示等也都離不開計算機。本章主要介紹計算機硬件的組成及其工作原理。
2.1計算機的組成與分類
2.1.1計算機的發展與作用
1. 計算機的發展
從20世紀40年代數字電子計算機誕生以來,計算機已經走過了大半個世紀的發展曆程。在微電子
技術的進展和各種應用需求的強力推動下,其發展速度之快,大大超出人們的預期。
計算機硬件的發展受到所使用電子元器件的極大影響,過去很長時間,人們都按照計算機主機所使用的元器件為計算機產品劃代。表21是第1至4代計算機主要特點的對比。
在20世紀50年代至70年代,計算機的應用模式主要是依賴於少數大型計算機的“集中計算模式”,80年代由於個人計算機的廣泛使用而演變為“分散計算模式”,90年代起由於互聯網的發展,使計算機的應用進入了“網絡計算模式”。在這種模式下,用戶不僅使用自己的計算機進行信息處理,而且還與網絡中的其他計算機協同進行信息處理。現在,幾乎人人都使用計算機,人人都上網,人們已經到了離開計算機和互聯網就寸步難行的地步。
表21第1至4代計算機的對比
代別年代使用的主要元器件使用的軟件類型主要應用領域
第1代20世紀40年代中期至50年代末期CPU:電子管
內存:磁鼓使用機器語言和彙編語言編寫程序科學和工程計算
第2代20世紀50年代中、後期至60年代中期CPU:晶體管
內存:磁芯使用FORTRAN、COBOL等高級程序設計語言編程開始廣泛應用於數據處理領域
(續表)
代別年代使用的主要元器件使用的軟件類型主要應用領域
第3代20世紀60年代中期至70年代初期CPU:中、小規模集成電路(SSI,MSI)
內存:SSI,MSI的半導體存儲器操作係統、數據庫管理係統等普遍使用在科學計算、事務處理與分析、工業控製等領域得到廣泛應用
第4代20世紀70年代中期以來CPU:大、超大規模集成電路(LSI、VLSI)
內存:LSI、VLSI的半導體存儲器軟件開發工具和平台、分布式計算軟件等開始廣泛使用計算機應用深入到各行各業,家庭和個人普遍使用計算機
自20世紀90年代開始,計算機的發展進一步加快,學術界和工業界早就不再沿用“第x
代計算機”的說法。人們正在研究開發的計算機係統,主要著力於計算機應用的智能化,它以知
識處理為核心,模擬或部分替代人的智力活動為目標,在芯片技術、大數據和人工智能的推動下,這個目標有望逐步實現。
2. 計算機的作用和影響
計算機得以飛速發展的根本原因,除了微電子技術等使計算機性價比不斷提高之外,還歸功於計算機作為信息處理工具的通用性以及由此帶來的計算機應用的廣泛性。
計算機是一種通用的信息處理工具。使用計算機進行信息處理具有如下一些特點:① 速度極快。② 通用性強,不僅能進行複雜的數學運算,而且能對文字、圖像和聲音等多種形式的信息進行獲取、加工、轉換、存儲、展現等處理。③ 存儲容量大、存取速度高。④ 具有互連、互通和互操作的特性,通過網絡計算機不僅能交流與共享信息,還可與網絡上的其他計算機協同完成複雜的信息處理任務。⑤ 體積小、功耗低、方便攜帶,甚至可以穿戴,計算機很容易嵌入在其他機電設備中,使之數字化、智能化,促進產品升級換代。
目前,計算機正以非凡的滲透力與親和力深入人類活動的各個領域,對人類社會的進步與發展產生巨大的影響。
計算機應用於科學研究,大大增強了人類認識自然及開發、改造和利用自然的能力,促進了現代科學技術的發展。
計算機應用於工農業生產,顯著提高了人類物質生產水平和社會勞動生產率,促進了經濟的飛躍發展。
計算機應用於社會服務,全麵擴展和改善了服務範圍與質量,提高了工作效率,推動了社會進步。
計算機應用於教育文化,為人類傳承並創造知識與文化提供了現代化工具,改變了人們創造和傳播文化的方式和方法,大大擴展了人類文化活動的領域,豐富了文化的內容,提高了文化質量。
計算機進入辦公室和家庭,已經並還將改變人們的工作和生活方式。
計算機科學技術對於一個國家發展政治、經濟、科技、教育、文化、國防等方麵的催化作用和強化作用,具有難以估量的意義。
雖然計算機和網絡正在迅速地、不可逆轉地改變著世界,但是,先進信息技術給我們帶來進步和機遇的同時,也會帶來一些新的社會問題和引發某些潛在的危機。例如,個人隱私受到威脅,網絡欺詐和計算機犯罪增加,知識產權保護更加困難,計算機係統崩潰將帶來不可預測的後果,不良和有害信息肆意傳播和泛濫,大量電子垃圾汙染環境、破壞生態,長期沉迷於計算機遊戲和網絡聊天會給青少年生理和心理帶來嚴重危害等等,政府、學校和社會組織對此必須予以足夠重視,並采取相應的對策。
2.1.2計算機的邏輯組成
數字計算機經過70多年的發展,功能不斷增強,應用不斷擴展,結構也變得越來越複雜。但無論是通用的台式機、服務器,還是智能手機和數碼相機中使用的計算機,甚至是銀行IC卡和身份證中的計算機,它們的基本組成和工作原理都是大體相同的。
計算機係統由硬件和軟件兩部分組成。計算機硬件是計算機係統中所有實際物理裝置的總稱
。例如,處理器芯片、存儲器芯片、底板、機箱、鍵盤、
鼠標器、顯示器、打印機、硬盤等,它們都是計算機的硬件。計算機軟件是指在計算機
中運行的各種程序及其處理的數據和相關的文檔。程序用來指揮計算機硬件自動進行規定的操作,數據則是程序所處理的對象,文檔是軟件設計報告、操作使用說明等,它們都是軟件不可缺少的組成部分。
從邏輯上(功能上)來講,計算機硬件主要包括中央處理器(CPU)、主存儲器、輔助存儲器、輸入設備和輸出設備等,它們通過總線互相連接。圖21是計算機硬件邏輯組成的示意
圖。習慣上人們把CPU和主存儲器作為計算機的主體部分,把輸入\/輸出設備和輔助存儲器等稱為計算機的“外圍設備”,簡稱“外設”。
圖21計算機硬件的邏輯組成所謂邏輯組成或邏輯結構,是指功能(或概念)上的結構,而非實際的物理結構。
1. 輸入設備
“輸入”(input)是把信息送入計算機的過程。作為名詞使用時,指的是向計算機輸入的
內容。輸入可以由人、外部環境或其他計算機來完成。用來向計算機輸入信息的設備通稱為
“輸入設備”。輸入設備有多種,例如鍵盤、鼠標器、觸摸屏、麥克風、傳感器以及條碼、磁卡、IC卡的掃描器或讀卡器等。不論信息的原始形態如何,輸入到計算機中的信息都使用二進位來表示。
2. 中央處理器
負責對輸入信息進行各種處理(例如計算、轉換、分類、識別、檢索等)的部件稱為“處理器”。
處理器能高速執行指令完成二進製數據的算術、邏輯運算和數據傳送操作,它的結構很複雜。超大規模集成電路的出現,使得處理器的所有組成部分都可以製作在一塊麵積僅為幾個平方厘米的半導體芯片上。因為體積很小,所以也把它稱為“微處理器”(microprocessor)。
一台計算機中往往有多個處理器,它們各有其不同的任務,有的用於顯示,有的用於通信。其中承擔係統軟件和應用軟件運行任務的處理器稱為“中央處理器”(CPU),它是任何一台計算機必不可少的核心組成部件。其他處理器的任務是協助CPU工作,統稱為“協處理器”。
CPU的任務很繁重,為了提高處理速度,一台計算機可以包含幾個或者幾十個甚至幾
百個、幾千個CPU。這種使用多個CPU實現高速處理的技術稱為“並行處理”。現在,個人計算機(PC)、平板電腦、智能手機等都普遍采用集成有2個、4個甚至更多CPU在同一芯片內的所謂“多核”CPU芯片,性能得到了顯著提高。
3. 主存儲器和輔助存儲器
計算機能夠把程序和數據(包括原始數據、中間運算結果與最終結果等) 儲存起來,具有這種功能的部件就是“存儲器”。
計算機中的存儲器分為主存儲器(也稱為工作存儲器,手機中稱為運行內存,簡稱主存,英語為memory)和輔助存儲器(簡稱輔存,英語為storage) 兩大類。主存的存取速度快而容量相對較小(因成本較高),大多是易失性存儲器;輔存存取速度稍慢而容量相對很大,它們都是非易失性存儲器。
主存儲器與CPU高速連接,按字節編址(每個字節均有地址,CPU可直接訪問任一字節),它用來存放已經啟動運行的程序代碼和需要處理的數據。CPU工作時,它所執行的指令及處理的數據都是從主存中取出的,產生的結果一般也存放在主存中。所以,主存儲器也稱為計算機的工作存儲器。
輔助存儲器能長期存放計算機係統中幾乎所有的信息,即使斷電信息也不會丟失。輔存的容量很大但存取速度相對較慢,它按數據塊進行編址(不能也不需要按字節編址),計算機執行程序時,輔存中的程序代碼及相關的數據必須預先傳送到主存,然後才能被CPU運行和處理。
早期計算機中的主存儲器(磁芯存儲器、MOS存儲器)總是與CPU緊靠一起安裝在主機櫃內,而輔助存儲器(磁盤機、磁帶機等)大多獨立於主機櫃之外,因此主存儲器俗稱為“內存”,輔助存儲器俗稱為“外存”,並一直沿用至今。
PC個人電腦問世後,輔助存儲器與主存儲器均在同一機箱中,已無內外之分,不過由於輔助存儲器仍使用傳統的硬盤,所以將之稱為外存尚不致引起混淆。但智能手機出現後,其輔助存儲器使用的是半導體集成電路芯片製成的“閃存”(而非機械硬盤),再將其稱為“外存儲器”已經欠妥,於是不同廠商各自使用了不同的名稱,給用戶帶來了混淆。
除非另有說明,本書對主存、內存和RAM按目前習慣不做嚴格區分。但傳統的外存儲器(外存)一詞下麵將不再使用,一律改用輔助存儲器(輔存),或直接使用硬盤、閃存、U盤、光盤等名稱。
4. 輸出設備
“輸出”(output)表示把信息送出計算機,作為名詞使用時,指的是計算機所產生的處理結果。計算機的輸出可以是文本、語音、音樂、圖像、動畫等多種形式。
負責完成輸出任務的是輸出設備,多數輸出設備的功能是把計算機中用“0”和“1”表示的信息轉換成為人可直接識別和感知的信息形式。例如在PC和手機中,顯示器(顯示屏)是輸出文字和圖形的設備,揚聲器是輸出語音和音樂的設備。
輸入設備和輸出設備通稱I\/O(input\/output)設備,這些設備是計算機與外界(人、環境或其他設備)聯係和溝通的橋梁,用戶或外部環境通過I\/O設備與計算機係統互相通信。
5. 總線與I\/O接口
總線(bus)是用於在CPU、主存、輔存和各種輸入\/輸出設備之間傳輸信息並協調它們工作的一種部件,由傳輸線和控製電路組成。有些計算機把用於連接CPU和主存的總線稱為CPU總線(或前端總線、高速總線),把連接主存和I\/O設備(包括輔存)的總線稱為I\/O總線。為了方便地更換與擴充I\/O設備,計算機係統中的I\/O設備一般都通過標準的I\/O接口(如USB接口)與控製器連接,然後再與I\/O總線相連。總線和I\/O接口的數據傳輸速率很重要,對計算機整體性能有較大影響。
2.1.3計算機的分類
計算機的分類有多種方法。一種是按其內部邏輯結構進行分類,如16位機、32位機或64位計算機等。另一種是按計算機的性能和用途進行分類,目前大多把計算機分成下麵的五大類。
1. 巨型計算機
巨型計算機(supercomputer)也稱超級計算機,它采用大規模並行處理的體係結構,包含有數以千萬計的CPU。它有極強的運算處理能力,浮點運算速度達到每秒千萬億次(或億億次),比當前個人電腦的處理速度高出了3個數量級,大多使用在國防、科研、氣象預報、石油勘探、航空航天、生物醫藥等領域。我國研製成功的“神威·太湖之光”巨型計算機,其峰值計算速度達每秒12.54億億次,持續計算速度為每秒9.3億億次,它包含40960個自主開發的SW26010處理器(每個處理器芯片有260個CPU核),內存總容量達1310TB。2016~2017兩年內連續4次在全球巨型機500強排行榜中名列首位[圖22 (a)]。
圖22巨型計算機和大型計算機
2. 大型計算機
大型計算機(mainframe)指運算速度快、存儲容量大、通信聯網功能強、可靠性很高、安全性好、有豐富的係統軟件和應用軟件的計算機。它采用虛擬化技術同時運行多個操作係統,因此不像是一台計算機,更像是多台不同的(虛擬)計算機,因而可以替代數以百計的普通服務器,用於為企業或政府的海量數據提供集中的存儲、管理和處理,承擔主服務器(企業級服務器)的功能,可以幾年甚至一二十年不間斷運行,在信息係統中起著核心作用。它同時為大量終端設備執行信息處理任務,即使同時有成千上萬個終端提出處理請求,其響應速度快得能讓每個終端用戶感覺好像隻有他一個人在使用計算機一樣。美國IBM公司目前擁有大型機的大部分市場,圖22(b)是該公司推出的System z10 BC大型計算機的照片。
3. 服務器
服務器(server)原本隻是一個邏輯上的概念,指的是網絡中專門為其他計算機提供資源和服務的那些計算機,巨、大、中、小、微各種計算機原理上都可以作為服務器使用。但由於服務器往往需要具有較強的計算能力、高速的網絡通信和良好的多任務處理功能,計算機生產廠商專門開發了用作服務器的一類計算機產品。與普通的PC相比,服務器需要連續工作在7×24小時(每周7天,每天24小時)的環境中,對可靠性、穩定性和安全性等要求更高。
根據不同的計算能力,服務器又分為工作組級服務器(家用服務器)、部門級服務器和企業級服務器。我國浪潮集團是國內最大的服務器製造商和服務器解決方案提供商。
4. 個人計算機
個人計算機也稱個人電腦、PC,早期稱為微型計算機,它們是20世紀80年代初由於單片微處理器的出現而開發成功的。個人計算機的特點是體積小巧,結構精簡(主機與外設組合在一起),功能豐富,使用方便,通常由使用者自行操作使用,並由此而得名。
個人計算機分成台式機和便攜機(筆記本電腦)兩大類,前者在辦公室或家庭中使用,後者體積小、重量輕,便於外出攜帶,性能接近台式機,但價格稍高。近幾年開始流行一些更小更輕的超級便攜式計算機,如平板電腦、智能手機等,它們摒棄了鍵盤,采用多點觸摸屏進行操作,功能多樣,有通用性,能無線上網,人們可以隨身攜帶作為通信、工作和娛樂的工具(圖23)。
需要注意,智能手機和平板電腦實質上也是個人計算機的一個品種,但它們的軟硬件結構、配置和應用有許多特點,與PC並不兼容。所以人們在很多場合提及PC時,往往專指那些使用微軟公司Windows操作係統和Intel(或AMD)公司CPU芯片的台式機和筆記本電腦,而把智能手機、平板電腦等排除在外。
圖23個人計算機:平板電腦、智能手機智能手機具有個人電腦的幾乎所有功能,它也是一種典型的嵌入式計算機。、筆記本與台式機
還要說明的是,平板電腦與智能手機除了尺寸大小不同,硬件、軟件、應用等幾無區別,本書此後的行文中如不特別指明,凡論及智能手機均包括平板電腦在內。
5. 嵌入式計算機
上麵所介紹的幾類計算機都屬於通用計算機,它們具有多用途和可擴展性。還有另外一類計算機,它們並不以計算機產品的麵貌出現,但計算機卻起著核心和關鍵的作用。此類產品很多,如數控機床、電話交換機、數碼相機、電視機、機頂盒、信用卡、U盤、銀行卡、SIM卡等,這些產品中的計算機大多用途專一、專業性強,此類計算機通稱為嵌入式計算機。
嵌入式計算機是內嵌在其他設備中的功能專用的計算機,它們安裝在其他產品中,執行著特定的任務。由於用戶並不直接與計算機接觸,它們的存在往往不被人們所知曉。
嵌入式計算機最早應用於工業和軍事領域,如機器人、數控機床、汽車、導彈、航天器等。隨著微電子技術的發展,集成電路的集成度越來越高,芯片中不僅包含微處理器,而且把輸入\/輸出控製與接口電路和存儲器(部分)也都集成在芯片中,甚至把相關的模擬電路、數字\/模擬混合電路和無線通信使用的射頻電路等也都集成在單個芯片中,這樣的超大規模集成電路差不多包含了整個計算機的硬件係統,因此人們稱它為片上係統或係統級芯片(system on chip,SoC或SOC)。
片上係統(SoC)的大批量生產推進了嵌入式計算機的廣泛應用。自20世紀90年代開始,嵌入式計算機促進了各種各樣消費電子產品的快速發展和更新換代,例如手機、電視機、遊戲機、照相機、音響、錄放像機、微波爐、通信設備等。嵌入式計算機已成為計算機市場中最有活力增長最快的計算機品種之一。現在,世界上90%以上的計算機都以嵌入方式在各種設備裏運行。以汽車為例,一輛汽車中有幾十甚至上百個嵌入式計算機,它們的計算能力加起來可能比一台普通商用電腦的計算能力還強。
除了複雜程度不同,嵌入式計算機的邏輯結構和工作原理與通用計算機很相似。需要注意的是,許多嵌入式計算機都把軟件固化在芯片中,所以它們的功能和用途一般不再輕易改變。另外,嵌入式計算機大多能滿足實時信息處理、低功耗、適應惡劣工作環境等要求。它們一般不追求過高的性能,夠用即可,所以市場上還有許多4位、8位、16位的嵌入式計算機在使用。這些都是嵌入式計算機與通用計算機不同的一些特點。表22是通用計算機(如台式電腦)與嵌入式計算機(如卡片相機)的簡單對比。
表22通用計算機與嵌入式計算機的比較
CPU內存儲器輔助存儲器功耗接口軟件
通用
計算機32位、64位,當前以64位為主幾至幾十GB以硬盤為主,容量達TB量級幾十至幾百瓦數量多,種類豐富操作係統龐大,應用軟件豐富
嵌入式
計算機8位、16位、32位,部分使用64位幾十KB、幾MB,很少超過幾個GB以閃存和EEPROM為主,容量範圍大功耗小,僅幾瓦一般很少,甚至沒有操作係統精巧甚至沒有,應用軟件單一
複習題
(1) 計算機邏輯上由哪些部分組成?各部分的主要功能是什麼?
(2) 使用計算機進行信息處理有哪些特點?計算機的作用體現在哪些方麵?
(3) 從性能和用途來說,計算機分成哪些類型?分別適用於哪些部門和領域?
(4) 個人計算機的特點是什麼?有哪些品種?它們的發展趨勢如何?
(5) 什麼是嵌入式計算機?你有幾個嵌入式計算機,它們有哪些應用和特點?
(6) 目前流行的PC和智能手機,它們使用的CPU和存儲器有什麼差別?
2.2CPU的結構與原理
CPU是計算機必不可少的核心部件,它負責執行程序。下麵2.2.1和2.2.2中所說的CPU指芯片中的CPU核(CPU core),C實際的CPU芯片中除1個或多個CPU核之外,還包含有高速緩存、存儲控製器甚至圖形處理器(GPU)等其他部件。CPU核和CPU芯片通常都以CPU相稱,讀者需根據上下文進行區分。
2.2.1CPU的作用與組成
迄今為止,我們所使用的計算機大多是按照匈牙利數學家馮·諾依曼(J.von Neumann)提出的“存儲程序控製”原理進行工作的,即一個問題的解算步驟(程序)連同它所處理的數據都使用二進位表示,並預先存放在存儲器中。程序運行時,CPU自動從內存中一條一條地取出指令和相應的數據,按指令操作碼的規定,對數據進行運算處理,直到程序執行完畢為止(圖24)。
圖24程序在計算機中的執行過程
CPU的根本任務是執行指令,它按照指令的要求完成對數據的基本運算和處理。CPU的結構如圖25所示,原理上它主要由三個部分組成。
(1) 寄存器組。它由十幾個甚至幾十個寄存器組成。寄存器的速度很快,它們用來臨時存放參加運算的數據和運算得到的中間(或最後)結果。需要運算器處理的數據預先從內存傳送到寄存器;運算結果不再需要繼續參加運算時就從寄存器保存到內存。
圖25CPU的組成及其與內存的關係
圖26算術邏輯部件與寄存器組
(2) 運算器。用來對二進製數據進行加、減、乘、除或者與、或、非等各種基本的算術運算和邏輯運算,所以也稱為算術邏輯部件(ALU)。通常,參加運算的數據來自寄存器,運算結果也送回寄存器保存。圖26是D寄存器內容與F寄存器內容相加,並把和數寫入B寄存器的示意圖。為了加快運算速度,運算器中的ALU可能有多個,有的負責完成整數運算,有的負責完成實數(浮點數)運算,有的還能進行一些特殊的運算處理。
(3) 控製器。這是CPU的指揮中心。它有一個指令計數器,用來存放CPU正在執行的指令的地址,CPU按照該地址從內存讀取所要執行的指令。多數情況下,指令是順序執行的,所以CPU每執行一條指令後它就加1(因而也稱為指令計數器或程序計數器)。控製器中還有一個指令寄存器,它用來保存當前正在執行的指令,通過譯碼器解釋該指令的含義,控製運算器的操作,記錄CPU的內部狀態等。
為了提高CPU的處理速度,實際的處理器結構要比上麵介紹的複雜許多。盡管如此,幾十年來大、中、小、微計算機CPU的工作原理和基本結構並沒有實質性的改變。
2.2.2指令與指令係統
如上所述,用計算機完成某個任務(如發微信)必須運行相應的程序(如微
信App)。在
操作碼操作數地址
圖27指令的格式
計算機內部,程序是由一連串指令組成的,指令是構成程序的基本單位。指令與數據一樣也采用二進位表示,它用來規定計算機執行什麼操作。多數情況下,指令由兩個部分組成(圖27):
(1) 操作碼。指出計算機應執行何種操作的一個命令詞,例如加、減、乘、除、邏輯加、邏輯乘、取數、存數、移位、跳轉等,每一種操作分別使用不同的二進製代碼表示,稱為操作碼。
(2) 操作數地址。給出該指令所操作(處理)的數據或者指出數據所在位置(在哪個寄存器或在內存的哪個單元)。操作數地址可能是1個、2個甚至3個,這需要由操作碼決定。
盡管計算機可以運行非常複雜的程序,完成多種多樣的功能,然而,任何複雜程序的運行總
是由CPU一條一條地執行指令來完成的。CPU執行每一條指令都還要分成若幹步,每一步僅僅完成一個或幾個非常簡單的操作(稱為微操作)。指令的執行過程大體如下:
(1) CPU的控製器從存儲器讀取一條指令並放入指令寄存器。
(2) 指令寄存器中的指令操作碼經過譯碼,決定該指令應進行何種操作、操作數在哪裏。
(3) 根據操作數的位置取出操作數。
(4) 運算器(ALU)按照操作碼的要求,對操作數完成規定的運算,並根據運算結果修改或設置處
理器的一些狀態標誌。
(5) 把運算結果保存到指定的寄存器,需要時將結果從寄存器保存至內存單元。
(6) 修改指令計數器,決定下一條需要執行的指令的地址。
不同指令的功能不同,所處理的操作數類型、個數和來源也不一樣,執行時的步驟和複
雜程度也有差別。特別是CPU需要通過總線去訪問存儲器時,指令執行過程就比較複雜一些。
每一種CPU都有它自己獨特的一組指令。CPU所能執行的全部指令稱為該CPU的指令係統(指令集)。現在,PC和智能手機CPU的指令係統中有數以百計的不同指令,它們分成許多類,例如在Core處理器中共有七大類指令,即數據傳送類、算術運算類、邏輯運算類、移
位操作類、位(位串)操作類、控製轉移類、輸入\/輸出類。每一類指令(如數據傳送類、算術運算類)又按照操作數的性質(如整數還是實數)、操作數長度(16位、32位、64位、128位等)等區分為若幹不同的指令。
不同公司生產的CPU各有自己的指令係統,一般並不相同。例如,現在大部分PC都使用Intel公司的微處理器作為CPU,而許多智能手機使用的則是英國ARM公司設計的微處理器,它們的指令格式和具體指令有很大差別,再加上操作係統也不相同,因此PC上的程序代碼不能直接在智能手機上運行,反之也是如此。但有些PC使用AMD公司的微處理器,它們與Intel處理器的指令係統基本一致,因此可以相互兼容。
20世紀70至80年代計算機發展史上最重大的事件之一,是出現了微處理器——將CPU的全部運算和控製電路集成在單個芯片中。現在無論是巨型機還是個人計算機,大型機還是嵌入式計算機,它們的CPU都采用微處理器,區別在於所使用微處理器的指令係統、微架構和性能不同而已。由於集成電路技術進步神速,微處理器自1971年問世以來,一直處於不斷的發展與變化之中。有關微處理器的發展及應用情況,可參看閱讀材料2.1。
2.2.3CPU的性能指標
計算機的性能在很大程度上是由CPU決定的。CPU的性能主要表現在程序執行速度的快慢,而程序執行的速度與CPU相關的因素有很多,例如:
●指令係統。指令的類型、格式、功能和數目會影響程序的執行速度。PC電腦使用的CPU其指令係統複雜,智能手機的CPU指令係統相對簡單,後者更有利於提高速度和降低功耗。
●字長(位數)。字長指的是CPU中通用寄存器\/定點運算器的寬度(即二進製整數運算的位數)。由於存儲器地址是整數,整數運算由定點運算器完成,定點運算器的寬度也就決定了地址碼位數的多少。而地址碼的位數則決定了CPU可訪問的最大內存空間,這是影響CPU性能的一個重要因素。中、低端應用(如洗衣機、微波爐、數碼相機等)的嵌入式計算機大多是8位、16位或32位的CPU,中、高端智能手機和PC使用的CPU早些年大多是32位處理器,現在使用的都是64位CPU。
●主頻(CPU時鍾頻率)。指CPU中電子線路(門電路)的工作頻率,它決定著CPU芯片內部數據傳輸與基本操作的速度快慢。一般而言,執行1條指令需要1個或幾個時鍾周期,所以主頻越高,執行一條指令需要的時間就越少,程序運行的速度就越快。20世紀80年代初PC機CPU的主頻不超過10MHz,現在個人計算機和高端智能手機的CPU主頻都在1~4GHz之間。CPU的速度不僅與主頻有關,而且與每個時鍾周期能完成幾條指令有關,而這又與CPU的微架構密切相關。
●高速緩存(cache)的容量與結構。程序運行過程中高速緩存有利於減少CPU訪問內存的次數。通常,cache容量越大、級數越多,其效用就越顯著。
●邏輯結構(微架構)。CPU包含的定點運算器和浮點運算器數目、有無數字信號處理功能、有無指令預測功能、流水線結構和級數等都對程序運行的速度有影響,甚至對某些特定應用有很大的影響。
●CPU核的個數。為提高CPU芯片的性能,現在CPU芯片往往包含有2個、4個、6個甚至更多CPU核,每個核都是一個獨立的CPU,有各自的1級和2級cache,共享3級cache和前端總線。在操作係統支持下,多個CPU核並行工作,核越多,CPU芯片整體性能越高。需要說明的是,由於算法和程序的原因,n個核的CPU性能絕不是單核CPU的n倍。
本章閱讀材料2.2將介紹CPU常用術語和提高CPU性能所采取的一些措施。
多年來,度量CPU性能使用的指標有MIPS(百萬條定點指令\/秒)、MFLOPS(百萬條浮點指令\/秒)和TFLOPS(萬億條浮點指令/秒)。但應用程序執行速度不僅與CPU、內存有關,而且與硬盤、存儲器、操作係統等也有密切關係,再加上實際應用又千變萬化,因此除了巨型機、大型機之外,個人計算機一般並不使用上述指標來衡量其性能,而是麵向應用進行綜合性能測試後給出評分。
複習題
(1) CPU的作用是什麼?原理上由哪三部分組成?與內存是什麼關係?
(2) 什麼是指令?什麼是指令係統?指令與程序是什麼關係?
(3) CPU是怎樣執行一條指令的?分為哪些基本步驟?
(4) 計算機之間的兼容性是什麼含義?蘋果手機與華為手機兼容嗎?為什麼?
(5) 程序運行的速度與CPU哪些因素有關?你能大體理解CPU主要參數的含義嗎?
2.3主板、內存和I\/O
各種類型的計算機其硬件主要由CPU\/SoC芯片、存儲器、總線及I\/O接口和相關的I\/O設備所組成,本節對主板、內存和I\/O控製進行介紹。
2.3.1主板、芯片組與BIOS
1. 主板
無論是台式機、筆記本電腦還是智能手機,CPU\/SoC芯片、存儲器芯片、總線和I\/O控製器等電路都是安裝在印製電路板上的,除了芯片和電子元件之外,電路板上還安裝了多種用作I\/O接口的插頭插座,這種電路板就稱為計算機的主板(或母板)。
以台式PC為例,主板上通常安裝有CPU插座、芯片組、存儲器插座、擴充卡插座、顯卡插座、BIOS芯片、CMOS存儲器、輔助芯片和若幹用於連接外圍設備的I\/O接口(圖28)。
圖28台式PC主板示意圖
CPU芯片和內存條分別通過主板上的CPU插座和內存條插座安裝在主板上。PC常用外圍設備通過擴充卡(例如聲音卡、顯示卡等)或I\/O接口與主板相連,擴充卡借助卡上的印刷插頭插在主板上的PCI或PCIE總線插座中。隨著集成電路的發展和計算機設計技術的進步,許多擴充卡的功能已經部分或全部集成在芯片組和主板上(例如,串行口、並行口、聲卡、網卡等控製電路),因而主板的結構越來越簡化。
主板上還有兩塊特別有用的芯片:一塊是閃速存儲器(flash memory),其中存放的是基本輸入\/
輸出係統(BIOS),它是PC啟動時最先運行的軟件,沒有它機器就無法啟動;另一塊芯片是CMOS存儲器,其中存放著與計算機係統相關的一些參數(稱為“配置信息”),包括當前的日期和時間
、開機口令、已安裝的光驅和硬盤的個數及類型、加載操作係統的順序等。CMOS芯片是一種易失性存儲器,它由主板上的紐扣電池供電,所以計算機關機後也不會丟失所存儲的信息。
2. 芯片組
芯片組(chipset)是PC各組成部分相互連接和通信的樞紐,它既實現了PC總線控製的功能,又提供了各種I\/O接口及相關的控製。沒有芯片組,CPU就無法與內存、擴充卡、外設等互相連接。
芯片組安裝在PC主板上,原先一共有兩片集成電路:北橋芯片和南橋芯片。北橋芯片是存儲控製中心,用於高速連接CPU、內存條、顯卡,並與南橋芯片互連;南橋芯片是I\/O控製中心,主要與PCI總線插槽、USB接口、硬盤接口、音頻編解碼器、BIOS和CMOS存儲器等連接,CPU的時鍾信號也由芯片組提供。隨著集成電路技術的進步,北橋的大部分功能(如內存控製、顯卡接口等)已經集成在CPU芯片中,其他功能則合並至南橋芯片,所以現在隻需要1塊芯片(稱為單芯片的芯片組)即可完成係統所有硬件的連接。目前廣泛使用的Core i7\/i5\/i3、賽揚、奔騰等CPU芯片都是如此,圖29是芯片組與主板上各個部件互連的示意圖,它有一定的代表性。
圖29CPU、芯片組與主板其他部件的連接
從圖29可以看出,CPU芯片使用高速通路直接連接內存儲器和獨立顯卡,並通過DMI與單芯片的芯片組X99連接。DMI實質上就是2.3.3中要介紹的PCIE總線,它采用點對點的通信方式, DMI 2.0提供4條通路,每條通路的傳輸速率是2GB\/s,總帶寬可達8GB\/s。X99芯片包含有PCIE、USB、SATA等的控製電路,借助擴充插座和I\/O接口可以連接多種多樣的外圍設備,在係統中起著重要的交通樞紐的作用。
需要注意的是,有什麼樣功能和速度的CPU,就需要使用什麼樣的芯片組。芯片組是與CPU芯片及外圍設備配套和同步發展的。
智能手機的主板上並沒有芯片組,擴展功能有限,外設接口很少,必需的一些控製電路已經集成在SoC芯片中了。
3. BIOS
BIOS的中文名叫作基本輸入\/輸出係統,它是存儲在主板上閃速存儲器中的一組程序。由於存放在閃存中,即使機器關機,它的內容也不會改變。每次機器加電時,CPU總是首先執行BIOS程序,它具有診斷計算機故障及加載操作係統並啟動其運行的功能。
BIOS主要包含四個部分的程序:加電自檢程序,係統盤主引導記錄的裝入程序,CMOS設置程序和基本外圍設備的驅動程序。有關計算機操作係統的啟動過程在第3章再介紹。
2.3.2內存儲器
1. 存儲器的層次結構
計算機和智能手機中有多種不同類型的存儲器。通常,存取速度較快的存儲器成本較高,速度較慢的存儲器成本較低。為了使存儲器的性能\/價格比得到優化,計算機中各種存儲器往往組成一個層狀的塔式結構(圖210),它們相互取長補短,協同工作。
(注:後備存儲器的存取時間包括換帶、換盤的機械操作時間在內)圖210存儲器的層次結構
2. DRAM、SRAM和ROM
內存儲器由半導體集成電路構成,具有高速讀寫和按字節隨機存取的特性,也稱為隨機存取存儲器(RAM),斷電時信息會丟失,屬於易失性存儲器。RAM目前多采用MOS型半導體集成電路芯片製成,根據其保存數據的機理又可分為DRAM和SRAM兩種(圖211):
圖211半導體存儲器的類型及其在計算機中的應用
(1) DRAM(動態隨機存取存儲器)。芯片的電路簡單,集成度高,功耗小,成本較低,適合用作內存儲器的主體部分(稱為主存儲器或主存,即手機中的運行內存)。但它的速度比CPU慢,為了匹配CPU速度,出現了多種不同結構的DRAM,以改善其性能。
(2) SRAM(靜態隨機存取存儲器)。與DRAM相比,它的電路較複雜,集成度低,功耗較大,製造成本高,價格貴,但工作速度很快,與CPU速度相差不多,適合用作高速緩衝存儲器cache(目前大多與CPU集成在同一芯片中)。
除了易失性的RAM存儲器之外,半導體存儲器的另外一類是非易失性存儲器。其中EEPROM(電可擦可編程隻讀存儲器)能按“位”擦寫信息,但速度較慢、容量不大,由於價格便宜,在低端產品(如IC卡)中用得較多。另一種flash memory(快擦除存儲器,或閃速存儲器,簡稱閃存)是EEPROM的改進,它是一種新型的非易失性存儲器,速度快、容量大,能像RAM一樣寫入信息。它的工作原理是:在低電壓下,存儲的信息可讀但不可寫,這時類似於ROM;而在較高的電壓下,所存儲的信息可以更改和刪除,這時又類似於RAM。
flash存儲器有兩類:或非型(NOR flash)和與非型(NAND flash)。NOR flash以字節為單位進行隨機存取,存儲在其中的程序可以直接被CPU執行,可用作內存儲器(例如存儲BIOS程序的flash存儲器);NAND flash以頁(塊)為單位進行存取,讀出速度較慢,通常應將程序或數據先成批讀入到RAM中再進行處理,但它在容量、使用壽命和成本方麵有較大優勢,大多作為存儲卡、U盤或固態硬盤(SSD)等輔助存儲器使用,智能手機中所謂“手機存儲”“機身存儲”之類的輔助存儲器,都是NAND型閃速存儲器。
3. 主存儲器大多數情況下,人們並不嚴格區分主存、內存和RAM三個不同的名稱,而是根據使用場合理解其含義。
服務器、PC、智能手機等的主存儲器主要是由DRAM芯片組成的。它包含有大量的存儲單元,每個存儲單元可以存放1個
字節(8個二進位)。存儲器的存儲容量就是指它所包含的存儲
單元的總和,單位是 MB(1MB=220字節)或GB(1GB=230字節)。每個存儲單元都有一個地址,CPU按地址對存儲器的內容進行訪問(圖212)。
圖212主存儲器的結構與工作原理
存儲器的存取時間(access time)指的是從CPU給出存儲器地址開始到存儲器讀出數據並送到CPU(或者是把CPU數據寫入存儲器)所需要的時間。主存儲器存取時間的單位是納秒(ns,1ns=10-9s)。
由於CPU的速度很高,而且越來越高,而DRAM芯片所組成的主存儲器速度比CPU要慢一個數量級以上。從主存儲器取數或存數時,CPU必須停下來等待,這顯然難以發揮CPU的高速特性。解決這個矛盾通常采取如下三個措施:
(1) 采用cache(高速緩衝存儲器)。cache是將SRAM存儲電路直接製作在CPU芯片內的一種小容量高速存儲器,其存取速度幾乎與CPU一樣快。計算機在啟動執行程序時,預先將數據和指令從主存成批讀出存入cache。當CPU需要讀取數據或指令時,先檢查cache中有沒有,若有,就直接從cache中讀取,而不用訪問主存,這就大大提高了CPU的效率(參見閱讀材料2.2)。
(2) 改進存儲器芯片的結構和控製。DRAM存儲電路的工作頻率通常在100~200MHz之間,很難再大幅提高。考慮到CPU芯片中都內置有cache存儲器,運行程序時,隻有當CPU在cache中找不到相應的指令或數據才需要訪問DRAM存儲器。因而CPU對DRAM的訪問大多以cache的一行(至少64個字節)為單位進行突發式讀寫,即連續地讀(或寫)以64為倍數的一連串相鄰地址的字節。因此DRAM存儲器的結構可采取多個存儲陣列交叉並行工作,設置內部緩衝,進行多位預取等,使這種突發式讀寫操作能高速度地進行。現在服務器、PC和智能手機等廣泛使用的DDR3\/DDR4 SDRAM(第3代\/第4代雙倍速率同步DRAM)存儲器就是基於上述原理開發出來的。
(3) 改進CPU與主存芯片的連接,加快CPU與主存之間的數據傳輸。例如Intel CPU芯片(Core i7\/i5\/i3、奔騰、賽揚等)中都集成了存儲器控製電路,使CPU與主存儲器直接連接,不再需要使用北橋芯片轉接。此外,CPU芯片與存儲器之間的數據傳輸方式為64位並行(64根數據線),有些還能支持雙通道甚至四通道進行數據傳輸(參見圖29),從而使CPU與主存儲器之間的最高傳輸速率可達每秒幾十個GB。
台式PC主存儲器在物理結構上由若幹內存條組成,內存條是把若幹片DRAM芯片焊在一小條印製電路板上做成的部件。內存條必須插入主板上的內存條插座中才能使用。DDR3和DDR4均采用雙列直插式(DIMM)內存條。PC主板上一般都配備有2個或4個DIMM插座。
智能手機等移動終端設備現在使用的主存儲器也是由DDR SDRAM存儲芯片構成的。為減少能耗,一般選用低功耗的存儲芯片(LPDDR3\/LPDDR4)。另外,由於受體積限製,存儲芯片都直接焊裝在主板上,用戶不能更換也無法擴充其容量。
2.3.3I\/O總線與I\/O接口
1. I\/O操作和I\/O總線
I\/O操作的任務是將輸入設備輸入的數據送入計算機內存,或者將數據從內存讀出送到輸出設備。I\/O操作是CPU執行I\/O指令啟動I\/O控製器完成的。I\/O指令指出啟動哪個設備,執行何種操作,數據傳送到內存什麼位置(或從內存什麼位置讀出數據送到I\/O設備),傳輸多少數據,等等。從這個角度來說,輔助存儲器與內存儲器之間的數據傳輸也屬於I\/O操作,硬盤、U盤、光盤、通信網絡等也可看作I\/O設備。
在CPU指揮下,計算機的I\/O設備可以同時工作,即多個I\/O設備可分別同時與內存進行數據傳輸。計算機中用於在I\/O設備與內存之間傳輸數據的部件(傳輸線路及其控製器)稱為I\/O總線(I\/O bus)。
I\/O總線的主要任務是高速傳輸數據,總線的帶寬(bandwidth,即單位時間內可傳輸的最大數據量)是衡量I\/O總線最重要的性能指標。PC使用的I\/O總線經曆了多次技術演變,從第1代的ISA總線、EISA總線發展為第2代的PCI總線、PCIX總線,再到現在廣泛使用的第3代PCIExpress(簡稱PCIE或PCIe)總線,帶寬越來越高,性能越來越好。
PCIE是PCI總線的改進,它以點對點的方式進行數據的串行傳輸。PCIE包括×1、×4、×8和×16等規格,分別表示有1、4、8或16個傳輸通路,每個通路的數據傳輸速率為1GB\/s(3.0版本)或2GB\/s(4.0版本),n個通路則可使帶寬提高n倍。
台式PC電腦中,PCIE總線呈現為樹狀結構[圖213(a)]。其主控製器是“樹根”,它有若幹分支,有的分支通過PCIE×16插座連接顯卡及顯示存儲器,有的分支通過交換器(switch)連接主板上的若幹PCIE×1(和\/或PCIE×4)插座,有的分支通過橋接器連接主板上第2代總線PCI\/PCIX插座,所有分支均連通樹根(主控製器)再與CPU芯片及內存連接。
圖213PCIE總線
PCIE最大的意義在於它的通用性,它把整個I\/O統一起來了,增加了計算機的可移植性和模塊化。以圖29為例,PCIE主控製器集成在Core i7\/i5\/i3 CPU芯片中,它的1個分支連接PCIE×16插座(最多可以2個),用以插入顯卡;交換器和橋接器則在芯片組X99中,交換器最多可連接8個PCIE×1插座,用以插入擴充卡。此外,X99中還使用適配電路使硬盤接口SATA(最多10個)和USB接口(最多14個)與PCIE相通。X99本身則借助DMI接口(實為4通路的PCIE)與CPU中的主控製器高速連接。
PCIE總線的傳輸性能很高,目前第3和第4版產品已廣泛使用,PCIE×1即可滿足主流聲卡、網卡和多數輔助存儲器對數據傳輸帶寬的要求,而PCIE×16能提供高達16GB\/s和32GB\/s的帶寬,可更好地滿足高性能獨立顯卡對高數據傳輸速率的需求。
除了數據傳輸速率高的優點之外,由於是串行接口,PCIE插座的針腳數目也大為減少,這樣就降低了PCIE插頭\/插座的體積和成本[圖213(b)]。此外,PCIE也支持高級電源管理和熱插拔。目前PCIE×1和PCIE×16已經成為台式PC電腦主板的標配。
2. I\/O接口——USB
I\/O設備大多是獨立的物理實體,它們在需要時才與主機連接。用於連接I\/O設備的連接器(connector)也稱為插頭\/插座。主機上一般是插座,它通過數據線與I\/O設備連接,也可以通過WiFi、藍牙或紅外線連接。計算機中用於連接I\/O設備的連接器以及用於實現I\/O通信規程的控製電路就稱為I\/O設備接口,簡稱I\/O接口。
通用計算機可以連接許多不同種類的I\/O設備,以前不同設備使用不同的I\/O接口,類型繁多。現在除了顯示器和硬盤還有自己的專用接口之外(分別在本章2.5.1和2.6.1中介紹),其他設備幾乎都使用USB接口進行連接。
USB是英文universal serial bus的縮寫,它是一種通用的總線式串行傳輸接口。一個USB接口借助USB集線器(hub)以樹狀方式可連接多個設備同時進行I\/O操作(集線器最多5級、設備最多127個),它們以主從方式進行工作,即所有數據傳輸操作都由主設備(host)主動發起,從設備(slave)負責應答。通常,主機是主設備,外設是從設備。帶USB接口的外設可以自己供電,也可通過USB接口由主機供電。
USB接口的最大特點是支持“即插即用”(PnP)和“熱插拔”。在操作係統的支持下,用戶把I\/O設備插入USB接口之後,計算機會自動識別該設備,加載所需的驅動程序,修改係統的配置使其正常工作。USB接口還支持熱插拔,即不需要計算機關機,隻要I\/O設備已經停止工作,就可以進行插拔,給用戶帶來了很大方便。
在USB接口中,數據的傳輸是通過差分信號以串行方式進行的。USB 2.0使用1對雙絞線進行半雙工傳輸,最高有效數據傳輸速率可達480Mb\/s(60MB\/s)。性能更好的USB 3.0增加2對雙絞線用於全雙工高速數據傳輸,最高有效傳輸速率可達5Gb\/s(625MB\/s),現已廣泛采用。最新的USB 3.1版,其最高有效傳輸速率可達10Gb\/s(1.25GB\/s),蘋果公司的MacBook筆記本電腦、華為的高檔智能手機等已經開始采用。
USB接口使用的連接器不需要螺釘固定,可方便地進行插拔。但連接器規格有多種,按用於主機還是用於外設有A型、B型之分,按形狀大小有標準型、小型(mini)和微型(micro)之分,隨著USB版本的升級它們又有區別,這給用戶造成了混亂和不便。表23是USB接口的版本及常用連接器類型的比較。
表23USB接口的版本及常用的連接器
USB 2.0USB 3.0USB 3.1
特點帶寬:480Mb\/s;
供電:4.4~5.25V,100~500mA帶寬:5Gb\/s;供電:
+5V,150~900mA帶寬:
10Gb\/s
標準A標準B小型B微型B標準A微型BUSBC
插頭
插座
說明PC主機使用PC外設使用數碼產品手機等移動終端PC主機使用外置硬盤、U盤、藍光光驅等各種設備的通用連接器
注:圖形比例與實際產品有差異。
USB接口有多個版本,早期的1.0版和1.1版已很少使用,現在普遍使用的是USB 2.0版,其微型B連接器(MicroB)已經逐步替代Mini連接器,幾乎已成為智能手機等便攜式設備的標配。
USB 3.0除了速度是USB 2.0的10倍之外,電源供電能力也提升到900mA。USB 3.0的連接器有一定兼容性,即2.0標準A插頭也可以插入3.0標準A插座工作(反之,3.0標準A插頭也可以插入2.0標準A插座工作),2.0微型B插頭也能插入3.0微型B插座工作(反之則不可)。
USB 3.1是基於USB 3.0改良後推出的USB接口的新版本,最高傳輸速度由USB 3.0的5Gb\/s提升為10Gb\/s,供電能力最大為100W。
與USB 3.1版一起推出的一種新型連接器稱為“TypeC”(也稱為USBC),它的外形比2.0微型B連接器略大,正反兩麵各有12個觸點,不再需要區分插頭和插座的方向,正反均可插入,為用戶提供了方便。更為重要的是,它有多種工作模式,不僅支持USB 3.1版,而且支持3.0\/2.0\/1.1等各種版本,不僅用於主設備,也可用於從設備;它還支持高品質的音視頻信號輸出功能,有望取代HDMI接口。
近兩年TypeC連接器在智能手機中的應用已日趨廣泛。需要說明的是,一些手機雖然使用了TypeC連接器,但USB接口電路可能還是2.0或3.0版,而非31版。
3. 智能手機的I\/O接口
大多數智能手機之類的移動終端設備,都采用USB作為它們的I\/O接口,以“從設備”的身份與PC電腦(“主設備”)相互連接,實現數據傳輸和軟件下載安裝。盡管在某些特定軟件(如手機助手)的支持下,PC的鍵盤、鼠標等也可操控智能手機,但智能手機仍然隻是PC的一個I\/O設備。
近些年來,越來越多的智能手機采用USB 2.0 OTG接口,這種接口擴展了傳統USB 2.0的功能,使得智能手機具有雙重身份:它們既可作為“從”設備(I\/O設備)連接到PC(“主控設備”),由PC對其進行控製、訪問、數據傳輸和充電,又可以讓智能手機本身作為“主控設備”,去連接U盤、打印機、鼠標、鍵盤等“從”設備,以達到擴充輔助存儲器容量、方便輸入\/輸出的目的。注意,USB 2.0 OTG接口使用的微型連接器中,增加了1個用於識別是“主控”設備還是“從”設備的引腳(ID),當使用普通的USB連接線進行連接智能手機時,它是“從”設備;若使用專門的OTG連接線,它就成為“主控”設備了。
蘋果公司的iPhone、iPad沒有USB接口,它使用的閃電(Lightning)接口有8個引腳,數據線的插頭正反兩個方向均可插入使用,非常方便。借助數據線可連接電腦傳輸數據和安裝軟件,連接充電器進行充電,連接音響設備播放音樂。也可以通過專門的基座連接各種外設,以擴充iPad\/iPhone的功能。一些第三方廠商還開發了各種適配器,借助於這些適配器,iPad、iPhone可以與數碼相機、讀卡器、U盤、移動硬盤、鍵盤、鼠標、投影儀、電視機、音響等多種設備連接。
除了上述USB接口或Lightning接口之外,幾乎所有智能手機還配置了無線傳輸方式的I\/O接口,如藍牙、NFC(近場通信)等,它們可以用來連接耳機、鍵盤、鼠標器、智能手表\/手環、IC卡、音箱、數碼相機、打印機等,為移動終端設備提供了較好的擴展性,有關藍牙和NFC的介紹可參看閱讀材料2.4。
複習題
(1) 台式PC的機箱內安裝了哪些部件?主板上安裝了哪些部件和器件?你能識別這些部件和器件嗎?
(2) 什麼是芯片組?它與I\/O總線(如PCIE)是什麼關係?
(3) PC和智能手機中有哪些存儲器?華為手機中的運行內存和機身存儲分別是什麼?
(4) 什麼是內存條?你使用的PC內存條容量多大,與CPU是如何連接的?
(5) 什麼是USB接口?有哪些不同的版本,分別使用何種連接器?
2.4常用輸入設備
輸入設備用於向計算機輸入命令、數據、文本、聲音、圖像和視頻等信息,它們是計算機係
統必不可少的重要組成部分。本節介紹鍵盤、鼠標器、觸摸屏、掃描儀、數碼相機和傳感器等常用的輸入設備。
2.4.1字符與命令輸入設備
1. 鍵盤
鍵盤是計算機最常用也是最主要的輸入設備。用戶通過鍵盤可以將字母、數字、符號等送入計算機,用來向計算機發出命令和輸入中西文字與數據。
計算機鍵盤上有一組印有不同符號標記的按鍵,按鍵以矩形排列安裝在電路板上。這些按鍵
包括數字鍵(0~9)、字母鍵(A~Z)、符號鍵、運算鍵以及若幹控製鍵和功能鍵。表24是PC鍵盤中部分常用控製鍵的主要功能。
表24PC鍵盤中部分控製鍵的作用
控製鍵名稱主要功能
Altalternate的縮寫,它與另一個(些)鍵一起按下時,將發出一個命令,其含義由正在運行的程序決定
Ctrlcontrol的縮寫,它與另一個(些)鍵一起按下時,將發出一個命令,其含義由正在運行的程序決定
Delete刪除光標右麵的一個字符,或者刪除一個(些)已選擇的對象
End一般是把光標移動到行末
Escescape的縮寫,經常用於退出一個程序或操作
F1~F12共12個功能鍵,其功能由操作係統及運行的應用程序決定
Home通常用於把光標移動到開始位置,如一個文檔的起始位置或一行的開始處
Insert輸入字符時可以有覆蓋方式和插入方式兩種,Insert鍵用於在兩種方式之間進行切換
(續表)
控製鍵名稱主要功能
Num Lock數字小鍵盤可以像計算器鍵盤一樣使用,也可作為光標控製鍵使用,由本鍵在
兩者之間進行切換
Page Up使光標向上移動若幹行(向上翻頁)
Page Down使光標向下移動若幹行(向下翻頁)
Print Screen記錄當時的屏幕映像(截屏),將其複製到剪貼板中
PC電腦的鍵盤上左右各有1個印有微軟Windows圖標的鍵,俗稱Win鍵,它與字母鍵組合使用能快捷啟動一些常用功能,以提高操作效率。
鍵盤上的按鍵大多是電容式的。電容式鍵盤的優點是:擊鍵聲音小,無觸點,不存在磨損和
接觸不良問題,壽命較長,手感好。為了避免電極間進入灰塵,按鍵采用密封組裝,鍵體
不可拆卸。
用戶按下每個按鍵時,它們會發出不同的信號,這些信號由鍵盤內部的電子線路轉換成相應
的二進製代碼,然後通過鍵盤接口(USB或PS\/2)送入計算機。
無線鍵盤采用藍牙、紅外線等無線通信技術,它與電腦主機之間沒有物理連線,而是通過無線電波或紅外線將輸入信息傳送給計算機上安裝的專用接收器,距離可達幾米,因而操作使用比較靈活方便。
智能手機使用的是“軟鍵盤”(虛擬鍵盤)。當用戶需要使用鍵盤輸入信息時,屏幕上會出現類似於ASCII鍵盤的一個圖像,用戶用手指觸摸其中的按鍵即可輸入相應的信息,不使用時虛擬鍵盤可從屏幕上消失。
2. 鼠標器
鼠標器(mouse)簡稱鼠標,它能方便地控製屏幕上的鼠標箭頭準確地定位在指定的位置處,並通過按鍵進行各種操作。它的外形輕巧,操縱自如,尾部有一條連接計算機的電纜,形似老鼠,故得其名。由於價格低,操作簡便,用途廣泛,目前它已成為台式PC必備的輸入設備之一。
當用戶移動鼠標器時,借助於機電或光學原理,鼠標移動的距離和方向將分別變換成脈衝信號輸入計算機,計算機中運行的鼠標驅動程序把接收到的脈衝信號再轉換成為鼠標器在水平方向和垂直方向的位移量,從而控製屏幕上鼠標箭頭的運動。Windows中鼠標箭頭的常見形狀及含義如表25所示。
表25Windows中鼠標箭頭的常見形狀及含義
鼠標箭頭形狀含義鼠標箭頭形狀含義
標準選擇調整窗口垂直大小
文字選擇調整窗口水平大小
幫助選擇窗口對角線調整
後台操作窗口對角線調整
程序忙移動對象
鼠標器通常有兩個按鍵,稱為左鍵和右鍵,它們的按下和放開,均會以電信號形式傳送給主
機。至於按動按鍵後計算機做些什麼,則由正在運行的軟件決定。除了左鍵和右鍵之外,鼠
標器中間還有一個滾輪,可以用來控製屏幕內容進行上、下移動,它與窗口右邊框滾動條的功能相當。當你看一篇比較長的文章時,向後或向前轉動
滾輪,就能使窗口中的內容向上或向下移
動。
鼠標器的結構經過了幾次演變,現在流行的是光電鼠標。它使用一個微型鏡頭不斷地拍攝鼠標器下方的
圖214光電鼠標器
圖像,經過一個專用的微處理器(數字信號處理器DSP)對圖像顏色或紋理的變化進行分析,計算出鼠標器的移動方向和距離。光電鼠標器的工作速度快,準確性和靈敏度高(分辨率可達800dpi以上),幾乎沒有機械磨損,很少需要維護,也不需要專用鼠標墊。除了玻璃、金屬等光亮表麵外,幾乎在任何平麵上均可操作。圖214是光電鼠標的正麵和底麵的照片。
鼠標器與主機的接口主要有兩種:PS\/2接口和USB接口。現在,使用藍牙通信的無線鼠標也已逐步流行,作用距離有的可達10m。
為了節省空間,筆記本電腦使用軌跡球、指點杆和觸摸板等替代鼠標器的功能。軌跡球類似於一個倒置的鼠標器,用戶用手指移動球體就能控製屏幕上鼠標箭頭的位置,其下方的兩個按鍵,功能相當於鼠標的左右鍵。指點杆的形狀很像橡皮鉛筆上的橡皮頭,它
安裝在筆記本電腦鍵盤的正中間,是一個壓力敏感裝置,用戶以手指觸動指點杆時,屏幕上的鼠標箭頭將會按手指的用力方向移動。觸摸板也是筆記本電腦中鼠標器的一種替代設備,它是安裝在鍵盤下方的一塊矩形小平板,是一種壓力和運動的敏感裝置,當用戶的手指在其表麵移動時,屏幕上的鼠標箭頭也同步地隨著手指的移動而移動,從而達到控製鼠標箭頭的目的。
與鼠標器作用類似的設備還有操縱杆(joystick)和觸摸屏。操縱杆由基座和控製杆組成,它能將控製杆的物理運動轉換成數字電子信號向主機輸入,控製杆上的按鈕則用於發出動作命令。操縱杆在飛行模擬、工業控製、技能培訓和電子遊戲等應用領域中很受用戶歡迎。
3. 觸摸屏
現在,便攜式數字設備如智能手機、電子書閱讀器、GPS定位儀等廣泛使用觸摸屏(圖215)作為其輸入設備。觸摸屏兼有鼠標和鍵盤的功能,可以手寫漢字和西文字母輸入,深受用戶歡迎。除了移動終端設備之外,博物館、醫院等公共場所的多媒體電腦或查詢終端也已廣泛使用觸摸屏。
圖215觸摸屏
觸摸屏是在液晶麵板上覆蓋一層透明的觸摸麵板,它對壓力很敏感,當手指或塑料筆尖施壓其上時會有電流產生以確定壓力源的位置,並可對其觸摸位置進行跟蹤,用以取代鼠標器。觸摸麵板附著在液晶屏上,不需要額外的物理空間,具有視覺對象與觸覺對象完全一致的效果,實現無損耗、無噪聲的控製操作。
智能手機使用的“多點觸摸屏”與傳統電阻型(壓感式)的單點觸摸屏不同,它大多基於電容傳感器原理,可以同時感知屏幕上的多個觸控點。用戶除了能進行單擊、雙擊、平移等操作之外,還可以使用雙手(或多個手指)對指定的屏幕對象(如一幅圖像、一個窗口等)進行縮放、旋轉、滾動等控製操作。這種新鮮感十足的操控設計已經成為吸引用戶的一個亮點。
除了上述鍵盤、鼠標器、觸摸屏等人工輸入字符和命令的設備之外,借助掃描儀、攝像頭、話筒、讀卡器等也可以向計算機\/智能手機輸入字符和命令,此類方法稱為自動識別輸入,特點是速度快、效率高,但技術更複雜一些。詳情可參看第5章閱讀材料5.2。
2.4.2圖像輸入設備
1. 掃描儀
掃描儀是將原稿(圖片、照片、底片、書稿)的影像輸入計算機的設備。按掃描儀的結構
來分,掃描儀可分為手持式、平板式、膠片專用和滾筒式等幾種。
手持式掃描儀工作時,操作人員用手拿著掃描儀在原稿上移動。它的掃描頭比較窄,隻適用於一行一行地掃描文字稿。
平板式掃描儀主要掃描反射式原稿,它的適用範圍較廣,單頁紙可掃描,一本書也可逐頁掃
描。它的掃描速度、精度、質量比較好,已經在家用和辦公自動化領域得到了廣泛應用。
膠片掃描儀和滾筒式掃描儀都是高分辨率的專業掃描儀,它們在光源、色彩捕捉等方麵均具
有較高的技術性能,光學分辨率很高,這種掃描儀多數都應用於專業印刷排版領域。
掃描儀是基於光電轉換原理而設計的,上述幾種類型的掃描儀工作原理大體相同,隻不過是
結構和使用的感光器件不同而已。現以平板式掃描儀為例,介紹它的工作原理(圖216)。
圖216CCD掃描儀工作原理
掃描儀工作時,將被掃描的原稿正麵朝下放置在掃描儀玻璃板上。掃描儀采用高亮度的
光束照射圖像,由電機牽動的掃描頭沿著原稿移動,並接收從原稿反射回來的光束。由於
黑色、白色、彩色的不同以及灰度的區別,反射回來的光強度也有不同,這種反射光被聚焦
後照射在分別裝有紅、綠、藍濾鏡的三排CCD(電荷耦合器件)感光器件上,通過光電轉換產生電流輸出。照射光強,電流大,照射光弱,電流小,再經模數轉換器(A\/D轉換器)轉換,就變成計算機可以處理的數字信號。這種數字信號還要由專門的軟件進行各種校正和平滑處理,得到的圖像數據以指定的文件格式(如TIF或JPG文件)存儲在計算機中。
掃描儀的主要性能指標包括:
(1) 掃描儀的光學分辨率。它反映了掃描儀掃描圖像的清晰程度,用縱向和橫向每英寸的取樣點(像素)數目(dpi)來表示。普通家用掃描儀的最高分辨率可達到1600~3200dpi,使用時可根據需要自行設置。
(2) 色彩位數(像素深度)。它反映了掃描儀對圖像色彩的辨析能力,色彩位數越多,
反映的色彩就越豐富,得到的數字圖像效果也越真實。色彩位數可以是24位、36位、42位、48位等,分別可表示224、236、242、248種不同的顏色。使用時可根據應用需要選擇黑白、灰度或彩色工作模式,並設置灰度級數或色彩的位數。
(3) 掃描幅麵。指允許被掃描原稿的最大尺寸,例如A4、A3、A1、A0等。
(4) 與主機的接口。辦公或家用掃描儀大多采用USB接口與主機連接。
實際使用時,分辨率的設置、色彩類型和位數的選擇、掃描窗口大小的設定等都會影響到輸入圖像的質量和數據量大小。
2. 數碼相機\/攝像頭
數碼相機(digital camera,簡稱DC)是廣泛使用的圖像輸入設備。與傳統照相機相比,數碼相機不需要使用膠卷,能直接將照片以數字形式記錄下來,並
輸入電腦進行存儲、處理和顯示,或通過打印機打印出來,或與電視機連接進行觀看。
數碼相機的鏡頭和快門與傳統相機基本相同,不同之處是它不使用光敏鹵化銀膠片成像,而
是將影像聚焦在成像芯片(CCD或CMOS)上,並由成像芯片轉換成電信號,再經模數轉換(A
\/D轉換)變成數字圖像,經過必要的圖像處理和數據壓縮(大多采用JPEG標準,參見5.2.2節)之後,存儲在相機內部的閃速存儲器中。其中成像芯片是數碼相機的核心。圖217是數碼相機的成像過程。
圖217數碼相機的成像過程
采用CCD(或CMOS)芯片成像時,CCD芯片中數以億計的CCD像素(元件)排列成1個矩形成像區,每個CCD像素均可感測影像中的一個點,將其光信號轉換為電信號。顯然,CCD像素越多,影像分解的點就越多,最終所得到的圖像分辨率(清晰度)就越高,圖像的質量也越好。所以,CCD像素的數目是數碼相機一個重要的性能指標。以華為M30 Pro手機為例,其2個主攝像頭的像素數目均為4 000萬,前置攝像頭也達到3 200萬像素。
經過CCD芯片成像並轉換得到的數字圖像,存儲在數碼相機的存儲器中。數碼相機的存儲器大多采用由閃速存儲器組成的存儲卡,如MMC卡、SD卡、記憶棒(memory stick)等,即使關機也不會丟失信息。存儲卡的容量和存取速度也很重要,在照片分辨率和質量要求相同的情況下,存儲卡容量越大,可存儲的照片就越多。
從計算機角度看,數碼相機其實是一種嵌入式計算機。圖218是數碼相機的組成結構,其前端由鏡頭、CCD或CMOS圖像傳感器及驅動電路(TG)、取樣控製器(CDS)、模數轉換器(ADC)等組成,所獲取的數字圖像信號送後端進行處理;後端的CPU用於完成數字圖像處理(如色彩處理、分辨率轉換、JPEG編碼\/解碼、視頻MPEG4編碼\/解碼等)和聲音的錄製與播放,外圍電路則負責存儲卡的讀寫、液晶顯示屏控製、TV視頻輸出、USB接口控製等。此外還有一個8位微控製器(通用MCU),它負責進行操作控製,如鏡頭的自動變焦、快門控製、閃光燈控製等。
圖218數碼相機的組成結構
現在,智能手機的攝影\/攝像功能越來越豐富,性能堪比一般的數碼相機,拍攝的照片可立即進行識別、編輯和通過互聯網進行傳輸,深受用戶的歡迎。
2.4.3傳感器
傳感器(transducer\/sensor)是一種檢測裝置,它能感知被測量的信息,並將其變換成電信號輸入計算機,供計算機進行測量、識別、轉換、存儲、顯示或傳輸等處理。
以高端智能手機為例,除了前麵已經介紹的觸摸屏、攝像頭、微型話筒之外,它還配置了其他多種傳感器,以便自動采集設備自身和周邊環境的信息。例如:
●指紋傳感器。自動采集用戶指紋,實現對用戶的身份認證。手機上通常采用半導體電容(或電感)式傳感器,在一塊集成有成千上萬半導體器件的平板上,手指貼在上麵與其構成電容(電感)器的另一極,由於手指表麵凹凸不平,接觸平板時與平板的間距大小不一,形成的電容\/電感數值也就不一樣,設備將這些數據進行彙總,就完成了指紋的采集。
●環境光感應器。它能感知設備使用時周圍環境的光線明暗,自動調整屏幕的顯示亮度,這不僅可以節省能耗延長電池壽命,而且對保護眼睛也有利。
●近距離傳感器(proximity sensor)。通過紅外線進行測距,當用戶接聽電話或者裝進口袋時,傳感器可以判斷出手機貼近了人臉或衣服而關閉屏幕的觸控功能,以防止誤操作。
●氣壓傳感器。主要用於檢測大氣壓,感知當前高度以及輔助GPS定位。
●三軸陀螺儀。它能感知手機X、Y、Z三個方向的位置變化,自動調整屏幕以橫向還是縱向進行顯示。
●重力傳感器(加速度感應器)。它能感知用戶晃動手機的速度、角度、方向和力量的大小,陀螺儀和加速度感應器在玩遊戲時很有用。
●磁力計(電子羅盤)。主要作用是電子指南針,輔助GPS定位等。
●3D觸摸傳感器。它嵌在液晶屏的背光層,可測量出用戶觸摸屏幕的力量大小。它與振動器結合,可向用戶提供力反饋。
上述傳感器大多以微型組件的形式安裝在手機主板上,它們自動地不間斷地進行工作,采集各種數據提供給手機。通常,氣壓傳感器、重力感應器、陀螺儀、電子羅盤等所采集的數據都提供給一個“運動協處理器”進行處理,以減輕CPU的負擔。即使手機處於睡眠狀態(CPU停止工作),運動協處理器也可以收集、處理和存儲傳感器的數據,這也是一些用於健康檢測和運動跟蹤的軟件的工作基礎。現在許多智能手機的SoC芯片中,都有運動協處理器集成在其中。
複習題
(1) 列舉PC鍵盤上常用的控製鍵和它們在Windows環境下的功能。
(2) 鼠標器是如何控製鼠標箭頭在屏幕上移動的?使用鼠標器的右鍵和滾輪有什麼好處?
(3) 簡述掃描儀的工作原理。你用過掃描儀輸入圖片嗎?
(4) 數碼相機的主要性能指標有哪些?一台4 000萬像素的數碼相機可以拍攝多高分辨率的照片?若存儲容量為2GB且不進行數據壓縮,一次最多可以拍攝這樣的照片多少張?
(5) 智能手機中有哪些傳感器,各有什麼作用?
2.5常用輸出設備
2.5.1顯示器與顯示卡
顯示器是計算機必不可少的一種圖文輸出設備,其作用是將數字信號轉換為光信號,使文字與圖形在屏幕上顯示出來。沒有顯示器,用戶便無法了解計算機的處理結果和所處的工作狀態,也很難進行操作。
計算機顯示器通常由兩部分組成:顯示器這裏顯示器專指CRT或LCD,但不少情況下提到顯示器時,還包含其控製器(顯卡),需根據上下文理解。和顯示控製器。顯示器是一個獨立設備;顯示控製器在PC中過去多半做成擴充卡的形式,習慣上也叫作顯示卡(顯卡)、圖形卡或者視頻卡。現在智能手機的SoC芯片和PC的CPU芯片中,已經包含有以圖形處理器GPU為中心的顯示控製模塊,這種做法稱為集成顯卡,既降低了成本,也縮小了設備的體積。
1. 液晶顯示器
計算機使用的顯示器主要有兩類:CRT顯示器和液晶顯示器(LCD)。
CRT顯示器由於笨重、耗電,還有輻射,現在幾乎全部被液晶顯示器所取代,隻有很少數台式PC還在使用。
液晶顯示器是借助液晶對光線進行調製而顯示圖像的一種
顯示器。液晶是介於固態和液態之間的一種物態,它既具有液體的流動性,又具有固態晶體
排列的有向性。它是一種彈性連續體,在電場的作用下能快速地展曲、扭曲或者彎曲,從而將背光發出的光線進行有規則的折射,然後經過濾層的過濾在屏幕上顯示出來。
與CRT顯示器相比,LCD具有工作電壓低,電磁輻射小,功耗少,不閃爍,適於大規模集成電路驅動,體量輕薄,易於實現大畫麵顯示等特點,現在已經廣泛應用於計算機、手機、數碼相機、數碼攝像機、電視機等設備。
現在有些台式機和筆記本電腦仍在使用傳統的軟液晶屏,而智能手機則已進入了IPS硬屏時代。IPS液晶屏不會因觸摸而出現水紋,也不因外力按壓而引起色差變化,響應速度快,功耗也低,因而成為觸摸屏的首選。
顯示屏的像素密度也越來越高,例如6英寸左右(對角線)手機屏幕分辨率低的可達1600×720,高的可達2640×1200,每英寸的像素數目均超過300。
除了電腦專用的LCD顯示器之外,現在液晶電視機也可作為電腦和手機的外接顯示器使用。通過電腦的VGA、DVI或者HDMI接口與電視機進行連接,或者通過無線局域網(WiFi)借助DLNA、Miracast等技術,就可將電腦或智能手機的圖像和聲音傳輸至電視機和投影機進行輸出。
下麵是關於LCD顯示器的一些主要性能參數。
(1) 顯示屏的尺寸。與電視機相同,計算機和智能手機的屏幕大小也以顯示屏的對角線長度來度量,台式PC使用的顯示器一般為15~32英寸;手機的液晶屏幕大多在6英寸左右,平板電腦的液晶屏幕多為7~10英寸。傳統顯示屏的寬度與高度之比一般為4∶3,現在多數液晶顯示器的寬高比為16∶9或16∶10,它與人眼視野區域的形狀更為相符。
(2) 顯示器的分辨率。分辨率是衡量顯示器的一個重要指標,它表示整屏最多可顯示像素的多少,一般用水平分辨率×垂直分辨率來表示,例如1024×768、1280×1024、1440×900、1920×1080、1920×1200等。現在有一些所謂“2K\/3K\/4K”的顯示器(或電視機),其中幾K就是指水平分辨率達到或者接近1024的幾倍。例如老產品的分辨率多為1920×1080、1920×1200,它們屬於2K顯示器;可顯示全高清視頻節目;現在主流產品的分辨率為4096×2160、4096×3112、3840×2160、3656×2664,都屬於4K顯示器的範疇,可播放或收看超高清視頻節目。
(3) 刷新速率。刷新速率指所顯示的圖像每秒鍾更新的次數。理論上刷新頻率越高,圖像的穩定
性越好,不會產生閃爍和拖尾現象。PC顯示器和手機屏幕的刷新速率一般在60Hz以上,高的可達90 Hz甚至120 Hz。
(4) 響應時間。響應時間反映了LCD像素點對輸入信號反應的速度,即由暗轉亮或由亮轉暗的速度。響應時間愈小愈好,一般為幾到十幾ms之間。響應時間小的顯示器在觀看高速運動畫麵時不會出現尾影拖拽的現象。
(5) 色彩、亮度和對比度。液晶本身並不能發光,因此背光的亮度決定了它的畫麵亮度。一般而言,亮度越高,顯示的色彩就越鮮豔,效果也越好。對比度是最亮區域與最暗區域之間亮度的比值,對比度小時圖像容易產生模糊的感覺。
(6) 背光源類型。LCD顯示器采用透射顯示,其背光源主要有熒光燈管和白色發光二極管(LED)兩種,現在大多使用LED背光,它在顯示效果、節能、環保等方麵均優於熒光燈管,顯示屏幕也更為輕薄。
(7) 輻射和環保。顯示器工作時會產生一定的電磁輻射,可能導致信息泄漏,
影響信息安全。因此,顯示器必須達到國家顯示器能效標準和通過MPRⅡ和TCO認證(電磁輻射標準),以節約能源、保證人體安全和防止信息泄漏。
近幾年一些高端手機開始使用一種稱為OLED(有機發光二極管)的顯示屏。OLED與傳統的LCD顯示方式不同,它無須背光燈,采用非常薄的有機材料塗層和玻璃基板(或柔性有機基板),電流通過時這些有機材料就會發光。OLED顯示屏可以做得更輕薄,可視角度更大,色域更廣、耗電量也小,但與LCD相比還有一些不足之處需要進一步改善。
2. 顯示卡(顯示控製器)
PC的顯示控製器過去多半做成插卡的形式,它與顯示器、CPU及RAM的相互關係如圖219所示。為了降低成本,現在顯示控製功能已經越來越多地集成在CPU芯片中,除了某些要求較高的應用之外,一般不再需要獨立的顯卡。
圖219顯示器、顯示卡、CPU及RAM的關係
顯示卡主要由顯示控製電路、圖形處理器(GPU)、顯示存儲器和接口電路四個部分組成。顯示控製
電路負責對顯示卡的操作進行控製,包括對液晶顯示器進行控製,如光柵
掃描、同步、畫麵刷新等。主機接口電路負責顯示卡與CPU和內存的數據傳輸。由於經常需要將
內存中的圖像像素數據成批地傳送到顯示存儲器,相互間的連接方法和數據傳輸速度十分重要。現在的顯卡一般都采用PCIE×16高速接口。
顯卡生成的圖像要送到LCD或電視機屏幕顯示,那就離不開顯卡的輸出接口。常用的輸出接口是VGA接口(也就是DSub15接口),它把顯卡轉換後的R、G、B三基色模擬信號輸出到LCD顯示器或液晶電視機進行顯示。另一種DVI接口是全數字的視頻接口,它直接將顯卡產生的數字視頻信號傳輸給顯示器,與VGA接口相比,避免了信號轉換時的失真,確保了圖像質量。
為了傳輸高清晰度或超高清晰度視頻信號,顯卡還配置了HDMI接口。HDMI接口既傳送數字圖像信號,也同時傳送多聲道數字音頻信號,目前已廣泛使用於電視機、機頂盒、DVD播放機、數字音響設備、遊戲機、PC電腦等。
HDMI接口以數字形式傳輸未經壓縮的視頻信號,每個像素為24比特,每幀畫麵均逐行傳輸,音頻信號最多可包含8個聲道。HDMI有多個版本:1.4版的最高數據傳輸速率為10.2Gb\/s(可支持4K視頻@幀頻24Hz),2.0版為18Gb\/s(可支持2K視頻@60Hz),最新的2.1版為48Gb\/s(可支持4K視頻@120Hz、8K視頻@60Hz)。
HDMI接口使用的連接器共19針,它有幾種不同大小。A型(標準型)普遍使用於電視機和機頂盒,C型(mini型)適合便攜設備,D型(micro型)則用於智能手機和平板電腦。
HDMI數據線(電纜)質量對高清視頻的傳輸有較大影響,傳輸距離也不宜過長。此外,千萬不要熱拔插,否則很容易將HDMI接口的芯片燒毀。
獨立顯卡中有高性能的圖形處理器(GPU)負責高速圖像處理和圖形繪製,還配置了專門的顯示存儲器。PC集成顯卡中的GPU包含在CPU芯片中,顯示存儲器則與主存儲器合二為一,因而性能與獨立顯卡有明顯差距。智能手機使用的也是集成顯卡,其GPU和CPU一起集成在SoC芯片中。有關顯示卡和GPU的結構、原理與功能,可參看閱讀材料2.5的介紹。
2.5.2打印機
打印機也是PC的一種主要輸出設備,它能把程序、數據、字符、圖形打印在紙上。目前使
用較廣的打印機有針式打印機、激光打印機和噴墨打印機三種。
1. 針式打印機
針式打印機是一種擊打式打印機,它的工作原理主要體現在打印頭上。打印頭安裝了若幹根
鋼針,有9針、16針和24針等幾種。鋼針垂直排列,它們靠電磁鐵驅動,一根鋼針一個電磁
鐵。當打印頭沿打印紙橫向運動時,由控製電路產生的電流脈衝驅動電磁鐵,使其螺旋線圈產生
磁場吸動銜鐵,鋼針在銜鐵的推動下產生擊打力,頂推色帶,就把色帶上的油墨打印到紙
上而形成一個墨點;當電流脈衝消失後,電磁場減弱,複位彈簧使鋼針和銜鐵複位。打印完
一列後,打印頭平移一格,然後打印下一列(圖220)。打印頭安裝在字車上,字車由步
進電機牽引的鋼絲拖動,做水平往返運動,使打印頭在兩個方向都能打印。
圖220針式打印機工作原理
針式打印機的打印質量不高、工作噪聲大,現已被淘
汰出辦公和家用打印機市場。但它使用的耗材成本低,能多層套打,特別是平推打印機,因
其獨特的平推式進紙技術,在打印存折和票據方麵,具有其他種類打印機所不具有的優勢,
在銀行、稅務、證券、郵電、商業等領域中還在繼續使用。
另一種擊打式打印機是熱敏打印機,它的結構與針式打印機相仿,但打印原理不同。它在打印頭上以行、列或矩陣的形式安裝有半導體加熱元件,使用的熱敏打印紙上則覆蓋了一層塗有熱敏材料的透明膜。打印時打印頭有選擇地在熱敏紙的一些位置上加熱,熱敏材料經高溫加熱的地方瞬間即變成黑色(也可以是藍色或其他顏色),從而在紙上產生文字、符號和圖形。
熱敏打印技術最早使用在傳真機上。由於打印速度快、噪音低,打印清晰,使用方便,熱敏打印機目前在超市POS機、ATM櫃員機、醫療儀器中得到廣泛應用。
2. 激光打印機
激光打印機是激光技術與複印技術相結合的產物,它是一種高質量、高速度、低噪聲、價格
適中的輸出設備。
激光打印機由激光器、旋轉反射鏡、聚焦透鏡和感光鼓等部分組成。激光器采用半導體
激光二極管,在它的兩極加上大小不同的電壓就會發出強度變化的激光束,這稱為電源調製
。計算機輸出的“0”“1”信號加在激光二極管上,就能得到一係列被調製的脈衝式激光
。激光束經棱鏡反射後聚焦到感光鼓,感光鼓表麵塗有光電轉換材料,於是,計算機輸出的
文字或圖形就以不同密度的電荷分布記錄在感光鼓表麵,以靜電形式形成了“潛像”。之後
,感光鼓表麵的這些電荷會吸附上厚度不同的炭粉,最後通過溫度與壓力的聯合作用,把表
現文字或圖形的炭粉黏附在紙上。激光能聚焦成很細的光點,炭粉又很細,因此激光打印機的分辨率
較高,印刷質量相當好。激光打印機的結構與工作原理如圖221所示。
(a) 結構
(b) 工作原理
圖221激光打印機的結構與原理
激光打印機與主機的接口過去以並行接口為主,現在大多已改用USB接口。
激光打印機分為黑白和彩色兩種,其中低速黑白激光打印機已經普及,而彩色激光打印機的價格還比較高,適合專業用戶使用。
3. 噴墨打印機
噴墨打印機也是一種非擊打式輸出設備,它的優點是能輸出彩色圖像,經濟,低噪音,打印
效果好,使用低電壓不產生臭氧,有利於保護辦公室環境。在彩色圖像輸出設備中,噴墨
打印機已占絕對優勢。
噴墨打印機所使用的耗材是墨水,理想的墨水應不損傷噴頭
,能快幹但又不在噴嘴處結塊,防水性好,不在紙張表麵擴散或產生毛細滲透現象,在普通
紙張上打印效果要好,不因紙張種類不同而產生色彩偏移現象,黑色要純,色彩要豔,圖像
不會因日曬或久置而褪色,墨水應無毒、不汙染環境、不影響紙張再生使用等。因為有上述許
多要求,所以墨水成本高,而且消耗快,這是噴墨打印機的不足之處。
用於打印數碼相機所拍攝照片的照片打印機,主要使用噴墨式打印機。噴墨打印機不局限於四種顏色的墨水,現在已有六色甚至九色墨盒的噴墨打印機,其顏色範圍早已超出了傳統CMYK的局限,印出來的照片質量已經可以媲美傳統衝洗的相片。
4. 打印機的性能指標
打印機的性能指標主要是打印精度、打印速度、色彩數目和打印成本等。
(1) 打印精度。打印精度也就是打印機的分辨率,它用dpi(每英寸可打印的點數)來表
示,是衡量圖像清晰程度最重要的指標。300dpi是人眼分辨文本與圖形邊緣是否有鋸齒的
臨界點,再考慮到其他一些因素,因此360dpi以上的打印效果才能基本令人滿意。針式打
印機的分辨率一般隻有180dpi,激光打印機的分辨率最低是300dpi,有的產品為400d
pi、600dpi、800dpi,甚至達到1200dpi。噴墨打印機分辨率一般可達300~360dpi
,高的能達到1000dpi以上。
(2) 打印速度。針式打印機的打印速度通常使用每秒可打印的字符個數或行數來度量。激光打印機和噴墨打印機是一種頁式打印機,它們的速度單位是每分鍾打印多少
頁紙(PPM),家庭用的低速打印機大約為4 PPM,辦公使用的高速激光打印機速度可達到10
PPM以上。
(3) 色彩表現能力。這是指打印機可打印的不同顏色的總數。對於噴墨打印機來說,最初隻使
用3色墨盒,色彩效果不佳。後來改用青、黃、品紅、黑(稱為CMYK)4色墨盒,雖然有很大改善,但與專
業要求相比還是不太理想。於是又加上了淡青和淡洋紅兩種顏色,以改善淺色區域的效果,
從而使噴墨打印機的輸出有著更細致入微的色彩表現能力。
(4) 其他。包括打印成本、噪音、可打印幅麵大小、功耗及節能指標、可打印的拷貝數目、與主機的接口類型等。
5. 3D打印機
3D打印機不是在紙上打印平麵圖形,而是打印生成三維的實體。與傳統的減材製造工藝(切削、鑽孔等)相反,這是一種“增材製造”過程。物件在計算機中設計成型後,將其分割成一係列的數字切片,這些切片傳送到3D 打印機上,後者會將這些薄型切片通過特殊膠水逐層堆疊起來,形成一個3D物品。
3D打印有幾種不同的技術,一種是熔融沉積技術,運用粉末狀金屬或塑料等可黏合材料,通過逐層堆疊的方式來構造物體。另一種是選擇性激光燒結技術,該技術利用粉末材料打印成型,打印機先在鋪設好的打印層上掃描出零件截麵,然後用高強度的激光器將材料粉末燒結在一起,得到堅硬成型的零件。還有一種類似於立體平版印刷技術,它與選擇性激光燒結技術相似,但使用的材料是液態樹脂。
3D打印不僅能生產栩栩如生的工藝玩具,還能製造出複雜的機械零件、假牙、假肢和仿生耳等。3D打印技術除了軟件之外關鍵是使用的材料,理論上塑料、金屬、陶瓷、沙子等材料經過特殊處理都可以用來做打印的“墨水(粉)”,這方麵的研究和開發應用已經受到人們的密切關注。
2.5.3聲音和力反饋輸出
1. 聲音輸出
為了進行操作提示和播放語音及音樂,個人電腦、手機、MP3播放器等都需要輸出聲音。揚聲器(喇叭)、耳機和音箱是常用的三種聲音輸出設備。
智能手機大多內置了雙揚聲器,接打電話的時候使用前置的揚聲器,聽歌和看電視使用後置的兩個揚聲器。一些平板電腦對揚聲器的外放效果進行了優化,不僅數量增加到四個,而且擁有了更大的音腔,還配備了碳纖維振膜,大幅增加了音頻輸出功率。
音箱都是外置的,有普通音箱和數字音箱之分,普通音箱接收的是聲卡重建後的模擬音頻信號,數字音箱則可直接接收數字音頻信號,由音箱自己完成聲音重建,這樣可以避免模擬音頻信號在傳輸中發生畸變和受到幹擾,聲音的質量更有保證。手機大多采用藍牙技術無線連接音箱。
2. 力反饋輸出
手機中有一個微型振動馬達,它在開\/關手機、虛擬鍵盤輸入、電話和微信來電(來信)通知等場合,會產生力反饋使手機振動,提醒用戶知曉。有些手機中的Taptic Engine精密震動部件,還能使用戶在使用觸摸屏進行操作時,獲得觸碰反饋的真實感覺(稱為3D Touch技術)。
複習題
(1) 計算機和智能手機使用的液晶顯示器有哪些重要的性能參數?
(2) 顯示卡有哪四個組成部分?作用是什麼?它與主機和顯示器的連接分別采用何種接口?集成顯卡與獨立顯卡有什麼區別?
(3) 簡述激光打印機的工作原理。它采用哪種接口與主機相連接?
(4) 與激光打印機相比,噴墨打印機有哪些優缺點?
(5) 智能手機的力反饋輸出有什麼作用?
2.6輔助存儲器
計算機傳統的輔助存儲器是硬盤、光盤,它們已經使用了幾十年。近十多年來,U盤和存儲卡的普及,為大容量信息存儲提供了更多的選擇。
2.6.1硬盤存儲器
幾十年來,硬盤存儲器一直是計算機最重要的輔助存儲器。由於微電子、材料、機械等領域的先進技術不斷地應用到新型硬盤中,硬盤的容量不斷增大,性能不斷提高。下麵介紹硬盤的組成、原理、與主機的接口和主要性能指標。
1. 組成與原理
硬盤存儲器由磁盤盤片(存儲介質)、主軸與主軸電機、移動臂、磁頭和控製電路等組成,
它們全部密封於一個盒狀裝置內,這就是通常所說的硬盤。
硬盤的盤片由鋁合金或玻璃材料製成,盤片的兩麵都塗有一層很薄的磁性材料,通過磁性材料粒子的磁化來記錄數據。磁性材料粒子有兩種不同的磁化方向,分別用來表示記錄的是“0”還是“1”[圖222(a)]。盤片表麵由外向裏分成許多同心圓,每個圓稱為一個磁道,盤麵上一般都有幾千個磁道,每條磁道還要分成幾千個扇區,每個扇區的容量一般為512字節(硬盤容量小於2 TB)或4 KB(硬盤容量超過2 TB)。盤片兩側各有一個磁頭,用於讀寫盤上的數據,盤片兩麵都可記錄數據[圖222(b)]。
圖222磁記錄原理與磁道和扇區的劃分
通常,一塊硬盤由1至5張盤片(1張盤片也稱為1個單碟)組成,所有盤片上相同半徑處的一組磁道稱為“柱麵”。所以,硬盤上的數據位置需要使用三個參數來定位:柱麵號、扇區號和磁頭號。硬盤中的所有單碟都
固定在主軸上。主軸底部有一個電機,當硬盤工作時,電機帶動主軸,主軸帶動盤片
圖223硬盤盤片與驅動器的組成
高速旋轉,其速度為每分鍾幾千轉甚至上萬轉。盤片高速旋轉時帶動的氣流將盤片兩側的磁頭托起。磁頭是一個質量很小的薄膜組件,它負責盤片上數據的寫入或讀出。移動臂用來固定磁頭,並帶動磁頭沿著盤片的徑向高速移動,以便定位到指定的柱麵。這就是硬盤的組成和基本工作原理(圖223)。
盤片轉動速度特別快,信息記錄密度很高,磁頭懸浮在高速轉動的盤片兩側,間距很小(大約0.01μm),又不能與盤片接觸,這就要求硬盤在無灰塵、無汙染的環境中工作。因此,硬盤的盤片、磁頭、驅動機構及其控製電路等全部組裝在一起構成一個密封的組合件。
磁盤盤片的直徑為3.5英寸、2.5英寸和1.8英寸等,有些甚至更小。3.5英寸和2.5英寸的硬盤分別用於台式PC和筆記本電腦,微型硬盤用於數碼攝像機、MP3和MP4播放器等設備。
硬盤上的數據讀寫速度與機械運動有關,完成一次讀寫操作比較慢,大約需要10ms左右。為此,硬盤通過將數據暫存在一個比其速度快得多的緩衝區中來加快它與主機交換數據的速度,這個緩衝區就是硬盤的高速緩存(cache)。硬盤的高速緩存由DRAM芯片構成。在讀硬盤中的數據時,磁盤控製器把盤片上讀出的數據先存放在緩存中,再由緩存成批向主機傳送。在向硬盤寫數據時,主機送出的數據先傳送到緩存,然後再從緩存寫入盤片。由於DRAM的速度比磁介質快很多,也就加快了數據傳輸的速度。
硬盤與主機的接口是主機與硬盤驅動器之間的信息傳輸通道。固定安裝在PC機箱中的硬盤其接口是串行ATA(簡稱SATA)接口,它以高速串行的方式傳輸數據,傳輸速率高達150MB\/s(SATA 1.0)、300MB\/s(SATA 2.0)或600MB\/s(SATA 3.0)。由於是串行傳輸,線纜數目大大縮減,有利於機箱內散熱。
2. 主要性能指標
衡量硬盤存儲器性能有以下主要技術指標。
(1) 容量
硬盤的存儲容量以千兆字節(GB)或太字節(TB)為單位。目前PC硬盤單碟容量大多為幾百GB至1TB,硬盤中的存儲碟片一般有1至4片,其存儲容量為所有單碟容量之和。作為PC的輔助存儲器,硬盤容量自然是越大越好。
(2) 平均存取時間
硬盤存儲器的平均存取時間由硬盤的旋轉速度(每分鍾7200轉、5400轉或4200轉)、磁頭的尋道時間和數據的傳輸速率所決定。硬盤旋轉速度越高,磁頭移動到數據所在柱麵越快,對於縮短數據存取時間越有利。目前這兩部分時間大約在幾至幾十ms之間。
(3) 緩存容量
高速緩衝存儲器能有效地改善硬盤的數據傳輸性能,理論上講cache是越快越好、越大
越好。目前硬盤的緩存容量大多為幾十至幾百MB。
(4) 數據傳輸速率
數據傳輸速率分為外部傳輸速率和內部傳輸速率。外部傳輸速率(接口傳輸速率)指主機從(向)硬盤緩存讀出(寫入)數據的速度,它與采用的接口類型有關,現在采用SATA 3.0接口的硬盤傳輸速率為6 Gb\/s(約600 MB\/s);內部傳輸速率指硬盤在盤片上讀寫數據的速度,通常遠小於外部傳輸速率。一般而言,當單碟容量相同時,轉速越高內部傳輸速率也越快。
總之,在選購硬盤時,存儲容量、平均存取時間、緩存大小、內部傳輸速率、接口類型等都是需要考慮的因素。
3. 移動硬盤
除了固定安裝在機箱中的硬盤之外,還有一類硬盤產品,它們的體積小,重量輕,采用USB接口,可隨時插上計算機或從計算機拔下,非常方便攜帶和使用,稱為“移動硬盤”。
移動硬盤通常采用2.5英寸的硬盤加上特製的配套硬盤盒構成。一些超薄型的移動硬盤,厚度僅1個多厘米,比手掌還小一些,重量隻有200~300g,存儲容量可以達到1TB甚至更高,工作時噪音小,環境安靜。
移動硬盤的優點:
(1) 容量大。適合攜帶圖片庫、數據庫、音像庫、軟件庫的需要。
(2) 兼容性好,即插即用。由於采用了通用的USB接口,移動硬盤可
以與各種電腦連接,通常不用安裝驅動程序,
即插即用,並可以熱插拔(注意,需要在其停止讀寫操作之後)。
(3) 速度快。USB 2.0接口傳輸速率是60MB\/s,USB 3.0的傳輸速率高達400MB\/s,與主機傳輸數據時,讀寫一個GB數量級的大型文件理論上隻需要幾分鍾就可完成(實際還取決於軟件等多種因素),特別適合視頻和音頻文件的存儲與交換。
(4) 體積小,重量輕,由主機供電,無須外接電源。USB移動硬盤體積僅手掌般大小,重量隻有200g左右,無論放在
包中還是口袋內都十分輕巧方便。
(5) 安全可靠。有的移動硬盤具有防震功能,在劇烈震動的情況下盤片會自動停轉,並將磁頭複位
到安全區,防止盤片損壞。
4. 硬盤使用注意事項
硬盤的正確使用和日常維護非常重要,否則會出現故障或縮短使用壽命,甚至殃及所存儲的數據,給工作帶來不可挽回的損失。硬盤使用中應注意以下問題:
(1) 硬盤正在讀寫時不能關掉電源,因為硬盤高速旋轉時突然斷電將導致磁頭與盤片猛烈摩擦,從而損壞硬盤。
(2) 保持使用環境的清潔衛生,注意防塵;控製環境溫濕度,防止高溫、潮濕和磁場對硬盤的影響。
(3) 防止硬盤受震動。硬盤在進行讀寫操作時,一旦發生較大的震動,就可能造成磁頭與盤片相撞,導致盤片數據區損壞(劃盤),丟失硬盤內的文件信息。因此在工作時嚴禁搬動硬盤。
(4) 及時對硬盤數據進行整理,包括目錄的整理、文件的清理、磁盤碎片整理等。
(5) 防止計算機病毒對硬盤的破壞,對硬盤定期進行病毒檢測和數據備份。
2.6.2U盤、存儲卡和固態硬盤
目前廣泛使用的移動存儲器除了移動硬盤之外,還有U盤、存儲卡和固態盤(SSD)等,它們的存儲部件都是使用閃速存儲器芯片構成的。
1. 閃存芯片
閃速存儲器是一種半導體集成電路存儲器,其存儲單元的工作機理基於隧道效應,即使斷電後也能永久保存其中的信息,屬於非易失性存儲器。與硬盤相比,閃存的抗震性更好,能耐受高壓高溫,即使浸在水中也問題不大。閃存沒有機械運動部件,信息存取速度較快,工作時無噪音,尺寸小,輕便。
閃存的不足之處是它的寫入過程較複雜,寫入速度慢於讀出速度,且寫入次數有限製;數據損壞後難以修複;性價比與傳統硬盤相比仍有一定差距。
閃存有兩大類型:NOR型閃存和NAND型閃存。兩者存儲單元的互連方法有所不同,外部接口也不一樣,因而其性能各異,用途也不相同。
NOR型閃存可以按字節地址隨機讀取任一存儲單元的內容,但寫入前必須以塊為單位先進行抹除。它適合用來存儲需要運行而不要經常更新的程序代碼,例如PC的BIOS程序或機頂盒、路由器中的固件等,用以取代容量小、速度慢的EPROM與EEPROM隻讀存儲器。
NAND型閃存比NOR型閃存的存儲密度高,每個比特的成本也低,它具有較快的抹寫速度,可抹除次數高出NOR閃存10倍。但NAND 閃存不能按字節隨機讀寫,隻能像硬盤那樣以數據塊為單位存取信息。NAND型閃存的主要用途是取代磁介質存儲器(如硬盤)。現在廣泛使用的U盤、存儲卡、固態硬盤等都采用NAND型閃存芯片構成,手機中的輔助存儲器也都是NAND型閃存。
隨著半導體製造工藝的發展,閃速存儲器芯片容量越來越大,工作電壓也從最初12V一步步下降到5V、3.3V、2.7V、1.8V。閃存每個存儲單元從存儲1個比特(稱為SLC閃存)發展為每個存儲單元存儲2個以上比特(稱為MLC閃存),現在尤以每個存儲單元存儲3個比特的閃存(稱為TLC)最流行。智能手機、U盤大多采用MLC或TLC型的NAND閃存芯片。
2. 存儲卡
存儲卡是在閃存芯片基礎上做成的固態存儲器,形狀為扁平的長方形或正方形,細小輕巧,插拔方便,最先在數碼相機上使用。存儲卡的種類較多,現在廣泛使用的有SD卡、MMC卡、CF卡和MS卡(memory stick)等,它們在手機等各種便攜式數碼設備中廣泛使用,台式PC配置了讀卡器之後也可使用存儲卡。
目前使用最廣泛的是SD卡,除了標準卡之外,還有尺寸更小的Mini SD卡和Micro SD卡(又稱為TF卡)(圖224)。SD卡的容量目前分4檔,即SD(8MB~2GB)、SDHC(大於2GB~32GB)、SDXC(大於32GB~2TB)和SDUC(大於2TB~128TB)。按照其數據讀寫速率SD卡又分成若幹等級: Class 2、Class 4、Class 6、Class 10(代表寫入速度分別約為2MB\/s、4MB\/s、6MB\/s和10MB\/s)。SDXC卡采用了新的接口:UHSI、UHSII、UHSIII和Express,讀寫速度更高。不同速率等級的SD卡適合不同的應用(如高清攝像機需要使用高等級的SD卡),價格也有顯著差別。
華為Mate 20係列開始支持超微型存儲卡NM卡(nano memory card)作為擴充存儲器,NM卡采用新的存儲格式,比傳統Micro SD卡尺寸更小。
圖224SD卡和MMC卡
MMC卡(multimedia card,多媒體存儲卡)與標準SD卡大小差不多,可以插入SD卡插槽中使用,它由控製電路和閃存芯片兩部分組成[圖224(c)]。MMC技術標準是開放的,其他廠商可免費使用。SD卡是在MMC卡技術中加入加密技術後發展而成的,現在比MMC卡用得更廣泛。
2016年之前手機等數碼產品中閃存芯片大多采用eMMC(embeded multimedia card)接口標準。eMMC規定在NAND閃存芯片的基礎上,加上MMC存儲卡的控製電路,采用統一的BGA封裝[球柵陣列封裝,圖224(d)],直接焊接在主板上使用。該接口的數據讀寫速度在52~125MB\/s左右。
現在手機和數碼相機中閃速存儲器大多已采用UFS(universal flash storage)接口標準,它與eMMC的最大區別是將並行接口改為串行接口,工作頻率提高,大幅加快數據傳輸速率。UFS 2.0速度可以達到600MB\/s(單通道)或1.2GB\/s(雙通道),而UFS 3.0的速度則更高。
3. U盤
U盤(又稱為優盤、閃存盤)是目前廣泛使用的移動存儲器之一,它通過USB接口與電腦連接,實現即插即用。U盤由外殼和機芯兩部分組成,外殼可以是塑料或金屬製成,機芯是一小塊印製電路板,上麵安裝了控製芯片、NAND閃存芯片、晶體振蕩器、LED指示燈、電容、電阻、寫保護開關等(圖225)。
圖225U盤的結構及其控製芯片
U盤中的控製芯片是一個以8位CPU為中心的嵌入式計算機,它能支持多種不同廠商的閃存芯片,具有超強的實時糾錯能力,采用硬件與軟件(數據智能備份與恢複技術)協同的雙重數據安全防護,防止由於異常插拔或斷電對數據的破壞。
U盤的容量可以從幾百MB到幾百GB,有些容量更大。它能安全可靠地保存數據,使用壽命長達數年之久。U盤還可以模擬光驅和硬盤啟動係統工作。當Windows操作係統受到病毒感染時,U盤可以同光盤一樣,起著引導和加載操作係統的作用。
4. 固態硬盤(SSD)
固態硬盤(solid state disk或solid state drive,簡稱SSD,準確的技術名稱應為固態驅動器),它也是基於NAND型閃速存儲器構成的一種輔助存儲設備,其目的是在計算機中代替傳統的硬盤。由於其接口規範、功能及使用特性與普通硬盤完全相同,外形和尺寸起初也保持一致,所以人們把這類存儲器稱為“固態硬盤”。
SSD的結構並不複雜。其主體是一塊印製電路板,上麵安裝了NAND閃存芯片、控製芯片、緩存芯片等。閃存芯片往往有多片以達到較大的容量;控製芯片的作用與存儲卡和U盤中的控製電路相仿,但功能更多也更複雜,不同控製芯片在數據處理算法和對閃存芯片的讀寫控製上區別很大,導致不同固態硬盤的性能有明顯差距;緩存芯片使用DRAM組成,它與硬盤中的cache作用相同,用來輔助主控芯片進行數據處理,有些低端固態硬盤無緩存芯片。SSD與主機連接一般采用SATA2、SATA3或PCIE接口,也可使用USB 3.0連接(圖226)。
圖226固態硬盤的組成
與常規硬盤相比,固態硬盤具有讀寫速度快、功耗低、無噪音、抗震動等優點。但價格較高,容量較低(目前容量大多為幾十到幾百GB),一旦硬件損壞,數據較難恢複,耐用性(壽命)也相對較短。
為此,一些高端PC嚐試使用混合硬盤(SSD+HDD)的方案,即一塊小容量固態硬盤(幾十GB)用於休眠和文件的高速緩存;另一塊大容量的機械硬盤用於海量數據存儲,它們協同工作以提高係統的整體性能。
2.6.3光盤存儲器
自20世紀70年代初光存儲技術誕生以來,光盤存儲器獲得迅速發展,產生了CD、DVD和BD三代光盤存儲器產品。
光盤存儲器成本不高,容量較大,還具有很高的可靠性,不容易損壞,在正
常情況下是非常耐用的。這是因為光盤的讀出頭離盤麵有幾毫米距離,這比磁頭與磁盤表麵
的距離至少大1000倍,所以光盤不易劃破。即使盤麵有指紋或灰塵存在,數據仍然可以讀出
。光盤的表麵介質也不易受溫濕度的影響,便於長期保存。光盤存儲器的缺點是讀出速度和
數據傳輸速度比硬盤慢得多。
1. 光盤存儲器的結構與原理
光盤存儲器由光盤片和光盤驅動器兩個部分組成。光盤片用於存儲數據,其基片是一種耐熱的有機玻璃,直徑大多為120mm(約5英寸),用於記錄數據的是一條由裏向外的連續的螺旋狀光道。光盤存儲數據的原理與磁盤不同,它通過在盤麵上壓製凹坑的方法來記錄信息,凹坑的邊緣處表示“1”,而凹坑內和凹坑外的平坦部分表示“0”,信息的讀出需要使用激光進行分辨和識別。
光盤驅動器簡稱光驅,用於帶動盤片旋轉並讀出盤片上的(或向盤片上刻錄)數據,其性能指標之一是數據的傳輸速率。內置於機箱的光驅與主機的接口現在大多為SATA接口,外接光驅使用USB接口與主機連接。
2. 光驅的類型
光盤存儲器技術在21世紀初發展很快,現在已基本穩定。光盤驅動器按其信息讀寫能力,分成隻讀光驅和光盤刻錄機兩大類型;按其可處理的光盤片類型,又進一步分成CD隻讀光驅和CD刻錄機(使用紅外激光)、DVD隻讀光驅和DVD刻錄機(使用紅色激光)、DVD隻讀光驅與CD刻錄機結合在一起的組合光驅(所謂的“康寶”),以及大容量藍色激光光驅BD。由於DVD驅動器均能兼容CD光盤的讀出,單純的CD隻讀光驅和CD刻錄機目前市場已很少見。
(1) DVD隻讀光驅(DVDROM)。DVD不僅用作計算機的輔助存儲器,而且也是一種家用數字音像設備。DVD隻讀光驅具有向下兼容性,它既能讀CD光盤又能讀DVD光盤,但不能在光盤上寫入信息。
(2) 組合光驅(“康寶”)。組合光驅的英文是CDRW\/DVDROM COMBO,它既有DVD隻讀光驅的功能,可以讀出CD和DVD盤片,又有CD光盤刻錄機的功能,可以刻錄CDR和CDRW盤片,在PC中得到普遍使用。
(3) DVD光盤刻錄機。它能對DVD光盤進行信息讀出和寫入,而且還兼容CD光盤的讀寫。但DVD光盤刻錄機的規格國際上並沒有完全統一,它有3類共5種(DVDRAM;DVDR、DVDRW;DVD+R和DVD+RW)。幸運的是目前市場上許多DVD光盤刻錄機能夠兼容上述大部分或全部規範(例如SuperMulti類光盤刻錄機),有些還能支持雙層刻錄。
(4) 藍光光驅(BD)。DVD驅動器的光頭用紅色激光(波長為650nm)讀取或寫入信息,而藍光光驅則利用波長更短(405nm)的藍色激光在光盤上讀寫信息。波長越短的激光,能夠在單位麵積上記錄或讀取更多的信息,因此,藍光極大地提高了光盤的存儲容量。目前,一張藍光盤的存儲容量可達25GB,是現有單麵單層DVD盤容量的5倍。藍光光驅也有隻讀藍光光驅(BDROM光驅)和藍光刻錄機(BD刻錄機)之分,它們都可以兼容此前出現的CD和DVD光盤產品。
3. 光盤片的類型
光盤片是光盤存儲器的信息存儲載體(介質),按其存儲容量目前主要有CD盤片、DVD盤片和藍色激光盤片三大類,按其信息讀寫特性又可進一步分成隻讀盤片、一次可寫盤片和可擦寫盤片三種。
(1) CD光盤片
CD光盤片主要用來存儲高保真數字立體聲音樂(稱為CD唱片),由於存儲容量有限,U盤出現之後把它作為輔助存儲器使用意義不大。它有隻讀(CDROM盤)、可寫一次(CDR盤)和可多次讀寫(CDRW盤)三種不同類型。
市場上那些已經在盤片上壓製了軟件或視聽節目的成品CD盤是不能再添加或改寫信息的,它們屬於隻讀光盤。
使用光盤刻錄機可以將信息寫入CDR光盤,但寫過後隻能讀出和添加信息,不能抹除和修改。這種盤片在聚碳酸酯片基上噴塗了一層染料層和一層反射層,光頭根據刻寫的數據是0還是1而發射不同功率的激光束,激光束照射處染料受熱分解,使介質的反射特性發生變化,從而記錄了數據。由於染料層分解後不能複原,盤片所刻錄的數據不能修改。
CDRW也叫可擦寫盤片,在這種盤片上寫入的信息可以多次改寫,擦寫次數可達幾百次甚至上千次之多。由於容量太小,此類光盤已很少使用。
(2) DVD光盤片
DVD盤片與CD盤片的大小相同,但它有單麵單層、單麵雙層、雙麵單層和雙麵雙層共4個品種。DVD的道間距比CD盤小一半,且信息凹坑更加密集,它利用聚焦更細(1.08μm)的紅色激光進行信息的讀取,因而盤片的存儲容量大大提高。表26是各種不同DVD光盤的存儲容量及其名稱。
表26各種不同DVD光盤的存儲容量
DVD光盤類型120mm DVD存儲容量(名稱)80mmDVD存儲容量(名稱)
單麵單層(SS\/SL)4.7 GB (DVD5)1.46 GB (DVD1)
單麵雙層(SS\/DL)8.5 GB (DVD9)2.66 GB (DVD2)
雙麵單層(DS\/SL)9.4 GB (DVD10)2.92 GB (DVD3)
雙麵雙層(DS\/DL)17 GB (DVD18)5.32 GB (DVD4)
DVD盤的每一麵有一個或兩個記錄層。雙層盤實際上是將兩片盤重疊在一起,表麵層是半透明半反射層,透過它可以讀取隱藏層的數據。光頭在讀不同記錄層的數據時,其焦點會自動進行調整。
與CD光盤片一樣,可刻錄信息的DVD光盤片也分成一次性記錄光盤(DVDR或DVD+R)和可複寫光盤(DVDRAM、DVDRW或DVD+RW)兩大類,工作原理也大體相似。需要說明的是,可刻錄DVD光盤片的規格國際上並沒有完全統一,用戶在購買DVD刻錄光盤片時務必選擇適合自己刻錄機可刻錄格式的盤片,否則將不能順利工作。
(3) 藍光光盤
藍光光盤(bluray disc,簡稱BD)是目前比較先進的大容量光盤片,單層盤片的存儲容量為25GB,雙層盤片的容量為50 GB,是全高清晰度影片的理想存儲介質。新的3層和4層藍光盤容量分別達到100 GB和128 GB。與DVD盤片一樣,BD盤片也有BDROM、BDR和BDRE之分,它們分別適用於隻讀、單次刻錄和多次刻錄三種不同的應用。
複習題
(1) 硬盤存儲器由哪些部分組成?它怎樣工作?使用硬盤需要注意哪些事項?
(2) 硬盤存儲器有哪些主要的性能指標?怎樣提高硬盤的數據傳輸速率?
(3) 閃速存儲器有什麼特點?它在智能手機中起什麼作用?如何擴充其容量?
(4) U盤是什麼?使用時需要注意什麼?SD存儲卡有哪些不同的品種和類型?
(5) CD、DVD和BD光盤片的存儲容量是多少?它們分別有哪些類型?
自測題2
一、 是非題
1. 計算機的性能與CPU的工作頻率密切相關,因此CPU主頻為3GHz的計算機,比另一台CPU主頻為1.5GHz的計算機在完成相同任務時速度快1倍。
2. 計算機運行程序時,CPU所執行的指令和處理的數據都直接從磁盤中取出,處理結果也直接存入磁盤。
3. 內存儲器在CPU內部,輔助存儲器在CPU外部。
4 RAM代表隨機存取存儲器,ROM代表隻讀存儲器,關機後前者所存儲的信息會丟失,後者
則不會。
二、選擇題
1 下麵關於微處理器的敘述中,不正確的是()
(A) 微處理器通常以單片集成電路製成
(B) 它具有運算和控製功能,但不具備數據存儲功能
(C) 目前PC中使用最廣泛的CPU是Intel公司Core(酷睿)係列微處理器
(D) 當前智能手機中的CPU大多采用英國ARM公司的ARM處理器架構
2 下麵關於PC中CPU的敘述錯誤的是()
(A) 為了暫存中間運算結果,CPU中包含幾十個甚至上百個寄存器,用來臨時存放數據
(B) CPU是PC中不可缺少的組成部分,它擔負著運行係統軟件和應用軟件的任務
(C) 所有PC的CPU都具有相同的指令係統
(D) PC中至少有1個CPU芯片,其中包含1個或多個CPU核
3 下麵是關於計算機內存儲器的一些敘述:
① 內存儲器由DRAM芯片或NAND閃存芯片組成
② CPU可按字節地址隨機存取內存儲器的內容
③ 目前市場上銷售的智能手機其內存容量多數已達1GB以上
④ 台式PC內存容量一般可擴充,手機內存容量一般不可擴充
其中正確的是()
(A) 僅①和③(B) 僅②③和①(C) 僅①和④(D) 僅②③和④
4 CPU的運算速度與許多因素有關,下麵哪些是提高運算速度的有效措施?(
)
① 增加CPU中寄存器的數目
② 提高CPU的主頻
③ 增加高速緩存(cache)的容量
④ 改進芯片組的設計
(A) 僅①和③(B) 僅①②和③
(C) 僅①和④(D) 僅②③和④
5 在PC中,SATA(串行ATA)接口主要用於()
(A) 打印機與主機的連接(B) 顯示器與主機的連接
(C) 圖形卡(顯卡)與主機的連接(D) 硬盤與主機的連接
6 下麵是關於目前流行的台式PC主板的敘述:
① 主板上通常包含CPU插座和芯片組
② 主板上通常包含存儲器(內存條)插座
③ 主板上通常包含PCI和\/或PCIE總線插座
④ 主板上的SATA連接器用於連接硬盤和光盤
其中正確的是()
(A) 僅①和③(B) 僅①②和③
(C) 僅①和④(D) ①②
③和④
7 下麵關於USB接口的敘述中,錯誤的是()
(A) USB 3.0的數據傳輸速度要比USB 2.0快得多
(B) USB具有熱插拔和即插即用功能
(C) 主機不能通過USB連接器向外圍設備供電
(D) USB連接器有多種不同的形狀和大小
8 下麵哪一類設備不屬於計算機的輸入設備?()
(A) 麥克風(B) 攝像頭(C) 指示燈(D) 傳感器
9 數碼相機中CCD或CMOS芯片的像素數目與圖像分辨率密切相關。假設一個數碼相機的像素數目為200
萬,則它所拍攝的數字圖像能達到的最大分辨率為多少? ()
(A) 800×600(B) 1024×768
(C) 1280×1024(D) 1600×1200
10 顯示器是PC不可缺少的一種輸出設備,PC通過顯示控製卡(顯卡)控製其工作。在下麵有關PC顯卡的敘述中,正確的是()
(A) 顯卡與液晶顯示器的連接大多采用PCIE接口
(B) 目前顯卡可支持的分辨率大多達到1024×768,但可顯示的顏色數目還不超過65536種
(C) 顯示屏上顯示的信息預先都被保存在顯示存儲器中,在顯卡的控製下一幀一幀地送到屏幕上進行顯示
(D) 獨立顯卡與主機的接口大多是USB 2.0
三、填空題
1 PC硬件在邏輯上主要由CPU、內存儲器、輔助存儲器、輸入/輸出設備與 等五類主要部件組成。
2 掃描儀是將圖片、照片或文稿輸入到計算機的一種輸入設備,工作過程主要基於光電轉換原理,其用於光電轉換的電子器件大多是。
3 硬盤的存儲容量是衡量其性能的重要指標。假設一個硬盤有2個碟片,每個碟有2麵,每個麵有10000個磁道,每個磁道有1000個扇區,每個扇區的容量為512字節,則該磁盤的存儲容量標稱為GB。
第2章閱讀材料
2.1微處理器的發展與應用
從20世紀70年代初微處理器誕生開始,它始終按摩爾定律在不斷發展,其結構、性能、工藝、晶體管數目和工作頻率等每一至兩年就會發生變化。下麵簡要介紹用作計算機CPU的微處理器的發展與現狀。
1. 發展概述
20世紀70年代的微處理器其運算器和寄存器寬度僅為4位或8位。當時影響頗大的美國蘋果公司的AppleⅡ微型計算機,其CPU采用的是主頻為1MHz的8位微處理器。
80年代出現了16位微處理器,代表產品是Intel公司的8086。1982年美國IBM公司研製的IBM PC個人計算機采用8086作為CPU,這是國際上第一次提出個人計算機的概念。它強調了這種計算機屬於個人專用,而非多個用戶共享使用。
20世紀80年代末、90年代初出現了32位微處理器,如Intel公司的80386和80486微處理器。以80386、80486為CPU的PC電腦,開始采用具有圖形用戶界麵的Windows操作係統,可執行多任務處理。由PC組成的局域網開始推廣,個人計算機的應用進入辦公和商業領域。
1993年Intel公司研製成Pentium(奔騰)微處理器,它在單個芯片上集成了310萬個晶體管,使用273個引腳的封裝,主頻達100MHz,運算速度已超過100MIPS(MIPS表示每秒鍾可完成100萬次整數運算),性能開始超過60年代的大型計算機。
此後微處理器繼續發展,Intel公司先後推出了Pentium Pro(高能奔騰)以及Pentium Ⅱ、Pentium Ⅲ和Pentium 4微處理器。它們的時鍾頻率已達GHz水平,不但能高速處理數值和文字信息,而且適合三維圖形顯示、音頻視頻信號處理和網絡計算等多方麵的應用。有些高檔的CPU甚至還擴充了64位整數處理功能,把內存地址空間擴大到264。
進入21世紀後,隨著CPU芯片複雜度的增加和工作頻率的提高,芯片的功耗和散熱問題就成為製約CPU性能進一步提高的瓶頸。而集成電路製造工藝和封裝水平的發展,允許在一個集成電路芯片中包含更多的晶體管電路。因此人們不再把提高主頻作為改善微處理器性能的研發重心,而是考慮在一個芯片中集成2個或多個CPU核,讓多個CPU同時進行工作,通過並行處理技術來提高係統的性能,從而出現了雙核和多核的處理器芯片。現在PC電腦、智能手機、服務器和巨型計算機等使用的CPU芯片都是多核微處理器。
表27是40多年來Intel公司有代表性的微處理器芯片技術參數的比較,從中可見微處理器技術的發展過程。
表27Intel公司微處理器主要技術參數比較
處理器
主要參數808680386奔騰奔騰Ⅱ奔騰4酷睿2
(雙核)Core i7
980x
(6核)Core i7
5960X
(8核)Core i9
9990XE
(14核)
推出時間(年)197819851993~
19961997~
19982000~
20082006~
2011201020142019
主頻(MHz)4.77~
1016~
3360~
200233~
3331500~
38001060~
3500333035004 000
(續表)
處理器
主要參數808680386奔騰奔騰Ⅱ奔騰4酷睿2
(雙核)Core i7
980x
(6核)Core i7
5960X
(8核)Core i9
9990XE
(14核)
前端總線頻率
(MHz)4.77~
1016~
3350或6666400~
1066800~
1600DDR3
1066
(3通道)DDR4
2133
(4通道)DDR4
2666
(4通道)
外部數據
線數目163264646464646464
最大物理內存1MB4GB4GB地址線
36地址線
36地址線
3624GB64GB128GB
L1 cache容量無無8KB
+8KB16KB
+16KB16KB
+16KB2×
(32KB
+32KB)6×
(32KB
+32KB)8×
(64KB
+64KB)14×
(64KB
+64KB)
L2 cache容量無無無0.5MB0.25~
2MB2~
6MB6×
256KB8×
256KB14×
1 024 KB
L3 cache容量無無無無4~
16MB8~
16MB12MB20MB19.25 MB
內核數目1111126814
晶體管數目(萬)2.927.5310750420029100~
41000117000260000不詳
製造工藝(nm)>2 0001 500~
1 000800~
350350~
250130~
9065,
45322210
熱功耗(W)156065130140255
芯片引腳數目40132273或
296242478或
775775136620112 066
2. PC和服務器使用的微處理器
在台式PC和筆記本電腦領域中,現在Intel公司x86架構的64位微處理器芯片占據著市場的絕大部分份額,目前其主流CPU芯片是酷睿(Core)係列,它又分為Core i9\/i7\/i5\/i3等子係列,主要麵向商業應用和中高端消費應用領域。此外還有奔騰(Pentium)係列和賽揚(Celeron)係列處理器,它們與酷睿處理器保持兼容,但性能低於酷睿,適合一般性的應用。
Intel公司的競爭對手美國AMD公司是一家既生產CPU芯片,又生產芯片組、圖形處理器和閃速存儲器芯片的跨國公司,它的CPU芯片也采用x8664架構,與Intel處理器保持二進製兼容,實際運行性能並不遜色,價格比較實惠(表28)。
表28當前大型機\/服務器和個人計算機中使用的微處理器
應用需求CPU技術特點代表性微處理器
中高端
台式PC
和筆記本
電腦多媒體應用占90%以上,側重計算、圖形和交互處理的性能,提供較高性能的娛樂和工作平台
以Intel公司的x64架構的處理器為主,字長64位;主頻2.5~4GHz,芯片含4~8個核,多線程,每個核含兩級cache,多個核共享3級cacheCore i9、i7、i5係列(Intel
公司)
FX係列、A10係列(AMD 公司)
(續表)
應用需求CPU技術特點代表性微處理器
經濟型
台式PC
和筆記本
電腦
一般商業應用和普通家用,側重高性\/價比
Intel公司x64架構的處理器,一般包含2個核,主頻較低(2GHz左右), cache容量較小,一些高端處理器的功能(如超線程、虛擬化等)可能不支持
賽揚(Celeron)係列
奔騰(Pentium)係列
Core i3係列(Intel公司)
速龍係列、A8\/A6係列(AMD公司)
大型機\/
服務器
以商業事務處理和互聯網Web服務為主,通常連續工作在7×24小時的環境裏,需要有99.999%以上的可靠性和高可用性
大多采用RISC指令係統,字長64位甚至128位;主頻高達4GHz左右,含8~12個核,多線程,每個核包含兩級cache,芯片內集成了多個核共享的3級cache
POWER係列(IBM公司);
SPARC係列(ORACLSUN公司、富士通公司);
誌強(Xeon)係列(Intel公司,x86架構)皓龍係列(AMD公司,x86架構)
大型機\/服務器以商業事務處理和互聯網Web服務為主,它通過網絡為數以千、萬計的客戶機服務,需要較高的網絡通信和計算能力(高吞吐率)。在大型機\/服務器應用領域,IBM公司的POWER處理器和ORACL(SUN)公司的SPARC處理器都采用RISC指令係統,支持64位計算,被廣泛用於大型機和服務器中。Intel公司的誌強(Xeon)係列處理器(x86架構)在中、小型服務器市場的占有率也在不斷上升。
3. 智能手機使用的微處理器
與筆記本電腦相比,智能手機具有更好的便攜性,它們要求所使用的CPU功耗低,續航時間長,體積小、功能豐富,成本低廉。目前,絕大多數智能手機使用的CPU都是64位的ARM處理器架構,它與存儲控製器、I\/O控製器以及其他一些協處理器集成在同一個芯片上,稱為SoC(片上係統,也稱為係統級芯片)。
SoC是電子設計自動化水平提升和集成電路製造技術從微米、亞微米進入到深亞微米(幾十納米)後的產物。智能手機使用的SoC實際上是一個“處理器包”,它把CPU和若幹不同用途的協處理器封裝成為單個芯片[圖227(a)]。華為和蘋果公司手機的SoC芯片由廠商根據產品定位和性能需求自行設計,然後由集成電路生產廠代為加工生產。由於麵向市場需求專門定製,所以電路緊湊、功耗小,性價比很高。
圖227華為麒麟970 SoC芯片
圖227(b)是華為Mate 10和P20智能手機中使用的麒麟970 SoC芯片,它由華為海思集成電路公司自主研發設計,台積電公司(TSMC)代工生產。970 SoC芯片中除了8個CPU核之外,還包括BP(基帶處理器,即圖中的MODEM,負責通信)、GPU(圖形處理器)、DSP(數字信號處理器)、ISP(圖像信號處理器)、感知信號處理器i7等模塊。它最重要的特色是有1個神經網絡協處理器NPU(寒武紀1A),由中科院寒武紀公司設計並授權,浮點運算性能可以達到1.92TFLOPS,相比使用4個CortexA73 CPU處理同樣的人工智能任務,性能可提高25倍。
其他智能手機也有各自的SoC芯片。例如蘋果手機iPhone 11\/Pro和iPhone SE使用的是Apple A13仿生芯片,小米、OPPO和三星手機使用高通公司的驍龍芯片。表29給出了當前幾種高端智能手機使用的SoC芯片的對比,這些SoC結構和組成大體類似, CPU都采用ARM公司的64位處理器ARMv8A架構,但蘋果A13和驍龍865自行設計了CPU核的微架構,華為海思采用ARM公司的公版微架構,其性能和技術參數並不完全相同,SoC芯片中集成的協處理器模塊的配置和性能也互有區別。
表29幾種高端智能手機SoC芯片的對比
SoC名稱麒麟990 5G麒麟970蘋果 A13 仿生高通驍龍865
指令係統ARMv8A(64位)
CPU核:
(個數x名稱)
@主頻4×CortexA76
@2.86\/2.36GHz
4×CortexA55
@1.95GHz4×CortexA73
@2.4GHz
4×CortexA53
@1.8 GHz2×高性能核
@2.65 GHz
4×低能耗核
@1.8 GHz4×CortexA77
1(2.84 GHz)+3(2.42 GHz)
4×CortexA55
@1.8 GHz
RAM控製器4×16位LPDDR42×32位LPDDR42×LPDDR44×16位
2×LPDDR5
GPU16×MaliG76
(600 MHz)12×MaliG72
(850 MHz)4核GPU
(自主設計)Adreno 650視覺處理子係統(包括 GPU,VPU和DPU)
AI協處理器神經網絡處理器NPU(2大1小)神經網絡處理器NPU8核神經網絡引擎人工智能平台
Hexagon 685 DSP
圖像處理器雙ISP 5.0雙ISPimage processorSpectra480 ISP
其他協處理器i5傳感器處理器i7傳感器處理器M11運動協處理器 安全處理單元SPU
移動通信
(基帶處理器)巴龍5G NR
2.3 Gbps下行
1.25 Gbps上行
4G LTE Cat. 19LTE(4G)
Cat 18\/13(無)X555G\/LT Modem
LTE Cat 22
製造工藝
(製造廠)7 nm EUV(台積電),103億晶體管10 nm (台積電)
55億個晶體管7 nm(台積電)
85億個晶體管 7 nm(台積電)
發布時間2019,Q42017,Q42019,92020
應用產品華為Mate30\/Pro
華為P40\/Pro華為P20\/Pro
華為Mate10iPhone 11\/Pro
iPhone SE小米、OPPO,三星等
除上述手機SoC芯片之外,中國台灣聯發科(Mediatek)、美國英偉達(NVIDIA)等公司也是設計製造手機SoC的知名廠家,其產品各有特色,在多種品牌的手機中使用。Intel公司為了參與手機等移動終端設備的市場競爭,它與Google公司合作在x86平台上運行安卓係統,並把早先的x86架構的超低電壓的淩動(Atom)CPU改造為Atom SoC係列,在聯想、中興、宏碁、華碩等公司的平板電腦、智能手機產品中使用。由於與x86 CPU兼容,還能運行Windows操作係統。
4. 嵌入式計算機使用的微處理器
嵌入式計算機應用領域十分寬廣,它使用的微處理器也多種多樣,包括功能簡單的4位、8位或16位微控製器,也包括具有強大圖形圖像和流媒體處理能力的32位或64位微處理器或數字信號處理器。據統計,全球各種類型微處理器芯片年產量達數百億片之多,其中用於通用計算機的僅2%左右,其餘98%均用於嵌入式計算機。在各種類型的微處理器中,32位和64位處理器雖然是技術發展的主流,但銷售數量僅占全部微處理器的10%左右,其餘大多數還是8位或16位的低端處理器。例如Intel公司的8051、Atmel公司的AVR、Microchip公司的PIC等,它們在過程控製、機電一體化產品、智能儀器儀表、家用電器、網絡及通信設備等方麵得到了廣泛應用。
微處理器是各種類型的嵌入式計算機的核心部件,其功耗、體積、成本、可靠性、速度、處理能力、電磁兼容性等性能指標均受到應用產品的製約。據不完全統計,全球用於嵌入式計算機的處理器芯片的品種超過1000種,流行的產品有幾十個不同的係列。產品係列雖多,但其中的CPU核(特別是32位或64位核)使用最多的當屬英國ARM公司的ARM處理器。2015年, ARM處理器的出貨量達到150億之多, 95%的智能手機、90%的硬盤驅動器、40%的數字電視機和機頂盒都使用了ARM處理器。
2.2CPU常用術語解釋
CPU是計算機的核心,是各種數碼產品的“引擎”。在選購計算機等各種數碼產品和閱讀相關資料時,經常會接觸到關於CPU的一些名詞術語。下麵簡單介紹若幹常用CPU術語的含義(正文中已有解釋的不再重複)。
1. 指令係統(指令集)和處理器架構
CPU是按照指令進行工作的。每一種CPU都有它自己的一組指令。CPU所能執行的全部指令稱為該CPU的指令係統,也稱為指令集(instruction set)。指令集與程序設計密切相關,也是構建CPU的主要依據,所以也稱為CPU的指令集架構(instruction set architecture,ISA),簡稱CPU架構。
Intel公司早期的16位、32位處理器使用的指令係統是IA32(也稱為x8632)。現在生產的64位處理器保留了IA32的全部指令,擴充了許多新指令,特別是處理64位數據的指令,新的指令係統稱為x8664(或者稱為Intel 64)。現在,Core i9\/i7\/i5\/i3、奔騰、賽揚、誌強等都是x8664架構的處理器。
智能手機中的CPU則不然,它們大多采用ARM架構的微處理器。20多年來,ARM處理器指令係統經曆了一係列的修改和擴充,形成了8個版本,每個版本又有若幹變種(版本號之後用字母表示)。前七個版本適用於16位或32位微處理器,第8版(ARMv8A)則使用於64位的微處理器。由於ARM架構與x86架構互不兼容,在PC個人電腦上運行的軟件下載到手機上將無法運行,反過來也是如此。
2. 處理器的微架構
處理器的微架構(micro architecture)是指處理器的組成、結構以及指令在處理器中如何執行等具體的實現方案和技術,如運算器(ALU)數目,指令執行流水線的條數與級數,cache存儲器的級數和容量,多線程的支持能力,存儲控製和I\/O接口等。關於處理器微架構的知識在“計算機組成”(computer organization)課程中有更詳細的介紹。
相同指令集的處理器,其物理組成和邏輯結構可以有多種不同方案,也就是說,相同架構的處理器可以使用多種不同的微架構來實現,這既取決於對處理器性能和成本的要求,也取決於集成電路的工藝水平。
例如,Intel公司的酷睿和誌強、奔騰、賽揚處理器,它們都是x8664架構的64位微處理器。
但它們的微架構和製造工藝各不相同,性能也有明顯差別。
ARM公司的處理器情況相仿。目前高端智能手機中使用的CPU幾乎都是ARMv8A架構的64位處理器,ARM公司提供了CortexA53、CortexA57、CortexA72、CortexA35四種微架構的設計方案(俗稱公版架構),華為即購買了其中CortexA53和CortexA72兩種微架構的授權;而蘋果公司和高通公司隻買了ARM公司ARMv8A指令集的授權,處理器的微架構是自行設計的,然後再委托台積電、三星等集成電路廠家製造。這兩種不同的做法取決於公司自身的研發實力、財力和產品開發周期等多種因素,各有利弊。
3. 多核處理器
微處理器有30多年的曆史了。為了提高處理器的性能,其指令係統不斷擴充和增強,工作頻率(主頻)不斷提高,一些型號的處理器主頻已經超過4GHz。然而,繼續再提高處理器的主頻遇到了很多困難,主要是因為提高主頻後芯片功耗過大,散熱問題難以解決。
另一方麵,隨著集成電路製造及封裝技術的進步,現在已經有能力在一個集成電路芯片中集成多個處理器。同一CPU芯片中的每一個處理器人們稱它為CPU核、內核或簡稱核(core),集成在1個CPU芯片中的每個核均可獨立工作,它們在操作係統的協調下,分別執行不同的指令流(並行處理),從而提高了CPU的總體性能。
與服務器和個人電腦一樣,現在幾乎所有智能手機的CPU也都采用多個處理器核。從上麵的表29可以看出,華為990芯片的CPU由8個處理器核組成,蘋果A13芯片中CPU有6個核。隻要軟件設計得好,CPU中核的個數增多,CPU的性能就會相應提高。
4. 超線程
傳統的CPU隻有1個處理器核,每個核也僅有一個指令流在其中執行。隨著芯片的集成度不斷提高,處理器核開始包含多個執行部件。例如Intel的Haswell微架構處理器中有6個獨立的執行部件(如地址計算部件、整數運算器、浮點數運算器等),這就為同時執行2個或多個指令流(線程)創造了條件。Intel公司把這種技術稱為hyper threading——超線程。采用超線程技術之後,雖然硬件隻是1個處理器核,但軟件看到的卻好像有多個處理器,可同時運行多個線程,從而減少了軟件運行中的等待時間,提高了多任務操作係統並發執行多線程的能力。
當然,並發執行的兩個線程隻是共享處理器核中的執行部件,如果它們同時需要使用同一個部件(例如浮點運算器),其中一個線程必須暫停,直到該部件空閑後才能繼續運行。
酷睿CPU芯片大多提供超線程功能,即芯片中的每一個處理器核均可同時運行2個線程,奔騰和賽揚CPU芯片中的處理器核則大多不支持超線程功能。
5. cache存儲器
處理器核的工作速度很快,DRAM存儲器的速度比較慢(差一個數量級),從存儲器取數或向存儲器存數時,處理器需要停下來等待,這顯然難以發揮處理器的高速特性。解決的方法是采用cache存儲器。
cache是一種高速緩衝存儲器,簡稱快速緩存或緩存、快存,它直接製作在CPU芯片內,而且采用SRAM存儲電路,其速度幾乎與處理器核一樣快。處理器在運行程序時,會將最近一段時間可能使用的指令和數據預先成批讀出送入SRAM構成的cache存儲器。運行程序的過程中,每當處理器需要從內存讀取指令或數據時,先檢查cache中有沒有,若有,就從cache中讀取,而不用訪問DRAM存儲器。
采取這種做法的原理是:在一段時間內,處理器所執行的指令和處理的數據往往集中於存儲器的局部範圍之內。把這一段時間可能被頻繁訪問的指令和數據預先從DRAM存儲器讀到cache中,則處理器在這段時間內將不再或很少去訪問速度較慢的DRAM內存,因而大大加快了程序的運行速度。
cache的一個重要指標是命中率,即處理器需要的指令或數據在cache中能直接找到的概率。cache容量越大,訪問cache的命中率就越高,cache的級數越多,命中率也越高。
表210是前述幾種處理器核的cache存儲器的比較。它們的共同點是每個核中的第1級cache(L1)都分為數據cache(Dcache)和指令cache(Icache),不同之處是L2 cache和L3 cache並非每個核都有,有些CPU芯片中L2、L3 cache是被所有核共享的。
表210幾種處理器核的cache存儲器比較
處理器核L1 IcacheL1 DcacheL2 cacheL3 cache
Inteli7 5960x64KB64KB256KB\/核20MB (8核共享)
Intel賽揚G182064KB64KB256KB\/核2MB (2核共享)
ARM CortexA7248KB32KB0.5~4MB (4核共享)無
ARM CortexA5364KB64KB128KB (4核共享)無
Apple Twister64KB64KB3MB (2個核共享)4MB (2核共享)
處理器在執行指令過程中需要操作數和指令時,首先訪問L1 cache,如果不在L1 cache中,則自動轉去訪問L2 cache,如果L2中也沒有該數據或指令,再訪問L3 cache,如果仍然找不到的話,它就通過存儲控製器訪問主板上安裝的DRAM存儲器,從其中成批地(一次至少64字節)讀入所需要的數據或指令。
6. 功耗與電源管理
32位\/64位的CPU芯片是極其複雜的一個電子電路係統,它包含有幾億甚至幾十億個晶體管,工作頻率又很高(1~4GHz),因而功耗較大。以Intel公司酷睿CPU芯片為例,它們的滿負荷功耗小則幾十瓦,大則超過100瓦。CPU工作時芯片發熱,溫度升高,如不及時散熱則工作異常,甚至芯片被燒毀。為此台式PC的CPU芯片一般都安裝了專門的散熱風扇以降低芯片的溫度。大型機\/服務器等甚至還使用水冷或液氮冷卻的方法進行散熱。
智能手機等移動終端設備受到體積、重量和電池供電等多種因素的限製,對CPU\/SoC芯片的功耗提出了嚴格的限製。ARM處理器由於采用RISC架構,又考慮到上網、聊天、照相等應用的控製流不複雜,執行效率不必很高,所以在處理器的微架構設計中簡化了硬件邏輯,流水線、分支預測等都比較簡單,減少了晶體管數目,同時又對電源管理做了特別設計(如處理器在待機時以極低的主頻運行,暫時關閉閑置的CPU核和協處理器等;又如SoC芯片中可以集成異構的處理器核,當手機工作負荷不重,則由低功耗的核運行,若工作負荷增加,再啟動高性能核運行),因而芯片的功耗大為降低,一般會比台式PC所用CPU芯片的功耗低一個數量級。
2.3智能手機
1. 發展概述
手機是移動電話(mobile phone)的簡稱,它是個人移動通信係統的終端設備。按照移動通信網的技術劃分,手機相應地也分為1G手機(俗稱“大哥大”,模擬手機)、2G手機(GSM或CDMA手機)、3G手機(分3種製式)、4G手機(分TDDLTE和FDDLTE)和5G手機;如果按照手機的功能劃分,可分為笨手機(dumb phone)、功能手機(feature phone)和智能手機(smart phone)三大類。笨手機隻能用來打電話,很少有其他功能。功能手機除了電話功能之外,還具有收發短信、通訊錄、計算器、收音、錄音、日曆與時鍾、簡單遊戲和手電筒等功能,有些還可以拍照和播放MP3等。智能手機的功能比功能手機更豐富多樣,它可以像PC個人電腦一樣接入互聯網,下載安裝第三方軟件,不斷擴充功能。
智能手機可以認為是電話+電腦+數碼相機+電子書+音視頻播放器+導航儀+……, 它既是手機,又是電腦、相機,還是身份證和錢包. 一般認為,智能手機有如下一些技術特點:
具有無線接入移動電話網和互聯網的能力;
具有功能強大的通用操作係統,軟件豐富,操作方便;
用戶可安裝、卸載和更新應用軟件,與通用計算機保持數據兼容;
具有文字、圖像、音頻、視頻處理的多媒體信息處理功能。
實際上,智能手機就是一台可以隨身攜帶的真正的個人多媒體電腦。與台式PC相比,除了屏幕較小,不帶鍵盤和沒有大容量硬盤以外,其他如CPU速度、內存容量等已相差不多。不僅如此,智能手機還有許多傳統PC所不具備的能力,如4G\/5G移動通信、環境感知、位置服務等。
2. 智能手機的硬件結構
智能手機對硬件的要求很高。例如,需要使用高速度、低功耗、具有較強多媒體信息處理能力的64位CPU芯片;需要有容量較大的內存和輔助存儲器;需要有分辨率高麵積較大的觸摸式顯示屏;需要有多種無線通信和聯網功能;還需要配備大容量電池等。
以蘋果公司的iPhone 6s\/6s plus手機為例,其電路結構如圖228所示。整個硬件係統的核心是2塊SoC芯片,一塊是高通公司的基帶處理器(baseband processor),它負責音頻信號的A\/D和D\/A轉換,在信號發送時把音頻信號壓縮編碼成供發射的基帶信號;接收時把收到的基帶信號解碼為音頻信號。同時,它也負責地址信息(手機號、網站地址)、文字信息(短信文字、網站文字)、圖片和視頻信息的編\/解碼;三個射頻信號收發器負責調製\/解調、信道編\/解碼等功能。另一塊SoC芯片是蘋果公司設計、三星電子代工生產的片上係統Apple A9,它以主頻為1.85 GHz的雙核Twister CPU (ARMv8A架構)為中心,負責運行iOS操作係統和各種應用程序(App),對整個手機進行控製和管理,該芯片還包括圖形處理器GPU、圖像處理器、音頻處理器、定時控製、電源管理和多種I\/O接口電路等模塊。
圖228iPhone 6s\/6s plus手機的電路結構圖
圖229iPhone 6s手機的主板和IC芯片
圖229是iPhone 6S手機拆解之後主板(10層印製電路板)的照片,上麵是朝向顯示屏的一麵,下麵是它的背麵,僅供參考。為了節省空間,2GB容量的LPDDR4內存芯片與A9 SoC芯片相互疊在一起,這種技術稱為堆疊式封裝(package on package, PoP)。
其他智能手機的結構與圖228和圖229相仿,不同的是,蘋果手機使用了兩塊SoC芯片,其中一塊是Apple A9,另一塊是高通公司用於移動通信的SoC;而華為手機隻使用1塊SoC,因為華為自行設計的移動通信模塊(基帶處理器)與CPU、GPU等都集成在同一SoC芯片中,這不僅縮小了主板體積,也有助於節省功耗。
2.4無線I\/O接口——藍牙和NFC
智能手機等移動終端設備,由於體積的限製,它們大多采用無線通信方式與外設進行連接。常用的無線I\/O接口有兩種:藍牙和NFC,它們可以連接鼠標、鍵盤、打印機、耳機、音箱、手環、智能手表等。即使是台式電腦,在USB接口插入一個藍牙適配器之後,原先用於連接鼠標、鍵盤、打印機、音箱的電纜線就不需要了。
1. 藍牙
藍牙是一種短距離無線通信技術,最早由瑞典愛立信公司提出,IEEE曾將它作為個人無線區域網協議(802.15.1)的標準,現今由藍牙技術聯盟負責監督藍牙規範的開發、認證管理和商標保護。藍牙技術自1999年推出1.0版後,經過多次演變,目前最新的版本是藍牙5.0版。
藍牙使用的通信波段為2.4~2.4835GHz。2.4GHz是全球範圍內工業、科學和醫療(ISM)使用的短距離無線電頻段。藍牙使用跳頻技術(每秒跳1600次),它將傳輸的數據分割成數據包,通過40個藍牙頻道分別傳輸數據包(第一個頻道始於2.402GHz,間距2MHz,至2.48GHz)。
藍牙的最高數據傳輸速率在1~24Mb\/s之間(版本越高速率越高),傳輸距離一般在10m之內(版本越高傳輸距離越遠),但它與傳輸條件、天線配置和電池狀態等有關。藍牙5.0在低功耗模式下具備更快更遠的傳輸能力,傳輸速率為2Mb\/s,支持室內定位功能,與WiFi結合可以實現精度小於1m的室內定位。藍牙技術針對物聯網進行了底層優化,以更低的功耗和更高的性能為智能家居服務。
藍牙采用主從方式進行通信。每一對設備進行通信時,必須一個為主設備,另一個為從設備。主設備以跳頻的方式去尋呼周圍處於可被查找狀態的藍牙設備,從設備則以固定時間間隔掃描有無尋呼信號,當掃描到有尋呼信號時便會響應該尋呼信號,然後主設備輸入從設備的 PIN碼(有一些設備不需要)進行配對。配對的設備建立連接後,即可進行雙向的數據通信,從設備還會記錄下主設備的信任信息(稱為綁定),以便在下次尋呼時不再需要重新配對。在通信狀態下,主設備和從設備均可主動斷開連接。
上述配對—連接—傳輸數據的過程中,配對其實就是一個認證的過程。因為任何無線通信技術都存在被監聽和破解的可能,為了保證藍牙通信的安全,必須先認證(配對)再連接,然後進行數據傳輸。為使用方便,藍牙2.1之後的版本采用安全簡易配對(SSP)方法,可區分三種情況進行不同的配對處理:
(1) 即刻工作(just works)。對於藍牙耳機、音箱、手環、智能手表等沒有輸入界麵的設備,幾乎無須用戶操作即可配對(一般過程為:① 手機等主設備開啟藍牙,搜索附近可用的藍牙設備;② 打開耳機或音箱等從設備,長按藍牙鍵若幹秒,使進入配對模式;③ 在主設備上選擇需連接的從設備;④ 手機顯示連接成功,進入工作狀態)。
(2) 數值對比(numeric comparison)。如果兩個藍牙設備都有顯示屏,且至少一個設備用戶能輸入“是\/否”(例如兩個手機),則可在雙方設備上分別顯示一個6位數字,如果兩個數字相同,就在可接受輸入的設備上確認配對。
(3) 萬能鑰匙(passkey entry)。此方法可用於一個有顯示屏的設備和一個有數字鍵盤輸入的設備(例如1個手機和1個藍牙鍵盤),或兩個有數字鍵盤輸入的設備。第一種情況下,顯示屏上顯示6位數字,用戶可在另一設備的鍵盤上輸入該數字。第二種情況下,兩個設備需同時在鍵盤上輸入相同的6位數字。
藍牙設備可以在主\/從兩個角色之間切換:平時工作在從模式,等待其他主設備來連接,需要時,可轉換為主模式,向其他設備發起呼叫。一個藍牙主設備理論上可同時與7個藍牙從設備進行通信。
藍牙技術具有許多特點:功耗低、體積小、便宜,很容易集成在其他設備中;延遲時間短(最短可在3ms內完成連接並開始傳輸數據);可靠性高(所有數據包都使用24位CRC校驗,抗幹擾能力強);安全性好(使用AES128 CCM加密算法進行數據包加密和認證)。特別是藍牙4.0版之後的低功耗藍牙(簡稱BLE),它不工作時可以休眠,隻在需要執行動作的時候才喚醒,功耗很小,已經大量使用在娛樂、運動、保健、家居、醫療、車載等領域中,各種可穿戴智能設備如手表、手環、手套、帽子、跑鞋、血壓計、心電監測儀等都采用低功耗藍牙技術。現在iOS係統、Android係統、Windows8\/10係統等都已經提供對藍牙技術的支持。
2. 近場通信NFC
近幾年一種稱為NFC(近場通信,近距離通信)的應用正在手機中推出。NFC由非接觸式射頻標簽(RFID)技術演變而來,它是一種近距離高頻無線通信技術,工作頻率為13.56MHz,通信距離僅限10cm之內,傳輸速度有106kb\/s、212kb\/s和424kb\/s三種。
NFC技術與現在廣泛使用的校園卡、公交卡之類的非接觸式IC卡保持兼容(ISO 14443即Mifare標準和FeliCa標準的IC卡),芯片中含有加\/解密邏輯電路,安全性好。內置了NFC芯片的設備(如某些手機)有3種工作模式:
(1) IC卡仿真模式(card emulation)。此時手機就當作一張非接觸式IC卡使用,以替代信用卡、銀行卡、公交卡、門禁卡,校園卡等。這種方式的優點是機卡合一,手機沒聯網也可以工作。
圖230NFC(近場通信)的應用
(2) 讀卡器模式(reader\/writer mode)。此時NFC手機可作為非接觸IC卡的讀卡器使用。例如,在相應軟件的支持下,查詢公交卡、校園卡中的餘額,從展覽會海報的電子標簽(RFID)上讀取更進一步的內容介紹等,此時NFC起著數據采集的作用。
(3) 點對點模式(P2P mode)。此模式用於數據交換,兩個NFC手機緊靠一起,實現數據點對點傳輸,例如傳輸音樂、交換照片或者同步通信錄等。
現在,NFC技術已經配置在許多4G、5G手機中。2016年2月,基於NFC的手機支付功能Apple Pay(蘋果支付)在中國上線。用戶事先將信用卡或借記卡的信息存儲在蘋果iPhone手機中,付款時將手指放在手機的指紋識別傳感器上,手機靠近支持NFC的POS機,1至2s即可完成支付(需要時還應輸入銀行卡密碼)。使用NFC支付不要WiFi,不要接入互聯網,也不需要點擊進入App,甚至無須喚醒顯示屏即可完成支付。目前包括南京在內的一些城市已經開通了使用手機NFC功能刷卡乘坐地鐵和公交車的服務,用戶隻需下載一個App並完成開卡,利用支付寶、微信等充值後就可以使用,即使手機在通話中或鎖屏時,甚至在沒電的情況下,都可以照常刷卡乘車。
NFC和藍牙都是短距離通信技術,它們也都集成在智能手機中,雖然兩者有不少共同點,但它們的技術性能和應用目標有明顯區別,表211是NFC、藍牙和低功耗藍牙3種技術的比較。
表211NFC、藍牙和低功耗藍牙3種技術的對比
NFC藍牙低功耗藍牙
工作頻率13.56MHz2.4~2.5GHz2.4~2.5GHz
傳輸方式點對點單點對多點單點對多點
傳輸距離<0.1m<10m1m
傳輸速度106\/212\/424kbps2.1Mbps1.0Mbit\/s
連接時間<0.1s<6s<0.006s
數據加密硬件實現軟件實現軟件實現
RFID兼容性是否否
功耗<15mA (read)中<15mA (xmit)
2.5顯示卡與GPU
1. 計算機繪圖的過程
早期個人電腦屏幕上顯示的內容主要是文字、數字和符號,顯示輸出的過程比較簡單。隨著圖形用戶界麵的操作係統的普及和圖像應用的增多,屏幕上顯示二維圖形圖像的內容日益豐富,對畫麵的分辨率、色彩、生成速度等要求越來越高,顯示輸出的過程變得複雜起來。
進入21世紀後,隨著3D遊戲的大量出現和硬件價格的迅速下降,人們對計算機顯示輸出具有真實感的3D活動圖像的要求越來越高,為此必須先在計算機內描述景物的結構、形狀與外貌(稱為“建模”),然後再根據其描述(模型)和用戶的觀察位置及光線情況,生成該景物的圖像(稱為“圖像繪製”)。圖像繪製階段中,為了在顯示器屏幕上顯示出具有色彩、紋理、陰影、層次等具有真實感效果的3D景物的圖像,計算機必須高速完成一係列複雜的處理,例如:
(1) 將景物中各個物體的所有表麵用大量的小多邊形(三角形或四邊形)進行近似表示。
(2) 用戶選擇一個觀測位置,並設定取景範圍,將景物向成像平麵作透視投影[圖231(a)]。
(3) 將景物中不在取景範圍內的部分裁剪掉,同時,還把景物中所有被遮擋而看不見的部分隱去[圖231(b)]。
(4) 根據景物表麵材料的性質和環境光源的設定,計算出物體可見麵上每一點(像素)的顏色及其亮度[圖231(c)]。
(5) 根據景物表麵和背景使用的材料,從紋理庫中選擇合適的紋理映射到物體和背景的表麵。
(6) 計算出由於光源投射到物體所產生的本影和半影。
圖231從景物模型繪製景物圖像的過程舉例
由於景物圖像中每一個像素的顏色及其亮度都要經過大量計算才能得到,上述圖像繪製過程的計算量非常大,必須使用專門設計的微處理器來完成,這就是PC顯卡中或CPU\/SoC芯片中的圖形處理器GPU(又稱圖形引擎)。
2. 顯示卡的組成
顯示卡(顯卡)是主機與顯示器之間的“橋梁”, 它負責將CPU需要輸出的圖形和文字轉換成顯示器可接受的位圖(bitmap)圖像(稱為圖形繪製或繪圖),然後以規定的頻率一幀一幀地送至顯示器,在顯示器屏幕上呈現出用戶可見的圖像。
顯示卡[圖232(a)]的核心是繪圖處理器(GPU)[圖232(b)]。早期的顯示卡沒有GPU,繪圖功能大多由CPU自行完成,所生成的位圖數據存儲在顯卡的顯示存儲器中,顯卡再將它們傳輸給顯示器進行顯示。這樣既無法提高顯示速度,又增加了CPU的工作負擔。隨著Windows圖形用戶界麵的出現和圖形圖像應用的普及,這種弊端越來越嚴重,於是出現了圖形處理器GPU。GPU是一種專用處理器,它有一組用於繪圖和圖像處理的專門指令,如數據塊傳送、基本圖形繪製、區域填色、圖案填充、圖形縮放、顏色轉換等。由於是硬件實現,所以既減輕了CPU的負擔,又加快了圖形繪製的速度。
圖232顯卡和GPU芯片
雖然GPU芯片接管了CPU的圖形繪製功能,但隻有配置了高速大容量的顯示存儲器才能使GPU芯片的性能充分發揮出來。顯示存儲器(顯存)以前又稱為幀存儲器或刷新存儲器,主要用於存儲被顯示圖像的位圖數據,在屏幕每次刷新時顯示控製電路將其讀出並轉換為模擬信號,再經過VGA接口送到顯示屏幕去顯示。現在,顯存不僅用於保存被顯示圖像的位圖,而且還是GPU的工作存儲器。在顯示3D景物時,其圖像是由最基礎的材質貼圖加上各種特效處理而形成的,因此顯存還要保存材質數據、頂點數據和索引數據等,以供GPU芯片處理。
隨著電腦遊戲的場景越來越複雜,所用的材質也越來越豐富,需要的存儲容量也不斷增大。因此,顯存的容量、速度和數據線寬度直接關係著顯卡性能的高低。目前許多顯示卡的存儲容量已經達到GB量級。為了適應GPU和顯示器對顯存高速訪問的要求,顯存大多采用GDDR3、GDDR4或GDDR5存儲器組成。GDDR是一種為顯卡特別設計的高性能DDR存儲器,它比主存中使用的普通DDR時鍾頻率更高,更適合搭配GPU芯片使用。
獨立顯卡通過PCIE×16接口插在主板上使用,現在廣泛使用的PCIE×16顯卡接口,它有16個通道同時串行高速傳輸數據,速率可以高達40GB\/s。
獨立顯卡有高性能的圖形處理器,還有專門的顯示存儲器。集成顯卡的組成雖然在概念上與獨立顯卡相同,但物理結構上GPU包含在CPU芯片中,顯示存儲器則與主存儲器合二為一,因而性能與獨立顯卡有明顯差距。
3. PC和智能手機中的GPU
圖形處理器(GPU)是一種專門用於圖形\/圖像處理的微處理器,它具有圖形繪製、圖像處理與顯示等必需的功能,有些還提供視頻播放、視頻壓縮\/解壓縮的功能。GPU是專為執行複雜的數學和幾何計算而設計的專用處理器,一些GPU的浮點計算性能和結構複雜程度甚至超過了普通的CPU。
考慮到3D景物中每個物體的形狀與輪廓在計算機中都是由大量多邊形(幾十萬、幾百萬個三角形或四邊形)近似表示的,其中每個可見麵上的每個像素的顏色和亮度均需要由物體的材質和光照條件來確定(稱為像素的光照處理或像素的渲染\/著色,即shading或lighting),所以GPU在圖形繪製過程中需要執行大量的多邊形幾何變換和像素渲染計算(transform and lighting,T&L)。衡量一個GPU性能的好壞,關鍵是看它的T&L能力。多邊形處理能力越強(主要由浮點運算速度決定),每秒可處理的多邊形就越多,多邊形數目越多,可表示的場景就越精致和複雜;像素渲染能力越強,每秒可處理的像素數目越多,圖像的分辨率就越高,每秒鍾可繪製完成的圖像幀數也越多。
現在市場上的獨立顯卡大多采用美國nVIDIA和ATI兩種品牌的GPU芯片。以2014年nVIDIA公司推出的圖形處理器GeForce GTX 980為例,其芯片中有52億個晶體管,工作頻率為1.12GHz。它包含2048個光照計算處理器、128個紋理映射部件和64個輸出部件,浮點運算速度為4612 GFLOP\/s,每秒可處理720億個像素,支持的顯示存儲器容量可達4GB,在中高端顯卡中使用。
台式和筆記本電腦采用集成顯卡時,圖形處理器GPU與中央處理器CPU集成在同一個芯片中。例如Intel公司的Core i9\/i7\/i5\/i3芯片中,GPU型號為Intel HD Graphics 4xxx、5xxx或6xxx。以HD Graphics 6000為例,它包含有48個執行部件,工作頻率為1.0GHz,浮點運算速度為768 GFLOP\/s,與獨立顯卡使用的GPU相比,它的T&L能力明顯不如。不僅如此,還因為它沒有自己專有的顯示存儲器,必須與CPU共享內存,所以集成顯卡性能明顯不及獨立顯卡,且一定程度上還會影響係統的整體效率。
智能手機的屏幕分辨率現在越來越高,用戶對使用智能手機播放高清視頻和玩3D遊戲的興趣也越來越濃厚,因此圖形\/圖像處理性能也越來越受到用戶的關注。由於智能手機的GPU與CPU集成在同一SoC芯片中,它們共享同一個內存,所以實質上屬於集成顯卡,性能還無法與獨立顯卡相比。
智能手機等移動設備上使用的GPU進展很快。目前使用較多的主要有英國Imagination公司的PowerVR係列、英國ARM公司的Mali係列、美國高通公司的Adreno係列等。例如蘋果iPhone 6s和6s plus手機中使用的GPU是6核PowerVR GT7600,每個核有8個渲染流水線,每個流水線有4個處理部件(PE),每個PE在每個周期可以完成兩次32位浮點數的乘加運算(MAD)。在450MHz工作頻率下,其浮點運算速度理論上可達172.8 GFLOP\/s,每秒可處理5.4G個像素。又如華為Mate 8手機使用的GPU是ARM公司設計的4核Mali T880,每個核有2條流水線和1個紋理單元,當工作頻率為700MHz時,浮點運算速度約為95.2 GFLOP\/s,像素處理能力大約每秒9.52G個像素。它們均能很好地支持分辨率為1920×1080的顯示器流暢地進行圖形顯示和圖像處理。
第3章計算機軟件
第3章計算機軟件
計算機係統分為兩個基本組成部分,即計算機硬件和計算機軟件。硬件是組成計算機的各種物理設備的總稱,它在二進製世界裏工作,功能雖然簡單,速度卻奇快無比;軟件自始至終指揮和控製著硬件的運行過程,完成各種任務。沒有軟件,硬件就不知道做什麼,計算機也就沒有什麼用處了。
3.1概述
3.1.1什麼是計算機軟件
1. 程序
從第2章的介紹中知道,目前的主流計算機都是按照馮·諾依曼“存儲程序控製”的思想設計的。程序是告訴計算機做什麼和如何做的一組指令(語句),這些指令(語句)都是計算機能夠理解並可以執行的一些命令。所以,程序具有以下特點:① 完成某一確定的信息處理任務;② 使用某種計算機語言描述如何完成該任務;③ 存儲在計算機中,並在啟動運行(被CPU執行)後才能起作用。
計算機的任何一項功能都是計算機執行相應程序來完成的。計算機的通用性和應用的廣泛性源自兩個因素。首先,它通過執行各種不同的程序來完成各種不同的任務(圖31);其次,程序可在需要時裝入計算機,不需要時從計算機中卸載。程序多種多樣數不勝數,計算機也就“無所不能”了。
圖31不同程序完成不同的任務
需要說明的是,計算機中程序所處理的對象和處理後所得到的結果通稱為數據(分別稱為輸入數據和輸出數據)。程序必須處理合理、正確的數據,例如音樂播放程序必須輸入MP3之類的音頻數據,圖像處理程序必須輸入JPG之類的圖像數據,否則不會產生有意義的輸出結果。
2. 軟件
軟件的含義比程序更宏觀、更物化一些。手機中的微信、淘寶、圖庫、聯係人、百度等都是軟件。一般情況下,軟件往往指的是設計比較成熟、功能比較完善、具有某種使用價值的程序。而且,人們不僅把程序也把與程序相關的數據和文檔統稱為軟件。其中,程序當然是軟件的主體,單獨的數據或文檔一般不認為是軟件;數據指的是程序運行過程中需要處理的對象和必須使用的一些參數(如三角函數表、英漢詞典、通訊錄等);軟件文檔指的是與程序開發、維護及操作有關的一些資料(如設計報告、維護手冊和使用指南等)。通常,軟件(特別是商品軟件和大型軟件)必須有完整、規範的文檔作為支持。
軟件和程序本質上是相同的。因此,在不會發生混淆的場合下,軟件和程序兩個名稱經常可互換使用,並不嚴格加以區分。
至於“軟件產品”,則是軟件開發廠商交付給用戶用於特定用途的一整套程序、數據及相關的文檔(一般是安裝和使用手冊),它們以光盤或U盤作為載體,也可以免費或經過授權後從網上下載。
軟件是智力活動的成果。作為知識作品,它與書籍、論文、音樂、電影、電視一樣受到知識產權(版權\/著作權)法的保護。軟件版權是依法授予軟件作者的權利,版權所有者唯一地享有該軟件的拷貝、發布、修改、署名、出售等諸多權利。用戶購買了一個軟件,僅僅得到了該軟件的使用權,並沒有獲得它的版權,因此隨意進行軟件拷貝和分發都是違法行為。
設立知識產權法的目的是為了確保腦力勞動受到獎勵並鼓勵發明創造。軟件人員、發明家、科學家、作家、編輯、導演和音樂家等依靠他們在思想、觀點和表達上的創新而獲取收入。保護其權益就能充分發揮他們的創造能力,社會也將從他們的成果中受益。
3. 軟件的安裝與卸載
PC和智能手機購買時一般都預裝了操作係統和若幹常用的應用軟件,開機即可使用。但人們經常還要使用一些其他軟件,這些軟件可以從網上下載。例如蘋果公司的App Store,華為的應用市場,微軟的應用商店,騰訊應用寶,安卓市場等,其中有些需付費購買,有些則可免費下載。
無論是從互聯網下載的軟件,還是光盤或者U盤中的軟件,一般都需要在PC或智能手機上安裝之後才能工作。所謂軟件安裝,就是將程序代碼複製到輔助存儲器中合適的位置,在係統目錄中寫入一些必要的應用程序擴展(如DLL),往係統的注冊表中添加注冊信息,設置環境變量和啟動路徑等。
Windows中的應用軟件往往包含有1個安裝程序或安裝向導(文件名為setup.exe或install.exe等),用以協助用戶安裝該軟件。智能手機的App從網上下載完畢後,經用戶同意就自動安裝。安裝過程可能包含如下幾個步驟:
● 把壓縮形式的程序和數據進行解壓縮,還原成電腦可讀\/可執行的二進製文件;
● 輸入產品序列號,簽署軟件使用協議;
● 確定軟件安裝的選項,選擇軟件安裝路徑;
● 確認或拒絕軟件所要求的權限。
軟件安裝完成後,一般都在桌麵(屏幕)上留下其圖標,詢問是否清除安裝包,是否立即打開(運行),有些軟件還需要進行參數設置,有些則需要注冊、登錄後才能開始運行。
不再需要使用的軟件可以從PC\/智能手機中刪去,以減少占用的資源(如輔助存儲器空間等),這個過程稱為軟件卸載。卸載是安裝的逆過程,注意要把該軟件殘留的數據一起刪除幹淨。
3.1.2計算機軟件的特性
在計算機係統中,軟件和硬件是兩種不同的產品。硬件是有形的物理實體,而軟件是無形的,它具有許多與硬件不同的特性。
(1) 不可見性。軟件是原理、規則、算法的體現,它不能被人們直接觸摸。程序和數據以二進位編碼表示並通過電、磁或光的形式進行存儲和傳輸,人們能看到的隻是它的物理載體,而不是軟件本身。它的價值也不是以物理載體的成本來衡量的。
(2) 適用性。成功的軟件一定能滿足某種需求,它或者可以完成傳統工具\/方法很難完成甚至不可能完成的任務,或者能以更方便、更有效的方式完成該任務。例如,網頁搜索軟件能為用戶快速尋找所需要的信息,支付寶可以方便地幫人們收付款。
(3) 依附性。軟件不像硬件產品那樣能獨立存在,它要依附一定的環境(平台)。這種環境是由特定的計算機硬件、網絡和其他軟件組成的。沒有一定的環境,軟件就無法正常運行,甚至根本不能運行。例如在PC上極有價值的一些軟件,在智能手機上可能毫無用處;而手機上的軟件也沒法在PC上運行。
(4) 複雜性。現今,能獲得廣泛使用的軟件都相當複雜,不僅在功能上要滿足應用的需求,而且響應速度要快,操作使用要靈活方便,工作要安全可靠,對運行環境的要求要低,還要易於安裝、維護、升級和卸載等,所有這些都使得軟件的規模越來越大,結構越來越複雜,開發成本也越來越高。當今的軟件產品,一般都是由軟件公司組織許多軟件人員,按照工程的方法進行開發並經過嚴格測試後完成的。
(5) 易複製性。軟件是以二進位表示,以電、磁、光等形式存儲和傳輸的,因而軟件可以非常容易且毫無失真地進行複製,這就使軟件的盜版行為很難絕跡。軟件開發商除了依靠法律保護軟件之外,還經常采用各種措施來確保其軟件產品的銷售量,以收回高額的開發費用並取得利潤。
(6) 不斷演變性。由於計算機技術發展很快,用戶需求又會不斷發展和變化,軟件投入使用後還需要開發人員不斷進行修改和完善,排除錯誤、擴充功能、適應不斷變化的環境,這就導致了軟件經常更新和版本升級。例如騰訊公司的微信軟件從2011年5月推出正式使用的2.0版後,經過幾十次的更新和發展,迄今(2020年5月)已經是7.0.15版。
(7) 有限責任。軟件的正確性無法采用數學方法予以證明,目前還沒有人知道怎樣才能寫出沒有任何錯誤的程序,因此軟件功能是否百分之百正確,它能否在任何情況下都正確運行,軟件廠商無法給出承諾。為此有些軟件廠商要求用戶在使用軟件之前接受有關協議。例如微信軟件的使用協議中有如下條款:
“7.2.4你理解並同意騰訊將會盡其商業上的合理努力保障你在本軟件及服務中的數據存儲安全,但是,騰訊並不能就此提供完全保證,包括但不限於以下情形:
7.2.4.1騰訊不對你在本軟件及服務中相關數據的刪除或儲存失敗負責;
7.2.4.2…………”
(8) 脆弱性。隨著互聯網的普及,計算機之間相互通信和共享資源一方麵給用戶帶來許多方便和好處,同時也給係統的安全和軟件的可靠運行帶來了威脅。其原因一方麵是因為軟件設計和實現中難免存在漏洞,另一方麵也是由於軟件不是“剛性”的產品,它容易被篡改和破壞,所以使違法和犯罪行為有機可乘。
3.1.3計算機軟件的分類
1. 係統軟件和應用軟件
按照不同的角度和標準,可以將軟件劃分為不同的種類。如果從軟件功能和作用的角度出發,通常將軟件大致劃分為係統軟件和應用軟件兩大類。
(1) 係統軟件
係統軟件泛指那些為了安全有效地使用計算機係統、給應用軟件開發與運行提供支持或者能為用戶管理和使用計算機提供方便的一類軟件,例如基本輸入\/輸出係統(BIOS)、操作係統(如Windows、iOS等)、程序設計語言處理係統(如C語言編譯器)、數據庫管理係統(如ORACLE、Access等)、通信協議軟件、常用的實用程序(如磁盤清理程序、備份程序、殺毒軟件等)等都屬於係統軟件。
係統軟件的主要特征是:它與計算機硬件關係密切,能對硬件資源進行統一的控製、調度和管理;係統軟件具有基礎性和支撐作用,它是應用軟件的運行平台。在通用計算機(如PC、智能手機、平板電腦等)中,係統軟件是必不可少的,具有很重要的作用。即使是洗衣機、微波爐之類的嵌入式係統中,也安裝\/固化有一些監控程序(monitor),否則設備將無法啟動工作。
(2) 應用軟件
應用軟件(application software,簡稱App)泛指那些專門用於為最終用戶解決各種具體應用、完成特定任務的軟件。由於計算機的通用性和應用的廣泛性,應用軟件比係統軟件更加豐富多樣。
計算機工作時,硬件、係統軟件和應用軟件既有分工又有合作,三者有序配合協同完成預定的任務。圖32是計算機運行財務管理軟件時,用戶按下“P”鍵後計算機打印工資報表的過程。
圖32計算機硬件、係統軟件、應用軟件的分工與合作
按照應用軟件的開發方式和適用範圍,應用軟件可再分成通用應用軟件和定製應用軟件兩大類。
① 通用應用軟件
生活在現代社會,不論是學習還是工作,不論從事何種職業、處於什麼崗位,人們都需要閱讀、書寫、社交、娛樂和查找信息,有時可能還要做講演、發消息等。所有這些活動都有相應的軟件使之更方便、更有效地完成。由於這些軟件幾乎人人都需要使用,所以把它們稱為通用應用軟件。
通用應用軟件分若幹類。例如文字處理軟件、網頁瀏覽軟件、遊戲軟件、音視頻播放軟件、通信與社交軟件、信息管理軟件、演示軟件、電子表格軟件等(表31)。這些軟件的用戶很多,使用非常頻繁,它們設計得很精巧,不同係統和平台有不同的版本(如PC電腦版、iOS版、安卓版等),大多易學易用,許多軟件幾乎不經培訓就能上手,在日常工作、學習和生活中發揮了很大的作用。
注意,表31中同類軟件往往有多個,它們由不同的公司開發,功能大體相同,所處理的數據格式大致統一卻又有區別,但可以直接或經過轉換後交換使用。
表31通用應用軟件的主要類別和功能
類別功能流行軟件舉例
文字處理軟件文本編輯、文字處理、桌麵排版等WPS Office、Word、Adobe Acrobat等
電子表格軟件表格設計、數值計算、製表、繪圖等Excel、WPS Office等
演示軟件投影片製作與播放PowerPoint、WPS Office等
網頁瀏覽軟件瀏覽網頁、信息檢索、電子郵件通信等微軟IE、搜狐、UC瀏覽器、Firefox、Safari、Chrome、Edge等
音視頻播放軟件播放各種音頻和視頻等數字媒體Microsoft Media Player、Real Player、QuickTime、暴風影音、Winamp等
通信與社交軟件電子郵件、聊天、微博、微信等Outlook、QQ、微信、Facebook、Skype、FaceTime、Twitter(推特)等
個人信息管理軟件記事本、日程安排、通訊錄Outlook、記事本、聯係人、備忘錄等
購物及支付軟件購物、訂票、訂房、打車、支付手機淘寶、鐵路12306、攜程旅行等
遊戲軟件遊戲和娛樂下棋、撲克、休閑遊戲、角色遊戲等
② 定製應用軟件
定製(或半定製)應用軟件是按照不同領域用戶的特定應用要求而專門設計開發的。如超市的銷售管理和市場預測係統、汽車製造廠的集成製造係統、學校教務管理係統、醫院信息管理係統、酒店客房管理係統等。這類軟件專用性強,設計和開發成本相對較高,主要是一些機構用戶購買,因此價格比通用應用軟件貴得多。
2. 商品軟件、共享軟件和自由軟件\/開源軟件
如果按照軟件權益的處置方式來進行分類,則軟件有商品軟件、共享軟件(shareware)和自由軟件(free software)之分。
商品軟件的含義不言自明,用戶需要付費才能得到其使用權。它除了受版權保護之外,通常還按照軟件許可證(license)的規定使用軟件。例如,版權法規定用戶將一個軟件複製到多台機器去使用是非法的,但若購買了多用戶許可證,則就允許同時安裝在若幹台計算機上使用,或者允許所安裝的一份軟件同時被若幹個用戶使用。
共享軟件是一種“買前免費試用”的具有版權的軟件,它通常允許用戶試用一段時間,也允許用戶進行拷貝和散發(但不可修改後散發)。如果過了試用期還想繼續使用,就得交注冊費,成為注冊用戶才行。這是一種為了節約市場營銷費用的有效的軟件銷售策略。
自由軟件的創始人倡導軟件的“非版權”原則,即在協議規定下用戶可共享軟件,允許隨意拷貝和修改其源代碼,允許自由傳播,但對軟件源代碼的任何修改都必須向所有用戶公開,還必須允許其他用戶享有進一步拷貝和修改的自由。在自由軟件精神的啟迪下出現了“開源軟件”(opensource software)。開源軟件指在軟件發行的時候必須附上完整的源代碼,並在協議規定下用戶可以修改和再發布。開源軟件並不反對商業收費。許多開源軟件都是多人合作義務開發的成果。例如Apache HTTP服務器軟件,osCommerce電子商務平台、Mozilla Firefox(火狐狸)瀏覽器、LibreOffice辦公套件、GNU\/Linux和Android操作係統的內核等。自由軟件\/開源軟件的發展對於軟件共享和技術創新起了很好的促進作用。
除了上述三類軟件之外,還有一種免費軟件(freeware),它是一種無須付費就可取得的軟件,但用戶並無修改和分發該軟件的權利,其源代碼也不一定公開。例如Adobe Reader、Flash Player、360殺毒軟件等。大多數自由軟件都是免費軟件,但免費軟件並不全都是自由軟件。
現在,蘋果公司、穀歌、微軟等不少廠商在互聯網上開設了應用軟件商店(Apple App Store、Google Play和微軟應用商店等),向用戶提供了數以幾十萬計的應用軟件,其中有需要收費的商品軟件,也有大量免費軟件。軟件商店提供的一站式服務具有快捷下載和安裝、快速更新、便於維護和管理等特點,是軟件銷售模式的一次革命。應用軟件商店負責對軟件進行審核、發布和營銷,其麵向全球市場和所采用的利潤分配策略(如開發者能得到應用軟件銷售額中的可觀部分),激發了軟件研發人員開發更多應用軟件的熱情,它為智能手機構建了一個豐富多彩的應用軟件生態環境。
複習題
(1) 什麼是計算機軟件?計算機軟件有哪些特性?
(2) 什麼是共享軟件和自由軟件?它們的意義何在?
(3) 從功能角度出發,軟件分為哪兩類?你會使用哪些通用應用軟件?
(4) 你的智能手機上安裝了哪些軟件?哪些是係統軟件,哪些是應用軟件?
3.2操作係統
操作係統(OS)是計算機中最重要的一種係統軟件,它由許多程序模塊組成,它們能以有效、合理和安全的方式組織和管理計算機的軟硬件資源,科學地安排計算機的工作流程,控製和支持應用程序的運行,並向用戶提供用戶界麵(人機接口),使用戶能容易
、方便、有效、安全地使用計算機,確保整個計算機係統高效有序安全地運行。
3.2.1概述
1 操作係統的作用
操作係統主要有以下幾個方麵的重要作用。
(1) 為計算機中應用程序的運行提供支持和服務
計算機是通過運行應用程序(App)來完成各種任務的。應用程序雖然多種多樣,功能各異,但它們的運行過程有許多共同之處。例如,它們都需要從輔助存儲器(硬盤或閃存)讀出然後再裝入內存(RAM);都需要在屏幕上顯示信息並從鍵盤(或觸摸屏)上接收用戶的輸入;需要與其他計算機通信;需要訪問文件係統和數據庫等等。操作係統的任務之一就是為應用程序提供這些共性的服務,減輕App的工作負擔,提高App的效率。
(2) 為計算機中運行的應用程序管理和分配係統資源
計算機中一般總有多個程序在運行,例如在使用Word編輯文檔時,還使用媒體播放器播放MP3音樂、殺毒軟件正在殺毒、郵件程序正在接收電子郵件等,這些程序在運行時都需要使用係統中的資源(例如占用內存、訪問硬盤、在屏幕上顯示信息等)。此時,操作係統就承擔著硬件和軟件資源的調度和分配任務,以避免衝突,保證程序正常有序地運行。操作係統的資源管理功能主要包括處理器管理、存儲管理、文件管理、I\/O管理等幾個方麵。
(3) 為用戶操作使用計算機提供友善的人機接口
人機接口也稱用戶接口或用戶界麵(UI),它的任務是方便用戶操作、實現用戶與計算機之間的通信(對話)。現在,幾乎所有操作係統都向用戶提供圖形用戶界麵(GUI),它以矩形窗口的形式顯示正在運行的各個程序的狀態,用圖標(icon)來形象地表示係統中的文件、程序、設備等對象,用戶借助點“菜單”的方法來選擇要求係統執行的命令或選項,利用鼠標器或觸摸屏控製屏幕光標移動,並通過點擊啟動某個操作命令的執行。使用戶能夠比較直觀、靈活、方便、有效地使用計算機,減少了記憶操作命令的沉重負擔。
(4) 為應用程序的開發提供一個高效率的平台
人們常把沒有安裝任何軟件的計算機稱為裸機,在裸機上開發應用程序難度大,效率低
,可靠性差。安裝了操作係統之後,實際上呈現在應用程序和用戶麵前的是一台“操作係統虛擬機”
(圖33)。操作係統屏蔽了幾乎所有物理設備的技術細節,它以規範、高效的方式(例如
係統調用、應用框架、庫函數等)向應用程序提供了有力的支持,從而為開發和運行其他係統軟件及各種應用軟件提供了一個高效率的平台。
圖33操作係統的作用和地位
除了上述四個方麵的作用之外,操作係統還能處理軟硬件錯
誤、監控係統性能、保護係統安全,等等。總之,有了操作係統,計算機才能成為一個高效、可靠、通用的信息處理係統。
2. 操作係統的組成
現在,無論PC還是智能手機,係統中都安裝有操作係統。應用軟件必須在操作係統的管理和支持下運行,操作係統是應用軟件的運行平台,在係統中起著基礎設施的作用。
操作係統是一種功能豐富、技術複雜的軟件產品,它們通常由操作係統內核(kernel)和其他許多附加的配套軟件所組成,包括圖形用戶界麵程序、常用的應用程序(如日曆、計算器、資源管理器、網絡瀏覽器等)和實用程序(任務管理器、磁盤清理程序、殺毒軟件、防火牆等),以及為支持應用軟件開發和運行的各種軟件構件(如應用框架、編譯器、程序庫等)。圖34是操作係統組成的示意圖。
圖34操作係統的組成和操作係統內核
操作係統內核(kernel)指的是提供任務管理、存儲管理、文件管理、通信支持和設備管理等功能的一組軟件模塊,用於為其他軟件(包括應用程序)提供服務。開機後內核通常都駐留在內存中,它以CPU的最高優先級運行,能執行指令係統中的所有指令(包括特權指令),具有直接訪問各種外設和全部主存空間的特權,負責對係統資源進行管理和分配。
操作係統內核通常情況下,操作係統內核和操作係統並不嚴格區分,讀者可按照上下文進行理解。並不是完整的操作係統。軟件公司還需要在操作係統內核的基礎上再進行開發,配置各種程序庫和應用框架,設計用戶界麵,提供常用的應用程序和實用程序,然後才能作為一個完整的操作係統產品提供用戶安裝使用。以華為智能手機為例,其操作係統由兩部分組成:安卓係統(內核及程序庫、應用框架等)和華為自行開發的用戶界麵程序EMUI及若幹常用的應用軟件。
相同內核的操作係統可以有多種不同的產品。例如,微軟Windows操作係統大多使用NT內核,隻是版本有差別而已。Windows XP內核是NT5.1,Windows Vista的內核是NT 6.0,Windows7、Windows 8.1和Windows 10的內核分別是NT 6.1、NT 6.3和NT 10.0,服務器操作係統如Windows Server 2003、2008、2012的內核都是NT,就連用於智能手機的Windows Phone 8.1操作係統其內核也是NT 6.3版。
同樣,采用Linux內核的操作係統也有許多種,如屬於自由軟件的GNU\/Linux操作係統等。智能手機中廣泛使用的Android(安卓)操作係統也是在Linux內核的基礎上由Google公司開發而成的。
目前個人電腦和移動終端設備使用的操作係統主要有Windows、iOS和Android(安卓)三種。本節餘下內容重點介紹Windows操作係統的內核,有關iOS和Android操作係統的內容可參見閱讀材料3.1的介紹。
3 操作係統的啟動
操作係統安裝後大多駐留在硬盤、NAND閃存之類的輔助存儲器中,計算機開機前內存中並沒有操作係統。當加電啟動計算機時,CPU首先執行主板上固件(如BIOS)中的自檢程序,測試計算機主要部件的工作狀態是否正常。若無異常情況,CPU繼續執行BIOS中的引導裝入程序,按照CMOS中預先設定的啟動順序,依次搜尋計算機中的輔助存儲器,若找到需要啟動的操作係統所在的輔存,則將其第一個扇區的內容(主引導記錄)讀到內存,然後將控製權交給其中的操作係統引導加載程序,由引導加載程序繼續將硬盤中的操作係統裝入內存。操作係統加載到內存後,整個計算機就處於操作係統的控製之下,用戶就可以正常地使用計算機了。圖35(a)是開機後操作係統的加載過程,圖35(b)是操作係統加載成功後計算機運行時內存儲器中的大致態勢。
圖35操作係統的加載過程和運行時的內存態勢
在PC開機加電自檢至執行引導裝入程序之間,用戶若按下某一熱鍵(如Del鍵或F1、F2、F8鍵,不同BIOS的規定不同
),就可以啟動BIOS中的CMOS設置程序。CMOS設置程序允許用戶對係統的硬件配置信息和有關參數進行修改。CMOS
中存放的信息包括:係統的日期和時間,係統的口令,係統中安裝的硬盤、光盤驅動器的數目、類型及參數,顯示卡的類型,加載操作係統時訪問輔助存儲器的順序等。這些信息非常重要,一旦丟失就會使係統無法正常運行,甚至不能啟動。
自Windows 8.1開始,Windows係統支持兩種啟動模式:一種是上述傳統的BIOS啟動模式;另一種是UEFI(統一的可擴展固件接口)安全啟動模式,後者在啟動過程中會檢驗每個軟件的數字簽名,確保隻使用可信任的軟件啟動電腦。
不同計算機和不同操作係統的開機啟動及OS加載過程大體相似,但具體細節有不少差別。閱讀材料3.4介紹了Windows係統和安卓係統的開機啟動過程,這對於計算機設備無法正常啟動時判斷問題何在有一定幫助。
3.2.2多任務處理與處理器管理
1. 什麼是多任務處理
從用戶角度來看,計算機的功能就是運行App為用戶執行任務。任務可以由用戶啟動(通過點擊屏幕上的某個圖標或菜單中的某個選項),例如編寫文檔、播放音樂、收發微信等,任務也可以由外部世界或OS自行啟動(例如病毒查殺、微信通知、來電顯示等)。
計算機中每個任務都對應著某個程序(如App),計算機執行任務其實就是讓CPU運行相應的App,前提是該任務所對應的App已經預先下載並安裝在計算機中。一般而言,計算機中的任務總是處於下列3種狀態之一:
(1) 未運行狀態(not running)。App已經下載並安裝在計算機中但還沒有被啟動時就處於未運行狀態,此時除了App駐留在輔助存儲器中需要占用一定空間之外,該任務不使用CPU,也不需要內存空間、屏幕和其他資源。
(2) 前台狀態(foreground)。當用戶用鼠標或手指點擊某個任務的圖標時,該任務就被OS啟動,未運行狀態就轉變為前台狀態。此時App所對應的程序代碼已經加載到內存並被CPU執行,顯示屏上出現該任務的會話窗,窗口中顯示該任務的運行狀態、提示信息和運行結果,並可接受用戶的輸入。
(3) 後台狀態(background)。當用戶啟動另一個任務或者切換到另一個任務時,新任務進入前台運行狀態,原先的前台任務就轉入後台狀態(智能手機在鎖屏時前台任務也轉為後台任務,解屏時再恢複為前台任務)。處於後台狀態的任務其程序仍留在內存中,它可能運行,也可能不運行(後台不運行的狀態稱為掛起狀態,suspended)。
無論是處於前台狀態的任務還是後台狀態的任務,需要時用戶或者OS都可以終止(結束)該任務,收回該任務所占用的資源,使任務回到未運行狀態。
人們日常生活中經常會同時進行多項工作,如一邊看書一邊做筆記,一邊搞衛生一邊聽音樂等。為了適應人們的習慣,也為了提高CPU和其他計算機資源的利用率(因為計算機硬件速度極快,存儲容量又很大),所以操作係統一般都能支持多個任務在計算機中同時進行,這種功能稱為多任務處理(multitasking)。無論計算機CPU芯片中包含1個CPU核還是多個CPU核,多任務處理就是在OS的指揮和協調下,CPU輪流為每個任務運行其相應的程序(圖36),內存要有條不紊地容納每個程序的指令代碼和相關數據,I\/O設備能可靠地為所有任務服務,這些都需要OS中相應的模塊如處理器管理、存儲管理、I\/O設備管理等提供支持和保障。
圖36多任務處理
2. Windows係統的多任務處理
Windows操作係統啟動以後,它就進入了多任務處理狀態。這時,除了操作係統本身相關的一些程序在運行之外,用戶還可以啟動多個應用程序(如電子郵件程序、IE瀏覽器和Word等)同時工作,它們互不幹擾獨立運行。用戶借助於“Windows任務管理器”可以隨時了解係統中有哪些任務正在運行,分別處於什麼狀態,CPU的使用率(忙碌程度)是多少,存儲器使用情況如何等有關信息(圖37)。
圖37使用Windows中任務管理器查看係統中的任務運行情況
在Windows係統中,每個已啟動的任務在屏幕上通常都有一個窗口與之對應,該窗口既用於顯示任務的進展狀態和處理結果,也用於接收用戶的輸入。屏幕上隻有一個窗口(稱為“活動窗口”)能接收用戶的輸入(擊鍵或按擊鼠標),活動窗口通常位於其他窗口的最前麵,它的標題欄與非活動窗口顏色深淺不同。活動窗口所對應的任務稱為前台任務;活動窗口之外的其他窗口都是非活動窗口,它們所對應的任務均為後台任務。操作係統隻把用戶輸入的信息傳送到活動窗口對應的前台任務中去。
Windows中前台任務隻能有1個,後台任務的數目原理上可以不受限製。後台任務隻要條件具備都可以處於運行狀態,如收發郵件、播放音樂等,而且,這些後台任務都可以在屏幕上顯示各自的會話窗口,並及時更新其內容。
Windows操作係統采用並發多任務方式支持係統中多個任務的執行。所謂並發多任務,是指不管是前台任務還是後台任務,它們都能分配得到CPU的使用權(盡管時間很短),因而都可以同時運行。需要注意的是,從宏觀上看,這些任務是在“同時”執行,而微觀上任何一個時間點隻有一個任務正在被CPU執行有多個內核的CPU,理論上可以同時有多個任務分別被不同的內核執行。,即多個程序的運行其實是由CPU快速輪流執行的。因此,如果後台運行的是音樂播放、文件打印、計算、收發郵件等任務,前台是需要人工操作的文字處理或交互式繪圖任務,則CPU工作效率就很高;而如果同時啟動了電子表格、字處理程序和繪圖程序,它們都以交互方式工作,隻有一個任務可處於前台狀態接收用戶的輸入,其他都在後台一遍遍地查詢有無輸入而又得不到用戶的輸入,因此雖然啟動了多個任務,但CPU的工作效率卻並不高。
為了支持多任務處理,Windows中有一個處理器調度程序負責把CPU分配給各個已經啟動且具備了運行條件的任務。調度程序一般采用按時間片輪轉(比如1\/20秒)的策略,即每個任務都能輪流得到1\/20秒的CPU時間運行其程序,在時間片用完之後,調度程序再把CPU交給下一個任務,就這樣一遍遍地進行輪轉。隻要時間片結束,不管任務有多重要,也不管它執行到什麼地方,正在執行的任務就會被強行暫時停止執行,直到下一次得到CPU的使用權後再繼續執行。
實際上,操作係統本身也有若幹程序是與應用程序同時運行的(如圖37中的後台進程),它們一起參與CPU時間片的分配。當然,不同程序的重要性不完全一樣,它們獲得CPU使用權的優先級也不一樣,所以處理器的調度需要采用一定的策略。
3. 智能手機的多任務處理
目前智能手機等便攜式設備屏幕較小,難以像PC那樣支持多窗口顯示,存儲器容量也比較緊張,CPU性能(如工作頻率)又受到限製,再加上電池容量有限,必須把降低功耗放在重要位置,因此與Windows相比,其多任務處理有其自己的特點。
PC的多任務處理確實有多個App在同時運行,即使從前台切換到後台,隻要條件具備任務仍繼續運行。而智能手機則不同,以iOS係統為例,用戶單擊Home鍵時係統退回桌麵並將正在運行的任務切換到後台狀態並暫停執行(稱為“掛起”),如果重新點擊該App的圖標,它將立刻恢複到退出之前的狀態繼續運行。若內存容量緊張,OS可以將後台中掛起的任務清理出去(即終止該任務),使前台任務獲得更多的存儲空間。否則,如果也像PC那樣幾乎無限製地讓許多後台任務繼續運行,內存容量就成問題,電池的電量也會很快耗盡(若用戶雙擊Home鍵,iOS可以顯示出處於後台狀態的所有任務,點擊某個任務則可將它切換為前台運行狀態,向上刷屏則可使之退出內存終結該任務)。
這種多任務處理的做法顯然有許多不足,iOS的彌補措施是對不同App做不同的處置。即:有些轉入後台狀態的App進入掛起狀態,有些轉入後台的App允許繼續運行。例如,音頻播放、位置檢測(如穀歌地圖)、IP電話(如Skype)、藍牙通信、軟件下載等App切換到後台後,它們仍可繼續運行;還有些App(如Safari瀏覽器、Mail郵件程序)允許最多申請10分鍾的後台運行時間,時間一到就會被OS掛起。這樣,用戶可以一麵瀏覽網頁一麵聽音樂,一麵下載軟件一麵查看文檔,給用戶提供了與使用PC類似的多任務處理的體驗。
安卓係統的多任務處理與Windows係統更接近一些,被轉入後台狀態的任務雖然已經從屏幕上退出,但隻要條件具備它們仍在後台運行。例如瀏覽器正在下載文件時被切換到後台,瀏覽器還會在後台繼續下載而不被打斷。隻有在內存空間告急的時候,安卓係統才會終結該任務釋放它所占用的資源。但這種做法最大的問題就是有太多後台任務,有些沒必要的任務也在後台運行(甚至是有害的惡意軟件),既費電,而且會導致前台任務運行遲鈍。
從嚴格意義上講,智能手機操作係統的多任務處理,隻是一種有限的多任務機製,除了少數例外,大多數程序進入後台狀態時,都要交出硬件資源(CPU、屏幕等)。即使是那些必須在後台運行的任務(如通信、音樂播放等),采用的也是一種“守護”模式,它們隻在需要使用CPU時(有電話進來時或者進入下一首曲目時),才提交使用CPU的請求,並非一直在通過時間片輪流使用CPU資源。
3.2.3存儲管理
1. 存儲管理的任務
雖然計算機的內存容量不斷擴大,但限於成本和空間等原因,其容量總有限製。在
運行規模很大或需要處理大量數據的程序時,內存往往不夠使用。特別是在多任務處理時,存儲
器被多個任務所共享,矛盾更加突出。因此,如何對存儲器進行有效的管理,不僅直接影響到存儲器的利用
率,而且還對係統的性能有重大影響。所以,存儲管理是操作係統的一項很重要的任務。
操作係統運行時,內存(RAM)空間一般劃分為兩大部分:一部分是操作係統區,存放操作係統內核和相關數據;另一部分是用戶區,存放正在執行的應用程序和數據。當用戶啟動某個任務時,OS必須將該任務在輔助存儲器中所對應的程序代碼及相關數據(例如Word程序和需要編輯的文稿)裝入內存,然後才能由CPU運行和處理。由於支持多任務處理,所以係統中有許多任務(有的是前台狀態,有的是後台狀態),每個任務在內存的用戶區中都有各自專屬的存儲區域(圖38)。
圖38操作係統運行時內存空間的布局
那麼OS如何把內存的用戶區分配給各個任務呢?最笨的方法是固定分區方法,即每個任務都分配一個大小固定、位置固定的區域。顯然這種方法效率很低,任務數目受限製,任務可用的存儲空間也受到約束。另一種方法是可變分區,具體做法是每個任務按需分配各占1個分區,位置可變,大小也可變,這種做法雖然克服了第1種方法的一些限製,但任務有時啟動有時終止(終止時要收回分配的內存),任務運行過程中對於存儲空間的需要又是動態變化的,有時要增加,用畢則歸還,因此內存用戶區會不斷產生碎片,這些碎片需要回收和合並才能再次使用,降低了內存空間的使用效率。
盡管現在PC和智能手機中內存的容量不斷增大,已經達到GB數量級的水平,但仍然不能保證有足夠的空間來滿足多任務處理的需要。因此,操作係統中存儲管理的任務是:
● 為每個任務分配內存空間,任務終止之後再回收內存空間。
● 對內存空間進行保護。例如,保護操作係統所在區域不被應用程序隨意訪問和修改,保護每個任務的私有區域不被其他任務隨意訪問和修改等。
● 提供內存空間共享。允許一些存儲區域被多個任務共享訪問,提高內存的利用率。
● 對內存空間進行擴充,使任務的存儲空間不受實際的物理內存容量大小的限製。
2. 虛擬存儲技術
操作係統中解決存儲管理的有效方案是虛擬存儲器(virtual memory, VM)技術,虛擬存儲技術也稱為虛擬內存技術。它的基本思想如下:內存按固定大小(例如4KB)分成一個個“框”(frame),操作係統則把每個任務所對應的程序及其數據劃分為一組連續的“頁麵”(頁的大小與內存的框相同),這些頁麵就構成一個虛擬存儲空間,每個任務在各自的虛擬存儲空間中運行,互不幹擾,大小則不受內存容量的限製。
當用戶啟動一個任務向內存裝入程序及數據時,操作係統隻將當前急需執行的一部分程序和數據頁麵裝入到內存中處於空閑狀態的框內,其餘頁麵放在硬盤提供的虛擬內存中(哪些頁麵裝入內存的哪個框中由操作係統記錄在“頁表”中),然後開始執行程序。
程序執行過程中,CPU查看頁表,如果需要執行的指令或訪問的數據已經裝在內存中,則訪問內存進行處理;如果不在物理內存中(稱為缺頁),則由CPU通知操作係統中的存儲管理程序,將所缺的頁麵從輔存的虛擬內存裝入到實際的物理內存,然後再繼續執行程序。當然,為了騰出一些框來存放將要裝入的程序(或數據),存儲管理程序也應將物理內存中暫時不使用的頁麵調出保存到輔存的虛擬內存中。頁麵的調入和調出完全由存儲管理程序自動完成(圖39)。這樣一來,從用戶(包括程序員)角度來看,計算機所具有的內存容量比實際的內存容量大得多,這種技術稱為虛擬存儲器。
圖39虛擬存儲器的工作過程
在Windows操作係統中,虛擬存儲器是由計算機中的物理內存(主板上的RAM)和硬盤上的虛擬內存(一個名為pagefile.sys的大文件,稱為“頁麵文件”或“交換文件”)聯合組成的。操作係統通過在物理內存和虛擬內存之間來回地自動交換程序和數據頁麵,達到兩個效果:第一,開發應用程序時,每個程序都在各自獨立的虛擬存儲空間裏進行編程,幾乎不用考慮物理內存具體位置和容量大小的限製;第二,計算機運行時,用戶可以啟動許多應用程序運行,其數目不受內存容量的限製(當然,容量小而同時運行的程序很多時,響應速度會變慢,甚至死機),也不必擔心它們會發生衝突。
Windows係統中的虛擬內存(pagefile.sys文件)通常位於係統盤的根目錄下。用戶可以自行設置虛擬內存的大小(一般為物理內存的1~2.5倍),也可以指定虛擬內存放在哪個硬盤(或硬盤分區)中。
iOS操作係統和安卓操作係統的存儲管理原理上與Windows係統大同小異,不過由於智能手機的主存儲器容量不大(6GB左右),運行中更易發生容量緊張的情況,操作係統需及時把部分任務放到虛擬內存(對於可重新裝入的程序和數據,直接從內存清除即可)。與Windows不同的是,安卓係統中虛擬內存不是文件,而是一個稱為SWAP的專門的分區。
3.2.4文件管理
1 文件及其屬性
計算機(智能手機)中的信息是多種多樣的,有的是程序,有的是數據,它們又分為多種不同的類型,不使用時都存放在輔助存儲器中,使用時才裝入內存供CPU運行和處理。輔助存儲器有多種,如硬盤、光盤、U盤、存儲卡等,它們大多適合於批量數據的存取而不適合單個字節的存取。怎樣才能對計算機中的信息進行統一高效的管理?怎樣實現信息資源的共享和保護?解決方案是引入“文件”的概念。
文件是存儲在輔助存儲器中的一組相關信息的集合。計算機中的程序和數據都組織成為文件存放在輔助存儲器中,並以文件為單位進行存取操作。例如一個應用程序、一張照片、一支歌曲等,它們都對應著輔助存儲器中的一個文件,並以文件為單位進行存取。不同計算機之間也以文件為單位進行信息交換。
每個文件都有自己特定的名字,稱為文件名。為了區分文件的類型,文件名的最後幾個(一般是3或4個)英文字母用於指出文件的具體類型,它與文件主名之間用小數點“.”隔開,這幾個英文字母稱為文件擴展名或文件後綴。例如,Windows中可執行程序的文件擴展名是exe,圖像文件的擴展名是jpg,音頻文件的擴展名是mp3,視頻文件的擴展名是mp4,文本文件的擴展名是txt等(表32)。
表32常用文件類型和擴展名
類別文件類型文件擴展名(類型名)舉例
程序
可執行文件(包括App)exe(Windows) , app(iOS) , apk(安卓)
應用程序擴展dll(Windows)
數據
文本\/文檔文件txt, doc, docx, pdf, ppt, pptx
聲音文件wav, mid, voc, mp3, aac, flac, wma
圖像文件bmp, jpg, gif, tif, wmf, png, raw
視頻文件avi, mpg, mp4, mov, rmvb, mkv, flc, fli
網頁文件html, htm, mht, mhtml, xml, jsp, asp, php
從表32中可以看出,同類數據文件(如圖像文件、視頻文件等)的擴展名通常不止1種,不同擴展名的數據文件其內部格式不同,一般需要使用不同的應用程序進行處理。另外,大多數數據文件在不同操作係統中是通用的,因而PC和智能手機
相互間可交換文檔、音樂、圖片、視頻等各種數據文件,而可執行程序(應用程序)的文件擴展名則各不相同,Windows中稱為exe,iOS係統中是app,安卓係統中則為apk。這是因為三個操作係統互不兼容,在PC上運行的應用程序不能在iOS或安卓係統上運行,反之亦然。
用戶和App一般都通過文件名來使用文件。在Windows、安卓和iOS中,文件名可以長達200多個中西文字符(含擴展名),用戶命名文件時應選擇有意義的詞或短語,以幫助記憶。
每個文件除了它本身包含的內容(程序代碼或數據)之外,為了文件管理的需要,還包含有關於該文件的若幹說明信息。大部分操作係統使用的文件說明信息包括:文件主名、文件擴展名、文件在輔助存儲器中的位置、文件大小、文件創建時間、修改時間、文件屬性等。應該注意的是,文件的說明信息和文件的具體內容是分開存放的,前者集中保存在該文件所屬的目錄(文件夾)中,後者則保存在磁盤的數據區內(圖310)。
圖310文件目錄和文件內容在輔助存儲器中的存放
文件說明信息中的文件屬性在文件管理中有重要作用。例如在Windows中,它用於指出該文件是否為係統文件、隱藏文件、存檔文件或隻讀文件。若標注為係統文件,表示該文件是操作係統自身所包含的文件,刪除時係統會給出警告,資源管理器若不特別設置為“顯示全部文件”(在“文件夾選項”對話框中設置)時不會在文件列表中顯示出來;若標注為隻讀文件則表示該文件隻能閱讀,不允許進行修改,如進行修改操作係統將給出提示。此外,文件還可以具有“壓縮”“加密”和“編製索引”等屬性,前兩個屬性分別用來指出該文件的數據在保存到輔助存儲器時是否需要進行數據壓縮(為了節省磁盤空間)和數據加密(不讓無關用戶了解文件的內容),後一個屬性可以幫助編製索引,以利於文件的快速查找。