系统软件位于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。它与具体的应用领域无关。包括操作系统、计算机语言处理程序(各种程序翻译软件,包括编译程序、解释程序、汇编程序)、服务性程序、数据库管理系统和网络软件等。
应用软件是指为针对使用者的某种应用目的所撰写的软件。包括办公自动化系统,互连网,多媒体,分析软件,协作软件,商务软件,数据库等。
面向问题和算法描述的语言,也称为算法语言。用这种语言编写程序时,程序员不必了解实际机器的结构、指令系统等细节,而通过一种比较习惯的、直接的方式来描述问题和算法。
汇编语言是一种面向实际机器的低级语言,是机器语言的符号表示,与机器语言一一对应。所以,汇编语言程序员必须对机器的结构和指令系统等细节非常清楚。
机器语言是指直接用二进制代码(即:指令)表示的语言。用户必须用二进制代码来编写程序。所以机器语言程序员必须对机器的结构和指令系统等细节非常清楚。
编译程序、解释程序和汇编程序统称为语言处理程序。各种语言处理程序处理的对象称为源程序,它们是用高级(算法)语言或汇编语言编写的程序。如,C语言源程序,Java语言源程序,汇编语言源程序等。
编译程序和汇编程序对源程序进行翻译处理所得到的结果程序称为目标程序,是由机器指令组成的二进制代码。
编译程序完成从高级语言源程序到目标程序的转换。它将高级语言源程序全部翻译成目标程序,每次执行程序时,直接执行对应的目标程序,因此,只要源程序不变,就无需重新编译。
解释程序将源程序的一条语句翻译成对应的机器目标代码,并立即执行,然后翻译下一条源程序语句并执行,直至所有源程序中的语句全部被翻译并执行完。所以,解释程序的执行过程是翻译一句,执行一句。直接输出源程序的执行结果,而不是输出目标程序。所以每次执行程序时,直接启动源程序执行。
汇编程序也是一种语言翻译程序,它把汇编语言写的源程序翻译为机器语言目标程序。
操作系统(Operating System,简称OS),是计算机系统中负责支撑应用程序运行环境以及用户操作环境的系统软件,同时也是计算机系统的核心与基石。它的职责常包括对硬件的直接监管、对各种计算资源(如内存、处理器时间等)的管理、以及提供诸如作业管理之类的面向应用程序的服务等等。 目前比较流行的操作系统主要有两个家族:类Unix家族和微软Windows家族。
它是计算机对数据进行加工处理的部件,包括算术运算和逻辑运算。
国内许多教科书把数据通路称为运算器,其功能就是在控制器的控制下完成所有指令的执行。数据通路的含义就是指指令在执行过程中数据所要经过的所有部件以及部件之间的连接线路。主要由算术逻辑单元ALU和一组寄存器、总线等组成。有专门的定点数运算器和浮点数运算器。早期机器只包含累加器、Q乘商寄存器等少量几个寄存器。现代计算机中有专门的定点运算用的定点寄存器组和浮点运算用的浮点寄存器组。
也称为控制单元或控制部件。其作用是对指令进行译码,将译码结果和状态/标志信号、时序信号等进行组合,产生各种操作控制信号。这些操作控制信号被送到CPU内部或通过总线送到主存或I/O模块。送到CPU内部的控制信号用于控制CPU内部数据通路的执行,送到主存或I/O模块的信号控制CPU和主存或CPU和I/O模块之间的信息交换。控制单元是整个CPU的指挥控制中心,通过规定各部件在何时做什么动作来控制数据的流动,完成指令的执行。
中央处理器(CPU)是计算机中最重要的一个部分,由运算器和控制器组成。其内部结构归纳起来可以分为控制单元、逻辑单元和存储单元三大部分,这三个部分相互协调,对命令和数据进行分析、判断、运算并控制计算机各部分协调工作。
程序计数器(Program Counter,简称PC)又称指令计数器,用来存放指令的地址,以便准确地指出后继指令的存储单元地址。通常程序是顺序执行的,程序的指令序列在内存中一般也是按连续地址存放的。在开始运行程序之前,总是将第一条指令的地址放入PC。当第一条指令被取出执行,控制器就使PC的内容自动增量(加“1”),指明下一条要执行的指令所存放的存储单元地址,以控制指令的顺序执行。在遇到需要改变程序执行顺序的情况时,一般由转移类指令将转移目标地址送往程序计数器,即可实现程序的转移。
指令寄存器(Instruction Register 简称IR)用来保存当前正在执行的一条指令。当执行一条指令时,先从存储器取出指令,然后送至指令寄存器。指令寄存器中的操作码部分被送到指令译码器ID(Instruction Decoder),经ID译码(识别这条指令的功能)后,送到操作控制单元CU,由CU对指令译码信号、状态标志信号、时序信号等进行组合,最终送出具体的操作控制信号。
计算机的存储器主要由两部分组成——内存储器和外存储器。内存存取速度快、容量小、价格贵;外存容量大、价格低,但是存取速度慢。
位于CPU之外,用来存放已被启动的程序及所用的数据。有ROM芯片和RAM芯片组成相应的ROM存储区和RAM存储区。RAM存储区用动态随机访问存储器实现。
位于主机之外,用来存放暂不运行的程序和数据,容量大而速度慢。外存也属于输入输出设备,它只能与主存直接交换信息。
外存储器主要有磁盘存储器、磁带存储器和光盘存储器。磁盘是最常用的外存储器,通常它分为软盘和硬盘两类。容量极大、价格便宜的磁带机和光盘组等称为海量存储器,常用作数据备份。
靠触发器的双稳态的正负反馈电路存储信息,因而速度快,是非破环性读出,但电路中元器件多,因而集成度小,适合做高速小容量的高速缓冲存储器Cache。
靠电容存储电荷来保存信息。若电容上存有足够多的电荷表示存“1”,电容上无电荷表示存“0”。是破坏性读出,读后需要再生,而且需要定时刷新。
DRAM芯片中,MOS管栅极电容上的电荷会被逐渐放电,只能维持1~2ms,因此,即使电源不掉电,也会自动消失。所以要在2ms内对所有存储单元进行充/放电,以恢复原来的电荷。这个称为刷新。
电源掉电后,存储器中的信息全部消失,如:高速缓存Cache、主存中的RAM等。
存储器中的信息不会因为电源掉电而消失,如:主存中的只读存储器ROM、磁盘、光盘、闪存Flash存储器等。
在CPU和主存之间的一个高速小容量的存储器,在访问主存前先到该存储器访问。如果将当前正在访问的那个存储单元所在的主存块放到该存储器中,根据程序访问的局部化特性,这个主存块中的信息应该是最近经常要访问的,所以不必再到主存去访问,这样就可很快得到所要的信息。
具有两种稳态的能够表示二进制数码0和1的物理器件。所以,一个记忆单元表示1位信息。
主存中具有相同地址的那些位构成一个存储单元。因此,存储单元的宽度等于一个编址单位的长度,可以是8位、16位、32位等。现在,大多数计算机是按字节编址的,即:每一个字节(8位)有一个地址,编址单位就是一个字节,所以一个存储单元的宽度(位数)是8位。
CPU中用来存放存储器地址的寄存器,地址在送到总线的地址线之前,现寄存在MAR中。所以,它的宽度应该等于地址线的宽度,也等于主存储器的地址位数,其值决定了主存最大的寻址空间。
CPU中用来存放写入主存或从主存读出的数据的寄存器,数据在送到总线的数据线之前,或从主存读到CPU时,都先寄存在MDR中。所以,它的宽度应该等于总线数据线的宽度。
存储器能够容纳的二进制信息量。常用存储单元数与每个单元的位数的乘积表示,或用字节数表示。如:64M x 8位,或64MB。
机器字长定义为CPU中在同一时间内一次能够处理的二进制数的位数,即:运算器中参加运算的寄存器的位数。一般把CPU中定点运算器的数据通路宽度定义为字长。
一条指令的二进制代码位数。有定长指令字机器和不定长指令字机器。定长指令字机器中所有指令的位数是相同的,目前定长指令字大多是32位指令字。不定长指令字机器的指令有长有短,但每条指令的长度一般都是8的倍数。
系列机是指一个厂家生产的具有相同系统结构、不同组成和实现的一系列不同型号的机器。它应在指令系统、数据格式、字符编码、中断系统、控制方式、输入/输出操作方式等方面保持统一,从而保证软件的兼容性。
兼容是一个广泛的概念,包括软件兼容、硬件兼容等。
软件兼容:指在某档机型上开发的软件可以不加修改地在另外机型上正确运行。一般在同一系列机内的软件是兼容的,有向上兼容和向下兼容两种形式。向上兼容是指高档机型上的程序能在低档机型上运行,向下兼容是指低档机型上的程序能在高档机型上运行,一般系列机满足向下兼容性。因为系列机中高档机的指令系统包含了低档机中的所有指令。
硬件兼容:也就是设备或部件兼容。是指设备或部件可以不加改动地用于多种计算机。这要求设备或部件符合某种标准化设计。
65年摩尔预测:“以后每年将缩小硅片中形成晶体管电路的细线尺寸的10%,芯片制造商能够每3年发布新一代的芯片,其晶体管数为上一代的4倍。” 后来摩尔定律被表述成:“由于集成电路技术的不断改进,每18 ~ 24个月,集成电路芯片上集成的晶体管数将翻一番,速度将提高一倍,而价格将降低一半。” 通用电子计算机(General-purpose electronic computer) 通用电子计算机是和专用电子计算机对应的,专用机只能专门用于某种应用,而通用电子计算机,从定义上来说,它可以解决任何问题,只要这个问题可以用程序来表示。通用电子计算机也被称为完备的图灵机。
微处理器是使用单片大规模集成电路制成的、具有运算和控制功能的电子部件。是构成微型计算机的主要部件。
简称“微型机”、“微机”,也称“微电脑”。由大规模集成电路组成的、体积较小的电子计算机。由微处理机(核心)、存储芯片、输入和输出芯片、系统总线等组成。特点是体积小、灵活性大、价格便宜、使用方便。微型计算机是指以微处理器为基础,配以内存储器及输入输出(I/0)接口电路和相应的辅助电路而构成的裸机。
是由若干个位片逻辑器件组合而成的一种微型计算机。一片是一位,不同位片数可以组成不同字长的微型机。
制作在一块集成电路芯片上的计算机,简称单片机。它包括中央处理器(CPU)、用RAM构成的数据存储器、用ROM构成的程序存储器、定时/计数器、输入/输出接口和时钟电路。可独立进行工作。
工作站是一种以个人计算机和分布式网络计算为基础,其性能高于微型计算机的一类多功能计算机。它为特定应用领域的人员提供了一个具有友好人机界面的高效率工作平台。工作站的处理功能除了具有高速的定点和浮点运算能力以外,还有很强的处理图像、图形、声音、视频等多媒体信息的能力。
小型计算机是一种规模与价格均介于大型机与微型机之间的一类计算机。其发展大致分成4个阶段,分别是20世纪60年代中的晶体管、小规模集成电路计算机(如DEC公司的PDP-8),20世纪60年代末到70年代末的大规模集成电路计算机(如DEC的PDP-11 和 Data General 公司的NOVA系列),20世纪70年代末到20世纪80年代末的超大集成电路计算机(如VAX-11系列,MICRO VAX系列)和20世纪80年代末的精简指令集计算机。
超级小型计算机是以小型计算机为基础,字长32位以上的高性能计算机。超级小型计算机是1977年在小型计算机的基础上发展起来的,其机器的处理能力、存储性能和操作性能都高于小型计算机。由于超级小型计算机采用不低于32位的字长,因此处理精度更高,并且软件兼容于原来的小型计算机。超级小型计算机由中央处理器、高速系统总线、存储器和输入输出系统组成,具有较高的性价比。
大型计算机是使用当时的先进技术构成的一类高性能、大容量的通用计算机。它代表该时期计算机技术的综合水平。大型机的处理机系统可以是单处理机、多处理机或者多个子系统的复合体。目前多采用对称多处理器(SMP)结构,有2、4、8甚至16或32个处理器,在信息系统中起核心作用,承担主服务器(企业级服务器)的功能。
巨型机是计算机中速度最快、性能最高、技术最复杂、价格也是最昂贵的一类计算机,也称超级计算机。它主要用于解决大型机难以解决的复杂问题。目前巨型机大多采用大规模并行处理体系结构,CPU由数以千万计的处理器组成,有极强的运算处理能力,大多使用在军事、科研、气象、石油勘探等领域。此外,有一类价格和超级小型机相当,但功能接近巨型机的一类高性能计算机,称为小巨型机(mini-supercomputer)。
指作为一个信息处理部件嵌入到应用系统中的计算机。它不同于独立使用的计算机,只在系统中完成某些局部功能,系统操作员无需把它作为一台计算机来对待,甚至感觉不到它作为计算机而存在。
过程控制计算机是为过程控制系统而设计的一种计算机,通常在指令条数、容量、字长和准确性方面都有限制,只能运行简单的软件。
集成度(每块芯片所包含的元器件数)小于100的集成电路。
集成度(每块芯片所包含的元器件数)100到1000的集成电路。
集成度(每块芯片所包含的元器件数)1000到10万的集成电路。
集成度(每块芯片所包含的元器件数)10万到1000万的集成电路。
集成度(每块芯片所包含的元器件数)1000万以上的集成电路。