计算机系统概论

计算机系统概论

重点内容

  • (一)计算机系统层次结构
    • 计算机系统的基本组成
    • 计算机硬件的基本组成
    • 计算机软件和硬件的关系
    • 计算机系统的工作原理
  • (二)计算机性能指标
    • 吞吐量、响应时间、CPU时钟周期、主频、CPI、CPU执行时间
    • MIPS、MFLOPS、GFLOPS、TFLOPS、PFLOPS、EFLOPS、ZFLOPS

计算机系统层次结构

硬件系统和软件系统共同构成了一个完整的计算机系统。硬件是指有形的物理设备,是计算机系统中实际物理装置的总称。软件是指在硬件上运行的程序和相关的数据及文档。

计算机硬件

冯·诺依曼机的特点

​ 冯·诺依曼在研究EDVAC机(离散变量自动电子计算机)时提出了“存储程序”的概念,“存储程序”的思想奠定了现代计算机的基本结构,以此概念为基础的各类计算机通称为冯·诺依曼机。

"存储程序"的基本思想是:将事先编制好的程序和原始数据送入主存后才能执行,一旦程序被启动执行,就无须操作人员的干预,计算机会自动逐条执行指令,直至程序执行结束。

​ 其特点如下:

  • 采用“存储程序”的工作方式。
  • 计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5大部分组成。
  • 指令和数据以同等地位存储在存储器中,形式上没有区别,但计算机应能区分它们。
  • 指令和数据均用二进制代码表示。指令由操作码和地址码组成,操作码指出操作的类型,地址码指出操作数的地址。
  • 指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
  • 机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成。

典型的冯·诺依曼计算机结构框图

计算机的功能部件
运算器

​ 用来完成算数运算和逻辑运算,并将运算的中间结果暂存在运算器内。

​ 运算器是计算机的执行部件,用于进行算术运算和逻辑运算。算术运算是按算术运算规则进行的运算,如加减乘除;逻辑运算包括与、或、非、异或、比较、移位等运算。

​ 运算器的核心是算术逻辑单元(ALU)。运算器包含若干通用寄存器,用于暂存操作数和中间结果,如累加器(ACC)乘商寄存器(MQ)操作数寄存器(X)、变址寄存器(IX)、基址寄存器(BR)等。(现代计算机内部往往设有通用寄存器组)

​ 运算器最少包括3个寄存器(ACC、MQ、X)和一个 ALU 。

​ 运算器内还有程序状态寄存器(PSW),也称标志寄存器,存放 ALU 运算得到的一些标志信息或处理机的状态信息,如结果溢出,结果是否为负等。


存储器

​ 用来存放数据和程序。

​ 存储器分为主存储器(又称内存储器)和辅助存储器(又称外存储器)。CPU能够直接访问的存储器是主存储器。辅助存储器用于帮助主存储器记忆更多的信息,辅助存储器中的信息必须调入主存后,才能为CPU所访问。

​ 主存储器的工作方式是按存储单元的地址进行存取,这种存取方式称为按地址存取方式

主存储器逻辑图

​ 主存储器的最基本组成如图所示。存储体存放二进制信息,**地址寄存器(MAR)**存放访存地址,经过地址译码找到所选的存储单元。数据寄存器(MDR)用于暂存要从存储器中读或写的信息,时序控制逻辑用于产生存储器操作所需的各种时序信号

​ 存储体由许多存储单元组成,每个存储单元包含若干存储元件,每个存储元件存储一位二进制代码。因此存储单元可以存储一串二进制代码,称这串代码为存储字,称这串代码的位数为存储字长,存储字长可以是1B或是字节的偶数倍。

​ MAR 的位数对应着存储单元的个数。 MDR 的位数和存储字长相等。

注意:MAR 与 MDR 虽是存储器的一部分,但在现代计算机中却是存在于CPU中的。


控制器

​ 用来控制、指挥程序和数据的输入、运行以及处理运算结果。

1.解释指令 2.保证指令按序进行

​ 控制器是计算机的神经中枢,由其指挥各部件自动协调地工作。控制器由程序计数器(PC)、指令寄存器(IR)和控制单元(CU)组成。

​ PC 用来存放即将执行指令的地址,可以自动加一形成下一条指令的地址,它与主存的 MAR 之间有一条直接通路。

