電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>課件下載>《計(jì)算機(jī)組成原理與匯編語言程序設(shè)計(jì)》復(fù)習(xí)指南

《計(jì)算機(jī)組成原理與匯編語言程序設(shè)計(jì)》復(fù)習(xí)指南

2008-10-22 | rar | 555 | 次下載 | 免費(fèi)

資料介紹

《計(jì)算機(jī)組成原理與匯編語言程序設(shè)計(jì)》復(fù)習(xí)指南俸遠(yuǎn)禎? 徐潔?

為了幫助同學(xué)們復(fù)習(xí),本文首先闡明本課程的教學(xué)目標(biāo)與考核說明,這是總復(fù)習(xí)的指導(dǎo)思想。在重點(diǎn)與難點(diǎn)的剖析中,則首先突出需熟練掌握的部分,然后再討論一些需掌握、理解的概念和方法,其間插入一些典型題例。由于匯編語言程序設(shè)計(jì)有其自身的體系和特點(diǎn),我們將它作為專門的一節(jié)討論。

一、 教學(xué)目標(biāo)與考核要求
??? 本課程的教學(xué)目標(biāo)是:在學(xué)完本課后能建立起整機(jī)概念,它可分為兩級:
(1) CPU級,它包含三個(gè)方面:CPU基本組成、指令流程、匯編語言級程序設(shè)計(jì)方法。
(2) 系統(tǒng)級,它包含兩個(gè)方面:如何通過系統(tǒng)總線與接口將CPU、主存、I/O設(shè)備(含外存)連接成整機(jī),對輸入/輸出的三種基本控制機(jī)制。
??? 相應(yīng)地,考核也將緊緊圍繞這一基本教學(xué)目標(biāo)。一套規(guī)范的試卷應(yīng)能體現(xiàn)出與整機(jī)概念相關(guān)的核心內(nèi)容,如:CPU如何執(zhí)行程序(指令流程),如何組成一個(gè)半導(dǎo)體存儲器,總線與接口的基本組成,中斷方式的定義、特點(diǎn)、應(yīng)用、過程,DMA方式的定義、特點(diǎn)、應(yīng)用、過程,同步控制與異步控制,閱讀、分析程序段,用常用匯編語句編寫程序段(教材例題和錄像教學(xué)中使用的匯編語句基本上就屬于常用的)等。
??? 教材在每章開頭的“學(xué)習(xí)目標(biāo)”中,分別用幾種層次表明考核要求:①熟練掌握,這是重之重、必考內(nèi)容,可能占有較大比重。②掌握。③理解。屬于“了解”的內(nèi)容一般不直接考核,即或涉及到一些,其比重也很小。
??? 試題類型大致分為:①單項(xiàng)選擇題②多項(xiàng)選擇題③改錯題(原題均有錯)。在這三種試題中都給出一些似是而非的提法或結(jié)論,要求考生能正確理解有關(guān)概念,能選擇或給出正確的結(jié)論。注意,對改錯題的改正并不是將原來的提法簡單地顛倒就行的,也不要偏離題意。④簡答題,要求正面回答、闡述。有時(shí)也要求對可比性概念進(jìn)行比較分析,例如同步控制與異步控制、組合邏輯控制與微程序控制、中斷與DMA等。⑤分析題,如閱讀一段用匯編語言書寫的程序段,然后回答問題。⑥設(shè)計(jì)題,如擬定指令流程、設(shè)計(jì)半導(dǎo)體存儲器、編寫程序段等。設(shè)計(jì)題通常是重點(diǎn)所在,請大家務(wù)必注意,本文也將重點(diǎn)分析。

