计算机组织结构期中复习_第1页
计算机组织结构期中复习_第2页
计算机组织结构期中复习_第3页
计算机组织结构期中复习_第4页
计算机组织结构期中复习_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

计算机组织结构

IIntroduction总述

结构architecture

对程序员可见(程序员必须清楚)

包括:指令集、各种数据类型的大小

组织organization(内部实现)

对程序员透明(程序员没有必要清楚)

包括:控制信号、存储技术

计算机发展史:

第一代电子管/真空管ENIAC十进制

IAS二进制存储程序思想

亦叫做冯诺依曼模型

分为•CentralArithmetical(CA)运算器

•CentralControl(CC)控制器

•Memory(M)存储器

•Input(I)/Output(0)输入输出

四部分加

CentralProcessingUnit(CPU)

第二代晶体管

第三代到N代集成电路

摩尔定律(Moore'slaw):

在一个芯片上所放的晶体管数目每年翻倍(69年前)/18个月翻倍(69年后)

说明计算机逻辑内存单元制作更加便宜/会变得更小/提高了运算速度/降低了电源和散

热要求/集成电路的可靠性更高

计算机性能:

CPU:速度Memory:容量/速度I/O:容量/速度

主要目的是提高CPU速度

CPU的性能:

时钟:时钟率(Hz):每秒能处理的基本指令

时钟周期⑸:1/时钟率

Clocktick?

指令处理每秒钟执行的百万指令数(MIPS)每秒百万个浮点操作指令数

(MFLOPS)

例题:

1.在逛商店时,你听到一位顾客问店主,他在商店里能买到的最快的计算机是什么。店主

回答说"你正在看的是Macintosh,最快的Mac机以1.2GHz时钟速率运行,如果你想要

最快的机器,你应该购买我们的2.4GHz的IntelPentium4计算机店主的说法对吗?

为什么?

解:不能依靠时钟频率来衡量一台计算机的性能,更科学的衡量标准是每秒所执行的浮点

数计算有多少百万次。

相同的功能在不同的指令集中需要的指令数量是不同的,同一条指令在不同计算机

上需要的时钟周期是不同的。而且,即便在指令相同的情况下,如果采用并行或者流水线等

技术,也可以加速程序的执行

2.ENIAC是一个十进制机器,用10个真空管来代表一个寄存器。任何时刻只有一个真空

管处于ON状态,表示10个数字中的一个。假定,ENIAC有能力使多个真空管同时处于

ON和OFF态,这种表示方法是否合理?为什么?

不合理,当ENIAC有能力使得多个真空管同时处于ON或者OFF状态,应该采用

二进制,可以减少所需要的真空管数量,而且如果10个真空管中出现了多个处于ON状态,

则会无法判断是哪个数字。

3.IBM360Model75的指令周期的时间是360Model30的5倍,而相对性能确提高为

原来的50倍。为什么会出现这种现象?

计算机系统性能衡量的常用标准是每秒进行多少百万次的浮点数运算,虽然IBM

360Model75的指令周期是360Model30的5倍,但它可能采用不同的指令集使得完成

相同功能的指令数目减少,或者采用了流水线、并行等技术,使得计算机的性能得到了提高。

4.时钟以固定频率f(或等价地说,以固定周期时间t)来驱动处理器,这里t=l/f。程序

的规模能用程序所包含的机器指令数,或者指令计数IC来衡量。不同的指令会要求不同的

时钟周期数来执行。一个重要参数是程序的平均每条指令周期数(averagecyclesper

instruction,CPI\执行一个给定程序所需的处理器时间能表示成:T=ICxCPIxt

在指令执行期间处理器只是做了部分工作,一部分时间是花费在处理器与存储器之间的字传

送上。在后一种情况下,传送时间取决于存储器周期时间,而它会比处理器周期大很多。我

们能将上面等式改写成:

T=ICx[p+(mxk)]xt

这里,p是用于译码和执行指令所需的处理器周期数,m是所需的存储器访问次数,k是

存储器周期时间和处理器周期时间之比。

上面等式中5个性能因子(IC,p,m,k,t)受到4个系统属性影响:(1)指令集设计(亦称指令集

体系结构);(2)编译技术(在由高级语言程序产生机器语言程序时编译器如何有效);(3)处

理器实现;(4)Cache和存储器的层次。请用表格形式说明这4个系统属性对这5个性能

因子的影响。

指令集规模小编译技术好处理器快存储层次多

IC变多变少无影响无影响

P变多变少无影响无影响

M变多变少无影响变多

K无影响无影响变大变小

T无影响无影响变小无影响

5.处理器性能的一个普通度量是指令执行的速率,表示为每秒百万条指令(MIPS1请用

时钟速率和CPI来表示MIPS速率。

解:设时钟频率为f,平均每条指令周期数为CPI.所以平均每条指令所需要的时间为CPI/f

l/(CPI/f)*10A6=f/CPI*10A-6即每秒指令的百万条指令数

6.一个测试程序在一个40MHz的处理器上运行,其目标代码有100000条指令,由如下

类指令及其时钟周期计数混合组成:

指令类型指令计数时钟周期计数

整数算术450001

数据传送320002

浮点数150002

控制传送80002

请确定这个程序的有效CPI、MIPS速率和执行时间。

CPI=(45000+32000*2+15000*2+8000*2)/(45000+32000+15000+8000)

MIPS=f/CPI*10A-6

T=100000/MIPS

IIATop-LevelViewofComputerFunctionand

Interconnection总观计算机功能及内部联系

冯诺依曼模型(thevonNeumannmachine):

计算机组成:I/O主存(Mainmemory)

系统总线(Systembus)CPU

内存:数据和指令被存贮在内存中内存中的数据按地址寻找顺序执行指令

问题:主存与CPU之间的传输速度差距越来越大

解决:包含寄存器(cache)缓冲数据减少对内存访问量

增加每次读取的字节数

I/O:和CPU/内存交换数据

问题:和CPU/内存的速度差距越来越大

解决:缓冲新的接口技术

CPU:顺序执行指令数据和指令被存贮在内存中按地址寻找数据

问题:等待I/O设备时CPU的空闲问题

解决中断(Interrupt):

嵌套中断处理(Nestedinterruptprocessing)

连续中断处理(Sequentialinterruptprocessing)

总线:链接两个或更多设备是一种共用的传输介质

数据传输类型:地址线数据线控制线

总线类型:专用总线(高效传输/规模成本高)

复用总线(节省空间和成本/复杂的机制)

总线仲裁:总线可被多个设备监听但每次只能由其中一个发出信息

集中式/分布式

计时:同步/异步/半同步/分割

总线宽度(Buswidth):每次传输的位数

IllCache寄存器

内存设计瓶颈:容量速度价格成本

实际要求:大容量高速

解决方式:层次式设计

Cache基本思想:

运用一个更小更快的寄存器来减少内存的访问次数

是对主存的部分拷贝

处于CPU和主存之间可能集成在CPU或其他模块中

Cache的基本工作机制

1.Check:当处理器试图从主存访问数据时,先检查该数据是否在Cache中

2.若命中,数据直接从Cache传输至Cpu

3.若没有命中,Cpu访问主存,将一块数据传输至Cache中,然后再从Cache传

输到Cpu

如何判断命中

Cache中使用标签(tags)来判断需要访问的数据在主存中的地址。

判断丢失后为何将主存中的块(block)传输至Cache

引用的局部性原理

L时间的局部性

2.空间的局部性

3.序列的局部性

传回一块利用空间局部性,提高命中率,节省时间

•Temporallocality

intfactorial=1;

for(inti=2;i<=n;i++){

factorial=factorial*i;

)

,Spatiallocality

for(inti=0;i<num;i++){

score[i]=final[i]*0.4+midterm[i]*0.3+assign[i]*0.2+activity[i]*0.1;

}

计算平均访问时间

•Assumepishitrate,Tcisaccesstimeofcache,TMis

accesstimeofmainmemory,theaverageaccesstimewhen

usecacheis

TA=pxTc+(1—p)x(Tc+TM)

=Tc+(1-p)x

•ThelargerpandlessTcare,thebetterperformanceis

•IfwewantU<%,itisrequired

p>Tc/TM

•Difficulty:thecapacityofcacheismuchsmallerthanthe

capacityofmemory

Cache使用的一些策略

1.增加容量:缺点成本过高,且会增加Tc

2.映射函数:

-.直接映射:

设j为主存中的块数,C为Cache中的行数,则主存中每块对应在Cache中的行

数i=jmodC

(Cache中每行存一块)

•Tag

•Highestnbitsinaddress,n=log2M-log2c

TagUneWord

例:假设Cache中有四行,每行有8个字,主存中有128个字,因此需要7位来

表示地址。

每块中有8个字,所以用3位来表示字(即字长),Cache中有4行,因此中间用2

位来表示占据的是哪一行,M=16(主存中的块数)C=4(Cache中的行数),所以n=4-2=2,2

位表示Tag即标签位。

优点:简单,匹配快,查找快

缺点:抖动

比如如果一个程序每次都轮流查找映射于同一行的两个块,会大大影响命中率

所以这种映射方法适用于大容量的Cache

二,关联映射

规则:每个块可以被载入任意一行

•Tag

•Highestnbitsinaddress,n=log2M

AddressTagWord

例:假设Cache有4行,每行有8个字,主存包含128个字,

那么主存用7位地址,3位为字长,剩下四位作标签。

优点:防止抖动,

缺点:复杂而且浪费资源。

三.组关联映射(折衷)

策略:Cache被分为多个组,假设j为主存中的块数,S是Cache中的组数,那么

相应的块对应在Cache中的组号s=Smodj

K路组:k=C/S,每组的行数

组内采用关联映射

•Tag

•Highestnbitsinaddress,n=log2M一log2s

AddressTagSetWord

例:假设Cache中有4行且被分成2组,每行8个字,主存中含有128个字节,

所以7位地址。

三位表示字长,因为组数=2,中间一位用来表示位于哪一组,最高3位用作Tag.

即M=16,S=2所以n=4-l=3.

比较:

K=1直接映射K=C关联映射

关联度(Correlation每块对应寄存器中行的可能数):

直接映射1关联映射C组关联映射K

相关度越小,命中率越低,check时间更少,Tag长度越短

3.替换机制

LRULeastRecentlyUsed最近最少用

FIFOFirstInFirstOut先进先出

LFULeastFrequentlyUsed最不常用

4.写操作策略

一.写入

为保证Cache与主存的一致性,往Cache写入时同时也要往主存写入

但降低写入速度,容易产生瓶颈

二,写回

在Cache中增加一位(脏位)表示是否被修改过,若"脏",则替换整个块时前将

其写回

减少写入操作,但会有不必要的麻烦(如输出时会取得主存中未修改的数据)

策略:输出时候强制修改主存

5行的大小即每个块的容量

行变大,提高命中率。

行再变大,也可能降低命中率(原因:Cache总大小不变时,行变大,减少了行数,使

得替换频繁)

6.Cache的个数

单个:方便集成到处理器,简化电路设计

层次式:LIL2

设计复杂:要保证3个之间数据的一致性

L2可以使用另外一条路,也可以放在处理器上

注意:L1与L2的关系可以类比于单个Cache时候Cache与主存的关系

7.数据与指令是否分开

例题分析:

关于Cache的映射关系

1.假设Cache有4K字,每行32字。对十六进制主存地址:111111.666666、BBBBBB,

用十六进制格式表示如下信息:

(1)直接映射Cache的地址格式,(2)全关联映射Cache的地址格式,⑶两路组关联Cache

的地址格式。(提示:每个映射方式下,需要将标记、

块内地址等分开表示。)

解:Cache字数:41<=4*2人10=2人12总共12位地址

块的大小32=2人55位字长行数2A7用7位表示

主存地址为6位16进制即24位二进制,其中5位表示字长.

--直接映射:

标记位:19-7=12

行数:7

块内地址:5

二.全关联映射

标记为19

块内地址5

三.两路组关联映射

组数2A66位表示组数

标记为19-6=13

块内地址5位

以BBBBBB为例化为二进制位101110111011101110111011

直接映射101110111011101110111011

BBB5D1B

全关联映射101110111011101110111011

5DDDD1B

两路组关联映射101110111011101110111011

1777IDIB

对命中的判断以及LRU算法的应用

2.计算机系统包含容量为32Kxl6位的主存,按字编址,每字16位。Cache采用4路组

联的映射方式,数据区大小为4K字,主存块大小为64字。假设Cache初始时是空的,

处理器顺序地从存储单元(每个存储单元中包含1个字)0,1,…,4351中取数,然后再

重复这一顺序9次,并且Cache的速度是主存的10倍,同时假设块替换用LRU算法。

请说明使用Cache后的改进。

主存共321<=2人15个字,每块2A6=64个字,所以一共2A9块.

Cache共2A12字所以一共2A6=64行采用4路组关联

组数=2人4=16

所以标记位为9-4=5

组:4

设Cache的速度为t,则主存的速度为10t

采用cache:

第一次:0misslit

1-63hitlt*15

64misslit

64-127hitlt*15

4351/64=68

所以一共有68次miss.

第二次:因为第一次中0123行中的内容被替换成了64656667块.

根据LRU原则0123换下的是16171819那一路,以此类推、

012316171819323334354849505164656667永远miss

所以综上p=(4352*10-68-20*9)/43520=99.43%

时间10V/(V+10*(1-0.9943))=9.5倍

LRU算法与FIFO算法的应用与比较

3.假设主存中的5个块{123,4,5}映射到cache的同一组,对于主存块访问地址流

(1,2,3,4,1,2,5,1,2,3,4,5},在3-路组关联、4-路组关联、5-路组关联方式下,分别

说明LRU算法和FIFO算法的命中情况。

下面只考虑3-路组关联:

LRU算法

111444555333

22211111144

3332222225

最近最少使用的123412512

FIFO

111444555555

22211111333

3332222244

最先进的11234111255

多层次Cache的计算

4:对一个有两级Cache的系统,定义:TC1=第一级Cache存取时间;TC2=第二级

Cache

存取时间;H1=第一级Cache命中率;H2=组合的第一/二级Cache命中率。请给出读

操作时间的表示。(提示:需要假设主存的存取时间)

解:设主存存取时间为Tm

T=Tcl+(l-H2)Tm+(l-Hl)Tc2

5:假设某处理器的时钟频率为1.2GHz,当LIcache无缺失时的CPI为1(即CPU可以快

速地从LIcache中读取指令,并在1个时钟周期内完成)。访问一次主存的时间为100ns

(包括所有缺失处理),LIcache的局部缺失率为2%。若增加一个L2cache,并假定

L2cache的访问时间为5ns,而且其容量足够大到使全局缺失率仅为0.5%。分析增加

L2cache后处理器执行程序的效率提高了多少?

解:1.2Ghz=1.2*10A9次/s所以处理一次需要1/1.2=0.833nm

未增加L2时平均读取一条指令的时间为0.833+0.02*100=2.833nm

增力口L2后平均读取一条指令的时间为0.833+0.005*100+0.02*5=1.433nm

2.833/1.433=1.97倍

IVInternalMemory主存

存储位元:

有o/i两个稳定状态

可以至少被写入一次

可以读取状态

RAM(RandomAccessMemory,随机访问存储器):

特性:

可以简单迅速地读取和写入数据

易失性(volatile)

类型:

DRAM(DynamicRAM,动态随机访问存储器):电容存储需要刷新

SRAM(StaticRAM,静态随机访问存储器):门

相似:

易失性都需要提供电能来维持数据

区别:

DRAM设计简单但是需要刷新

SRAM比DRAM更快,但是集成度低造价高

DRAM多用于主存SRAM多用于寄存器

ROM(ReadOnlyMemory,只读存储器):

特性:

非易失性(Nonvolatile)

可读取但是不可写入数据

应用:

微编程系统程序函数表

问题:

无出错空间成本高

PROM(ProgrammableROM,可编程只读存储器):

特性:

非易失性(Nonvolatile)

只能写入一次:电子写入并且需要特殊的环境

与ROM的区别:

更加灵活方便

Read-MostlyMemory:

读的次数比写的次数多很多非易失

类型:EPROM(ErasablePROM,可擦除编程只读存储器):

特性:可读写紫外线擦除整块比PROM更贵

EEPROM(ElectricallyEPROM,可电擦除编程只读存储器):

特性:可写入并且无需擦除数据可按字节写入(覆盖)比EPROM擦除

速度快但造价更高

FlashMemory(闪存):

特性:电擦除可擦除几块集成度高

寻址单元(AddressingUnit):

包含同样类型的几个位元

寻址模式:字(Byte)更加常见/字节(Word)

存储阵列:线的复用先行后列

刷新:集中刷新(CentralizedFresh)停止读写,集中刷新,会有一段时间停止工作:

死区

分散刷新(DecentralizedFresh)不会出现死区但是时间过长

异步刷新(AsynchronousFresh)高效

芯片的引脚:

Address/Data/Vcc(powersupply)/Vss(groundpin)/CE(chip

enable)/Vpp(programvoltage)

WE(writeenable)/OE(outputenable)/RAS(rowaddressselect)/CAS(column

addressselect)

模块的扩展:字扩展/位扩展/字位扩展

位扩展:增加数据量。

地址线数量不变,数据线数量增加

例如:使用8个4K*1的芯片来组成4K*8的芯片

字扩展:增加寻址空间

地址线数目增加

数据线数目不变

例如:使用4个16K*8bit的芯片组成64K*8bit的主存

内存是字扩展

主存=RAM+ROM主存大小=RAM大小

其他的DRAM:

SDRAM(SynchronousDRAM,同步动态访问存储器):只允许在一个特定时刻传输

DDRSDRAM(Double-data-rateSDRAM,两倍速率SDRAM)

RambusDRAM/CacheDRAM

纠错:

奇偶校验:

奇校验:校验位=所有位作异或后再与1异或若1的个数为奇数,则校验码为0,

偶校验:校验位=所有位异或若1的个数为偶数,则校验码为0

出错条件:比较C'(新读出的校验码)与C''(重新计算后得到的校验码)(作异

或),注意,与原先的数据无关。结果为1时,有奇数位出错,为0,没有出错或者偶数位

出错。

优点:成本低

缺点:只能知道出错不能找出错误之处

海明码:分K组产生校验码

将一个M字节的数据分成K组,则有K位校验码

2Ak>=M+k+l

记八字节的数海明码为4位.

规则:

1.将两次海明码作异或,若所有位上都是0,则没有错误

2.若有一位是1,则海明码错误,不需要纠正

3.超过一位是1,根据相应规则可以判断哪T立出错,并纠正。

记8字节数D=D8D7D6D5D4D3D2D1,它的四位校验码是C=C4c3c2C1

C1=D1©D2©D4®D5©D7

C2=D1©D3®D4®D6®D7

C3=D2㊉D3㊉D4㊉D7

C4=D5㊉D6㊉D7㊉D8

纠错码110010111010100110000111011001010100

001100100001

数据位D8D7D6D5D4D3D2D1

C4C3C2C1

D8D7D6D5C4D4D3D2C3D1C2C1包括校验码的12彳立的6者存顺序

例1:D=0U01010使用偶校验

C1=D1®D2®D4®D5®D7=1

C2=D1㊉D3㊉D4㊉D6㊉D7=1

C3=D2©D3©D4©D8=0

C4=D5©D6®D7®D8=0

所以为011001010011

例2:若取得时12位为011001010011

D'=01101010得到U=0011

C"=0011

S=C©C=0000

所以没有出错

若取得时12位为011101010011

D'=01111010C=1010

C''=0011

S=C''㊉C'=1001所以第五位出错

SEC只能纠错一位

SEC-DEC增力口一位校验码C5=D1㊉D2㊉D3㊉D5㊉D6㊉D8

如果有T立数据发生错误,则有三位的校验码将发生改变

CRC(CyclicRedundancyCheck循环冗余校验码):

例子说明一切:

数据:100111。生成校验码1001(xA3+l)校验码111

loom

1001/100011000

/1001

0011

oooo

0111

0000

1110

1001

1110

1001

1110

1001

111

例题分析:

关于各种存储器的比较以及应用

1.说明下面概念间的区别

RAM和ROM

RAM,随机访问存储器,可读可写,但是易失

ROM,只读存储器,只能读不能写,不具有易失性

两者的共同点都是半导体存储器

SRAM和SDRAM

SRAM静态随机访问存储器,相对于动态的DRAM,不需要刷新电路来维持位元的状态

SDRAM是DRAM的一种,需要刷新来维持位元状态,但是相比普通的DRAM,它采用外

部时钟与处理器同步,具有更高的数据传输速率

PROM、EPROM、和EEPROM

PROM,可编程只读存储器,非易失,可以一次电写入,但之后无法修改

EPROM可擦除可编程只读存储器,可以写入多次,但需要通过紫外光擦除整个芯片的信

息,时间长,但是造价相对较低集成度高

EEPROM电子EPROM,可以擦除单个字节,消耗时间相对较短,但是造价贵且集成度低

SDRAM和DDR

DDR是一种特殊的SDRAM,也采用外部时钟与处理器同步,但是与SDRAM相比,DDR

允许在一个时钟周期内读/写两次数据,可以加快数据传输速率

2.传统的RAM组织成每芯片只有T立,而ROM通常组织成每芯片多位,请说明原因。

当RAM组织成每芯片只有一位时,所需要的地址线只要一根,这样有利于减少芯片的

引脚数和出错的概率,提高芯片的集成度。

与RAM相比,ROM容量相对较小,集成度要求较低,组成每个芯片多位可以减少

芯片数量,有利于降低成本。

3.假设采用分散式刷新,下图表示一个DRAM经由总线的读操作的简化时序,存取时间

认为是由tl到t2.由t2到t3是刷新时间,此期间DRAM芯片必须再充电,然后处理器才

能再次存取它们。

a)假定存取时间是60ns,刷新时间是40ns。问:存储周期是多少?假定1位

输出,这个DRAM所支持的最大数据传输率是多少?

解:60+40=100ns

V=l*10A9/100*l=10A7bit/s=0.125*10A7B/s=1.25MB/s

b)使用这些芯片构成一个32位宽的存储器系统,其产生的数据传输率是多