​ IR 用来存放当前的指令,其内容来自主存的 MDR 。指令中的操作码 OP(IR)送至 CU ,用以分析指令并发出各种微操作命令序列;而地址码 Ad(IR)送往 MAR ,用以取操作数。

完成一条指令的步骤:

  • 取指令
  • 分析指令
  • 执行指令

输入设备

​ 用来将人们熟悉的信息形式转换为机器能识别的信息形式。

输出设备

​ 将计算器运算结果转换为人们熟悉的信息形式。

​ 输入/输出设备(简称 I/O 设备)是计算机与外界联系的桥梁,是计算机中不可缺少的重要组成部分。


一般将运算器和控制器集成到一个芯片上,称为中央处理器(CPU)。CPU 和主存储器共同构成主机,而除主机以外的其他硬件装置(外存、I/O设备等)统称为外部设备,简称外设。


计算机软件

系统软件和应用软件

​ 软件按照其功能分类,可分为系统软件和应用软件。

​ 系统软件又称为系统程序,主要用来管理整个计算机系统,保证计算机系统高效、正确运行的基础软件。系统软件主要有操作系统(OS)、数据库管理系统(DBMS)语言处理程序(如将汇编语言翻译成机器语言的汇编程序或将高级语言翻译成机器语言的编译程序)、分布式软件系统、网络软件系统、标准库程序、服务型程序等。

​ 应用程序又称为应用程序,它是用户根据任务需要所编制的各种程序,如科学计算程序、数据处理程序、过程控制程序、事务管理程序等。

三个级别的语言
机器语言

​ 又称二进制代码语言。

​ 机器语言是计算机唯一可以直接识别和执行的语言。

汇编语言

​ 汇编语言用英文单词或其缩写代替二进制的指令代码。

​ 使用汇编语言编辑的程序,必须经过汇编程序(系统软件)翻译,将其转换为机器语言程序后,才能在计算机的硬件形态上执行。

高级语言

​ 是为了方便程序设计人员写出解决问题的处理方案和解题过程的程序。

​ 通常高级语言需要经过编译程序编译成汇编语言程序,然后经过汇编操作得到机器语言程序,或直接由高级语言程序翻译成机器语言程序。

​ 由于计算机无法直接理解和执行高级语言程序,需要将高级语言程序转换为机器语言程序,通常把进行这种转换的软件系统称为翻译程序

  • 汇编程序(汇编器)。将汇编语言程序翻译成机器语言程序。
  • 解释程序(解释器)。将源程序中的语句按执行顺序逐条翻译成机器指令并立即执行。
  • 编译程序(编译器)。将高级语言程序翻译成汇编语言或机器语言程序。
软件和硬件的逻辑功能等价性

​ 对某一功能来说,既可以由硬件实现,又可以由软件实现,从用户的角度来看,它们在功能上是等价的。这一等价性被称为软、硬件功能的等价性。两者在功能上完全等效,不同的只是执行时间的长短,显然硬件实现的性能要优于软件实现的性能。

​ 软硬件的逻辑等价性原理是计算机系统设计的重要依据,软硬件的功能分配及其界面的确定是计算机系统结构研究的重要内容。


计算机系统的层次结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qXt8MFq0-1647139446915)(C:\Users\Tamako\Desktop\2.png)]

​ 第一级是微程序机器层,这是一个实在的硬件层,它由机器硬件直接执行微指令。

​ 第二级是传统机器语言层,它是一个实际的机器层,由微程序解释机器指令系统。

​ 第三级是操作系统层,它由操作系统程序实现。操作系统程序是由机器指令和广义指令组成的,这些广义指令是为了拓展机器功能而设置的,是由操作系统定义和解释的软件指令,因此也称该层为混合层。

​ 第四级是汇编语言层,提供符号化的语言,借此可编写汇编语言源程序。该层由汇编程序支持和执行。

​ 第五级是高级语言层,面向用户,为方便用户编写应用程序而设置的。该层由各种高级语言编译程序支持和执行。

​ 没有配备软件的纯硬件系统为裸机。第 3 层~ 5 层称为虚拟机。

下层是上层的基础,上层是下层的扩展。


计算机系统的工作原理

“存储程序”工作方式

​ “存储程序”工作方式规定,程序执行前,需要将程序所含的指令和数据送入主存,一旦程序被启动执行,就无须操作人员的干预,自动逐条完成指令的取出和执行任务。

