計(jì)算機(jī)組成原理-教案-唐朔飛_第1頁
計(jì)算機(jī)組成原理-教案-唐朔飛_第2頁
計(jì)算機(jī)組成原理-教案-唐朔飛_第3頁
計(jì)算機(jī)組成原理-教案-唐朔飛_第4頁
計(jì)算機(jī)組成原理-教案-唐朔飛_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計(jì)算機(jī)與信息技術(shù)學(xué)院

課程教案

專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)___________

課程________計(jì)算機(jī)組成原理_________________

講授人_______________________________________

2015年9月10日

(一)課程名稱:計(jì)算機(jī)組成原理

(二)學(xué)時(shí)學(xué)分:周4學(xué)時(shí),4學(xué)分

(三)預(yù)修課程:數(shù)字邏輯、匯編語言

(四)使用教材

唐朔飛編著:《計(jì)算機(jī)組成原理》(第2版),高等教育出版社,2008年1月

第2版。

(五)教學(xué)參考書(3本以上)

1、王愛英編著:《計(jì)算機(jī)組成與結(jié)構(gòu)》(第4版),清華大學(xué)出版社,2007年3

月版.

2、白中英編著:《計(jì)算機(jī)組成原理》(第5版),科學(xué)出版社,2013年2月版。

3、WilliamStallings編著:《計(jì)算機(jī)組織與結(jié)構(gòu)-性能設(shè)計(jì)》(第8版),機(jī)械

工業(yè)出版社,2011年11月版。

4、李業(yè)民編著:《計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)》(第1版),清華大學(xué)出版社,2000

年4月版。

(六)教學(xué)方法:課堂講授,課程設(shè)計(jì),師生互動(dòng),理論與實(shí)驗(yàn)結(jié)合教學(xué).

(七)教學(xué)手段:多媒體教學(xué)。

(八)考核方式:閉卷考試.

(九)學(xué)生創(chuàng)新精神與實(shí)踐能力的培養(yǎng)方法:通過老師出題、小組討論、實(shí)

瞼、學(xué)生自由發(fā)言等方式使學(xué)生掌握基本的計(jì)算機(jī)專業(yè)思維,提高學(xué)生分析問題、

解決問題的能力,培養(yǎng)學(xué)生的動(dòng)手能力,寫作能力和表達(dá)能力,將為學(xué)生奠定深

厚的專業(yè)潛力和良好的專業(yè)素質(zhì).

(十)其它要求:嚴(yán)格考勤,學(xué)生課堂表現(xiàn)及課堂參與情況占學(xué)生成績的

15%,當(dāng)堂測試、課程論文和課下作業(yè)占學(xué)生成績的15%,期末成績占70乳

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

教學(xué)時(shí)數(shù):2學(xué)時(shí)

教學(xué)目的與要求:要求學(xué)生了解計(jì)算機(jī)系統(tǒng)的基本概念,.使學(xué)生初步掌握計(jì)

算機(jī)系統(tǒng)的基本概念及本書的基本結(jié)構(gòu),為進(jìn)一步深入學(xué)習(xí)打下基礎(chǔ)。

教學(xué)重點(diǎn):掌握馮?諾依曼計(jì)算機(jī)的架構(gòu)、計(jì)算機(jī)基本技術(shù)指標(biāo)。

教學(xué)難點(diǎn):引入馮?諾依曼計(jì)算機(jī)的架構(gòu)、總概全書。

第一節(jié)計(jì)算機(jī)系統(tǒng)簡介(了解)

「中央處理器(CPU)r運(yùn)算器

「主機(jī)J1控制器

f只讀存儲(chǔ)器(ROM)

〔內(nèi)存儲(chǔ)器[可讀可寫存儲(chǔ)器(RAM)

C輸入設(shè)備(如:鍵盤、鼠標(biāo))

計(jì)外部沒備1輸出設(shè)備(如:顯示器、打印機(jī))

算1〔外部存儲(chǔ)器(如:磁盤、磁帶、光盤)

機(jī)’操作系統(tǒng)

([匯編程序

統(tǒng)系語言處理程序]解釋程序

統(tǒng)<L編譯程序

軟(-數(shù)據(jù)庫管理系統(tǒng)(如FOXBASE)

件診斷程序(如DIAGS)

、支持軟件I調(diào)試程序(如DEBUG)

]編輯程序(如EDIT)

鏈接程序(如LINK)

〔網(wǎng)絡(luò)通信系統(tǒng)

I應(yīng)用軟件(如WPS)

第二節(jié)計(jì)算機(jī)的基本組成(重點(diǎn))

層次結(jié)構(gòu)

_________硬件層次結(jié)構(gòu)_________

數(shù)據(jù)模型、算法

___________用戶程序___________

作為軟件資源的應(yīng)用程序

語言處理程序(解釋、編譯)

操作系統(tǒng)一

機(jī)器語言(指令系統(tǒng))一

微程序控制器

______________________________

硬件邏輯部件一

虛擬機(jī)層次結(jié)構(gòu)

應(yīng)用程序虛擬機(jī)一

高級(jí)語言虛擬機(jī)

匯編語言虛擬機(jī)

-2-

操作系統(tǒng)虛擬機(jī)

指令系統(tǒng)、機(jī)器語言一

裸機(jī)(硬件)一

編譯:將源程序的全部語句變成機(jī)器語言,然后執(zhí)行。

解釋:將源程序的一條語句變成機(jī)器語言并執(zhí)行,然后再把下一條語句變成

機(jī)器語言并執(zhí)行,直到結(jié)束。

透明:本來存在的事物或?qū)傩?,從某個(gè)角度看卻好象不存在,稱為透明。

虛擬機(jī):由軟件實(shí)現(xiàn)功能的機(jī)器稱為虛擬機(jī)。

馮一諾依曼(VonNeumann)型計(jì)算機(jī)

1)計(jì)算機(jī)分為五部分:運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備,計(jì)

算機(jī)以運(yùn)算器為中心,輸入輸出設(shè)備與存儲(chǔ)器之間的數(shù)據(jù)傳送都要經(jīng)過運(yùn)算器,

各部分的操作及其相互之間的聯(lián)系都要由控制器集中控制。

(指令流生成控制流,控制流控制數(shù)據(jù)流)

2)存儲(chǔ)器按比址方問,它是一個(gè)廊序的線性編力:的一維空旬,甩個(gè)單元的

位數(shù)是固定的.

3)采用存儲(chǔ)盅控制器

3二存儲(chǔ)器中,指a和數(shù)據(jù)等

同看待,指令和數(shù)據(jù)都可以送入運(yùn)算器中運(yùn)算,即由指令組成的程序是可以在運(yùn)

行過程中被修改.

4)數(shù)據(jù)以二進(jìn)制編碼,采用二進(jìn)制運(yùn)算.

5)指令由操作碼和地址碼兩部分組成.操作碼表示指令的性質(zhì),地址碼表示

操作數(shù)所在的位置.

6)指令在存儲(chǔ)器中基本采用順序執(zhí)行,由指令計(jì)數(shù)器指明要執(zhí)行的指令在

存儲(chǔ)器中的地址。

第三節(jié)計(jì)算機(jī)硬件的主要技術(shù)指標(biāo)(重點(diǎn))

lo字長

CPU一次處理的最大的二進(jìn)制數(shù)的位數(shù)為機(jī)器字長.機(jī)器字長:是指參與運(yùn)算

的數(shù)的基本位數(shù),它標(biāo)志著計(jì)算精度,位數(shù)越多,精度越高,但硬件成本也越高,

因?yàn)樗麤Q定著寄存器、運(yùn)算部件、數(shù)據(jù)總線等的位數(shù).

2.主存容量

主存儲(chǔ)器是CPU可以直接訪問的存儲(chǔ)器,需要執(zhí)行的程序與需要處理的數(shù)

-3-

據(jù)就放在主存中。主存容量大則可以運(yùn)行比較復(fù)雜的程序,并可以存入大量信息,

可以利用更完善的軟件支撐環(huán)境。所以計(jì)算機(jī)處理能力的大小在很大程度上取決

于主存容量的大小。主存容量的記法有兩種:字節(jié)數(shù)(如PC機(jī),640KB)和單元數(shù)

(字?jǐn)?shù))*位數(shù)(如64K*16)。

3.外存容量

外存容量一般是指計(jì)算機(jī)系統(tǒng)中聯(lián)機(jī)運(yùn)行的外存儲(chǔ)容量.

4.運(yùn)算速度

(l)CPU時(shí)鐘頻率

計(jì)算機(jī)的操作需要分步執(zhí)行,每個(gè)時(shí)鐘周期完成一步操作,所以時(shí)鐘頻率在

很大程度上反映了CPU速度的快慢。

(2)每秒平均執(zhí)行指令數(shù)(ips)

由于各種指令的執(zhí)行時(shí)間不等,所以這種描述是粗略的。通常,一條指令能

實(shí)現(xiàn)一次定點(diǎn)加減運(yùn)算,所以ips值大致相當(dāng)于每秒鐘能完成的定點(diǎn)加減運(yùn)算次

