計算機組織與系統(tǒng)結(jié)構(gòu)PPT課件_第1頁
計算機組織與系統(tǒng)結(jié)構(gòu)PPT課件_第2頁
計算機組織與系統(tǒng)結(jié)構(gòu)PPT課件_第3頁
計算機組織與系統(tǒng)結(jié)構(gòu)PPT課件_第4頁
計算機組織與系統(tǒng)結(jié)構(gòu)PPT課件_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2022-7-61第1頁/共63頁2022-7-622.1 計算機指令系統(tǒng)與匯編語言2.1.1 計算機指令與匯編語言 計算機能直接識別和運行的軟件程序通常由該計算機的指令代計算機能直接識別和運行的軟件程序通常由該計算機的指令代碼組成。計算機的指令,就是要計算機執(zhí)行某種操作的命令。碼組成。計算機的指令,就是要計算機執(zhí)行某種操作的命令。 計算機的程序,就是人們把需要用計算機解決的問題變換成計計算機的程序,就是人們把需要用計算機解決的問題變換成計算機能夠識別的一串指令或語句。一般來說,可以選擇三種同層次算機能夠識別的一串指令或語句。一般來說,可以選擇三種同層次的計算機語言來編寫程序,即機器語言、匯編

2、語言和高級語言。的計算機語言來編寫程序,即機器語言、匯編語言和高級語言。 機器語言是一種用二進制符號表示指令和數(shù)據(jù),能被機器直接機器語言是一種用二進制符號表示指令和數(shù)據(jù),能被機器直接識別的計算機語言。在計算機出現(xiàn)的早期,人們都是使用機器語言識別的計算機語言。在計算機出現(xiàn)的早期,人們都是使用機器語言編寫程序的。它的缺點是不直觀、不易理解和記憶,因此編寫、閱編寫程序的。它的缺點是不直觀、不易理解和記憶,因此編寫、閱讀和修改機器語言程序比較繁瑣。但機器語言程序是計算機惟一能讀和修改機器語言程序比較繁瑣。但機器語言程序是計算機惟一能夠直接理解和執(zhí)行的程序,具有執(zhí)行速度快、占用內(nèi)存少等特點。夠直接理解和

