《計(jì)算機(jī)組成原理》 課件 第1章 計(jì)算機(jī)系統(tǒng)概論_第1頁
《計(jì)算機(jī)組成原理》 課件 第1章 計(jì)算機(jī)系統(tǒng)概論_第2頁
《計(jì)算機(jī)組成原理》 課件 第1章 計(jì)算機(jī)系統(tǒng)概論_第3頁
《計(jì)算機(jī)組成原理》 課件 第1章 計(jì)算機(jī)系統(tǒng)概論_第4頁
《計(jì)算機(jī)組成原理》 課件 第1章 計(jì)算機(jī)系統(tǒng)概論_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第1章計(jì)算機(jī)系統(tǒng)概論

1.1計(jì)算機(jī)的發(fā)展歷程1.1.1計(jì)算機(jī)的發(fā)展簡史由于機(jī)械式計(jì)算機(jī)早已退出歷史舞臺,而電子模擬計(jì)算機(jī)目前也極少應(yīng)用,所以,今天人們所稱的“計(jì)算機(jī)”在無特別指出的情況下就是指“電子數(shù)字計(jì)算機(jī)”。1.計(jì)算機(jī)的發(fā)展歷程18世紀(jì)第一次工業(yè)革命開始,各種類型的機(jī)械式的計(jì)算工具便陸續(xù)出現(xiàn),開始有了機(jī)械式計(jì)算機(jī)。1812年,英國數(shù)學(xué)家、發(fā)明家巴貝奇(CharlesBabbage)首先提出了整個計(jì)算過程自動化的概念,1822年用機(jī)械方式設(shè)計(jì)出了差分機(jī),提高了乘法運(yùn)算速度。巴貝奇在用機(jī)械方式設(shè)計(jì)計(jì)算機(jī)的過程中提出了通用自動計(jì)算機(jī)必須具有“輸入、輸出、處理、存儲、控制”五大功能等設(shè)計(jì)思想,奠定了今天電子計(jì)算機(jī)的基礎(chǔ)。

