计组学习笔记之计算机系统概述
1 什么是计算机系统
-
软件
- 系统软件:用来管理整个计算机系统
- 操作系统、数据库管理系统、标准程序库、网络软件...
- 应用软件:按照任务所需编写的各种程序
- 微信、QQ、微博、B站...
- 发展:机器(汇编)语言、Fortran、Pascal、C、C++、Java、php...
- 系统软件:用来管理整个计算机系统
-
硬件
发展阶段 | 时间 | 逻辑元件 | 速度(次/秒) | 内存 | 外存 |
---|---|---|---|---|---|
一代 | 1946—7957 | 电子管 | 几千—几万 | 汞延迟线、磁鼓 | 穿孔卡片、纸带 |
二代 | 1958—1964 | 晶体管 | 几万—几十万 | 磁芯存储器 | 磁带 |
三代 | 1964—1971 | 中小规模集成电路 | 几十万—几百万 | 半导体存储器 | 磁带、磁盘 |
四代 | 1972—至今 | 大规模、超大规模集成电路 | 上千万—万亿 | 半导体存储器 | 磁带、磁盘、光盘、半导体存储器 |
2 冯诺依曼机
- 早期冯诺依曼机结构
- 冯诺依曼计算机的特点
- 计算机由五大部件组成:输入设备、输出设备、存储器、控制器、运算器
- 指令和数据以同等地位存于存储器,可按地址寻访
- 指令和数据都用二进制表示
- 指令由操作码和地址码组成
- 可以存储程序
- 以运算器为中心(现代计算机都以存储器为中心)
- 现代计算机结构
3 各个硬件部件
3.1 硬件组成
3.2 主存储器
-
主存储器的构成
-
构成
-
存储体:数据在存储体内按照地址存储
-
MAR(Memory Address Register):存储地址寄存器,其位数反映存储单元的个数(例如 MAR = n 位,则总共有 个存储单元)
-
MDR(Memory Data Register):存储数据寄存器,其位数反应每个存储字长(例如 MDR = 16位,则每个存储单元可以存放 16bit)
-
-
有关概念
- 存储单元:每个存储单元存放一串二进制代码
- 存储字:存储单元中二进制代码的组合
- 存储字长:存储单元中二进制代码的位数
- 存储元:存储二进制的电子元件,每个存储单元可以存储 1bit
3.3 运算器
-
运算器的构成
-
构成
- ACC(Accumulator):累加器,用于存放操作数、运算结果
- MQ(Multiple-quotient Register):乘商寄存器,在乘、除运算时,存放操作数、运算结果
- X:通用的操作数寄存器,用于存放操作数
- ALU(Arithmetic and Logic Unit):算术逻辑单元,通过内部复杂的电路实现算术运算、逻辑运算,是运算器的核心
3.4 控制器
-
控制器的构成
-
构成:
- CU(Control Unid):控制单元,分析指令,给出控制信号,控制器的核心
- IR(Instruction Register):指令寄存器,存放当前执行的指令
- PC(Program Counter):程序计数器,存放下一条指令的地址,有自动加一功能
4 计算机系统层次结构
5 计算机的性能指标
5.1 存储器的性能指标
- n 个二进制位可以表示 种不同的状态
- MAR:存储地址寄存器,其位数反映存储单元的个数
- MDR:存储数据寄存器,其位数反应每个存储字长
5.2 CPU 的性能指标
- CPU 主频:CPU内数字脉冲信号震荡的频率
- CPU 时钟周期:脉冲信号中相邻两个波峰(波谷)所经历的时间(单位为微秒、纳秒)
- CPU 主频(时钟频率)= 1 / CPU 时钟周期 (单位:Hz)
- CPI(Clock cycle Per Instruction):执行一条指令所需要的时钟周期数(不同的指令下 CPI 不同,甚至同一指令下,CPI 也可能不同)
- 执行一条指令的耗时 = CPI * CPU 时钟周期数
- CPU 执行时间(整个程序耗时)= CPU 时钟周期数 / 主频 = (指令条数 * CPI)/ 主频
- IPS(Instructions Per Second):每秒执行多少条指令
- KIPS:每秒执行几千条条指令
- MIPS:每秒执行几百万条指令
- IPS = 主频 / 平均 CPI
- FLOPS(Floating-point Operations Per Second):每秒执行多少次浮点运算
- KFLPOS:每秒执行几千次浮点运算(K = 千 = )
- MFLOPS:每秒执行几百万次浮点运算(M = 百万 = )
- GFLOPS:每秒执行几十亿次浮点运算(G = 十亿 = )
- TFLOPS:每秒执行几万亿次浮点运算(T = 万亿 = )
5.3 系统整体性能指标
- 数据通路带宽:数据总线一次所能并行传输的二进制信息位数
- 吞吐量:系统在单位时间内处理请求的数量
- 响应时间:从用户向计算机发送一个请求开始,到系统对该请求做出响应并获得所需结果的等待时间
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律