3、執(zhí)行的程序,具有執(zhí)行速度快、占用內(nèi)存少等特點。1. 1. 機器語言(機器語言(Machine LanguageMachine Language)第2頁/共63頁2022-7-63匯編語言是一種采用助記符表示的程序設(shè)計語言,即用助記符來表匯編語言是一種采用助記符表示的程序設(shè)計語言,即用助記符來表示指令的操作碼和操作數(shù),用標號或符號代表地址、常量或變量。示指令的操作碼和操作數(shù),用標號或符號代表地址、常量或變量。助記符一般都是用英文字母的縮寫,以方便人們書寫、閱讀和檢查。助記符一般都是用英文字母的縮寫,以方便人們書寫、閱讀和檢查。實際上,用匯編語言編寫的匯編語言源程序就是機器語言程序的符實際上,用匯

4、編語言編寫的匯編語言源程序就是機器語言程序的符號表示,匯編語言源程序與其經(jīng)過匯編所產(chǎn)生的目標程序(即機器號表示,匯編語言源程序與其經(jīng)過匯編所產(chǎn)生的目標程序(即機器語言程序)之間有明顯的一一對應(yīng)關(guān)系,所以也稱匯編語言為符號語言程序)之間有明顯的一一對應(yīng)關(guān)系,所以也稱匯編語言為符號語言。語言。 用匯編語言編寫的源程序需要翻譯成目標程序才能被機器執(zhí)行,用匯編語言編寫的源程序需要翻譯成目標程序才能被機器執(zhí)行,這個翻譯過程稱為匯編,完成匯編任務(wù)的程序稱為匯編程序。這個翻譯過程稱為匯編,完成匯編任務(wù)的程序稱為匯編程序。 不同的機器有不同的指令,每一種微處理器都有自己的匯編語不同的機器有不同的指令,每一種微

5、處理器都有自己的匯編語言。所以用匯編語言編寫的程序不能在其他類型的機器上運行。言。所以用匯編語言編寫的程序不能在其他類型的機器上運行。2.2. 匯編語言(匯編語言(Assembly LanguageAssembly Language)第3頁/共63頁2022-7-64 如果說機器語言是面向機器的,那么高級語言(如如果說機器語言是面向機器的,那么高級語言(如BASIC、FORTRAN等)則是面向過程的語言。利用這些語言編程,程序員等)則是面向過程的語言。利用這些語言編程,程序員可以完全不考慮機器的結(jié)構(gòu)特點,不必了解和熟悉機器的指令系統(tǒng),可以完全不考慮機器的結(jié)構(gòu)特點,不必了解和熟悉機器的指令系統(tǒng),

6、僅使用一些接近人們書寫習(xí)慣的英語和數(shù)學(xué)表達式形式的語句去編僅使用一些接近人們書寫習(xí)慣的英語和數(shù)學(xué)表達式形式的語句去編制程序。這樣編寫的程序與問題本身的數(shù)學(xué)模型之間有著良好的對制程序。這樣編寫的程序與問題本身的數(shù)學(xué)模型之間有著良好的對應(yīng)關(guān)系,可在各種機器上執(zhí)行(不同機器之間僅做少量的修改)。應(yīng)關(guān)系,可在各種機器上執(zhí)行(不同機器之間僅做少量的修改)。但是,這種用高級語言編寫的源程序并不能在機器的直接執(zhí)行,需但是,這種用高級語言編寫的源程序并不能在機器的直接執(zhí)行,需要被翻譯成對應(yīng)的目標程序,機器才能運行。把具有這種翻譯作用要被翻譯成對應(yīng)的目標程序,機器才能運行。把具有這種翻譯作用的程序稱為解釋程序或

7、匯編程序。的程序稱為解釋程序或匯編程序。3.3. 高級語言(高級語言(High LanguageHigh Language)第4頁/共63頁2022-7-652.1.2 指令系統(tǒng)初步一臺計算機中所有機器指令的集合,稱為這臺計算機的指令系一臺計算機中所有機器指令的集合,稱為這臺計算機的指令系統(tǒng)。指令系統(tǒng)是表征一臺計算機性能的重要因素,它的格式與功能統(tǒng)。指令系統(tǒng)是表征一臺計算機性能的重要因素,它的格式與功能不僅直接影響到機器的硬件結(jié)構(gòu),而且也直接影響到系統(tǒng)軟件,影不僅直接影響到機器的硬件結(jié)構(gòu),而且也直接影響到系統(tǒng)軟件,影響到機器的適用范圍。響到機器的適用范圍。在在20 20 世紀世紀50 50 年

8、代和年代和6060年代早期,由于計算機采用電子管或晶年代早期,由于計算機采用電子管或晶體管,不但體積龐大,而且價格昂貴,因此大多數(shù)計算的硬件結(jié)構(gòu)體管,不但體積龐大,而且價格昂貴,因此大多數(shù)計算的硬件結(jié)構(gòu)比較簡單。所支持的指令系統(tǒng)一般只有定點加減、邏輯運算、數(shù)據(jù)比較簡單。所支持的指令系統(tǒng)一般只有定點加減、邏輯運算、數(shù)據(jù)傳送和轉(zhuǎn)移等十幾至幾十條指令,并且尋址方式簡單。傳送和轉(zhuǎn)移等十幾至幾十條指令,并且尋址方式簡單。60 60 年代中年代中期以后,隨著集成電路的出現(xiàn),計算機的價格不斷下降,硬件功能期以后,隨著集成電路的出現(xiàn),計算機的價格不斷下降,硬件功能不斷增強,指令系統(tǒng)也越來越豐富。除了具有以上最

9、基本的指令外,不斷增強,指令系統(tǒng)也越來越豐富。除了具有以上最基本的指令外,還增加了乘除法運算指令、浮點運算指令、十進制運算指令以及字還增加了乘除法運算指令、浮點運算指令、十進制運算指令以及字符串處理指令等,指令數(shù)目多達一、二百條,尋址方式也趨于多樣符串處理指令等,指令數(shù)目多達一、二百條,尋址方式也趨于多樣化。化。 第5頁/共63頁2022-7-66隨著集成電路的發(fā)展和計算機應(yīng)用領(lǐng)域的不斷擴大,計算的軟隨著集成電路的發(fā)展和計算機應(yīng)用領(lǐng)域的不斷擴大,計算的軟件價格不斷提高。為了繼承已有的軟件,減少軟件的開發(fā)費用,人件價格不斷提高。為了繼承已有的軟件,減少軟件的開發(fā)費用,人們迫切希望各種機器上的軟件

10、能夠兼容,以便在舊機器上編制的各們迫切希望各種機器上的軟件能夠兼容,以便在舊機器上編制的各種軟件能在新的、性能更好的機器上運行,因此種軟件能在新的、性能更好的機器上運行,因此60年代后期出現(xiàn)了年代后期出現(xiàn)了系列(系列(series)計算機)計算機.。所謂系列計算機,是指基本指令相同、基。所謂系列計算機,是指基本指令相同、基本體系結(jié)構(gòu)相同的一系列計算機。本體系結(jié)構(gòu)相同的一系列計算機。 計算機發(fā)展至今,其硬件結(jié)構(gòu)隨著超大規(guī)模集成電路(計算機發(fā)展至今,其硬件結(jié)構(gòu)隨著超大規(guī)模集成電路(VLSI)技術(shù)的飛速發(fā)展而越來越復(fù)雜化,所支持的指令系統(tǒng)也趨于多用途、技術(shù)的飛速發(fā)展而越來越復(fù)雜化,所支持的指令系統(tǒng)也

11、趨于多用途、強功能化。大多數(shù)計算機的指令系統(tǒng)多達幾百條指令。我們稱這些強功能化。大多數(shù)計算機的指令系統(tǒng)多達幾百條指令。我們稱這些計算機為復(fù)雜指令系統(tǒng)計算機,簡稱計算機為復(fù)雜指令系統(tǒng)計算機,簡稱CISC。然而,指令系統(tǒng)的過。然而,指令系統(tǒng)的過分復(fù)雜也會帶來一些不利因素,如設(shè)計周期長,正確性難以保證且分復(fù)雜也會帶來一些不利因素,如設(shè)計周期長,正確性難以保證且不易維護等,為此人們提出了便于不易維護等,為此人們提出了便于VLSI技術(shù)實現(xiàn)的精簡指令系統(tǒng)技術(shù)實現(xiàn)的精簡指令系統(tǒng)計算機,簡稱計算機,簡稱RISC。第6頁/共63頁2022-7-67一個完美的指令系統(tǒng)應(yīng)滿足以下要求:一個完美的指令系統(tǒng)應(yīng)滿足以下要

12、求:1 指令系統(tǒng)的完備性,常用指令齊全,編程方便。指令系統(tǒng)的完備性,常用指令齊全,編程方便。完備性使之用匯編語言編寫各種程序時,指令系統(tǒng)直接提供的指令足夠使完備性使之用匯編語言編寫各種程序時,指令系統(tǒng)直接提供的指令足夠使用,而不必用軟件來實現(xiàn)。完備性要求指令系統(tǒng)豐富、功能齊全、使用方便用,而不必用軟件來實現(xiàn)。完備性要求指令系統(tǒng)豐富、功能齊全、使用方便 。2 指令系統(tǒng)的有效性,程序占用內(nèi)存空間少,運行速度快。指令系統(tǒng)的有效性,程序占用內(nèi)存空間少,運行速度快。有效性是指利用該指令系統(tǒng)所編寫的程序能夠高效率地運行。高效率主要有效性是指利用該指令系統(tǒng)所編寫的程序能夠高效率地運行。高效率主要表現(xiàn)在程序占

13、用內(nèi)存空間少、執(zhí)行速度快。表現(xiàn)在程序占用內(nèi)存空間少、執(zhí)行速度快。 3指令系統(tǒng)的規(guī)整性,指令和數(shù)據(jù)使用規(guī)則統(tǒng)一,易學(xué)易記指令系統(tǒng)的規(guī)整性,指令和數(shù)據(jù)使用規(guī)則統(tǒng)一,易學(xué)易記規(guī)整性包括指令系統(tǒng)的對稱性、均勻性、指令格式和數(shù)據(jù)格式的一致性。規(guī)整性包括指令系統(tǒng)的對稱性、均勻性、指令格式和數(shù)據(jù)格式的一致性。對稱性是指在指令系統(tǒng)中所有的寄存器和存儲器單元都可以同等對待,所有的對稱性是指在指令系統(tǒng)中所有的寄存器和存儲器單元都可以同等對待,所有的指令都可以使用各種尋址方式;均勻性是指一種操作性質(zhì)的指令可以支持各種指令都可以使用各種尋址方式;均勻性是指一種操作性質(zhì)的指令可以支持各種數(shù)據(jù)類型;指令格式和數(shù)據(jù)格式的一

14、致性是指指令長度和數(shù)據(jù)長度有一定的關(guān)數(shù)據(jù)類型;指令格式和數(shù)據(jù)格式的一致性是指指令長度和數(shù)據(jù)長度有一定的關(guān)系,以方便處理和存取。系,以方便處理和存取。 4指令系統(tǒng)的兼容性,同一系列的低檔計算機的程序能在新的高檔機上指令系統(tǒng)的兼容性,同一系列的低檔計算機的程序能在新的高檔機上直接運行。直接運行。系列機之間具有相同的基本結(jié)構(gòu)和共同的基本指令集,因而指令系統(tǒng)是兼系列機之間具有相同的基本結(jié)構(gòu)和共同的基本指令集,因而指令系統(tǒng)是兼容的,即各機種上基本軟件可以通用。容的,即各機種上基本軟件可以通用。 第7頁/共63頁2022-7-68 下面以下面以8088指令系統(tǒng)為例,簡要介紹它的指令格式、指令種類指令系統(tǒng)為

15、例,簡要介紹它的指令格式、指令種類及指令功能。及指令功能。1. 指令格式指令格式 8088指令系統(tǒng)的指令類型較多,功能很強。各種指令由于功指令系統(tǒng)的指令類型較多,功能很強。各種指令由于功能不同,需要指令碼提供的信息也不同。為了滿足不同功能的要求能不同,需要指令碼提供的信息也不同。為了滿足不同功能的要求又要盡量減少指令所占的空間,又要盡量減少指令所占的空間,8088指令系統(tǒng)采用了一種靈活的、指令系統(tǒng)采用了一種靈活的、由由16個字節(jié)組成的變字長的指令格式,包括操作碼、尋址方式以個字節(jié)組成的變字長的指令格式,包括操作碼、尋址方式以及操作數(shù)三個部分。通常指令的第一字節(jié)為操作碼(及操作數(shù)三個部分。通常指

16、令的第一字節(jié)為操作碼(OPCODE),),用以規(guī)定操作的類型;第二個字節(jié)規(guī)定操作數(shù)的尋址方式用以規(guī)定操作的類型;第二個字節(jié)規(guī)定操作數(shù)的尋址方式(MOD)。接著以后的接著以后的36字節(jié)可以是:字節(jié)可以是: 無其他字節(jié);無其他字節(jié); 一個兩字節(jié)的有效地址一個兩字節(jié)的有效地址EA(使用于直接尋址方式);(使用于直接尋址方式); 一個一個8/16位的位移量;位的位移量; 一個一個8/16位的立即數(shù);位的立即數(shù);第8頁/共63頁2022-7-69 一個一個8/16位的位移量,其后再跟位的位移量,其后再跟8/16為立即數(shù);為立即數(shù); 一個兩字節(jié)的偏移地址,再跟一個兩字節(jié)的段地址(用于段間程序一個兩字節(jié)的偏

17、移地址,再跟一個兩字節(jié)的段地址(用于段間程序 直接轉(zhuǎn)移)。直接轉(zhuǎn)移)。2.2. 指令種類及指令功能指令種類及指令功能 80888088的指令系統(tǒng)大致可分為以下六種類型:的指令系統(tǒng)大致可分為以下六種類型: 1)1) 數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令 2) 算術(shù)運算指令算術(shù)運算指令 3)3) 位操作指令位操作指令 4) 4) 串操作指令串操作指令 5 5)程序控制指令)程序控制指令 6)6) 處理器控制指令處理器控制指令 第9頁/共63頁2022-7-610第10頁/共63頁2022-7-6112.2 2.2 基本的計算機組成 多數(shù)計算機系統(tǒng),都有相同的基本結(jié)構(gòu)?;窘M成包括三個主多數(shù)計算機系統(tǒng),都有相同