數(shù)。

(3)單獨(dú)注明時(shí)間。

第四節(jié)本書結(jié)構(gòu)

本章思

Io什么

計(jì)算機(jī)系統(tǒng)、

算機(jī)硬件和

件?

2.如何

解計(jì)算機(jī)系

的層次結(jié)

構(gòu)?

3.說明

級(jí)語言、匯編

言和機(jī)器語言

的區(qū)別及聯(lián)系。

4.指令和數(shù)據(jù)都存在存儲(chǔ)器中,如何區(qū)分它們?

5o什么是指令?什么是程序?

第二章計(jì)算機(jī)的發(fā)展及應(yīng)用

-4-

教學(xué)時(shí)數(shù):2學(xué)時(shí)

教學(xué)目的與要求:通過本章的講述,使學(xué)生初步了解計(jì)算機(jī)系統(tǒng)的發(fā)展歷史、

應(yīng)用前景,增進(jìn)和培養(yǎng)學(xué)生的學(xué)習(xí)興趣。

教學(xué)重點(diǎn):掌握計(jì)算機(jī)發(fā)展趨勢。

第一節(jié)計(jì)算機(jī)的發(fā)展史

lo從物理器件的角度分為五代計(jì)算機(jī):

(1)第一代電子管計(jì)算機(jī)

(2)第二代晶體管計(jì)算機(jī)

(3)第三代集成電路計(jì)算機(jī)

(4)笫四代大規(guī)模集成電路計(jì)算機(jī)

(5)第五代超大規(guī)模集成電路計(jì)算機(jī)(人工智能)

2。從計(jì)算機(jī)的體積可分為:巨、大、中、小、微型計(jì)算機(jī)。

3.從運(yùn)算能力可分為:4,8,16,32,64位計(jì)算機(jī)。

第二節(jié)計(jì)算機(jī)的應(yīng)用

1.科學(xué)計(jì)算和數(shù)據(jù)應(yīng)用

2.工業(yè)控制和實(shí)時(shí)控制

3。網(wǎng)絡(luò)技術(shù)

4。虛擬現(xiàn)實(shí)

5o辦公自動(dòng)化

6.多媒體技術(shù)

7.人工智能

第三節(jié)計(jì)算機(jī)的展望

1.串行算法改為并行算法,出現(xiàn)了向量計(jì)算機(jī)、并行計(jì)算機(jī)和多處理機(jī)等。

2.高級(jí)語言與機(jī)器語言的語義距離縮小,出現(xiàn)了面向高級(jí)語言機(jī)器和直接執(zhí)

行高級(jí)語言機(jī)器。

3。硬件子系統(tǒng)與操作系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)軟件相適應(yīng),出現(xiàn)了面向操作

系統(tǒng)機(jī)器和數(shù)據(jù)庫計(jì)算機(jī)。

4.計(jì)算機(jī)系統(tǒng)從指令驅(qū)動(dòng)型改變?yōu)閿?shù)據(jù)驅(qū)動(dòng)型和需求驅(qū)動(dòng)型,出現(xiàn)了數(shù)據(jù)

流機(jī)器和歸約機(jī)。

5.為了適應(yīng)特定應(yīng)用環(huán)境而出現(xiàn)了各種專用計(jì)算機(jī)。

6。為了獲得高可靠性而研制容錯(cuò)計(jì)算機(jī).

7.計(jì)算機(jī)系統(tǒng)功能分散化、專業(yè)化,出現(xiàn)了各種功能分布計(jì)算機(jī)。

8。出現(xiàn)了與大規(guī)模、超大規(guī)模集成電路相適應(yīng)的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu).

9.出現(xiàn)了處理非數(shù)值化信息的智能計(jì)算機(jī).

-5-

本章思考題

1.計(jì)算機(jī)更新?lián)Q代以什么為依據(jù)?

2。什么是摩爾定律?該定律是否永遠(yuǎn)生效?

3o說明網(wǎng)絡(luò)技術(shù)的應(yīng)用。

4。說明人工智能的應(yīng)用.

5。舉例說明哪些應(yīng)用需要采用多媒體技術(shù)?

第三章系統(tǒng)總線

教學(xué)時(shí)數(shù):2學(xué)時(shí)

教學(xué)目的與要求:使學(xué)生掌握總線系統(tǒng)的基本概念,總線的主要技術(shù)指標(biāo),

單、多總線架構(gòu)的特點(diǎn)及機(jī)內(nèi)的通信方式。

教學(xué)重點(diǎn):總線的概念和結(jié)構(gòu)形態(tài)、信息傳送方式.

教學(xué)難點(diǎn):總線的仲裁、總線數(shù)據(jù)的傳送模式。

第一節(jié)總線的基本概念

在計(jì)算機(jī)的內(nèi)部,CPU和存儲(chǔ)器之間由總線連接??偩€是用來連接計(jì)算機(jī)

中的多個(gè)部件,以實(shí)現(xiàn)部件之間信息交換的一組導(dǎo)線。

總線按照它的任務(wù)劃分,可分為三級(jí):

1.片內(nèi)總線指芯片內(nèi)部的總線。如CPU內(nèi)部總線,他連接CPU內(nèi)部的各

個(gè)寄存器和算術(shù)邏輯運(yùn)算部件。

2.系統(tǒng)總線指CPU、主存、I/O(通過I/O接口)各大部件之間的信息傳輸

線。系統(tǒng)總線根據(jù)其傳遞的信號(hào)不同可以分為地址總線、數(shù)據(jù)總線和控制總線。。

3.通信總線用丁比接計(jì)算機(jī)系統(tǒng)之間或計(jì)算機(jī)系統(tǒng)與其他系統(tǒng)之間的通信。

我們所說的總線,一般情況指系統(tǒng)總線。

總線在傳輸數(shù)據(jù)格式上采用串行傳輸和并行傳輸兩類。能一次并行傳輸?shù)臄?shù)

據(jù)位數(shù)被定義為總線的數(shù)據(jù)通路寬度,而單位時(shí)間能傳輸?shù)臄?shù)據(jù)量被定義為總線

的數(shù)據(jù)傳輸率。

完成一次總線傳送操作所需的時(shí)間稱為一個(gè)總線周期。根據(jù)總線可能的傳送

方向,總線可分為單向總線和雙向總線。

第二節(jié)總線的分類

狹義的總線實(shí)體是一組傳送線。它們的定義與允許的工作方式派生出相應(yīng)的

總線邏輯,如:接收與發(fā)送信息邏輯,為共享總線所需的緩沖器,對(duì)總線控制權(quán)

的申請、仲裁、批準(zhǔn)與控制權(quán)轉(zhuǎn)移邏輯,為與總線標(biāo)準(zhǔn)匹配所要求的信號(hào)轉(zhuǎn)換等。

所以,總線實(shí)體是一組傳送線路與相應(yīng)的控制邏輯.

1)從系統(tǒng)組成角度分類

在小規(guī)模系統(tǒng)中,常用一組系統(tǒng)總線連接CPU、主存、接口與外圍設(shè)備,

-6-

稱為單總線結(jié)構(gòu)。在較大規(guī)模系統(tǒng)中,常設(shè)置多組總線,如:在主存與CPU之間

設(shè)置一組專用的高速存儲(chǔ)總線,而將連接外圍設(shè)備的系統(tǒng)總線稱I/O擴(kuò)展總線。

在一些系統(tǒng)中,將直接與CPU連接的一段總線稱局部總線,將經(jīng)過總線控

制器擴(kuò)充后的總線稱為系統(tǒng)總線。

連接系統(tǒng)內(nèi)部CPU、主存、接口與常規(guī)外圍設(shè)備的總線稱為系統(tǒng)內(nèi)總線.把

計(jì)算機(jī)系統(tǒng)之間,計(jì)算機(jī)系統(tǒng)與通信設(shè)備或其他系統(tǒng)外設(shè)之間的連接總線稱為系

統(tǒng)外總線。

在松耦合多機(jī)系統(tǒng)中,常將各節(jié)點(diǎn)內(nèi)部的總線稱為局部總線,節(jié)點(diǎn)間的總線稱

為通信總線。

2)按數(shù)據(jù)傳送格式分類

并行總線:用多根數(shù)據(jù)線同時(shí)傳送一個(gè)字節(jié)或一個(gè)字的所有代碼位,可以同

時(shí)傳送的數(shù)據(jù)位數(shù)稱為該總線的數(shù)據(jù)通路寬度.計(jì)算機(jī)的系統(tǒng)總線大多是并行總

線。

串行總線;按位串行傳送數(shù)據(jù),即按數(shù)據(jù)代碼位流的順序逐位傳送.

3)按時(shí)序控制方式分類

系統(tǒng)總線所連接的CPU與各種外圍設(shè)備往往有各自獨(dú)立的工作時(shí)序,在通過

總線傳送數(shù)據(jù)信息時(shí),其時(shí)序控制方式有同步方式和異步方式之分,相應(yīng)地,也