二、 需熟練掌握的內(nèi)容
??? 教材在三處采用了“熟練掌握”的提法:CPU基本組成與指令流程,用存儲芯片構(gòu)成某一容量的存儲器,中斷方式與DMA方式。這些知識點(diǎn)涉及到建立整機(jī)概念的核心問題:CPU如何執(zhí)行指令,計(jì)算機(jī)如何存儲信息,如何控制輸入/輸出。
1.CPU基本組成
??? 教材3.3.1節(jié)給出了一種簡化的CPU內(nèi)部組成模型,它是擬定指令流程的基礎(chǔ),大家應(yīng)該記住它。在理解它的組成時(shí)需要抓住幾點(diǎn):
(1) ALU部件,以及它的輸入與輸出方式。
(2) 用于運(yùn)算的一組寄存器R0~R3及暫存器C、D、Z。
(3) 用于控制的一組寄存器:指令寄存器IR,程序計(jì)數(shù)器PC,程序狀態(tài)字寄存器PSW。
(4) 與訪存相關(guān)的一組寄存器:存儲器地址寄存器MAR,存儲器數(shù)據(jù)寄存器MDR,堆棧指針SP。
(5) 內(nèi)部總線的連接方式,如何向它發(fā)送信息,它又如何輸出信息。
(6) CPU如何通過系統(tǒng)總線與主存、I/O設(shè)備相連接。
2.?dāng)M定指令流程
??? 指令流程體現(xiàn)了計(jì)算機(jī)工作原理中一個(gè)核心內(nèi)容:CPU究竟怎樣執(zhí)行程序指令?大家務(wù)必要熟練掌握??己朔绞揭话闶墙o出一條特定的指令,以模型機(jī)CPU內(nèi)部組成為背景,用寄存器傳送級語句描述其讀取與執(zhí)行流程。關(guān)鍵是要熟練掌握幾種基本尋址方式的實(shí)現(xiàn)過程,分清誰是源地址、誰是目的地址,操作碼是什么。
設(shè)計(jì)題:擬出指令MOV-(SP),x(R0)的讀取與執(zhí)行流程。
PC→MAR? 取指令地址
M→MDR→IR,PC+1→PC? 取指令
PC→MAR
M→MDR→D,PC+1→PC? 取形式地址
D+R0→Z 變址計(jì)算
Z→MAR 送有效地址
M→MDR→C 讀源操作數(shù)
SP-1→Z
Z→MAR、SP 修改棧頂?shù)刂?BR>C→MDR
MDR→M?? 壓棧
??? 本題的操作碼MOV是一條傳送指令,意味著從源地址讀取一個(gè)操作數(shù),送入目的地。按模型機(jī)指令格式,源尋址方式助記符x(R0)表明是采用變址方式,即:從緊跟現(xiàn)行指令的下一個(gè)存儲單元中讀取形式地址,送入暫存器D;變址寄存器R0的內(nèi)容(變址量)與形式地址相加,獲得有效地址,暫存在Z中;再按該有效地址從主存中讀取源操作數(shù),送入暫存器C。目的地尋址方式助記符-(SP)表明采用堆棧尋址方式,將源操作數(shù)壓入堆棧;先修改堆棧指針SP,使它指向新棧頂(待存的空單元)。最后,將暫存于C中的源操作數(shù)經(jīng)MDR送入主存(即壓入堆棧)。
??? 采用了兩種相對復(fù)雜一些的尋址方式,常用的尋址方式還有:寄存器尋址方式R、寄存器間址方式(R),自減型寄存器間址方式-(R),自增型寄存器間址(R)+,直接尋址方式DI等,大家務(wù)必要掌握。
3.存儲器設(shè)計(jì)
??? CPU加上主存,習(xí)慣上稱為主機(jī)。在構(gòu)建某個(gè)計(jì)算機(jī)應(yīng)用系統(tǒng)中,常需自行設(shè)計(jì)半導(dǎo)體存儲器,即用若干存儲芯片構(gòu)造一定容量的存儲器。所以這是必須熟練掌握的核心內(nèi)容。
設(shè)計(jì)題:用1K×4/片的存儲芯片構(gòu)成一個(gè)4KB存儲器,地址總線A15~A0(低),數(shù)據(jù)總線D7~D0(低),R/W控制讀寫。請畫出芯片級邏輯框圖,注明各信號線,寫出片選邏輯式。
??? 教材已經(jīng)完整地講解了設(shè)計(jì)方法與設(shè)計(jì)過程,本文在這里僅強(qiáng)調(diào)一些需要注意的地方。若本題的題分為10分,則評分標(biāo)準(zhǔn)往往是:芯片數(shù)量及其組合1分;芯片地址是哪幾位,3分;片選邏輯,4分;數(shù)據(jù)線1分;讀寫控制1分。在完成設(shè)計(jì)并畫出邏輯圖后,應(yīng)當(dāng)從上述幾方面檢查一下。存儲器邏輯的核心是尋址邏輯,因此芯片地址、片選邏輯這兩項(xiàng)在評分標(biāo)準(zhǔn)中占有主要份量。為此需要掌握存儲容量與相應(yīng)地址位數(shù)之間的對應(yīng)關(guān)系:1K容量需要10位地址,2K容量需要11位地址……。本題的地址分配關(guān)系如下:
不用片選芯片地址 A15? A14? A13? A12
片選地址 A11? A10
芯片地址 A9? A8? A7? A6? A5? A4? A3? A2? A1? A0
片選邏輯式:CS0=A11 A10?? CS1=A11 A10
??????????? CS2=A11 A10?? CS3=A11 A10
4.中斷方式
??? 為了將主機(jī)與I/O設(shè)備連接成一臺計(jì)算機(jī)系統(tǒng),需要通過系統(tǒng)總線與各種接口實(shí)現(xiàn)連接,還要能夠選擇實(shí)現(xiàn)三種基本的I/O控制機(jī)制之一。這是由CPU級發(fā)展到系統(tǒng)級整機(jī)概念的關(guān)鍵,其中有關(guān)中斷方式和DMA方式的概念最為重要,也相對復(fù)雜些,因此被列為必須熟練掌握的核心內(nèi)容之一。
(1) 定義:當(dāng)CPU接到某個(gè)隨機(jī)的中斷請求信號后,暫停執(zhí)行當(dāng)前的程序,轉(zhuǎn)去執(zhí)行相應(yīng)的中斷處理程序,為該隨機(jī)事態(tài)服務(wù),服務(wù)完畢后自動返回并繼續(xù)執(zhí)行原程序。這一過程稱為中斷,采用這種方式控制I/O操作或處理隨機(jī)事件,稱為中斷方式。
(2) 特點(diǎn):通過執(zhí)行程序處理,具有隨機(jī)性。
(3) 應(yīng)用:抽象地說,中斷方式主要應(yīng)用于管理中低速I/O操作、處理復(fù)雜的隨機(jī)事件。具體的應(yīng)用實(shí)例如:故障處理、中低速I/O控制、通信、實(shí)時(shí)處理、人機(jī)對話等。
(4) 中斷過程:中斷請求信號的產(chǎn)生與傳送,屏蔽與判優(yōu),CPU響應(yīng)(保存斷點(diǎn)、轉(zhuǎn)向中斷處理程序入口),中斷處理(執(zhí)行處理程序),返回。(細(xì)節(jié)見教材)
(5) 向量中斷:這是現(xiàn)代計(jì)算機(jī)廣泛采用的一種獲取中斷處理程序入口的方式。事先將系統(tǒng)各個(gè)中斷處理程序的入口地址作為中斷向量,組織成一個(gè)中斷向量表,存放在主存的特定區(qū)域中;當(dāng)CPU響應(yīng)中斷請求并發(fā)出批準(zhǔn)信號后,提出該請求的中斷源(如某個(gè)中斷接口)向CPU送出自己的向量編碼(如中斷類型碼),CPU將它轉(zhuǎn)換成向量地址;據(jù)此訪問主存中的中斷向量表,從中讀取相應(yīng)的中斷處理程序入口地址,從而轉(zhuǎn)去執(zhí)行處理程序。
5.DMA方式
??? 作為三種I/O控制機(jī)制之一,DMA方式是一種重要的數(shù)據(jù)傳送方式。
(1) 定義:DMA方式是直接依靠硬件實(shí)現(xiàn)主存與I/O設(shè)備之間數(shù)據(jù)直接傳送的一種方式,在傳送過程中不需CPU程序干預(yù)。
(2) 特點(diǎn):直接依靠硬件實(shí)現(xiàn)數(shù)據(jù)傳送(不是依靠執(zhí)行程序),具有隨機(jī)性。
(3) 應(yīng)用:抽象地說,DMA方式適用于高速的簡單數(shù)據(jù)批量傳送。具體的應(yīng)用實(shí)例如:讀寫磁盤、光盤、磁帶等外存儲器時(shí)的數(shù)據(jù)傳送、網(wǎng)絡(luò)通信、動態(tài)刷新等。
(4) 典型過程:一次完整的調(diào)用過程包含三個(gè)階段:
A.DMA初始化。CPU執(zhí)行初始化程序:預(yù)置DMA控制器的工作方式,并向它送出傳送方向、
主存緩沖區(qū)首址、交換數(shù)據(jù)量等信息;向I/O設(shè)備接口送出讀寫命令、設(shè)備尋址信息,然后啟動設(shè)備工作。
B.DMA傳送。當(dāng)需要傳送時(shí),接口向DMA控制器提出DMA請求,然后DMA控制器向CPU申請總線控制權(quán),獲得批準(zhǔn)后由DMA控制器接管總線(送出總線地址和讀寫命令),接口和主存之間通過數(shù)據(jù)總線直接傳送。
C.結(jié)束處理。批量傳送結(jié)束后,接口向CPU提出中斷請求,CPU執(zhí)行中斷處理程序進(jìn)行結(jié)束處理。
簡答題:何謂中斷方式?舉出兩種應(yīng)用實(shí)例。
簡答題:比較并說明中斷方式與DMA方式的主要異同。
改錯題:DMA方式是直接依靠硬件實(shí)現(xiàn)主機(jī)與I/O設(shè)備之間的數(shù)據(jù)直傳。
注意,主機(jī)包括CPU與主存,而DMA方式正是要繞過CPU。