18、的基本結(jié)構(gòu)。基本組成包括三個主要部件:要部件:CPU、存儲器子系統(tǒng)和、存儲器子系統(tǒng)和I/O子系統(tǒng)。這些部件的一般組成子系統(tǒng)。這些部件的一般組成如圖如圖2-1所示。所示。 I/O子系統(tǒng)CPU存儲器子系統(tǒng)I/O設(shè)備I/O設(shè)備數(shù)據(jù)總線地址總線控制總線圖2-1 一般計算機的組成 第11頁/共63頁2022-7-6122.2.1 總線結(jié)構(gòu)總線(總線(Bus)是連接兩個或多個設(shè)備的公共通信通路??偩€的)是連接兩個或多個設(shè)備的公共通信通路??偩€的關(guān)鍵特征是共享傳輸介質(zhì)。多種設(shè)備連接到總線上,一個設(shè)備發(fā)出關(guān)鍵特征是共享傳輸介質(zhì)。多種設(shè)備連接到總線上,一個設(shè)備發(fā)出的信號可以被其他所有連接到總線上的設(shè)備所接收。計

19、算機的部件的信號可以被其他所有連接到總線上的設(shè)備所接收。計算機的部件都是連接在總線上的。為了將信息從一個部件傳到另一個部件,源都是連接在總線上的。為了將信息從一個部件傳到另一個部件,源部件先將數(shù)據(jù)輸出到總線上,然后目的部件再從總線上接收這些數(shù)部件先將數(shù)據(jù)輸出到總線上,然后目的部件再從總線上接收這些數(shù)據(jù)。計算機各部件之間的通信當(dāng)然可以采用專用傳輸線路直接兩兩據(jù)。計算機各部件之間的通信當(dāng)然可以采用專用傳輸線路直接兩兩相連,但隨著計算機系統(tǒng)復(fù)雜性的不斷增長,使用總線可以提高效相連,但隨著計算機系統(tǒng)復(fù)雜性的不斷增長,使用總線可以提高效率。同時與大量的直接連接相比,總線使用較少的電路板空間,耗率。同時與

20、大量的直接連接相比,總線使用較少的電路板空間,耗能更少,并且在芯片或組成能更少,并且在芯片或組成CPU的芯片組上需要較少的引腳。的芯片組上需要較少的引腳。 第12頁/共63頁2022-7-613 計算機系統(tǒng)含有多種總線,它們在計算機系統(tǒng)的各個層次提供部計算機系統(tǒng)含有多種總線,它們在計算機系統(tǒng)的各個層次提供部件之間的通路,大致可分為三類:件之間的通路,大致可分為三類:1 內(nèi)部總線:指內(nèi)部總線:指CPU內(nèi)部連接各寄存器及運算部件之間的總線。內(nèi)部連接各寄存器及運算部件之間的總線。2 系統(tǒng)總線:指系統(tǒng)總線:指CPU同計算機系統(tǒng)的其他具有高速傳輸功能的部同計算機系統(tǒng)的其他具有高速傳輸功能的部件,如存儲器

21、、通道等互相連接的總線。件,如存儲器、通道等互相連接的總線。 I/O總線:指中、低速總線:指中、低速I/O設(shè)備之間互相連接的總線。設(shè)備之間互相連接的總線。 最常見的計算機互連結(jié)構(gòu)使用一個或多個系統(tǒng)總線。系統(tǒng)總線最常見的計算機互連結(jié)構(gòu)使用一個或多個系統(tǒng)總線。系統(tǒng)總線通常包含通常包含50100條分立的導(dǎo)線,每條總線被賦予一個特定的含義或條分立的導(dǎo)線,每條總線被賦予一個特定的含義或功能。按其傳送的信號可分為地址總線、數(shù)據(jù)總線和控制總線功能。按其傳送的信號可分為地址總線、數(shù)據(jù)總線和控制總線3類。類。 第13頁/共63頁2022-7-614 地址總線(地址總線(address bus)是計算機傳送地址信

22、息的信號線,)是計算機傳送地址信息的信號線,與其他總線不同,地址總線地單向的,即地址總線總是從與其他總線不同,地址總線地單向的,即地址總線總是從CPU上接上接收信息,而收信息,而CPU從不讀取地址總線,地址總線的位數(shù)決定存儲空間從不讀取地址總線,地址總線的位數(shù)決定存儲空間的大小。當(dāng)?shù)拇笮?。?dāng)CPU從存儲器讀取數(shù)據(jù)或指令,或?qū)憯?shù)據(jù)到存儲器時,從存儲器讀取數(shù)據(jù)或指令,或?qū)憯?shù)據(jù)到存儲器時,它必須指明將要訪問的存儲器單元地址。它必須指明將要訪問的存儲器單元地址。CPU輸出地址到地址總線輸出地址到地址總線上,而存儲器從地址總線上讀取地址,并且用它來訪問正確的存儲上,而存儲器從地址總線上讀取地址,并且用它