將總線分為同步總線和異步總線兩類。

同步總線:數(shù)據(jù)傳送操作由統(tǒng)一的系統(tǒng)時(shí)鐘同步定時(shí),其顯著特征是有亞格

的時(shí)鐘周期劃分,一次傳送操作所需的一個(gè)總線周期可能包括若干時(shí)鐘周期.在

單機(jī)系統(tǒng)中,系統(tǒng)時(shí)鐘曰CPU提供。在多機(jī)系統(tǒng)中,或由負(fù)責(zé)系統(tǒng)管理的主CPU

提供,或?qū)iT設(shè)置一個(gè)系統(tǒng)時(shí)鐘.

第三節(jié)總線特性及性能指標(biāo)

同步控制方式以時(shí)鐘周期為劃分時(shí)間段的基準(zhǔn),一個(gè)總線周期占用多個(gè)時(shí)鐘

周期,必要時(shí)候,一個(gè)總線周期所包含的時(shí)鐘周期數(shù)目并不固定,但都是以完整

的時(shí)鐘周期為基準(zhǔn)的。例如,DMA控制器向CPU提出總線請求,獲得總線控制

權(quán)后實(shí)現(xiàn)一次總線傳送.通常這一過程要經(jīng)過以下幾步:

(1)SO狀態(tài):DMA控制器提出總線請求(BREQ),此時(shí)CPU正控制總線

訪問主存,因此DMA控制器處于等待批準(zhǔn)的SO狀態(tài),可能要等待幾個(gè)時(shí)鐘周期。

(2)S1狀態(tài):CPU結(jié)束一次總線周期操作,發(fā)出總線批準(zhǔn)信號(hào)BACK,進(jìn)入

總線控制權(quán)交換狀態(tài)S1狀態(tài)。在S1狀態(tài)中,CPU放棄總線,DMA控制器向總

線送出地址碼,接管總線控制權(quán),并進(jìn)入下一狀態(tài)。

(3)S2狀態(tài):由DMA控制器發(fā)出讀命令,從發(fā)送設(shè)備中讀出數(shù)據(jù),送入有關(guān)的

數(shù)據(jù)寄存器,并發(fā)送到數(shù)據(jù)總線上。

-7-

(4)S3狀態(tài):由DMA控制器發(fā)出寫命令,將數(shù)據(jù)總線信息寫入接收設(shè)備.

(5)S4狀態(tài):延長狀態(tài),如果在S3狀態(tài)中沒有完成總線傳送,可以延長

總線周期,進(jìn)入S4狀態(tài)。

結(jié)束一個(gè)總線周期后,DMA控制器放棄系統(tǒng)總線,將總線控制權(quán)交回CPUo

第四節(jié)總線結(jié)構(gòu)和總線控制

異步總線:對(duì)總線操作的控制與數(shù)據(jù)傳送,以應(yīng)答方式實(shí)現(xiàn),特點(diǎn)是沒有固

定的時(shí)鐘周期劃分。

異步應(yīng)答關(guān)系分為不互鎖、半互鎖和全互鎖三類。

不互鎖:設(shè)備1發(fā)出請求信號(hào),經(jīng)過一段時(shí)間后,自動(dòng)撤消;設(shè)備2接到設(shè)

備1的請求信號(hào)后,在條件允許時(shí)發(fā)出回答信號(hào),經(jīng)過一段時(shí)間后,自動(dòng)撤消。

半互鎖:設(shè)備1發(fā)出請求信號(hào)后,接到設(shè)備2的回答信號(hào)后,才撤消請求信

號(hào),而設(shè)備2經(jīng)過一段時(shí)間后,自動(dòng)撤消回答信號(hào)。

全互鎖:設(shè)備1發(fā)出請求信號(hào)后,接到設(shè)備2的回答信號(hào)后,才撤消請求信

號(hào),設(shè)備2知道設(shè)備1撤消了請求信號(hào)后,才撤消回答信號(hào)。

本章思考題

1。什么是總線?總線傳輸有何特點(diǎn)?

2。如何理解總線的不同分類?

3.比較同步及異步通信。

4。什么是總線標(biāo)準(zhǔn)?為什么要設(shè)置總線標(biāo)準(zhǔn)?

5o什么總線的傳輸速率,它與哪些因素有關(guān)?

第四章存儲(chǔ)器

教學(xué)時(shí)數(shù):8學(xué)時(shí)

教學(xué)目的與要求:使學(xué)生掌握主存、輔存的概念,重點(diǎn)理解存儲(chǔ)器分級(jí)的結(jié)

構(gòu),掌握主存與CPU連接方式,Cache與主存地址映射方式.

教學(xué)重點(diǎn):靜態(tài)存儲(chǔ)器、動(dòng)態(tài)存儲(chǔ)器、Cache存儲(chǔ)器的地址映射方式。

教學(xué)難點(diǎn):主存芯片與CPU的連接方法、存儲(chǔ)器的校驗(yàn)。

第一節(jié)概述

lo存儲(chǔ)器的分類

1)按存儲(chǔ)器與CPU的關(guān)系:存儲(chǔ)器分為主存和輔存兩部分.

主存是能夠由CPU直接編程訪問的存儲(chǔ)器,它存放需要執(zhí)行的程序與需要處

理的數(shù)據(jù)。由于主存處于主機(jī)的內(nèi)部所以又稱之為內(nèi)存。與之相對(duì)的是外存,又

稱輔存.輔存包括:磁盤、光盤、磁帶等.

2)按存取方式:隨機(jī)存儲(chǔ)器、只讀存儲(chǔ)器、順序存儲(chǔ)器和直接存儲(chǔ)器。

隨機(jī)存儲(chǔ)器:存儲(chǔ)器中的任何一個(gè)存儲(chǔ)單元的內(nèi)容都能被隨機(jī)存取,且存取

-8-

時(shí)間都相同,與存儲(chǔ)單元的物理位置無關(guān)(RAM),可以用存儲(chǔ)周期來表示其工作

速度.

只讀存儲(chǔ)器:存儲(chǔ)器工作的時(shí)候只能讀,不能寫,通常保存一些特別重要的信

息。它也采用隨機(jī)存取方式。

順序存取存儲(chǔ)器:存儲(chǔ)器中的存儲(chǔ)內(nèi)容只能按順序存取,其存取時(shí)間與存儲(chǔ)

單元的物理位置有關(guān)(SAM),如磁帶。

直接存取存儲(chǔ)器(DAM):介于隨機(jī)存儲(chǔ)方式和順序存儲(chǔ)方式之間,典型的

直接存取存儲(chǔ)器是磁盤,磁盤尋址時(shí),首先磁頭定位于磁道類似于隨機(jī)存儲(chǔ)方式,

然后在磁道內(nèi)尋址類似于順序存儲(chǔ)方式。

3)按存儲(chǔ)介質(zhì):半導(dǎo)體存儲(chǔ)器(用半導(dǎo)體器件構(gòu)成的存儲(chǔ)器,多用于主存)

和磁存儲(chǔ)器(磁性材料做成的存儲(chǔ)器,如磁盤)。半導(dǎo)體存儲(chǔ)器又可以細(xì)分為靜態(tài)

存儲(chǔ)器(SRAM)和動(dòng)態(tài)存儲(chǔ)器(DRAM)o

4)按信息的保存:永久性存儲(chǔ)器(斷電后存儲(chǔ)信息仍可以保持)和易失性

存儲(chǔ)器(斷電后丟失信息),如磁盤是永久性,RAM為易失性。

5)按讀寫功能:讀寫存儲(chǔ)器和只讀存儲(chǔ)器

6)主存儲(chǔ)器分為隨機(jī)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM),只讀存儲(chǔ)器

乂可以分為:可編程只讀存儲(chǔ)器(PROM),可擦可編程只讀存儲(chǔ)器(EPROM),電

可擦可編程只讀存儲(chǔ)器(E2PROM),以及快閃存儲(chǔ)器。

第二節(jié)主存儲(chǔ)器

lo存儲(chǔ)器的組成

存儲(chǔ)體

工中數(shù)據(jù)緩沖器T

存儲(chǔ)器是一種能夠?qū)崿F(xiàn)按地址d.的裝置。存4器由存儲(chǔ)體、地址緩沖和譯

碼器、讀寫數(shù)據(jù)緩沖器組成。率儲(chǔ)「?存儲(chǔ)器的核工,它率許多存儲(chǔ)單元組成,

每個(gè)存儲(chǔ)單元又由若干個(gè)可記必0成4空存撤承組成此,每個(gè)存儲(chǔ)單元可

以存放若干位二進(jìn)制數(shù),稱為一個(gè)字。每個(gè)存儲(chǔ)單元按其空間的位置都有一個(gè)固

定的編號(hào),稱為存儲(chǔ)單元的地址,簡稱地址。通常說存儲(chǔ)器容量為M*N的,M表

示的是存儲(chǔ)器有多少個(gè)字,N表示每個(gè)字有多少個(gè)存儲(chǔ)元件。

