导图社区 第一章 计算机系统概述(王道408)
这是一篇关于第一章 计算机系统概述的思维导图,主要内容包括:1.3 计算机的性能指标,1.2 计算机系统的层次结构,1.1 计算机的发展历程。
编辑于2025-01-22 22:43:18第一章 计算机系统概述
1.1 计算机的发展历程
你好,我是机组
计算机硬件能识别的数据
二进制0/1
用低/高电平表示0/1
通过很多条电路,可以传递多个二进制数位,每个二进制数位称为1bit(比特)
计算机发展历程
计算机系统
计算机性能的好坏取决于软件、硬件功能的总和
硬件
计算机的实体,主机、外设等
物理基础,决定了天花板
硬件的发展
逻辑元件
用来处理电信号的最小单元
第一代
电子管
体积超大、耗电量超大
使用机器语言编程(纸带机)
第二代
晶体管
体积、耗能降低
出现面向过程的程序设计语言:FORTRAN
有了操作系统雏形
第三代
中小规模集成电路
把晶体管、电容等电子元件高密度地集成在电路板上
计算机主要用于科学计算等专业
高级语言迅速发展
开始有了分时操作系统
第四代
大规模、超大规模集成电路
开始出现微处理器、微型计算机
个人计算机(PC)萌芽
操作系统:windows、macos、linux
软件
由具有各类特殊功能的程序组成
决定了能把硬件的性能发挥到什么程度
分类
系统软件
用来管理整个计算机系统
如os,数据库管理系统(DBMS),标准程序库,网络软件,语言处理程序,服务程序
应用软件
按任务需要编制成的各种软件
如抖音,王者等
微处理机的发展
微型计算机的发展以微处理器技术为标志
机器字长
计算机一次整数运算所能处理的二进制位数
摩尔定律
揭示了信息技术进步的速度
集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,整体性能也会增加一倍
目前的发展趋势
两极分化
微型计算机向更微型化、网络化、高性能、多用途方向发展
巨型机向更巨型化、超高速、并行处理、智能化方向发展
1.2 计算机系统的层次结构
在计算机系统中,软件和硬件在逻辑上是等效的
对于乘法运算,可以设计一个专门的硬件电路来实现乘法运算(成本高,效率高),也可以用软件的方式,执行多次加法运算来实现(成本低,效率低)
计算机硬件的基本组成
早期冯诺依曼机的结构
在冯诺依曼之前我们都是手动接线来控制计算,说一句做一句
冯诺依曼提出了存储程序
将指令以二进制代码的形式事先输入计算机的主存储器(内存),然后按照其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束
特点
计算机由五大部件构成
指令和数据以同等地位位于存储器,可按照地址寻访
指令和数据用二进制表示
方便使用电信号表示
指令可由操作码和地址码组成
存储程序
将指令以二进制代码的形式事先输入计算机的主存储器(内存),然后按照其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束
以运算器为中心
输入/输出设备与存储器之间的数据传送通过运算器完成,效率变低
这是后期改进的主要部分!
现代计算机的结构
以存储器为中心
CPU=运算器+控制器
因为运算器和控制器逻辑关系紧密,所以被集成在同一个芯片上
结构
硬件
主机
CPU
运算器
控制器
主存
主存储器=主存=内存=运行内存
RAM
ROM
Cache
I/O设备(外设)
辅存
辅存=辅助存储器=外存=机身存储
输入设备
输出设备
关系
控制器
运算器
控制器告诉运算器你是要加减乘除
主存储器
控制器也控制主存储器的存储
I/O设备
控制器也控制I/O设备输入输出
主存储器
主存储器中的指令会放入控制器中,由控制器来解析含义,并且发出相应的控制信号以及一些参数(放在CPU的寄存器中)
五大部分
输入设备
将信息转换成机器能识别的形式
输出设备
将结果转换成人们熟悉的形式
主存储器
存放数据和程序
运算器
算术运算、逻辑运算
控制器
指挥各部件,使程序运行
主机
各个硬件的工作原理
主存储器
现在的计算机通常把MAR和MDR也集成在CPU中
相关概念
存储元
存储二进制的电子元件(电容),每个存储元可存1bit
存储单元
每个存储单元存放一串二进制代码
存储字
存储单元中二进制代码的组合
如果MDR的位数为16,则说明1个字=16bit
存储字长
存储单元中二进制代码的位数
1B = 8b
B
字节
b
比特
存储体
由一系列存储元件构成,可存放0/1
数据在存储体内部按照地址存储
类似于货架,包裹按照取件码摆放
每个地址对应一个存储单元
MAR
存储地址寄存器
MAR的位数反映了存储单元的个数
用来放他的目标地址(比如快递的取件码)
MDR
存储数据寄存器
MDR的位数=存储字长
用来放拿出来的东西(快递放在柜台上)
运算器
功能
算术运算
加减乘除
逻辑运算
与或非
构成
ACC
累加器,用于存放操作数,或运算结果
其实也是个寄存器
MQ
乘商寄存器,在乘、除运算时,用于存放操作数或者运算结果
X
通用的操作数寄存器,用于存放操作数
ALU
核心
算术逻辑单元,通过内部复杂的电路实现算术运算、逻辑运算
控制器
构成
CU
控制单元,分析指令,给出控制信号
IR
指令寄存器,存放当前执行的指令
PC
程序计数器,存放下一条指令地址,有自动加1功能
完成一条指令
取指令
PC
分析指令
IR
取指
执行指令
CU
执行
计算机的工作过程
初
(PC)=0
PC会自动加1
指向第一条指令的存储地址
1
(PC)->MAR
导致(MAR)=0
3
M(MAR)->MDR
导致(MAR)=000001 0000000101
4
(MDR)->IR
导致(IR)=000001 0000000101
5
OP(IR)->CU
指令的操作码送到CU,CU分析后才知道,这是什么指令
必经步骤
CPU区分指令和数据的依据:指令周期的不同阶段
OP(IR)
取操作码
Ad(IR)
取地址码
计算机软件
软件分类
应用软件
为了解决某个应用领域的问题而编制的程序
系统软件
负责管理硬件资源,并向上层应用程序提供基础服务
三种级别的语言
编译器、汇编器、解释器统称为翻译器
机器语言
二进制代码
汇编语言
助记符
低级语言
高级语言
C/C++、Java、Python
高级语言
编译程序
将高级语言编写的源程序全部语句一次性全部翻译成机器语言程序(或者汇编语言),而后再执行机器语言程序
只需要翻译一次
解释程序
将源程序的一条语言翻译成对应于机器语言的语句,并且立刻执行,紧接着翻译下一句
每次执行都要翻译
软件和硬件的逻辑功能等价性
含义
同一个功能,既可以用硬件实现(性能高成本高),也可以用软件实现(性能低成本低)
指令集体系结构(ISA)
软件和硬件之间的界面
设计计算机的ISA,就是要定义一台计算机可以支持哪些指令,以及这条指令的作用是什么,每条指令的用法是什么
加法
乘法
计算机系统的层次结构
软件
虚拟机器 M4 (高级语言机器)
用编译程序翻译成汇编语言程序
虚拟机器M3 (汇编语言机器)
用汇编程序翻译成机器语言程序
虚拟机器M2 (操作系统机器)
向上提供”广义指令“ (系统调用)
硬件
计算机组成原理的重点
传统机器M1 (用机器语言的机器)
执行二进制机器指令
微程序机器M0 (微指令系统)
由硬件直接执行微指令
区分
计算机体系结构
机器语言程序员所见到的计算机系统的属性概念性的结构与功能特性
如何设计硬件与软件之间的接口(有无乘法指令)
计算机组成原理
实现计算机体系结构所体现的属性,对程序员透明
计算机的透明指的是看不见
如何用硬件实现所定义的接口(如何实现乘法指令)
计算机系统的工作原理
1.3 计算机的性能指标
存储器的性能指标
总容量=存储单元个数*存储字长 bit=存储单元个数*存储字长/8 Byte
复习
MAR位数反应存储单元的个数
MDR位数反应每个存储单元的大小
文件大小/存储器容量
K
210
M
220
G
230
T
240
CPU的性能指标
CPU主频
CPU内数字脉冲信号振荡的频率
脉冲信号是指挥CPU内部部件一步步工作的节奏
一秒几次时钟周期
CPU时钟周期
一次数字脉冲信号的时间
CPU主频(时钟频率)=1/CPU时钟周期
CPI(Clock cycle Per Instruction)
执行一条指令所需时钟周期数
不同的指令,CPI不同 甚至相同的指令,CPI也可能有变化
执行一条指令的耗时
CPI*CPU时钟周期
CPU执行时间
CPU总CPI(指令条数*CPI)*CPU时钟周期
IPS
每秒执行多少条指令
主频/平均CPI
FLOPS
每秒执行多少次浮点运算
KMGTPEZ
103依次乘103
系统整体的性能指标
数据通路带宽
数据总线一次所能并行传达信息的位数(各硬件部件通过数据总线传递数据)
吞吐量
指系统在单位时间内处理请求的数量
这里的请求是抽象的,并不局限于某个场景
它取决于信息能多快地输入内存,CPU能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快的从内存送给一台外部设备。
这些步骤的每一步都关系到主存,因此,系统吞吐量主要取决于主存的存取周期
响应时间
指从用户向计算机发送一个请求,到系统对该请求做出相应并获得它所需要的结果的等待时间
通常包括CPU时间(运行一个程序所需要的时间)+等待时间(用于磁盘访问、存储器访问、I/O操作、操作系统开销等时间)
动态测试
基准程序(跑分软件)
用来测量计算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行相同程序的其他计算机性能进行比较
易错
主频高未必就快,还要看平均CPI
平均CPI相同也不一定,还要看指令系统
基准程序中的语句存在频度差异,运行结果也不能完全说明问题