23、來訪問正確的存儲單元。每個單元。每個I/O設(shè)備,如鍵盤、顯示器或磁盤,同樣都有一個唯一設(shè)備,如鍵盤、顯示器或磁盤,同樣都有一個唯一的地址。當(dāng)訪問某個的地址。當(dāng)訪問某個I/O設(shè)備時,設(shè)備時,CPU將此設(shè)備的地址放到地址總將此設(shè)備的地址放到地址總線上。每一設(shè)備均從總線上讀取地址并且判斷自己是不是要訪問的線上。每一設(shè)備均從總線上讀取地址并且判斷自己是不是要訪問的設(shè)備。設(shè)備。 數(shù)據(jù)總線(數(shù)據(jù)總線(data bus)是用來傳輸數(shù)據(jù)和代碼信息的信號線。)是用來傳輸數(shù)據(jù)和代碼信息的信號線。數(shù)據(jù)線的寬度與計算機的字長及內(nèi)存單元的位寬是一致的,它是雙數(shù)據(jù)線的寬度與計算機的字長及內(nèi)存單元的位寬是一致的,它是雙向的

24、,以便在向的,以便在CPU與存儲器、與存儲器、I/O設(shè)備之間進行數(shù)據(jù)的往返傳輸。設(shè)備之間進行數(shù)據(jù)的往返傳輸。當(dāng)當(dāng)CPU從存儲器中讀取信息時,它首先把存儲器地址輸出到地址總從存儲器中讀取信息時,它首先把存儲器地址輸出到地址總線上,然后存儲器輸出數(shù)據(jù)到數(shù)據(jù)總線上,這樣線上,然后存儲器輸出數(shù)據(jù)到數(shù)據(jù)總線上,這樣CPU就可以從數(shù)據(jù)就可以從數(shù)據(jù)總線上讀取數(shù)據(jù)了。當(dāng)總線上讀取數(shù)據(jù)了。當(dāng)?shù)?4頁/共63頁2022-7-615CPU向存儲器中寫數(shù)據(jù)時,它首先輸出地址到地址總線上,然后輸向存儲器中寫數(shù)據(jù)時,它首先輸出地址到地址總線上,然后輸出數(shù)據(jù)到數(shù)據(jù)總線上,這樣存儲器就可以從數(shù)據(jù)總線上讀取數(shù)據(jù)并出數(shù)據(jù)到數(shù)據(jù)總

25、線上,這樣存儲器就可以從數(shù)據(jù)總線上讀取數(shù)據(jù)并將它存儲到正確的單元中。對將它存儲到正確的單元中。對I/O設(shè)備讀寫數(shù)據(jù)的過程也是如此。設(shè)備讀寫數(shù)據(jù)的過程也是如此。 控制總線(控制總線(control buscontrol bus)是用來傳送狀態(tài)和控制信號的信號)是用來傳送狀態(tài)和控制信號的信號線,用來實現(xiàn)命令、狀態(tài)的傳送,中斷、直接存儲器存取的控制,線,用來實現(xiàn)命令、狀態(tài)的傳送,中斷、直接存儲器存取的控制,以及提供系統(tǒng)使用的時鐘和復(fù)位信號等,控制和狀態(tài)的傳送是相互以及提供系統(tǒng)使用的時鐘和復(fù)位信號等,控制和狀態(tài)的傳送是相互的,但就每一根控制線而言則是單向的。地址總線由的,但就每一根控制線而言則是單向的

26、。地址總線由n n根線構(gòu)成,根線構(gòu)成,n n根線聯(lián)合傳送一個根線聯(lián)合傳送一個n n位的地址值??刂瓶偩€是單根控制信號的集合。位的地址值??刂瓶偩€是單根控制信號的集合。這些信號用來指示數(shù)據(jù)是要讀入這些信號用來指示數(shù)據(jù)是要讀入CPUCPU還是要從還是要從CPUCPU寫出,寫出,CPUCPU是要訪是要訪問存儲器還是問存儲器還是I/OI/O設(shè)備,設(shè)備,I/OI/O設(shè)備還是存儲器已就緒要傳送數(shù)據(jù)等等。設(shè)備還是存儲器已就緒要傳送數(shù)據(jù)等等。雖然圖雖然圖2-12-1中的控制總線看起來是雙向的,但實際上主要是單向信中的控制總線看起來是雙向的,但實際上主要是單向信號的集合。號的集合。 大多數(shù)信號是從大多數(shù)信號是從

27、CPUCPU輸出到存儲器及輸出到存儲器及I/OI/O子系統(tǒng)的,只子系統(tǒng)的,只有少數(shù)是從這些子系統(tǒng)輸出到有少數(shù)是從這些子系統(tǒng)輸出到CPUCPU的。的。 第15頁/共63頁2022-7-6162.2.2 計算機的時鐘與指令周期 CPU執(zhí)行指令的過程可簡單概括如下:首先取指令,執(zhí)行指令的過程可簡單概括如下:首先取指令,CPU從從寄存器讀取指令,然后將指令譯碼,辨識該指令要執(zhí)行什么操作,寄存器讀取指令,然后將指令譯碼,辨識該指令要執(zhí)行什么操作,最后,是控制電路發(fā)出若干控制信號,控制有關(guān)部件執(zhí)行這條指令最后,是控制電路發(fā)出若干控制信號,控制有關(guān)部件執(zhí)行這條指令所表示的操作。流程圖如圖所表示的操作。流程圖

28、如圖2-2所示。所示。 首先,首先,CPUCPU把指令的地址放到地址總線上,然后,存儲器子系把指令的地址放到地址總線上,然后,存儲器子系統(tǒng)從總線上輸入該地址并予以譯碼,并訪問指定的存儲單元。統(tǒng)從總線上輸入該地址并予以譯碼,并訪問指定的存儲單元。 CPUCPU為存儲器留出充足的時間來對地址譯碼和訪問所需的存儲為存儲器留出充足的時間來對地址譯碼和訪問所需的存儲單元,當(dāng)單元,當(dāng)CPUCPU準備好可以從存儲器或準備好可以從存儲器或I/OI/O設(shè)備讀取數(shù)據(jù)時,它就在控設(shè)備讀取數(shù)據(jù)時,它就在控制總線上發(fā)出一個讀(制總線上發(fā)出一個讀(READREAD)。根據(jù))。根據(jù)CPUCPU的不同,讀信號可能是高的不同,

29、讀信號可能是高電平有效(信號電平有效(信號=1=1)也可能是低電平有效(信號)也可能是低電平有效(信號=0=0)。)。 讀信號發(fā)出后,存儲器子系統(tǒng)就把要讀取的指令碼放到計算機讀信號發(fā)出后,存儲器子系統(tǒng)就把要讀取的指令碼放到計算機的數(shù)據(jù)總線上,的數(shù)據(jù)總線上,CPU就從數(shù)據(jù)總線上輸入該數(shù)據(jù)并且將它存儲在其就從數(shù)據(jù)總線上輸入該數(shù)據(jù)并且將它存儲在其內(nèi)部的某個寄存器中,至此,內(nèi)部的某個寄存器中,至此,CPU已經(jīng)取得了指令。已經(jīng)取得了指令。 第16頁/共63頁2022-7-617CPU把指令的地址放到地址總線上存儲器子系統(tǒng)從地址總線上讀取該地址并譯碼存儲器子系統(tǒng)訪問指定的存儲單元CPU發(fā)出讀信號CPU從數(shù)