2。主存儲(chǔ)器的技術(shù)指標(biāo)

-9-

1)存儲(chǔ)速度:存取時(shí)間(TA,又稱取數(shù)時(shí)間)和存儲(chǔ)周期(TM)

2)存取時(shí)間:存儲(chǔ)器接到讀命令信號(hào)到其數(shù)據(jù)輸出端有信號(hào)輸出為止的時(shí)

間。例如對(duì)于2114來說,其存取時(shí)間為從WE=1開始到讀寫數(shù)據(jù)緩沖器中有數(shù)

據(jù)為止。

3)存儲(chǔ)周期:連續(xù)兩次訪問存儲(chǔ)器所需要的最小時(shí)間間隔。例如:從CPU

向存儲(chǔ)器發(fā)出讀命令,到CPU的MDR中有數(shù)據(jù)為止。

4)價(jià)格:存儲(chǔ)器的價(jià)格以位價(jià)格衡量,即存儲(chǔ)容量為S,價(jià)格為C,P=C/S

是位價(jià)格。

3。主存儲(chǔ)器的工作原理

CPU對(duì)存儲(chǔ)器進(jìn)行操作的時(shí)候,一定要用到兩個(gè)寄存器:地址寄存器(MAR)

和數(shù)據(jù)寄存器(MDR),CPU與存儲(chǔ)器之間的數(shù)據(jù)傳輸分為同步傳輸方式和異步

傳輸方式兩種,

1)同步方式:數(shù)據(jù)傳輸是在固定的時(shí)間間隔內(nèi)完成,此時(shí)間間隔由CPU

的時(shí)鐘脈沖確定,從而構(gòu)成一個(gè)完整的存儲(chǔ)器讀寫周期。

2)異步方式:當(dāng)存儲(chǔ)器接到CPU的讀寫命令時(shí),完成一次讀寫操作后,

向CPU發(fā)一個(gè)“存儲(chǔ)器功能完成"信號(hào)(WMFC),CPU接到此信號(hào)后,才完成

一次數(shù)據(jù)傳輸工作。

注:CPU中有一個(gè)引腳叫做Ready,其名稱是:準(zhǔn)備好信號(hào),當(dāng)它為1時(shí),表

示CPU可以和存儲(chǔ)器芍輸數(shù)據(jù)。而不是象書中所說是通過Ready做主存儲(chǔ)器應(yīng)

答.

3)讀寫過程

(DCPU從存儲(chǔ)器中讀取一個(gè)字節(jié)數(shù)據(jù)

①把要讀取的字節(jié)的地址送入MARo

O,2把要讀取的字節(jié)的地址經(jīng)過地址總線送入存儲(chǔ)器的地址緩沖譯碼器,

同時(shí)發(fā)出讀請求.

O,3存儲(chǔ)器讀操作,找到數(shù)據(jù)送入其數(shù)據(jù)緩沖寄存器,

錯(cuò)誤!由數(shù)據(jù)總線將數(shù)據(jù)送入CPU的MDR,同時(shí)發(fā)出WMFC信號(hào)

(WMFC=l)o

(2)CPU向存儲(chǔ)器寫一個(gè)字節(jié)數(shù)據(jù)

錯(cuò)誤!把要寫入存儲(chǔ)器的字節(jié)送入MDRO

錯(cuò)誤!其地址送入MARo

錯(cuò)誤!經(jīng)過數(shù)據(jù)總線和地址總線把數(shù)據(jù)、地址送入存儲(chǔ)器,同時(shí)發(fā)出寫請求。

④將數(shù)據(jù)寫入存儲(chǔ)器指定單元,同時(shí)發(fā)出WMFC信號(hào).

4o存儲(chǔ)器擴(kuò)容

-10-

I)位擴(kuò)展(字長擴(kuò)展)

位擴(kuò)展連接方式:將多片存儲(chǔ)器的地址、片選、讀寫控制連在一起;數(shù)據(jù)線

分別連接.

2)字?jǐn)U展

字?jǐn)U展連接方式:將多片存儲(chǔ)器的地址、數(shù)據(jù)、讀寫控制連在一起;片選信

號(hào)來區(qū)別那個(gè)芯片被選用(充當(dāng)高位)。

3)字位擴(kuò)展。

字?jǐn)U展連接方式:將多片存儲(chǔ)器的地址、讀寫控制連在一起;片選信號(hào)來區(qū)

別那個(gè)芯片被選用(充當(dāng)高位),數(shù)據(jù)線分別連接。

可選講:動(dòng)態(tài)存儲(chǔ)器的刷新

由于動(dòng)態(tài)存儲(chǔ)器依靠電容上存儲(chǔ)電荷來暫存信息,而電容上存儲(chǔ)的電荷會(huì)逐

步衰減,所以動(dòng)態(tài)存儲(chǔ)器一定要定期刷新。通常動(dòng)態(tài)存儲(chǔ)芯片要在2ms(毫秒)以

內(nèi)全部刷新一遍,即全部刷新一遍所允許的最大時(shí)間間隔為2ms,稱為最大刷新

周期.對(duì)于整個(gè)存儲(chǔ)器來說,各個(gè)存儲(chǔ)芯片可以同時(shí)刷新。對(duì)于每塊動(dòng)態(tài)存諸芯

片來說,則是按行刷新,每次刷新一行,所需時(shí)間為一個(gè)刷新周期。例如一個(gè)動(dòng)

態(tài)存儲(chǔ)芯片為128行,,則在2ms內(nèi)應(yīng)該至少安排128個(gè)刷新周期。

對(duì)于一個(gè)動(dòng)態(tài)存儲(chǔ)器,它在工作過程中實(shí)際包括兩種工作狀態(tài):讀寫保持狀

態(tài)和刷新狀態(tài).如何進(jìn)行刷新呢?通常采用以下三種方式:

(1)集中刷新方式:在2ms之內(nèi)直接安排128個(gè)刷新周期,統(tǒng)一刷新。優(yōu)點(diǎn)

是主存利用率高,控制簡單;缺點(diǎn)是存儲(chǔ)器在每個(gè)2ms之內(nèi)必定有一段時(shí)訶不

能進(jìn)行讀寫操作(在進(jìn)行刷新),造成?段死區(qū)。

(2)分散刷新方式:存取操作和刷新同時(shí)進(jìn)行,即在每個(gè)存儲(chǔ)周期中包括

存取數(shù)據(jù)刷新數(shù)據(jù)兩部分.優(yōu)點(diǎn):沒有死區(qū),缺點(diǎn):降低效率。

(3)異步刷新方式:由于2ms/128=15.625us(微秒),所以每隔15.625us提

出一次刷新請求,安排一個(gè)刷新周期,如果此時(shí)正在進(jìn)行存取工作,則等到存取

工作結(jié)束后進(jìn)行刷新.

5.多體交叉存儲(chǔ)器

存儲(chǔ)器是存儲(chǔ)指令(程序)和數(shù)據(jù)的地方,CPU工作時(shí)將不停的訪問存儲(chǔ)器,

CPU工作的基本周期是時(shí)鐘周期(節(jié)拍),存儲(chǔ)器工作的基本周期是存儲(chǔ)周期,即

CPU以時(shí)鐘周期表示CPU的速度,存儲(chǔ)器以存儲(chǔ)周期表示存儲(chǔ)器的速度,但是通

常存儲(chǔ)器的存儲(chǔ)周期的時(shí)間遠(yuǎn)遠(yuǎn)大于CPU的時(shí)鐘周期,所以實(shí)際上CPU的工作

速度會(huì)降低到與存儲(chǔ)器的速度相當(dāng),CPU工作時(shí)不得不在兩個(gè)時(shí)鐘周期之間插入

空閑周期。

通常存儲(chǔ)器的容量與速度成反比,即1K的存儲(chǔ)器的速度比4K的存儲(chǔ)器的速

-II-

度快,因此提出多體交叉存儲(chǔ)器技術(shù).多體交叉存儲(chǔ)器技術(shù)分為兩種:高位交叉

編址和低位交叉編址。例如,某機(jī)器有一個(gè)容量為4K*8的存儲(chǔ)器,為了提高

存儲(chǔ)速度將存儲(chǔ)器變成4個(gè)1K*8的存儲(chǔ)模塊。

1)高位交叉編址:該方法的優(yōu)點(diǎn)是便利靈活,便于擴(kuò)展,如將4K的存儲(chǔ)

器擴(kuò)展成5K的存儲(chǔ)器只需要加一個(gè)存儲(chǔ)模塊,某一個(gè)存儲(chǔ)模塊出現(xiàn)問題不影響

其他模塊。

2)低位交叉編址:該方法的優(yōu)點(diǎn)是提高CPU工作效率。因?yàn)樵谕ǔG闆r

下,數(shù)據(jù)被連續(xù)讀取,如CPU取4個(gè)字節(jié),用高位交叉技術(shù)要對(duì)存儲(chǔ)器進(jìn)行4次

