描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302523611丛书名: 高等学校计算机专业规划教材
第1章计算机系统概论/1
1.1计算机及其发展与应用1
1.1.1计算机及其功能特点1
1.1.2计算机发展的历史2
1.1.3未来计算机的发展6
1.1.4计算机应用7
1.2计算机的结构原理9
1.2.1计算机的工作原理9
1.2.2冯·诺依曼计算机体系结构12
1.2.3计算机功能部件简介15
1.3计算机组成实现与性能分类17
1.3.1计算机组成与计算机实现17
1.3.2计算机组成层次与互连17
1.3.3计算机的主要性能指标18
1.3.4计算机的分类19
1.4计算机系统及其软件21
1.4.1计算机系统及其软硬件等效性21
1.4.2计算机软件的分类22
1.4.3计算机系统的层次性23
复习题24
练习题25
第2章计算机组成设计实现基础/26
2.1数据表示与指令系统概述26
2.1.1数据表示与二进制编码26
2.1.2非数值数据编码27
2.1.3线性结构数据表示33
2.1.4指令系统及其发展34
2.2数值数据表示36
2.2.1数值数据表示的相关概念37〖1〗计算机组成原理目录[3]〖3〗
2.2.2数值数据的表示格式39
2.2.3定点数的编码及其数值范围41
2.2.4定点机器数的比较与转换47
2.2.5定点机器数符号扩展50
2.2.6浮点数的编码与数值范围50
2.3数据校验的编译码与实现54
2.3.1数据校验及其基本思想55
2.3.2奇偶校验码56
2.3.3海明校验码59
2.3.4循环冗余校验码63
2.4指令格式与指令功能分类69
2.4.1指令格式及其结构类型69
2.4.2指令系统的设计要求与功能分类74
2.4.3数据传输指令76
2.4.4运算操作指令78
2.4.5程序控制指令79
2.5寻址方式与堆栈81
2.5.1寻址方式及其分类81
2.5.2指令寻址方式82
2.5.3操作数寻址方式83
2.5.4堆栈及其寻址实现89
复习题94
练习题96
第3章系统总线及其I/O接口/100
3.1总线的基本概念100
3.1.1总线及其电路100
3.1.2总线的分类101
3.1.3总线的特性与性能指标103
3.1.4总线事务与数据传送方式104
3.2系统总线特性与连接结构106
3.2.1数据交换过程与传输线分类106
3.2.2总线通信的定时方式107
3.2.3串行传送的通信方式111
3.2.4总线仲裁及其仲裁方法112
3.2.5单机系统的连接方式117
3.3系统总线I/O接口120
3.3.1I/O接口及其分类120
3.3.2I/O接口的功能与结构模型121
3.3.3串行接口123
3.3.4并行接口126
3.4实用标准总线及其I/O接口128
3.4.1实用标准总线的发展历程128
3.4.2主流实用总线标准简介131
3.4.3典型实用接口标准简介135
复习题141
练习题142
第4章运算器及其设计实现/143
4.1二进制基本加法器及其进位逻辑143
4.1.1二进制基本加法器与串行加法器143
4.1.2并行加法器及其串行进位145
4.1.3先行进位及其层级分时147
4.2定点数加减运算及其逻辑实现154
4.2.1补码加减的运算方法154
4.2.2补码加减运算上溢判断方法158
4.2.3补码加减运算的逻辑实现163
4.2.4移码加减运算及其逻辑实现164
4.2.5十进制加运算及其逻辑实现167
4.3定点数乘运算及其逻辑实现170
4.3.1乘法器种类与手工运算的改进170
4.3.2有符号数的移位与舍入规则172
4.3.3原码一位乘法及其逻辑实现173
4.3.4补码一位乘法及其逻辑实现177
4.3.5两位乘运算方法180
4.3.6阵列乘法器185
4.4定点数除运算及其逻辑实现188
4.4.1除法器种类与手工运算的改进188
4.4.2原码除法及其逻辑实现190
4.4.3补码除法及其逻辑实现193
4.4.4阵列除法器199
4.5浮点数算术运算方法与逻辑运算实现201
4.5.1浮点数加减运算方法201
4.5.2浮点数乘除运算方法204
4.5.3逻辑运算及其实现207
4.6运算器组成及其组织结构208
4.6.1算术逻辑运算单元与部件209
4.6.2SN74181 ALU集成电路芯片211
4.6.3定点运算器组成及其组织结构213
4.6.4浮点运算器组成结构215
复习题216
练习题218
第5章主存储器及其组织实现/221
5.1存储器与存储系统的概述221
5.1.1存储器的访问与性能221
5.1.2存储器的分类及其结构222
5.1.3存储系统及其组织结构224
5.1.4二级结构存储系统及其比较228
5.1.5半导体存储器芯片的一般结构229
5.2MOS写常态存储器芯片233
5.2.1静态存储器芯片的结构原理233
5.2.2动态存储器芯片的结构原理236
5.2.3静态存储器芯片的读写周期241
5.2.4动态MOS存储器的刷新245
5.2.5动态MOS存储器的新技术249
5.3只读与混合MOS存储器芯片251
5.3.1只读MOS存储器芯片的结构原理251
5.3.2混合MOS存储器芯片的结构原理254
5.3.3半导体存储器芯片的特性与引脚255
5.4主存储器及其容量扩展组织257
5.4.1主机及其存储器的组成结构257
5.4.2主存储器的数据存放方法259
5.4.3主存储器模块的组织262
5.4.4主存储器实现及其与CPU的连接269
5.5主存储器带宽扩展组织279
5.5.1主存储器性能提高的技术途径279
5.5.2双端口存储器280
5.5.3单体多字存储器282
5.5.4多体多字存储器283
复习题288
练习题290
第6章控制器及其设计实现/293
6.1控制器功能结构与实现方法293
6.1.1中央处理器的功能与结构293
6.1.2中央处理器中的寄存器295
6.1.3中央处理器的主要性能指标298
6.1.4控制器的功能与结构299
6.1.5控制信号序列发生器的实现方法302
6.2指令处理的数据通路、微操作与微命令304
6.2.1指令处理流程及其状态转换304
6.2.2指令处理的数据通路及其微操作306
6.2.3模型机及其微命令309
6.3时序信号体系及其控制实现315
6.3.1指令周期及其时段划分315
6.3.2控制器时序控制317
6.3.3CPU内部时序信号体系319
6.3.4时序信号产生器322
6.4微程序设计技术326
6.4.1微指令及其基本格式327
6.4.2微程序及其与指令、微指令的关系329
6.4.3微命令的编码方法331
6.4.4微指令格式的类型334
6.4.5微程序运行的控制方法336
6.4.6微程序设计341
6.5硬布线控制器与微程序控制器346
6.5.1硬布线控制器346
6.5.2微程序控制器348
6.5.3微程序控制器与硬布线控制器的比较350
6.6控制信号序列发生器设计351
6.6.1模型机指令及其控制信号序列351
6.6.2组合逻辑控制信号序列发生器设计355
6.6.3存储逻辑控制信号序列发生器设计359
复习题364
练习题365
第7章输入输出系统及其操作控制/371
7.1输入输出系统概述371
7.1.1外围设备的分类与特性371
7.1.2输入输出系统及其结构功能373
7.1.3输入输出的过程与指令374
7.1.4输入输出控制的发展历程374
7.1.5输入输出系统的工作方式376
7.2中断及其实现的结构原理378
7.2.1中断与中断源378
7.2.2中断请求381
7.2.3中断响应383
7.2.4中断服务返回与中断过程结构388
7.3输入输出操作的控制方式391
7.3.1程序查询控制方式392
7.3.2程序中断控制方式395
7.3.3直接存储访问控制方式398
7.3.4通道控制方式404
7.4输入设备407
7.4.1键盘407
7.4.2扫描仪411
7.4.3数码相机412
7.4.4其他输入设备415
7.5输出设备417
7.5.1打印机417
7.5.2显示器421
7.6存储设备429
7.6.1磁表面存储器429
7.6.2硬磁盘存储器432
7.6.3冗余磁盘阵列435
7.6.4光盘存储器441
复习题444
练习题446
第8章并行处理及其实现体系结构/450
8.1并行处理及其体系结构概论450
8.1.1并行性与并行处理450
8.1.2并行处理体系结构的由来452
8.1.3现代计算机体系结构特点与分类455
8.1.4并行计算机及其形成过程456
8.2流水线处理机457
8.2.1流水线的基本概念457
8.2.2先行控制及其实现结构461
8.2.3流水线处理机的分类463
8.2.4基于硬件指令高度并行技术464
8.2.5基于软件指令高度并行技术468
8.2.6向量高度并行处理技术470
8.3阵列处理机473
8.3.1操作模型与处理单元结构473
8.3.2阵列处理机的体系结构475
8.3.3阵列处理机的特点与算法475
8.4多处理机478
8.4.1多处理机的提出及其组织形式478
8.4.2多处理机存储器的组织模型479
8.4.3多处理机的通信与访存模型482
8.4.4多处理机的分类与特点483
8.4.5多处理机操作系统的类型486
8.5多核处理器与多线程技术487
8.5.1多核与多核处理器487
8.5.2多核处理器产生的缘由489
8.5.3多线程与超线程490
8.5.4多核多线程492
复习题493
练习题494
参考文献/496
一台完整计算机(系统)包含硬件和软件,硬件是功能实现的根基,软件指示硬件的工作任务,用于扩展硬件功能。近二十多年来,由于计算机技术的迅猛发展及其应用领域的不断延伸,以单台计算机为基础,衍生出计算机科学与技术、软件工程、网络工程、信息安全、物联网工程、数字媒体技术、智能科学与技术、空间信息与数字技术、数据科学与大数据技术等专业,由此形成一个计算机类专业群。可见,底层(硬件)的结构原理与运行机制及其设计实现技术是计算机设计实现及其应用能力建构的必备知识,并已渗透到许多领域,也必将渗透到人类社会活动的方方面面。所以“计算机组成原理”是计算机类各专业的一门专业核心课,在计算机硬件课程体系中具有承上启下的作用,“承”先导课程有“数字逻辑电路”和“汇编语言程序设计”,“启”后继课程有“计算机体系结构”“微型计算机及其接口技术”“嵌入式系统及其应用开发”“单片机及其应用开发”等。依据地方本科高校应用型人才培养的目标要求及其学生的特点,编写知识体系适宜、层次结构清晰、文字探究可读性强、适应于自主研究性学习的“计算机组成原理”教材是极其必要的。
1. 编写的基本思想
“计算机组成原理”的教学内容不仅繁多复杂、差异性大、理论性强,而且知识具有难、远、长的特点。“难”是知识难以掌握,“远”是理论与实际相距甚远,“长”是知识关系链长。根据地方本科高校应用型人才培养的目标要求和“计算机组成原理” 知识内容的特点,借鉴吸收优秀经典计算机组成原理教材的优点,在总结分析自己长期从事“计算机组成原理”及硬件系列课程教学的基础上,本书编写的基本思想为: ①在内容范围上,选择定位于本义性“计算机组成原理”,围绕经典计算机硬件结构框架,讨论组成部件的设计实现, 简要介绍现代计算机的体系结构; ②在内容组织上,按先软(设计实现基础)后硬(部件设计实现)、先经典后现代的原则,对经典教材一般结构进行适当调整; ③在内容阐述上,以问题场景或知识关联为引导,不仅通俗具体地叙述知识,而且还深化详细地析解知识,使得文字探究可读,适用于学生自主研究性学习。
组成实现是认知物理形态对象的基本途径,整体是由部分分层组成实现的。计算机(硬件)的组成可分为整机、部件、器件和元件等四个层次,通过元件→器件、器件→部件、部件→整机等三级来实现,且分别对应“数字逻〖1〗计算机组成原理前言[3]〖3〗辑电路”“计算机组成原理”和“计算机体系结构”等三门课程,该三门课程是计算机硬件课程的核心体系,知识关系极为紧密。因此,虽然“计算机组成原理”教材众多,但从内容范围来看,一般可分为本义性和扩展性两种类型,扩展性“计算机组成原理”教材又分为带先导的和带后继的两种类型。本义性“计算机组成原理”教材是以经典计算机结构框架为基础,按计算机三级实现设置硬件课程来规划内容范围。带先导的扩展性“计算机组成原理”教材是考虑不单独设置先导课程“数字逻辑电路”,在本义性“计算机组成原理”教材的基础上,增加1~2章来阐述数字逻辑电路的基本知识。带后继的扩展性“计算机组成原理”教材是考虑不另外设置后继课程“计算机体系结构”,且“计算机组成原理”与“计算机体系结构”在知识内容上难以区分,在本义性“计算机组成原理”教材的有关章中,增加1~2节来介绍“计算机体系结构”的相应知识(该类型目前出版最多),如在控制器及其设计实现一章中介绍流水线处理技术,主存储器及其组织实现一章改为存储系统及其组织实现,主存储器仅作为存储层次的一部分,等等。同种类型“计算机组成原理”教材,其内容范围差异不大,但扩展性“计算机组成原理”教材体量较大,一般需要90~100课时来完成其所包含知识内容的教学,如此还不如单独设置两门课程。目前,计算机类专业通常单独设置三门或前两门课程来配置计算机硬件核心课程体系,极少把“数字逻辑电路”或“计算机体系结构”的知识内容包含于“计算机组成原理”课程之中。因此,本教材内容范围选择定位于本义性“计算机组成原理”。
本义性“计算机组成原理”教材内容范围的组织结构大同小异,一般分为计算机系统概论、数据信息表示与检验、指令系统、运算方法与运算器、主存储器及其组织、中央处理器、系统总线、输入输出系统(含接口)、输入输出设备等9章。这样的组织结构使得各章之间所包含知识与篇幅差异较大,如指令系统和系统总线两章同运算方法与运算器和中央处理器两章相比,所包含知识与篇幅很少。对此,本教材在组织结构上进行了三方面的调整:一是由于数据信息表示与检验和指令系统两章的知识内容均是计算机结构及其功能部件设计实现的基础,便将它们合并为一章,称为“计算机组成设计实现基础”;二是由于性能不高的计算机均采用总线结构,则接口必须面向某一系统总线,即如系统总线一样是标准化的,便将I/O接口的知识内容调整到系统总线一章,称为“系统总线及其I/O接口”;三是输入输出设备是输入输出系统的组成部分,便将输入输出系统和输入输出设备合并为一章,称为“输入输出系统及其操作控制”。另外,为便于学生自学了解现代计算机的体系结构,则增加一章“并行处理及其实现体系结构”。所以,本教材分为8章,且按内容组织原则,顺序为: 计算机系统概论、计算机组成设计实现基础、系统总线及其I/O接口、运算器及其设计实现、存储器及其组织实现、控制器及其设计实现、输入输出系统及其操作控制和并行处理及其实现体系结构。
地方本科高校的学生普遍存在“重软轻硬”现象,由教材提供一定的文字阅读量、深化具体展开知识探究,是提高学生学习兴趣、促进学生自主研究性学习的途径之一。在知识叙述上,平铺直叙知识内容,没有关联通俗的比较,则文字的可阅读性和趣味性不强;如叙述“微指令格式”时,则同“指令格式”相比较,为什么前者需要配置“顺序控制域”,而后者却不需要。在知识析解上,“就事论事”地阐述“怎样做”,不深入解释“为什么这样做”,则知识可理解性、可探讨性不高;如解释“指令功能分类”时,则应从计算机的功能特性与工作原理出发,来解释为什么需要配置这些类型的指令。特别地,依据基于问题学习(PBL)教学理论,每一节都配置一段问题引导,通过关联场景,提出本节需要讨论的知识和解决的问题,有利于基于问题学习的实现和学生自主研究性学习。
2. 教材各章概述
教材共8章,可分为三个部分。第一部分包括第1、2章。第1章回顾计算机发展的历史,展望计算机发展的未来,介绍计算机的功能特点与应用领域,讨论计算机的结构原理与组成实现,分析软硬件关系及其等效性、虚拟计算机等概念,阐述计算机的性能指标与分类和计算机系统的层次性。第2章介绍数据表示、数据检验和指令系统及其相关概念,讨论非数值数据的编码和数值数据的表示方法及其功效特征,分析数据检验编码的原理及其方法,阐述指令格式及其结构类型、指令功能分类、寻址方式和堆栈及其寻址实现。
第二部分包括第3到7章。第3章介绍总线及其分类、特性、事务等基本概念和常用系统总线与I/O接口标准的性能特点,阐述系统总线的数据交换过程、通信定时方式、分配仲裁方法、单处理机的总线结构,讨论I/O接口及其分类和功能结构。第4章在阐述基本二进制加法器及其进位逻辑的基础上,分析原码与补码加、减、乘、除运算的方法、规则及流程,讨论原码与补码加、减、乘、除运算的逻辑实现与速度提高的途径,介绍算术逻辑运算部件结构设计方法和运算器的组成结构及其组织形式。第5章介绍存储器的分类、性能指标、存储系统和地址译码等基本概念,分析MOS型半导体存储器芯片的结构原理与组成逻辑、特性与引脚,讨论主存储器容量扩展与带宽扩展的组织实现技术。第6章在介绍中央处理器的功能模型与性能指标、控制器的功能结构与实现方法等的基础上,分析指令处理流程中的状态转换及其相应的数据通路、微操作、微命令和时序信号体系及其控制方式与实现结构原理,讨论微程序设计技术、组合逻辑控制器与存储逻辑控制器的组成结构,阐述控制信号序列发生器的设计方法。第7章介绍输入输出系统及其结构功能与特性类型,阐述中断及其实现的过程原理,讨论各种输入输出操作控制方式的实现原理,分析常用外围设备的结构原理与功能特性。
第三部分即第8章,介绍并行处理与流水线技术的基本概念、实现途径和现代并行计算机的特点分类,讨论流水线处理机、阵列处理机和多处理机等三种并行计算机的结构原理与特点分类,阐述多核技术、多线程技术和超线程技术的概念与实现方法。
另外,每章附有大量的复习题和练习题。复习题即是复习要点,用于检查学生对基本知识掌握是否全面,以便于查漏补缺。练习题用于检查学生对基本知识理解的状态,以便于提高基本知识的应用能力。
3. 教材的特色
目的明确,定位实用。面向地方本科高校培养应用型人才,针对地方本科高校学生的特点,通过该课程学习,为计算机应用能力的建构奠定基础。围绕冯·诺依曼计算机的结构框架,内容范围定位于本义性“计算机组成原理”。
结构新颖,层次清晰。对经典教材一般结构进行适当调整,知识域的组织结构与现有经典教材有所不同。依据先软(设计实现基础)后硬(部件设计实现)、先经典后现代的原则安排知识域的框架结构,使得学习具有由表及里、循序渐进的特性。
问题引导,可读可研。在知识内容关联比较的基础上来叙述知识,可有效地增加文字阅读量、提高可阅读性。通过关联性问题场景来提出问题和通俗化地解释技术方法形成的原理或思维逻辑,可有效地提高可理解性和可探讨性,促进学生自主研究性学习。
在本书出版过程中,得到清华大学出版社、江西师范大学计算机信息工程学院与教务处的大力支持与帮助,清华大学出版社编辑们付出大量辛勤劳动,特别是龙启铭编辑提出了许多宝贵建议;在本书编写过程中,许多从事一线教学的同仁们给出了不少建设性意见,还直接或间接引用了许多专家学者的文献著作(已通过参考文献部分列出),在此一并表示衷心感谢与敬意。
限于作者的知识经验与能力水平,书中一定存在许多错误与疏漏之处,敬请同行专家学者和广大读者批评指正。
作者
2019年5月
5.1存储器与存储系统的概述
由第1章可知,存储器中存放的大量二进制数是以存储单元为单位一维线性编址来组织的;一个存储单元包含若干位二进制数,它是访问存储器的逻辑单位。而计算机中不仅仅只有存储器,还有存储系统。因此,单就功效难以建立起存储器的概念,还需要进一步认识其性能、特性、分类及其适用性等,才可能在概念上对存储器有个完整清晰的理解。在计算机中,为什么必须有存储系统,采用什么方法来构建,这样构建的存储系统具有怎样的结构和特征;存储器与存储系统是不同概念的对象,存储器被存储系统替换后,为什么用户编程感觉不到有什么变化;主存储器一般是半导体存储器,大容量的主存储器是由小容量的存储器芯片组成的,那么怎样组织实现;而当对主存储器进行访问时,需要以半导体存储器芯片结构原理为基础,来理解存储单元是怎样选择的,这是本节要分析讨论的问题。
5.1.1存储器的访问与性能1. 存储器的访问在计算机中,包含多种不同特性的存储器,但无论是哪种存储器都是用于存放程序和数据。存储器存放的程序和数据,不是本身所固有的,而是由其他功能部件写入的,同时又提供给其他功能部件所使用。所以,存储器包含写入和读出等两种基本操作,且统称为访问(Access)。由于程序和数据均采用二进制编码表示,则写入操作即是由其他功能部件把一定数量的二进制数存到存储器中,而读出操作即是其他功能部件把一定数量的二进制数从存储器取出来。
一次性同时写入的二进制位数与一次性同时读出的二进制位数是相等的,通常称为访问字长或访问单位,相应的二进制数称为访问字。对于主存储器来说,访问字长一般等于机器字长,但也可以是半字长或双字长。对于主存储器来说,访问字长≥存储字长,即同一存储单元的二进制数是同时访问操作的。〖1〗计算机组成原理第5章主存储器及其组织实现[3]〖3〗2. 存储器的性能指标
存储器的性能由技术指标来描述,常用于描述存储器性能的技术指标主要包括存储容量、存储速度、存储带宽和价格。
① 存储容量。存储容量是指存储器能存放二进制数的总量,用于反映存储空间大小的技术指标,存储容量越大,存储空间就越大,记忆的二进制数也就越多。存储容量的基本单位可以是位(bit,缩写为b,即1位二进制数),也可以是字节(Byte,缩写为B,即8位二进制数)。常用存储容量的单位还有K(Kilo)、M(Mega)、G(Giga)、T(Tera),当基本单位为字节时,则有:
1TB=210GB=220MB=230KB=240B
② 存取速度。存取速度可由存取时间和存取周期等两个参数来表示,它取决存储介质的物理特性和访问机构的类型。
存取时间又叫存储器访问时间(Memory Access Time),它是指启动一次存储器操作(读或写)到完成该操作所需要的全部时间,用TA表示。目前,大多数存储器的存取时间在ns级,而存取时间可分为读出时间和写入时间两种,一般来说,读出时间与写入时间是相等的。对于主存储器来说,写入时间是从存储器接收到有效的地址开始,到数据写入被选中单元为止所需的全部时间。读出时间是从存储器接收到有效地址开始,到被选中单元的数据被有效输出为止所需的全部时间。
存取周期(Memory Cycle Time)是指存储器连续进行两次独立的存储器操作(如连续两次读操作)所需的最小间隔时间,用TM来表示。由于存储器的存储介质和有关控制线路都需要有一定的稳定恢复时间,则TM>TA。现代双极型(TTL)半导体存储器的存取周期接近10ns,MOS型半导体存储器的存取周期可达100ns。
③ 存取带宽。存取带宽又称数据传输率或频带,是指单位时间可存取二进制数的最大位数,单位为: B/s、b/s等。在以存储器为中心具有存储层次的计算机中,主存储器的存储带宽是改善计算机性能的一个关键因素。
④ 存储价格。存储价格是指基本单位容量所需的费用,单位为: 元/字节、元/位等。设一个存储器的存储容量为S字节,购买该存储器的总费用为C元,则该存储器的存储价格表示为S/C(元/字节)。目前,不同介质存储器的存储价格差异很大,可达成千上万倍,且存储速度越快,存储价格越高,这是计算机中必须有存储系统而不能仅有存储器的重要原因之一。
5.1.2存储器的分类及其结构
从不同的角度出发,可对存储器进行不同的分类。一般可依据存储器的功能作用、特性和存储介质等来分类。
1. 按存储器的功能作用分类
根据存储器在计算机中所起的功能作用不同,CPU外部的存储器可分为高缓冲存储器、主存储器和辅助存储器等三种。由于高缓冲存储器与主存储器在主机的内部,所以统称为内存;而辅助存储器在主机的外部,则称为外存。
① 高速缓冲存储器。高速缓冲存储器简称高速缓存,用于存放CPU当前正在使用的程序和数据,即CPU对外部的访问绝大多数是访问高速缓冲存储器。显然,高速缓冲存储器的性能要求为: 存取速度一定要快(尽可能与CPU的速度相适应),但存储容量可以较小(能存放CPU当前正在使用的程序和数据即可),存储价格则高。
② 主存储器。主存储器简称主存,用于存放CPU运行期间所需要的程序和数据,即CPU对外部的访问很少是访问主存储器。显然,主存储器的性能要求为: 存储容量尽可能大(可存放CPU运行期间所需要的程序和数据),但存储价格不能太高,存取速度适宜即可。主存储器是冯·诺依曼计算机体系结构中传统意义的存储器。
③ 辅助存储器。辅助存储器简称辅存,用于存放CPU运行期间一段时间内暂不需要但以后可能需要的程序和数据以及一些需要永久性保存的信息,即CPU对外部的访问极少是访问辅助存储器。显然,辅助存储器的性能要求为: 存储容量一定要大(可存放CPU运行期间需要或不需要的程序和数据),但存储价格尽可能低,存取速度可以慢。
在CPU内部还可能有不同功能作用的存储器,如控制存储器与暂存存储器等。控制存储器简称控存,用于存放微程序,仅当采用微程序控制器时,CPU内部才需要配置控制存储器。暂存存储器又称为缓冲栈,用于存放CPU运行期间所产生的非结果性信息,如中间结果、地址映像信息等,目的是减少CPU外部访问;通常由几个或几十个寄存器组成,存储速度可与CPU相匹配,存储容量极小,存储字长与机器字长相等。
2. 按存储器的特性分类
存储器的特性包含访问规则、信息保存、写功能、读破坏等四个方面,因此又可从这四个角度来对存储器进行分类。
(1) 根据访问规则来分。
访问规则特性是指存储器存储单元之间信息的读写应遵循一定的规则,又称为存取方式。根据存储器的访问规则来分,存储器可分为随机存储器(RAM)、串行存储器和直接存储器等三种。随机存储器是指存储器任一存储单元的内容可按需随机读出与写入,且存取时间与存储单元的物理位置无关。串行存储器是指存储器所有存储单元的内容仅能按排列位置顺序读出或写入,且存取时间与存储单元的物理位置有关。直接存储器是指存储器一定范围存储单元的内容需按排列位置顺序读出或写入,各范围之间却可按需随机读出与写入,即兼有随机存储器与串行存储器的访问特性。
(2) 根据信息保存性来分。
信息保存特性是指存储器在断电之后,信息是否仍可保持,又称为信息易失性。根据存储器的信息保存性来分,存储器可分为易失性存储器和非易失性存储器等两种。非易失性存储器是指断电之后信息仍可保持,又称为永久性存储器;而易失性存储器则反之,又称为非永久性存储器。
(3) 根据写功能性来分。
写功能特性是指存储器写操作是否存在非在线和写前擦除限制,显然,读操作应该是存储器的常态,不存在任何限制。根据存储器的写功能性来分,存储器可分为写常态存储器、只读存储器(ROM)和混合存储器等三种。写常态存储器是指可在线写且写前无须擦除,但信息是易失的;只读存储器是指非在线写且写前需擦除,但信息是非易失的;混合存储器是指可在线写且信息是非易失的,写前可能需擦除,也可能无须擦除。
(4) 根据读破坏性来分。
读破坏特性是指存储器读操作是否破坏所存储信息,显然,写操作是不可能破坏所存储信息。根据存储器的读破坏性来分,存储器可分为破坏性存储器和非破坏性存储器等两种。破坏性存储器是指对某存储单元进行读操作时,原存储的信息将会被破坏,且把这种读取称为破坏性读取;非破坏性存储器是指对某存储单元进行读操作时,原存储的信息不会被破坏,且把这种读取称为非破坏性读取。特别地,对于破坏性存储器,每次进行读操作之后,必须紧跟一个重写(再生)操作,以便恢复被破坏的信息。
3. 按存储器的存储介质分类
从存储器的功能来看,只要具有两个显著且稳定物理特征状态的物质或元件或器件都可作为存储介质。但从存储器的性能来看,还应具备两个状态相互之间和两个状态与微电信号之间可转换且转换实现容易、速度快。这样的物质或元件或器件作为存储介质,不仅可利用两个状态来记忆“0”“1”,满足存储器的功能要求,还可使存储器具有良好的性能。因此,存储器的存储介质不多。根据存储器存储介质来分,存储器可分为半导体存储器、磁性材料存储器和光盘存储器等三种。
① 半导体存储器。采用半导体器件组成实现的存储器称为半导体存储器,它具有容量大、速度快、价格还不贵、集成度高、体积小、功耗低、维护简单等特点。目前,半导体存储器主要有两类: 双极型和MOS型,而双极型半导体存储器分为TTL型与ECL型等两种,MOS型半导体存储器分为写常态存储器、只读存储器和混合存储器等三种,写常态存储器又有静态存储器(SRAM)与动态存储器(DRAM)之分。
② 磁表面存储器。采用磁性材料实现的存储器称为磁表面存储器(又称为磁存储器),它具有容量特大、速度慢、价格便宜、体积大、生产自动化程度低等特点。目前,磁表面存储器一般有磁盘存储器、磁带存储器、磁芯存储器等三种。
③ 光存储器。光存储器是指应用激光在记录介质上进行读写的存储器,它具有容量很大、速度较慢、价格便宜、记录密度高、耐用性好、可靠性高等特点。光盘可分为只读型、只写一次型和磁光盘等三种。
4. 存储器的分类结构
不同存储介质的存储器不仅性能存在差异,而且特性也不同,因此,功能适用性也就不一样,存储器的分类结构如表51所示。
5.1.3存储系统及其组织结构1. 存储系统及其特征衡量存储器性能主要包含速度、容量和价格等三个指标,不同存储介质存储器的三个性能指标差别很大。一般说来,速度越快、价格就越高,容量就不能过大;反之,容量要求越大,价格就应越低,速度必越慢。如半导体存储器的速度快、价格就高,容量就不能大;而磁表面存储器的价格低,容量就可大,但速度慢。计算机是以存储器为中心,在程序运行过程中,CPU所需要的指令、数据要从存储器中读取,CPU运算出来的数据要写到存储器,输入输出设备也要直接与存储器交换数据,即CPU就要求存储器的速度要快。另外,要运行的程序往往大而多,涉及的数据也很多,用户就要求存储器的容量要大。而造价低则是根本。也就是说,计算机对存储器性能的基本要求是速度快、容量大,价格还要低。显然,某种介质的存储器性能与计算机对存储器的性能要求不匹配。表51不同存储介质的存储器性能、特性及其功能适用性
介 质 类 型特性性能功能适用半导体
存储器双极型TTL型随机、易失、写常态、非破坏容量较大、速度特快、价格很贵高速缓存ECL型随机、易失、写常态、非破坏容量较大、速度特快、价格很贵高速缓存MOS型静态型随机、易失、写常态、非破坏读容量较大、速度快、价格贵高速缓存、主存动态型随机、易失、写常态、破坏读容量大、速度较快、价格较贵主存只读型随机、非易失、非在线写、非破坏读容量较大、速度较快、价格很贵主存、控存混合型随机、非易失、在线写、非破坏读容量较大、速度较快、价格很贵主存、控存磁表面
存储器磁盘存储器直接、非易失、在线写、非破坏读容量特大、速度慢、价格便宜辅存磁带存储器串行、非易失、在线写、非破坏读容量大、速度很慢、价格便宜辅存磁芯存储器直接、非易失、在线写、非破坏读容量大、速度慢、价格便宜辅存光存
储器只读型直接、非易失、非在线写、非破坏读容量大、速度慢、价格很便宜辅存写一次型直接、非易失、非在线写、非破坏读容量大、速度慢、价格很便宜辅存磁光盘直接、非易失、在线写、非破坏读容量大、速度慢、价格便宜辅存为使某种介质的存储器性能与计算机对存储器的性能要求相匹配,人们一直在研究如何改进工艺、提高技术,以生产出价格低廉而速度更快的存储器。单就存储器发展趋势而言,存储器的体积是越来越小,容量是越来越大,速度是越来越高,价格是越来越低,寿命是越来越长。但从比较的角度来看,不同介质存储器的性能仍然存在“速度快的价格就高”的现象。也就是说,单靠材料工艺等技术,使某种介质存储器满足计算机对存储器的性能要求是难以实现的。
人们自然想到,是否可以将各种材料工艺、性能特性不同的多个存储器组织起来,构成一个存储器集合,以实现计算机对存储器的性能要求呢?答案是肯定的。因此,采用硬件或软件或硬软件相结合的方法,将两个或两个以上速度、容量和价格各不相同的存储器有机地连接在一起的存储器集合,称为存储系统。显然,存储系统必须具备以下两个特征。一是对应用程序员和CPU是透明的。存储系统虽然包含了多个存储器,但从应用程序员和CPU来说,仍然相当于冯·诺依曼体系结构原型中原始意义的一个存储器,应用程序员和CPU仍按原有方法访问存储系统,并不需要关注存储系统的存在及其组织实现方法。二是具有速度快、容量大、价格低的性能特点。若存储系统包含了N个存储器,那么存储系统的性能表现为: 速度近似等于N个存储器中存储速度最快的那个存储器的速度,容量近似等于N个存储器中容量最大的那个存储器的容量,价格近似等于N个存储器中价格最低的那个存储器的价格。
特别地,存储器与存储系统是两个完全不同的概念,存储器是存储系统组织的基本单元,存储系统是存储器有机整体。如果在一台计算机中只有存储器,即使有多个存储器,但没有存储系统,不同存储器的性能优势不可能得到充分发挥,无法满足计算机对存储器的性能要求。
2. 存储访问局部性原理
程序对存储空间的访问具有所谓程序访问局部性的特点,它是存储系统组织的基础。程序访问局部性包括时间局部性和空间局部性两个方面。
时间局部性是指程序在最近的未来要用到的信息很可能是现在正在使用的信息,这主要是由于复杂计算是通过反复进行简单的算术与逻辑运算来完成的,使得复杂计算程序中包含大量需要重复运行的指令序列。
空间局部性是指程序在最近的未来要用到的信息与现在正在使用的信息很可能在存储空间上是相邻或相近的,这主要是由于程序中的指令序列通常是顺序处理和数据集合不是随机分散地存储,如向量、阵列、树形和表格等数据类型,其中的数据元素在存储空间中一般是以连续簇聚的形式存放。因此,程序运行时对存储器访问的地址分布往往是连续的,而不可能是随机的,即簇聚为自然块或页面。
3. 存储系统的一般结构
怎样将多个存储器组织为存储系统呢?根据程序访问局部性和存储器性能特点,可以采用线性层次结构方法来组织实现存储系统,且速度越快的存储器越靠近CPU,速度越慢的存储器越远离CPU,存储系统的层次结构模型如图51所示。其中,M1级靠CPU最近,其速度最快,或者说M1的存储器访问周期T1最小,通过M1使存储系统的存储器速度可满足CPU对存储器速度要求。但是,M1的价格C1同速度低的存储器相比,就要贵很多,存储容量S1受价格因素限制也只能较小。为使离CPU最远的MN满足用户对存储器容量要求,MN的容量SN就应该很大,但应具有较低价格CN。受价格因素的限制,MN的速度也就相对低,或者说MN的存储访问周期TN最大。也就是说,存储系统的存取周期T~MIN(T1,T2,…,TN)、存储容量S~MAX(S1,S2,…,SN)、存储价格C~MIN(C1,C2,…,CN)。
图51存储系统的层次结构模型
由上述分析可知,M1的容量很小,一般不足以存放整个程序和程序需要使用的全部数据;而MN的容量很大,可以存放CPU运行期间及其以后需要的程序和数据。但实际上M1只需要存放当前正在使用的程序和程序所需数据中的一部分(可称为块或页)。由于程序访问具有时间局部性,近期未来一段时间内要用的信息(指令和数据)很有可能在M1中,从而使得近期未来一段时间内能在M1中访问到需要使用的信息,或称为能对M1访问命中。若对M1访问未命中,则需要把所需访问的存储字及其与其相邻近的一部分(块或页)内容从M2送至M1,由于程序访问具有时间局部性,这部分内容所包含的存储字,通常都是近期未来一段时间内所需要使用的信息。若对M2访问也未命中,则需要把所需访问的存储字及其与其相邻近的一部分内容从M3送至M2;以此类推,M3与M4,……,MN-1与MN之间的关系类同。在存储层次中,存储器之间一般满足包容关系,任何一个层次的内容都是其上一层次(离CPU更远一层)存储器中内容的子集。
由此可见,利用程序访问局部性,只要用户把需要的程序和数据存储在价格低、容量大、速度慢、最外层的存储器MN中,CPU运行期间所需要的程序和数据,绝大部分都可从价格高、容量小、速度快、最内层的存储器M1中得到,且离CPU越远的存储器,CPU访问的频度越低。因此,存储系统的速度近似于M1的速度,价格和容量近似于MN的价格和容量,即存储系统具有速度快、容量大、价格低的性能特点。
4. 存储层次组织的操作
采用线性层次结构的方法将不同类型、性能各异的存储器组织在一起建立起来的存储系统,存储层次间有许多问题需要解决,这些问题应由存储系统的设计人员通过硬件或软件或硬软件相结合的方法来自动实现,以保证对应用程序员和CPU是透明的。综合起来主要有以下四个操作。
① 存储层次间的信息传送。在对Mi访问未命中时,并不是仅从其上一层Mi 1送一个存储字到Mi中,而是把包含该存储字所在的一部分存储信息送至Mi中。这样,由于程序访问具有空间局部性,近期未来一段时间内所需使用的信息很有可能在该部分中被一起送至Mi,从而保证对Mi有较高的命中率。高层存储器向低层存储器传送信息的操作是自动实现的。
② 存储层次间的地址变换。在运行程序期间,CPU形成系列逻辑地址流,逻辑地址要变换为最高层MN的物理地址,从最高层MN开始,逐步转化为MN-1,MN-2,……,直到M1,才能实现CPU对M1的访问。存储层次间的地址变换的操作也是自动实现的。特别地,地址变换算法取决于高层存储器Mi 1的存储空间如何映像到低层存储器Mi中,存储层次间的空间映像规则与地址变换算法是一一对应的。
③ 存储空间的替换。在运行程序过程中,依据存储空间的映像规则,高层存储器Mi 1不断向低层存储器Mi调入信息。由于低层存储器Mi比高层存储器Mi 1要小得多,在某一时刻,Mi 1的某部分存储空间的信息要调入到Mi中,但Mi中可以映像Mi 1的该部分存储空间已满,那么就要从可以映像Mi 1的该部分存储空间的Mi存储空间中,找出一部分合理可行的Mi存储空间,用现在要调入的信息替换原有的信息,这就需要所谓的替换算法支持,替换算法的操作是自动实现的。
④ 存储层次间信息的一致性维护。从存储层次的组织机制可以看出,当前使用的信息在各层存储器上都有其对应的存储空间,即低层存储器Mi所存放的内容是高层存储器Mi 1部分内容的副本。显然,正本与副本的内容应保持一致,即正本的内容修改了,副本的内容也要修改;反之是一样的。这就是所谓的存储层次间的一致性,存储层次间的一致性的维护操作是自动实现的。
5.1.4二级结构存储系统及其比较1. 存储的基本层次在计算机中,存储的基本层次一般分为七层,如图52所示,从下到上存储器的容量越来越小,价格越来越高,存取周期越来越短(即速度越来越快)。高速缓冲存储器(Cache)分为两层: CPU芯片内的和CPU芯片外的,很多高性能的CPU芯片内集成有Cache。片内Cache称为一级Cache,容量很小,速度极快,且可分为指令Cache和数据Cache;片外Cache称为二级Cache,在主板上,容量较大,速度比片内Cache要低5倍左右。通用寄存器堆、指令与数据缓冲栈、片内Cache是在CPU芯片内,它们的存取速度都极高。CPU可直接访问片外高速缓冲存储器与主存储器,则合称为内存;联机外部存储器与脱机外部存储器CPU不能直接访问,则合称为外存。联机外部存储器俗称硬盘,脱机外部存储器是海量的,主要有软盘、U盘、光盘、移动硬盘、磁带等。
图52计算机存储的基本层次
2. 三层二级存储系统
从存储层次的组织操作来看,片内高速缓冲存储器及其以下各存储层次的组织操作是由CPU来自动实现,即由CPU的设计者完成;联机外部存储器与脱机外部存储器存储层次的组织操作是用户借助操作系统非自动实现;只有片外高速缓冲存储器、主存储器和联机外部存储器(可称为辅助存储器)等三个存储层次的组织操作是由存储系统来自动实现,即由存储系统的设计者完成。因此,由片外高速缓冲存储器、主存储器和辅助存储器构成一个三层二级存储系统,其结构模型如图53所示,其中把高速缓冲存储器与主存储器级称为高速缓冲存储器,主存储器和辅助存储器级称为虚拟存储器。
图53三层二级存储系统的结构模型
实际上,可以认为三层二级存储系统是主存储器扩展。在性能要求上,主存储器应具有较大的容量,价格不能太高,所以速度难以与CPU速度相匹配。为了满足CPU对速度的要求,则在主存与CPU之间插入一个高速缓冲存储器,它的速度比主存快,容量比主存小得多。另外,较大容量主存储器,容量又与用户要求相距甚远,为了满足用户对容量的要求,又在其外层加入辅助存储器,它的容量比主存大得多,速度比主存慢得多。
3. 二级存储体系的比较
高速缓冲存储器与虚拟存储器是两个不同存储层次的存储体系,在概念定义、组织操作、性能评价等方面具有相似性,但也有许多不同之处。
① 一次交换的信息量不同。若把一次交换的信息量认为是一个单位,高速缓存与主存之间以块为单位,主存与辅存之间以页为单位,块与页是相似的,但页比块大得多。块的大小是以主存储器在一个存取周期内能对主存访问到的信息量为限,一般是在几个到几十个主存存储字之间;而页的大小一般是在1K到几十K主存存储字之间。
② 两层存储器之间的速度比不同。在高速缓冲存储器中,高速缓存的速度是主存的3~10倍。在虚拟存储器中,主存的速度一般是辅存的105倍。
③ 访问不命中时CPU访问的通路不同。CPU与高速缓存和主存之间都有直接通路,若CPU对高速缓存的块访问未命中,则当前要使用的存储字直接由主存到CPU,即CPU直接访问主存,且从主存调入当前存储字所在的块到高速缓存。CPU与辅存之间没有直接通路,若CPU对主存的页访问未命中,则CPU需要等待访问的虚页从辅存调入到主存后,才能再进行访问。
④ 设置的目的不同。高速缓冲存储器是以提高主存速度为目的,以使存储系统的速度与CPU相匹配,即面对CPU。虚拟存储器是以扩大主存容量为目的,以使存储系统的容量满足用户需要,即面对用户。
⑤ 实现方式及其透明性不同。高速缓冲存储器工作时所需要的组织操作功能是由硬件实现的,对系统程序员和应用程序员均透明的。虚拟存储器工作时所需要的组织操作功能是以软件为主硬件为辅实现的,仅对应用程序员透明的。
5.1.5半导体存储器芯片的一般结构 1. 记忆元与存储单元对于半导体存储器芯片来说,通常把存储一位二进制数的元件或器件称为记忆元。半导体存储器芯片一般包含很多记忆元,包含的记忆元越多,存储容量就越大。不同类型的半导体存储器,其记忆元存储一位二进制数的原理及其逻辑电路不同,从而使得性能与特性存在差异。
同样,把包含若干个记忆元的存储器操作单位也称为存储单元,显然,一个存储单元可存储若干位二进制数。存储单元是存储器读写操作的逻辑单位,即存储于同一个存储单元的二进制数是同时被访问的。可见,半导体存储器芯片的存储单元、存储字数、存储字长、存储字等概念,具有与主存储器相同的意义,其缘由在于主存储器即是半导体存储器。但半导体存储器与半导体存储器芯片是不同概念的物理实体,半导体存储器是由一定数量的半导体存储器芯片组成。因此,半导体存储器芯片的容量也有:
存储容量(b或B)=存储字数M×存储字长N(b或B)
2. 芯片的组成结构
半导体存储器芯片用于存储二进制代码的,必须包含一个存储二进制代码的载体,称为存储体。存储体中存储的二进制代码是以存储单元为访问单位,一个存储单元唯一对应一个单元地址,则需要一个地址译码电路对单元地址译码,以选择对应的存储单元进行访问。存储体中存储二进制代码是供CPU与I/O设备使用的,且可读出可写入,读与写的信息传送方向相反,则需要一个读写电路以控制信息传送方向。另外,还需要控制逻辑来保证存储体、译码电路、读写电路之间协调有序工作。因此,存储器是由存储体、址址译码电路、读写电路和控制逻辑等四部分组成,如图54所示。
图54半导体存储器芯片的组成结构
(1) 存储体。
存储体是存储器芯片的主体,用来存储二进制代码。存储体中包含大量记忆元,记忆元在存储体中是按阵列形式排放的,如图55所示。由于P=Q时,可使含有同样数量记忆元的存储体所占面积最小,所以P与Q一般取相等,但不是一定要相等,也可以不相等。
图55存储体中记忆元排放形式
(2) 译码电路。
译码电路接收由CPU或I/O设备送到MAR中的N位地址信号,经过译码等后,使2N个选择信号中的一个有效,以选中与N位地址信号对应的存储单元。特别地,由于译码电路输出的信号在强度上往往难以与存储体相匹配,则译码电路后需要配备一个驱动电路,将译码电路输出信号进行放大,以满足存储体对选择信号的强度要求。因此,译码电路又可称为译码驱动电路。
(3) 读写电路。
读写电路用来控制选中存储单元的读或写(信息传输方向)和信号驱动判别。由于存
评论
还没有评论。