计算机组成原理教学讲义Word文件下载.docx
《计算机组成原理教学讲义Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机组成原理教学讲义Word文件下载.docx(39页珍藏版)》请在冰豆网上搜索。
科学计算
传统方式:
工作量大、人工处理慢
自动控制:
数控机床、流水线控制
测量和测试:
提高精度、在恶劣条件下的测量
信息处理:
教育、卫生:
计算机辅助教学(CAI)、多媒体教室、CT(Computerizedtomography)
家电
人工智能
1.2计算机的硬件
1.2.1数字计算机的硬件组成
五大组成部分:
运算器、控制器、存储器、输入/输出设备。
概念:
存储单元、地址、存储容量、外存储器、内存储器、指令、程序、指令的组成、存储程序、程序控制、指令系统、指令周期、执行周期、CPU、主机、数据字、指令字、数据流、指令流、适配器。
冯·
诺依曼体系结构:
(1)采用二进制形式表示数据和指令
数据和指令在代码的外形上并无区别.都是由0和1组成的代码序列,只是各自约定的含义不同而已。
采用二进制、使信息数字化容易实现,可以用二值逻辑工具进行处理。
程序信息本身也可以作为被处理的对象,进行加工处理,例如对照程序进行编译,就是将源程序当作被加工处理的对象。
(2)采用存储程序方式
这是诺依曼思想的核心内容。
如前所述,它意味着事先编制程序,事先将程序(包含指令和数据)存入主存储器中,计算机在运行程序时就能自动地、连续地从存储器中依次取出指令且执行。
这是计算机能高速自动运行的基础。
计算机的工作体现为执行程序,计算机功能的扩展在很大程度上体现为所存储程序的扩展。
计算机的许多具体工作方式也是由此派生的。
诺依曼机的这种工作方式,可称为控制流(指令流)驱动方式。
即按照指令的执行序列,依次读取指令;
根据指令所含的控制信息,调用数据进行处理。
因此在执行程序的过程中,始终以控制信息流为驱动工作的因素,而数据信息流则是被动地被调用处理。
为了控制指令序列的执行顺序,我们设置一个程序(指令)计数器PC(ProgramCounter),让它存放当前指令所在的存储单元的地址。
如果程序现在是顺序执行的,每取出一条指令后PC内容加l,指示下一条指令该从何处取得。
如果程序将转移到某处,就将转移后的地址送入PC,以便按新地址读取后继指令。
所以,PC就像一个指针,一直指示着程序的执行进程,也就是指示控制流的形成。
虽然程序与数据都采用二进制代码,仍可按照PC的内容作为地址读取指令,再按照指令给出的操作数地址去读取数据。
由于多数情况下程序是顺序执行的,所以大多数指令需要依次地紧挨着存放,除了个别即将使用的数据可以紧挨着指令存放外、一般将指令和数据分别存放在该程序区户的不同区域。
(3)由运算器、存储器、控制器、输入装置和输出装置等五大部件组成计算机系统,并规定了这五部分的基本功能。
上述这些概念奠定了现代计算机的基本结构思想,并开创了程序设计的新时代。
到目前为止,绝大多数计算机仍沿用这一体制,称为诺依曼机体制。
学习计算机工作原理也就从诺依曼概念入门。
传统的诺依曼机从本质上讲是采取串行顺序处理的工作机制,即使有关数据巳经准备好,也必须逐条执行指令序列;
而提高计算机性能的根本方向之一是并行处理:
因此,近年来人们在谋求突破传统诺依曼体制的束缚,这种努力被称为非诺依曼化。
对所谓非诺依曼化的探讨仍在争议中,一般认为它表现在以下三个方面的努力。
在诺依曼体制范畴内,对传统诺依曼机进行改造,如采用多个处理部件形成流水处理,依靠时间上的重叠提高处理效率;
又如组成阵列机结构,形成单指令流多数据流,提高处理速度。
这些方向已比较成熟,成为标准结构。
用多个诺依曼机组成多机系统,支持并行算法结构。
这方面的研究目前比较活跃。
从根本上改变诺依曼机的控制流驱动方式。
例如,采用数据流驱动工作方式的数据流计算机,只要数据已经准备好,有关的指令就可并行池执行。
这是真正非诺依曼化的计算机,它为并行处理开辟了新的前景,但由于控制的复杂性,仍处于实验探索之中。
1.2.2计算机系统结构的过去和未来
发展:
电子管→晶体管→集成电路→大规模、超大规模集成电路
趋势:
由于计算机网络和分布式计算机系统能为信息处理提供廉价的服务,因此计算机系统的进一步发展,“三网合一”,将进入以通信为中心的体系结构。
计算机智能化将进一步发展,各种知识库及人工智能技术将进一步普及,人们将用自然语言和机器对话。
计算机从数值计算为主过渡到知识推理为主,从而使计算机进入知识处理阶段。
随着大规模集成电路的发展,不仅用多处理机技术来实现大型机系统功能,而且会出现计算机的动态结构,即所谓模块化计算机系统结构。
多媒体技术将有重大突破和发展,并在微处理机、计算机网络与通信等方面引起一次巨大变革。
1.3计算机的软件
计算机硬件是载体,软件是灵魂。
1.3.1软件的组成与分类
分类:
系统程序、应用程序
1.3.2软件的发展演变
手编程序(目的程序)→汇编程序→算法语言(高级语言)
高级语言与机器语言的转换:
编译系统、解释系统
操作系统、数据库
1.4计算机系统的层次结构
1.4.1多级组成的计算机系统
图1.6五个级别:
第一级微程序设计级、第二级是一般机器级、第三级是操作系统级、第四级是汇编语言级、第五级是高级语言级。
1.4.2软件与硬件的逻辑等价性
补充:
计算机的性能指标
基本字长
基本字长是指参与运算的数的基本位数,它标志着计算精度。
位数越多,精度越高,但硬件成本也越高,因为它决定着寄存器、运算部件、数据总线等的位数。
主存容量
主存储器是CPU可以直接访问的存储器,需要执行的程序与需要处理的数据就放在主存之中。
主存容量大则可以运行比较复杂的程序,并可存入大量信息,可利用更完善的软件支撑环境。
所以,计算机处理能力的大小在很大程度上取决于主存容量的大小。
外存容量
外存容量一般是指计算机系统中联机运行的外存储器容量。
由于操作系统、编译程序及众多的软件资源往往存放在外存之中,需用时再调入主存运行。
在批处理、多道程序方式中,也常将各用户待执行的程序、数据以作业形式先放在外存中,再陆续调入主存运行。
所以,联机外存容量也是一项重要指标,一般以字节数表示。
运算速度
同一台计算机,执行不同的运算所需时间可能不同,因而对运算速度的描述常采用不同方法。
常用的有CPU时钟频率、每秒平均执行指令数(ips)、单独注明时间等。
所配置的外围设备及其性能指标
外围设备配置也是影响整个系统性能的重要因素,所以在系统技术说明中常给出允许配置情况与实际配置情况。
系统软件配置情况
作为一种硬件系统,允许配置的系统软件原则上是可以不断扩充的,但实际购买的某个系统究竟已配置哪些软件,则表明它的当前功能。
第二章运算方法和运算器
2.1数据与文字的表示方法
2.1.1数据格式
在选择计算机的数的表示方式时,应当全面考虑以下几个因素:
要表示的数的类型(小数、整数、实数和复数):
决定表示方式
可能遇到的数值范围:
确定存储、处理能力
数值精确度:
处理能力相关
数据存储和处理所需要的硬件代价:
造价高低
两种常用格式:
定点格式:
定点格式容许的数值范围有限,但要求的处理硬件比较简单;
浮点格式:
容许的数值范围很大,但要求的处理硬件比较复杂。
1)
定点数表示法
定点指小数点的位置固定,为了处理方便,一般分为定点纯整数和纯小数。
2)
浮点数表示法
由于所需表示的数值取值范围相差十分悬殊,给存储和计算带来诸多不便,因此出现了浮点运算法。
浮点表示法,即小数点的位置是浮动的。
其思想来源于科学计数法。
IEEE754的浮点数(比较特殊)
浮点数的规格化:
主要解决同一浮点数表示形式的不唯一性问题。
规定,否则尾数要进行左移或右移。
机器零的概念:
尾数为0或是阶码值小于所能表示的最小数。
3)
十进制数串的表示方法
由于人们对十进制比较熟悉,因此在计算机中要增加对十进制运算的支持。
两种方式:
将十进制数变为二进制数运算,输出时再由二进制变为十进制。
直接的十进制运算
直接运算的表示方法:
字符串形式:
用于非数值计算领域
压缩的十进制数串:
分为定长和不定长两种。
需要相应的十进制运算器和指令支持。
4)
自定义数据表示
标志符数据表示、描述符数据表示
区别:
标志符与每个数据相连,二者合起来存放在一个存储单元,而描述符要和数据分开存放;
描述符表示中,先访问描述符,后访问数据,至少增加一次访存;
描述符是程序的一部分,而不是数据的一部分。
2.1.2数的机器码表示
真值(书写用)、机器码(机器内部使用)的概念
原码:
比较自然的表示法,最高位表示符号,0为正,1为负。
优点:
简单易懂。
缺点:
加减法运算复杂。
补码:
加减法运算方便,减法可以转换为加法。
定点小数的补码,公式2.9
定点整数的补码,公式2.10
反码:
为计算补码方便而引入
计算公式,小数公式2.11,整数公式2.12
由反码求补码:
符号位置1,各位取反,末位加1。
移码:
用于阶码的表示,两个移码容易比较大小,便于对阶。
定义:
公式2.14。
即将数值向X轴正方向平移2n
2.1.3字符与字符串的表示方式
ASCII码
2.1.4汉字的表示方式
输入码:
用于汉字输入
内码:
用于汉字的存储
字模码:
用于汉字的显示
2.1.5校验码
奇、偶校验码
2.2定点加法、减法运算
2.2.1补码加法
加法公式:
公式2.17
证明:
P31
2.2.2补码减法
公式2.18
P32
2.2.3溢出概念与检测方法
溢出概念:
上溢、下溢
检测方法:
双符号位、单符号位
2.2.4基本的二进制加法/减法器
进位处理方式:
串行进位(行波进位)、并行进位
二进制加法/减法器图2.2,
2.2.5十进制加法器
十进制加法/减法器图2.3
2.3定点乘法运算
2.3.1原码并行乘法
二进制乘法公式:
公式2。
26
人工乘法过程与二进制乘法
乘法器分类:
串行、并行。
由于串行乘法速度太慢,已被淘汰。
不带符号的阵列乘法器图2.5
不带符号的阵列乘法器执行时间分析
带符号的阵列乘法器原理:
首先取补→不带符号乘法→结果取补
取补器电路图,图2.6。
方法:
从右向左找到第一个“1”,这个“1”向右,包括本身保持不变,向左都取反。
取补器电路执行时间分析
2.3.2补码并行