前言:计算机是一种能够按照事先存储的程序,自动,高速准确的对相关信息进行处理的电子设备。
计算机组成
一台完整的计算机包括硬件和软件了两部分,另外一部分固化软件为固件(Firmware);
计算机硬件组成部分:
计算机的主要设计思想有冯.诺伊曼体系结构和哈佛体系结构,下面以冯.诺依曼的设计思想为例。
CPU由运算器和控制器组成;
运算器对数据进行算数运算和逻辑运算,通常由算术逻辑单元(ALU)和一系列寄存器组成。
ALU主要完成算术与逻辑运算;寄存器用于存放运放操作数(设置通用寄存器组可以减少访问存储器的字数,提高运算速度);累加器除存放运算操作数外,在连续运算中,还用于存放其中间结果和最后结果;运算器一次能处理的二进制位数称为机器字长,是计算机的主要性能指标。
控制器的工作实质就是解释程序,即每次从存储器中读取一条指令,经分析译码产生一串操作命令,再发给个功能部件控制其动作,使其连续的,有条不紊的运行,以实现指令和程序的功能。
计算机中有两种信息流:控制流信息和数据流信息,控制流信息即操作命令,其分散的流向各个功能部件;数据流信息受控制流信息控制,从一个部件流向另一个部件,在这个过程中被相应部件进行加工处理。
存储器
存储器主要功能为存放程序和数据。程序是计算机操作的依据,数据是计算机操作的对象。译码器:给予其一个地址,查找出相应内容;
输入/输出设备
输入输出设备是计算机与人或机器系统进行数据交互的装置,简称外部设备或外设,输入设备负责将数据、文字、图像、声音、电信号等转换成计算机可以识别的二进制信息,如键盘、鼠标、扫描仪、摄像头等;而输出设备则负责将计算机处理结果转换成数字、文字、图形、图像、声音或电信号,如显示器、打印机等;还有些设备既能输入也能输出,称为输入输出设备,如磁盘、网卡等。
外部设备品种繁多,结构性能差异巨大,为了更高效地与这些结构、性能迥异的外部设备进行快速可靠的数据交换,输入输出设备具有以下3个方面的特性:
1.异步性
2.实时性
3.独立性
系统互连
为实现数据流信息控制流信息在不同部件之间的流动及数据信息的加工处理,计算机硬件系统各功能部件还需要有组织地以某种方式连接起来,在现代计算机中使用较多的就是线互连方案,这种方式实现简单,扩展容易。
总线(Bus)是连接两个或多个设备(部件)的公共信息通路。它主要由数据线、地址线和控制线组成。CPU连接计算机中各主要部件的总线称为系统总线。图为基于单总线结构的系统互连
图中所有设备均与总线相连。由于总线是多个设备的公共连接线,因此同一时刻只能-个设备向总线发送信息,但可以允许多个设备同时接收来自总线的信息。
计算机软件组成部分
计算机中全部程序的集合统称为这台计算机的软件系统。按其功能可以分为应用软件和系统软件两大类。
通常系统软件被分为
1.操作系统。
操作系统是管理计算机中各种资源、自动调度用户作业、处理各种中断的软件。操作系统管理的资源通常有硬件、软件和数据信息。操作系统的规模和功能,随不同的要求而异。常见操作系统包括UNIX、Windows、Linux、Android、iOS等。
2.程序设计语言及语言处理程序。
其中程序设计语言分为3类:机器语言. 汇编语言和高级语言;
语言处理程序则包括编译程序(编译器).汇编程序(汇编器).解释程序(解释器)和其它软件操作程序;
3.数据库管理系统。
数据库管理系统(Data Base Management System,DBMS)又称数据库管理软件。数据库是为了满足数据处理和信息管理的需要,在文件系统的基础上发展起来的,在信息处理情报检索、办公自动化和各种管理信息系统中起着重要的支撑作用。常见的数据库管理系包括Oracle、SQL Server、DB2、PostgreSQL、MySQL等。
计算机性能指标和评价
基本性能指标:
1.字长:指CPU一次处理的数据位数(用二进制数长度衡量)。字长一般与计算机内部存储器,运算器,数据总线的位宽相等。字长会影响计算机精度(越长计算精度越高)和影响数据的表示范围和精度。
2.主存容量:指主存能存储的最大信息量,一般用MN表示(M表示字容量,N表示位容量);增加主存容量可以减少运行期间访问辅存的次数,有利于提高程序执行速度和计算机性能提高。
3.时钟周期:指在一个时钟周期内,CPU仅完成一个最基本的动作;时钟周期是时钟频率的倒数,也称节拍周期或T周期。
4.CPI:指执行每条指令所需的平均时钟周期数,CPI=m/IC(m指执行程序所需时钟周期数,IC为总指令条数)。
5.IPC:指每个时钟周期CPU能执行的指令条数,为CPI的倒数。
6.MIPS:即每秒百万条指令,更大的有GIPS。计算机性能与指令的CPI和主频有直接关系,主频越高,MIPS值越高;CPI越小,MIPS越高。
7.CPU时间:指CPU真正花费在该程序上的时间,还包括用户CPU时间和系统CPU时间。某段程序的CPU时间Tcpu可表示为:**Tcpu=mT=m/f**;考虑CPI后的CPU时间表示为:Tcpu=CPIICT=CPI*IC/f;可得出CPU时间与时钟频率.CPI.指令条数相关。
8.MFLOPS: 指计算机每秒执行浮点运行的次数,如2MFLOPS表示该系统浮点运算速度为200万次/S。