讀取,而用低位交叉技術(shù)只對(duì)存儲(chǔ)器讀取一次即可(四個(gè)模塊同時(shí)工作).用低位交

叉技術(shù)的機(jī)器一個(gè)存儲(chǔ)周期得到4個(gè)字節(jié),其存儲(chǔ)周期相當(dāng)于原來的四分之一。

推而廣之,一個(gè)具有n個(gè)模塊的存儲(chǔ)器,其存儲(chǔ)周期等效于單模塊的1/n,但這是個(gè)

樂觀的估計(jì),總之效率會(huì)明顯提高。

注意:理論上講,n的值越大,存儲(chǔ)器的速度越高,但是實(shí)際中一般立8.如果

n>8速度提高就不在明顯,這是因?yàn)槎囿w交叉存儲(chǔ)器存在訪問沖突問題.產(chǎn)生訪問

沖突的原因是:一、程序中有轉(zhuǎn)移指令,二、是數(shù)據(jù)的隨機(jī)性。

對(duì)于多體交叉存儲(chǔ)器的控制有兩種:一種是同時(shí)啟動(dòng)各模塊,然后在主存控

制部件的控制下,分時(shí)使用總線傳輸;另一種是各模塊分時(shí)啟動(dòng),如四個(gè)模塊就是

每隔四分之一存儲(chǔ)周期啟動(dòng)一個(gè)模塊,后者應(yīng)用多些。

6.存儲(chǔ)器校驗(yàn)

二進(jìn)制信息在傳送時(shí),可能發(fā)生錯(cuò)誤,校驗(yàn)碼是一種具有校驗(yàn)差錯(cuò)能力的代

碼.校驗(yàn)碼由兩部分組成:信息位和校驗(yàn)位,信息位就是要傳送的數(shù)據(jù)信息,校驗(yàn)

位是在信息位的基礎(chǔ)上根據(jù)具體的校驗(yàn)方法得到的一些附加數(shù)據(jù)。校驗(yàn)的方法不

同,信息位也不同。

基本概念

碼字:表示一個(gè)數(shù)(或字符)的若干位二進(jìn)制代碼;碼元:碼字中的一位二進(jìn)制

數(shù);碼組:滿足一定規(guī)則的碼字集合;最小碼距:一個(gè)碼組中任何兩個(gè)碼字之間的不

同碼元的最小個(gè)數(shù)。

若實(shí)現(xiàn)數(shù)據(jù)校驗(yàn),必須在原有碼字(信息位)的基礎(chǔ)上增加額外碼元(校驗(yàn)位),

從而增大碼組中的最小碼距。最小碼距與校驗(yàn)?zāi)芰Φ年P(guān)系滿足下面公式:L=2C+

1,L=D+1其中L表示最小碼距,C表示可糾錯(cuò)位數(shù),D表示可檢錯(cuò)位數(shù)。

奇偶校驗(yàn)

所謂奇偶校驗(yàn)就是在傳輸?shù)臄?shù)據(jù)后面加一位奇偶校驗(yàn)位,為奇校驗(yàn)時(shí)就是加

校驗(yàn)位后,保證在全部數(shù)據(jù)中“1”的個(gè)數(shù)為奇數(shù)個(gè),為偶校驗(yàn)時(shí)就是加校驗(yàn)位后,

保證在全部數(shù)據(jù)中“1”的個(gè)數(shù)為偶數(shù)個(gè)。

-12-

假設(shè)數(shù)據(jù)位四位,對(duì)于奇校驗(yàn)來說,總是P=B3十……十B0十1

對(duì)于偶校驗(yàn)位P=B3十B2十Bl?BO

加奇偶校驗(yàn)位時(shí)可以根據(jù)校驗(yàn)位的位置分為橫向奇偶校驗(yàn)、縱向奇偶校驗(yàn)和

橫縱奇偶校驗(yàn).例如有以下一組數(shù)據(jù):

0011(X)0000110001()0110010()01100110011()1()0(數(shù)字:()1234)

采用橫向奇校驗(yàn)時(shí)編碼為:

001100001

001100010

001100100

0011(X)111

001101000

即:001100001001100010001100100001100111001101000

第三節(jié)高速緩沖存儲(chǔ)器

lo存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu)

計(jì)算機(jī)系統(tǒng)對(duì)存儲(chǔ)器的基本要求是:高速度、大容量、低價(jià)格。這三個(gè)條件

互相矛盾,不可能同時(shí)實(shí)現(xiàn),為了解決這一矛盾,必須對(duì)存儲(chǔ)系統(tǒng)進(jìn)行層次劃分。

1)主存、輔存結(jié)構(gòu):以速度快、價(jià)格高的半導(dǎo)體存儲(chǔ)器作主存,以磁存儲(chǔ)

器做輔存。

2)高速緩存、主存、輔存三級(jí)結(jié)構(gòu)。

通常把CPU當(dāng)前正在執(zhí)行的程序和數(shù)據(jù)放在主存中,而暫時(shí)不執(zhí)行的程序

和數(shù)據(jù)放在輔存中。在執(zhí)行過程中,不斷地把輔存中即將處理的信息調(diào)入主存,

處理過的信息不斷地調(diào)出主存.這一過程現(xiàn)在由操作系統(tǒng)中的虛擬存儲(chǔ)器技術(shù)實(shí)

現(xiàn).對(duì)于那些使用頻率極高的數(shù)據(jù)則保存在Cache中。采用了三級(jí)結(jié)構(gòu),理想情況

是高速緩存的速度,輔存的容量、價(jià)格。

2o高速緩沖存儲(chǔ)器(Cache)

引用虛擬存儲(chǔ)器的目的是令主存空間擴(kuò)大,引用Cache是為了提高主存的速

度.虛擬存儲(chǔ)器靠OS軟管理,而Cache靠硬件管理.Cache本身是一個(gè)高速的存儲(chǔ)

器件,其速度與CPU的速度相當(dāng),如果搞好Cache與主存的關(guān)系,可以大大梃高

主存的速度,又由于Cache對(duì)于系統(tǒng)程序員來說也是透明的。有人把Cache劃入

CPU中。由于Cache和主存都可以與CPU相關(guān),Cache與主存的關(guān)系有點(diǎn)像頁

式虛擬存儲(chǔ)器中的快表。

通常把Cache和主存等分成塊,每當(dāng)給出一個(gè)主存字地址進(jìn)行訪存時(shí),都必

須通過主存一Cache地址映像變換機(jī)構(gòu)判定該訪問字所在的塊是否已經(jīng)在Cache

中,如果在,則經(jīng)地址映像變換機(jī)構(gòu)將主存地址變換成Cache的地址去訪問

-13-

Cache,此時(shí)Cache與處理機(jī)之間進(jìn)行單子寬信息的交往;如果不在Cache中,

則產(chǎn)生Cache失效,這時(shí)要從訪主存的通路中把包含該字的一塊信息通過多字寬

通路調(diào)入Cache,同時(shí)將被訪問字由主存送入CPU,如果Cache中已裝不進(jìn)了,即發(fā)

生塊沖突,此時(shí)需要按所選擇的替換算法將該塊替換進(jìn)Cache,并修改地址映像

表中有關(guān)的地址映像關(guān)系和修改好Cache各塊使用狀態(tài)標(biāo)志等信息.

1)地址映像與變換:

錯(cuò)誤!全相聯(lián)映射

讓主存中任意的一塊均可以映像到Cache中的任意一塊位置上。此時(shí)要求有

一個(gè)專門硬件設(shè)置的目錄表,目錄表中記錄著主存塊號(hào)與Cache塊號(hào)之間的變換

關(guān)系,主存地址通過目錄表可以轉(zhuǎn)換成Cache中的地址。

優(yōu)點(diǎn):塊沖突率低,缺點(diǎn):Cache變大,目錄表也大,速度降低。

錯(cuò)誤!直接映射

讓主存中每一個(gè)塊只能映像到Cache中唯一的一個(gè)位置上,例如設(shè)Cache

中可以放X塊,主存中的第i塊映像到Cache中的第(iMODX)塊中。這相當(dāng)于

把主存空間按Cache的空間分成區(qū),每區(qū)的各塊均只能按位置一一對(duì)應(yīng)到Cache

的相應(yīng)位置.此時(shí)主存地址分為區(qū)號(hào),主存塊號(hào),塊內(nèi)地址三部分,目錄表只記錄

各塊的區(qū)號(hào),變換時(shí),以主存塊號(hào)為地址到目錄表中的對(duì)應(yīng)部分取區(qū)號(hào)與主存地

址區(qū)號(hào)比較相同,則主存塊號(hào)與塊內(nèi)地址成Cache地址,不相同,則換頁.

優(yōu)點(diǎn):電路簡單,速度快;缺點(diǎn):沖突率高。

錯(cuò)誤!組相聯(lián)映射

將Cache各塊分組,主存以Cache大小分區(qū),區(qū)下分組,組下分塊。組間采用

直接映像,組內(nèi)采用全相聯(lián)映像.

