本節書摘來自華章計算機《python語言程式設計》一書中的第1章,第1.2節,作者:[美]梁勇(y. daniel liang) 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
關鍵點:計算機是存儲和處理資料的電子裝置。
計算機包括軟體和硬體。通常,硬體包括計算機上能看到的實體元素,而軟體提供控制硬體并讓硬體執行特定任務的不可見的指令。學習一種程式設計語言并不一定需要知道計算機的硬體知識,但是它可以幫助你更好地了解程式的指令在計算機和它的元件上所起的效果。本節介紹計算機硬體元件以及它們的功能。
一台計算機包括下面的主要硬體元件(如圖1-1所示)。

中央處理器(cpu)
記憶體(主存儲器)
儲存設備(例如:磁盤和CD光牒)
輸入裝置(例如:滑鼠和鍵盤)
輸出裝置(例如:顯示器和列印機)
通信裝置(例如:數據機和網絡接口卡)
計算機的元件是通過一個被稱作總線的子系統互聯的。你可以認為總線是一套運作在計
算機元件之間的公路系統,資料和電信号沿着總線從計算機中的一個部分傳送到另一個部分。在個人計算機中,總線被内嵌在計算機主機闆上,主機闆是将計算機的所有部件連接配接在一起的電路闆,如圖1-2所示。
1.2.1 中央處理器
中央處理器(central processing unit,cpu)是計算機的大腦。它從記憶體中擷取指令然後執行這些指令。cpu通常由兩個元件組成:控制單元(control unit)和算術邏輯單元(arithmetic/logic unit)。控制單元用來控制和協調除cpu之外其他元件的動作。算術邏輯單元用來完成數值運算(加法、減法、乘法、除法)以及邏輯運算(比較)。
現在的cpu都是内嵌在一塊小小的矽半導體晶片上,這塊晶片上有數百萬個被稱作半導體的小電子開關來處理資訊。
每台計算機都有一個内部時鐘,該時鐘會以一個穩定的速度發射電子脈沖。這些脈沖用于控制和同步各種操作的步調。時脈速度越快,給定時間段内執行的指令就越多。時脈速度的計量機關是赫茲(hertz,hz),1赫茲相當于每秒1個脈沖。20世紀90年代計算機的時脈速度是以兆赫(mhz)來表示的(1兆赫茲就是100萬赫茲),但是随着cpu速度的不斷提高,現在計算機的時脈速度通常是以千兆赫(gigaherts,ghz)來表示的。intel公司最新的處理器運作速度是3千兆赫(ghz)左右。
cpu最初被開發出來時隻有一個核。核(core)是處理器中完成讀取指令和執行指令的部分。為了提高cpu的處理能力,晶片制造商現在生産出來的cpu都有多個核。多核cpu是一個單獨的元件,它具有兩個或多個獨立的處理器。現在消費者的計算機通常都有兩個、三個甚至四個獨立的核。相信不久後,市場上就會提供有幾十個甚至幾百個核的cpu。
1.2.2 比特和位元組
在讨論記憶體之前,讓我們先看看在計算機中是如何存儲資訊(資料和程式)的。
實際上,一台計算機除了一系列開關以外什麼都沒有。每個開關都以兩種狀态存在:開或關。在計算機中存儲資訊其實就是簡單地将一系列開關設定為開或關。如果這個開關是打開狀态,那它的值就是1。如果這個開關是關閉狀态,那它的值就是0。這些0和1都被解釋為二進制數系統中的數字,并稱為比特(二進制數)。
計算機中最小的存儲單元是位元組。一個位元組包含8個比特。一個像3這樣的小數字可以被存儲為一個單一的位元組。為了存儲在單個位元組中放不下的某個位元組,計算機會使用多個位元組存儲。
各種各樣的資料,例如:數字和字元,都被編碼成一個位元組序列。作為一個程式員,你無需擔心資料的編碼和解碼過程,它們都是由計算機系統基于編碼表來自動完成的。編碼表是一套規則,這些規則用于控制計算機如何将字元、數字和符号翻譯成計算機真正能夠使用的資料。大多數規則會将每個字元翻譯成一個預定義的數值字元串。例如:在流行的ascii碼中,字元c被表示為一個位元組01000011。
計算機的存儲容量是以位元組為機關的,如下所示:
千位元組(kilobyte,kb)大約是1000位元組。
兆位元組(megabyte,mb)大約是100萬位元組。
千兆位元組或吉位元組(gigabyte,gb)大約是10億位元組。
太位元組(百萬兆位元組)(terabyte,tb)大約是萬億位元組。
一頁word文檔通常會占20kb,是以1mb可以存儲50頁的文檔而1gb可以存儲
50 000頁文檔。一部兩小時的高分辨率電影通常會占8gb,是以存儲20部電影需要160gb。
1.2.3 記憶體
計算機的記憶體由多個有序的位元組序列構成,這些位元組序列用來存儲程式以及這個程式要處理的資料。你可以将記憶體看作是計算機執行程式的工作區。程式和資料必須在被cpu執行之前放在計算機的記憶體中。
記憶體中的每個位元組都有一個唯一的位址,如圖1-3所示。位址用來定位存儲和擷取資料的位元組。因為可以以任意順序通路記憶體中的位元組,是以記憶體又被稱為随機通路記憶體(ram)。
現在的個人計算機通常都有至少1gb的ram,但是安裝時它們通常多達2到4gb。一般來講,一台計算機擁有的ram越多,它的運作速度越快,但是對這個簡單的經驗法則是有限制的。
記憶體位元組永遠非空,但是它的原始内容可能對程式毫無意義。一旦有新的内容放入記憶體,那麼記憶體目前的内容就會丢失。
像cpu一樣,記憶體是内置在矽半導體晶片上的,這些晶片的表面上嵌有數百萬個靜态管。和cpu晶片比較,記憶體晶片沒那麼複雜,更慢也沒那麼昂貴。
https://yqfile.alicdn.com/ec51ae58ed0cb5d96f3b78d328e9da710d0b8d2f.png
" >
1.2.4 儲存設備
計算機的記憶體存儲資料并不穩定:一旦斷開系統電源,所有存儲(也可以稱為儲存)在記憶體中的資訊都會丢失。程式和資料被永久地儲存在儲存設備上,當計算機真的要用到它們的時候再被移到記憶體中,記憶體的執行速度還是比永久儲存設備快得多。
儲存設備主要有三種類型:
磁盤驅動器
CD光牒驅動器(cd和dvd)
usb閃存
驅動器是操作像磁盤和cd這些媒體的裝置。存儲媒體就是存儲資料或程式指令的地方。驅動器從這些媒體讀取資料并且向這些媒體寫入資料。
磁盤
一台計算機通常至少會有一個硬碟驅動器(如圖1-4所示)。硬碟驅動器用來永久地存儲資料和程式。比較新的計算機會有能存儲200gb到800gb資料的硬碟。硬碟驅動器通常安裝在計算機内部,當然也可以使用移動硬碟。
cd和dvd
cd的全稱是緻密的盤片。CD光牒驅動器的類型有兩種:隻讀CD光牒(cd-r)和可擦寫CD光牒(cd-rw)。隻讀CD光牒隻能用于存儲那些永久隻讀的資訊:内容一旦被記錄到CD光牒上,使用者是不能修改它們的。可擦寫CD光牒可以像硬碟一樣使用,也就是說,可以向這類CD光牒寫入資料,還可以用新資料覆寫這些資料。一張CD光牒的容量可以達到700mb。大多數新型的個人電腦都安裝了可擦寫光驅,它既支援隻讀CD光牒也支援可擦寫CD光牒。
dvd的全稱是數字化多功能碟片或者數字化視訊磁盤。dvd和cd看起來很像,可以使用它們來存儲資料。一張dvd上可以儲存的資訊要比一張cd 儲存的資訊多,一張标準dvd的存儲容量是4.7gb。像cd一樣,dvd也有兩種類型:dvd-r(隻讀)和dvd-rw(可重寫)。
usb閃存驅動器
通用串行總線(usb)連接配接器允許使用者将多種外部裝置連接配接到計算機。可以使用usb來将列印機、數字照相機、外接硬碟驅動器,以及其他裝置連接配接到計算機上。
usb閃存驅動器(flash drive)是用于存儲和傳輸資料的裝置。閃存驅動器很小——大約就是一包口香糖的大小,如圖1-5所示。它就像移動硬碟一樣,可以插入計算機的usb端口。usb閃存驅動器目前可用的最大存儲容量能夠達到256gb。
1.2.5 輸入和輸出裝置
使用者是通過輸入和輸出裝置與計算機進行通信的。最常見的輸入裝置是鍵盤(keyboard)和滑鼠(mouse)。最常見的輸出裝置是顯示器(monitor)和列印機(printer)。鍵盤
計算機鍵盤是一個用于輸入的裝置,典型的鍵盤如圖1-6所示。精簡的鍵盤沒有數字小鍵盤。
https://yqfile.alicdn.com/7134a764fe2755f6b62b9c00360c8b0159f70d99.png" >
功能鍵(function key)位于鍵盤的最上邊一排,而且都是以f為字首順序排列的數字。它們的功能取決于目前使用的軟體。
修飾符鍵(modifier key)是特殊鍵(例如:shift、alt和ctrl鍵),當它和另一個鍵組合在一起同時按下時,就會改變另一個鍵的常用功能。
數字小鍵盤(numeric keypad)位于大多數鍵盤的右邊,是為了快速輸入數字的一套獨立按鍵集合,形式上很像一個電腦。
方向鍵(arrow key)位于主鍵盤和數字小鍵盤之間,在很多程式中用于上下左右地移動光标。
插入鍵(insert)、删除鍵(delete)、向上翻頁鍵(page up)和向下翻頁鍵(page down)都用在字處理和其他程式中,用來在字處理過程中實作插入文本和對象、删除文本和對象以及向上翻頁和向下翻頁的功能。
滑鼠
滑鼠(mouse)是定點裝置,用來在螢幕上移動被稱作光标的圖形指針(通常是一個箭頭的形狀),或者用于單擊螢幕上的對象(例如:按鈕)來觸發它以完成這個動作。
顯示器
顯示器(monitor)顯示資訊(文本和圖形)。螢幕分辨率和點距決定顯示器的品質。
螢幕分辨率(screen resolution)指定顯示器裝置水準尺寸和垂直尺寸上像素的個數。像素(“圖像元素”的簡稱)就是在螢幕上構成圖像的小點。對于一個17英寸的螢幕,分辨率一般為1024像素寬768像素高。分辨率可以手工設定。分辨率越高,圖像就越銳化和清晰。
點距(dot pitch)是指像素之間以毫米為機關的距離。點距越小,顯示越清晰。
1.2.6 通信裝置
計算機可以通過像撥号數據機(調制器/解調器)、dsl或光纜數據機、有線網絡接口卡或無線擴充卡等這樣的通信裝置來連接配接網絡。
撥号數據機使用電話線并且以高達56 000bps(每秒比特)的速度傳送資料。
數字使用者線(dsl)也是使用标準電話線來進行連接配接,但是它可以以比标準撥号數據機快20倍的速度傳送資料。
光纜數據機使用由光纜公司維護的有線電視線,而且它通常比dsl快。
網絡接口卡(nic)是一個将計算機連接配接到區域網路(lan)的裝置,如圖1-7所示。lan通常用在大學、企業和政府部門。一個高速的nic被稱作1000baset,它可以以每秒10億比特的速率傳送資料。
https://yqfile.alicdn.com/0dd726d571b65e101952bede5a374dca39f6363d.png" >
無線網絡現在在家庭、企業和學校異常流行。現在出售的每一台筆記本電腦都安裝有無線擴充卡,它可以将計算機連接配接到區域網路絡或網際網路。
注意:檢查點問題的答案在配套網站上。
檢查點
1.1 什麼是硬體?什麼是軟體?
1.2 羅列出計算機的五個主要硬體元件。
1.3 縮寫“cpu”表示什麼?
1.4 cpu的速度使用什麼機關表示?
1.5 比特是什麼?位元組是什麼?
1.6 記憶體是幹什麼的?ram表示什麼?為什麼記憶體被稱為ram?
1.7 用于表示記憶體大小的機關是什麼?
1.8 用于表示磁盤大小的機關是什麼?
1.9 記憶體和儲存設備最主要的差別是什麼?