少?

解:V=1.25*32=40MB/s

对海明码的应用

4.一个8位字00111001,采用海明码生成校验位后存储。假定由存储器读出数据时,

计算出的校验位是1101,那么由存储器读出的数据字是什么?

00111001产生的海明码为

Cl=Dl©D2ffiD4ffiD5®D7=l

C2=D1㊉D3㊉D4㊉D6㊉D7=1

C3=D2㊉D3㊉D4㊉D8=1

C4=D5®D6©D7©D8=0

0111

与1101异或的结果是1010可知第十位出错

原来的是001101001111

第十位出错可知读出的数据字是00011001

关于寻址单元以及字扩展位扩展

5.已知某机主存容量为64KB,按字节编址。假定用1KX4位的DRAM芯片构成该存

储器,

请问:

a)需要多少个这样的DRAM芯片?

lB=8bit

所以N=64KB/(lK*4it)=16*8=128个

b)主存地址共多少位?哪几位用于选片?哪几位用于片内选址?

按字节选址的话64K=2A6*2A10=2A16B所以主存地址一共16位

一共有2A7个芯片

所以前七位用于选片,后9位用于片内选址

6.假定用8Kx8位的EPROM芯片组成32Kxi6位的只读存储器,请问

a)数据寄存器(用于存放数据)最少应有多少位?