30、據(jù)總線上讀取數(shù)據(jù)并譯碼存儲器子系統(tǒng)把讀取的指令放到數(shù)據(jù)總線上CPU選擇相應(yīng)的操作序列并執(zhí)行操作圖2-2 CPU執(zhí)行指令的流程圖 然后,CPU對這條指令進行譯碼。每一條指令可能要有不同的操作序列來執(zhí)行,當(dāng)CPU對該指令譯碼時,它確定所處理的是哪一條指令,以便選擇正確的操作序列去執(zhí)行。這一步完全是在CPU內(nèi)完成的,不需要使用系統(tǒng)總線。 最后,CPU執(zhí)行該指令。指令不同,指令的操作序列也不同。執(zhí)行過程可以是從存儲器讀取數(shù)據(jù),寫數(shù)據(jù)到存儲器,讀或?qū)憯?shù)據(jù)到I/O設(shè)備,執(zhí)行CPU內(nèi)部的操作或執(zhí)行多個上述操作的組合。第17頁/共63頁2022-7-618 CPU是如何自動地、一步一步地、有條不紊地實現(xiàn)這些功

31、能的是如何自動地、一步一步地、有條不紊地實現(xiàn)這些功能的呢?這就是時序問題。所謂時序問題就是指呢?這就是時序問題。所謂時序問題就是指CPU執(zhí)行各種指令的詳執(zhí)行各種指令的詳細工作過程以及這些動作過程與時間順序的對應(yīng)關(guān)系。細工作過程以及這些動作過程與時間順序的對應(yīng)關(guān)系。 計算機在時鐘脈沖的作用下,一個節(jié)拍一個節(jié)拍地工作,因此計算機在時鐘脈沖的作用下,一個節(jié)拍一個節(jié)拍地工作,因此每個時鐘周期是每個時鐘周期是CPU處理動作的最小時間單位,稱為處理動作的最小時間單位,稱為T周期或周期或T狀態(tài)。狀態(tài)。完成一個基本操作所需的時間稱為機器周期。一般一個機器周期包完成一個基本操作所需的時間稱為機器周期。一般一個機

32、器周期包括數(shù)個括數(shù)個T周期。指令周期(周期。指令周期(instruction cycle)是)是CPU完成一條指令完成一條指令操作所用的時間。顯然,操作功能的不同,指令字節(jié)數(shù)不同,執(zhí)行操作所用的時間。顯然,操作功能的不同,指令字節(jié)數(shù)不同,執(zhí)行一條指令的機器周期或一條指令的機器周期或T狀態(tài)是有很大差別的。任何一條指令的第一狀態(tài)是有很大差別的。任何一條指令的第一個機器周期內(nèi)必然是取指令的過程。個機器周期內(nèi)必然是取指令的過程。 圖圖2-32-3(a a)顯示了從存儲器中讀取數(shù)據(jù)的操作。)顯示了從存儲器中讀取數(shù)據(jù)的操作。CPUCPU從存儲器從存儲器中取一條指令的操作序列也是如此。中取一條指令的操作序列

33、也是如此。 存儲器寫操作的時序圖如圖存儲器寫操作的時序圖如圖2-2(b)所示。)所示。 第18頁/共63頁2022-7-619數(shù)據(jù)CLK地址總線數(shù)據(jù)總線讀CLK寫地址總線數(shù)據(jù)總線時鐘周期1時鐘周期2數(shù)據(jù)地址地址時鐘周期1時鐘周期2a) 從存儲器讀取數(shù)據(jù) (b) 寫數(shù)據(jù)到存儲器圖2-3 讀寫數(shù)據(jù)的操作時序圖第19頁/共63頁2022-7-6202.3 CPU2.3 CPU的組成 計算機的核心部分被稱為中央處理器,簡稱計算機的核心部分被稱為中央處理器,簡稱CPU。CPU控制控制整個計算機,提供存儲器需要的地址和控制信號,并從存儲器中讀整個計算機,提供存儲器需要的地址和控制信號,并從存儲器中讀取指令

34、。取指令。CPU由運算器和控制器組成。由運算器和控制器組成。 CPU具有以下的基本功能:具有以下的基本功能: (1)(1)指令控制:程序的順序控制,稱為指令控制。由于程序是一指令控制:程序的順序控制,稱為指令控制。由于程序是一個指令序列,這些指令的相互順序不能任意顛倒,必須嚴格按程序個指令序列,這些指令的相互順序不能任意顛倒,必須嚴格按程序規(guī)定的順序進行。規(guī)定的順序進行。 (2) 操作控制:一條指令的功能往往是由若干個操作信號的組操作控制:一條指令的功能往往是由若干個操作信號的組合來實現(xiàn)的,因此,合來實現(xiàn)的,因此,CPU管理并產(chǎn)生由內(nèi)存取出的每條指令的操作管理并產(chǎn)生由內(nèi)存取出的每條指令的操作信

35、號,把各種操作信號送往相應(yīng)的部件,從而控制這些部件按指令信號,把各種操作信號送往相應(yīng)的部件,從而控制這些部件按指令的要求進行操作。的要求進行操作。 (3) 時間控制:對各種操作實施時間上的定時,稱為時間控制。時間控制:對各種操作實施時間上的定時,稱為時間控制。因為在計算機中,各種指令的操作信號均受到時間的嚴格限制。另因為在計算機中,各種指令的操作信號均受到時間的嚴格限制。另一方面,一條指令的整個執(zhí)行過程也受到時間的嚴格限制。一方面,一條指令的整個執(zhí)行過程也受到時間的嚴格限制。第20頁/共63頁2022-7-621 (4) (4)數(shù)據(jù)加工:所謂數(shù)據(jù)加工,就是對數(shù)據(jù)進行算術(shù)運算和邏數(shù)據(jù)加工:所謂數(shù)

