计算机组成原理-概论

计算机系统概论

计算机系统不同于一般的电子设备,它是一个由硬件、软件组成的复杂的自动化设备。


计算机的分类

电子计算机从总体上分为两大类。一类是电子模拟计算机,"模拟"就是相似的意思。另一类是电子数字计算机,是用数字来表示数量的大小。

模拟计算机的特点是数值由连续量表示,运算过程也是连续的。

数字计算机的特点是按位运算,并且不连续地跳动运算。

数字计算机进一步可以分为专业计算机和通用计算机,专用和通用是根据计算机的效率、速度、价格、运行地经济性和适应性来划分的。

 

计算机的发展简史

计算机五代变化

第一代为1946~1957年,电子管计算机。计算机运算速度为每秒几千次至几万次。数据处理机开始得到应用。

第二代为1958~1964年,晶体管计算机。运算速度提高到每秒几万次至几十万次。工业控制机开始得到应用。

第三代为1965~1971年,中小规模集成电路计算机。运算速度提高到每秒几十万次到几百万次。小型计算机开始出现。

第四代为1972~1990年,大规模和超大规模集成电路计算机。运算速度提高到每秒1000万次至1亿次。微型计算机开始出现。

第五代为1991年开始巨大规模集成电路计算机。运算速度提高到每秒10亿次。单片计算机开始出现。

 

半导体存储器的发展

微处理器的发展

计算机的性能指标

吞吐量:表征一台计算机在某一时间间隔内能够处理的信息量。

响应时间:表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量。

利用率:在给定时间间隔内系统被实际使用的时间所占的比率,用百分比表示。

处理机字长:指处理机运算器中一次能够完成二进制数运算的位数,如32位、64位。

总线宽度:一般指CPU中运算器与存储器之间进行互连的内部总线二进制位数。

存储器容量:存储器中所有存储单元的总数目,通常用KB、MB、GB、TB来表示。

存储器带宽:单位时间内从存储器读出的二进制数信息量,一般用字节数/秒表示。

主频/时钟周期:CPU的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟,主时钟的频率的频率叫CPU的主频。

等等……

 

计算机的硬件

硬件组成要素

1.运算器

主要功能进行加、减、乘、除等算术运算(二进制运算)。除此之外还能进行逻辑运算,因此通常称为ALU(算术逻辑运算部件)。

2.存储器

存储器存储的全是0或1表示的二进制代码,目前采用半导体器件来存储。一个半导体触发器由于有0和1两个状态,可以记忆一个二进制代码。一个数假定用16位二进制码来表示,那么就需要16个触发器来保存。通常,在存储器中把保存一个数的16个触发器称为一个存储单元。存储器是由许多存储单元组成的。每个存储单元都有编号,称为地址。向存储器存数或者取数,都要按给定的地址来寻找所选的存储单元。半导体存储器的存储容量毕竟有限,因此计算机中又配备了存储容量更大的磁盘存储器和光盘存储器,称为外存储器。相对而言,半导体存储器称为内存储器

3.控制器

控制器是计算机中发号施令的部件,它控制计算机的各部件有条不紊地进行工作。

①计算程序

运算器只能完成加、减、乘、除四则运算及一些辅助操作。对于比较复杂地计算题目,计算机在运算前必须化成一步一步简单的加、减、乘除等基本操作来做。每一个基本操作就叫一条指令,而解算某一问题的一串指令序列,叫做该问题的计算程序

②指令形式

指令的内容由两部分组成,即操作的性质和操作数的地址。前者称为操作码,后者称为地址码

操作码地址码

其中操作码指出指令所进行的操作,如加、减、乘、除、取数、存数等;而地址码表示参加运算的数据应从存储器的哪个单元中取来,或运算结果应该存到哪个单元去。

指令的操作码和地址码都是用二进制代码来表示,其中地址码部分和数据一样,是二进制数的数码,而操作码部分则是二进制代码的编码。

存储器的任何位置既可以存储数据也可以存储指令,不过一般是将指令和数据分开存放。

在指令序列存放到存储器中称为存储程序,而控制器依据存储的程序来控制全机协调地完成计算机任务叫做程序控制