16位,与每个寻址单元中数据的长度相同

b)地址寄存器(用于存放地址)最少应有多少位?

32K=225bit所以最少15位

c)共需要多少个EPROM芯片

32/8*16/8=8个

VExternalMemory外部存储器

外存的需求

1.大容量.(不会一直被使用)

2.不易失

外存的种类

包括磁盘、磁带、光盘、USB、SSD

一.磁盘

类型:软盘、硬盘

物理特性:

1.衬底:铝、铝合金、玻璃

使用玻璃的好处:稳定性高,减少读写错误、支持更低的飞行高度,不容易损坏

2.磁头一读写磁盘数据

•可运动

・不可运动(需要多个磁头)

3磁盘

•可移动

・不可移动

(读写过程中,磁头做径向运动,磁盘旋转)

4.面

・双面

・单面

5.盘片:单盘、多盘

柱面:位于同一圆柱表面上的圈

影响多盘效率的因素:多盘的情况下,每个盘的磁头只能位于盘面的同一个

柱面。

6.磁头机制:接触式(软盘)固定悬空高度、可变悬空高度

磁头通过电磁感应进行读写,为增加数据量,可将圈变窄,相应磁头就得变小,此

时电磁感应变弱,必须降低磁盘高度,即飞行高度)

关于Winchesterhead温氏磁盘、磁头封装在一个无污染的密封装置中。和常规

