# 计算机系统概述

# 计算机系统层次结构

计算机系统:硬件与软件共同组成。硬件效率高,成本高;软件灵活性高。两者逻辑上等效

# 计算机硬件的基本组成

冯 · 诺依曼机--“存储程序”

  1. 硬件系统由运算器、存储器、控制器、输入设备和输出设备组成
  2. 指令和数据同等地位存储在存储器中,并可按地址寻访
  3. 指令、数据均用二进制代码表示
  4. 指令由操作码和地址码组成,操作码表示操作类型,地址码给出操作数地址
  5. 指令在存储器中顺序存放
  6. 运算器为中心,输入/输出设备通过运算器与存储器传送数据

现代计算机的组织的结构--IO与CPU的差距

  1. 以存储器为中心,IO绕过CPU(中央处理器)

# 计算机功能部件

(1)输入设备

(2)输出设备

(3)存储器

主存储器:CPU能够直接访问(内存),逻辑图如下所示

1621563998078

MAR(地址寄存器)用于寻址,位数对应存储单元个数,与地址码长度相同

MDR(数据寄存器)位数与存储字长(1B的偶次倍)相等。存储字为一串二进制代码

hits: MAR与MDR存在现代存于CPU中

与相联存储器区别:内存智能按存储单元地址存取,相联存储器还可以按内容(某些字段)寻址。

辅助存储器:帮助主存记忆更多信息(外存)

CPU存取速度比较

寄存器 > Cache > 内存

(4)运算器

ALU(算术逻辑单元)、ACC(累加器)、MQ(乘商寄存器)、X(操作数寄存器) 必须具备、IX(变址寄存器)、BR(基址寄存器)

PSW(程序状态寄存器)

(5)控制器

PC(程序计数器)、IR(指令寄存器)、CU(控制单元)

冯·诺依曼模型机CPU结构略

CPU和主存通过一组总线(地址、控制和数据信号线)相连

# 计算机软件的分类

# 系统软件和应用软件--按功能分类

系统软件

保证计算机高效、正确运行的基础软件:OS(操作系统)、DBMS(数据库管理系统)、语言处理程序、分布式软件系统、网络软件系统、标准库程序、服务性程序。

应用软件

为解决某个应用领域中的各类问题而编制的程序:各种科学计算类程序、工程设计类、数据统计与处理程序。

注意

DBMS(数据库管理系统)与DBS(数据库系统)区别:DBMS为系统软件,DBS构成:数据库、数据库管理系统、数据库管理员(DBA)、应用系统

# 各种级别的语言

机器语言(二进制代码语言):计算机唯一可以直接识别和执行的语言

汇编语言:用引文单词或其缩写代替二进制指令代码,ccl(编译器)产生的文本

高级语言:方便程序设计人员解决问题的语言。先编译为汇编语言,在汇编得到机器语言

# 各种程序

编译程序:将高级语言一次性全部翻译成目标程序(机器级目标代码)。

解释程序:一条源程序语句翻译成对应机器目标代码并立即执行,直至所有源程序语句被翻译并执行完成。

汇编程序:汇编语言翻译为机器语言程序。as

链接程序:将可重定位模块(目标程序与标准库函数)合并生成可执行文件。ld

# 计算机的工作过程--以C为例

三步走

  1. 把程序和数据装入内存
  2. 将源程序转换成可执行文件
  3. 从可执行文件的首地址开始逐条执行指令

将源程序转换为可执行文件过程图如下所示

1621566175930

指令执行过程的描述

第一条执行置于PC,取出第一条指令,译码,执行完成后计算下一条指令的地址,继续读出新地址的指令并执行,直到程序结束

待完善~指令执行过程详情请看第五章

# 计算机系统的多级层次结构

1621567807601

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

对于某层使用者而言,只能通过该层次了解与使用计算机,不必关心下层是如何工作的

# 计算机性能指标

# 计算机的主要性能指标

# 1.机器字长

一次整数运算所能处理的二进制数据位数,字长越长,数的表示范围越大,计算精度越高

# 2.数据通路的带宽

数据总线一次所能并行传送信息的位数,通常是外部数据总线宽度,可能与CPU内部不同

# 3.主存容量

主存储器所能存储信息的最大容量,以字节来衡量,字数 x 字长512K x 16位表示.MAR位数反映可寻址范围的最大值

# 4.运算速度

吞吐量:单位时间内处理请求的数量,主要取决于主存的存取时间

响应时间:从用户向计算机发送一个请求,到系统对该请求做出响应并获取所需结果的等待时间。CPU时间+等待时间I/O,磁盘访问,存储器访问等

CPU时钟周期:节拍脉冲或T周期,即主频的倒数。CPU最小时间单位,执行指令动作的最小时钟周期为1

主频(CPU时钟频率):机器内部主时钟的频率,主频高,执行指令所用时间越短,单位Hz

CPI:执行一条指令所需的时钟周期

CPU执行时间:运行一个程序所花费的时间

MIPS:每秒执行多少百万条指令

MFLOPS(每秒执行多少百万次浮点运算,10^6)、GFLOPS(每秒执行多少十亿浮点运算,10^9)、TFLOPS(每秒执行多少万亿次浮点运算,10^12)

# 5.基准程序

# 易混淆知识整理

在CPU中,IR、MAR、MDR对各类程序员都是透明的

机器字长:计算机能直接处理的二进制数据位数,数据运算的基本单位长度

指令字长:一个指令字中包含的二进制代码的位数,指令字长一般取存储字长的整数倍

存储字长:一个存储单元存储的二进制代码的位数(长度)

数据字长:总线一次能并行传送信息的位数