36、據(jù)加工,就是對數(shù)據(jù)進行算術(shù)運算和邏輯運算處理。完成數(shù)據(jù)的加工處理,是輯運算處理。完成數(shù)據(jù)的加工處理,是CPU的根本任務(wù)。的根本任務(wù)。 要完成上述功能,必須有相應(yīng)的硬件支持。要完成上述功能,必須有相應(yīng)的硬件支持。CPU主要有三部分主要有三部分組成:寄存器區(qū)、算術(shù)組成:寄存器區(qū)、算術(shù)/邏輯單元和控制單元。如圖邏輯單元和控制單元。如圖2-4所示。所示??刂茊卧狝LU寄存器控制總線信號控制信號控制信號 數(shù)據(jù)值數(shù)據(jù)值(操作數(shù))數(shù)據(jù)值(結(jié)果)地址總線數(shù)據(jù)總線圖2-4 CPU內(nèi)部組成圖 第21頁/共63頁2022-7-6221寄存器區(qū)(寄存器區(qū)(register section) 寄存器陣列是寄存器陣列是C

37、PU內(nèi)部的臨時存儲單元,包括一組寄存器、一內(nèi)部的臨時存儲單元,包括一組寄存器、一條總線和其它的通信機制。系統(tǒng)的地址和數(shù)據(jù)總線與寄存器區(qū)交互。條總線和其它的通信機制。系統(tǒng)的地址和數(shù)據(jù)總線與寄存器區(qū)交互。此區(qū)還包括程序員不能直接訪問的一些寄存器。每個寄存器與內(nèi)部此區(qū)還包括程序員不能直接訪問的一些寄存器。每個寄存器與內(nèi)部數(shù)據(jù)總線雙向連接。由寄存器選擇電路來確定哪個寄存器參與操作。數(shù)據(jù)總線雙向連接。由寄存器選擇電路來確定哪個寄存器參與操作。 另外,還包括地址鎖存器(鎖存正在訪問的存儲器地址的寄存另外,還包括地址鎖存器(鎖存正在訪問的存儲器地址的寄存器)、數(shù)據(jù)總線緩沖器)、數(shù)據(jù)總線緩沖/鎖存器等。鎖存器

38、等。2算術(shù)算術(shù)/邏輯單元(邏輯單元(arithmetic/logic unit, ALU) 算術(shù)算術(shù)/邏輯單元執(zhí)行大部分的算術(shù)邏輯運算,如加法、邏輯與等邏輯單元執(zhí)行大部分的算術(shù)邏輯運算,如加法、邏輯與等運算。它從運算。它從CPU的寄存器中取出操作數(shù),然后將運行結(jié)果再存回到的寄存器中取出操作數(shù),然后將運行結(jié)果再存回到寄存器。由于必須在一個時鐘周期內(nèi)完成操作,因此寄存器。由于必須在一個時鐘周期內(nèi)完成操作,因此ALU只采用組只采用組合邏輯構(gòu)造而成。相對簡單的合邏輯構(gòu)造而成。相對簡單的CPU和和8085微處理器的微處理器的ADD指令在執(zhí)指令在執(zhí)行過程中都要使用行過程中都要使用ALU。第22頁/共63頁

39、2022-7-6233控制單元控制單元 同同CPU控制整個計算機一樣,控制單元控制著控制整個計算機一樣,控制單元控制著CPU。這個單。這個單元產(chǎn)生內(nèi)部控制信號,促使寄存器裝載數(shù)據(jù)、自動加元產(chǎn)生內(nèi)部控制信號,促使寄存器裝載數(shù)據(jù)、自動加1或清零、輸或清零、輸出它的內(nèi)容,使得出它的內(nèi)容,使得ALU完成正確的操作等等。這些信號作為控制信完成正確的操作等等。這些信號作為控制信號顯示在圖號顯示在圖2-4中。控制單元從寄存器區(qū)取得一些數(shù)據(jù)用以產(chǎn)生控中??刂茊卧獜募拇嫫鲄^(qū)取得一些數(shù)據(jù)用以產(chǎn)生控制信號,這些數(shù)據(jù)包括指令碼和某些標志寄存器的值??刂茊卧仓菩盘?,這些數(shù)據(jù)包括指令碼和某些標志寄存器的值。控制單元也產(chǎn)

40、生系統(tǒng)控制總線上的信號,例如產(chǎn)生系統(tǒng)控制總線上的信號,例如READ、WRITE、IO/M信號等。信號等??刂茊卧ㄟ^以正確的順序激發(fā)這些內(nèi)部或外部控制信號,使控制單元通過以正確的順序激發(fā)這些內(nèi)部或外部控制信號,使CPU和計算機的其余部分完成正確處理指令所需要的操作。和計算機的其余部分完成正確處理指令所需要的操作。 圖圖2-52-5給出了給出了8086/8088CPU8086/8088CPU的內(nèi)部框圖。它由執(zhí)行單元的內(nèi)部框圖。它由執(zhí)行單元EUEU和總和總線接口單元線接口單元BIUBIU兩部分組成。執(zhí)行單元兩部分組成。執(zhí)行單元EUEU包括:算術(shù)邏輯單元包括:算術(shù)邏輯單元(ALUALU),),161

41、6位標志寄存器,寄存器陣列,位標志寄存器,寄存器陣列,EUEU控制電路和數(shù)據(jù)暫存控制電路和數(shù)據(jù)暫存器??偩€接口單元器??偩€接口單元BIUBIU包括:包括:4 4個個1616位段寄存器,一個位段寄存器,一個1616位指令指針位指令指針I(yè)PIP,一個指令流隊列以及地址加法器和總線控制電路。,一個指令流隊列以及地址加法器和總線控制電路。 第23頁/共63頁2022-7-624ALU標志寄存器暫存器EU控制器1 2 3 4 5 6輸入輸出控制電路外部總線 AH AL BH BL CH CL DH DL SP BP DI SIAXBXCXDX 數(shù)據(jù)寄存器指針和變址 寄存器ALU數(shù)據(jù)總線(16位) CS

42、DS SS ES IP 內(nèi)部寄存器 DBAB 地址加法器指令隊列緩沖器20位8位段寄存器執(zhí)行部分(EU)總線接口部分(BIU)圖2-5 8086/8088CPU的內(nèi)部結(jié)構(gòu)框圖第24頁/共63頁2022-7-625第25頁/共63頁2022-7-6262.4 2.4 存儲器組成系統(tǒng)與接口 存儲器是計算機系統(tǒng)中的記憶設(shè)備,用來存放程序和數(shù)據(jù)。存存儲器是計算機系統(tǒng)中的記憶設(shè)備,用來存放程序和數(shù)據(jù)。存儲器芯片可分兩類:只讀存儲器(儲器芯片可分兩類:只讀存儲器(ROM)和隨機存取存儲器)和隨機存取存儲器(RAM)。)。1ROM 只讀存儲器(只讀存儲器(Read Only Memory,ROM)是為數(shù)據(jù)只

43、讀的)是為數(shù)據(jù)只讀的應(yīng)用而設(shè)計的。這些芯片在加入系統(tǒng)之前,就已經(jīng)被某個外部編程應(yīng)用而設(shè)計的。這些芯片在加入系統(tǒng)之前,就已經(jīng)被某個外部編程器件編程而裝好數(shù)據(jù)了。這個工作一旦完成,其數(shù)據(jù)通常不再改變,器件編程而裝好數(shù)據(jù)了。這個工作一旦完成,其數(shù)據(jù)通常不再改變,甚至在芯片斷電以后,甚至在芯片斷電以后,ROM芯片的數(shù)據(jù)也不會丟失。它主要用于芯片的數(shù)據(jù)也不會丟失。它主要用于存放常用功能的庫例程、系統(tǒng)程序和功能表。存放常用功能的庫例程、系統(tǒng)程序和功能表。 隨著可編程的方式和頻度不同,隨著可編程的方式和頻度不同,ROMROM芯片有幾種不同的類型:芯片有幾種不同的類型:掩膜式掩膜式ROMROM(MROMMRO

44、M) 、可編程、可編程ROMROM(PROMPROM)、可擦除)、可擦除PROM(EPROM)PROM(EPROM)、電可擦除電可擦除PROMPROM(E E2 2PROMPROM)。)。 第26頁/共63頁2022-7-627不管哪種不管哪種ROM,它們的外部配置幾乎是一樣的。如果一個芯片,它們的外部配置幾乎是一樣的。如果一個芯片有有2n個字,每個字有個字,每個字有m位,則它有位,則它有n個地址輸入個地址輸入An-1A0,m個數(shù)據(jù)個數(shù)據(jù)輸出輸出Dm-1D0(當(dāng)芯片被編程時,數(shù)據(jù)引腳可以用作輸入端當(dāng)芯片被編程時,數(shù)據(jù)引腳可以用作輸入端),還有,還有一個芯片使能輸入端(一個芯片使能輸入端(CE)

45、和一個使能輸出端()和一個使能輸出端(OE)。如果芯片)。如果芯片要輸出數(shù)據(jù),則要輸出數(shù)據(jù),則CE和和OE都必須置為高電平(邏輯都必須置為高電平(邏輯1),否則他的),否則他的輸出就為高阻態(tài)輸出就為高阻態(tài)Z(一些芯片使低電平有效,(一些芯片使低電平有效,CE或者或者OE。除。除了掩膜式了掩膜式ROM,其他所有的,其他所有的ROM都有一個編程控制輸入端都有一個編程控制輸入端(VPP),芯片編程器用它向芯片輸入數(shù)據(jù)。),芯片編程器用它向芯片輸入數(shù)據(jù)。 第27頁/共63頁2022-7-6282RAM 計算機系統(tǒng)中常用的是隨機存儲器(計算機系統(tǒng)中常用的是隨機存儲器(Random Access Memo

46、ry,RAM),),RAM的明顯特征是,既能從存儲器中讀取數(shù)據(jù),也能方的明顯特征是,既能從存儲器中讀取數(shù)據(jù),也能方便、快速地寫入數(shù)據(jù),通過使用電信號完成讀寫操作。便、快速地寫入數(shù)據(jù),通過使用電信號完成讀寫操作。RAM的另的另一個明顯特征是易散失性。一個明顯特征是易散失性。RAM必須有直流電源供電,一旦電源必須有直流電源供電,一旦電源中斷,數(shù)據(jù)就會丟失。因此,中斷,數(shù)據(jù)就會丟失。因此,RAM用于暫時存儲數(shù)據(jù)。用于暫時存儲數(shù)據(jù)。 RAM可分為靜態(tài)可分為靜態(tài)RAM(SRAM)和動態(tài))和動態(tài)RAM(DRAM)兩)兩類。類。SRAM通常比通常比DRAM速度快。速度快。DRAM是用電容充電來存儲數(shù)據(jù)是用電