磁头相比,可以更加贴近磁表面,数据密度更大。磁盘不动时,以气垫的形式使磁头轻停在

磁盘表面。磁盘旋转时,产生的气压使气垫升高而1各磁头与盘面分离。

Read-writehead(1persurfacetDirectionof

\amimotKHi

A

Surface9

piatte「

Surface8

Surface7

Surface6T____

Surface5

Surface4T

Surface3

Surface2

Surface1

Surface0T

SpindleB<M)m

磁盘的工作机制:

・根据极性记录数据

・读写时,磁头固定,磁盘旋转

・写:正负电流产生不同的脉冲信号传至磁头,表面上产生不同磁性的磁化域,分

别代表0、1

・读:磁场相对磁头运动,在磁头中产生电流,不同的极性产生不同方向的电流

磁盘的数据组织

•磁道:数据由同心圆组成,每个同心圆即磁道

•扇区:每个磁道被分隔为多个区域,存储大小一定,一般为512B

•匀角速度:增加外圈数据间的空间,使得相同角度经过的扇区数目相同(浪费空间)

・多带记录数据:把磁盘分为多个带,同一个带中采取相同的划分方式,不同带之间

的划分方式不同

优点:增加存储量缺点:需要更加复杂的电路。

扇区内的数据组织:GAP间隙:为磁头提供反应时间