2)Cache的讀寫:

錯(cuò)誤!讀操作:訪存時(shí),一方面主存地址送主存,啟動(dòng)讀主存,另一方面地址送

Cache映象成Cache地址。從Cache頁中讀取內(nèi)容,并將相應(yīng)的Cache標(biāo)記與主

存地址中的主存頁標(biāo)記進(jìn)行比較,如果二者相同,則表示訪問Cache命中,讀出

數(shù)據(jù)送往CPU,不等主存讀操作結(jié)束,就可以繼續(xù)下一次訪存操作.如果標(biāo)記不

符合,或是按映像方式搜索完畢仍未找到相符的Cache標(biāo)志,表明本次訪問Cache

失敗,則從主存讀出數(shù)據(jù)送CPU,偶爾一次不命中,不一定立即替換,一般是在

命中率變低時(shí)才考慮替換,如果替換,則以頁為單位整頁替換,并相應(yīng)修改Cache

標(biāo)記.

錯(cuò)誤!寫操作:

寫回法(標(biāo)志替換法).在數(shù)據(jù)回寫的時(shí)候,只寫入Cache,同時(shí)在Cache塊

中設(shè)置一個(gè)標(biāo)志位,標(biāo)志位為1表示有數(shù)據(jù)寫回此Cache塊,當(dāng)此Cache塊被替

-14-

換的時(shí)候?qū)懭胫鞔?,但是如果在替換時(shí),恰好主存沒有此Cache塊(先被虛擬存

儲(chǔ)器替換),則出錯(cuò)。這種方式不在Cache操作過程中插入寫主存操作,保持程序

的運(yùn)行速度。

寫直達(dá)法。寫入Cache同時(shí)寫入主存,但有些寫入是多余的。這種方式保持

了Cache與主存的一致性。

本章思考題

1.計(jì)算機(jī)中哪些部件可用于存儲(chǔ)信息?

2。說明存取周期和存取時(shí)間的區(qū)別.

3.存儲(chǔ)器層次結(jié)構(gòu)主要體現(xiàn)在什么地方,為什么要分這些層次?

4。什么叫刷新,為什么進(jìn)行刷新?

5.什么是存儲(chǔ)器的帶寬。

第五章輸入輸出系統(tǒng)

教學(xué)時(shí)數(shù):8學(xué)時(shí)

教學(xué)目的與要求;使學(xué)生了解計(jì)算機(jī)系統(tǒng)中常用I/O設(shè)備的基本接口,主要

技術(shù)指標(biāo),工作原理等知識(shí),重點(diǎn)I/O設(shè)備與CPU傳輸數(shù)據(jù)的三種方式。

教學(xué)重點(diǎn):程序查詢方式和中斷方式的工作原理、基本接口。

教學(xué)難點(diǎn):DMA的傳送方式及傳送過程.

第一節(jié)I/O設(shè)備

輸入輸出系統(tǒng)包括輸入輸出設(shè)備、設(shè)備控制器以及同輸入輸出操作有關(guān)的硬

件與軟件。如:鍵盤一輸入設(shè)備,8042—設(shè)備控制器,8255—相關(guān)硬件,int9—

相關(guān)軟件。

第二節(jié)I/O接口

1O輸入輸出設(shè)備編址方式:

輸入輸出設(shè)備的編址方式分為兩種:獨(dú)立I/O編址、(與內(nèi)存)統(tǒng)一編址。

如PC機(jī)采用前者,INAL,60H:讀入掃描碼

2。輸入輸出數(shù)據(jù)傳送的控制方式:

(1)程序直接控制方式

(2)程序中斷傳送方式

(3)直接存儲(chǔ)器存取(DMA)傳送方式

(4)通道控制方式

(5)I/O處理機(jī)

第三節(jié)程序查詢方式

程序直接控制方式

主機(jī)與外設(shè)之間的數(shù)據(jù)傳輸由程序來控制,在程序中安排一段由輸入輸出指

-15-

令和其他指令組成的程序段直接控制外設(shè)的工作.程序直接控制方式分為無條件

傳送方式和有條件(查詢)傳送方式.

無條件傳送:外設(shè)與CPU之間的工作關(guān)系、動(dòng)作時(shí)間固定,所以可以采用

無條件傳送。

查詢:傳送數(shù)據(jù)之前先由程序?qū)ν庠O(shè)狀態(tài)進(jìn)行測試,測試結(jié)果滿足時(shí),傳送

數(shù)據(jù)。(說明:與外設(shè)相關(guān)的芯片有狀態(tài)寄存器和控制寄存器,狀態(tài)寄存器提供芯

片的狀態(tài),即外設(shè)的狀態(tài),常常依靠IN指令把外設(shè)芯片的狀態(tài)讀入CPU來進(jìn)行

查詢方式的數(shù)據(jù)傳送,CPU發(fā)給外設(shè)芯片的控制命令常常依靠OUT指令送入控

制寄存器,使外設(shè)按照CPU的要求工作.

第四節(jié)程序中斷方式

程序中斷傳送方式

1)中斷:在計(jì)算機(jī)的運(yùn)行過程中,如果發(fā)生某種隨機(jī)事態(tài),CPU將暫停執(zhí)

行現(xiàn)行程序,轉(zhuǎn)去執(zhí)行中斷處理程序,為該事態(tài)服務(wù),并在服務(wù)完畢后自動(dòng)恢復(fù)

原程序的執(zhí)行。

中斷的定義包含了程序切換與隨機(jī)性兩個(gè)概念。

中斷的實(shí)質(zhì)是一和程序切換過程。轉(zhuǎn)子程序也是一種程序切換,但區(qū)別在于

中斷是隨機(jī)切換,而轉(zhuǎn)子程序的切換不是隨機(jī)的。

2)中斷方式的應(yīng)用

(1)以中斷方式管理中低速I/O操作,使CPU與外設(shè)并行工作

(2)軟中斷

(3)故障處理:掉電、校驗(yàn)錯(cuò)、軟件故障、溢出

(4)實(shí)時(shí)處理:通過定時(shí)器實(shí)時(shí)采集數(shù)據(jù)

(5)多機(jī)通信:依靠中斷通信

(6)人機(jī)對(duì)話:

3)程序中斷與簡單中斷

程序中斷:中斷發(fā)生之后執(zhí)行一段程序

簡單中斷:中斷發(fā)生之后不執(zhí)行程序,只是讓出幾個(gè)CPU周期,如DMA中

第五節(jié)DMA方式

lo直接存儲(chǔ)器存取(DMA)傳送方式

對(duì)于高速外設(shè)的成批信息交換通常采用DMA方式.在DMA方式中數(shù)據(jù)交換

不是由CPU執(zhí)行程序來完成,而是由DMA控制器控制,如軟盤操作。DMA方

式分為三種:CPU暫停、CPU周期竊取、CPU與IO交替訪問存儲(chǔ)器

2.通道控制方式

-16-

DMA可以處理大批數(shù)據(jù),但是對(duì)外設(shè)的管理仍由CPU承擔(dān),為能更好的發(fā)

揮CPU效率,設(shè)置新硬件通道。通道是專門執(zhí)行輸入輸出操作的處理機(jī),它獨(dú)立

的對(duì)輸入輸出操作進(jìn)行管理。當(dāng)CPU執(zhí)行I/O指令時(shí),CPU不執(zhí)行輸入輸出操

作,只啟動(dòng)通道執(zhí)行輸入輸出操作,并將控制權(quán)轉(zhuǎn)給通道。

3。主機(jī)與外設(shè)間的連接模式

總線型

在這種結(jié)構(gòu)中,CPU通過系統(tǒng)總線與外設(shè)相連,各外設(shè)通過各自的接口直接與

公共的系統(tǒng)總線相連。CPU經(jīng)過地址鎖存器向系統(tǒng)總線發(fā)出地址代碼,經(jīng)過數(shù)據(jù)

緩沖器向系統(tǒng)總線發(fā)出或接收數(shù)據(jù)代碼,經(jīng)過總線控制器發(fā)出或接收控制信號(hào)。

如果CPU暫時(shí)放棄對(duì)系統(tǒng)總線的控制,則有關(guān)的輸出端呈高阻態(tài),即與總線脫

鉤。

此結(jié)構(gòu)優(yōu)點(diǎn):結(jié)構(gòu)簡單,易于擴(kuò)展,易于實(shí)現(xiàn);缺點(diǎn):信息吞吐量有限。

輻射型

在這種結(jié)構(gòu)中,各外設(shè)和主機(jī)之間有各自獨(dú)立的數(shù)據(jù)通路,因而形成以主機(jī)

為中心向各設(shè)備輻射的星型連接?,F(xiàn)在多采用CPU通過系統(tǒng)總線連接一個(gè)多口

接口卡,由多口接口卡分別連接外設(shè)。各外設(shè)之間不能直接傳送信息,它只能把

信息通過接口送入主機(jī),再由主機(jī)送別的外設(shè)。

