《匯編語言》cpu存儲器總線(第二章).ppt
《《匯編語言》cpu存儲器總線(第二章).ppt》由會員分享,可在線閱讀,更多相關(guān)《《匯編語言》cpu存儲器總線(第二章).ppt(69頁珍藏版)》請在裝配圖網(wǎng)上搜索。
《匯編語言》課件,,,第1章基礎(chǔ)知識,1.1機器語言1.9數(shù)據(jù)總線1.2匯編語言的產(chǎn)生1.10控制總線1.3匯編語言的組成1.11內(nèi)存地址空間(概述)1.4存儲器1.12主板1.5指令和數(shù)據(jù)1.13接口卡1.6存儲單元1.14各類存儲器芯片1.7CPU對存儲器的讀寫1.15內(nèi)存地址空間1.8地址總線,引言,匯編語言是直接在硬件之上工作的編程語言,首先要了解硬件系統(tǒng)的結(jié)構(gòu),才能有效的應(yīng)用匯編語言對其編程。在本章中,對硬件系統(tǒng)結(jié)構(gòu)的問題進行一部分的探討,以使后續(xù)的課程可在一個好的基礎(chǔ)上進行。,引言,匯編課程的研究重點放在如何利用硬件系統(tǒng)的編程結(jié)構(gòu)和指令集有效靈活的控制系統(tǒng)進行工作。,1.1機器語言,機器語言是機器指令的集合。機器指令展開來講就是一臺機器可以正確執(zhí)行的命令。,1.1機器語言,指令:01010000(PUSHAX)電平脈沖:,1.1機器語言,以后我們提到的計算機是指由CPU和其他受CPU直接或間接控制的芯片、器件、設(shè)備組成的計算機系統(tǒng);比如我們最常見的PC機。,1.1機器語言,程序員們將0、1數(shù)字編程的程序代碼打在紙帶或卡片上,1打孔,0不打孔,再將程序通過紙帶機或卡片機輸入計算機,進行運算。示例應(yīng)用8086CPU完成運算:S=768+12288–1280,1.1機器語言,S=768+12288-1280機器碼:101100000000000000000011000001010000000000110000001011010000000000000101假如將程序錯寫成以下這樣,請找處錯誤:101100000000000000000011000001010000000000110000000101101000000000000101,1.1機器語言,在顯示器上輸出“welcometomasm”。機器碼看到這樣的程序,你會有什么感想?如果程序里有一個“1”被誤寫為“0”,又如何去查找呢?,1.2匯編語言的產(chǎn)生,匯編語言的主體是匯編指令。匯編指令和機器指令的差別在于指令的表示方法上。匯編指令是機器指令便于記憶的書寫格式。匯編指令是機器指令的助記符。,1.2匯編語言的產(chǎn)生,機器指令:1000100111011000操作:寄存器BX的內(nèi)容送到AX中匯編指令:MOVAX,BX這樣的寫法與人類語言接近,便于閱讀和記憶。,寄存器,寄存器:簡單的講是CPU中可以存儲數(shù)據(jù)的器件,一個CPU中有多個寄存器。AX是其中一個寄存器的代號,BX是另一個寄存器的代號。更詳細(xì)的內(nèi)容我們在以后的課程中將會講到。,,1.2匯編語言的產(chǎn)生,計算機能讀懂的只有機器指令,那么如何讓計算機執(zhí)行程序員用匯編指令編寫的程序呢?,用匯編語言編寫程序的工作過程,1.3匯編語言的組成,匯編語言由以下3類組成:1、匯編指令(機器碼的助記符)2、偽指令(由編譯器執(zhí)行)3、其它符號(由編譯器識別)匯編語言的核心是匯編指令,它決定了匯編語言的特性。,1.4馮諾依曼計算機,馮諾依曼計算機的基本特點:(1)采用存儲程序方式,即程序和數(shù)據(jù)放在同一個存儲器中,程序指令和數(shù)據(jù)都用二進制表示,兩者都可以送到CPU執(zhí)行和運算。(2)存儲器是按地址訪問的,每個存儲單元的位數(shù)是固定的。存儲單元采用線性編址方式,按順序取出指令。(3)指令由操作碼和地址碼構(gòu)成。根據(jù)指令含義發(fā)出控制信號控制計算機的操作。(4)機器以運算器為中心,輸入輸出設(shè)備都要經(jīng)過CPU與存儲器間進行數(shù)據(jù)傳送。,1.4.1馮諾依曼機原理,計算機由運算器、控制器、存儲器、輸入設(shè)備、輸出設(shè)備五大部件組成。運算器和控制器合稱為中央處理器(CPU)。中央處理器CPU存儲器輸入輸出設(shè)備總線及接口,1.4.2馮諾依曼計算機的基本結(jié)構(gòu),內(nèi)存儲器InnerMemory,輸入設(shè)備InputDevice,中央處理器CPU,輸出設(shè)備OutputDevice,,,D-BUS,,,,,,A-BUS,C_BUS,輸入接口,輸出接口,,,,,調(diào)制解調(diào)器,內(nèi)存條,電源,中央處理器,主板,光驅(qū),軟驅(qū),硬盤,,,,,,,,,,,,微型計算機的基本結(jié)構(gòu),,主板,硬件:,中央處理機CPU,總線控制邏輯,,,接口,接口,存儲器,,,,,大容量存儲器,I/O設(shè)備,,I/O子系統(tǒng),系統(tǒng)總線,,...,...,,軟件:系統(tǒng)軟件用戶軟件,1.4存儲器,之前簡單介紹了計算機的組成結(jié)構(gòu),接下來講匯編語言和這些器件之間的關(guān)系CPU是計算機的核心部件.它控制整個計算機的運作并進行運算,要想讓一個CPU工作,就必須向它提供指令和數(shù)據(jù)。指令和數(shù)據(jù)在存儲器中存放,也就是平時所說的內(nèi)存。,1.4存儲器,在一臺PC機中內(nèi)存的作用僅次于CPU。離開了內(nèi)存,性能再好的CPU也無法工作。,1.4存儲器,磁盤不同于內(nèi)存,磁盤上的數(shù)據(jù)或程序如果不讀到內(nèi)存中,就無法被CPU使用。,1.5指令和數(shù)據(jù),指令和數(shù)據(jù)是應(yīng)用上的概念。在內(nèi)存或磁盤上,指令和數(shù)據(jù)沒有任何區(qū)別,都是二進制信息。,1.5指令和數(shù)據(jù),二進制信息:1000100111011000─>89D8H(數(shù)據(jù))1000100111011000─>MOVAX,BX(程序),1.6存儲單元,存儲器被劃分為若干個存儲單元,每個存儲單元從0開始順序編號;例如:一個存儲器有128個存儲單元,編號從0~127。如右圖示:,1.6存儲單元,對于大容量的存儲器一般還用以下單位來計量容量(以下用B來代表Byte):1KB=1024B1MB=1024KB1GB=1024MB1TB=1024GB磁盤的容量單位同內(nèi)存的一樣,實際上以上單位是微機中常用的計量單位。,1.7CPU對存儲器的讀寫,CPU要想進行數(shù)據(jù)的讀寫,必須和外部器件(標(biāo)準(zhǔn)的說法是芯片)進行三類信息的交互:存儲單元的地址(地址信息)器件的選擇,讀或?qū)懨睿刂菩畔ⅲ┳x或?qū)懙臄?shù)據(jù)(數(shù)據(jù)信息),1.7CPU對存儲器的讀寫,那么CPU是通過什么將地址、數(shù)據(jù)和控制信息傳到存儲芯片中的呢?電子計算機能處理、傳輸?shù)男畔⒍际请娦盘?,電信號?dāng)然要用導(dǎo)線傳送。,1.7CPU對存儲器的讀寫,在計算機中專門有連接CPU和其他芯片的導(dǎo)線,通常稱為總線。物理上:一根根導(dǎo)線的集合;邏輯上劃分為:地址總線數(shù)據(jù)總線控制總線圖示,1.7CPU對存儲器的讀寫,總線在邏輯上劃分的圖示:,1.7CPU對存儲器的讀寫,CPU在內(nèi)存中讀或?qū)懙臄?shù)據(jù)演示:讀演示寫演示從上面我們知道CPU是如何進行數(shù)據(jù)讀寫的。可是我們?nèi)绾蚊钣嬎銠C進行數(shù)據(jù)的讀寫呢?,1.7CPU對存儲器的讀寫,,,1.7CPU對存儲器的讀寫,,,1.7CPU對存儲器的讀寫,對于8086CPU,下面的機器碼能夠完成從3號單元讀數(shù)據(jù):機器碼:101000000000001100000000含義:從3號單元讀取數(shù)據(jù)送入寄存器AXCPU接收這條機器碼后將完成上面所述的讀寫工作。,1.7CPU對存儲器的讀寫,機器碼難于記憶,用匯編指令來表示,情況如下:機器碼:101000000000001100000000對應(yīng)的匯編指令:MOVAX,[3]含義:傳送3號單元的內(nèi)容到AX,1.8地址總線,CPU是通過地址總線來指定存儲單元的。地址總線上能傳送多少個不同的信息,CPU就可以對多少個存儲單元進行尋址。,1.8地址總線,地址總線發(fā)送地址信息演示,1.8地址總線,1.8地址總線,一個CPU有N根地址總線,則可以說這個CPU的地址總線的寬度為N。這樣的CPU最多可以尋找2的N次方個內(nèi)存單元。,1.9數(shù)據(jù)總線,CPU與內(nèi)存或其它器件之間的數(shù)據(jù)傳送是通過數(shù)據(jù)總線來進行的。數(shù)據(jù)總線的寬度決定了CPU和外界的數(shù)據(jù)傳送速度。,1.9數(shù)據(jù)總線,我們來分別看一下它們向內(nèi)存中寫入數(shù)據(jù)89D8H時,是如何通過數(shù)據(jù)總線傳送數(shù)據(jù)的:8088CPU數(shù)據(jù)總線上的數(shù)據(jù)傳送情況8086CPU數(shù)據(jù)總線上的數(shù)據(jù)傳送情況,1.9數(shù)據(jù)總線,8位數(shù)據(jù)總線上傳送的信息,,1.9數(shù)據(jù)總線,16位數(shù)據(jù)總線上傳送的信息,,1.10控制總線,CPU對外部器件的控制是通過控制總線來進行的。在這里控制總線是個總稱,控制總線是一些不同控制線的集合。有多少根控制總線,就意味著CPU提供了對外部器件的多少種控制。所以,控制總線的寬度決定了CPU對外部器件的控制能力??刂瓶偩€上發(fā)送的控制信息,1.10控制總線,,,1.10控制總線,前面所講的內(nèi)存讀或?qū)懨钍怯蓭赘刂凭€綜合發(fā)出的:其中有一根名為讀信號輸出控制線負(fù)責(zé)由CPU向外傳送讀信號,CPU向該控制線上輸出低電平表示將要讀取數(shù)據(jù);有一根名為寫信號輸出控制線負(fù)責(zé)由CPU向外傳送寫信號。,小結(jié),(1)匯編指令是機器指令的助記符,同機器指令一一對應(yīng)。(2)每一種CPU都有自己的匯編指令集。,小結(jié),(3)CPU可以直接使用的信息在存儲器中存放。(4)在存儲器中指令和數(shù)據(jù)沒有任何區(qū)別,都是二進制信息。,小結(jié),(5)存儲單元從零開始順序編號。(6)一個存儲單元可以存儲8個bit(用作單位寫成“b”),即8位二進制數(shù)。(7)1B=8b1KB=1024B1MB=1024KB1GB=1024MB,小結(jié)(續(xù)),(8)每一個CPU芯片都有許多管腳,這些管腳和總線相連。也可以說,這些管腳引出總線。一個CPU可以引出三種總線的寬度標(biāo)志了這個CPU的不同方面的性能:地址總線的寬度決定了CPU的尋址能力;數(shù)據(jù)總線的寬度決定了CPU與其它器件進行數(shù)據(jù)傳送時的一次數(shù)據(jù)傳送量;控制總線寬度決定了CPU對系統(tǒng)中其它器件的控制能力。,小結(jié)(續(xù)),在匯編課程中,我們從功能的角度介紹了這三類總線,對實際的連接情況不做討論。,1.11內(nèi)存地址空間(概述),什么是內(nèi)存地址空間呢?一個CPU的地址線寬度為10,那么可以尋址1024個內(nèi)存單元,這1024個可尋到的內(nèi)存單元就構(gòu)成這個CPU的內(nèi)存地址空間。下面深入討論。首先需要介紹兩部分基本知識,主板和接口卡。,1.12主板,在每一臺PC機中,都有一個主板,主板上有核心器件和一些主要器件。這些器件通過總線(地址總線、數(shù)據(jù)總線、控制總線)相連。,1.13接口卡,計算機系統(tǒng)中,所有可用程序控制其工作的設(shè)備,必須受到CPU的控制。CPU對外部設(shè)備不能直接控制,如顯示器、音箱、打印機等。直接控制這些設(shè)備進行工作的是插在擴展插槽上的接口卡。,1.14各類存儲器芯片,從讀寫屬性上看分為兩類:隨機存儲器(RAM)和只讀存儲器(ROM)從功能和連接上分類:隨機存儲器RAM裝有BIOS的ROM接口卡上的RAMPC機中各類存儲器的邏輯連接情況,1.14各類存儲器芯片,裝有BIOS的ROMBIOS:BasicInput/OutputSystem,基本輸入輸出系統(tǒng)。BIOS是由主板和各類接口卡(如:顯卡、網(wǎng)卡等)廠商提供的軟件系統(tǒng),可以通過它利用該硬件設(shè)備進行最基本的輸入輸出。在主板和某些接口卡上插有存儲相應(yīng)BIOS的ROM。,,1.15內(nèi)存地址空間,上述的那些存儲器在物理上是獨立的器件。但是它們在以下兩點上相同:1、都和CPU的總線相連。2、CPU對它們進行讀或?qū)懙臅r候都通過控制線發(fā)出內(nèi)存讀寫命令。,1.15內(nèi)存地址空間,將各各類存儲器看作一個邏輯存儲器:所有的物理存儲器被看作一個由若干存儲單元組成的邏輯存儲器;每個物理存儲器在這個邏輯存儲器中占有一個地址段,即一段地址空間;CPU在這段地址空間中讀寫數(shù)據(jù),實際上就是在相對應(yīng)的物理存儲器中讀寫數(shù)據(jù)。,,,,1.15內(nèi)存地址空間,假設(shè),上圖中的內(nèi)存空間地址段分配如下:地址0~7FFFH的32KB空間為主隨機存儲器的地址空間;地址8000H~9FFFH的8KB空間為顯存地址空間;地址A000H~FFFFH的24KB空間為各個ROM的地址空間。,1.15內(nèi)存地址空間,不同的計算機系統(tǒng)的內(nèi)存地址空間分配情況是不同的。8086PC機內(nèi)存地址空間分配的基本情況,8086PC機的內(nèi)存地址空間分配,1.15內(nèi)存地址空間,內(nèi)存地址空間:最終運行程序的是CPU,我們用匯編編程的時候,必須要從CPU角度考慮問題。對CPU來講,系統(tǒng)中的所有存儲器中的存儲單元都處于一個統(tǒng)一的邏輯存儲器中,它的容量受CPU尋址能力的限制。這個邏輯存儲器即是我們所說的內(nèi)存地址空間。,小結(jié),- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 匯編語言 cpu 存儲器 總線 第二
鏈接地址:http://www.820124.com/p-11509725.html