IDFILED:同步信息,判断是否到达新的扇区(格式化就

是划分扇区,给IDField写入信息)

数据区域(515B)誓1B为同步信息,512

存储数据,2B为CPR产生校验码

数据传输时间的计算

1.寻道时间:移动磁头定位到要访问的磁道所花费的时间

2.旋转等待时间

3.传输时间:T=b/(rN)b为需要存储的数据量,r为转速,N为每个磁道上的数据

4.存取时间=寻道时间+旋转等待时间+传送时间Ta=Ts+l/2r+b/rN

例:假设一个磁盘的平均寻道时间为4ms,旋转速度为15000rpm,每个扇区有512byte

每个磁道有500个扇区,如果我们需要读一个文件包含2500个扇区共1.28Mbytes

1.假设是连续的:则文件占据了5个磁道

2.随机分布的

对于情况1:15000rpm=2500rpsl/2500=4ms

所以t=2+4/2+4+4*(4/2+4)=34ms

对于情况2:因为是随机的t=2500*(4+4/2+0.008)=15020ms

二.光盘

CD/CD-ROM/CD-R/CD-RW/DVD/DVD-R/DVD-RW/Blue-Ray

1.CD与CD-ROM

母盘,用高强度激光烧盘

压盘,台、凹坑

激光打向背面,根据反射强弱读取信息