47、容充電來存儲數(shù)據(jù)的,電容器中有無電荷分別代表二進制的的,電容器中有無電荷分別代表二進制的0和和1。因為電容器有自然。因為電容器有自然放電現(xiàn)象,因此放電現(xiàn)象,因此DRAM需要定期充電(刷新)來保證存儲的數(shù)據(jù)有需要定期充電(刷新)來保證存儲的數(shù)據(jù)有效。而效。而SRAM則采用傳統(tǒng)的觸發(fā)器中的邏輯門來存儲二進制值。一則采用傳統(tǒng)的觸發(fā)器中的邏輯門來存儲二進制值。一旦數(shù)據(jù)寫入到旦數(shù)據(jù)寫入到SRAM,在提供電源的情況下,它的內(nèi)容保持不變,在提供電源的情況下,它的內(nèi)容保持不變,也不需要刷新。也不需要刷新。 第28頁/共63頁2022-7-6292.4.1 半導(dǎo)體存儲器芯片的內(nèi)部組成 ROM和和RAM芯片的內(nèi)部

48、組成是很相似的。先介紹一個最簡芯片的內(nèi)部組成是很相似的。先介紹一個最簡單的組成單的組成線性組成(線性組成(liner organization),我們看一個),我們看一個82的的ROM芯片,如圖芯片,如圖2-6所示。為了簡化,未畫出編程器件。這個芯所示。為了簡化,未畫出編程器件。這個芯片有三個地址輸入端和兩個數(shù)據(jù)輸出端,以及片有三個地址輸入端和兩個數(shù)據(jù)輸出端,以及16位的內(nèi)部存儲元件,位的內(nèi)部存儲元件,它們排列成它們排列成8個單元,每個單元個單元,每個單元2位。位。 三個地址位三個地址位A A0 0-A-A2 2經(jīng)過譯碼,可以選擇經(jīng)過譯碼,可以選擇8 8個單元中的一個單元,個單元中的一個單元,

49、但是只有芯片的使能端有效才能進行。如果但是只有芯片的使能端有效才能進行。如果CE=0CE=0,譯碼器被禁止,譯碼器被禁止,則不能選擇任何單元。如果則不能選擇任何單元。如果CE=1CE=1且且OE=1OE=1,則這些數(shù)據(jù)緩沖器有效,則這些數(shù)據(jù)緩沖器有效,數(shù)據(jù)從芯片中輸出。否則芯片輸出高阻態(tài)。數(shù)據(jù)從芯片中輸出。否則芯片輸出高阻態(tài)。 第29頁/共63頁2022-7-630譯碼器D1D0CEOE3-80123456EA1A2 A0111021203130414051506160700101761圖2-6 82 ROM芯片的內(nèi)部線性組成第30頁/共63頁2022-7-631 隨著單元數(shù)量的增加,該線性組

50、成中的地址譯碼器的規(guī)模會隨著單元數(shù)量的增加,該線性組成中的地址譯碼器的規(guī)模會變得非常變得非常 大。為了解決這一問題,存儲芯片可以設(shè)計成多位譯碼大。為了解決這一問題,存儲芯片可以設(shè)計成多位譯碼方 式 。 同 樣 的方 式 。 同 樣 的 8 2 R O M 芯 片 可 以 采 用 二 維 組 成 (芯 片 可 以 采 用 二 維 組 成 ( t w o -dimensional organization),如圖),如圖2-7所示。這個配置有四行,每所示。這個配置有四行,每行行4位,代表位,代表2個數(shù)據(jù)值,例如圖中的第一行包含地址個數(shù)據(jù)值,例如圖中的第一行包含地址0和地址和地址1的數(shù)的數(shù)據(jù)。每一行

51、的高兩位地址是一樣的,這兩位高地址選擇四行中的一據(jù)。每一行的高兩位地址是一樣的,這兩位高地址選擇四行中的一行,而低地址位則選擇此行兩個單元中的某一個單元。芯片的使能行,而低地址位則選擇此行兩個單元中的某一個單元。芯片的使能端的作用與圖端的作用與圖2-6線性組成一樣。線性組成一樣。 在大型存儲芯片中,這種多維譯碼方式顯得極其重要。假如一在大型存儲芯片中,這種多維譯碼方式顯得極其重要。假如一個個409640961 1芯片,采用線性組成將需要一個芯片,采用線性組成將需要一個12-409612-4096譯碼器。如果譯碼器。如果新片排成新片排成64646464的二位數(shù)組,它將有兩個的二位數(shù)組,它將有兩個

52、6-646-64譯碼器:一個用來選譯碼器:一個用來選擇擇6464行中的一行,另一個用來選擇該行中行中的一行,另一個用來選擇該行中6464個單元中的一個單元。個單元中的一個單元。譯碼器大小與輸出的數(shù)量成正比。譯碼器大小與輸出的數(shù)量成正比。 第31頁/共63頁2022-7-632譯碼器A2A1 A00123E2-401214161002040601131517130507010譯碼器10E1-2CEOED1D0圖2-7 82 ROM芯片的內(nèi)部二維組成 第32頁/共63頁2022-7-6332.4.2 存儲器子系統(tǒng)的配置 構(gòu)造包含一個簡單芯片的存儲器是非常簡單容易的,只需要構(gòu)造包含一個簡單芯片的存儲

53、器是非常簡單容易的,只需要從系統(tǒng)總線上連接地址信號線、數(shù)據(jù)信號線和控制信號線就可以完從系統(tǒng)總線上連接地址信號線、數(shù)據(jù)信號線和控制信號線就可以完成了。然而,由于單片存儲芯片的容量總是有限的,很難滿足實際成了。然而,由于單片存儲芯片的容量總是有限的,很難滿足實際的需要,因此,大多數(shù)的存儲器系統(tǒng)需要多個芯片,必須將若干存的需要,因此,大多數(shù)的存儲器系統(tǒng)需要多個芯片,必須將若干存儲芯片連在一起才能組成容量足夠的存儲器,下面介紹組合存儲芯儲芯片連在一起才能組成容量足夠的存儲器,下面介紹組合存儲芯片來形成存儲器系統(tǒng)的一些方法。片來形成存儲器系統(tǒng)的一些方法。1位擴展法位擴展法 位擴展法是指增加存儲字長,用兩