因此,有人稱巴貝奇為現(xiàn)代計(jì)算機(jī)之父。英國數(shù)學(xué)家、發(fā)明家巴貝奇(CharlesBabbage)19世紀(jì)末人類開始使用電做動力,1904年英國物理學(xué)家弗萊明發(fā)明了世界上第一只電子二極管,1906年美國發(fā)明家德福雷斯特發(fā)明了世界上第一支電子三極管,標(biāo)志著世界由此進(jìn)入電子時代?,F(xiàn)代計(jì)算機(jī)理論上真正的奠基人是英國數(shù)學(xué)家艾蘭·圖靈(AlanTuring)。1936年,24歲的圖靈在倫敦權(quán)威的數(shù)學(xué)雜志上發(fā)表了一篇劃時代的重要論文《可計(jì)算數(shù)字及其在判斷性問題中的應(yīng)用》。在這篇論文中,他指出設(shè)計(jì)出一臺通用計(jì)算機(jī)理論上是可能的,他還提出了著名的“圖靈機(jī)”模型、和“圖靈測試”。為紀(jì)念圖靈對計(jì)算機(jī)科學(xué)的貢獻(xiàn),國際計(jì)算機(jī)學(xué)會ACM(AssociationforComputingMachinery,縮寫ACM)在1966年創(chuàng)立了“圖靈獎”,每年頒發(fā)給在計(jì)算機(jī)科學(xué)技術(shù)領(lǐng)域做出杰出貢獻(xiàn)的人士,“圖靈獎”號稱計(jì)算機(jī)業(yè)界和學(xué)術(shù)界的諾貝爾獎。英國數(shù)學(xué)家艾蘭·圖靈(AlanTuring)另外一個對現(xiàn)代電子計(jì)算機(jī)發(fā)展作出巨大貢獻(xiàn)的人物是現(xiàn)代信息論的奠基人美國數(shù)學(xué)家克勞德·艾爾伍德·香農(nóng)(ClaudeElwoodShannon)。1938年22歲的香農(nóng)(1916年-2001年)發(fā)表了他著名的碩士論文《繼電器和開關(guān)電路的符號分析》,把布爾代數(shù)的“真”與“假”和電路系統(tǒng)的“開”與“關(guān)”對應(yīng)起來,并用“1”和“0”表示。香農(nóng)首次用布爾代數(shù)進(jìn)行開關(guān)電路分析,并證明布爾代數(shù)的邏輯運(yùn)算可以通過繼電器電路來實(shí)現(xiàn),明確地給出了實(shí)現(xiàn)加、減、乘、除等運(yùn)算的電子電路的設(shè)計(jì)方法。香農(nóng)的理論還為計(jì)算機(jī)具有邏輯功能奠定了基礎(chǔ),從而使電子計(jì)算機(jī)既能用于數(shù)值計(jì)算,又具有各種非數(shù)值應(yīng)用功能,使得以后的計(jì)算機(jī)幾乎在任何領(lǐng)域中都得到了廣泛的應(yīng)用。美國數(shù)學(xué)家克勞德·艾爾伍德·香農(nóng)(ClaudeElwoodShannon)正是在這些背景下,1945年底,世界上第一臺通用電子數(shù)字計(jì)算機(jī)ENIAC(ElectronicNumericalIntegratorandComputer,縮寫ENIAC)在美國研制成功,并于1946年2月公諸于世。ENIAC堪稱人類偉大的發(fā)明之一,從此開創(chuàng)了人類社會的信息時代。美籍匈牙利數(shù)學(xué)家馮·諾依曼(VonNeumann)(1903年-1957年)。他和他的同事們于1949年5月在ENIAC基礎(chǔ)上研制了另外一臺電子計(jì)算機(jī)EDVAC(ElectronicDiscreteVariableAutomaticComputer,縮寫EDVAC)。在電子數(shù)字計(jì)算機(jī)發(fā)展史上ENIAC被稱為“始祖”,但ENIAC采用的是十進(jìn)制,而馮·諾依曼的EDVAC機(jī)在設(shè)計(jì)中采用了被后人廣泛采納的“存儲程序”和二進(jìn)制等先進(jìn)思想,對后來的計(jì)算機(jī)在體系結(jié)構(gòu)和工作原理上奠定了基礎(chǔ)?,F(xiàn)代電子計(jì)算機(jī)的組成原理均是依據(jù)美籍匈牙利數(shù)學(xué)家馮·諾依曼等發(fā)表的題為《關(guān)于電子計(jì)算裝置邏輯結(jié)構(gòu)初探》報(bào)告中所闡述的思想構(gòu)建的。因此,我們把今天的電子計(jì)算機(jī)稱為“馮·諾依曼”機(jī)。美籍匈牙利數(shù)學(xué)家馮·諾依曼(VonNeumann)2.電子計(jì)算機(jī)的發(fā)展階段電子計(jì)算機(jī)的發(fā)展大體經(jīng)歷了四代,這四代的劃分是以組成電子計(jì)算機(jī)的核心電子元器件的發(fā)展為標(biāo)志的。第一代電子計(jì)算機(jī)稱為電子管計(jì)算機(jī)(1946-1958年):這種計(jì)算機(jī)的主要邏輯元件采用電子管。電子管體積大、功耗高、反應(yīng)速度慢、壽命短。第二代電子計(jì)算機(jī)稱為晶體管計(jì)算機(jī)(1959-1964年):其主要邏輯元件采用的是晶體管。這種新型的電子器件體積只有電子管的幾十分之一,能量消耗小,晶體管壽命長、反應(yīng)速度快、機(jī)械強(qiáng)度高。第三代電子計(jì)算機(jī)稱為中小規(guī)模集成電路計(jì)算機(jī)(1965-1975年):隨著半導(dǎo)體技術(shù)的發(fā)展,到了1964年,一種新的、性能更好的電子器件集成電路出現(xiàn)了,它把許多個晶體管采用特殊的制作工藝集成到一塊面積只有幾平方毫米的半導(dǎo)體芯片上,最初是集成幾個到幾十個,再到成千上萬個晶體管,這種電子元器件稱為中、小規(guī)模集成電路。用這種中、小規(guī)模集成電路為核心電子元器件制造的計(jì)算機(jī)就是第三代計(jì)算機(jī)。第四代電子計(jì)算機(jī)稱為大規(guī)模和超大規(guī)模集成電路計(jì)算機(jī)(1976-現(xiàn)在):第四代計(jì)算機(jī)以采用大規(guī)模和超大規(guī)模集成電路為標(biāo)志。

大規(guī)模和超大規(guī)模集成電路芯片上的晶體管數(shù)目達(dá)到了幾百萬、幾千萬乃至幾十億只,集成電路技術(shù)的發(fā)展使計(jì)算機(jī)向更高速化、體積更小化發(fā)展。3.電子數(shù)字計(jì)算機(jī)的分類關(guān)于電子數(shù)字計(jì)算機(jī)的分類,有很多種分類方法。

從設(shè)計(jì)原理上把電子計(jì)算機(jī)分為:數(shù)字電子計(jì)算機(jī)和模擬電子計(jì)算機(jī);從使用領(lǐng)域把電子計(jì)算機(jī)分為:通用計(jì)算機(jī)和專用計(jì)算機(jī);按照運(yùn)算規(guī)模,我們把電子計(jì)算機(jī)分為巨型機(jī)(超級計(jì)算機(jī))、微型計(jì)算機(jī)(個人計(jì)算機(jī))、嵌入式計(jì)算機(jī)(單片機(jī)等)。

