计算机系统由硬件系统和软件系统组成。硬件系统也称机器系统,软件也称程序系统。计算机硬件系统和软件系统的关系如图1.1所示。
图1.1 计算机硬件与软件的关系
计算机硬件是计算机物理设备的总称,它由各种电子元器件和电子线路组成,是我们能看到的设备实体。如果一台计算机只有硬件,那么可以说它是一台精密的、不会做任何工作的“死的”电子设备,一台只有硬件设备的计算机通常称为“裸机”。
计算机软件是在计算机硬件设备上运行的各种程序及必需的数据的总称。计算机能按我们的要求完成工作,实际上是按照事先存储在计算机内的程序(软件),在程序的控制下一步一步地完成的。软件必须在计算机硬件系统下工作,硬件和软件缺一不可。
计算机硬件系统主要由五个部分组成:运算器、控制器、存储器、输入设备和输出设备。其中运算器和控制器统称为中央处理器,简称CPU(Central Processing Unit,中央处理单元)。主机包括CPU和内存,外部设备包括输入设备、输出设备和外存储器等,如图1.2所示。
图1.2 计算机硬件系统组成
1.输入设备
输入设备是把待输入计算机的信息转换成能被计算机处理的数据形式的设备。常用的输入设备有键盘、鼠标、磁盘驱动器、光驱、模/数转换设备、磁带输入机、数字化仪、扫描仪、手写板、触摸屏和麦克等。
2.输出设备
输出设备是把计算机输出的信息转换成外界能接收的表现形式的设备。常用的输出设备有显示器、打印机、磁盘驱动器、刻录机、绘图仪、数/模转换设备、扬声器、静电印刷机等。
3.存储器
存储器是存放程序和数据的设备。存储器分内存储器(主存储器,简称内存)和外存储器(辅存储器,简称外存)两种。内存由一个一个存储单元组成,每一个单元都有唯一的地址,中央处理器通过地址访问存储单元的内容。
4.运算器
运算器又称算术逻辑单元(Arithmetic Logic Unit,ALU)。它是计算机对数据进行加工和处理的设备,用它不但可以完成算术运算(加、减、乘和除),而且可以完成关系和逻辑运算(比较大小、是否相等、与、或、非等)。
5.控制器
控制器能指挥和控制全机协调一致地工作。如逐条读取事先存放在内存中的程序指令,对指令进行译码,发出相应控制信号。控制器主要由程序计数器、指令存储器、指令译码器等组成。
计算机的基本工作原理是依据冯•诺依曼提出的“内部程序存储”工作原理,即程序放在内存储器中,控制器从内存取出指令,经过指令译码(分析指令),向全机各个部件发出相应的控制信号(执行指令)。图1.3标出了计算机各设备之间的数据流和控制信号。
图1.3 计算机基本硬件构成
控制信号也可以比喻为“握手”信号,一个人伸出手告诉对方要传递信息,另一个人伸出手告诉对方已经准备好可以接收信息。例如,如果控制器从内存取出的是“输入”指令,控制器向输入设备发出控制信号,将输入设备上的数据送入数据线,同时向内存发出控制信号通知内存接收数据。如果控制器从内存取出的是“取数”指令,控制器向内存发出控制信号,将内存数据送入数据线,同时通知CPU接收数据。如果控制器从内存取出的是完成某种“计算”的指令,控制器向运算器发出控制信号,完成相应的计算。如果控制器从内存取出的是“存数”指令,控制器向CPU发出控制信号,将CPU的数据送入数据线,同时通知内存接收数据。如果控制器从内存取出的是“输出”指令,控制器向内存发出控制信号,将内存数据送入数据线,同时通知输出设备接收数据。
下面举例说明计算“2+3=5”的过程。
设从内存2000H单元开始存放程序,从3000H单元开始存放操作数和结果。具体过程如表1.2所示。
表1.2 计算机加法实现过程
地址 | 汇编指令 | 功能 |
---|---|---|
2000H : | MOV AL ,(3000H) | “取数”指令,将内存3000H 单元的2 → CPU 中寄存器AL |
2002 H: | MOV BL,(3001 H) | "取数 "指令,将内存3001 H单元的3 → CPU中寄存器 BL |
2004 H: | ADD AL,BL | "计算 "指令,在 CPU完成 AL与 BL内容相加 → AL |
2006 H: | MOV(3002 H), AL | "存数 "指令,CPU中 AL的内容 →内存3002 H单元 |
…… | ||
END | ||
3000 H: | 2 | |
3001 H: | 3 | |
3002 H: | 5 | 计算结果 |
其中AL和BL是CPU中暂时存放数据的8位寄存器。控制器从内存取出一条指令(控制器中程序计数器PC会自动加1,为取下一条指令做好了准备),然后分析指令和执行指令,不需要人干预,自动完成。
目前,我们使用的计算机都固化了一些通用的输入输出设备的驱动和管理程序,而且开机后,用户是在系统软件运行后的环境下开始工作,这样大大地方便了用户。