解讀微處理器及其微處理器功能
微處理器由一片或少數(shù)幾片大規(guī)模集成電路組成的中央處理器。這些電路執(zhí)行控制部件和算術(shù)邏輯部件的功能。
微處理器能完成取指令、執(zhí)行指令,以及與外界存儲(chǔ)器和邏輯部件交換信息等操作,是微型計(jì)算機(jī)的運(yùn)算控制部分。它可與存儲(chǔ)器和外圍電路芯片組成微型計(jì)算機(jī)。
什么是微處理器
微處理器與傳統(tǒng)的中央處理器相比,具有體積小、重量輕和容易模塊化等優(yōu)點(diǎn)。微處理器的基本組成部分有:寄存器堆、運(yùn)算器、時(shí)序控制電路,以及數(shù)據(jù)和地址總線。
自從人類1947年發(fā)明晶體管以來(lái),50多年間半導(dǎo)體技術(shù)經(jīng)歷了硅晶體管、集成電路、超大規(guī)模集成電路、甚大規(guī)模集成電路等幾代,發(fā)展速度之快是其他產(chǎn)業(yè)所沒(méi)有的。半導(dǎo)體技術(shù)對(duì)整個(gè)社會(huì)產(chǎn)生了廣泛的影響,因此被稱為“產(chǎn)業(yè)的種子”。中央處理器是指計(jì)算機(jī)內(nèi)部對(duì)數(shù)據(jù)進(jìn)行處理并對(duì)處理過(guò)程進(jìn)行控制的部件,伴隨著大規(guī)模集成電路技術(shù)的迅速發(fā)展,芯片集成密度越來(lái)越高,CPU可以集成在一個(gè)半導(dǎo)體芯片上,這種具有中央處理器功能的大規(guī)模集成電路器件,被統(tǒng)稱為“微處理器”。需要注意的是:微處理器本身并不等于微型計(jì)算機(jī),僅僅是微型計(jì)算機(jī)的中央處理器。
微處理器已經(jīng)無(wú)處不在,無(wú)論是錄像機(jī)、智能洗衣機(jī)、移動(dòng)電話等家電產(chǎn)品,還是汽車引擎控制,以及數(shù)控機(jī)床、導(dǎo)彈精確制導(dǎo)等都要嵌入各類不同的微處理器。微處理器不僅是微型計(jì)算機(jī)的核心部件,也是各種數(shù)字化智能設(shè)備的關(guān)鍵部件。國(guó)際上的超高速巨型計(jì)算機(jī)、大型計(jì)算機(jī)等高端計(jì)算系統(tǒng)也都采用大量的通用高性能微處理器建造。
微處理器具有什么功能
根據(jù)微處理器的應(yīng)用領(lǐng)域,微處理器大致可以分為三類:通用高性能微處理器、嵌入式微處理器和數(shù)字信號(hào)處理器、微控制器。一般而言,通用處理器追求高性能,它們用于運(yùn)行通用軟件,配備完備、復(fù)雜的操作系統(tǒng);
嵌入式微處理器強(qiáng)調(diào)處理特定應(yīng)用問(wèn)題的高性能,主要用于運(yùn)行面向特定領(lǐng)域的專用程序,配備輕量級(jí)操作系統(tǒng),主要用于蜂窩電話、CD播放機(jī)等消費(fèi)類家電;微控制器價(jià)位相對(duì)較低,在微處理器市場(chǎng)上需求量最大,主要用于汽車、空調(diào)、自動(dòng)機(jī)械等領(lǐng)域的自控設(shè)備。
CPU是Central Processing Unit(中央微處理器)的縮寫,它是計(jì)算機(jī)中最重要的一個(gè)部分,由運(yùn)算器和控制器組成。如果把計(jì)算機(jī)比作人,那么CPU就是人的大腦。CPU的發(fā)展非常迅速,個(gè)人電腦從8088(XT)發(fā)展到PenTIum 4時(shí)代,只經(jīng)過(guò)了二十一年的時(shí)間。
微處理器由算術(shù)邏輯單元(ALU,ArithmeTIc Logical Unit);累加器和通用寄存器組;程序計(jì)數(shù)器(也叫指令指標(biāo)器);時(shí)序和控制邏輯部件;數(shù)據(jù)與地址鎖存器/緩沖器;內(nèi)部總線組成。其中運(yùn)算器和控制器是其主要組成部分。
算術(shù)邏輯單元算術(shù)邏輯單元ALU主要完成算術(shù)運(yùn)算(+,-、&TImes;、÷、比較)和各種邏輯運(yùn)算(與、或、非、異或、移位)等操作。ALU是組合電路,本身無(wú)寄存操作數(shù)的功能,因而必須有保存操作數(shù)的兩個(gè)寄存器:暫存器TMP和累加器AC,累加器既向ALU提供操作數(shù),又接收ALU的運(yùn)算結(jié)果。
寄存器陣列實(shí)際上相當(dāng)于微處理器內(nèi)部的RAM,它包括通用寄存器組和專用寄存器組兩部分,通用寄存器(A,B,C,D)用來(lái)存放參加運(yùn)算的數(shù)據(jù)、中間結(jié)果或地址。它們一般均可作為兩個(gè)8位的寄存器來(lái)使用。
處理器內(nèi)部有了這些寄存器之后,就可避免頻繁地訪問(wèn)存儲(chǔ)器,可縮短指令長(zhǎng)度和指令執(zhí)行時(shí)間,提高機(jī)器的運(yùn)行速度,也給編程帶來(lái)方便。專用寄存器包括程序計(jì)數(shù)器PC、堆棧指示器SP和標(biāo)志寄存器FR,它們的作用是固定的,用來(lái)存放地址或地址基值。其中:
A)程序計(jì)數(shù)器PC用來(lái)存放下一條要執(zhí)行的指令地址,因而它控制著程序的執(zhí)行順序。在順序執(zhí)行指令的條件下,每取出指令的一個(gè)字節(jié),PC的內(nèi)容自動(dòng)加1。當(dāng)程序發(fā)生轉(zhuǎn)移時(shí),就必須把新的指令地址(目標(biāo)地址)裝入PC,這通常由轉(zhuǎn)移指令來(lái)實(shí)現(xiàn)。
B)堆棧指示器SP用來(lái)存放棧頂?shù)刂?。堆棧是存?chǔ)器中的一個(gè)特定區(qū)域。它按“后進(jìn)先出”方式工作,當(dāng)新的數(shù)據(jù)壓入堆棧時(shí),棧中原存信息不變,只改變棧頂位置,當(dāng)數(shù)據(jù)從棧彈出時(shí),彈出的是棧頂位置的數(shù)據(jù),彈出后自動(dòng)調(diào)正棧頂位置。也就是說(shuō),數(shù)據(jù)在進(jìn)行壓棧、出棧操作時(shí),總是在棧頂進(jìn)行。堆棧一旦初始化(即確定了棧底在內(nèi)存中的位置)后,SP的內(nèi)容(即棧頂位置)使由CPU自動(dòng)管理。
C)標(biāo)志寄存器也稱程序狀態(tài)字(PSW)寄存器,用來(lái)存放算術(shù)、邏輯運(yùn)算指令執(zhí)行后的結(jié)果特征,如結(jié)果為0時(shí),產(chǎn)生進(jìn)位或溢出標(biāo)志等。
定時(shí)與控制邏輯是微處理器的核心控制部件,負(fù)責(zé)對(duì)整個(gè)計(jì)算機(jī)進(jìn)行控制、包括從存儲(chǔ)器中取指令,分析指令(即指令譯碼)確定指令操作和操作數(shù)地址,取操作數(shù),執(zhí)行指令規(guī)定的操作,送運(yùn)算結(jié)果到存儲(chǔ)器或I/O端口等。它還向微機(jī)的其它各部件發(fā)出相應(yīng)的控制信號(hào),使CPU內(nèi)、外各部件間協(xié)調(diào)工作。
內(nèi)部總線用來(lái)連接微處理器的各功能部件并傳送微處理器內(nèi)部的數(shù)據(jù)和控制信號(hào)。
必須指出,微處理器本身并不能單獨(dú)構(gòu)成一個(gè)獨(dú)立的工作系統(tǒng),也不能獨(dú)立地執(zhí)行程序,必須配上存 儲(chǔ)器、輸入輸出設(shè)備構(gòu)成一個(gè)完整的微型計(jì)算機(jī)后才能獨(dú)立工作。[3]
存儲(chǔ)器
微型計(jì)算機(jī)的存儲(chǔ)器用來(lái)存放當(dāng)前正在使用的或經(jīng)常使用的程序和數(shù)據(jù)。存儲(chǔ)器按讀、寫方式分為隨機(jī)存儲(chǔ)器RAM(Random Access Memory)和只讀存儲(chǔ)器ROM(Read only Memory)。RAM也稱為讀/寫存儲(chǔ)器,工作過(guò)程中CPU可根據(jù)需要隨時(shí)對(duì)其內(nèi)容進(jìn)行讀或?qū)懖僮?。RAM是易失性存儲(chǔ)器,即其內(nèi)容在斷電后會(huì)全部丟失,因而只能存放暫時(shí)性的程序和數(shù)據(jù)。ROM的內(nèi)容只能讀出不能寫入,斷電后其所存信息仍保留不變,是非易失性存儲(chǔ)器。所以ROM常用來(lái)存放永久件的程序和數(shù)據(jù)。如初始導(dǎo)引程序、監(jiān)控程序、操作系統(tǒng)中的基本輸入、輸出管理程序BIOS等。[3]
[!--empirenews.page--]I/O接口
輸入/輸出接口電路是微型計(jì)算機(jī)的重要組成部件。他是微型計(jì)算機(jī)連接外部輸入、輸出設(shè)備及各種控制對(duì)象并與外界進(jìn)行信息交換的邏輯控制電路。由于外設(shè)的結(jié)構(gòu)、工作速度、信號(hào)形式和數(shù)據(jù)格式等各不相同,因此它們不能直接掛接到系統(tǒng)總線上,必須用輸入/輸出接口電路來(lái)做中間轉(zhuǎn)換,才能實(shí)現(xiàn)與CPU間的信息交換。I/O接口也稱I/O適配器,不同的外設(shè)必須配備不同的I/O適配器。I/O接口電路是微機(jī)應(yīng)用系統(tǒng)必不可少的重要組成部分。任何一個(gè)微機(jī)應(yīng)用系統(tǒng)的研制和設(shè)計(jì),實(shí)際上主要是I/O接口的研制和設(shè)計(jì)。因此I/O接口技術(shù)是本課程討論的重要內(nèi)容之一,我們將在第八章中詳細(xì)介紹。[3]
總線
總線是計(jì)算機(jī)系統(tǒng)中各部件之間傳送信息的公共通道,是微型計(jì)算機(jī)的重要組成部件。它由若干條通信線和起驅(qū)動(dòng),隔離作用的各種三態(tài)門器件組成。微型計(jì)算機(jī)在結(jié)構(gòu)形式上總是采用總線結(jié)構(gòu),即構(gòu)成微機(jī)的各功能部件(微處理器、存儲(chǔ)器、I/O接口電路等)之間通過(guò)總線相連接,這是微型計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)上的獨(dú)特之處。采用總線結(jié)構(gòu)之后,使系統(tǒng)中各功能部件間的相互關(guān)系轉(zhuǎn)變?yōu)楦鞑考嫦蚩偩€的單一關(guān)系,一個(gè)部件(功能板/卡)只要符合總線標(biāo)準(zhǔn),就可以連接到采用這種總線標(biāo)準(zhǔn)的系統(tǒng)中,從而使系統(tǒng)功能擴(kuò)充或更新容易、結(jié)構(gòu)簡(jiǎn)單、可靠性大大提高。在微型計(jì)算機(jī)中,根據(jù)他們所處位置和應(yīng)用場(chǎng)合,總線可被分為以下四級(jí),如圖1.4所示。
(1)片內(nèi)總線:它位于微處理器芯片內(nèi)部,故稱為芯片內(nèi)部總線。用于微處理器內(nèi)部ALU和各種寄存器等部件間的互連及信息傳送(如圖1.3中的內(nèi)部總線就是片內(nèi)總線)。由于受芯片面積及對(duì)外引腳數(shù)的限制,片內(nèi)總線大多采用單總線結(jié)構(gòu),這有利于芯片集成度和成品率的提高,如果要求加快內(nèi)部數(shù)據(jù)傳送速度,也可采用雙總線或三總線結(jié)構(gòu)。
(2)片總線:片總線又稱元件級(jí)(芯片級(jí))總線或局部總線。微機(jī)主板、單扳機(jī)以及其它一些插件板、卡(如各種I/O接口板/卡),它們本身就是一個(gè)完整的子系統(tǒng),板/卡上包含有CPU,RAM,ROM,I/O接口等各種芯片,這些芯片間也是通過(guò)總線來(lái)連接的,因?yàn)檫@有利于簡(jiǎn)化結(jié)構(gòu),減少連線,提高可靠性,方便信息的傳送與控制。通常把各種板、卡上實(shí)現(xiàn)芯片間相互連接的總線稱為片總線或元件級(jí)總線。
相對(duì)于一臺(tái)完整的微型計(jì)算機(jī)來(lái)說(shuō),各種板/卡只是一個(gè)子系統(tǒng),是一個(gè)局部,故又把片總線稱為局部總線,而把用于連接微機(jī)各功能部件插卡的總線稱為系統(tǒng)總線。局部總線是一個(gè)重要的概念,我們將在第七章中討論。
(3)內(nèi)總線:內(nèi)總線又稱系統(tǒng)總線或板級(jí)總線。因?yàn)樵摽偩€是用來(lái)連接微機(jī)各功能部件而構(gòu)成一個(gè)完整微機(jī)系統(tǒng)的,如圖1.2中所示,所以稱之為系統(tǒng)總線。系統(tǒng)總線是微機(jī)系統(tǒng)中最重要的總線,人們平常所說(shuō)的微機(jī)總線就是指系統(tǒng)總線,如PC總線、AT總線(ISA總線)、PCI總線等。系統(tǒng)總線是我們要討論的重點(diǎn)內(nèi)容之一。
系統(tǒng)總線上傳送的信息包括數(shù)據(jù)信息、地址信息、控制信息,因此,系統(tǒng)總線包含有三種不同功能的總線,即數(shù)據(jù)總線DB(Data Bus)、地址總線AB(Address Bus)和控制總線CB(Control Bus),如圖1.2中所示。
數(shù)據(jù)總線DB用于傳送數(shù)據(jù)信息。數(shù)據(jù)總線是雙向三態(tài)形式的總線,即他既可以把CPU的數(shù)據(jù)傳送到存儲(chǔ)器或I/O接口等其它部件,也可以將其它部件的數(shù)據(jù)傳送到CPU。數(shù)據(jù)總線的位數(shù)是微型計(jì)算機(jī)的一個(gè)重要指標(biāo),通常與微處理的字長(zhǎng)相一致。例如Intel 8086微處理器字長(zhǎng)16位,其數(shù)據(jù)總線寬度也是16位。需要指出的是,數(shù)據(jù)的含義是廣義的,它可以是真正的數(shù)據(jù),也可以指令代碼或狀態(tài)信息,有時(shí)甚至是一個(gè)控制信息,因此,在實(shí)際工作中,數(shù)據(jù)總線上傳送的并不一定僅僅是真正意義上的數(shù)據(jù)。
地址總線AB是專門用來(lái)傳送地址的,由于地址只能從CPU傳向外部存儲(chǔ)器或I/O端口,所以地址總線總是單向三態(tài)的,這與數(shù)據(jù)總線不同。地址總線的位數(shù)決定了CPU可直接尋址的內(nèi)存空間大小,比如8位微機(jī)的地址總線為16位,則其最大可尋址空間為2^16=64KB,16位微型機(jī)的地址總線為20位,其可尋址空間為2^20=1MB。一般來(lái)說(shuō),若地址總線為n位,則可尋址空間為2^n字節(jié)。
控制總線CB用來(lái)傳送控制信號(hào)和時(shí)序信號(hào)??刂菩盘?hào)中,有的是微處理器送往存儲(chǔ)器和I/O接口電路的,如讀/寫信號(hào),片選信號(hào)、中斷響應(yīng)信號(hào)等;也有是其它部件反饋給CPU的,比如:中斷申請(qǐng)信號(hào)、復(fù)位信號(hào)、總線請(qǐng)求信號(hào)、限備就緒信號(hào)等。因此,控制總線的傳送方向由具體控制信號(hào)而定,一般是雙向的,控制總線的位數(shù)要根據(jù)系統(tǒng)的實(shí)際控制需要而定。實(shí)際上控制總線的具體情況主要取決于CPU。
(4)外總線:也稱通信總線。用于兩個(gè)系統(tǒng)之間的連接與通信,如兩臺(tái)微機(jī)系統(tǒng)之間、微機(jī)系統(tǒng)與其他電子儀器或電子設(shè)備之間的通信。常用的通信總線有IEEE-488總線,VXI總線和RS-232串行總線等。外總線不是微機(jī)系統(tǒng)本身固有的,只有微型機(jī)應(yīng)用系統(tǒng)中才有。