(1)巨型機(jī)巨型機(jī)(Supercomputer)又稱為超級計(jì)算機(jī),它以極高的計(jì)算能力為主要發(fā)展目標(biāo),是一個國家科技水平、經(jīng)濟(jì)實(shí)力和軍事能力的象征。超級計(jì)算機(jī)的基本結(jié)構(gòu)是將許多微處理器以并行架構(gòu)的方式組合在一起,目前超級計(jì)算機(jī)的計(jì)算速度已達(dá)到峰值每秒億億次級浮點(diǎn)運(yùn)算。國家超級計(jì)算無錫中心的“神威·太湖之光”超級計(jì)算機(jī)安裝了40960個中國自主研發(fā)的“申威26010”眾核處理器,該眾核處理器采用64位自主申威指令系統(tǒng),峰值性能為12.5億億次/秒,持續(xù)性能為9.3億億次/秒。(2)微型計(jì)算機(jī)。微型計(jì)算機(jī)又稱個人計(jì)算機(jī)(PersonalComputer,縮寫PC),通常簡稱為微機(jī)(PC機(jī)),俗稱電腦。指在大小、性能以及價(jià)位等多個方面適合于個人使用,并由最終用戶直接操控的計(jì)算機(jī)的統(tǒng)稱。

臺式機(jī)、筆記本電腦、平板電腦等均屬于個人計(jì)算機(jī)的范疇。(3)嵌入式計(jì)算機(jī)系統(tǒng)將中央處理器、存儲器和輸入輸出接口集成在一塊芯片上的微型計(jì)算機(jī),簡稱單片機(jī)(SingleChipComputer)或者單片系統(tǒng)(SoC,SystemonChip)。

由于單片機(jī)主要應(yīng)用于控制系統(tǒng),故通常又稱為微控制器MCU(MicroControlUnit)或嵌入式計(jì)算機(jī)(EmbeddedComputer)。1.1.2計(jì)算機(jī)的應(yīng)用按照電子計(jì)算機(jī)的應(yīng)用特點(diǎn),傳統(tǒng)的分類方法大體可以概括為科學(xué)計(jì)算、數(shù)據(jù)處理、過程控制、輔助設(shè)計(jì)和人工智能等幾大類。1.科學(xué)計(jì)算計(jì)算機(jī)最初是作為計(jì)算工具而面世的。因此,科學(xué)計(jì)算是計(jì)算機(jī)最早進(jìn)入的一個應(yīng)用領(lǐng)域,其特點(diǎn)是計(jì)算量大和數(shù)值變化范圍大。許多計(jì)算領(lǐng)域的問題,如計(jì)算物理、計(jì)算力學(xué)、計(jì)算化學(xué)等均可以歸結(jié)為數(shù)值計(jì)算問題。這類計(jì)算往往涉及到較復(fù)雜的數(shù)學(xué)公式,如求解上千階的微分方程組、幾百個方程的線性方程組、大型的矩陣運(yùn)算等等。2.?dāng)?shù)據(jù)處理所謂數(shù)據(jù)處理也叫信息加工,是指利用計(jì)算機(jī)對大量的原始數(shù)據(jù)進(jìn)行采集、存儲、整理、計(jì)算等綜合處理,加工成人們所需要的數(shù)據(jù)形式。3.過程控制所謂過程控制,即對某一物理過程或工作對象,使用計(jì)算機(jī)進(jìn)行控制,使其處于最佳工作狀態(tài)。通過各種傳感器獲得的各種物理信號經(jīng)轉(zhuǎn)換為可測可控的數(shù)據(jù)信號后,再經(jīng)計(jì)算機(jī)運(yùn)算,根據(jù)偏差,驅(qū)動執(zhí)行機(jī)構(gòu)來調(diào)整,便可達(dá)到控制的目的。4.辦公自動化辦公自動化(OA-OfficeAutomation)是指使用現(xiàn)代化工具與手段,最大限度地幫助辦公室人員處理辦公業(yè)務(wù)。5.輔助系統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì)(CAD-ComputerAidedDesign)是指用計(jì)算機(jī)來幫助設(shè)計(jì)人員完成各種各樣的設(shè)計(jì)工作。它是加快產(chǎn)品設(shè)計(jì)周期、提高產(chǎn)品設(shè)計(jì)質(zhì)量的重要手段。比如:計(jì)算機(jī)輔助制造(CAM-ComputerAidedManufacture)、計(jì)算機(jī)輔助教學(xué)(CAI-ComputerAidedInstruction)等6.仿真所謂計(jì)算機(jī)仿真(SIM-Simulation),也叫計(jì)算機(jī)模擬,是指利用計(jì)算機(jī)仿造真實(shí)對象的某些特征與行為的技術(shù)。通過這種仿造或模擬,可以更加有效地研究真實(shí)對象?,F(xiàn)在工程應(yīng)用中出現(xiàn)了大量的計(jì)算機(jī)仿真軟件,幫助工程師進(jìn)行項(xiàng)目和產(chǎn)品設(shè)計(jì)。7.人工智能人工智能是研究解釋和模擬人類智能、智能行為及其規(guī)律的專門學(xué)科,是當(dāng)今電子計(jì)算機(jī)應(yīng)用研究最前沿的學(xué)科。近年來在模式識別、語音識別、專家系統(tǒng)和機(jī)器人制作方面都取得了很大的成就。