​ 每条指令的执行过程包括:从主存取指令、对指令进行译码、计算下条指令地址、取操作数并执行、将结果送回存储器。

指令执行过程的描述

​ 可执行文件代码段是由一条一条机器指令构成的,指令是用 0 和 1 表示的一串 0/1 序列,用来指示 CPU 完成一个特定的原子操作。以取数指令为例来说明:

  • 取指令: PC - > MAR - > M - > MDR - > IR

    根据 PC 取指令到 IR 。将 PC 的内容送 MAR , MAR 中的内容直接送地址线,同事控制器将读信号送读/写信号线,主存根据地址线上的地址和读信号,从指定存储单元读出指令,送到数据线上, MDR 从数据线接受指令信息,并传送到 IR 中。

  • 分析指令: OP(IR)- > CU

    指令译码并送出控制信号。控制器根据 IR 中指令的操作码,生成相应的控制信号,送到不同的执行部件。

  • 执行指令: Ad(IR) - > MAR - > MDR - > ACC

    取数操作。将 IR 中指令的地址码送 MAR, MAR 中的内容送地址线,同时控制器将读信号送读/写信号线,从主存读出操作数,并通过数据线送至 MDR,在传送到 ACC 中。

    每取完一条指令,还须为取下条指令做准备,计算下条指令的地址,即(PC)+1 - > PC。


部分习题

​ 1.下列关于 CPU 存取速度的比较中,正确的是( )。

​ A. Cache > 内存 > 寄存器 B. Cache > 寄存器 > 内存

​ C. 寄存器 > Cache > 内存 D. 寄存器 > 内存 > Cache

​ 2.下列( )属于应用软件。

​ A. 操作系统 B. 编译程序 C. 连接程序 D. 文本处理

​ 3.下列叙述中,正确的是( )。

​ ① 实际应用程序的测试结果能全面代表计算机的性能

​ ② 系列机的基本特性是指令系统向后兼容

​ ③ 软件和硬件在逻辑功能上是等价的

​ 4. 下列( )不属于系统软件。

​ A. 数据库系统 B. 操作系统

​ C. 编译程序 D. 以上 3 种都属于系统程序


5. 冯·诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU 区分它们的依据是( )。

​ A. 指令操作码和译码结果 B. 指令和数据的寻址方式

​ C. 指令周期的不同阶段 D. 指令和数据所在的存储单元

6.什么是存储程序原理?按此原理,计算机应有哪几大功能?


计算机的主要性能指标

字长

​ 字长是指计算机进行一次整数运算所能处理的二进制数据的位数,通常与 CPU 的寄存器位数、加法器有关。

数据通路贷带宽

​ 数据通路带宽是指数据总线一次所能并行传送信息的位数。

存储容量

​ 存储器的容量应该包括主存容量和辅存容量。

​ 主存容量是指主存中存放二进制代码的总位数。即

​ 存储容量 = 存储单元个数 * 存储字长

​ 辅存容量通常用字节表示。

运算速度

吞吐量

​ 指系统在单位时间内处理请求的数量。主要取决于主存的存取周期。

响应时间

​ 指从用户向计算机发送一个请求,到系统对该请求做出响应并获得所需结果的等待时间。

主频(CPU 时钟频率)

​ 机器内部主时钟的频率,是衡量机器速度的重要参数。

CPU时钟周期

​ 通常为节拍脉冲或 T 周期,即主频的倒数,是 CPU 中最小的时间单位

CPI

​ 即执行一条指令所需的时钟周期数。是一个平均值。

CPU执行时间

​ 指运行一个程序所花费的时间。 CPU执行时间 = CPU时钟周期数 / 主频 =(指令条数 * CPI)/ 主频

MIPS

​ 每秒执行多少百万条指令

​ MIPS = 指令条数 /(执行时间×10^6)= 主频 /(CPI×10^6)

  • MFLOPS 每秒执行多少百万次浮点运算
  • GFLOPS 每秒执行多少十亿次浮点运算
  • TFLOPS 每秒执行多少万亿次浮点运算
  • PFLOPS 每秒执行多少10^15次浮点运算
  • EFLOPS 每秒执行多少10^18次浮点运算
  • ZFLOPS 每秒执行多少10^21次浮点运算

基准程序

​ 基准程序是专门用来进行性能评价的一组程序,能很好地反映机器在运行实际负载时的性能。可以通过不同的机器上运行相同的基准程序来比较性能。