優(yōu)點(diǎn):各外設(shè)各自獨(dú)立,相互干擾小;缺點(diǎn):不能實(shí)現(xiàn)設(shè)備之間直接通信。

通道控制方式

通道是一種專門負(fù)責(zé)管理輸入輸出操作的控制器,它執(zhí)行一種通道程序。

CPU啟動(dòng)通道后可以并行地執(zhí)行自身的程序,而通道則執(zhí)行通道程序,或以DMA

方式實(shí)現(xiàn)主存與外設(shè)之間的數(shù)據(jù)直傳,或讓數(shù)據(jù)輸入CPU或從CPU輸出。這就

使CPU從繁重的I/O操作中解脫出來,發(fā)揮其高速處理的優(yōu)勢,讓CPU的處理與

通道管理下的I/O操作并行地進(jìn)行.

從連接角度看,主機(jī)一般通過單獨(dú)的數(shù)據(jù)通路分別連接數(shù)目有限的通道,各

通道再用總線結(jié)構(gòu)通過接口連接外設(shè),可稱為四級(jí)連接模式,即主機(jī)一通道一I/O

接口或設(shè)備控制器-外圍設(shè)備。通道的概念具有較大彈性,在邏輯劃分與功能上

可作多種變化。有的系統(tǒng)讓通道控制器位于CPU之中,稱為結(jié)合型通道;有的

系統(tǒng)則讓它獨(dú)立于CPU之外,稱為獨(dú)立型通道。通道執(zhí)行的通道程序,可以放

在主存中,與CPU共享主存;也可以自帶局部存儲(chǔ)潛存放通道程序.它的功能可以

只負(fù)責(zé)管理實(shí)現(xiàn)數(shù)據(jù)的輸入輸出,也可以發(fā)展為實(shí)現(xiàn)較復(fù)雜的預(yù)處理,變成輸入

輸出處理機(jī)。

輸入輸出處理機(jī)(lOP)方式

IOP比通道具有更強(qiáng)的獨(dú)立性與通用性,它的功能與CPU類似,只是專用化,

-17-

面向輸入輸出管理及相應(yīng)的處理。IOP有自己的指令系統(tǒng),可以編制自己的程序;

通過執(zhí)行程序?qū)崿F(xiàn)獨(dú)立于CPU的輸入輸出操作。

在大型計(jì)算機(jī)系統(tǒng)中,主機(jī)通過專門的數(shù)據(jù)通路與IOP連接,10P通過總線再

與外圍設(shè)備連接。高檔微型計(jì)算機(jī)系統(tǒng)也采用輸入輸出處理器,將IOP集成在

一塊芯片中。這種IOP芯片與CPU一起掛接在系統(tǒng)總線上,可共享主存.當(dāng)CPU

進(jìn)行輸入輸出時(shí),將任務(wù)寫入存儲(chǔ)器的一個(gè)特殊區(qū)域中,然后通知IOP。IOP從該

區(qū)域中獲知CPU的要求,并執(zhí)行程序,完成指定的輸入輸出操作,然后用某些的定

的特征信息或以中斷請求信號(hào)通知CPU。

本章思考題

1.1/0設(shè)備有哪些編址方式,各有何特點(diǎn)?

2.1/0設(shè)備與主機(jī)交換信息時(shí),共有哪幾種控制方式?簡述特點(diǎn)。

3.圖形顯不和圖像顯小有何區(qū)別?

4。中斷向量通過什么總線送至什么地方?為什么?

5.試從5個(gè)方向比較程序中斷方式和DMA方式的區(qū)別。

第六章計(jì)算機(jī)的運(yùn)算方法

教學(xué)時(shí)數(shù):8學(xué)時(shí)

教學(xué)目的與要求:使學(xué)生掌握計(jì)算機(jī)系統(tǒng)信息的表示方法、基本邏輯運(yùn)算和

四則運(yùn)算,理解運(yùn)算的實(shí)現(xiàn)方法,信息的流動(dòng)方式,運(yùn)算器部件的組成結(jié)構(gòu)及設(shè)

計(jì)方法。

教學(xué)重點(diǎn):計(jì)算機(jī)信息的表示方法、定點(diǎn)數(shù)和浮點(diǎn)數(shù)的四則運(yùn)算。

教學(xué)難點(diǎn):原碼位申行乘法算法乘法器、浮點(diǎn)乘除運(yùn)算算法。

第一節(jié)無符號(hào)數(shù)及有符號(hào)數(shù)

lo機(jī)器數(shù)

機(jī)器數(shù)包括原碼、反碼、補(bǔ)碼和移碼。

1)原碼是一種機(jī)器數(shù)的表示法。它約定:對(duì)于一個(gè)正數(shù),用“0”表示它的符

號(hào),后面的數(shù)值部分就是它的二進(jìn)制數(shù);對(duì)于一個(gè)負(fù)數(shù),用“1”表示它的符號(hào),后

面的數(shù)值部分就是它的二進(jìn)制數(shù).

2)反碼是-一種機(jī)器數(shù)的表示法。它約定:對(duì)于一個(gè)正數(shù),用“0”表示它的

符號(hào),后面的數(shù)值部分就是它的二進(jìn)制數(shù);對(duì)于一個(gè)負(fù)數(shù),用表示它的符號(hào),

后面的數(shù)值部分就是它的二進(jìn)制數(shù)(即原碼)逐位變反(即“0”變“1"變“0”)。

3)補(bǔ)碼是一種機(jī)器數(shù)的表示法。它約定:對(duì)于一個(gè)正數(shù),用“0”表示它的

符號(hào),后面的數(shù)值部分就是它的二進(jìn)制數(shù);對(duì)于一個(gè)負(fù)數(shù),用“1”表示它的符號(hào),

后面的數(shù)值部分就是它的二進(jìn)制數(shù)(即原碼)逐位變反,然后加1。

對(duì)負(fù)的補(bǔ)碼進(jìn)行還原的時(shí)候,數(shù)值位仍然采用逐位變反,然后加1的方法。

-18-

對(duì)于一個(gè)四位的二進(jìn)制數(shù)來說,變反意味著用一個(gè)最大的四位二進(jìn)制數(shù)來減此二

進(jìn)制數(shù),Z=()010,Z變反即1111—0010=1101;變反加1,可以表示成

1111-0010+1=10000—0010=1110。對(duì)于同一個(gè)數(shù)進(jìn)行兩次變反加1,就可表示成:

10000-(10000—0010)=10000—10000+0010=0010由此可知,對(duì)于同一個(gè)數(shù)進(jìn)行

兩次變反加1,就可還原原來的數(shù),所以補(bǔ)碼還原仍是采用變反加1的方法.

4)移碼是一種機(jī)器數(shù)的表示法。它約定:對(duì)于一個(gè)正數(shù),用力”表示它的

符號(hào),后面的數(shù)值部分就是它的二進(jìn)制數(shù):對(duì)于一個(gè)負(fù)數(shù),用“0”表示它的符號(hào),

后面的數(shù)值部分就是它的二進(jìn)制數(shù)(即原碼)逐位變反,然后加1(移碼和補(bǔ)碼在

符號(hào)上是相反的)。移碼還原只能先把它變成補(bǔ)碼,再還原.

注意:對(duì)于原碼00000和10000都表示十進(jìn)制的“0”,對(duì)于反碼00000fil11111

都表示十進(jìn)制的“0”,而對(duì)于補(bǔ)碼00000表示“0”,而10000表示絕對(duì)值最大的