今天的社會計(jì)算機(jī)應(yīng)用無處不在,人們的日常生活都要使用計(jì)算機(jī),聊天、通信、購物、電子支付等都需要使用計(jì)算機(jī)(手機(jī)),我們的生活已經(jīng)離不開計(jì)算機(jī)。

1.2計(jì)算機(jī)系統(tǒng)的基本結(jié)構(gòu)1.2.1計(jì)算機(jī)系統(tǒng)1.計(jì)算機(jī)的組成

一個完整的電子計(jì)算機(jī)系統(tǒng)是由兩個部分組成的:硬件(Hardware)部分和軟件(Software)部分。(1)硬件所謂“硬件”是指計(jì)算機(jī)的實(shí)體部份,它由看得見摸得著的各種電子元器件、各類光、電、機(jī)設(shè)備的實(shí)物組成,是構(gòu)成計(jì)算機(jī)系統(tǒng)的各種物理設(shè)備的總稱。(2)軟件所謂“軟件”是應(yīng)用、管理和維護(hù)計(jì)算機(jī)的各類程序和文檔的總稱。計(jì)算機(jī)的軟件通常又分為兩大類:系統(tǒng)軟件和應(yīng)用軟件。①系統(tǒng)軟件又稱為系統(tǒng)程序,主要用來管理整個計(jì)算機(jī)系統(tǒng),使系統(tǒng)資源得到合理調(diào)度,確保高效運(yùn)行。

系統(tǒng)軟件通常包括:操作系統(tǒng)、標(biāo)準(zhǔn)程序庫、語言處理程序、服務(wù)性程序。②應(yīng)用軟件又稱為應(yīng)用程序,是針對某個應(yīng)用領(lǐng)域的具體問題而開發(fā)和研制的程序,這類程序成千上萬。正是由于應(yīng)用軟件的特點(diǎn),才使得計(jì)算機(jī)的應(yīng)用日益滲透到社會的各行各業(yè)。

常見的應(yīng)用軟件歸為以下幾類:公處理軟件;信息管理軟件;圖像處理軟件;多媒體處理軟件;網(wǎng)絡(luò)應(yīng)用軟件等2.計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)一個完整的計(jì)算機(jī)系統(tǒng)宏觀地看,可以分成兩個層次:軟件和硬件。在這個層次結(jié)構(gòu)中:下層是硬件,上層是軟件。

如果把上層的軟件部分再細(xì)分,又可以分為兩層:應(yīng)用軟件和系統(tǒng)軟件。從計(jì)算機(jī)的層次結(jié)構(gòu)上我們可以看出,計(jì)算機(jī)類專業(yè)人才從大類上分為軟件工程師和硬件工程師,分別工作在計(jì)算機(jī)系統(tǒng)的軟件層和硬件層。

軟件層上的軟件開發(fā)及使用的語言。

(1)機(jī)器語言

程序員要開發(fā)某個軟件必須使用某種計(jì)算機(jī)語言。計(jì)算機(jī)硬件唯一認(rèn)識的語言就是“機(jī)器語言”,這種語言由“0”、“1”二進(jìn)制代碼組成。早期的程序員都是使用機(jī)器語言編程。下面這段機(jī)器語言程序的功能是:完成8和12兩個數(shù)相加。1011000000001000000001000000110011110100上面的機(jī)器語言程序中包含三條機(jī)器語言指令(每一行是一條機(jī)器語言指令)。從這個機(jī)器語言程序中我們可以感覺到,機(jī)器語言如果不特別說明,很難看懂,而且編程效率低。

(2)匯編語言

為了解決機(jī)器語言不易看懂、編程效率低的問題,就出現(xiàn)了匯編語言。

匯編語言是使用助記符的語言。我們把這3條機(jī)器語言指令對應(yīng)的匯編語言助記符寫下來。MOVAC,#81011000000001000ADDAC,#120000010000001100HLT11110100上面的程序中,左邊用助記符寫的程序我們稱為“匯編語言”程序,程序中每一條助記符寫的指令我們稱之為匯編語言指令。我們可以看到用助記符寫的“匯編語言”程序比右邊“機(jī)器語言”程序容易看懂得多。