不同点:CD有检验码而CD-ROM没有

优点:方便,成本低,便于携带

缺点:无法更新数据,读取较慢

2.CD-R感光元器件,可写一次

CD-RW可擦写

3.DVD数字通用盘相匕瞰CD

L双面读,反射层在中间

2.半反射,同样写记录数据

3.对波长要求更短,信号更密集

4.蓝光运用更短的波长,使得刻录更加密集

强调:光盘为螺旋线(光驱旋转,线速度相同)(与磁盘不同)

三.磁带

使用与磁盘相同的存储机制

离线备份,容量大,存取快

使用磁性材料

并行&串行(蛇形排列)

例题:

1.考虑一个有N个磁道的磁盘,磁道编号由0到N-1,并假定所要求的扇区随机均匀分

在盘上。

a)假设磁头当前位于磁道t上,计算越过的磁道数为j的概率。

b)假设磁头可能出现在任意磁道上,计算越过的磁道数为k的概率。

c)计算越过的平均磁道数的期望:

N-1

E[x]=xPr[x=i])

i=0

其中,i为跨越的磁道数,Pr[x=i]为跨越的磁道数为i的概率。

解:a)磁头到达每个磁道的几率为1/N

1:若j-l<t<N-j则概率为2/N

2:若t<=j-l或者t>=N-j则概率为1/N