54、個或更多芯片組合起來構(gòu)造位擴展法是指增加存儲字長,用兩個或更多芯片組合起來構(gòu)造一個每個單元有多位的存儲器。這可以通過連接芯片相應(yīng)的地址信一個每個單元有多位的存儲器。這可以通過連接芯片相應(yīng)的地址信號線和控制信號線,并將它們的數(shù)據(jù)引腳連到數(shù)據(jù)總線的不同位上號線和控制信號線,并將它們的數(shù)據(jù)引腳連到數(shù)據(jù)總線的不同位上來實現(xiàn)。例如,來實現(xiàn)。例如,2個個82芯片可以組合成一個芯片可以組合成一個84存儲器,如圖存儲器,如圖2-8所示,兩個芯片從地址總線上接收相同的三位地址,還有共同的芯所示,兩個芯片從地址總線上接收相同的三位地址,還有共同的芯片使能信號和輸出使能信號。第一個芯片的數(shù)據(jù)引腳連到數(shù)據(jù)總線片使能信

55、號和輸出使能信號。第一個芯片的數(shù)據(jù)引腳連到數(shù)據(jù)總線的第的第3位和第位和第2位,第二個芯片的數(shù)據(jù)引腳則連在第位,第二個芯片的數(shù)據(jù)引腳則連在第1位和第位和第0位。位。 第33頁/共63頁2022-7-634D3D2D1D0A1A2A0ROM82CEOEA2A1A0D0D1ROM82CEOEA2A1A0D0D1圖2-8 兩個82ROM芯片構(gòu)成 的84存儲器子系統(tǒng) 當(dāng)CPU讀取數(shù)據(jù)時,它將地址放在地址總線上,兩個芯片讀取地址位A2、A1、A0,并執(zhí)行內(nèi)部譯碼操作。如果CE和OE信號有效,兩個芯片則輸出數(shù)據(jù)到數(shù)據(jù)總線的四位上。因為兩個芯片的地址和使能信號是相同的,因此在任一時刻兩個芯片要么同時有效,要么

56、同時無效。基于這個原因,它們的行為就像一個單一的84芯片,至少對于CPU來說是這樣的。 第34頁/共63頁2022-7-6352字擴展法字擴展法 字擴展法是指僅增加存儲器字的數(shù)量,而存儲器字長不變,因字擴展法是指僅增加存儲器字的數(shù)量,而存儲器字長不變,因此將芯片的地址線、數(shù)據(jù)線、讀此將芯片的地址線、數(shù)據(jù)線、讀/寫控制線并聯(lián),而由芯片選擇信號寫控制線并聯(lián),而由芯片選擇信號來區(qū)分各芯片的地址,所以芯片選擇信號端連接到片選譯碼器的輸來區(qū)分各芯片的地址,所以芯片選擇信號端連接到片選譯碼器的輸出端。出端。 如圖如圖2-9(a)所示,用兩個)所示,用兩個82芯片能夠構(gòu)成一個芯片能夠構(gòu)成一個162的存的存儲

57、系統(tǒng),上面的芯片構(gòu)成存儲器的儲系統(tǒng),上面的芯片構(gòu)成存儲器的07(00000111)單元,下面的)單元,下面的芯片作為單元芯片作為單元815(10001111)??梢酝ㄟ^信號)??梢酝ㄟ^信號A3來選擇芯片,來選擇芯片,當(dāng)當(dāng)A3=0時,上面的芯片有效,下面的芯片無效;當(dāng)時,上面的芯片有效,下面的芯片無效;當(dāng)A3=1時情況相時情況相反。輸出使能端需要連接起來。反。輸出使能端需要連接起來。 因為只有芯片有效才能輸出數(shù)據(jù)。由于兩個芯片對應(yīng)相同的數(shù)因為只有芯片有效才能輸出數(shù)據(jù)。由于兩個芯片對應(yīng)相同的數(shù)據(jù)位,因此都可以連接到數(shù)據(jù)總線的據(jù)位,因此都可以連接到數(shù)據(jù)總線的D1和和D0位上。位上。 第35頁/共63

58、頁2022-7-636圖2-9 兩個82ROM芯片構(gòu)造162存儲器子系統(tǒng) (a)高位交叉第36頁/共63頁2022-7-637 這種配置使用的是高位交叉(high-order interleaving)技術(shù),統(tǒng)一芯片的所有存儲單元在系統(tǒng)內(nèi)存中是連續(xù)的。還有一種是低位交叉(low-order interleaving)技術(shù),如圖2-9(b)所示,上面的芯片當(dāng)A0=0或者當(dāng)?shù)刂肺粸閤xx0時有效,此時地址為0、2、4、6、8、10和12;下面的芯片當(dāng)A0=1時有效,條件是地址為1、3、5、7、9、13、15。對于CPU來說,兩種技術(shù)是相同的。但低位交叉能為流水線存儲器訪問技術(shù)提供速度上的優(yōu)勢,對于

59、能夠同時從多于一個存儲器單元中讀取數(shù)據(jù)的CPU來說,低位交叉也存在速度上的優(yōu)勢。第37頁/共63頁2022-7-638圖2-9 兩個82ROM芯片構(gòu)造162存儲器子系統(tǒng) (b)低位交叉 第38頁/共63頁2022-7-6392.4.3 多字節(jié)數(shù)據(jù)的組成 許多數(shù)據(jù)格式使用多個字節(jié)(一個字節(jié)許多數(shù)據(jù)格式使用多個字節(jié)(一個字節(jié)8位)來表示一個數(shù)值,位)來表示一個數(shù)值,而不管此數(shù)據(jù)是整形、浮點數(shù)還是字符串。由于大多數(shù)而不管此數(shù)據(jù)是整形、浮點數(shù)還是字符串。由于大多數(shù)CPU給給8位位的存儲器單元分配地址,因此這些字必需存儲在多個單元中,每個的存儲器單元分配地址,因此這些字必需存儲在多個單元中,每個CPU必

60、須定義數(shù)據(jù)在這些單元中的存儲順序。必須定義數(shù)據(jù)在這些單元中的存儲順序。 常用的多字節(jié)數(shù)據(jù)排列順序有兩種:高位優(yōu)先(常用的多字節(jié)數(shù)據(jù)排列順序有兩種:高位優(yōu)先(big endian)和低位優(yōu)先(和低位優(yōu)先(litter endian)。按照高位優(yōu)先的格式,如果一個數(shù))。按照高位優(yōu)先的格式,如果一個數(shù)值的最高字節(jié)存儲在單元值的最高字節(jié)存儲在單元X中,次高位字節(jié)則存儲在單元中,次高位字節(jié)則存儲在單元X+1中,中,其他字節(jié)以此類推。例如,十六進制數(shù)其他字節(jié)以此類推。例如,十六進制數(shù)01020304H(H表示十六進表示十六進制)從單元制)從單元1000H開始存儲,則存儲結(jié)果如表開始存儲,則存儲結(jié)果如表2-

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論