有了匯編語言,程序員就不再使用機(jī)器語言編程了。計(jì)算機(jī)硬件電路唯一認(rèn)識的是機(jī)器語言指令,程序員使用匯編語言編寫的程序必須“翻譯”成機(jī)器語言程序,這個過程叫“匯編”(現(xiàn)在有些教材也稱為“編譯”)。

把匯編語言程序“翻譯”成機(jī)器語言程序的專門程序我們叫“匯編程序”。

“匯編語言”指令和機(jī)器語言指令是一一對應(yīng)的關(guān)系,如果改變了計(jì)算機(jī)硬件系統(tǒng),機(jī)器語言指令系統(tǒng)要改變,因此,用匯編語言編寫的計(jì)算機(jī)程序的可移植性差,這樣對程序員就很不方便。人們期待有一種可移植性好的計(jì)算機(jī)語言,于是就誕生了“高級語言”。

(3)高級語言“高級語言”是參照數(shù)學(xué)語言而設(shè)計(jì)的近似于日常會話的計(jì)算機(jī)語言。

高級語言不依賴計(jì)算機(jī)硬件,具有很好的可移植性。人們熟悉的C語言、Java語言等都屬于高級語言。下面一段程序是用C語言完成的8+12,我們可以看看使用高級語言C編寫的程序和前面講述的用匯編語言、機(jī)器語言程序之間的差異。#include<stdio.h>main(){inta,b;a=8;b=a+12;printf(“%d”,b);}在C語言編寫的程序中使用了數(shù)學(xué)中的一些表達(dá)方式:a=8;b=a+12。這樣我們更容易理解。程序中的描述也更接近自然語言。高級語言也要通過“翻譯”成機(jī)器語言計(jì)算機(jī)硬件才能運(yùn)行,這個專門的“翻譯”程序我們把它稱為“編譯程序”,這個“翻譯”的過程稱為編譯。(4)從程序員的角度看計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)。

這里的實(shí)際機(jī)器就是“硬件”,上面的各種虛擬機(jī)器就是“軟件”如果把實(shí)際機(jī)器的設(shè)計(jì)再細(xì)分為實(shí)際機(jī)器級和微程序機(jī)器級,計(jì)算機(jī)的層次結(jié)構(gòu)可以看成以下5級組成。從計(jì)算機(jī)層次結(jié)構(gòu)上看,實(shí)際機(jī)器處于計(jì)算機(jī)層次結(jié)構(gòu)的最底層,是計(jì)算機(jī)系統(tǒng)的物理實(shí)體,是計(jì)算機(jī)系統(tǒng)的基礎(chǔ)。在這個5級的層次結(jié)構(gòu)中,上面3級是計(jì)算機(jī)軟件研究的范圍,下面2級是計(jì)算機(jī)硬件研究的范圍?!队?jì)算機(jī)組成原理》課程講授的是下面兩級的計(jì)算機(jī)硬件知識。3.計(jì)算機(jī)系統(tǒng)的基本體系結(jié)構(gòu)美籍匈牙利數(shù)學(xué)家馮·諾依曼在《關(guān)于電子計(jì)算裝置邏輯結(jié)構(gòu)初探》報(bào)告中所闡述的思想可概括為三點(diǎn):(1)采用二進(jìn)制形式表示數(shù)據(jù)和指令計(jì)算機(jī)采用二進(jìn)制。計(jì)算機(jī)指令是人對計(jì)算機(jī)發(fā)出的用來完成一個最基本操作的工作命令,計(jì)算機(jī)硬件唯一認(rèn)識的是由“0”和“1”組成的機(jī)器指令。計(jì)算機(jī)中指令和數(shù)據(jù)在代碼的外形上并無區(qū)別,都是由0和1組成的代碼序列,只是各自約定的含義不同。(2)采用存儲程序的工作方式程序是人們?yōu)榻鉀Q某一實(shí)際問題而寫出的有序的一條條指令的集合。存儲程序方式意味著事先編制程序并將程序(包含指令和數(shù)據(jù))存入主存儲器中,計(jì)算機(jī)在運(yùn)行程序時能自動地、連續(xù)地從存儲器中依次取出指令并執(zhí)行,直到程序結(jié)束。(3)計(jì)算機(jī)硬件由運(yùn)算器、控制器、存儲器、輸入設(shè)備、輸出設(shè)備五大部件組成4.計(jì)算機(jī)的硬件系統(tǒng)計(jì)算機(jī)硬件系統(tǒng)是由運(yùn)算器、控制器、存儲器、輸入設(shè)備、輸出設(shè)備五大部件組成。

