第01章 計(jì)算機(jī)系統(tǒng)概述_第1頁
第01章 計(jì)算機(jī)系統(tǒng)概述_第2頁
第01章 計(jì)算機(jī)系統(tǒng)概述_第3頁
第01章 計(jì)算機(jī)系統(tǒng)概述_第4頁
第01章 計(jì)算機(jī)系統(tǒng)概述_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

哈爾濱工業(yè)大學(xué)

2

主要內(nèi)容目錄

■計(jì)算機(jī)基本構(gòu)成

■處理器寄存器

■指令執(zhí)行

■中斷

■存儲器的層次結(jié)構(gòu)

■高速緩沖存儲器

■I/O通信技術(shù)

操作系統(tǒng)OperatingSystem

■利用一個(gè)或多個(gè)處理器的硬件資源

■為系統(tǒng)用戶提供一組服務(wù)

■管理輔助存儲器(secondary

memory)和輸入輸出設(shè)備(I/O

devices)

基本組成4

■處理器(Processor)

■主存(MainMemory)

o易失性(volatile)

o也稱作實(shí)存儲器(realmemory)或主存

(primarymemory)

■輸入/輸出模塊(I/Omodules)

o二級存儲設(shè)備(secondarymemorydevices)

o通信設(shè)備(communicationsequipment)

o終端(terminals)

■系統(tǒng)總線(Systembus)

o為處理器、主存儲器和輸入/輸出模塊間提供通信

的設(shè)施。

處理器寄存器5

■處理器為和存儲器交換數(shù)據(jù),使用

■兩個(gè)內(nèi)部寄存器(internalregisters)

O存儲器地址寄存器(MAR)

■Specifiestheaddressforthenextreador

write

o存儲器緩沖寄存器(MBR)

■Containsdatawrittenintomemoryor

receivesdatareadfrommemory

oI/O地址寄存器

oI/O緩沖寄存器

計(jì)算機(jī)部件頂層視圖6

CPUMainMemory

l/OBR=Input/outputbufferregister

Figure1.1ComputerComponents:To|>LevelView

處理器寄存器7

■用戶可見寄存器

oEnableprogrammertominimizemain-

memoryreferencesbyoptimizingregister

use

■控制與狀態(tài)寄存器

oUsedbyprocessortocontroloperatingof

theprocessor

oUsedbyprivilegedoperating-system

routinestocontroltheexecutionof

programs

用戶可見寄存器8

■通過機(jī)器語言來引用

■對所有程序都是可用的,包括應(yīng)用程序

和系統(tǒng)程序

■寄存器的類型

O數(shù)據(jù)寄存器(可進(jìn)行算數(shù)和邏輯運(yùn)算)

O地址寄存器

■索引寄存器

■段指針寄存器

■棧指針寄存器

用戶可見寄存器9

■地址寄存器

O索引寄存器

■Involvesaddinganindextoabasevalueto

getanaddress

o段指針寄存器

■Whenmemoryisdividedintosegments,

memoryisreferencedbyasegmentandan

offset

o棧指針寄存器

■Pointstotopofstack

控制和狀態(tài)寄存器10

程序計(jì)數(shù)器ProgramCounter(PC)

oContainstheaddressofaninstructiontobe

fetched

指令寄存器InstructionRegister(IR)

oContainstheinstructionmostrecentlyfetched

程序狀態(tài)字ProgramStatusWord(PSW)

oConditioncodes

oInterruptenable/disable

oSupervisor/usermode

控制和狀態(tài)寄存器11

■條件碼

O處理器硬件為操作結(jié)果設(shè)置的位。

O例如,算數(shù)運(yùn)算的結(jié)果可能為

■Positiveresult

■Negativeresult

Zero

Overflow

12

指令的執(zhí)行

■包括兩步:

o取指令(InstructionFetch)

o執(zhí)行指令(InstructionExecute)

指令周期13

FetchStageExecuteStage

Figure1.2BasicInstructionCycle

取指令和執(zhí)行指令14

■處理器從主存中讀取一條指令

■程序計(jì)數(shù)器(PC)存儲了即將讀取的指令

地址

