第01章 计算机系统概述_第1页
第01章 计算机系统概述_第2页
第01章 计算机系统概述_第3页
第01章 计算机系统概述_第4页
第01章 计算机系统概述_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

哈尔滨工业大学

2

主要内容目录

■计算机基本构成

■处理器寄存器

■指令执行

■中断

■存储器的层次结构

■高速缓冲存储器

■I/O通信技术

操作系统OperatingSystem

■利用一个或多个处理器的硬件资源

■为系统用户提供一组服务

■管理辅助存储器(secondary

memory)和输入输出设备(I/O

devices)

基本组成4

■处理器(Processor)

■主存(MainMemory)

o易失性(volatile)

o也称作实存储器(realmemory)或主存

(primarymemory)

■输入/输出模块(I/Omodules)

o二级存储设备(secondarymemorydevices)

o通信设备(communicationsequipment)

o终端(terminals)

■系统总线(Systembus)

o为处理器、主存储器和输入/输出模块间提供通信

的设施。

处理器寄存器5

■处理器为和存储器交换数据,使用

■两个内部寄存器(internalregisters)

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

■Specifiestheaddressforthenextreador

write

o存储器缓冲寄存器(MBR)

■Containsdatawrittenintomemoryor

receivesdatareadfrommemory

oI/O地址寄存器

oI/O缓冲寄存器

计算机部件顶层视图6

CPUMainMemory

l/OBR=Input/outputbufferregister

Figure1.1ComputerComponents:To|>LevelView

处理器寄存器7

■用户可见寄存器

oEnableprogrammertominimizemain-

memoryreferencesbyoptimizingregister

use

■控制与状态寄存器

oUsedbyprocessortocontroloperatingof

theprocessor

oUsedbyprivilegedoperating-system

routinestocontroltheexecutionof

programs

用户可见寄存器8

■通过机器语言来引用

■对所有程序都是可用的,包括应用程序

和系统程序

■寄存器的类型

O数据寄存器(可进行算数和逻辑运算)

O地址寄存器

■索引寄存器

■段指针寄存器

■栈指针寄存器

用户可见寄存器9

■地址寄存器

O索引寄存器

■Involvesaddinganindextoabasevalueto

getanaddress

o段指针寄存器

■Whenmemoryisdividedintosegments,

memoryisreferencedbyasegmentandan

offset

o栈指针寄存器

■Pointstotopofstack

控制和状态寄存器10

程序计数器ProgramCounter(PC)

oContainstheaddressofaninstructiontobe

fetched

指令寄存器InstructionRegister(IR)

oContainstheinstructionmostrecentlyfetched

程序状态字ProgramStatusWord(PSW)

oConditioncodes

oInterruptenable/disable

oSupervisor/usermode

控制和状态寄存器11

■条件码

O处理器硬件为操作结果设置的位。

O例如,算数运算的结果可能为

■Positiveresult

■Negativeresult

Zero

Overflow

12

指令的执行

■包括两步:

o取指令(InstructionFetch)

o执行指令(InstructionExecute)

指令周期13

FetchStageExecuteStage

Figure1.2BasicInstructionCycle

取指令和执行指令14

■处理器从主存中读取一条指令

■程序计数器(PC)存储了即将读取的指令

地址

■在每次取址之后,程序计数器(PC)

或自动增加

指令寄存器15

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

register),以便进行指令执行。

■指令的主要分类(Categories)

oProcessor-memory

■Transferdatabetweenprocessorandmemory

oProcessor-I/O

■Datatransferredtoorfromaperipheraldevice

oDataprocessing

■Arithmeticorlogicoperationondata

oControl

Altersequenceofexecution

一台理想机器的特性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

程序执行举例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)

直接内存存取(DMA)18

■直接内存存取(DirectMemory

Access)指I/O设备直接与存储器之间

交换数据

■处理器授权I/Omodule同内存进行读/

写的权限

■减轻在完成I/O任务过程中的处理器的

负担。

中断Interrupts19

■中断处理器的正常执行顺序

■大部分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

■处理一个特定中断事件的服务程序

■中断处理程序通常是操作系统的一部分

功能

中断Interrupts

