下篇:第二章:计算机的发展及应用
计算机系统是由 软件
和 硬件
两大部分组成的。
硬件
:指计算机的实体部分,它由看得见摸得着的各种电子元器件、各类光、电、机设备的实物组成,如主机、外设等等。软件
:它是看不见摸不着的,由人们事先编制成具有各类特殊功能的信息组成。通常把这些信息,诸如各类程序寄寓于各类媒体中,如 RAM、ROM、磁带、磁盘、光盘等。计算机的软件通常又可分为两大类:系统软件
和应用软件
。
系统软件
:又称为系统程序,主要用来管理整个计算机系统,监视服务,使系统资源得到合理调度,确保高效运行。它包括:表中程序库、语言处理程序、操作系统、服务性程序、数据库管理系统、网络软件等等。应用软件
:又称为应用程序,它是用户根据任务需要所编制的各种程序。如科学计算程序、数据处理程序、过程控制程序、事务管理程序等等。硬件是计算机的物理基础,它决定了计算机系统的瓶颈在哪,而软件又决定了可以将硬件的性能发挥到什么样的程度,所以,计算机性能的好坏取决于 “软”、“硬” 件功能的总和。
计算机的解题过程:
现代计算机的解题过程通常是先由用户用高级语言编写程序(称作源程序),然后将它和数据一起送入计算机内,再由计算机将其翻译成机器能识别的机器语言程序(称作目标程序),机器自动运行该机器语言程序,并将计算结果输出。
早期只有机器语言
,用户编写的机器语言程序,直接在机器上执行,我们把直接执行机器语言的实际机器称 M1 。
20 世纪 50 年代开始出现了符号式的程序设计语言,即汇编语言
,它使程序员摆脱了繁杂而又易错的二进制代码编写程序,但是没有机器能直接识别这种汇编语言程序,必须先将汇编语言程序翻译成机器语言程序后,才能被机器接受并自动运行。我们把具有翻译功能的汇编程序的计算机看作一台 M2 机器。
两级层次结构的计算机系统:
20 世纪 60 年代开始出现了各种面向问题的高级语言
,如 FORTRAN、BASIC、Pascal、C 等等。这类高级语言对问题的描述十分接近人们的习惯,给程序员带来了极大的方便,当然,M1 机器本身是不能识别高级语言的,因此,在进入 M1 机器运行前,必须先将高级语言程序翻译成汇编语言程序,然后再将其翻译成机器语言程序。我们把将高级语言程序直接翻译成汇编或者机器语言程序的机器称为 M3 。
三级层次结构的计算机系统:
由于软件的发展,使实际机器 M1 向上延伸构成了各级虚拟机器。同理 M1 机器内部也可向下延伸而形成下一级的微程序机器 M0 。M0 机器是直接将 M1 机器中的每一条机器指令翻译成一组微指令
,即构成一个微程序。微程序机器 M0 可看作是对实际机器 M1 的分解,即用 M0 的微程序解释并执行 M1 的每一条机器指令。
四级层次结构的计算机系统:
实际上再实际机器 M1 与虚拟机器 M2 之间,还有一级虚拟机器,它是由操作系统
软件构成的。操作系统提供了在汇编语言和高级语言的使用和实现过程中所需的某些基本操作,还起到控制并管理系统硬件和软件全部资源的作用。
五级层次结构的计算机系统:
计算机体系结构
是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性
,通常是指用机器语言编程的程序员所看到的传统机器的属性,包括指令集、数据类型、存储器寻址技术、I/O 机理等等,大都属于抽象的属性。
计算机组成
是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是不知道的硬件细节。
1945 年数学家 冯·诺依曼
等人,在研究 EDVAC 机时,提出了 “存储程序
” 的概念。以此概念为基础的各类计算机,统称为 冯·诺依曼机
。它的特点可归结为:
运算器
、存储器
、控制器
和输入设备
、输出设备
五大部件组成存储器
内,并可按地址寻访二进制码
表示操作码
和地址码
组成,操作码用来表示操作的性质,地址码用来表示操作数所在存储器中的位置存储程序
,指令在存储器内按顺序存放以运算器为中心
,输入输出设备与存储器的数据传送通过运算器冯 · 诺伊曼计算机结构框图:
典型的冯·诺依曼计算机是以运算器
为中心的。其中,输入、输出设备与存储器之间的数据传送都需通过运算器。图中实线为数据线,虚线为控制线和反馈线。
各组件的功能:
这个结构存在两个问题:
以存储器为中心的计算机硬件框图:
以存储器为中心,实现输入和输出设备与存储器之间直接的信息交换,图中实现为控制线,虚线为反馈线,双线为数据线。
现代计算机硬件框图:
由于运算器
和控制器
在逻辑关系和电路结构土联系十分紧密,尤其在大规模集成电路制作工艺出现后,这两大部件往往制作在同一芯片上,因此,通常将它们合起来统称为中央处理器
(Central Processing Unit),简称 CPU
。把输入设备
与输出设备
简称为 IO设备
(Input/Output equipment)。
这样,现代计算机可认为由三大部分组成:CPU
、IO设备
及主存储器M.M
(Main Memory)。CPU
与 M.M
合起来又可称为主机
,IO设备
可叫作外部设备
。
主存储器 M.M
是存储器子系统中的一类,用来存放程序和数据,它可以直接与CPU
交换信息。另一类叫辅助存储器
,简称辅存
,又叫外存
。
ALU
(Arithmetic Logic Unit)叫做算术逻辑运算单元
(简称算逻部件
),用来完成算术逻辑运算。CU
(Control Unit)叫做控制单元
,用来解释存储器中的指令,并发出各种操作命令来执行指令。ALU
和 CU
是 CPU
的核心部件。
I/O设备
也受 CU
控制,用来完成相应的输入、输出操作。
可见,计算机有条不紊地自动工作,都是在控制器
统一指挥下完成的。
系统复杂性管理的方法(3Y):
用计算机解决一个实际问题,通常包含两大过程:上机前的各种准备
和上机运行
。
存储器的基本组成:
主存储器(简称主存
或内存
)包括存储体
、各种逻辑部件
及控制电路
等。存储体
由许多存储单元
组成,每个存储单元
又包含若干个存储元件
(或称存储基元、存储元),每个存储元件
能寄存一位二进制代码 “0
” 或者 “1
”。一个存储单元
可存储一串二进制代码,称这串二进制代码为一个存储字
,这串二进制代码的个数叫做存储字长
。
每个存储单元
会被赋予一个编号,叫做存储单元的地址号
。主存的工作方式就是按存储单元的地址号来实现对存储字各位的存、取。这种存取方式叫做按地址存取
,也即按地址访问存储器
(简称访存
)
为了能实现按地址访问的方式,主存中还必须配置两个寄存器 MAR
和 MDR
。
存储器地址寄存器
,用来存放欲访问的存储单元的地址,其位数对应存储单元的个数(如 MAR 为 10 位,则有 210=1024 个存储单元,记为 1K)。存储器数据寄存器
,用来存放从存储体某单元取出的代码或者准备往某存储单元存入的代码,其位数与存储字长相等。运算器的基本组成及操作过程:
运算器包括三个寄存器和一个算逻电路 ALU
。其中 ACC (Accumulator)
为累加器
,MQ (Multiplier-QuotientRegister)
为乘商寄存器
,X
为操作数寄存器
。这三个寄存器在完成不同运算时,所存放的操作数类别也各不相同。
以下简要分析这种结构的运算器其加、减、乘、除四则运算的操作:
设:M 表示存储器的任意地址号
[M] 表示对应 M 地址号单元中的内容
X 表示 X 寄存器
[X] 表示 X 寄存器中的内容
ACC 表示累加器
[ACC] 表示累加器中的内容
MQ 表示乘商寄存器
[MQ] 表示乘商寄存器中的内容
假设 ACC 中已存有前一时刻的运算结果,并作为下述运算中的一个操作数。则:
即将 [ACC] 看作被加数,先从内存中取一个存放在 M 地址号内的加数 [M],送至运算器的 X 寄存器中,然后将被加数 [ACC] 与加数 [X] 相加,其结果和保留在累加器 ACC 中。
即将 [ACC] 看作被减数,先取出减数 [M] 送入 X,再作 [ACC] - [X],其结果差保留在 ACC 中。
[X]
×[MQ] -> ACC//MQ (ps:// 表示两个寄存器串联)
即把 [ACC] 看作被乘数,先把在 M 号单元中的乘数 [M] 送入乘商寄存器 MQ,再把被乘数送入 X 寄存器,并将寄存器 A 清 “0”,然后 [X] 和 [MQ] 相乘,其结果积的高位保留在 ACC 中,积的低位保留在 MQ 中。
即将 [ACC] 看作被除数,先将在 M 号单元内的除数 [M] 送至寄存器,然后 [ACC] 除以 [X],其结果商暂留于MQ,[ACC] 为余数 R。若需要将商保留在 ACC 中,只需做一步 [MQ] - ACC 即可。
控制器的基本结构:
控制器
是计算机组成的神经中枢,它指挥全机各部件自动、协调地工作,它的主要功能是解释指令
和保证指令的按序执行
。
完成一条指令操作由取指
、分析
和执行
三阶段组成。
控制器由程序计数器 PC(Program Counter)
,指令寄存器 IR(Instruction Register)
以及控制单元 CU
几部分组成。
主机完成一条指令的过程:
I/O 的基本结构:
I/O 子系统包括各种外部设备及相应的接口。每一种设备都是由 I/O 接口与主机联系的,他接受 CU 发出的各种控制命令完成相应的操作。如键盘由键盘接口电路与主机联系;打印机由打印机接口电路与主机联系。
机器字长
是指 CPU 一次能处理数据的位数
,通常与 CPU 的寄存器位数
有关。机器的字长会影响机器的运算速度,倘如 CPU 字长较短,又要运算位较多的数据,那么需要经过两次或多次的运算才能完成,这样势必会影响整机的运行速度。
计算机的运算速度与许多因素有关,如:
存储容量的大小可以用存放二进制信息的总位数
进行衡量。
存储器的容量包括主存容量
和赋存容量
。
下篇:第二章:计算机的发展及应用