■在每次取址之后,程序計(jì)數(shù)器(PC)

或自動(dòng)增加

指令寄存器15

讀取后的指令被放到指令寄存器(instruction

register),以便進(jìn)行指令執(zhí)行。

■指令的主要分類(Categories)

oProcessor-memory

■Transferdatabetweenprocessorandmemory

oProcessor-I/O

■Datatransferredtoorfromaperipheraldevice

oDataprocessing

■Arithmeticorlogicoperationondata

oControl

Altersequenceofexecution

一臺理想機(jī)器的特性16

03415

OpcodeAddress

(a)Instructionformat

0115

S|Magnitude

(b)Integerformat

ProgramCounter(PC)=Addressofinstruction

InstructionRegister(IR)=Instructionbeingexecuted

Accumulator(AC)=Temporarystorage

(c)InteinalCPVregisters

0001=LoadACfromMemory

0010=StoreACtoMemory

0101=AddtoACfromMemory

(d)Partiallistofopcodes

Figure1.3CharacteristicsofaHypotheticalMachine

程序執(zhí)行舉例17

lemon(ZPURegistenMemory二PUReglslers

30()HU300|H30011940301|K

301uAC3015941'0003AC

30229411940IR302|2941'1940IR

9400003940[0003

941000294l|0002

Stc31Step2

lemory(TlRegisenManoryTJJRegJstei?s

30019403011Pl300|1940302]PC

30159410003AC301F594f00Q5\Ac

J594l|\

3022\415941IR302|2941

940l0Q*03

9400003

9410002941|0002

Ste)3Step4

Nfemory(ZPURegisCRManory1PURfghlers

30019403021pl300l1940303|R

3015941u0005AC,W15941'0005AC

30229412941IR30212941,2941IR

9400003940|00Q3

941000294110005~

Ste35Step6

Figure1.4ExampleofProgramExecution

(contentsofmemoryandregistersinhexadecimal)

直接內(nèi)存存取(DMA)18

■直接內(nèi)存存取(DirectMemory

Access)指I/O設(shè)備直接與存儲器之間

交換數(shù)據(jù)

■處理器授權(quán)I/Omodule同內(nèi)存進(jìn)行讀/

寫的權(quán)限

■減輕在完成I/O任務(wù)過程中的處理器的

負(fù)擔(dān)。

中斷Interrupts19

■中斷處理器的正常執(zhí)行順序

■大部分I/Odevices比處理器慢

oProcessormustpausetowaitfordevice

中斷的分類20

Table1.1ClassesofInterrupts

ProgramGeneratedbysomeconditionthatoccursasaresultofaninstruction

execution:suchasarithmeticoverflow,divisionbyzero,attempttoexecute

anillegalmachineinstruction,andreferenceoutsideauser'sallowed

memoryspace.

TimerGeneratedbyatimerwithintheprocessor.Thisallowstheoperatingsystem

toperformcertainfunctionsonaregularbasis.

I/OGeneratedbyanI0controller,tosignalnormalcompletionofanoperation

ortosignalavarietyoferrorconditions.

HardwarefailureGeneratedbyafailure,suchaspowerfailureormemoryparityerror.

ProgramFlowofControlWithout21

Interrupts

UserI/O

Isogram

WRITfc

WRE:y

③:

_L,

WRITE

(a)Nointerrupts

ProgramFlowofControlWith22

Interrupts,ShortI/OWait

ISCII/O

ProgramProRram

Q④

I/O

Comnund

WRITE

*

Interrupt

Handler

WRITE

END

*

@

WRITE

(b)Interrupts;shortI/Owait

ProgramFlowofControlWith23

Interrupts;LongI/OWait

UserI/O

ProgramProgram

①④

WRTTERI/O

Comnund

Interrupt

Handler

WRITE

WRITE,

(c)Interrupts;longI/Ounit

中斷處理InterruptHandler24

■處理一個(gè)特定中斷事件的服務(wù)程序

■中斷處理程序通常是操作系統(tǒng)的一部分

功能

中斷Interrupts

■Suspendsthenormalsequenceof

execution

Interrupt------>

occurshere

Figure1.6TransferofControlviaInterrupts

中斷周期InterruptCycle26

Figure1.7InstructionCyclewithInterrupts

1----------------------------------------------------------------------------------------------------------------------------------------------1

在進(jìn)入中斷程序,一般將原有指令地址入棧,以便中服務(wù)完成后返團(tuán)

中斷周期InterruptCycle27

■處理器檢測中斷

oProcessorchecksforinterrupts

■如果沒有中斷,則讀取當(dāng)前程序的下一

條指令

oIfnointerruptsfetchthenextinstruction

forthecurrentprogram

■如果發(fā)生中斷,掛起當(dāng)前程序的執(zhí)行,

執(zhí)行中斷處理程序

oIfaninterruptispending,suspend

executionofthecurrentprogram,and

executetheinterrupt-handlerroutine

TimingDiagramBasedonShort28

I/OWait

Time

①①

④④

ProcessorI/OI/O

wait、operation,operation

I/O

,operation

(b)Withinterrupts

③(circlednumbersrefer

tonumbersinFigure15b)

(a)Withoutinterrupts

(circlednumbersrefer

tonumbersinFigure1.5a)

Figure1.8ProgramTiming:ShortI/OWait

TimingDiagramBasedonShort29

I/OWait

Time

I/O

operation②

I/O

operation

Processor

wait

I/O

ProcessorI/Ooperation

opn

waiteratioProcessor

wail

③(b)Withinterrupis

(circlednumbersrefer

tonumben*inFigure】5c)

(a)Withoutintemipts

(circlednumbersrefer

tonumbersinFigure1.5a)

Figure1.9Pi-ognunTiming:LongI/OWait

簡單中斷處理30

HardwareSoftware

De、icecontrolleror

othersystemhardware

aninterrupt

Processorfinishes

executionofcurrent

instruction

Processorsignals

acknowledgment

ofintmpt

ProcessorpushesPSVX

andP(tontocontrol

Mack

Processorloads

PCvaluebasedon

inlciTupt

Figure1.10SimpleInterruptProcessing

中斷時(shí),內(nèi)存與寄存器的變化31

Main

Memory

(a)Interruptoccursafterinstruction

atlocationN

中斷時(shí),內(nèi)存與寄存器的變化32

Main

Memory

(b)Returnfrominterrupt

多中斷MultipleInterrupts

■處理多中斷的兩種方法:

O若正在處理一個(gè)中斷時(shí),禁止再發(fā)生中斷

O通過優(yōu)先級排序中斷,在執(zhí)行一個(gè)中斷

時(shí),可被更高優(yōu)先級的中斷打斷(即,再

次中斷到更高級別中斷服務(wù)程序)。

方法一:中斷時(shí)禁止新中斷34

■Disableinterruptswhileaninterruptis

beingprocessed

Interrupt

UserProgramHandlerX

(a)Sequentialinterruptprocessing

方法二:定義中斷優(yōu)先級35

■Defineprioritiesforinterrupts

Interrupt

UserProgramHandlerX

(b)Nestedinterruptprocessing

多中斷舉例36

Figure1.13ExampleTimeSequenceofMultipleInterrupts

37

小結(jié)一中斷技術(shù)

■中斷是指CPU對系統(tǒng)中發(fā)生的異步事件

的響應(yīng)。異步事件是指無一定時(shí)序關(guān)系

的隨機(jī)事件。如外部設(shè)備完成數(shù)據(jù)傳

輸,網(wǎng)卡接收到網(wǎng)絡(luò)數(shù)據(jù)。

■中斷事件或中斷源。引起中斷的那些事

件。

■中斷處理程序。處理中斷事件的那段程

序。

囂算'中斷”的作用38

■能充分發(fā)揮處理器的效率。避免CPU不

斷查詢和等待。使得可以有效和外部設(shè)

備并行工作。

■提高系統(tǒng)的實(shí)時(shí)處理能力??赏ㄟ^終端

方式請求及時(shí)處理。

p39

w“中斷”類型

■可屏蔽中斷(I/O中斷)

■不可屏蔽中斷(機(jī)器內(nèi)部故障、斷電故

障)

■程序錯(cuò)誤中斷(溢出、除法錯(cuò)誤等)

■軟件中斷(Trap指令或中斷指令I(lǐng)NTn)

“中斷”響應(yīng)、"中斷”屏蔽

中斷優(yōu)先級。對于同時(shí)多個(gè)中斷,CPU優(yōu)先

接受較高優(yōu)先級的中斷(如果其“中斷”優(yōu)先級

高于當(dāng)前運(yùn)行程序的中斷優(yōu)先級時(shí)),而忽

略其“中斷'優(yōu)先級較低的那些中斷。

■對于同級中斷,兩種策略:

。1)固定的優(yōu)先數(shù);

O2)輪轉(zhuǎn)法。

中斷屏蔽??赏ㄟ^PSW狀態(tài)字中的中斷禁止

位設(shè)定閾值。

41

中斷響應(yīng)時(shí)機(jī):CPU執(zhí)行一條指令后,接受

中斷,大型機(jī)掃描中斷寄存器。

■如何確定中斷源(請求中斷的設(shè)備):通過

“中斷向量”來確定。對于個(gè)主存最低

地址作為中斷向量表,例如n=128。中斷號

與相應(yīng)設(shè)備對應(yīng),例如鍵盤為01號.…。

■中斷屏蔽,可通過PSW中設(shè)定,這樣只有高

于自己優(yōu)先級的中斷可以被執(zhí)行。

42

中斷”處理過程

?若處理器接受中斷,貝『硬件”進(jìn)行如下操作:

O1)將處理器的程序狀態(tài)字PSW壓入堆棧

