一、计算机系统简介
1.计算机的软硬件概念
硬件:计算机的实体部分,它由看得见摸得着的各种电子元件,各类光、电、机设备的实物组成。
软件:由人们事先编制的具有各类特殊功能的程序组成。
计算机软件分为:系统软件和应用软件。
系统软件:又称为系统程序,主要用来管理整个计算机系统,监视服务,使系统的资源得到合理的调度,高效运行。
应用软件:又称为应用程序,它是用户根据任务需要所编制的各种程序。
2.计算机系统的层次结构
第1级是微程序机器层,这是一个实在的硬件层,它由机器硬件直接执行微指令。
第2级是传统机器语言层,它也是的一个实际的机器层,由微程序解释机器指令系统。
第3级是操作系统层,它由操作系统程序实现,操作系统程序是由机器指令和广义指令组成的,这些广义指令是为了扩展机器功能而设置的,它是操作系统定义和解释的软件指令,所以这一也称为混合层。
第4级是汇编语言层他,它为用户提供一种符号化的语言,借此可编写汇编语言源程序。这层由汇编语言支持和执行。
第5级是高级语言层,它是面向用户的,为方便用户编写应用程序而设置的。该层由各种高级语言编译程序支持和执行。
在高级语言之上,还可以有应用层,由解决实际问题和应用问题的处理程序组成,如文字处理软件、数据库软件、多媒体处理软件和办公自动化软件等。
3.计算机组成和计算机体系结构
计算机体系结构:指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能的特性。
计算机组成:指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。
二、计算机的基本组成
1.冯诺依曼计算机的特点
冯诺依曼机的特点可归结如下:
- 计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成。
- 指令和数据以同等地位存放于存储器内,并可按地址寻访。
- 指令和地址均用二进制数表示。
- 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
- 指令在存储器内按顺序存放。通常指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
- 机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成。
2.计算机的硬件框图
典型的冯诺依曼计算机是以运算器为中心的。
现代的计算机是以存储器为中心的。
图中各部件的功能如下:
- 运算器用来完成算术运算和逻辑运算,并肩运算的中间结果暂存在运算器内。
- 存储器用来存放数据和程序。
- 控制器用来控制、指挥程序和数据的输入、运行以及处理运算结果。
- 输入设备用来将人们熟悉的信息形式转换为机器能识别的信息形式。
- 输出设备可将机器运算结果转换为人们熟悉的信息形式。
现代计算机可认为由三大部分组成:CPU、I/O设备及主存储器。
主存储器是存储器子系统中的一类,用来存放程序和数据,可以直接与CPU交换信息。另一类称为辅助存储器,简称辅存,又称外存。
算术逻辑单元(ALU)简称算逻部件,用来完成算术逻辑运算。控制单元(CU)用来解释存储器中的指令,并发出各种操作命令来执行指令。ALU和CU是CPU的核心部件。
3.计算机的工作步骤
(1)主存储器
主存储器包括存储体M,各种逻辑部件及控制电路等。一个存储单元可存储一串二进制代码,称这串二进制代码为一个存储字,这串二进制代码的位数称为存储字长。一个存储字长可代表一个二进制数,也可代表一串字符,还可代表一条指令。
主存的工作方式就是按存储单元的地址号来实现对存储字各位的存、取。这种存取方式称为按地址存取方式,即按地址访问存储器(简称访存)。
MAR是存储器地址寄存器,用来存放欲访问的存储单元的地址,其位数对应存储单元的个数。MDR是存储器数据寄存器,用来存放从存储体某单元取出的代码或者准备往某存储单元存入的代码,其位数与存储字长相等。
(2)运算器
运算器最少包括3个寄存器和一个算术逻辑单元(ALU)。其中ACC为累加器,MQ为乘商寄存器,X为操作数寄存器。还可能包括变址寄存器IX、基址寄存器BR等。
- 加法操作过程为
[M] X
[ACC]+[X]ACC- 减法操作过程为
[M] X
[ACC]-[X]ACC- 乘法操作过程为
[M]MQ
[ACC]X
0ACC
[X][MQ]ACC//MQ- 除法操作过程为
[M] X
[ACC][X]MQ
余数R在ACC中
(3)控制器
完成一条指令操作有**取指、分析和执行**3个阶段。
控制器由程序计数器(PC)、指令寄存器(IR)以及控制单元(CU)组成。PC用来存放当前欲执行指令的地址,它与主存的MAR之间有一条直接通路,且具有自动加1的功能,即可自动形成下一条指令的地址。IR用来存放当前的指令,IR的内容来自主存的MDR。IR中的操作码(OP(IR))送至CU,记作OP(IR)CU,用来分析指令;其地址码(Ad(IR))作为操作数的地址送之存储器的MAR,记作Ad(IR)MAR。CU用来分析当前指令所需完成的操作,并发出各种微操作命令序列,用以控制所有被控对象。
(4)I/O
I/O子系统包括各种I/O设备及其相应的接口。每一种I/O设备都由I/O接口与主机练习,它接受CU发出的各种控制命令,并完成相应的操作。
三、计算机硬件的技术指标
1.机器字长
机器字长是指CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。字长越长,数的表示范围越大,精度也越高。
2.数据通路带宽
数据通路带宽是指数据总线一次所能并行传送信息的位数。这里所说的数据通路宽度是指外部数据总线的宽度,它与CPU内部的数据总线宽度有可能不同。
3.存储容量
存储器容量应该包括主存容量和辅存容量。
主存容量是指主存中存放二进制代码的总位数。即
4.运算速度
计算机的运算速度与许多因素有关,如机器的主频、执行什么样的操作、主存本身的速度等都有关。
吉普森法综合考虑每条指令的执行时间以及它们在全部操作中所占的百分比,即
其中,为及其运行速度;为第i种指令占全部操作的百分比数;为第i种指令的执行时间。
现在机器的运算速度普遍采用单位时间内执行指令的平均条数来衡量,并用MIPS(百万条指令每秒)作为计量单位。也可用CPI(执行一条指令所需的时钟周期数)或用FLOPS(浮点运算次数每秒)来衡量运算速度。
吞吐量和响应时间
吞吐量:指系统在单位时间内处理请求的数量。它取决于信息能多快地输入内存,CPU能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快地从内存送给一台外部设备。系统吞吐量主要取决于主存的存取周期。
响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获得它所需要的结果的等待时间。通常包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/O操作、操作系统开销等时间)。
主频和CPU时钟周期
CPU时钟周期:通常为节拍脉冲或T周期,即主频的倒数,它是CPU中最小的时间单位,每个动作至少需要一个时钟周期。
主频(CPU时钟频率):机器内部主时钟的频率,它是衡量机器速度的重要参数。主频的倒数是CPU时钟周期。
CPI
CPI:即执行一条指令所需的时钟周期数。
CPU执行时间
CPU的执行时间取决于三个要素:主频、每条指令执行所用的时钟周期数(CPI)、指令条数。
MIPS、MFLOPS
MIPS:每秒执行多少百万条指令。
MFLOPS:每秒执行多少百万条浮点运算。
四、补充知识
专业术语概念
系列机:具有基本相同的体系结构,使用相同的基本指令系统的多个不同型号的计算机组成的一个产品系列。
兼容:指计算机软件或硬件的通用性,即使用或运行在某个型号的计算机系统中的硬件、软件也能应用于另外一个型号的计算机系统时,则称这两台计算机在硬件或软件上存在兼容性。
软件可移植性:指把使用在某个系列计算机中的软件直接或进行很少修改就能运行在另外一个系列计算机中的可能性。
固件:将程序固定在ROM中组成部件称为固件。固件是一种具有软件特性的硬件,固件的性能指标介于硬件与软件之间,吸收了软、硬件各自的优点,其执行速度快于软件,灵活性优于硬件,是软、硬件结合的产物。
常见问题和易混淆知识点
1.站在某一类用户的角度,如果感觉不到某个事物或属性的存在,即“看”不到某个事物的属性,则称为“对该用户而言,某个事物或属性是透明的”。汇编程序员可以通过指定待执行指令的地址来设置PC的值,状态寄存器、通用寄存器只有为汇编程序员可见,才能实现编程,而IR、MAR、MDR是CPU的内部工作寄存器,对程序员均不可见。
2.CPU的运算速度除了主频还要看CPU流水线的各方面的性能指标(架构、缓存、指令集、CPU的位数、Cache大小等)。所以在一定情况下,可能会出现主频较高的CPU实际运算速度较低的现象。
3.在逻辑功能上,软件和硬件是等效的。许多功能既可以由硬件直接实现,也可以在硬件的配合下由软件实现。
4.翻译程序、汇编程序、编译程序、解释程序的区别和联系?
翻译程序是指把高级语言源程序翻译成机器语言程序的软件。
翻译程序两种:一种是编译程序,它将高级语言源程序一次全部翻译成目标程序,每次执行程序时,只要执行目标程序,因此只要源程序不变,就无需重新翻译。另一种是解释程序,它将源程序的一条语句翻译成对应的机器目标代码,并立即执行,然后翻译下一条源程序语句并执行,直至所有的源程序语句全部被翻译并执行完。所以解释程序的执行过程是翻译一句执行一句,并且不会生成目标程序。
汇编程序也是一种语言翻译程序,它把汇编语言源程序翻译为机器语言程序。
5.机器字长、指令字长、存储字长的区别与联系?
机器字长:计算机能直接处理的二进制数据的位数,机器字长一般等于内部寄存器的大小,它决定了计算机的运算精度。
指令字长:一个指令字中包含二进制代码的位数。
存储字长:一个存储单元存储二进制代码的长度。它们都必须是字节的整数倍。