存储程序并按地址顺序执行,这就是冯诺伊曼结构,如果指令和数据分别放在两个存储器,称为哈佛结构。显然后者结构地计算速度更快

③控制器的基本任务

控制器的基本任务,就是按照计算程序所排的指令序列,先从存储器取出一条指令放到控制器中,对该指令的操作码由译码器进行分析辨别,然后根据指令性质,执行这条指令,进行响应的操作。接着从存储器取出第二条指令,再执行第二条指令。以此类推。通常把取指令的一段时间叫做取指周期,而把执行指令的一段时间叫做执行周期。因此控制器反复交替地处在取指周期与执行周期之间。每取出一条指令,控制器中地指令计数器就加1,从而为取下一条指令做好准备,这也就是为什么指令在存储器中顺序存放地原因。

早期的计算机术语中,把运算器和控制器合在一起称为中央处理机,简称CPU。目前存储器也放入到CPU芯片中,称为中央处理器

④指令流和数据流

由于计算机仅使用0和1两个二进制数字,所以用位(bit)作为数字计算机的最小信息单位。当CPU向存储器送入或从存储器取出信息时,不能存取单个的位,而用B(字节)和W(字)等较大的信息来工作。一个字节由8位二进制信息组成,而一个字则至少由一个以上的字节组成。

由于计算机使用的信息既有指令也有数据,所以计算机字既可以代表指令,也可以代表数据。如果某字代表要处理的数据,则称为数据字;如果某字为一条指令,则称为指令字

指令和数据统统放在内存中,从形式上看,它们都是二进制代码,似乎很难分清哪些是指令字,哪些是数据字。然而控制器完全可以区分开哪些是指令字,哪些是数据字。一般来讲,取指周期中从内存读出的信息流是指令流,它流向控制器;而在执行周期中从内存读出的信息流是数据流,它由内存流向运算器。

 

4.适配器与输入输出设备

理想的计算机输入设备应该是"会看"和"会听",即能够把人们用文字或语言所表达的问题直接送到计算机内部进行处理,但是现在这种理想的输入设备还未大规模应用。目前常用的输入设备是键盘、鼠标、数字扫描仪及模数转换器等。它们的作用是把人们所熟悉的某种信息变换为机器内部所能接收和识别的二进制信息形式。

输出设备的作用是把计算机处理的结果变换成人或其他机器设备所能接收和识别的信息形式。

计算机的输入、输出设备通常称为外围设备。这些外围设备种类繁多且速度各异,因此它们不是直接与高速工作的主机相连接,而是通过适配器部件与主机相联系。适配器的作用相当于一个转换器。它可以保证连接的外围设备用计算机系统特性所要求的形式发送或接收信息。

一个典型的计算机系统具有各种类型的外围设备,因而有各种类型的适配器,它使得被连接的外围设备通过系统总线与主机进行联系,以便使主机和外围设备并行协调地工作。

除了以上各部件外,计算机系统中还必须有总线。系统总线是构成计算机系统地骨架,是多个系统部件之间进行数据传送地公共通道。借助系统总线,计算机在各系统部件之间实现传送地址、数据和控制信息的操作。

 

计算机软件

软件的组成与分类

计算机软件一般分类两大类:一类叫系统程序,一类叫应用程序。

系统程序用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能及用途。

系统程序包括四类:①各种服务性程序,如诊断程序、排错程序、练习程序等;

                                ②语言程序,如汇编程序、编译程序、解释程序等;

                                ③操作系统;

                                ④数据库管理系统。

应用程序是用户利用计算机来解决某些问题而编制的程序,如工程设计程序、数据处理程序、自动控制程序等。

 

软件的发展演变

以系统程序为例,简要说明软件的发展演变过程。

早期的计算机中,人们是直接用机器语言(即机器指令代码)来编写程序的,这种方式编写的程序称为手编程序(目的程序)

缺点:工作繁琐,需要耗费大量人力和时间,容易出错,出错后寻找错误也相当费事。

优点:计算机完全能"识别"并能执行。

