微型計(jì)算機(jī)原理王忠民版PPT電子課件教案-第1章 微型計(jì)算機(jī)系統(tǒng)導(dǎo)論
《微型計(jì)算機(jī)原理王忠民版PPT電子課件教案-第1章 微型計(jì)算機(jī)系統(tǒng)導(dǎo)論》由會(huì)員分享,可在線閱讀,更多相關(guān)《微型計(jì)算機(jī)原理王忠民版PPT電子課件教案-第1章 微型計(jì)算機(jī)系統(tǒng)導(dǎo)論(59頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
微型計(jì)算機(jī)原理Principles of Microcomputers,王忠民 主編 王忠民 王鈺 王曉婕 編著,面 向 21 世 紀(jì),高等學(xué)校計(jì)算機(jī)類專業(yè)系列教材,,第1章 微型計(jì)算機(jī)系統(tǒng)導(dǎo)論 第2章 計(jì)算機(jī)中的數(shù)制和編碼 第3章 80x86微處理器 第4章 80x86指令系統(tǒng) 第5章 匯編語(yǔ)言程序設(shè)計(jì) 第6章 半導(dǎo)體存儲(chǔ)器 第7章 輸入/輸出與中斷 第8章 可編程接口芯片及應(yīng)用,目 錄,第1章 微型計(jì)算機(jī)系統(tǒng)導(dǎo)論,1.1 引言 1.2 計(jì)算機(jī)的發(fā)展概況 1.3 微型計(jì)算機(jī)系統(tǒng)的組成1.4 微型計(jì)算機(jī)硬件系統(tǒng) 1.5 微型計(jì)算機(jī)的工作過(guò)程,1.1 引 言,電子計(jì)算機(jī)是由各種電子器件組成的,能夠自動(dòng)、高速、精確地進(jìn)行算術(shù)運(yùn)算、邏輯控制和信息處理的現(xiàn)代化設(shè)備。自從其誕生以來(lái),已被廣泛應(yīng)用于科學(xué)計(jì)算、數(shù)據(jù)(信息)處理和過(guò)程控制等領(lǐng)域。有關(guān)統(tǒng)計(jì)資料表明,計(jì)算機(jī)早期的主要應(yīng)用領(lǐng)域是科學(xué)計(jì)算。在科學(xué)研究,特別是理論研究中,經(jīng)過(guò)嚴(yán)密的論證和推導(dǎo),得出非常復(fù)雜的數(shù)學(xué)方程,需要求得方程的解。如果手工計(jì)算,可能要經(jīng)過(guò)數(shù)月、數(shù)年的時(shí)間,有時(shí)甚至是無(wú)法完成的。面對(duì)這樣的難題,計(jì)算機(jī)可以發(fā)揮其強(qiáng)大的威力。,計(jì)算機(jī)在這樣的科學(xué)計(jì)算中,一般用高級(jí)語(yǔ)言編程,高級(jí)語(yǔ)言是面向用戶的,也就是說(shuō),用高級(jí)語(yǔ)言編寫程序比較容易和方便,經(jīng)過(guò)短時(shí)間的學(xué)習(xí)和訓(xùn)練,一般人都能編出功能很復(fù)雜的程序。計(jì)算機(jī)在科學(xué)計(jì)算中的應(yīng)用,除了用高級(jí)語(yǔ)言編寫程序外,與其在信息處理和過(guò)程控制領(lǐng)域的應(yīng)用相比較,還有以下兩個(gè)特點(diǎn):第一,它沒有很強(qiáng)的實(shí)時(shí)性要求,雖然使用者在運(yùn)行程序時(shí)也希望盡快得到運(yùn)算結(jié)果,但對(duì)結(jié)果產(chǎn)生的時(shí)間沒有嚴(yán)格的要求,結(jié)果產(chǎn)生的遲早不影響結(jié)果的有效性。第二,在科學(xué)計(jì)算中,需要輸入計(jì)算機(jī)的數(shù)據(jù),一般不是從某種物理現(xiàn)場(chǎng)實(shí)時(shí)采集的,不需要有專用的完成數(shù)據(jù)采集任務(wù)的輸入設(shè)備;同樣,計(jì)算的結(jié)果,一般也不完成對(duì)外界的控制功能,不需要有專門的輸出設(shè)備與其它系統(tǒng)相連。,在數(shù)據(jù)(信息)處理和過(guò)程控制應(yīng)用領(lǐng)域情況則要復(fù)雜得多。除了對(duì)系統(tǒng)的實(shí)時(shí)性有很高的要求外,還要用專門的輸入設(shè)備將有關(guān)信息輸入計(jì)算機(jī),用專門的輸出設(shè)備輸出處理結(jié)果或?qū)Ρ豢貙?duì)象實(shí)施控制。因此,僅僅具備高級(jí)語(yǔ)言編程方面的知識(shí)是遠(yuǎn)遠(yuǎn)不夠的。實(shí)時(shí)數(shù)據(jù)(信息)處理和過(guò)程控制要求實(shí)時(shí)性,希望編寫的程序更精練,運(yùn)行起來(lái)更快(一般情況下,對(duì)于完成相同的任務(wù),用機(jī)器語(yǔ)言或匯編語(yǔ)言編寫的程序運(yùn)行起來(lái)比用高級(jí)語(yǔ)言編出的程序快得多);專用的輸入輸出設(shè)備與計(jì)算機(jī)的連接和編程控制(稱為接口),更不是只具有高級(jí)語(yǔ)言編程知識(shí)所能勝任的。為此,必須對(duì)計(jì)算機(jī)的工作原理有更深入的了解,對(duì)計(jì)算機(jī)的邏輯組成、工作原理、與外界的接口技術(shù)以及直接依賴于計(jì)算機(jī)邏輯結(jié)構(gòu)的機(jī)器語(yǔ)言、匯編語(yǔ)言編程方法等需要進(jìn)一步的學(xué)習(xí)。,,1.2 計(jì)算機(jī)的發(fā)展概況,計(jì)算機(jī)的發(fā)展,從一開始就和電子技術(shù),特別是微電子技術(shù)密切相關(guān)的。人們通常按照構(gòu)成計(jì)算機(jī)所采用的電子器件及其電路的變革,把計(jì)算機(jī)劃分為若干“代”來(lái)標(biāo)志計(jì)算機(jī)的發(fā)展。自1946年世界上第一臺(tái)電子計(jì)算機(jī)問(wèn)世以來(lái),計(jì)算機(jī)技術(shù)得到了突飛猛進(jìn)的發(fā)展,在這不長(zhǎng)的時(shí)間里,計(jì)算機(jī)的發(fā)展已經(jīng)歷了四代:電子管計(jì)算機(jī)、晶體管計(jì)算機(jī)、集成電路計(jì)算機(jī)和大規(guī)模、超大規(guī)模集成電路計(jì)算機(jī)。目前,各國(guó)正加緊研制和開發(fā)第五代“非馮·諾依曼”計(jì)算機(jī)和第六代“神經(jīng)”計(jì)算機(jī)。,微型計(jì)算機(jī)屬于第四代計(jì)算機(jī),是二十世紀(jì)70年代初期研制成功的。一方面是由于軍事、空間及自動(dòng)化技術(shù)的發(fā)展需要體積小、功耗低、可靠性高的計(jì)算機(jī),另一方面,大規(guī)模集成電路技術(shù)的不斷發(fā)展也為微型計(jì)算機(jī)的產(chǎn)生打下了堅(jiān)實(shí)的物質(zhì)基礎(chǔ)。微處理器(MicroProcessor)是微型計(jì)算機(jī)的核心芯片,它是將計(jì)算機(jī)中的運(yùn)算器和控制器集成在一片硅片上制成的集成電路。這樣的芯片也被稱為中央處理單元,簡(jiǎn)稱為CPU(Central Processing Unit)。,微型計(jì)算機(jī) (MicroComputer)是由微處理器(CPU)、存儲(chǔ)器和I/O接口電路組成的計(jì)算機(jī)。30多年來(lái),微處理器和微型計(jì)算機(jī)獲得了極快的發(fā)展,幾乎每?jī)赡晡⑻幚砥鞯募啥确环?,??4年更新?lián)Q代一次,現(xiàn)已進(jìn)入第五代。,1. 第一代——4位或低檔8位微處理器第一代微處理器的典型產(chǎn)品是Intel公司1971年研制成功的4004(4位CPU)及1972年推出的低檔8位CPU 8008。采用PMOS工藝,集成度約為2000只晶體管/片。指令系統(tǒng)比較簡(jiǎn)單,運(yùn)算能力差,速度慢(平均指令執(zhí)行時(shí)間為10?20?s)。軟件主要使用機(jī)器語(yǔ)言及簡(jiǎn)單的匯編語(yǔ)言編寫。,2. 第二代——中高檔8位微處理器微處理器問(wèn)世以后,眾多公司紛紛研制微處理器,逐漸形成以Intel公司、Motorola公司、Zilog公司產(chǎn)品為代表的三大系列微處理器。第二代微處理器的典型產(chǎn)品有1974年Intel公司生產(chǎn)的8080 CPU, Zilog 公司生產(chǎn)的Z80 CPU、Motorola公司生產(chǎn)的MC6800 CPU以及Intel 公司1976年推出的8085CPU。它們均為8位微處理器,具有16位地址總線。第二代微處理器采用NMOS工藝,集成度為9000只晶體管/片,指令的平均執(zhí)行時(shí)間為1?2?s。指令系統(tǒng)相對(duì)比較完善,已具有典型的計(jì)算機(jī)體系結(jié)構(gòu)以及中斷、存儲(chǔ)器直接存取(DMA)功能。由第二代微處理器構(gòu)成的微機(jī)系統(tǒng)(如Apple—II等)已經(jīng)配有單用戶操作系統(tǒng)(如CP/M),并可使用匯編語(yǔ)言及BASIC、FORTRAN等高級(jí)語(yǔ)言編寫程序。,3.第三代——16位微處理器第三代微處理器的典型產(chǎn)品是1978年Intel公司生產(chǎn)的8086 CPU、Zilog公司的Z8000 CPU和Motorola公司的MC6800 CPU。它們均為16位微處理器,具有20位地址總線。用這些芯片組成的微型計(jì)算機(jī)有豐富的指令系統(tǒng)、多級(jí)中斷系統(tǒng)、多處理機(jī)系統(tǒng)、段式存儲(chǔ)器管理以及硬件乘除法器等。為方便原8位機(jī)用戶,Intel公司在8086推出后不久便很快推出準(zhǔn)16位的8088CPU,其指令系統(tǒng)與8086完全兼容,CPU內(nèi)部結(jié)構(gòu)仍為16位,但外部數(shù)據(jù)總線是8位的。并以8088為CPU組成了IBM PC、PC/XT等準(zhǔn)16位微型計(jì)算機(jī),由于其性能價(jià)格比高,很快占領(lǐng)了市場(chǎng)。,1982年,Intel公司在8086基礎(chǔ)上研制出性能更優(yōu)越的16位微處理器芯片80286。它具有24位地址總線,并具有多任務(wù)系統(tǒng)所必須的任務(wù)切換功能、存儲(chǔ)器管理功能以及各種保護(hù)功能。以80286為CPU組成IBM PC/AT高檔16位微型計(jì)算機(jī)。,4.第四代——32位高檔微處理器1985年,Intel公司推出了32位微處理器芯片80386,其地址總線也為32位。80386有兩種結(jié)構(gòu):80386SX和80386DX。這兩者的關(guān)系類似于8088和8086的關(guān)系。80386SX內(nèi)部結(jié)構(gòu)位32位,外部數(shù)據(jù)總線為16位,采用80287作為協(xié)處理器,指令系統(tǒng)與80286兼容。80386DX內(nèi)部結(jié)構(gòu)、外部數(shù)據(jù)總線皆為32位,采用80387作為協(xié)處理器。1990年,Intel公司在80386基礎(chǔ)上研制出新一代32位微處理器芯片80486,其地址總線仍然為32位。它相當(dāng)于把80386、80387及8KB高速緩沖存儲(chǔ)器(Cache)集成在一塊芯片上,性能比80386有較大提高。,5. 第五代——64位高檔微處理器第五代微處理器的典型產(chǎn)品是1993年Intel公司推出的Pentium(奔騰,Intel 586)以及IBM、Apple和Motorola三家公司聯(lián)合生產(chǎn)的Power PC。Pentium微處理器數(shù)據(jù)總線為64位,地址總線為36位,有兩條超標(biāo)量流水線,兩個(gè)并行執(zhí)行單元及雙高速緩沖存儲(chǔ)器,工作頻率有50MHz、66MHz、133MHz、和166MHz等。Power PC是一種精簡(jiǎn)指令集計(jì)算機(jī)RISC(Reduced Instruction Set Computer),也是一種性能優(yōu)異的64位微處理器,其中也采用了先進(jìn)的超標(biāo)量流水線技術(shù)及雙高速緩沖存儲(chǔ)器。,精簡(jiǎn)指令集計(jì)算機(jī)的特點(diǎn)是指令規(guī)整,從而使指令譯碼電路簡(jiǎn)單,譯碼速度快;指令系統(tǒng)中只設(shè)置了使用頻率較高的指令,因而指令條數(shù)少,指揮指令執(zhí)行的控制邏輯電路簡(jiǎn)單,執(zhí)行速度快。與精簡(jiǎn)指令集計(jì)算機(jī)對(duì)應(yīng)的是復(fù)雜指令集計(jì)算機(jī)CISC(Complex Instruction Set Computer),Intel公司的Pentium微處理器及其以前的微處理器產(chǎn)品都屬于CISC。,,1.3 微型計(jì)算機(jī)系統(tǒng)的組成,1.3.1 硬 件,運(yùn)算器和控制器被集成在一片被稱之為CPU的芯片中,它是微機(jī)的運(yùn)算、控制中心,用來(lái)實(shí)現(xiàn)算術(shù)、邏輯運(yùn)算,并對(duì)全機(jī)進(jìn)行控制。存儲(chǔ)器(又稱為主存或內(nèi)存)用來(lái)存儲(chǔ)程序或數(shù)據(jù),計(jì)算機(jī)要執(zhí)行的程序以及要處理的數(shù)據(jù)都要事先裝入到內(nèi)存中才能被CPU執(zhí)行或訪問(wèn)。,輸入/輸出(I/O)接口是微機(jī)與輸入輸出設(shè)備之間的橋梁,這種接口電路又稱做“I/O適配器”(I/O Adapter)。這里有必要強(qiáng)調(diào)一下大容量外存儲(chǔ)器與內(nèi)存儲(chǔ)器(主存或內(nèi)存)之間的關(guān)系。由于微型計(jì)算機(jī)內(nèi)存容量有限,所以使用大容量的外存儲(chǔ)器作為內(nèi)存的后援設(shè)備,它的容量可以比內(nèi)存大很多,但存取速度卻比內(nèi)存慢得多。所以,除必要的系統(tǒng)程序外,一般程序(包括數(shù)據(jù))都存放在外存中,只有在運(yùn)行時(shí),才把它從外存?zhèn)魉偷絻?nèi)存的某個(gè)區(qū)域,再由CPU控制執(zhí)行。,1.3.2 軟件所謂軟件,就是為了管理、維護(hù)計(jì)算機(jī)以及為完成用戶的某種特定任務(wù)而編寫的各種程序的總和。計(jì)算機(jī)的工作就是運(yùn)行程序,通過(guò)逐條地從存儲(chǔ)器(內(nèi)存)中取出程序中的指令并執(zhí)行指令規(guī)定的操作而實(shí)現(xiàn)某種特定的功能,因此,軟件是微型計(jì)算機(jī)系統(tǒng)不可缺少的組成部分。微型計(jì)算機(jī)的軟件包括系統(tǒng)軟件和用戶(應(yīng)用)軟件。,用戶軟件就是用戶為解決各種實(shí)際問(wèn)題而編寫的各種程序。系統(tǒng)軟件是指不需要用戶干預(yù)的,為其它程序的開發(fā)、調(diào)試以及運(yùn)行等建立一個(gè)良好環(huán)境的程序。主要包括操作系統(tǒng)OS(Operating System)和系統(tǒng)應(yīng)用程序。操作系統(tǒng)是一套復(fù)雜的系統(tǒng)程序,用于提供人機(jī)接口和管理、調(diào)度計(jì)算機(jī)的所有硬件與軟件資源。其中最為重要的核心部分是常駐監(jiān)控程序,計(jì)算機(jī)啟動(dòng)后,常駐監(jiān)控程序始終存放在內(nèi)存中,它接收用戶命令,并執(zhí)行相應(yīng)的操作;,操作系統(tǒng)還包括用于執(zhí)行I/O操作的I/O驅(qū)動(dòng)程序,每當(dāng)用戶程序或其它系統(tǒng)程序需要使用I/O設(shè)備時(shí),通常并不是該程序執(zhí)行I/O操作,而是由操作系統(tǒng)利用I/O驅(qū)動(dòng)程序來(lái)執(zhí)行任務(wù);此外,操作系統(tǒng)還包括用于管理存放在外存中大量數(shù)據(jù)的文件管理程序,文件管理程序和I/O驅(qū)動(dòng)程序配合使用,用于文件的存取、復(fù)制和其它處理。系統(tǒng)應(yīng)用程序很多,如各種高級(jí)語(yǔ)言的編譯程序、匯編程序、診斷和調(diào)試程序,文字處理程序,服務(wù)性工具程序,數(shù)據(jù)庫(kù)管理程序等。,,1.4 微型計(jì)算機(jī)硬件系統(tǒng),1.4.1 微型計(jì)算機(jī)系統(tǒng)的組成到目前為止,計(jì)算機(jī)仍沿用1940年由馮.諾依曼首先提出的體系結(jié)構(gòu)。其基本設(shè)計(jì)思想為:① 以二進(jìn)制形式表示指令和數(shù)據(jù)。② 程序和數(shù)據(jù)事先存放在存儲(chǔ)器中,計(jì)算機(jī)在工作時(shí)能夠高速地從存儲(chǔ)器中取出指令加以執(zhí)行。③ 由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備等五大部件組成計(jì)算機(jī)系統(tǒng)。,圖1.3 微型計(jì)算機(jī)硬件系統(tǒng)結(jié)構(gòu),所謂總線,是計(jì)算機(jī)中各功能部件間傳送信息的公共通道,是微型計(jì)算機(jī)的重要組成部分。它們可以是帶狀的扁平電纜線,也可以是印刷電路板上的一層極薄的金屬連線。所有的信息都通過(guò)總線傳送。根據(jù)所傳送信息的內(nèi)容與作用不同,總線可分為三類:地址總線AB(Address Bus):在對(duì)存儲(chǔ)器或I/O端口進(jìn)行訪問(wèn)時(shí),傳送 由CPU提供的要訪問(wèn)存儲(chǔ)單元或I/O端口的地址信息,以便選中要訪問(wèn)的存儲(chǔ)單元或I/O端口,是單向總線。,數(shù)據(jù)總線DB(Data Bus):從存儲(chǔ)器取指令或讀寫操作數(shù),對(duì)I/O端口進(jìn)行讀寫操作時(shí),指令碼或數(shù)據(jù)信息通過(guò)數(shù)據(jù)總線送往CPU或由CPU送出,是雙向總線。控制總線CB(Control Bus):各種控制或狀態(tài)信息通過(guò)控制總線由CPU送往有關(guān)部件,或者從有關(guān)部件送往CPU。CB中每根線的傳送方向是一定的,圖1.3中CB作為一個(gè)整體,用雙向表示。,1.4.2 微處理器,1.運(yùn)算器運(yùn)算器又稱算術(shù)邏輯單元ALU(Arithmetic Logic Unit),用來(lái)進(jìn)行算術(shù)或邏輯運(yùn)算以及移位循環(huán)等操作。參加運(yùn)算的兩個(gè)操作數(shù)一個(gè)來(lái)自累加器A(Accumulator),另一個(gè)來(lái)自內(nèi)部數(shù)據(jù)總線,可以是數(shù)據(jù)緩沖寄存器DR(Data Register)中的內(nèi)容,也可以是寄存器陣列RA(Register Array)中某個(gè)寄存器的內(nèi)容。計(jì)算結(jié)果送回累加器A暫存。,2. 控制器控制器又稱控制單元CU(Control Unit),是全機(jī)的指揮控制中心。它負(fù)責(zé)把指令逐條從存儲(chǔ)器中取出,經(jīng)譯碼分析后向全機(jī)發(fā)出取數(shù)、執(zhí)行、存數(shù)等控制命令,以保證正確完成程序所要求的功能。(1) 指令寄存器IR(Instruction Register):用來(lái)存放從存儲(chǔ)器取出的將要執(zhí)行的指令碼。當(dāng)執(zhí)行一條指令時(shí),先把它從內(nèi)存取到數(shù)據(jù)緩沖寄存器DR中,然后再傳送到指令寄存器IR中。,(2).指令譯碼器ID(Instruction Decoder):用來(lái)對(duì)指令寄存器IR中的指令操作碼字段(指令中用來(lái)說(shuō)明指令功能的字段)進(jìn)行譯碼,以確定該指令應(yīng)執(zhí)行什么操作。(3) 可編程邏輯陣列PLA(Programmable Logic Array):用來(lái)產(chǎn)生取指令和執(zhí)行指令所需要的各種微操作控制信號(hào),并經(jīng)過(guò)控制總線CB送往有關(guān)部件,從而使計(jì)算機(jī)完成相應(yīng)的操作。,3. 內(nèi)部寄存器陣列,1) 程序計(jì)數(shù)器PC(Program Counter)程序計(jì)數(shù)器有時(shí)也被稱為指令指針I(yè)P(Instruction Pointer)。它被用來(lái)存放下一條要執(zhí)行指令所在存儲(chǔ)單元的地址。在程序開始執(zhí)行前,必須將它的起始地址,即程序的第一條指令所在的存儲(chǔ)單元地址送入PC。當(dāng)執(zhí)行指令時(shí),CPU將自動(dòng)修改PC內(nèi)容,以便使其保持的總是將要執(zhí)行的下一條指令的地址。由于大多數(shù)指令是按順序執(zhí)行的,所以修改的辦法通常只是簡(jiǎn)單地對(duì)PC加1。但遇到跳轉(zhuǎn)等改變程序執(zhí)行順序的指令時(shí),后繼指令的地址(即PC的內(nèi)容)將從指令寄存器IR中的地址字段得到。,2) 地址寄存器AR(Address Register):地址寄存器用來(lái)存放正要取出的指令的地址或操作數(shù)的地址。由于在內(nèi)存單元和CPU之間存在著操作速度上的差異,所以必須使用地址寄存器來(lái)保持地址信息,直到內(nèi)存的讀/寫操作完成為止。在取指令時(shí),PC中存放的指令地址送到AR,根據(jù)此地址從存儲(chǔ)器中取出指令。在取操作數(shù)時(shí),將操作數(shù)地址通過(guò)內(nèi)部數(shù)據(jù)總線送到AR,再根據(jù)此地址從存儲(chǔ)器中取出操作數(shù);在向存儲(chǔ)器存入數(shù)據(jù)時(shí),也要先將待寫入數(shù)據(jù)的地址送到AR,再根據(jù)此地址向存儲(chǔ)器寫入數(shù)據(jù)。,3) 數(shù)據(jù)緩沖寄存器DR(Data Register)數(shù)據(jù)緩沖寄存器用來(lái)暫時(shí)存放指令或數(shù)據(jù)。從存儲(chǔ)器讀出時(shí),若讀出的是指令,經(jīng)DR暫存的指令經(jīng)過(guò)內(nèi)部數(shù)據(jù)總線送到指令寄存器IR;若讀出的是數(shù)據(jù),則通過(guò)內(nèi)部數(shù)據(jù)總線送到運(yùn)算器或有關(guān)的寄存器。同樣,當(dāng)向存儲(chǔ)器寫入數(shù)據(jù)時(shí),也首先將其存放在數(shù)據(jù)緩沖寄存器DR中,然后再經(jīng)數(shù)據(jù)總線送入存儲(chǔ)器??梢钥闯觯瑪?shù)據(jù)緩沖寄存器 DR是CPU和內(nèi)存、外部設(shè)備之間信息傳送的中轉(zhuǎn)站,用來(lái)補(bǔ)償CPU和內(nèi)存、外圍設(shè)備之間在操作速度上存在的差異。,4) 指令寄存器IR(Instruction Register)指令寄存器用來(lái)保存從存儲(chǔ)器取出的將要執(zhí)行的指令碼,以便指令譯碼器對(duì)其操作碼字段進(jìn)行譯碼,產(chǎn)生執(zhí)行該指令所需的微操作命令。,5) 累加器A(Accumulator)累加器是使用最頻繁的一個(gè)寄存器。在執(zhí)行算術(shù)邏輯運(yùn)算時(shí),它用來(lái)存放一個(gè)操作數(shù),而運(yùn)算結(jié)果通常又放回累加器,其中原有信息隨即被破壞。所以,顧名思義,累加器是用來(lái)暫時(shí)存放ALU運(yùn)算結(jié)果的。顯然,CPU中至少應(yīng)有一個(gè)累加器。目前CPU中通常有很多個(gè)累加器。當(dāng)使用多個(gè)累加器時(shí),就變成了通用寄存器堆結(jié)構(gòu),其中任何一個(gè)既可存放目的操作數(shù),也可以放源操作數(shù)。例如本書介紹的80x86系列CPU就采用了這種累加器結(jié)構(gòu)。,6) 標(biāo)志寄存器FLAGS(Flag Register)標(biāo)志寄存器有時(shí)也稱為程序狀態(tài)字PSW(Program Status Word)。它用來(lái)存放執(zhí)行算術(shù)運(yùn)算指令、邏輯運(yùn)算指令或測(cè)試指令后建立的各種狀態(tài)碼內(nèi)容以及對(duì)CPU操作進(jìn)行控制的控制信息。標(biāo)志位的具體設(shè)置及功能隨微處理器型號(hào)的不同而不同。編寫程序時(shí),可以通過(guò)測(cè)試有關(guān)標(biāo)志位的狀態(tài)(0或1)來(lái)決定程序的流向。,1.4.3 存儲(chǔ)器這里介紹的存儲(chǔ)器是指內(nèi)存儲(chǔ)器(又稱為主存或內(nèi)存)。它是微型計(jì)算機(jī)的存儲(chǔ)和記憶裝置,用來(lái)存放指令、原始數(shù)據(jù)、中間結(jié)果和最終結(jié)果。在計(jì)算機(jī)內(nèi)部,程序和數(shù)據(jù)都以二進(jìn)制形式表示,8位二進(jìn)制代碼作為一個(gè)字節(jié)。為了便于對(duì)存儲(chǔ)器進(jìn)行訪問(wèn),存儲(chǔ)器通常被劃分為許多單元,每個(gè)存儲(chǔ)單元存放一個(gè)字節(jié)的二進(jìn)制信息,每個(gè)存儲(chǔ)單元分別賦予一個(gè)編號(hào),稱為地址。如圖1.5所示,地址為4005H的存儲(chǔ)單元中存放了一個(gè)八位二進(jìn)制信息00111000B。,計(jì)算機(jī)在執(zhí)行程序時(shí),CPU會(huì)自動(dòng)而連續(xù)地從內(nèi)存儲(chǔ)器中取出要執(zhí)行的指令,并執(zhí)行指令規(guī)定的操作。這就是說(shuō),計(jì)算機(jī)每完成一條指令,至少有一次為取指令而訪問(wèn)內(nèi)存儲(chǔ)器的操作。內(nèi)存儲(chǔ)器是計(jì)算機(jī)主機(jī)的一部分,一般把具有一定容量且速度較高的存儲(chǔ)器作為內(nèi)存儲(chǔ)器,CPU可直接用指令對(duì)內(nèi)存儲(chǔ)器進(jìn)行讀寫。在微型計(jì)算機(jī)中,通常用半導(dǎo)體存儲(chǔ)器作為內(nèi)存儲(chǔ)器。,1. 基本概念1.位(Bit):二進(jìn)制信息的最小單位(0或1)2.字節(jié)(Byte):由8位二進(jìn)制數(shù)組成,可以存放在一個(gè)存儲(chǔ)單元中。是字的基本組成單位。3.字(Word):計(jì)算機(jī)中作為一個(gè)整體來(lái)處理和運(yùn)算的一組二進(jìn)制數(shù),是字節(jié)的整數(shù)倍。通常它與計(jì)算機(jī)內(nèi)部的寄存器、算術(shù)邏輯單元、數(shù)據(jù)總線寬度相一致。每個(gè)字包括的位數(shù)稱為計(jì)算機(jī)的字長(zhǎng),是計(jì)算機(jī)的重要性能指標(biāo)。目前為了表示方便,常把一個(gè)字定義為16位,把一個(gè)雙字定義為32位。,4.內(nèi)存容量:內(nèi)存中存儲(chǔ)單元的總數(shù)。通常以字節(jié)為單位,1024(210)字節(jié)記作1KB,220字節(jié)記作1MB。5.內(nèi)存單元地址:為了能識(shí)別不同的單元,每個(gè)單元都賦予一個(gè)編號(hào),這個(gè)編號(hào)稱之為內(nèi)存單元地址。顯然,各內(nèi)存單元的地址與該地址對(duì)應(yīng)的單元中存放的內(nèi)容是兩個(gè)完全不同的概念,不可混淆。,2.內(nèi)存的操作CPU對(duì)內(nèi)存的操作有兩種:讀或?qū)憽Wx操作是CPU將內(nèi)存單元的內(nèi)容讀入CPU內(nèi)部,而寫操作是CPU將其內(nèi)部信息送到內(nèi)存單元保存起來(lái)。顯然,寫操作的結(jié)果改變了被寫內(nèi)存單元的內(nèi)容,是破壞性的,而讀操作是非破壞性的,即該內(nèi)存單元的內(nèi)容在信息被讀出之后仍保持原信息不變。,從內(nèi)存單元讀出信息的操作過(guò)程如圖1.6(a)所示。假設(shè)將地址為90H的單元中的內(nèi)容10111010B(BAH)讀入CPU,其操作過(guò)程如下:(1)CPU經(jīng)地址寄存器AR將要讀取單元的地址信息10010000B(90H)送地址總線,經(jīng)地址譯碼器選中90H單元。(2)CPU發(fā)出“讀”控制信號(hào)。(3)在讀控制信號(hào)的作用下,將90H單元中的內(nèi)容10111010B(BAH)放到數(shù)據(jù)總線上,然后經(jīng)數(shù)據(jù)緩沖寄存器DR送入CPU中的有關(guān)部件進(jìn)行處理。,(b) 內(nèi)存寫操作過(guò)程示意圖,圖1.6 內(nèi)存讀寫操作過(guò)程示意圖,向內(nèi)存單元寫入信息的操作如圖1.6(b)所示。假定要將數(shù)據(jù)0寫入內(nèi)存中地址為90H的單元,其操作過(guò)程如下:(1)寫入單元的地址信息90H經(jīng)地址寄存器AR送到地址總線上。(2)待寫入的數(shù)據(jù)00000000B經(jīng)數(shù)據(jù)緩沖寄存器DR放到數(shù)據(jù)總線上。(3)CPU發(fā)出“寫”控制信號(hào),在該信號(hào)的作用下將數(shù)據(jù)0寫入90H單元。此時(shí),90H單元中原有的內(nèi)容10111010B就會(huì)被00000000B所替代。,3. 內(nèi)存的分類按工作方式,內(nèi)存可分為兩大類:隨機(jī)讀寫存儲(chǔ)器RAM(Random Access Memory)和只讀存儲(chǔ)器ROM(Read Only Memory)。隨機(jī)讀寫存儲(chǔ)器可被CPU隨機(jī)地讀寫,它用于存放將要被CPU執(zhí)行的用戶程序、數(shù)據(jù)以及部分系統(tǒng)程序。斷電后,其中存放的所有信息將丟失。只讀存儲(chǔ)器中的信息只能被CPU讀取,而不能由CPU任意地寫入。斷電后,其中的信息不會(huì)丟失。它用于存放永久性的程序和數(shù)據(jù)。如系統(tǒng)引導(dǎo)程序、監(jiān)控程序、操作系統(tǒng)中的基本輸入/輸出管理程序(BIOS)等。,1.4.4 I/O接口與輸入輸出設(shè)備I/O接口是微型計(jì)算機(jī)與輸入輸出設(shè)備之間信息交換的橋梁。I/O設(shè)備是微型計(jì)算機(jī)系統(tǒng)的重要組成部分。程序、數(shù)據(jù)及現(xiàn)場(chǎng)信息要通過(guò)輸入設(shè)備輸入給計(jì)算機(jī)。計(jì)算機(jī)的處理結(jié)果要通過(guò)輸出設(shè)備輸出,以便用戶使用。常用的輸入設(shè)備有:鍵盤、鼠標(biāo)、數(shù)字化儀、掃描儀、A/D轉(zhuǎn)換器等。常用的輸出設(shè)備有顯示器、打印機(jī)、繪圖儀、D/A轉(zhuǎn)換器等。,外設(shè)的種類很多,有機(jī)械式、電子式、機(jī)電式、光電式等,且一般來(lái)說(shuō),與CPU相比,外設(shè)的工作速度較低。外設(shè)處理的信息有數(shù)字量、模擬量、開關(guān)量等,而計(jì)算機(jī)只能處理數(shù)字量。另外,外設(shè)與微型計(jì)算機(jī)工作的邏輯時(shí)序也可能不一致。由于上述原因,微型機(jī)與外設(shè)之間的連接及信息的交換不能直接進(jìn)行,而需要設(shè)計(jì)一個(gè)I/O接口作為微型機(jī)與外設(shè)之間的橋梁。I/O接口也稱為I/O適配器,不同的外設(shè)必須通過(guò)不同的I/O適配卡(板)才能與微機(jī)相連。所以,I/O接口是微型計(jì)算機(jī)應(yīng)用系統(tǒng)不可缺少的重要組成部件。任何一個(gè)微機(jī)應(yīng)用系統(tǒng)的研制和開發(fā),實(shí)際上是I/O接口的研制和開發(fā)。因此,I/O接口技術(shù)是本課程要重點(diǎn)討論的內(nèi)容之一,,,1.5 微型計(jì)算機(jī)的工作過(guò)程,表1.1為在某模型機(jī)上完成“6+5”操作所需的機(jī)器語(yǔ)言程序和匯編語(yǔ)言程序,假設(shè)該機(jī)器語(yǔ)言程序從內(nèi)存中地址為0000H單元開始存放。機(jī)器語(yǔ)言程序是計(jì)算機(jī)能夠理解和直接執(zhí)行的程序,其指令是用二進(jìn)制代碼表示和存儲(chǔ)的。匯編語(yǔ)言程序是用助記符語(yǔ)言表示的程序,計(jì)算機(jī)不能直接“識(shí)別”,需要經(jīng)過(guò)“匯編程序”把它轉(zhuǎn)換為機(jī)器語(yǔ)言程序后才能執(zhí)行。機(jī)器語(yǔ)言指令和匯編語(yǔ)言指令是一一對(duì)應(yīng)的,都是面向機(jī)器,不同的機(jī)器有著自己獨(dú)有的機(jī)器語(yǔ)言指令系統(tǒng)和匯編語(yǔ)言指令系統(tǒng)。高級(jí)語(yǔ)言是不依賴于具體機(jī)型只面向過(guò)程的程序設(shè)計(jì)語(yǔ)言,由它所編寫的高級(jí)語(yǔ)言程序,需經(jīng)過(guò)編譯程序或解釋程序的編譯或解釋生成機(jī)器語(yǔ)言程序后才能執(zhí)行。由此可見,不論程序是用什么語(yǔ)言編寫,都必須首先將其轉(zhuǎn)換為計(jì)算機(jī)能直接識(shí)別和執(zhí)行的機(jī)器語(yǔ)言程序,然后才能由CPU逐條讀取并執(zhí)行。,表1.1 完成“6+5”操作所需的機(jī)器語(yǔ)言程序和匯編語(yǔ)言程序,微機(jī)的工作過(guò)程就是不斷地從內(nèi)存中取出指令并執(zhí)行指令的過(guò)程。當(dāng)開始運(yùn)行程序時(shí),首先應(yīng)把第一條指令所在存儲(chǔ)單元的地址賦予程序計(jì)數(shù)器PC(Program Counter),然后機(jī)器就進(jìn)入取指階段。在取指階段,CPU從內(nèi)存中讀出的內(nèi)容必為指令,于是,數(shù)據(jù)緩沖寄存器的內(nèi)容將被送至指令寄存器IR,然后由指令譯碼器對(duì)IR中指令的操作碼字段進(jìn)行譯碼,并發(fā)出執(zhí)行該指令所需要的各種微操作控制信號(hào)。取指階段結(jié)束后,機(jī)器就進(jìn)入執(zhí)行指令階段,這時(shí)CPU執(zhí)行指令所規(guī)定的具體操作。當(dāng)一條指令執(zhí)行完畢后,轉(zhuǎn)入下一條指令的取指階段。這樣周而復(fù)始地循環(huán),直到遇到暫停指令時(shí)結(jié)束。,對(duì)于所有的機(jī)器指令而言,取指階段都是由一系列相同的操作組成的,所用的時(shí)間都是相同的。而執(zhí)行指令階段由不同的事件順序組成,它取決于被執(zhí)行指令的類型,因此,執(zhí)行階段的時(shí)間不同指令間存在很大差異。需要說(shuō)明的是,指令通常由操作碼(Operation Code)和操作數(shù)(Operand)兩部分組成。操作碼表示該指令完成的操作,而操作數(shù)表示參加操作的數(shù)本身或操作數(shù)所在的地址。指令根據(jù)其所含內(nèi)容的不同而有單字節(jié)指令、雙字節(jié)指令以及多字節(jié)指令等,因此,計(jì)算機(jī)在執(zhí)行一條指令時(shí),就可能要處理一到多個(gè)不等字節(jié)數(shù)目的代碼信息,包括操作碼、操作數(shù)或操作數(shù)的地址。,假定完成“6+5”操作所需的機(jī)器語(yǔ)言程序(表1.1所示)已由輸入設(shè)備存放到內(nèi)存中,如圖1.7所示。下面進(jìn)一步說(shuō)明微機(jī)內(nèi)部執(zhí)行該程序的具體操作過(guò)程。開始執(zhí)行程序時(shí),首先將第一條指令的首地址0000H送程序計(jì)數(shù)器PC,然后就進(jìn)入第一條指令的取指階段,其操作過(guò)程如圖1.7所示。,圖1.7 取第一條指令的操作過(guò)程示意圖,① 把PC內(nèi)容送地址寄存器AR.② PC內(nèi)容送入AR后,PC自動(dòng)加1,即由0000H變?yōu)?001H,以使PC指向下一個(gè)要讀取的內(nèi)存單元。注意,此時(shí)AR的內(nèi)容并沒有變化。③ 把地址寄存器AR的內(nèi)容0000H放在地址總線上,并送至存儲(chǔ)器系統(tǒng)的地址譯碼電路(圖中未畫出),經(jīng)地址譯碼選中相應(yīng)的0000H單元。④ CPU發(fā)出存儲(chǔ)器讀命令。,⑤ 在讀命令的控制下,把選中的0000H單元的內(nèi)容即第一條指令的操作碼B1H讀到數(shù)據(jù)總線DB上。⑥ 把讀出的內(nèi)容B1H經(jīng)數(shù)據(jù)總線送到數(shù)據(jù)緩沖寄存器DR。⑦ 指令譯碼。因?yàn)槿〕龅氖侵噶畹牟僮鞔a,故數(shù)據(jù)緩沖寄存器DR中的內(nèi)容被送到指令寄存器IR,然后再送到指令譯碼器ID,經(jīng)過(guò)譯碼,CPU“識(shí)別”出這個(gè)操作碼代表的指令,于是經(jīng)控制器發(fā)出執(zhí)行該指令所需要的各種控制命令。,接著進(jìn)入第一條指令的執(zhí)行階段。經(jīng)過(guò)對(duì)操作碼B1H的譯碼,CPU知道這是一條把下一單元中的操作數(shù)送累加器A的雙字節(jié)指令,所以,執(zhí)行該指令的操作就是從下一個(gè)存儲(chǔ)單元中取出指令第二個(gè)字節(jié)中的操作數(shù)06H,并送入累加器A。該指令的執(zhí)行過(guò)程如圖1.8所示。① 把PC內(nèi)容01H送地址寄存器AR。② PC內(nèi)容送入AR后,PC自動(dòng)加1,即由0001H變?yōu)?002H。注意,此時(shí)AR的內(nèi)容0001H并沒有變化。,③ 把地址寄存器AR的內(nèi)容0001H放到地址總線上,并送至存儲(chǔ)器系統(tǒng)的地址譯碼電路,經(jīng)地址譯碼選中相應(yīng)的0001H單元。④ CPU發(fā)出存儲(chǔ)器讀命令。⑤ 在讀命令的控制下,把選中的0001H單元的內(nèi)容06H放到數(shù)據(jù)總線DB上。⑥ 把讀出的內(nèi)容06H經(jīng)數(shù)據(jù)總線送到數(shù)據(jù)緩沖寄存器DR。⑦ 數(shù)據(jù)緩沖寄存器DR的內(nèi)容經(jīng)內(nèi)部數(shù)據(jù)總線送到累加器A。于是,第一條指令執(zhí)行完畢,操作數(shù)06H被送到累加器A中。,,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
5 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 微型計(jì)算機(jī) 原理 王忠民版 PPT 電子 課件 教案 微型 計(jì)算機(jī)系統(tǒng) 導(dǎo)論
鏈接地址:http://www.szxfmmzy.com/p-552208.html