現(xiàn)代計(jì)算機(jī)把運(yùn)算器和控制器做在同一個芯片內(nèi),稱為中央處理器(CentralProcessingUnit,縮寫CPU)。計(jì)算機(jī)中的存儲器分為主存儲器和輔助存儲器,計(jì)算機(jī)硬件系統(tǒng)五大組成部件中的存儲器是指主存儲器(MainMemory,簡稱MM)這樣,現(xiàn)代計(jì)算機(jī)把硬件的五大部分歸納為由三大部分組成:CPU,主存儲器(MM),I/O設(shè)備。其中,CPU與主存儲器合起來稱為“主機(jī)”,I/O設(shè)備又稱為外部設(shè)備(外設(shè))。(1)運(yùn)算器運(yùn)算器通常由算術(shù)邏輯部件ALU(ArithmeticLogicUnit,縮寫ALU)和一系列寄存器組成。運(yùn)算器中最重要的部件是算術(shù)邏輯部件,所以我們有時候以ALU指代運(yùn)算器。(2)控制器控制器CU(ControlUnit,縮寫CU)是計(jì)算機(jī)的指揮中心,它使計(jì)算機(jī)各部件自動協(xié)調(diào)地工作。

控制器工作的實(shí)質(zhì)就是解釋程序中的指令,它每次從存儲器讀取一條指令,經(jīng)過分析譯碼,產(chǎn)生一串操作命令,發(fā)向各個部件,控制各部件動作,完成指令功能,使整個機(jī)器連續(xù)地、有條不紊地運(yùn)行。(3)存儲器存儲器(Memory)的主要功能是存放指令和數(shù)據(jù)。指令是計(jì)算機(jī)操作的依據(jù),數(shù)據(jù)是計(jì)算機(jī)操作的對象。不管是指令還是數(shù)據(jù),在存儲器中都是用二進(jìn)制的形式表示,統(tǒng)稱為信息。注意:這里所說的存儲器是指主存儲器MM(MainMemory,縮寫MM)。對照個人計(jì)算機(jī)(PC機(jī))來說,是指個人計(jì)算機(jī)中的主存或者內(nèi)存,而硬盤、光盤、U盤是輔助存儲器或者外存。CPU就是通過存儲器的地址編號(地址)來尋找存放在存儲器里的指令和數(shù)據(jù)。CPU對存儲器的操作分為兩種:讀操作和寫操作?!白x”操作是指CPU完成從存儲器的某個存儲單元中取走數(shù)據(jù)的操作;“寫”操作是指CPU把自己處理完了的數(shù)據(jù)存入存儲器的某個存儲單元中的操作。(4)輸入設(shè)備輸入設(shè)備(InputEquipment)是變換輸入信息形式的部件。它將人們熟悉的信息形式變換成計(jì)算機(jī)能接收并識別的二進(jìn)制信息形式。(5)輸出設(shè)備輸出設(shè)備(OutputEquipment)是變換計(jì)算機(jī)輸出信息形式的部件。輸出設(shè)備的作用是把計(jì)算機(jī)處理完后的一串二進(jìn)制數(shù)據(jù)結(jié)果轉(zhuǎn)換成人們或其它設(shè)備能接收和識別的形式1.2.2計(jì)算機(jī)的工作過程1.計(jì)算機(jī)處理實(shí)際問題的步驟用計(jì)算機(jī)處理實(shí)際問題大致要經(jīng)過以下幾個步驟:(1)首先針對所要解決的問題,經(jīng)過數(shù)學(xué)描述建立起數(shù)學(xué)模型。建立了數(shù)學(xué)模型,研究對象的變化規(guī)律就變成了解一系列方程組的數(shù)學(xué)問題,這便可通過計(jì)算機(jī)來求解。(2)再經(jīng)數(shù)值分析,將數(shù)學(xué)模型轉(zhuǎn)變?yōu)榻频臄?shù)值計(jì)算公式。數(shù)學(xué)模型中的數(shù)學(xué)方程式往往是很復(fù)雜的,所以必須確定對應(yīng)的計(jì)算方法,將它變成適合計(jì)算機(jī)運(yùn)算的加、減、乘、除四則運(yùn)算。(3)按照計(jì)算公式畫出計(jì)算程序的流程圖。根據(jù)流程圖使用某種計(jì)算機(jī)語言編制出計(jì)算程序。(4)然后通過輸入設(shè)備將計(jì)算程序和原始數(shù)據(jù)送入存儲器。2.計(jì)算機(jī)的解題過程我們用一個極簡單的例子按照上面的步驟編寫一段程序,然后用一個計(jì)算機(jī)的模型機(jī)介紹程序在計(jì)算機(jī)中的執(zhí)行過程,從而了解計(jì)算機(jī)的工作過程。例如:我們要求機(jī)器把兩個數(shù)8和12相加。按照前面所說的計(jì)算機(jī)解題步驟,第一步:建立數(shù)學(xué)模型,第二步:確定計(jì)算方法。由于題目十分簡單,這兩步就不需要,我們可以直接進(jìn)入到第三步:使用計(jì)算機(jī)匯編語言編寫源程序如下:MOVAC,#8;數(shù)值8送到寄存器AC中