三、 需要掌握、理解的內(nèi)容(部分)
??? 雖然我們先突出了最重要的一些內(nèi)容,但為了建立整機(jī)概念還需要全面復(fù)習(xí)教材。限于篇幅,本文只能對其中的部分重點(diǎn)與難點(diǎn)進(jìn)行剖析,并給出一些題例,起到示范作用。注意,不能將本文視為考試范圍,復(fù)習(xí)時(shí)一定要以考核大綱為準(zhǔn)。
1.存儲程序工作方式:事先編寫程序,事先存儲程序,自動連續(xù)執(zhí)行程序。
2.計(jì)算機(jī)的特點(diǎn)?;诖鎯Τ绦蚬ぷ鞣绞胶蛿?shù)字化信息表示,計(jì)算機(jī)具有下述特點(diǎn):能在
程序控制下自動連續(xù)地工作,運(yùn)算速度快,運(yùn)算精度高,具有很強(qiáng)的信息存儲能力,通用性強(qiáng)。
3.?dāng)?shù)制轉(zhuǎn)換
單選題:(195)10=(B)2
A.11001101???? B.100111
C.1001101????? D.110010101
4.碼制轉(zhuǎn)換
單選題:若X=-01100100,則X補(bǔ)=(D)
A.01100100???? B.11100100
C.10011011???? D.10011100
5.定、浮點(diǎn)數(shù)的表示范圍、分辨率、典型值。關(guān)鍵是掌握它們的典型值,由此可知其表示范圍和分辨率。
單選題:某定點(diǎn)整數(shù)16位,含1位符號位,補(bǔ)碼表示,則所能表示的絕對值最大負(fù)數(shù)的十進(jìn)制真值為(A)
A.-215???? B.-216???? C.-(215-1)??? D.-(216-1)
6.I/O編址方法
??? CPU訪問I/O設(shè)備是通過接口中的寄存器進(jìn)行的,目前廣泛采用的有兩種I/O編址方法:
(1) 單獨(dú)編址。為I/O接口中的有關(guān)寄存器分配I/O端口地址,一般由地址總線若干低位提供I/O端口地址,從而選擇某個(gè)接口寄存器進(jìn)行讀/寫。
(2) 統(tǒng)一編址。將I/O接口中的有關(guān)寄存器與主存單元統(tǒng)一編址,一般將總線地址碼中高端(地址值大)的一段區(qū)域分配給I/O端口。
7.運(yùn)算部件的構(gòu)成@
??? 運(yùn)算分為算術(shù)運(yùn)算與邏輯運(yùn)算,算術(shù)運(yùn)算以加法器為核心。多位全加器加上進(jìn)位鏈構(gòu)成并行加法器,加法器加上輸入選擇邏輯成為多功能的算術(shù)邏輯運(yùn)算部件ALU,ALU加上移位邏輯可實(shí)現(xiàn)乘除運(yùn)算,而浮點(diǎn)運(yùn)算可分解為定點(diǎn)整數(shù)的階碼運(yùn)算和定點(diǎn)小數(shù)的尾數(shù)運(yùn)算。在簡單的CPU中可能只有一個(gè)ALU和一個(gè)移位器,而復(fù)雜的CPU中可能包含多個(gè)、多種運(yùn)算部件。
8.原碼運(yùn)算與補(bǔ)碼運(yùn)算
??? 簡答題:指出原碼運(yùn)算與補(bǔ)碼運(yùn)算的主要區(qū)別。
??? 原碼運(yùn)算主要用于乘除法,取尾數(shù)(絕對值)運(yùn)算,符號位單獨(dú)處理;其絕對值運(yùn)算又稱為無符號數(shù)運(yùn)算。補(bǔ)碼運(yùn)算包括加減乘除,其主要特點(diǎn)是符號位作為數(shù)的一部分直接參與運(yùn)算,又稱為帶符號數(shù)運(yùn)算。
9.組合邏輯控制器
??? 它通過組合邏輯電路產(chǎn)生微命令,產(chǎn)生微命令的輸入信號有:指令代碼(操作碼、尋址方式碼等),時(shí)序信號(工作周期、時(shí)鐘周期、工作脈沖),程序狀態(tài)(PSW中的標(biāo)志位),外部請求等。輸出為微命令(電位型、脈沖型)。優(yōu)點(diǎn):速度快。缺點(diǎn):設(shè)計(jì)較凌亂,不易修改擴(kuò)充。應(yīng)用于快速CPU中。
10.微程序控制器
??? 簡答題:簡述微程序控制方式的基本思想
(1) 產(chǎn)生微命令的方法:將所需的微命令以代碼形式編成若干條微指令,在制造CPU時(shí)將它們存入CPU內(nèi)的一個(gè)控制存儲器(ROM型)。CPU執(zhí)行指令時(shí),從控制存儲器中讀出微指令,即可獲得所需的微命令。
(2) 微程序與工作程序之間的對應(yīng)關(guān)系:一條微指令包含的微命令控制實(shí)現(xiàn)一步(一個(gè)時(shí)鐘周期)機(jī)器操作;若干條微指令組成一小段微程序,解釋實(shí)現(xiàn)一條機(jī)器指令;控制存儲器中的微程序能解釋實(shí)現(xiàn)全部指令系統(tǒng)。
簡答題:簡述微程序控制方式的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):設(shè)計(jì)比較規(guī)整,易于修改擴(kuò)充。
缺點(diǎn):速度較組合邏輯控制器稍慢。
應(yīng)用于對速度要求不是特別高的CPU中,例如Intel的80×86系列。
11.同步控制方式
??? 同步控制方式是這樣一種時(shí)序控制方式:各項(xiàng)操作都由統(tǒng)一的時(shí)序信號同步定時(shí),它的主要特征是有固定的時(shí)鐘周期劃分。這意味著什么時(shí)間執(zhí)行什么操作是事先安排好的,一項(xiàng)基本操作占用一個(gè)時(shí)鐘周期(節(jié)拍),某個(gè)操作發(fā)生的時(shí)刻由相應(yīng)的脈沖邊沿定時(shí)。
??? 在CPU內(nèi)部及各設(shè)備內(nèi)部一般都采用同步控制方式;在傳送距離較短、各設(shè)備速度差異不很大、傳送時(shí)間可大致預(yù)估的系統(tǒng)中,其系統(tǒng)總線也廣泛應(yīng)用同步控制方式,稱為同步總線。
12.異步控制方式
??? 在異步控制方式中,數(shù)據(jù)傳送及各項(xiàng)操作之間的銜接采用應(yīng)答方式實(shí)現(xiàn);所需時(shí)間視實(shí)際需要而定,能短則短,需長則長;其主要特征是沒有固定的時(shí)鐘周期劃分,由一組應(yīng)答信號定時(shí)。在傳送距離較長、系統(tǒng)內(nèi)各設(shè)備差異較大、傳送時(shí)間不易預(yù)先估計(jì)的系統(tǒng)中,其系統(tǒng)總線常采用異步控制方式,稱為異步總線。
13.總線及其分類
??? 總線是一組可由多個(gè)部件分時(shí)共享的傳送信息的公共線路。它可連接多個(gè)部件(共享),某一時(shí)刻只能有一個(gè)部件可通過總線發(fā)送數(shù)據(jù)(分時(shí)),但可將該數(shù)據(jù)傳送至一個(gè)或同時(shí)傳送至多個(gè)部件。
??? 按數(shù)據(jù)傳送格式,總線可分為串行總線與并行總線。按時(shí)序控制方式,總線可分為同步總線與異步總線,或再細(xì)分出一種同步擴(kuò)展總線。按所處的位置和功能,可分為CPU內(nèi)部總線、系統(tǒng)總線以及各種部件內(nèi)部總線。按傳送信息類型,可分為地址總線、數(shù)據(jù)總線、控制總線。
14.系統(tǒng)總線的信號組成
??? 典型的系統(tǒng)總線大致包括下述類型的信號:電源與地,地址,數(shù)據(jù),同步定時(shí)信號或異步應(yīng)答信號,數(shù)據(jù)傳送控制信號,中斷請求與批準(zhǔn)信號,總線請求與批準(zhǔn),系統(tǒng)復(fù)位等。
15.I/O接口的定義與分類
??? I/O接口是位于系統(tǒng)總線與I/O設(shè)備之間的邏輯部件,它提供了主機(jī)與I/O設(shè)備之間進(jìn)行信息傳送的界面和控制邏輯。
??? 按數(shù)據(jù)傳送格式,接口可分為串行接口與并行接口。注意,接口的一側(cè)面向系統(tǒng)總線,另一側(cè)面向I/O設(shè)備。對于并行接口,它與系統(tǒng)總線以及與I/O設(shè)備之間都是并行。而對于串行接口,它與系統(tǒng)總線之間仍為并行,與設(shè)備之間則是串行。因此在串行接口中需進(jìn)行串-并轉(zhuǎn)換,比并行接口復(fù)雜。
??? 按時(shí)序控制方式分類,接口可分為同步接口與異步接口。
??? 按I/O控制機(jī)制分類,接口可分為直接程序控制方式接口、中斷接口、DMA接口。
16.中斷接口的基本組成及功能
(1) 端口地址譯碼電路與讀寫控制。它決定是否訪問本接口,選擇接口的哪個(gè)寄存器,讀出還是寫入。
(2) 命令字及狀態(tài)字寄存器。CPU采用輸出指令通過數(shù)據(jù)總線向接口寫入命令字,其代碼將產(chǎn)生某些具體的操作命令。CPU采用輸入指令通過數(shù)據(jù)總線從接口讀取狀態(tài)字,以判別接口及設(shè)備的工作狀態(tài)。
(3) 數(shù)據(jù)緩沖寄存器/存儲器。它轉(zhuǎn)發(fā)輸入、輸出數(shù)據(jù),實(shí)現(xiàn)緩沖使主機(jī)與I/O設(shè)備之間達(dá)到速度匹配,及可能需要的串并格式轉(zhuǎn)換。
(4) 與設(shè)備特性及中斷機(jī)制有關(guān)的控制邏輯。通常將其中的公共部分(各接口公用)集中在中斷控制器中,它包含:暫存中斷請求信號、屏蔽、判優(yōu)、中斷類型碼、向CPU提出請求及接受批準(zhǔn)信號等。而某個(gè)設(shè)備的中斷信號產(chǎn)生電路,以及與該設(shè)備操作相關(guān)的控制邏輯,則位于該I/O接口中。
簡答題:簡述I/O接口的基本功能
(1) 地址譯碼,選取接口寄存器。
(2) 接收控制命令,提供工作狀態(tài)信息。
(3) 數(shù)據(jù)緩沖(速度匹配),格式轉(zhuǎn)換。
(4) 控制邏輯,如中斷、DMA控制邏輯,設(shè)備操作等。
17.三級存儲體系
??? 常見的三級存儲體系(從CPU往外)是:Cache、主存、外存。
??? 主存儲器用來存放需CPU運(yùn)行的程序和數(shù)據(jù)。用半導(dǎo)體RAM構(gòu)成,常包含少部分ROM??捎蒀PU直接編程訪問,采取隨機(jī)存取方式,即:可按某個(gè)隨機(jī)地址直接訪問任一單元(不需順序?qū)ふ?,存取時(shí)間與地址無關(guān)。存儲容量較大,常用字節(jié)數(shù)表示,有時(shí)也用單元數(shù)×位數(shù)表示。速度較快,以存取周期表示。
??? Cache位于CPU與主存之間(有些Cache集在CPU芯片之中),用來存放當(dāng)前運(yùn)行的程序和數(shù)據(jù),它的內(nèi)容是主存某些局部區(qū)域(頁)的復(fù)制品。它用快速的半導(dǎo)體RAM構(gòu)成,采取隨機(jī)存取方式。存儲容量較小而速度最快。
??? 外存儲器用來存放暫不運(yùn)行但需聯(lián)機(jī)存放的程序和數(shù)據(jù)。用磁盤、光盤、磁帶等構(gòu)成,磁盤用于需頻繁訪問場合,光盤目前多用于提供系統(tǒng)軟件,而磁帶多用于較大系統(tǒng)的備份。CPU不能直接編址訪問外存,而是將它當(dāng)作外圍設(shè)備調(diào)用。磁帶采取順序存取方式。磁盤與光盤采取直接存取(半順序)方式,先直接定位到某個(gè)局部區(qū)域,再在其中順序存取。外存容量可以很大,以字節(jié)數(shù)表示。由于外存的存取時(shí)間與數(shù)據(jù)所在位置有關(guān),所以不能用統(tǒng)一的存取周期指標(biāo)來表示。例如磁盤的速度指標(biāo)可按其工作過程分成三個(gè)階段描述:①平均尋道時(shí)間②平均旋轉(zhuǎn)延遲(等待)時(shí)間③數(shù)據(jù)傳輸率。
18.靜態(tài)RAM
??? 靜態(tài)RAM依靠雙穩(wěn)態(tài)電路(內(nèi)部交叉反饋)存儲信息,即一個(gè)雙穩(wěn)態(tài)電路單元存放一位二進(jìn)制信息,一種穩(wěn)態(tài)為0,另一種穩(wěn)態(tài)為1。只要電源正常就能長期保存信息,不需動態(tài)刷新,所以稱為靜態(tài)存儲器。一旦斷電則信息將會丟失,屬于易失性(揮發(fā)性)存儲器。與動態(tài)RAM相比,靜態(tài)RAM的速度更快,功耗較大,集成度較低,常用于容量較小的存儲器中。
改錯題:靜態(tài)RAM的“靜態(tài)”二字含意是:在工作中它的內(nèi)容靜止不變。
19.動態(tài)RAM
??? 動態(tài)RAM依靠電容暫存電荷來存儲信息,電容充電至高電平為1,放電至低電平為0。由于暫存電荷會逐漸泄漏,需要定期補(bǔ)充電荷來維持為1的存儲內(nèi)容,這種方法稱為動態(tài)刷新。由于需要動態(tài)刷新,所以稱為動態(tài)存儲器。在電源正常并采取動態(tài)刷新的條件下,可以長期保存信息。一旦斷電則信息丟失,也屬于易失性存儲器。與靜態(tài)RAM相比,動態(tài)RAM功耗較小,集成度較高,但速度稍慢一些。常用來構(gòu)成容量較大的存儲器。
20.動態(tài)刷新
??? 在動態(tài)存儲器中,定期對原存信息為1的電容補(bǔ)充電荷,稱為動態(tài)刷新。動態(tài)刷新的方法是:存儲器中各存儲芯片同時(shí)按行地讀出重寫。全部刷新一遍所允許的最大時(shí)間間隔稱為最大刷新周期,一般為2ms。動態(tài)刷新的安排方式有三種:集中刷新、分散刷新、異步刷新,目前廣泛采用后一種,或是利用DMA方式實(shí)現(xiàn),或是設(shè)置專門的刷新邏輯,或是將刷新邏輯集成在存儲芯片內(nèi)部。
21.磁盤存儲器
??? 對磁盤存儲器,要求大家掌握的內(nèi)容是:磁盤中的信息組織方法、在訪問磁盤時(shí)應(yīng)給出的尋址信息、能結(jié)合磁盤調(diào)用闡述DMA方式(如二、5所述)。
??? 在軟件組織這一層次,信息是以文件的形式進(jìn)行組織并存放于磁盤之中,用戶只需按文件名進(jìn)行存取。在物理層次中,一個(gè)文件分成若干個(gè)數(shù)據(jù)塊,一個(gè)數(shù)據(jù)塊包含若干字節(jié),常見的作法是每個(gè)數(shù)據(jù)塊的字節(jié)數(shù)固定(例如512B),稱為定長數(shù)據(jù)塊。相應(yīng)地,磁盤中的信息分布也分為幾個(gè)層次,以硬盤為例:一個(gè)硬盤驅(qū)動器中有一個(gè)盤組,包含若干盤片/記錄面;每個(gè)記錄面上分為若干磁道,呈同心圓狀;每個(gè)磁道按一定磁道格式劃分為若干扇區(qū),每個(gè)扇區(qū)可存放一個(gè)數(shù)據(jù)塊;在扇區(qū)內(nèi),數(shù)據(jù)按位串行記錄。
??? 相應(yīng)地,從物理操作層次看,在調(diào)用磁盤時(shí)驅(qū)動程序需向適配卡送出如下一些尋址信息:臺號(驅(qū)動器號),圓柱號(磁道號),記錄面號(磁頭號),扇區(qū)號(數(shù)據(jù)塊號)。如果一個(gè)文件中的各數(shù)據(jù)塊是順序存放,則尋址信息中還給出一項(xiàng):交換量。如果文件中的各數(shù)據(jù)塊不是順序存放而是隨機(jī)存放,則每次都應(yīng)給出其扇區(qū)號。
??? 因此磁盤驅(qū)動器的工作過程分為幾個(gè)階段:①尋道。盤片等速旋轉(zhuǎn),磁頭沿徑向移動以尋找(定位)信息存取位置所在磁道。②尋找扇區(qū)。尋道完成后,磁頭不動,盤片旋轉(zhuǎn),等待扇區(qū)頭部經(jīng)過磁頭。③連續(xù)讀/寫。當(dāng)扇區(qū)頭到經(jīng)過磁頭時(shí)開始連續(xù)讀出或?qū)懭耄藭r(shí)盤片連續(xù)旋轉(zhuǎn)而磁頭不動,直到需轉(zhuǎn)入另一圓柱面的磁道時(shí)才重新移動磁頭。
22.鍵盤
??? 鍵盤上的鍵被連接成行列矩陣,每個(gè)鍵位于某行與某列的交點(diǎn)位置,即該鍵的一端連接到某根行線(i),而另一端連接到某根列線(j)。因此識別按鍵的基本方法是依序掃描,查找按鍵所處行列位置(i,j),稱為掃描碼,再查表將行列位置轉(zhuǎn)換為該按鍵的鍵碼(一般是ASCII碼)。廣泛使用的是軟件掃描,其中比較簡單、易于理解而又具有實(shí)用價(jià)值的是軟件逐行掃描法。
簡答題:簡述鍵盤的軟件逐行掃描法
答:如圖(本文略)所示,①當(dāng)有鍵按下時(shí),鍵盤產(chǎn)生中斷請求,CPU執(zhí)行鍵盤掃描子程序。②CPU通過數(shù)據(jù)線輸出代碼至各行線,從第0行開始,逐行為0,其余各行為1。將列線輸出送CPU進(jìn)行判斷,判別其中是否有一位為0,哪一位為0。③假定掃描至第i行為0時(shí)發(fā)現(xiàn)第j列輸出為0,則按鍵位置為(i,j)。④查表,將行列碼(i,j)轉(zhuǎn)換為ASCII鍵碼。
23.CRT顯示器
??? 為了掌握顯示器的基本原理,關(guān)鍵是理解屏幕顯示與顯示緩存之間的一組對應(yīng)關(guān)系(存儲容量、信息轉(zhuǎn)換、地址組織、同步控制)。從存儲器角度看,在主存中開辟有顯示輸出緩沖區(qū),在顯卡(適配器)上有相應(yīng)的顯示緩存(VRAM)。利用屏幕回掃消隱時(shí)間,驅(qū)動程序?qū)⒋@示的信息(字符碼或位象代碼)從主存輸出到顯卡上的緩存。在屏幕正程掃描顯示期間,顯示緩存中的信息(或經(jīng)信息轉(zhuǎn)換)送往屏幕顯示。從屏幕顯示角度,分為字符顯示、圖像顯示兩大類。對于字符顯示方式,從顯示緩存中讀出的是字符編碼,需經(jīng)過字符發(fā)生器轉(zhuǎn)換為字符點(diǎn)陣代碼,按點(diǎn)陣成象原理在屏幕上形成字符圖形。如果是圖形方式,從顯示緩存中讀出的是位象編碼,例如按光柵掃描順序,每8位像點(diǎn)代碼為一個(gè)字節(jié)。
簡答題:若字符顯示規(guī)格為80列×25行,則顯示緩存的基本容量應(yīng)不小于多少?
答:80×25=2000字節(jié)。
注意,為了獲得豐富的顯示效果,顯示信息中除字符編碼外還有彩色/灰度、顯示屬性等,因此實(shí)際的緩存容量要遠(yuǎn)大于上述最小值。
簡答題:若圖形顯示規(guī)格為800×600,則顯示緩存的基本容量應(yīng)不少于多少?
答:(800×600)÷8=60000字節(jié)。
簡答題:字符顯示規(guī)格為80列×25行,若要在第1行第3列顯示一個(gè)A,該字符編碼應(yīng)存放在基本緩存第幾個(gè)單元?
答:(1×80)+3=83@
注意,行號與列號都是從0開始。地址組織與掃描順序相應(yīng),掃描順序自左向右、自上而下,地址碼自0開始增加。

