0%

计算机系统概述

绪论:通过多条电路,可以传递多个二进制数位,每个二进制数位称为1 bit(比特)。

计算机的发展

1、计算机系统 = 硬件 + 软件。
硬件:计算机的实体,如主机、外设等。
软件:由具有各类特殊功能的程序组成
硬件是计算机系统的物理基础
软件决定我们能把计算机系统的硬件的性能发挥到什么程度

2、软件
系统软件 用来管理整个计算机系统
操作系统,数据库管理系统(DBMS),标准程序库,网络软件,语言处理程序,服务程序。
应用软件 按任务需要编制成的各种程序
抖音,王者荣耀,迅雷,美图秀秀

3、硬件的发展
第一台电子数字计算机:ENIAC(1946)
逻辑元件:电子管
冯诺依曼
硬件的发展1.1
第一代:电子管时代
逻辑元件:电子管
体积超大、耗电量超大
使用机器语言编程
纸带机
第二代:晶体管时代
逻辑元件:晶体管
晶体管体积比电子管小很多
体积、功耗降低
出现面向过程的程序设计语言:FORTRAN
有了操作系统雏形
第三代:中小规模集成电路时代
将元件集成在基片上
计算机主要用于科学计算等专业用途
高级语言迅速发展
开始有了分时操作系统
第四代:大规模、超大规模集成电路时代
开始出现“微处理器”、微型计算机
个人计算机(PC)萌芽
操作系统:Windows、MacOS、Linux…

机器字长:计算机一次整数运算所能处理的二进制位数
摩尔定律:揭示了信息技术进步的速度
集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,整体性能也将提升一倍。

4、软件的发展
机器语言->汇编语言->FORTRAN PASCAL C++ ->java
DOS->Windows Android

5、目前的发展趋势
“两极”分化
一级是微型计算机向更微型化、网络化、高性能、多用途方向发展;
另一极是巨型计算机向更巨型化、超高速、并行处理、智能化方向发展。(神威太湖之光,每秒9.3亿亿次的浮点运算)

6、知识回顾与重要考点
计算机发展历程1.1

计算机硬件的基本组成

计算机硬件的基本组成1.2

1、早期冯诺依曼机
“存储程序”的概念是指将指令以二进制代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。

早期冯诺依曼机1.2
输入设备:将信息转换成机器能识别的形式
存储器:存放数据和程序
运算器:算数运算和逻辑运算
输出设备:将结果转换成人们熟悉的形式
控制器:指挥程序运行
数据和程序(计算步骤)通过箭头进入输入设备,他们是属于软件部分。该框图中其余部分都属于硬件。
在计算机系统中,软件和硬件在逻辑上是等效的。对于同一个功能,既可以使用软件实现,也可以使用硬件实现。

冯诺依曼计算机的特点:
1、计算机由五大部分组成
2、指令和数据以同等地位存于存储器,可按地址访问。
3、指令和数据用二进制表示
4、指令由操作码和地址码组成
5、存储程序
6、以运算器为中心:输入/输出设备与存储器之间的数据传送通过运算器完成。

2、现代计算机
现代计算机的结构1.2
现代计算机:以存储器为中心
CPU = 运算器+控制器
主机:CPU(运算器+控制器),主存储器
I/O设备(外设):输入设备,输出设备

存储器:
主存:主存储器,又叫内存,属于主机的一部分。
辅存:辅助存储器,如机械硬盘,属于I/O设备。

计组知识回顾1.2

各个硬件的工作原理

计组知识总览1.3

1、主存储器的基本组成
存储体:数据在存储体内按地址存储,每一个地址对应一个存储单元
存储单元:每个存储单元存放一串二进制代码
存储字(word):存储单元中二进制代码的组合
存储字长:存储单元中二进制代码的位数
存储元:即存储二进制的电子元件,每个存储元可存1 bit

MAR:Memory Address Register(存储地址寄存器):MAR位数反应存储单元的个数
MDR:Memory Data Register(存储数据寄存器):MDR位数 = 存储字长
易混淆:一个字节(Byte) = 8 bit
1B = 1个字节,1b = 1个bit

2、运算器的基本组成
运算器的基本组成1.3
如果ACC要存放的乘积过大,则需要MQ辅助存储运算结果。

3、控制器的基本组成
CU(Control Unit):控制单元,分析指令,给出控制信号
IR(Instruction Register):指令寄存器,存放当前执行的指令
PC(Program Counter):程序计数器,存放下一条指令地址,有自动加1功能

