微型計(jì)算機(jī)的組成部分介紹(二)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
微處理器
微處理器(CPU)是計(jì)算機(jī)的核心部件,其中除了運(yùn)算器和控制器外, 還包括用于暫存數(shù)據(jù)的寄存器和傳輸信息用的內(nèi)部總線。圖 1-8 為一個(gè)簡(jiǎn)化的 CPU 模型,CPU 需要通過(guò)三 總線(數(shù)據(jù)總線、地址總線和控制總線) 與存儲(chǔ)器和 I/O 接口進(jìn)行通信和聯(lián)絡(luò)。本節(jié)將介紹微處理器各組成部件的功能以及微處理器的主要性能指標(biāo)。
圖 1-8 簡(jiǎn)化的 CPU 模型
微處理器各部件的功能
(1)運(yùn)算器
運(yùn)算器由算術(shù)邏輯運(yùn)算單元(Arithmetic and Logical Unit ,ALU)、累加器和暫存器等部 件構(gòu)成。 ALU 是運(yùn)算器的核心部件,可以完成兩個(gè)數(shù)的加法、減法、比較以及與、或、非 等運(yùn)算,參與運(yùn)算的兩個(gè)數(shù)分別由累加器和暫存器提供。 ALU 的運(yùn)算結(jié)果被送回累加器,并且運(yùn)算結(jié)果的狀態(tài)將被記錄在程序狀態(tài)字(Program Status Word ,PSW) 寄存器中。這里所謂的運(yùn)算結(jié)果狀態(tài)是指運(yùn)算是否產(chǎn)生了進(jìn)位、借位, 運(yùn)算結(jié)果是否為零,是否為負(fù)數(shù)等,每種狀態(tài)均以 1 位二進(jìn)制數(shù)來(lái)表示。
(2)寄存器
寄存器是 CPU 內(nèi)部用于存儲(chǔ)信息的物理器件。所謂的信息可以是數(shù)據(jù)、地址或指令。 比如:累加器是用于存放數(shù)據(jù)的寄存器; PSW 是用于存放 ALU 運(yùn)算結(jié)果狀態(tài)的寄存器;而指令寄存器(IR) 存放從存儲(chǔ)器中讀取的指令代碼。
(3)控制器
控制器是控制和協(xié)調(diào)計(jì)算機(jī)各部件協(xié)同工作的機(jī)構(gòu),主要包括程序計(jì)數(shù)器(PC)、指令 寄存器(IR)、指令譯碼器(ID)和控制信號(hào)發(fā)生電路。
微處理器的主要性能指標(biāo)
微處理器的主要性能指標(biāo)有字長(zhǎng)和指令執(zhí)行時(shí)間,分別用于衡量微處理器的運(yùn)算能力和運(yùn)算速度。
(1)字長(zhǎng)
字長(zhǎng)是微處理器一次可以處理的二進(jìn)制數(shù)的位數(shù)。字長(zhǎng)越長(zhǎng),CPU 的計(jì)算能力越強(qiáng)、計(jì) 算速度越快。比如,Intel 公司 1971 年推出的第一代微處理器 Intel 4004 (見(jiàn)圖 1-3a)的字長(zhǎng) 是 4 位, 每次只能進(jìn)行 4 位二進(jìn)制數(shù)計(jì)算, 4 位二進(jìn)制無(wú)符號(hào)數(shù)的數(shù)值范圍是 0~15;而該 公司生產(chǎn)的微處理器 Intel 80386 (如圖 1-3c 所示)的字長(zhǎng)是 32 位, 每次可以完成 32 位二進(jìn) 制數(shù)的計(jì)算,32 位二進(jìn)制無(wú)符號(hào)數(shù)的數(shù)值范圍是0~4294967295。
(2)指令執(zhí)行時(shí)間
指令執(zhí)行時(shí)間越短,速度越快。指令執(zhí)行的時(shí)間與微型計(jì)算機(jī)的時(shí)鐘頻率有關(guān),每條指令執(zhí)行所消耗的時(shí)鐘周期個(gè)數(shù)是固定的,因此時(shí)鐘頻率越高,指令執(zhí)行速度越快。
存儲(chǔ)器
在微型計(jì)算機(jī)中,存儲(chǔ)器主要用于存放數(shù)據(jù)和指令。存儲(chǔ)器有兩類,包括隨機(jī)存取存儲(chǔ) 器(RAM)和只讀存儲(chǔ)器(ROM) 。RAM 中的信息可以被讀、寫(xiě), 既能存放數(shù)據(jù),也能存 放指令代碼。而 ROM 中的信息只能被讀取,不能被修改, 因此 ROM 只能存放指令代碼或程序執(zhí)行過(guò)程中保持不變的數(shù)據(jù)。存儲(chǔ)器由半導(dǎo)體存儲(chǔ)器芯片構(gòu)成,包含若干個(gè)存儲(chǔ)單元, 每個(gè)存儲(chǔ)單元可以存放若干位二進(jìn)制數(shù),每個(gè)存儲(chǔ)單元都被分配一個(gè)地址,即存儲(chǔ)單元地址。微處理器讀、寫(xiě)存儲(chǔ)器時(shí)必須提供存儲(chǔ)單元的地址。
圖 1-9 給出了 MCS-51 單片機(jī)的微處理器從程序存儲(chǔ)器中讀取一條指令“MOV A,#12H”(該指令中“#12H”代表十六進(jìn)制數(shù) 12H ,A 代表累加器,指令功能是將數(shù)字 12H 送入累加器)的過(guò)程示意圖,可以幫助讀者更好地理解計(jì)算機(jī)的工作原理,即“存 儲(chǔ)程序的原理”,另外該圖中的①~⑥是指令執(zhí)行步驟的序號(hào)。如圖 1-9 所示,訪問(wèn)存儲(chǔ) 器時(shí)必須提供被訪問(wèn)存儲(chǔ)單元的地址,而被取指令在程序存儲(chǔ)器中的存放地址由程序計(jì) 數(shù)器(PC) 提供。讀指令的過(guò)程中,PC 的值會(huì)自動(dòng)增加(當(dāng)程序出現(xiàn)分支或循環(huán)時(shí)可能 是減小)指向下一個(gè)存儲(chǔ)單元,為取下一個(gè)指令做準(zhǔn)備。需要注意的是,指令操作碼用于指明指令要完成的操作,需要經(jīng)指令譯碼器翻譯后才能被 CPU “理解”,而指令操作數(shù)是被指令處理的數(shù)據(jù),不需要指令譯碼器翻譯。另外,單片機(jī)進(jìn)行數(shù)據(jù)存儲(chǔ)器讀、寫(xiě)的過(guò)程與讀取指令操作數(shù)的過(guò)程類似,主要差別是數(shù)據(jù)存放在數(shù)據(jù)存儲(chǔ)器中,并且其存儲(chǔ)單元的地址不由 PC 提供。
圖 1-9 指令“MOV A,#12H”讀取過(guò)程示意圖
a) 讀取操作碼 b) 讀取操作數(shù)
I/O 接口
I/O 接口是微處理器和 I/O 設(shè)備之間的橋梁, 常用的 I/O 接口包括串行通信接口、定時(shí) 器接口和模擬通道接口等。 I/O 接口通過(guò)三總線與微處理器相連,為了區(qū)分各 I/O 接口, CPU 給每個(gè) I/O 接口分配固定且不同的地址。與訪問(wèn)存儲(chǔ)器類似,CPU 訪問(wèn)I/O 接口時(shí)也需先將 I/O 接口的地址送入地址總線,然后再通過(guò)數(shù)據(jù)總線傳輸數(shù)據(jù)。