计算机组成原理1.pdf
《计算机组成原理1.pdf》由会员分享,可在线阅读,更多相关《计算机组成原理1.pdf(127页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机组成原理11.1.1 电子计算机的分类电子计算机从总体上来说分为和两大类。电子模拟计算机。“模拟”就是相似的意思。模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。电子数字计算机,它是在算盘的基础上发展起来的,是用数目字来表示数量的大小。数字计算机的主要特点是按位运算,并且不连续地跳动计算。1.1.2数字计算机分类数字计算机根据计算机的效率、速度、价格、运行的经济性和适应性来划分,可以划分为两类:专用计算机:专用机是最有效、最经济和最快速的计算机,但是它的适应性很差。通用计算机:通用计算机适应性很大,但是牺牲了效率、速度和经济性。1.1.3通用计算机分类通用计算机根据体积、简易性
2、、功率损耗、性能指标、数据存储容量、指令系统规模和机器价格等可以分为:1单片机1 超级计算机1 大型机1 服务器1 工作站1 微型机图 1.1单片机、微型机、工作站、服务器、大型机、超级计算机之间的区别1.2.1计算机的五代变化第一代为1 9 4 6 1 9 5 7 年,电子管计算机:数据处理第二代为1 9 5 8 1 9 6 4 年,晶体管计算机:工业控制第三代为1 9 6 5 1 9 7 1 年,中小规模集成电路计算机:小型计算机第四代为1 9 7 2 1 9 9 0 年,大规模和超大规模集成电路计算机:微型计算机第五代为1 9 9 1 年开始,巨大规模集成电路计算机,单片计算机开始出现。
3、1.2.2半导体存储器的发展2 0 世 纪 5 06 0 年代,所有计算机存储器都是由微小的铁磁体环1 9 7 0 年,仙童半导体公司生产出了第一个较大容量半导体存储器从 1 9 7 0 年起,半导体存储器经历了 1 1 代:单个芯片1 K B、4 K B、1 6 K B、6 4 K B、2 5 6 K B、1 M B、4 M B、1 6 M B,6 4 M B、2 5 6 M B、G B 其中 1 K=2 1 O,1 M=2 2 O,1 G=2 3 O1.2.3 微处理器的发展1 9 7 1 年 In t e l 公司开发出In t e l 4 0 0 4.这是第一个将C P U 的所有元件
4、都放入同一块芯片内的产品,于是,微处理器诞生了。微处理器演变中的另一个主要进步是1 9 7 2 年出现的 In t e l 8 0 0 8,这是第一个8位微处理器,它比4 0 0 4 复杂一倍。1 9 7 4 年出现了 In t e l 8 0 8 0 这是第一个通用微处理器,而 4 0 0 4 和 8 0 0 8 是为特殊用途而设计的。8 0 8 0 是为通用微机而设计的中央处理器。2 0 世 纪 7 0 年代末才出现强大的通用1 6 位微处理器,8 0 8 6 便是其中之一。这一发展趋势中的另一阶段是在1 9 8 1 年,贝尔实验室和H P 公司开发出了 3 2 位单片微处理器。In t
5、e l 于 1 9 8 5 年推出了 3 2 位微处理器In t e l 8 0 3 8 6。到现在的6 4 位处理器和多核处理器。1.2.4计算机的性能指标吞吐量表征一台计算机在某一时间间隔内能够处理的信息量,单位是字节/秒(B/S)。响应时间表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量,例如微 秒(10-6 S)、纳 秒(10-9 S)。利用率表示在给定的时间间隔内,系统被实际使用的时间所占的比率,一般用百分比表示。处理机字长指处理机运算器中一次能够完成二进制数运算的位数。当前处理机的字长有 8位、16 位、3 2位、6 4 位。字长越长,表示计算的精度越高。总 线 宽 度
6、 般 指 C P U 中运算器与存储器之间进行互连的内部总线二进制位数。存储器容量存储器中所有存储单元的总数目,通常用KB、MB、GB、TB来表示。其 中 K=210,M=220,G=230,T=240,B=8位(1 个字节)。存储器容量越大,记忆的二进制数越多。存储器带宽存储器的速度指标,单位时间内从存储器读出的二进制数信息量,一般用字节数/秒表示。主频/时钟周期CPU的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟,主时钟 的 频 率(f)叫 CPU的主频。度量单位是MHz(兆赫兹)、GHz(吉赫兹)。例如Pentium 系列机为 60MHz266MHz,而 Pentium 4 升至
7、3.6GHz。主频的倒数称为CPU时钟周期(T),即 T=l/f,度量单位是微秒、纳秒。CPU执 行 时 间 表 示 CPU执行一段程序所占用的CPU时间,可用下式计算:CPU执 行 时 间=CPU时 钟 周 期 数 X CPU时钟周期长C P I 表示每条指令周期数,即执行一条指令所需的平均时钟周期数。用下式计算:CP1=执行某段程序所需的CPU时钟周期数 该程序包含的指令条数MIPS表示每秒百万条指令数,用下式计算:MIPS=指令条数-程序执行时间X 106=时钟频率-CPI X 106程序执行时间Te 为:Te=指令条数 MIPS X 106MFL0PS表示每秒百万次浮点操作次数,用下式
8、计算:MFL0PS=程序中的浮点操作次数-程 序 执 行 时 间 x 106 M I P S 是单位时间内的执行指令数,所 以 M I P S 值越高说明机器速度越快。M F L O P S 是基于操作而非指令的,只能用来衡量机器浮点操作的性能,而不能体现机器的整体性能。T F L O P S 表示每秒万亿次浮点操作次数,该技术指标一般在超级计算机中使用。1.3.1 硬件组成要素通过一个例子我们来了解数字计算机的主要组成和工作原理。假设给一个算盘、一张带有横格的纸和一支笔,要求我们计算y=ax+b-c这样一个题目。解题步骤和数据记录在横格纸上,请看过程,如 表 1.3 所示。1.3.1.1 基
9、本组成控制器:人的大脑的操作控制功能运算器:人的大脑的计算功能存储器;人的大脑记忆功能输入设备:交互接口,笔输出设备:交互接口,纸1.3.1.2冯诺依曼型计算机存储程序并按地址顺序执行,这就是冯诺依曼型计算机的设计思想,也是机器自动化工作的关键。五大部件:包括控制器、运算器、存储器、输入设备、输出设备1以运算器为中心1.3.2运算器算术运算和逻辑运算在计算机中参与运算的数是二进制的在运算中,当数的位数越多时,计算的精度就越高;理论上讲,数的位数可以任意多;但是位数越多,所需的电子器件也越多;因此计算机的运算器长度一般是8 位、16位、32位、64位。1.3.3 存储器运算过程中,需要保存大量的
10、0,1代码或者数据的器件,目前采用半导体器件。一个半导体触发器由于有0 和 1 两个状态,可以记忆一个二进制代码。一个数假定用16位二进制代码来表示,那么就需要有16个触发器来保存这些代码。通常,在存储器中把保存一个数的16个触发器称为一个存储单元。存储器是由许多存储单元组成的。每个存储单元都有编号,称为地址。向存储器中存数或者从存储器中取数,都要按给定的地址来寻找所选的存储单元存储器所有存储单元的总数称为存储器的存储容量,通常用单位KB,M B,GB,TB等来表示,如 64KB,128MB。存储容量越大,表示计算机记忆储存的信息就越多。半导体存储器的存储容量毕竟有限,因此计算机中又配备了存储
11、容量更大的磁盘存储器和光盘存储器,称为外存储器。相对而言,半导体存储器称为内存储器,简称内存。图1.4 存储器结构示意图1.3.4 控制器指令和程序:指令的形式(操作和地址码、存储程序的概念、指令中程序和数据的存放、指令系统)指令和数据存储图 L 5 指令和数据在存储器控制器的基本任务控制器的基本任务:就是按照计算程序所排的指令序列,先从存储器取出一条指令放到控制器中,对该指令的操作码由译码器进行分析判别,然后根据指令性质,执行这条指令,进行相应的操作。接着从存储器取出第二条指令,再执行这第二条指令。依次类推。通常把取指令的一段时间叫做取指周期。如 图 1.6 所示。每取出一条指令,控制器中的
12、指令计数器就加1,从而为取下一条指令做好准备,这也就是指令为什么在存储器中顺序存放的原因。图 1.6 控制器功能示意图指令流和数据流:指令和数据统统放在内存中,从形式上看,它们都是二进制数码。控制器完全可以区分开哪些是指令字,哪些是数据字:一般来讲,取指周期中从内存读出的信息流是指令流,它流向控制器;而在执行器周期中从内存读力的信息流是数据流,它由内存流向运算器。1.3.5 适配器与I/O 设备输入设备:把人们所熟悉的某种信息形式变换为机器内部所能接收和识别的二进制信息形式输出设备:把计算机处理的结果变换为人或其他机器设备所能接收和识别的信息形式适配器:它使得被连接的外围设备通过系统总线与主机
13、进行联系,以便使主机和外围设备并行协调地工作系统总线:构成计算机系统的骨架,是多个系统部件之间进行数据传送的公共通路。总之,现代电子计算机是由运算器、存储器、控制器、适配器、总线和输入/输出设备组成的。1.4.1 软件的组成与分类计算机软件相对计算机硬件来说是看不见,是计算机系统中不可少的无形部件。主要有两大类:系统软件:用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能及用途。它包括以下四类:各种服务性程序,如诊断程序、排错程序、练习程序等语言程序,如汇编程序、编译程序、解释程序等操作系统数据库管理系统应用软件:用户利用计算机来解决某些问题而编制的程序,如工程设计程
14、序、数据处理程序、自动控制程序、企业管理程序、情报检索程序、科学计算程序等。1.4.2软件的发展演变1 编程语言的发展?手编程序:机器语言程序,手工编译二进制码?汇编程序:符号语言程序,汇编程序汇编?高级程序:算法语言/高级语言,机器编译程序/解释程序1 系统软件的发展?操作系统?分布式系统软件1.5.1多级计算机系统计算机不能简单地认为是一种电子设备,而是一个十分复杂的硬、软件结合而成的整体。它通常由五个以上不同的级组成,每一级都能进行程序设计,如图所示。图 L 7计算机系统的层次结构图五级计算机层次系统:1第一级是微程序设计级。这是一个实在的硬件级,它由机器硬件直接执行微指令。如果某一个应
15、用程序直接用微指令来编写,那么可在这一级上运行应用程序。1 第二级是一般机器级,也称为机器语言级,它由微程序解释机器指令系统。这一级也是硬件级。1 第三级是操作系统级,它由操作系统程序实现。这些操作系统由机器指令和广义指令组成,广义指令是操作系统定义和解释的软件指令,所以这一级也称为混合级。1第四级是汇编语言级,它给程序人员提供一种符号形式语言,以减少程序编写的复杂性。这一级由汇编程序支持和执行。如果应用程序采用汇编语言编写时,则机器必须要有这一级的功能;如果应用程序不采用汇编语言编写,则这一级可以不要。1 第五级是高级语言级,它是面向用户的,为方便用户编写应用程序而设置的。这一级由各种高级语
16、言编译程序支持和执行。1.5.2软件与硬件的逻辑等价性随着大规模集成电路技术的发展和软件硬化的趋势,计算机系统的软、硬件界限已经变得模糊了。因为任何操作可以由软件来实现,也可以由硬件来实现;任何指令的执行可以由硬件完成,也可以由软件来完成。任何操作可以由软件来实现也可以有硬件来实现(设计计算机系统时,应考虑各个方面的因素:价格、速度、可靠性、存储容量、变更周期)实体硬件机功能的扩大固件的概念(功能上是软件,形态上是硬件)1.5.3 二个常用术语的物理概念计算机体系结构(compute r arch i te cture)这个专门术语已被广泛使用,它定义为机器语言程序员所看到的传统机器级所具有的
17、属性,包含概念性结构和功能特性两个方面。计算机组织(compute r org ani z ati on)也译成计算机组成,指的是计算机体系结构的逻辑实现,包括物理机器级内的数据流和控制流的组成以及逻辑设计等。它着眼于物理机器级内各事件的排序方式与控制方式,各部件的功能以及各部件的联系。计算机实现(compute r i mple me ntati on)指的是计算机组织的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。它着眼于器件技术和微组装技术,其中器件技术在实现技术中起主导作用。本 章 小 结1习惯上所称
18、的“电子计算机”是指现在广泛应用的电子数字计算机,它分为专用计算机和通用计算机两大类。专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。通用计算机分为超级计算机、大型机、服务器、工作站、微型机、单片机 6 类,其结构复杂性、性能、价格依次递减。计算机的硬件是由有形的电子器件等构成的,它包括运算器、存储器、控制器、适配器、输入输出设备。早期将运算器和控制器合在一起称为C P U (中央处理器)。目前的C P U 包含了存储器,因此称为中央处理机。存储程序并按地址顺序执行,这是冯诺依曼型计算机的工作原理,也是C P U 自动工作的关键。计算机的软件是计算机系统结构的重要组成部
19、分,也是计算机不同于一般电子设备的本质所在。计算机软件一般分为系统程序和应用程序两大类。系统程序用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能和用途,它包括:各种服务性程序,语言类程序,操作系统,数据库管理系统。应用程序是针对某一应用课题领域开发的软件。计算机系统是一个由硬件、软件组成的多级层次结构,它通常由微程序级、一般机器级、操作系统级、汇编语言级、高级语言级组成,每一级上都能进行程序设计,且得到下面各级的支持。2.1.1 数据格式计算机常用的数据表示格式有两种:定点表示:小数点位置固定浮点表示:小数点位置不固定定点表示:所有数据的小数点位置固定不变1 理论上
20、位置可以任意,但实际上将数据表示有两种方法(小数点位置固定-定点表示法/定 点 格 式):1 纯小数1 纯整数定点表示法的特点:1 定点数表示数的范围受字长限制,表示数的范围有限;1 定点表示的精度有限1 机器中,常用定点纯整数表示;浮点数的引出:相差甚远,在定点计算机中无法直接来表示这个数值范围。要使它们送入定点计算机进行某种运算,必须对它们分别取不同的比例因子,使其数值部分绝对值小于lo浮点表示:小数点位置随阶码不同而浮动图 2-4 浮点数据格式图 2-5 浮点数据在机器中的表示形式IEEE754标准(规定了浮点数的表示格式,运算规则等)1 规则规定了单精度(32)和双精度(64)的基本格
21、式.1 规则中,尾数用原码,指数用移码(便于对阶和比较)图 2-7 浮点的IEEE754标准1 基 数 R=2,基数固定,采用隐含方式来表示它。11 一个规格化的32位浮点数x 的真值表示为x=(-l)SX(l.M)X2E-127 e=ET271 真 值 x 为零表示:当阶码E 为全0 且尾数M也为全0 时的值,结合符号位S 为。或1,有正零和负零之分。1 真值x 为无穷大表示:当阶码E 为 全 1且尾数M为全。时,结合符号位S 为 0 或 1,也有+8和-8之分。1 这样在32位浮点数表示中,要除去E 用全0 和 全 1(25510)表示零和无穷大的特殊情况,指数的偏移值不选128(1000
22、0000),而 选 127(01111111)。对于规格化浮点数,E 的范围变为1 到 254,真正的指数值e 则为-126至什127。因此32位浮点数表示的绝对值的范围是10-381038(以 10的某表示)。1 浮点数所表示的范围远比定点数大。一台计算机中究竟采用定点表示还是浮点表示,要根据计算机的使用条件来确定。一般在高档微机以上的计算机中同时采用定点、浮点表示,由使用者进行选择。而单片机中多采用定点表示。【例 1】若浮点数x 的 754标准存储格式为(41360000)16,求其浮点数的十进制数值。解将 16进制数展开后,可得二制数格式为0 100 00010 011 0110 000
23、0 0000 0000 0000S 阶码(8位)尾 数(23位)指数 e=阶码-127=10000010-01111111=00000011=(3)10 包括隐藏位 1 的尾数0110 0000 0000 0000 0000=1.011011于是有x=(-l)SXl.MX2e=+(l.011011)X23=+1011.011=(11.375)10【例 2将数(20.59375)10转换成754标准的32位浮点数的二进制存储格式。解首先分别将整数和分数部分转换成二进制数:20.59375=10100.10011然后移动小数点,使其在第1,2 位之间:10100.10011=1.010010011
24、X24 e=4于是得到:S=0,E=4+127=131,M=010010011最后得到32位浮点数的二进制存储格式为:0100 0001 1010 0100 1100 0000 0000 0000=(41A4C000)162.1.2 数的机器码表示1 真值:一般书写的数1 机器码:机器中表示的数,要解决在计算机内部数的正、负符号和小数点运算问题。把符号位和数值位一起编码来表示相应的数的各种表示方法:11.原码12.反码13.补码14.移码1、原码表示法定点整数xnxnTx.xlxO【例】x=+1001 则 x 原=01001x=T001 则 x 原=11001原码特点:1 表示简单,易于同真值
25、之间进行转换,实现乘除运算规则简单。1 进行加减运算十分麻烦。2、反码表示法正数的反码与原码相同负数的反码与负数的原码的数值位相反3、补码表示法我们先以钟表对时为例说明补码的概念。假设现在的标准时间为4 点正,而有一只表已经 7 点了,为了校准时间,可以采用两种方法:一是将时针退7-4=3格;一是将时针向前 拨 12-3=9格。这两种方法都能对准到4 点,由此看出,减 3 和加9 是等价的。就是说9是(-3)对 12的补码,可以用数学公式表示为:-3=+9(modl2)modl2的意思就是12为模数,这 个“模”表示被丢掉的数值。上式在数学上称为同余式。对于定点整数xnxnTx.xlxO1 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理
限制150内