o2)將指令指針I(yè)P(相當(dāng)于程序代碼段的段內(nèi)相對

地址)和程序代碼段基地址寄存器CS的內(nèi)容壓入

堆棧,以保存被中斷程序的返回地址;

。3)取來被接受的中斷請求的中斷向量地址(其中

包含有中斷處理程序的IP,CS內(nèi)容),以便轉(zhuǎn)入

中斷處理程序;

o4)按中斷向量地址把中斷處理程序的程序狀態(tài)字

取來,放入處理器的程序狀態(tài)字寄存器中。

想象:相當(dāng)于“意外”地“調(diào)用了一個(gè)函數(shù)”的過程

多道程序設(shè)計(jì)43

■同時(shí)有多個(gè)程序處于執(zhí)行

■程序的執(zhí)行順序取決于他們的相對優(yōu)先

級和它們是否正在等待I/O

■中斷執(zhí)行完畢后,控制權(quán)可能不立即轉(zhuǎn)

移給發(fā)生中斷的這個(gè)程序,而可能是其

它程序。

存儲器的層次結(jié)構(gòu)44

■各類存儲器都有其自身特點(diǎn)。

■Fasteraccesstime,greatercostperbit

■Greatercapacity,smallercostperbit

■Greatercapacity,sloweraccessspeed

