文章目录
- 计算机系统的组成
- 计算机硬件
- 冯诺依曼结构
- 计算机的功能部件
- 计算机软件
- 系统软件和应用软件
- 三个级别的语言
- 计算机的性能指标
- 字长
- 数据通路宽度
- 主存容量
- 运算速度
计算机系统的组成
计算机系统由硬件系统和软件系统组成:
- 硬件是指有形的物理设备,是计算机系统中实际物理装置的总和。
- 软件是指在硬件上运行的程序和相关的数据和文档。
硬件实现的往往是最基本的算术和逻辑运算功能,而其它功能大都由软件实现。对一个功能而言,既可以通过硬件实现,也可以通过软件实现,一般来说,一个功能若使用较为频繁且用硬件实现的成本较为理想,那么使用硬件解决可以提高效率。
计算机硬件
冯诺依曼结构
冯诺依曼提出的存储程序概念奠定了现代计算机的基本结构,以此概念为基础的各类计算机统称为冯诺依曼机,其特点如下:
- 采用存储程序的工作方式,它的基本思想是:将事先编好的程序和原始数据送入主存后才能执行,一旦程序开始执行,就不需要操作人员的干预,计算机会逐条执行指令,直至程序执行结束。
- 计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备五大部分组成。
- 指令和数据以相同的地位存储在存储器上,形式上没有任何区别。
- 指令和数据均用二进制代码表示。指令由操作码和地址码组成,操作码指出操作的类型,地址码指出操作数的地址。
早期冯诺依曼结构以运算器为中心,此时运算器不仅要承担数据运算的任务,还要承担数据中转的任务。
为了解决这个问题,现代计算机以存储器为中心,这样就可以解放运算器:
计算机的功能部件
-
输入设备:输入设备的主要功能是将程序和数据以及其能识别和接收的信息的形式输入计算机。
-
输出设备:输出设备的主要功能是将计算机处理的结果以人所能接收的形式或其它系统所要求的形式输出。
-
存储器:存储器分为内存和外存,CPU能直接访问的存储器是内存,外存用于帮助内存存储更多的信息,外存存储的信息必须调入内存中才能被CPU访问。内存的工作方式是按照存储单元的地址进行存取,这种存取方式称为按地址存取方式。内存的基本组成如下所示:
- 其中存储体用于存放二进制信息,它由许多存储单元组成,每个存储单元包含若干个存储元件,每个存储元件存储一位(bit)二进制代码,因此存储单元可以存储一串二进制代码,称这串代码为存储字,称这串代码的位数为存储字长,存储字长可以是一字节(byte)或字节的偶数倍。
- 地址寄存器(MAR)用于存储访问地址,经过地址译码后找到所选的存储单元,其位数对应存储单元的个数,它的长度和PC的长度相同。
- 数据寄存器(MDR)用于暂存要从存储体中读或写的信息,它的位数和存储字长相同。
- 时序控制逻辑用于产生存储器操作所需的各种时序信号。
-
运算器:运算器是计算机的执行部件,用于进行算术运算和逻辑运算。运算器的基本组成如下所示:
- 算数逻辑单元(ALU):算数逻辑单元,通过内部复杂的电路实现算术运算和逻辑运算。
- 通用寄存器(GPRs):运算器包含若干通用寄存器,用于暂存操作数和中间结果,如累加器(ACC)、乘商寄存器(MQ)、操作数寄存器(X)、变址寄存器(LX)、基址寄存器(BR)等,其中前三个寄存器是必须具备的。运算器中还有程序状态寄存器(PSW),也称标志寄存器,用于存放ALU运算得到的一些标志信息或处理机的状态信息,如结果是否溢出、有无产生进位或借位、结果是否为负等。
-
控制器:控制器用于指挥各部件自动协调的进行工作。控制器的基本组成如下所示:
- 程序计数器(PC):用于存放下一条执行指令的地址,它和内存的地址寄存器之间有一条直接通道。
- 指令寄存器(IR):用于存放当前执行的指令,其内容来自内存的数据寄存器。
- 控制单元(CU):用于分析指令,给出控制信号。
一般将地址寄存器、数据寄存器、运算器和控制器集成到同一个芯片上,称为中央处理器(CPU):
CPU和内存之间通过一组总线相连,总线中有地址、控制和数据三组信号线。MAR中的地址信息会直接送到地址总线上,用于指向读/写操作的内存存储单元;控制线中有读/写信号线,指出数据是从CPU写入主存还是从主存读出到CPU,根据是读操作和写操作来控制将MDR中的数据是直接送到数据线总线上还是将数据总线上的数据送到MDR中。
计算机软件
系统软件和应用软件
软件按功能分可以分为系统软件和应用软件,系统软件是一组可以保证计算机高效、正确运行的基础软件,主要包括操作系统、数据库管理系统和语言处理程序等;应用软件是指用户为解决某个应用领域中的各类问题而编写的程序。
三个级别的语言
- 机器语言:又称为二进制代码语言,它是计算机唯一可以直接识别和执行的语言。
- 汇编语言:汇编语言用英文单词或其缩写代替二进制的指令代码,使用汇编语言编写的程序,必须通过一个名为汇编程序的系统软件的翻译,将其转化为机器语言程序后,才能在计算机硬件上运行。
- 高级语言:高级语言是为方便程序员而设计的程序,通常高级语言程序需要经过编译程序编译为汇编语言程序再通过汇编程序翻译为机器语言,或直接由高级语言程序翻译为机器语言程序。
计算机的性能指标
字长
字长是指计算机进行一次整数计算所能处理的二进制数据的位数,通常和CPU的寄存器位数相等。字长越长(通常为字节的整数倍),数的表示范围越大,计算机的精度越高。
数据通路宽度
数据通路(各个子系统通过数据总线连接形成的数据传送路径)带宽是指总线一次所能并行传送数据的位数,这里所说的数据通路带宽是指外部数据总线的宽度,它与CPU内部的数据总线的宽度有可能不同。
主存容量
主存容量是指内存所能存储信息的最大容量,通常以字节来表示,也可以使用字数x字长来表示存储容量。
运算速度
- 吞吐量:指系统在单位时间内处理请求的数量,它取决于数据能多快的输入内存,CPU能多快的取指令,数据能能多快的从内存取出或存入,以及所得结果能多快的从内存送给一台外部社会。
- 响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获取所需结果的等待时间,通常包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/O操作、操作系统开销等时间)。
- CPU时钟周期:通常为节拍脉冲或T周期,即主频的倒数,它是CPU中最小的时间单位,执行指令的每个动作至少需要一个时钟周期。
- CPU时钟频率(主频):机器内部主时钟频率,是衡量机器速度的重要参数,对该请求做出响应并获得所需结果的等待时间。通常包括CPU时间(运行一个程序所花的时间)与等待时间(用于磁盘访问、存储器访问、I/O操作、操作系统开销等的时间)。
- CPI:指执行一条指令所需要的时钟周期数,不同指令的时钟周期数可能不同,因此对于一个程序或一台机器来说,其CPI指该程序或该机器指令集中的所有指令执行所需的平均时钟周期数,此时CPI是一个平均值。
- CPU执行时间:指运行一个程序所花费的时间。 C P U 执行时间 = C P U 时钟周期数 / 主频 = (指令条数 × C P I ) / 主频 CPU执行时间=CPU时钟周期数/主频=(指令条数×CPI)/主频 CPU执行时间=CPU时钟周期数/主频=(指令条数×CPI)/主频
- MIPS:即每秒执行多少百万条指令。 M I P S = 指令条数 / (执行时间 × 1 0 6 ) = 主频 / ( C P I × 1 0 6 ) MIPS=指令条数/(执行时间×10^6)=主频/(CPI×10^6) MIPS=指令条数/(执行时间×106)=主频/(CPI×106)