后来,为了编写程序方便和提高机器的使用效率,人们想了一种办法,用一些约定的文字、符号和数字按规定的格式来表示各种不同的指令,然后再用这些特殊符号表示的指令来编写程序。这就是所谓的汇编语言,它是一种能被转化为二进制文件的符号语言。为了将汇编语言转换为机器语言,人们创造了一种程序,叫汇编器。如同英汉翻译一般,汇编器的作用相当于一个"翻译员"。借助汇编器,计算机本身可以自动地把符号语言表示地程序翻译成用机器语言表示的程序,从而实现了程序设计工作的部分自动化。

缺点:语言依赖具体的机器,不同的计算机其指令系统不同,人们使用计算机时必须花很多时间熟悉这台机器的指令系统。

优点:比机器语言更简单方便,更不容易出错,节省人力时间。

为了进一步实现程序自动化和便于程序交流,使不熟悉具体计算机的人也能很方便地使用计算机,人们又创造了各种接近于数学语言的 算法语言 ——按实际需要规定好的一套基本符号及由这套基本符号构成程序的规则。有影响力算法语言有BASIC,C,C++,JAVA等。
用算法语言编写的程序称为 源程序 。但这种源程序机器无法直接识别,也必须给计算机配备一个既懂算法语言又懂机器语言的"翻译",才能把源程序翻译成目的程序。通常采取的方法是给计算机配制一套用机器语言写的编译程序,它把源程序翻译成目的程序,然后机器执行目的程序,得出计算结果。但由于目的程序一般不能独立运行,还需要一种叫做 运动系统 的辅助程序来帮助。通常把编译程序和运动系统合称为 编译器
一个程序被转化成机器上可运行的机器语言程序需要四个步骤:该程序首先被编译器编译为汇编语言程序,然后通过汇编器汇编为机器语言的目标模块。 链接器 将多个模块与库程序组合在一起以解析所有的应用。 加载器 将机器代码放入合适的内存位置以便处理器执行。
 

优点:它直观通用,与具体的机器无关,只要稍加学习就能掌握。

缺点:读者自己脑补。

用户直接操作机器并独占机器,无论是对机器的效率还是对方便用户来说都是不适宜的。用户直接使用机器总觉得机器"太硬了",很多情况都得依附它。而计算机又觉得用户及外部设备"太笨",常常使它处于无事可做得状态,因此,迫切需要摆脱这种情况。显然人的思维速度是跟不上计算机的计算速度,要摆脱这种情况还要依靠计算机来管理自己和管理用户,于是人们创造出一类程序,叫做操作系统——用来管理计算机资源(如处理器、内存、外部设备和各种编译、应用程序)和自动调度用户的作业程序,而使多个用户能有效地共用一套计算机系统。

随机计算机在信息处理、情报检索及各种管理系统中应用的发展,要求大量处理某些数据,建立和检索大量的表格。这些数据和表格按一定的规律组织起来,使得处理更方便,检索更迅速,用户使用的更便捷,于是出现了数据库。所谓数据库,就是实现有组织地、动态地存储大量相关数据,方便多用户访问地计算机软、硬件资源组成地系统。数据库数据库管理软件一起,组成了数据库管理系统

预计软件地进一步发展,将开发出更高级地计算机语言,最终是向自然语言发展,它们能够自动生成程序。

 

计算机系统的层次结构

多级组成的计算机系统

计算机是一个十分复杂的硬、软件结合的整体。它通常由五个以上不同的级组成,每一级都能进行程序设计。

计算机系统层次结构图
第5级高级语言级编译程序
第4级汇编语言级汇编程序
第3级操作系统级操作系统
第2级一般机器级微程序
第1级微程序设计级(或逻辑电路级)直接由硬件执行

 

软件与硬件的逻辑等价性

因为任何操作都可以由软件来实现,也可以由硬件来实现;任何指令的执行可以由硬件完成,也可以由软件完成。对于某一机器功能采用硬件方案还是软件方案,取决于器件价格、速度、可靠性、存储容量和变更周期等因素。

当研制一台计算机的时候,设计者必须明确分配每一级的任务,确定哪些情况使用硬件,哪些情况使用软件,而硬件始终放在最低级。

就目前而言,现在许多复杂的、常用的程序制作成所谓的固件。就它功能而言,是软件,但从形态来说,又是硬件。随着硬件的发展,本来通过软件手段来实现的某种功能,现在可以通过硬件来直接解释执行。因此传统的软件部分,今后完全有可能"固化"甚至"硬化"。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值