■Suspendsthenormalsequenceof

execution

Interrupt------>

occurshere

Figure1.6TransferofControlviaInterrupts

中断周期InterruptCycle26

Figure1.7InstructionCyclewithInterrupts

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

在进入中断程序,一般将原有指令地址入栈,以便中服务完成后返团

中断周期InterruptCycle27

■处理器检测中断

oProcessorchecksforinterrupts

■如果没有中断,则读取当前程序的下一

条指令

oIfnointerruptsfetchthenextinstruction

forthecurrentprogram

■如果发生中断,挂起当前程序的执行,

执行中断处理程序

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

中断时,内存与寄存器的变化31

Main

Memory

(a)Interruptoccursafterinstruction

atlocationN

中断时,内存与寄存器的变化32

Main

Memory

(b)Returnfrominterrupt

多中断MultipleInterrupts

■处理多中断的两种方法:

O若正在处理一个中断时,禁止再发生中断

O通过优先级排序中断,在执行一个中断

时,可被更高优先级的中断打断(即,再

次中断到更高级别中断服务程序)。

方法一:中断时禁止新中断34

■Disableinterruptswhileaninterruptis

beingprocessed

Interrupt

UserProgramHandlerX

(a)Sequentialinterruptprocessing

方法二:定义中断优先级35

■Defineprioritiesforinterrupts

Interrupt

UserProgramHandlerX

(b)Nestedinterruptprocessing

多中断举例36

Figure1.13ExampleTimeSequenceofMultipleInterrupts

37

小结一中断技术

■中断是指CPU对系统中发生的异步事件

的响应。异步事件是指无一定时序关系

的随机事件。如外部设备完成数据传

输,网卡接收到网络数据。

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

件。

■中断处理程序。处理中断事件的那段程

序。

嚣算'中断”的作用38

■能充分发挥处理器的效率。避免CPU不

断查询和等待。使得可以有效和外部设

备并行工作。

■提高系统的实时处理能力。可通过终端

方式请求及时处理。

p39

w“中断”类型

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

■不可屏蔽中断(机器内部故障、断电故

障)

■程序错误中断(溢出、除法错误等)

■软件中断(Trap指令或中断指令INTn)

“中断”响应、"中断”屏蔽

中断优先级。对于同时多个中断,CPU优先

接受较高优先级的中断(如果其“中断”优先级

高于当前运行程序的中断优先级时),而忽

略其“中断'优先级较低的那些中断。

■对于同级中断,两种策略:

。1)固定的优先数;

O2)轮转法。

中断屏蔽。可通过PSW状态字中的中断禁止

位设定阈值。

41

中断响应时机:CPU执行一条指令后,接受

中断,大型机扫描中断寄存器。

■如何确定中断源(请求中断的设备):通过

“中断向量”来确定。对于个主存最低

地址作为中断向量表,例如n=128。中断号

与相应设备对应,例如键盘为01号.…。

■中断屏蔽,可通过PSW中设定,这样只有高

于自己优先级的中断可以被执行。

42

中断”处理过程

♦若处理器接受中断,贝『硬件”进行如下操作:

O1)将处理器的程序状态字PSW压入堆栈

o2)将指令指针IP(相当于程序代码段的段内相对

地址)和程序代码段基地址寄存器CS的内容压入

堆栈,以保存被中断程序的返回地址;

。3)取来被接受的中断请求的中断向量地址(其中

包含有中断处理程序的IP,CS内容),以便转入

中断处理程序;

o4)按中断向量地址把中断处理程序的程序状态字

取来,放入处理器的程序状态字寄存器中。

想象:相当于“意外”地“调用了一个函数”的过程

多道程序设计43

■同时有多个程序处于执行

■程序的执行顺序取决于他们的相对优先

级和它们是否正在等待I/O

■中断执行完毕后,控制权可能不立即转

移给发生中断的这个程序,而可能是其

它程序。

存储器的层次结构44

■各类存储器都有其自身特点。

■Fasteraccesstime,greatercostperbit

■Greatercapacity,smallercostperbit

■Greatercapacity,sloweraccessspeed

存储器的层次结构45