存儲器的層次結(jié)構(gòu)45

Figure1.14TheMemoryHierarchy

沿層次結(jié)構(gòu)向下看時(shí)

■每“位”價(jià)格遞減

■容量遞增

■存取時(shí)間遞增

■處理器訪問存儲器的頻率遞減

o訪問的局部性(Locallyofreference)

二級存儲器SecondaryMemory47

■非易失性Nonvolatile

■輔助存儲Auxiliarymemory

■用作存儲程序和數(shù)據(jù)文件Usedtostore

programanddatafiles

磁盤高速緩沖DiskCache48

■主存的部分空間可用于緩存從磁盤讀取

的部分?jǐn)?shù)據(jù)(或?qū)懭氪疟P),以期提高

磁盤的訪問速度,減少磁盤訪問代價(jià)。

■磁盤成簇寫Diskwritesareclustered

■緩沖的方法提高磁盤訪問代價(jià)

oSomedatawrittenoutmaybereferenced

again.Thedataareretrievedrapidly

fromthesoftwarecacheinsteadofslowly

fromdisk

高速緩沖存儲器CacheMemory49

■Invisibletooperatingsystem

■Increasethespeedofmemory

■Processorspeedisfasterthan

memoryspeed

■Exploittheprincipleoflocality(局部性

原理)