b)令

N-l]N-l

P[k]=2曰3]xP[i])=!乏PWi]

i=0i=0

由a)结论可知,取值1/N的有2k个磁道,取值2/N的有(N-2k)个磁道,所以有

,1/12\2(N-k)

「[r幻=^*(^*2上+小*("_2乃)=-^^

c)由给出公式结合b)结论,得

酮=£(-㈤)=£卜罕AM

i=0i=0

2.为一个磁盘系统定义如下参数:

TS=寻道时间,即磁头定位在磁道上的平均时间

r=磁盘的旋转速度(单位:转/秒)

n=每个扇区的位数

N=一个磁道的容量(单位:位)

TA=存取一个扇区的时间

请推导TA的表达式。

TA=TS+l/2r+n/rN

3.考虑一个单片磁盘,它有如下参数:旋转速率是7200rpm,一面上的磁道数是30000,

道扇区数是600,寻道时间是每越过一百个磁道用时1ms。假定开始时磁道位于磁道0,

收到一个存取随机磁道上随机扇区的请求。

a)平均寻道时间是多少?

b)平均旋转延迟是多少?

c)一个扇区的传送时间是多少?

d)完成存取请求的总的平均时间是多少?

解:a)平均寻道时间是越过一半磁道的时间也就是30000/2*100=150ms=0.15s

b)7200rpm=120rps所以平均旋转延迟=l/2r=l/240s

c)1/120/600=1/72000S

d)T=0.15+1/240+1/72000