Figure1.14TheMemoryHierarchy

沿层次结构向下看时

■每“位”价格递减

■容量递增

■存取时间递增

■处理器访问存储器的频率递减

o访问的局部性(Locallyofreference)

二级存储器SecondaryMemory47

■非易失性Nonvolatile

■辅助存储Auxiliarymemory

■用作存储程序和数据文件Usedtostore

programanddatafiles

磁盘高速缓冲DiskCache48

■主存的部分空间可用于缓存从磁盘读取

的部分数据(或写入磁盘),以期提高

磁盘的访问速度,减少磁盘访问代价。

■磁盘成簇写Diskwritesareclustered

■缓冲的方法提高磁盘访问代价

oSomedatawrittenoutmaybereferenced

again.Thedataareretrievedrapidly

fromthesoftwarecacheinsteadofslowly

fromdisk

高速缓冲存储器CacheMemory49

■Invisibletooperatingsystem

■Increasethespeedofmemory

■Processorspeedisfasterthan

memoryspeed

■Exploittheprincipleoflocality(局部性

原理)

@v©

啜局部性原理principleoflocality

包括空间局部性(spatiallocality)和时间局

部性原理(temporallocality)。

■空间局部性指执行经常访问空间相近的单

元;

。例如,程序执行的顺序性,顺序访问数据单元。

。止再如,生活中,我们经常在某地方附近闲庭散

/JZo

■时间局部性指最近被访问过的具有更大概率

被再次访问到。

O例如,处理器访问最近访问过的单元。

O再如,我们经常与有限的人或物打交道。

11利用Cache提高访问速度51

■由于“局部性原理,可以通过Cache缓

冲方式提高访问速度

■时间局部性是通过将近来使用的指令和

数据保存到高速缓冲存储器中并使用高

速缓存的层次结构实现的;

■空间局部性通常是使用较大的高速缓存

并将预取机制集成到高速缓存控制逻辑

中来实现。

CacheMemory52

BlockTransfer

Figure1.16CacheandMainMemory

CacheMemory53

■Containsacopyofaportionofmain

memory

■Processorfirstcheckscache

■Ifnotfoundincache,theblockof

memorycontainingtheneeded

informationismovedtothecacheand

deliveredtotheprocessor

鬻利用Cache后的访问时间

假设M1用于临时存储较大M2中的部分内

容,M1相当M2的Cache。

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

访问时间Ts为(即数学期望):

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

=T1+(1-H)XT2

■其中,T1代表访问Cache的时间,T2代表访

问M2的时间。H表示访问命中率

■故当H越接近1时,Ts越接近T1;最坏情况下

Ts为T1+T2。通常T1比T2快一个数量级以

上,因此如果H较高,Cache有明显作用。

高速缓存/主存储器55

LineMemory

(b)Mainmemory

Figure1.17Cache/Main-MemoryStructure

高速缓存中的ReadOperation56

RA-readaddress

Accessmain

♦memoryforblock

containingRA

FetchRAwordAllocatecache

anddeliverslotformain

t。CPUmemoryblock

Figure1.18CacheKeadOperation

高速缓存设计(CacheDesign)57

■缓冲大小Cachesize

O缓冲区可对访问命中产生很大影响

■块大小Blocksize

o块,是在Cache与主存交换的数据单元

。当块变得更大时,新近取到的数据被用

到的可能性小于那些必须移出高速缓存

的数据再次被用到的可能性

高速缓存设计(CacheDesign)58

■映射函数Mappingfunction

O确定这个块将占据哪个高速缓冲存储单元

■替换算法Replacementalgorithm

O决定哪个块将被替换

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

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

高速缓存设计(CacheDesign)59

■写入策略Writepolicy

O写入策略规定何时发生存储器写入操作

(CPU对内存的修改首先修改到高速

Cache,其次决定何时写入主存)。

oCanoccureverytimeblockisupdated

oCanoccuronlywhenblockisreplaced

■Minimizesmemorywriteoperations

■Leavesmainmemoryinanobsoletestate

®小结二-缓冲区技术60

■CPU工作速度快,而外部设备一般速度

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

作?

■CPU利用“局部性原

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论