完成一条指令
1、取指令 PC
2、分析指令 IR(1和2取指)
3、执行指令 CU(3执行)

计算机的工作过程1.3
加括号如(PC)指的是PC内的内容
CPU区分指令和数据的依据:指令周期的不同阶段

计组知识回顾1.3
注:MAR,MDR在逻辑上是属于主存的,但现在的计算机通常把MAR、MDR也集成在CPU内。

计算机系统的层次结构

计组计算机系统的层次结构1.4
下层是上层的基础,上层是下层的扩展

1、三种级别的语言
高级语言:C/C++、Java
汇编语言:助记符
机器语言:二进制代码

编译程序:将高级语言编写的源程序全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序(只需翻译一次)
解释程序:将源程序的一条语句翻译成对应于机器语言的语句,并立即执行。紧接着再翻译下一句(每次执行都要翻译)
注:编译、汇编、解释程序,可统称“翻译程序”。

计组知识回顾1.4

2、计算机体系结构vs计算机组成原理
计算机体系结构—机器语言程序员所见到的计算机系统的属性概念性的结构与功能特性(指令系统、数据类型、寻址技术、I/O机理)
研究如何设计硬件与软件之间的接口

计算机组成原理—实现计算机体系结构所体现的属性,对程序员“透明”(具体指令的实现)
研究如何用硬件实现所定义的接口

此处的“透明”—看不见
某事“公开透明”—看得见

计算机的性能指标

一、存储器的性能指标
1、MAR位数反映存储单元的个数(最多支持多少个)
2、MDR位数 = 存储字长 = 每个存储单元的大小
3、存储器的总容量 = 存储单元个数 x 存储字长bit
= 存储单元个数 x 存储字长/8 Byte
其中 1 Byte = 8 bit
例如:MAR为32位,MDR为8位
总容量 = 2^32*8 bit = 4GB
2^10:K 1kB = 1024B
2^20:M
2^30:G
2^40:T

二、CPU的性能指标
1、CPU主频(单位:赫兹,Hz):CPU内数字脉冲信号震荡的频率。
CPU的时钟周期(单位:微秒、纳秒) = 1/CPU主频
10Hz意味着每秒钟有10个脉冲信号
2、CPI(Clock cycle Per Instruction):执行一条指令所需的时钟周期数
不同的指令,CPI不同。甚至相同的指令,CPI也可能有变化。

执行一条指令的耗时 = CPI X CPU时钟周期
CPU执行时间(整个程序的耗时) = CPU时钟周期数/主频 = (指令周期数*CPI)/主频
3、IPS(Instructions Per Second):每秒执行多少条指令
IPS = 主频/平均CPI
可以理解为每秒钟的脉冲数/每执行一条指令所需要的脉冲数
4、FLOPS(Floating-point Operations Per Second):每秒执行多少次浮点运算
注意:
KIPS、MIPS
KFLOPS、MFLOPS、GFLOPS、TFLOPS
此处K、M、G、T为数量单位
K = Kilo = 千 = 10^3,M = Million = 百万 = 10^6,G = Giga = 十亿 = 10^9,T = Tera = 万亿 = 10^12

三、系统整体的性能指标
1、数据通路带宽:数据总线一次所能并行传送信息的位数(各硬件部件通过数据总线传输数据)
2、吞吐量:指系统在单位时间内处理请求的数量
它取决于信息能多快地输入内存,CPU能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快地从主存送给一台外部设备。这些步骤中地每一步都关系到主存,因此,系统吞吐量主要取决于主存地存取周期。
3、响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获得它所需要的结果的等待时间。
通常包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/O操作、操作系统开销等时间)。

四、系统整体的性能指标(动态测试)
1、基准程序(跑分软件)是用来测量计算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行相同程序的其他计算机性能进行比较。
2、主频高的CPU不一定比主频低的CPU快:如两个CPU,A的主频为2GHz,平均CPI = 10;B的主频1GHz,平均CPI = 1。一秒钟执行的指令数2/10<1。
3、若A、B两个CPU的平均CPI相同,A不一定更快。这个还要看指令系统,如A不支持乘法指令,只能用多次加法实现乘法;而B支持乘法指令。
4、基准程序执行得越快不一定说明机器性能越好。基准程序中的语句存在频度差异,运行结果也不能完全说明问题。

计组知识回顾1.5