1.1.1 計算機的硬件
源于馮·諾依曼設計思想的計算機由5大部件組成:控制器、運算器、存儲器、輸入設備和輸出設備。控制器是整個計算機的控制核心;運算器是對數據進行運算處理的部件;存儲器是用來存放數據和程序的部件;輸入設備將數據和程序變換成計算機內部所能識別和接受的信息方式,并把它們送入存儲器中;輸出設備將計算機處理的結果以人們能接受的或其他機器能接受的形式送出。
現代計算機在很多方面都對馮·諾依曼計算機結構進行了改進,5大部件演變?yōu)?個硬件子系統(tǒng):處理器、存儲系統(tǒng)和輸入輸出系統(tǒng)。運算器和控制器被制作在一塊大規(guī)模集成電路芯片上,稱為處理器(Processor),也常被稱為中央處理單元CPU(Central Processing Unit)。傳統(tǒng)的存儲器也發(fā)展成為存儲系統(tǒng),由寄存器、高速緩沖存儲器、主存儲器及輔助存儲器構成。處理器和存儲系統(tǒng)在信息處理中起主要作用,是計算機硬件的主體部分,通常被稱為“主機”。輸入設備和輸出設備統(tǒng)稱為外部設備,簡稱為外設或I/O設備;輸入輸出系統(tǒng)的主體是外部設備,但還包括外設與主機之間相互連接的I/O接口電路。
為簡化各個部件的相互連接,現代計算機廣泛應用總線結構,參見圖 1-1。采用總線連接系統(tǒng)中各個功能部件使得計算機系統(tǒng)具有了組合靈活、擴展方便的特點。
1.處理器
處理器是計算機的運算和控制核心,微機中可被稱為微處理器(Microprocessor)。現代通用微處理器功能非常強大,人們已經習慣稱之為處理器或者CPU。
(微)處理器芯片內集成了控制器、運算器和若干高速存儲單元(即寄存器)。高性能處理器內部非常復雜,例如運算器中不僅有基本的整數運算器、還有浮點處理單元甚至多媒體數據運算單元,控制器還會包括存儲管理單元、代碼保護機制等,為提高存儲器的性能還會集成高速緩沖存儲器。處理器及其支持電路構成了計算機系統(tǒng)的處理和控制中心,對系統(tǒng)的各個部件進行統(tǒng)一的協(xié)調和控制。
PC采用美國英特爾(Intel)公司的80x86系列處理器或與其兼容的處理器,例如常用的奔騰系列處理器或者酷睿系列多核處理器。之所以稱之為Intel 80x86系列處理器,是因為它們都源于16位結構的Intel 8086處理器,而8086具有的所有指令,即指令系統(tǒng)是整個Intel 80x86系列處理器的基本指令集。
本書前5章將介紹基于8086處理器的16位常用指令,從第6章開始介紹32位指令。
2.存儲器
存儲器(Memory)是計算機的記憶部件,存放程序和數據。存儲系統(tǒng)由處理器內部的寄存器(Register)、高速緩沖存儲器(Cache)、主板上的主存儲器和以外設形式出現的輔助存儲器構成。
按所起作用,存儲器可分為主存儲器和輔助存儲器。主存儲器(簡稱主存或內存)由半導體存儲器芯片組成,安裝在機器內部的電路板上,相對輔助存儲器來說速度快,但容量小:造價高,主要用來存放當前正在運行的程序和等待處理的數據。輔助存儲器(簡稱輔存或外存)主要由磁盤、光盤存儲器等構成,以外設的形式安裝在機器上,相對主存儲器來說造價低、容量大、信息可長期保存,但速度慢,主要用來長久保存程序和數據。一般來說,程序和數據以文件形式保存在輔存上,只有使用它們時才讀入主存。
按讀寫功能,存儲器可分為可讀可寫存儲器和只讀存儲器ROM(Read Only Memory)。半導體存儲器具有按指定位置訪問,即隨機存取的特點,所以可讀可寫的半導體存儲器常被稱為RAM(Random Access Memory)。構成主存既需要RAM,也需要ROM,但需要注意的是,存放在RAM芯片上的信息斷電后將會丟失,而ROM芯片中的信息則可在斷電后保存。通常作為輔存的磁盤存儲器和 CD-ROM 光盤都可以在斷電后長期保存信息,它們二者的不同在于,CD-ROM光盤是只讀的,而作為輔存的磁盤存儲器是可讀可寫的。不過,由于讀寫時涉及磁頭或光頭的移動、磁盤或光盤的旋轉,它們的存取性能低于半導體存儲器。
個人計算機的主存由半導體存儲芯片RAM和ROM構成。在16位PC系列機時代,RAM容量不過是64KB或1MB。32位PC的RAM容量從最初的4MB,逐漸發(fā)展直到2010年的2GB或4GB。由于大量應用程序都需要RAM主存空間,因此PC的主存主要由RAM構成,俗稱主存條(內存條)。
個人計算機的ROM部分主要是固化的ROM-BIOS。BIOS(Basic Input/Output System)表示“基本輸入輸出系統(tǒng)”,是PC軟件系統(tǒng)最底層的程序。它由諸多子程序組成,主要用于驅動和管理諸如鍵盤、顯示器、打印機、磁盤、時鐘、串行通信接口等基本的輸入輸出設備。操作系統(tǒng)通過對BIOS 的調用驅動各硬件設備,用戶也可以在應用程序中調用BIOS中的許多功能。ROM空間還包含機器復位后初始化系統(tǒng)的程序,它將操作系統(tǒng)引導到RAM存儲器中執(zhí)行。
3.外部設備
外部設備是指計算機上配備的輸入(Input)設備和輸出(Output)設備,也稱 I/O 設備或外圍設備,簡稱外設(Peripheral),其作用是讓用戶與計算機實現交互。
個人計算機上配置的標準輸入設備是鍵盤、標準輸出設備是顯示器,二者又合稱為控制臺(Console)。個人計算機還可使用鼠標、打印機等 I/O 設備。作為外部存儲器驅動裝置的磁盤驅動器,既是輸出設備,又是輸入設備。
由于各種外設的工作速度、驅動方法差別很大,無法與處理器直接匹配,所以不可能將它們直接連接到主機。這里就需要有一個I/O接口來充當外設和主機之間的橋梁,通過該接口電路來完成信號變換、數據緩沖、聯(lián)絡控制等工作。在個人計算機中,較復雜的I/O接口電路通常制成獨立的電路板,也常被稱為接口卡(Card),例如顯示卡,使用時需要將其插在主板的總線插槽上。
4.系統(tǒng)總線
總線(Bus)是用于多個部件相互連接、傳遞信息的公共通道,物理上就是一組公用導線。例如,處理器芯片的對外引腳(Pin)常被稱為處理器總線。這里的系統(tǒng)總線(System Bus)是指計算機系統(tǒng)中主要的總線,例如處理器與存儲器和I/O設備進行信息交換的公共通道。
16位PC采用16位工業(yè)標準結構ISA(Industry Standard Architecture)系統(tǒng)總線連接各個功能部件。32位PC上使用外設部件互連PCI(Peripheral Component Interconnect)總線連接I/O接口卡。系統(tǒng)總線除了作為主機板上處理器、主存和I/O接口的公共通道外,主板上還設置有許多系統(tǒng)總線插槽,主要用于插接I/O接口電路以擴充系統(tǒng)連接的外設,故也被稱作I/O通道。
對匯編語言程序員來說,處理器、存儲器和外部設備依次被抽象為寄存器、存儲器地址和輸入輸出地址,因為編程過程中將只能通過寄存器和地址實現處理器控制、存儲器和外設的數據存取及處理等操作。