ADDAC,#12;數(shù)值12和寄存器AC的內(nèi)容相加送到AC中

HLT;暫停。源程序中分號后面是對指令的注釋。我們把上面這段匯編語言源程序?qū)?yīng)的機(jī)器語言指令寫出來如下(左邊是匯編語言指令,右邊是機(jī)器語言指令),其中前面兩條指令對應(yīng)的機(jī)器語言指令是16位二進(jìn)制數(shù),我們把他們分成兩行,每行是一個8位二進(jìn)制數(shù):

MOVAC,#81011000000001000ADDAL,#120000010000001100HLT11110100

計(jì)算機(jī)的機(jī)器語言指令都是由兩個部分組成:操作碼(OpCode)和操作數(shù)(Operand)(或操作數(shù)的地址碼)為了說明第四步計(jì)算機(jī)硬件的工作過程,通過一個簡單和細(xì)化的計(jì)算機(jī)模型機(jī)來具體描述。如圖1.20所示:模型機(jī)的結(jié)構(gòu)圖是由中央處理器(CPU)和主存儲器組成,在圖中以虛線為界限,虛線以上是CPU部分,虛線以下是主存儲器部分,兩者合起來構(gòu)成計(jì)算機(jī)的主機(jī)。(1)模型機(jī)介紹首先介紹模型機(jī)中CPU結(jié)構(gòu),計(jì)算機(jī)中的CPU是由運(yùn)算器和控制器兩部分組成。

①運(yùn)算器

如圖1.20所示,模型機(jī)中CPU的運(yùn)算器部分是由算術(shù)邏輯單元ALU和一些寄存器組成。

寄存器AC(Accumulator,縮寫AC或ACC):連接運(yùn)算器的I1端。寄存器AC由于在計(jì)算機(jī)機(jī)器指令中使用最頻繁,所以它有個專門的名稱:累加器。

寄存器BX:作為通用寄存器,可以通過內(nèi)部總線連接到運(yùn)算器的I2端。

數(shù)據(jù)寄存器MDR(MemoryDataRegister,縮寫MDR):存放從主存儲器讀出的指令或數(shù)據(jù)等。

②控制器

程序計(jì)數(shù)器PC(ProgramCounter,縮寫PC)當(dāng)前要執(zhí)行的指令的地址由程序計(jì)數(shù)器PC提供,它在執(zhí)行完一條指令后會自動加1指向下一條指令的地址。指令寄存器IR(InstructionRegister,縮寫IR):從主存儲器中取出的指令,由主存數(shù)據(jù)寄存器MDR通過內(nèi)部總線送至指令寄存器IR,控制單元CU(ControlUnit,縮寫CU):把指令寄存器IR中的指令通過控制電路(CU)譯碼分析,發(fā)出執(zhí)行一條指令所需要的各種控制信息。

主存地址寄存器MAR(MemoryAddressRegister,縮寫MAR):由它把要尋找的存儲單元的地址通過地址總線,送至主存儲器。

(2)機(jī)器語言目標(biāo)程序執(zhí)行過程為了簡化問題,我們認(rèn)為要執(zhí)行的程序指令以及數(shù)據(jù),已經(jīng)通過輸入設(shè)備存入主存儲器內(nèi)。假定每個主存儲器地址對應(yīng)的存儲單元中只能存放8位二進(jìn)制數(shù),所以前面程序中的三條機(jī)器語言指令需要5個存儲單元,每個單元有一個編號(采用二進(jìn)制數(shù)),我們稱為存儲器地址(Address)。如表1.2所示。表1.2機(jī)器語言指令在存儲器中的存放

計(jì)算機(jī)的具體工作過程:第一步:CPU從主存儲器中取第一條指令到CPU中,這個過程稱為“取指”,第二步:CPU取到指令后根據(jù)指令的操作碼部分執(zhí)行這條指令的相應(yīng)功能,這個過程稱為“執(zhí)行”。在執(zhí)行完第一條指令后接下來又去取第二條指令,再執(zhí)行第二條指令……,周而復(fù)始直到程序結(jié)束。地址存儲器中存放的機(jī)器語言指令注釋0000000010110000MOVAC,#n0000000100001000n=80000001000000100ADDAC,#n0000001100001100n=120000010011110100HLT(1)在啟動程序運(yùn)行時,首先給PC賦以第一條指令的地址:00000000,然后就進(jìn)入第一條指令的取指階段。取指過程如圖1.21。對照圖1.21