@v?

啜局部性原理principleoflocality

包括空間局部性(spatiallocality)和時(shí)間局

部性原理(temporallocality)。

■空間局部性指執(zhí)行經(jīng)常訪問空間相近的單

元;

。例如,程序執(zhí)行的順序性,順序訪問數(shù)據(jù)單元。

。止再如,生活中,我們經(jīng)常在某地方附近閑庭散

/JZo

■時(shí)間局部性指最近被訪問過的具有更大概率

被再次訪問到。

O例如,處理器訪問最近訪問過的單元。

O再如,我們經(jīng)常與有限的人或物打交道。

11利用Cache提高訪問速度51

■由于“局部性原理,可以通過Cache緩

沖方式提高訪問速度

■時(shí)間局部性是通過將近來使用的指令和

數(shù)據(jù)保存到高速緩沖存儲器中并使用高

速緩存的層次結(jié)構(gòu)實(shí)現(xiàn)的;

■空間局部性通常是使用較大的高速緩存

并將預(yù)取機(jī)制集成到高速緩存控制邏輯

中來實(shí)現(xiàn)。

CacheMemory52

BlockTransfer

Figure1.16CacheandMainMemory

CacheMemory53

■Containsacopyofaportionofmain

memory

■Processorfirstcheckscache

■Ifnotfoundincache,theblockof

memorycontainingtheneeded

informationismovedtothecacheand

deliveredtotheprocessor

鬻利用Cache后的訪問時(shí)間

假設(shè)M1用于臨時(shí)存儲較大M2中的部分內(nèi)

容,M1相當(dāng)M2的Cache。

■若不在Cache再去查找主存的方式,則平均

訪問時(shí)間Ts為(即數(shù)學(xué)期望):

■Ts=HXT1+(1-H)X(T1+T2)

=T1+(1-H)XT2

■其中,T1代表訪問Cache的時(shí)間,T2代表訪

問M2的時(shí)間。H表示訪問命中率

■故當(dāng)H越接近1時(shí),Ts越接近T1;最壞情況下

Ts為T1+T2。通常T1比T2快一個(gè)數(shù)量級以

上,因此如果H較高,Cache有明顯作用。

高速緩存/主存儲器55

LineMemory

(b)Mainmemory

Figure1.17Cache/Main-MemoryStructure

高速緩存中的ReadOperation56

RA-readaddress

Accessmain

?memoryforblock

containingRA

FetchRAwordAllocatecache

anddeliverslotformain

t。CPUmemoryblock

Figure1.18CacheKeadOperation

高速緩存設(shè)計(jì)(CacheDesign)57

■緩沖大小Cachesize

O緩沖區(qū)可對訪問命中產(chǎn)生很大影響

■塊大小Blocksize

o塊,是在Cache與主存交換的數(shù)據(jù)單元

。當(dāng)塊變得更大時(shí),新近取到的數(shù)據(jù)被用

到的可能性小于那些必須移出高速緩存

的數(shù)據(jù)再次被用到的可能性

高速緩存設(shè)計(jì)(CacheDesign)58

■映射函數(shù)Mappingfunction

O確定這個(gè)塊將占據(jù)哪個(gè)高速緩沖存儲單元

■替換算法Replacementalgorithm

O決定哪個(gè)塊將被替換

o替換算法常采用:Least-Recently-Used

(LRU)algorithm最近最少使用算法

高速緩存設(shè)計(jì)(CacheDesign)59

■寫入策略Writepolicy

O寫入策略規(guī)定何時(shí)發(fā)生存儲器寫入操作

(CPU對內(nèi)存的修改首先修改到高速

Cache,其次決定何時(shí)寫入主存)。

oCanoccureverytimeblockisupdated

oCanoccuronlywhenblockisreplaced

■Minimizesmemorywriteoperations

■Leavesmainmemoryinanobsoletestate

?小結(jié)二-緩沖區(qū)技術(shù)60

■CPU工作速度快,而外部設(shè)備一般速度

較慢,如何才能有效利用CPU高效率工

作?

■CPU利用“局部性原

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論