負(fù)數(shù)(一16),同理對(duì)于移碼10000表示“(F,而00000表示絕對(duì)值最大的負(fù)數(shù)

(-16)0

注2:對(duì)于原碼,反碼和補(bǔ)碼可以表示整數(shù)也可以表示小數(shù),而移碼只能表示整

數(shù),移碼只用于浮點(diǎn)數(shù)的階碼表示。

第二節(jié)數(shù)的定點(diǎn)表示及浮點(diǎn)表示

1.定點(diǎn)數(shù)

定點(diǎn)數(shù)表示法約定:機(jī)器在運(yùn)算過程中,所有數(shù)據(jù)的小數(shù)點(diǎn)位置固定不變,小

數(shù)點(diǎn)的位置由系統(tǒng)設(shè)計(jì)者指定一個(gè)不變的位置,它不占二進(jìn)制的一位,而是隱含

在機(jī)器數(shù)中的某個(gè)位置上。

事實(shí)上,不論是定點(diǎn)小數(shù)還是定點(diǎn)整數(shù)都不能直接表示表示:+11.11

如果出現(xiàn)此種情況那么11.11=22*0.1111=2-2*1111.0

此時(shí)用定點(diǎn)數(shù)來表示數(shù)據(jù)必須另外加入一個(gè)比例因子,以便正確說明記錄的

數(shù)據(jù).用定點(diǎn)數(shù)進(jìn)行運(yùn)算處理的機(jī)器稱定點(diǎn)機(jī).

2.浮點(diǎn)數(shù)

將定點(diǎn)數(shù)所需的比例因子引入數(shù)據(jù)表示中,形成了浮點(diǎn)數(shù)。浮點(diǎn)數(shù)由階數(shù)和

尾數(shù)兩部分構(gòu)成。浮點(diǎn)數(shù)的形式如下:N=±R±E*M

其中R為階碼的底,可以為2、4、8、16等等,E為階碼,M為尾數(shù)。

通常,描述一個(gè)浮點(diǎn)數(shù)需要考慮以下六個(gè)參數(shù)

(1)尾數(shù)值:包括采用什么碼制(原碼、反碼、補(bǔ)碼,常采用原碼或補(bǔ)碼),

采用什么數(shù)制(小數(shù)、整數(shù),常采用小數(shù))

(2)階值:包括采用什么碼制(補(bǔ)碼、移碼,常采用移碼),采用什么數(shù)制

(一般采用整數(shù))

(3)尾數(shù)的基:尾數(shù)采用二進(jìn)制、四進(jìn)制、8進(jìn)制、16進(jìn)制、10進(jìn)制

-19-

(4)階的基:目前采用的只有二進(jìn)制

(5)尾數(shù)的長度

(6)階的長度

浮點(diǎn)數(shù)的表示形式為:

數(shù)符階符階碼數(shù)值(尾數(shù))

浮點(diǎn)數(shù)的表示法有很多,我們以以下四種加以說明:

原碼表示法:階和尾全是原碼;

反碼表示法:階和尾全是反碼;

補(bǔ)碼表示法:階和尾全是補(bǔ)碼;

階移尾補(bǔ)表示法:階為移碼,尾為補(bǔ)碼;

在表示浮點(diǎn)數(shù)的時(shí)候,為了充分利用尾數(shù)的有效位數(shù),提高數(shù)據(jù)精度需要采

用規(guī)格化表示,所以約定浮點(diǎn)數(shù)的尾數(shù)的數(shù)值最高位一定是有效的數(shù)據(jù)。對(duì)于原

碼表示的浮點(diǎn)數(shù),尾數(shù)的數(shù)值最高位為1,表示規(guī)格化;對(duì)于反碼、補(bǔ)碼表示的

浮點(diǎn)數(shù),符號(hào)位與尾數(shù)的數(shù)值最高位不一致,表示規(guī)格化。

對(duì)于一個(gè)數(shù)V,如果出現(xiàn)V>X,我們稱之為(正)上溢;如果出現(xiàn)WZ,我

們稱之為(負(fù))上溢;如果出現(xiàn)W<V〈Y,我們稱之為下溢;出現(xiàn)上溢現(xiàn)象要進(jìn)行

相應(yīng)的溢出處理,出現(xiàn)下溢現(xiàn)象則把結(jié)果直接看做是0(階、尾數(shù)全0)。當(dāng)浮

點(diǎn)數(shù)的位數(shù)越多,它可以表示的范圍就越大。

數(shù)據(jù)精度:指一個(gè)數(shù)的有效位數(shù).定點(diǎn)數(shù)的精度為16,浮點(diǎn)數(shù)為11.

而在計(jì)算機(jī)中使用最多的是IEEE754標(biāo)準(zhǔn)。

第三節(jié)定點(diǎn)運(yùn)算

Io原碼,反碼和補(bǔ)碼、移碼的運(yùn)算

1)原碼運(yùn)算:

力口法:同符號(hào)相加或是異符號(hào)相減,保留符號(hào),真值相加.

減法:異符號(hào)相加或是同符號(hào)相減,符號(hào)與絕對(duì)值大的數(shù)保持一致,真值相

減。

2)反碼運(yùn)算:只有加法運(yùn)算,符號(hào)參與運(yùn)算

3)補(bǔ)碼運(yùn)算:只有加法運(yùn)算,符號(hào)參與運(yùn)算

4)移碼運(yùn)算:移碼加減移碼運(yùn)算,然后修正。

2.定點(diǎn)數(shù)運(yùn)算的溢出處理

1)溢出現(xiàn)象。對(duì)于定點(diǎn)數(shù)的加減運(yùn)算來說,實(shí)際上可以分為兩類:同號(hào)加

(加)和異號(hào)加(減)。同號(hào)相加的時(shí)會(huì)產(chǎn)生結(jié)果不正確的現(xiàn)象,其原因是由于正

確的結(jié)果超過了數(shù)據(jù)所能夠表示的范圍,故爾稱之為溢出現(xiàn)象,異號(hào)相加是不會(huì)

出現(xiàn)溢出現(xiàn)象的。

-20-

2)溢出的判別

(1)由于溢出現(xiàn)象只出現(xiàn)在同號(hào)相加,其現(xiàn)象為正加正得負(fù)或是負(fù)加負(fù)得

正,

也可以表述為:當(dāng)符號(hào)相同的兩個(gè)數(shù)相加時(shí),如果結(jié)果的符號(hào)與加數(shù)(或被

加數(shù))的符號(hào)不同時(shí),則為溢出.

(2)當(dāng)兩個(gè)數(shù)相加,如果C0CF,則為溢出.溢出標(biāo)志為F=C十CF

其中C為數(shù)值位的進(jìn)位,CF為符號(hào)位的進(jìn)位。

(3)采用雙符號(hào)位。

即用00表示正數(shù),用11表示負(fù)數(shù),當(dāng)出現(xiàn)01時(shí)是正溢,出現(xiàn)10時(shí)是負(fù)溢。

3)溢出處理

計(jì)算機(jī)在運(yùn)算過程中,一旦發(fā)現(xiàn)結(jié)果有溢出現(xiàn)象,必然會(huì)進(jìn)行處理.溢出處理

有的是采用軟件處理,有的是采用硬件處理。軟件硬件等效.

3。二進(jìn)制定點(diǎn)乘法

在計(jì)算機(jī)中,運(yùn)算使用全加器,一次只能兩個(gè)數(shù)相加,所以采用累加的方式

即:A=A+B,其中A中放入的是累加的結(jié)果(部分積),B中放入的是乘數(shù)的某一

位與被乘數(shù)相乘的結(jié)果(被乘數(shù));而在計(jì)算機(jī)中都是定點(diǎn)小數(shù)運(yùn)算,為了保證每

一位的正確位置.,采用移位的方式(右移1位),所以在計(jì)算機(jī)中做乘法,就是靠

累加和移位實(shí)現(xiàn)的。

1)定點(diǎn)原碼一位乘法。

兩個(gè)原碼相乘,積的符號(hào)由兩原碼的符號(hào)異或而成,積的值由兩個(gè)原碼的絕

對(duì)值相乘而得。實(shí)現(xiàn)原6馬位乘,電路中應(yīng)該設(shè)有寄存器A、B、C;計(jì)數(shù)器Ccuul,

其中寄存器A用于存放部分積,他在運(yùn)算之初為0,在運(yùn)算過程中,每次累加的

結(jié)果放入A,最終A保存的是積的高位部分,寄存器B用于存放被乘數(shù),寄存

器C用于存放乘數(shù),由于每次移位都是A、C同時(shí)移動(dòng),所以當(dāng)運(yùn)算結(jié)束的時(shí)候C

保存的是積的低位部分。計(jì)數(shù)器Count中保存的是被乘數(shù)、乘數(shù)的數(shù)值位數(shù).注:

原碼移位的時(shí)候采用的是邏輯移位。

2)定點(diǎn)補(bǔ)碼一位乘

補(bǔ)碼乘法與原碼乘法相似,不問之處是補(bǔ)碼的符號(hào)位可以直接參與運(yùn)算。要

實(shí)現(xiàn)補(bǔ)碼一位乘,電路中應(yīng)該設(shè)有寄存器A、B、C;計(jì)數(shù)器Count,其中寄存器A

用于存放部分積,他在運(yùn)算之初為(),在運(yùn)算過程中,每次累加的結(jié)果放入A,最

終A保存的是積的高位部分,寄存器B用于存放被乘數(shù)補(bǔ)碼數(shù)值部分,寄存器

C用于存放乘數(shù)補(bǔ)碼數(shù)值部分,由于每次移位都是A、C同時(shí)移動(dòng),所以當(dāng)運(yùn)算結(jié)

束的時(shí)候C保存的是積的低位部分。計(jì)數(shù)器Count中保存的是被乘數(shù)、乘數(shù)的

數(shù)值位數(shù).注:采用校正法,每次做加法之后要算術(shù)右移,但做校正時(shí)只加,不移

-21-

位。

3)原碼兩位乘法(軟件工程、物聯(lián)網(wǎng)、信息管理專業(yè)略)

進(jìn)行原碼兩位乘法的時(shí)候,當(dāng)乘數(shù)末兩位為。。則A=A+0;當(dāng)乘數(shù)末兩位為

01則A=A+X;當(dāng)乘數(shù)末兩位為10則A=A+2X;當(dāng)乘數(shù)末兩位為11則A=A+3X.

由于3X不好實(shí)現(xiàn)所以

溫馨提示

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

評(píng)論

0/150

提交評(píng)論