具體說明如下:① PC的內(nèi)容(00000000)送至地址寄存器MAR。② 當(dāng)PC的內(nèi)容可靠地送入地址寄存器MAR后,PC的內(nèi)容加1變?yōu)?0000001。③ 地址寄存器MAR把地址編號00000000通過地址總線(AB)送至主存儲器。經(jīng)地址譯碼器譯碼,選中00000000號(圖中十進(jìn)制0號)單元。④ CPU通過控制總線(CB)發(fā)出讀命令。⑤ 所選中的00000000號(十進(jìn)制0號)單元的內(nèi)容10110000讀至數(shù)據(jù)總線上。⑥ 讀出的數(shù)據(jù)經(jīng)過數(shù)據(jù)總線(DB)送至數(shù)據(jù)寄存器MDR。⑦ 因?yàn)槭侨≈鸽A段,取出的是指令,故數(shù)據(jù)寄存器MDR把它送至指令寄存器IR,然后經(jīng)過控制器CU譯碼后發(fā)出執(zhí)行這條指令的各種控制命令。(2)此后就轉(zhuǎn)入了執(zhí)行第一條指令的階段。第一條指令的功能是把指令第二個字節(jié)中的操作數(shù)取出來,然后送入累加器AC中。執(zhí)行指令的過程如圖1.22所示。對照圖1.22取操作數(shù)并執(zhí)行第一條指令的過程如下:① 把PC的內(nèi)容00000001送至地址寄存器MAR。② 待PC的內(nèi)容可靠地送至地址寄存器MAR后,PC自動加l,變?yōu)?0000010。③ 地址寄存器MAR把地址編號00000001通過地址總線(AB)送至主存儲器。經(jīng)地址譯碼器譯碼,選中00000001號(圖中十進(jìn)制1號)單元。④ CPU通過控制總線(CB)發(fā)出讀命令。⑤ 所選中的00000001號(十進(jìn)制1號)單元的內(nèi)容:00001000(十進(jìn)制數(shù)8)讀至數(shù)據(jù)總線上。⑥ 讀出的數(shù)據(jù)經(jīng)過數(shù)據(jù)總線(DB)送至數(shù)據(jù)寄存器MDR。因?yàn)橐阎x出的是操作數(shù),且指令要求把它送累加器AC,故由MDR通過內(nèi)部數(shù)據(jù)總線送至累加器AC中。

至此,第一條指令執(zhí)行完畢進(jìn)入第二條指令的取指階段。(3)取第二條指令的具體過程如圖1.23所示:對照圖1.23取第二條指令的過程如下:① PC的內(nèi)容(00000010)送至地址寄存器MAR。② 當(dāng)PC的內(nèi)容可靠地送入地址寄存器MAR后,PC的內(nèi)容加1變?yōu)?0000011。③ 地址寄存器MAR把地址編號00000010通過地址總線(AB)送至主存儲器。經(jīng)地址譯碼器譯碼,選中00000010號(圖中十進(jìn)制2號)單元。④ CPU通過控制總線(CB)發(fā)出讀命令。⑤ 所選中的00000010號(十進(jìn)制2號)單元的內(nèi)容00000100讀至數(shù)據(jù)總線上。⑥ 讀出的數(shù)據(jù)經(jīng)過數(shù)據(jù)總線(DB)送至數(shù)據(jù)寄存器MDR。因?yàn)槭侨≈鸽A段,取出的是指令,故數(shù)據(jù)寄存器MDR把它送至指令寄存器IR,然后經(jīng)過控制器CU譯碼后發(fā)出執(zhí)行這條指令的各種控制命令。

取指令完成后,接著執(zhí)行第二條指令。

(4)參考圖1.24,取操作數(shù)并執(zhí)行第二條指令的具體過程為:① 把PC的內(nèi)容00000011送至地址寄存器MAR。② 待PC的內(nèi)容可靠地送至地址寄存器MAR后,PC自動加l,變?yōu)?0000100。③ 地址寄存器MAR把地址編號00000011通過地址總線(AB)送至主存儲器。經(jīng)地址譯碼器譯碼,選中00000011號(圖中十進(jìn)制3號)單元。④ CPU通過控制總線(CB)發(fā)出讀命令。⑤ 所選中的00000011號(十進(jìn)制3號)單元的內(nèi)容:00001100(十進(jìn)制數(shù)12)讀至數(shù)據(jù)總線(DB)上。⑥ 讀出的數(shù)據(jù)經(jīng)過數(shù)據(jù)總線(DB)送至數(shù)據(jù)寄存器

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論