4.已知逻辑记录是相关数据元素的集合,作为概念性的单位,它与信息如何存储和在何处

存储无关;物理记录是由存储设备特性和操作系统定义的存储空间的一个连续区域。假

定在一个磁盘系统中,每个物理记录容纳30个120字节长的逻辑记录。若此磁盘系统

有8面,每面110个磁道,96扇/道,512B/扇。假设不考虑文件头部记录和磁道索引,

并认为记录不能跨越两个扇区,请计算存储300000个逻辑记录需要多大的磁盘空间(用

扇区、磁道、面数来表示〉

解:每扇512/120=4个逻辑记录

300000/4=75000扇750000/96=781余24

782/110=7余11一共需要7面11磁道24扇

5.假定一个程序重复完成1钿盘上一个4KB的数据块读出,进行相应处理后,写回到磁

的另外一个数据区。各数据块内信息在磁盘上连续存放,并随机地位于磁盘的一个磁道

上。磁盘转速为7200rpm,平均寻道时间为10ms,磁盘最大数据传输率为40MBps,没

其他程序使用磁盘和处理器,并且磁盘读写操作和磁盘数据的处理时间不重叠。若程序

对磁盘数据的处理需要20000个时钟周期,处理器时钟频率为500MHz,则该程序完成一

次数据块"读出-处理-写回"操作所需要的时间为多少?每秒钟可以完成多少次这样

的数据块操作?

解:7200rpm=120rps

处理:t=l/500/10A6=2*10=9所以对磁盘数据的处理需要

20000*2*10A-9=4*10A-5s

读出:10+1/240+4/(40*1024)

写入时间与读出相同

计算略去。。。。

6.假设有一个磁盘,每面有200个磁道,盘面总存储容量为L6MB,磁盘旋转一周时间

25ms,每道有4个区,每两个区之间有一个间隙,磁头通过每个间隙需要1.25ms。请问:

从该磁盘上读取数据时的最大数据传输率是多少(单位:字节侬)?

解:1.6MB=1600KB所以每个磁道8KB旋转一周需要时间25ms其中

25-1.25*4=20ms来读取数据所以最大传输速率8*1000/20ms=4*10A5B/s

VIRAID磁盘冗余阵列

基本思想:单个或者多个I/O处理任务被平均分配给多个盘(以一种较高的速度来处理,降

低各个磁盘负担)

数据分布在多个盘上

特性:1.看上去像是一个盘

2.数据被分配在多个盘上

3.增加冗余信息,得到额外的好处(以空间换时间),多存一些东西来提高可靠性

恢复数据

RAID的七中技术

RAIDLevelO

将每个磁盘切成大小一样的块,每个磁盘上的同一行看成一个整体(条带)同时工

作。

优点:在数据量较大的情况下能够达到更高的传输速度与响应速率。

缺点:1.面临更大的出错风险。(没有提供任何规避风险的措施)

2.一块地方挂,全部挂。

RAIDLevell(镜像)

组成方式与RAID0相似

相比RAID0RAID1增加完全一样的镜像储存部分,这样就有一个完全一样的备份。

好处:L提高安全性,非常可靠。

2.若出错,处理过程非常简单。

坏处:1.严重浪费空间,冗余特别大。

2.有一个盘特别慢,带动整个系统变慢。(木桶效应,无法发挥所有硬盘的最

高效率)

RAIDLevel2(并发)

使用海明码校验(2Ak>=m+k+l)

条带被划分得很细小(一个字或者一个字节),处理数据更精细

缺点:同一时刻只能支持一个I/O

随着磁盘稳定性的提高,逐渐被抛弃。

RAIDLevel3(并发)

同样采用小的条带。

校验盘更小(使用恒定数量的盘个盘)

p=bOoblOb2ob3

所以p0p=pOblob2ob3obO=O

b2o0=b2opOb0oblOb2ob3

b2=pobOoblOb3

无论哪个磁盘坏掉,都可以将它恢复。(但只能判断一个磁盘坏掉的情况)

缺点:同一时刻只能支持一个I/O

(在网络服务中不适用)

RAIDLevel4

数据量更大

允许磁盘独立写。

依然只用一个盘做校验。

当只有一个盘上的数据(假设b2)发生改变时,校验码进行计算:

P'=b0oblob2'ob3

p=bOoblob2ob3

b2op=b0oblob3

p'=b2opob2'

数据盘进行读写时往往需要

温馨提示

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

评论

0/150

提交评论