四、 匯編語言程序設(shè)計(jì)
??? 學(xué)習(xí)匯編語言程序設(shè)計(jì)的目的,一是能讀懂程序,二是編寫程序段。相應(yīng)地考核題型也就是這兩種,前者稱為分析題,后者納入設(shè)計(jì)題。按照學(xué)時(shí)比例,這部分約占總分的五分之一左右。第四章內(nèi)容雖不是直接考核對象,但它們是完成程序設(shè)計(jì)題的基礎(chǔ),大家應(yīng)當(dāng)按教材的學(xué)習(xí)目標(biāo)進(jìn)行復(fù)習(xí)。
??? 由于程序設(shè)計(jì)部分內(nèi)容的特點(diǎn),我們無法像前面那樣復(fù)述主要的概念與結(jié)論,只能逐個(gè)說明各部分的考核內(nèi)容與要求,在最后給出示范考題供參考。
1.8086/8088的寄存器、存儲器和堆棧
??? 重點(diǎn)是:①理解標(biāo)志寄存器各狀態(tài)標(biāo)志位的含意。②掌握堆棧壓入指令PUSH和彈出指令POP的功能,特別是對堆棧指針SP的操作。
2尋址方式
??? 要求掌握六種常用的尋址方式:寄存器尋址方式、立即數(shù)尋址方式、直接尋址方式、寄存器間址方式、變址尋址和基址尋址方式、基址變址尋址方式。主要是通過閱讀程序和編寫程序來掌握這些尋址方式的應(yīng)用,對存儲器中的操作數(shù)可使用不同的尋址方式進(jìn)行存取,編程時(shí)應(yīng)根據(jù)需要選擇合適的尋址方式。例如連續(xù)訪問一維數(shù)組中的各元素,可用寄存器間址或變址(基址)尋址方式。
3.8086/8088指令
??? 由于指令條數(shù)較多,不易記憶,造成復(fù)習(xí)困難。為了使同學(xué)們能掌握最常用的指令,為讀懂程序和編寫簡單程序段打下基礎(chǔ),本文列出一些需熟練掌握的指令(注意,并不是其它指令就不重要了,它們在實(shí)際的程序中也要用到)。
(1) 傳送類:數(shù)據(jù)傳送指令MOV、交換指令XCHG、裝入有效地址指令。注意,這三條指令對狀態(tài)標(biāo)志位無影響。
(2) 算術(shù)運(yùn)算類:加法指令ADD、帶進(jìn)位加法指令ADC、加1指令I(lǐng)NC;減法指令SUB、帶借位減法指令SBB、減1指令DEC、求負(fù)數(shù)指令NEG、比較指令CMP;無符號數(shù)乘法指令MUL、無符號數(shù)除法指令DIV。
注意,要掌握加減運(yùn)算指令對狀態(tài)標(biāo)志位的影響。
(3) 位操作類:邏輯與指令A(yù)ND、邏輯或指令OR、邏輯異或指令XOR、邏輯非指令NOT、測試指令TEST;算術(shù)左移SAL、算術(shù)右移SAR、邏輯左移SHL、邏輯右移SHR、循環(huán)左移ROL、循環(huán)右移ROR、帶進(jìn)位循環(huán)左移RCL、帶進(jìn)位循環(huán)右移RCR等。
注意,要掌握邏輯運(yùn)算指令和測試指令對狀態(tài)標(biāo)志位的影響。
(4) 標(biāo)志位操作指令:清除進(jìn)位標(biāo)志CLC、進(jìn)位標(biāo)志置位STC。
對于上面這些最常用的指令,要掌握它們的格式、功能、以及在程序中的使用。
4.匯編語言中的常用運(yùn)算符
(1) 算術(shù)運(yùn)算符:+、-、〔? 〕(下標(biāo)運(yùn)算)
(2) 數(shù)值返回運(yùn)算符:SEG、OFFSET、TYPE、SIZE、LENGTH。
(3) 屬性運(yùn)算符:PTR
5.常用偽指令
(1)? 符號定義偽指令:等值偽指令EQU、等號偽指令“=”。
(2) 數(shù)據(jù)定義偽指令:DB、DW、DD
注意掌握如何使用數(shù)據(jù)定義偽指令來定義變量,以及為變量賦初值的表達(dá)式的幾種形式:數(shù)值表達(dá)式、?表達(dá)式、字符串表達(dá)式、帶DUP表達(dá)式。
(3) LABEL偽指令@
注意LABEL偽指令與指令或數(shù)據(jù)定義偽指令連用時(shí)的使用方法。
(4) 段結(jié)構(gòu)偽指令
要求掌握:段定義偽指令SEGMENT/ENDS、段尋址偽指令A(yù)SSUME、END偽指令在程序中的使用;匯編語言源程序的分段結(jié)構(gòu)和段寄存器的裝入。
(5) 過程定義偽指令PROC/ENDP
可結(jié)合子程序設(shè)計(jì),掌握在同一代碼段中使用過程定義偽指令去定義子程序。
(6) 定位偽指令ORG:在數(shù)據(jù)段中的使用。
6.順序程序設(shè)計(jì)@
??? 要求能編制順序程序段完成四則運(yùn)算多項(xiàng)式的計(jì)算及指定功能。
7.分支程序設(shè)計(jì)
??? 要求能使用轉(zhuǎn)移指令編制具有2~3個(gè)分支結(jié)構(gòu)的程序段。
(1) 無條件轉(zhuǎn)移指令JMP:掌握段內(nèi)直接尋址轉(zhuǎn)移。
(2) 條件轉(zhuǎn)移指令
掌握:簡單條件轉(zhuǎn)移指令JC、JNC、JE、JNE、JS、JNS,無符號數(shù)條件轉(zhuǎn)移指令JA、JAE、JB、JBE,帶符號數(shù)條件轉(zhuǎn)移指令JG、JGE、JL、JLE。
注意區(qū)分無符號數(shù)條件轉(zhuǎn)移指令與帶符號數(shù)條件轉(zhuǎn)移指令的使用場合。
8.循環(huán)程序設(shè)計(jì)
??? 要求能使用循環(huán)控制指令或轉(zhuǎn)移指令編制簡單的單重循環(huán)程序段,重點(diǎn)是LOOP循環(huán)控制指令的功能和使用。
9.子程序設(shè)計(jì)
??? 掌握子程序調(diào)用指令CALL、子程序返回指令RET的功能與使用,使用寄存器傳遞主、子程序參數(shù)的方法,能編制程序段實(shí)現(xiàn)段內(nèi)的子程序調(diào)用與返回。
10.DOS功能子程序調(diào)用
??? 要求掌握四種DOS功能調(diào)用:帶顯示的鍵盤輸入(1號功能)、字符串輸入(OAH號功能)、單字符顯示(2號功能)、字符串顯示(9號功能)。
11.分析題舉例(閱讀程序段后給出答案,每小題5分)
(1) MOV? AL,0FH
??? MOV? BL,10H
??? CALL? SUB1
??? INC? AL
DEC? BL
SUB1? PROC
??? ADD? AL,BL
??? XCHG? AL,BL
??? RET
SUB1? ENDP
上述程序段運(yùn)行后,(AL)=11H,(BL)=1EH。
(2) 設(shè)(DX)=1234H
??? MOV? CL,8
??? ROR? DX,CL
??? AND? DX,0FFH
??? CMP? DX,12H
上述程序段運(yùn)行后,(Dx)=12H,ZF=1
12.設(shè)計(jì)題舉例(每小題5分)
(1) 編寫一程序段,計(jì)算x2+y-5多項(xiàng)式的值。
說明:多項(xiàng)式存于AX中,x、y是無符號數(shù)。
? 數(shù)據(jù)說明:x? DB? 0CH
???????????? y? DB? 06H
參考答案:
MOV? AL,x
MUL? x
ADD? AL,y
ADC? AH,0
SUB? AX,5
(2) 編寫一程序段,統(tǒng)計(jì)數(shù)據(jù)區(qū)BUF中0的個(gè)數(shù),并存入RES單元。數(shù)據(jù)段為:
DATA? SEGMENT
BUF? DB? 0,5,0,3,2
RES? DB? ?
DATA? ENDS
參考答案:MOV? CX,5
MOV? SI,OFFSET? BUF
MOV? BL,0
LOP:MOV? AL,〔SI〕
CMP? AL,0
JNE? NEXT
INC? BL
NEXT:INC? SI
LOOP? LOP
MOV? RES,BL

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1490次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  93次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  10次下載  |  免費(fèi)
  11. 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  12. 0.11 MB  |  4次下載  |  免費(fèi)
  13. 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
  14. 0.23 MB  |  3次下載  |  免費(fèi)
  15. 8基于單片機(jī)的紅外風(fēng)扇遙控
  16. 0.23 MB  |  3次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30320次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537791次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)