type
status
date
slug
summary
tags
category
icon
password
计算机系统的组成
将高级语言源程序转换为可执行目标文件的过程
预处理 → 编译 → 汇编 → 链接
计算机系统的分层
性能指标
基本性能指标
1. 机器字长(Word Length)
- 定义:计算机一次能处理的数据位数,通常与 CPU 寄存器和数据总线宽度相同。
- 常见值:8位、16位、32位、64位。
- 影响:
- 决定 CPU 的运算精度与处理范围。
- 影响寻址范围,例如 32 位机器最大寻址空间为 232232 字节。
- 影响指令格式和数据类型。
⚠️注意:机器字长与CPU内部用于整数运算的ALU的位数以及通用寄存器的宽度相等!!!
2. 吞吐量(Throughput)
- 定义:单位时间内计算机系统完成的任务数量(如处理的指令数、请求数等)。
- 单位:如 MIPS(百万条指令/秒)、FLOPS(浮点运算/秒)。
- 特点:
- 衡量系统总体处理能力。
- 与并行处理能力、I/O 速度、存储系统性能等密切相关。
- 在多任务、服务器场景中更为重要。
3. 主存容量(Main Memory Capacity)
- 定义:主存(RAM)可以存储数据和指令的总量。
- 单位:字节(B)、千字节(KB)、兆字节(MB)、千兆字节(GB)等。
- 影响:
- 决定可以直接参与运算的数据量大小。
- 主存不足时系统频繁访问磁盘(换页),会显著降低性能。
4. 响应时间(Response Time)
- 定义:从向计算机系统提交作业开始,到系统完成作业为止所需要的时间。
- 类型:
- 交互式系统:指从用户输入命令到系统作出反应的时间。
- 批处理系统:指从作业提交到作业完成所用的时间。
- 影响因素:
- CPU处理速度、I/O响应能力、内存调度、系统负载等。
什么是MAR,什么是MDR?
MDR(内存数据寄存器)
定义:
用于暂存从内存中读取的数据或即将写入内存的数据
特点:
- 读操作:从内存取出数据,暂存在 MDR 中,供 CPU 使用
- 写操作:先将数据写入 MDR,再送入指定内存地址
⚠️注意:MDR的位数和存储字长相等!
MAR(内存地址寄存器)
定义:
用于存放 CPU 当前要访问的内存地址(读取或写入)
特点:
- 由 CPU 控制单元写入地址
- 地址通过总线发送到内存
- 不存数据,仅存地址
MAR的位数决定存储单元的数量,即次方个
与运算速度相关的性能指标
CPU时钟频率和时钟周期:
CPU时钟信号是一个基本定时信号,它是一张固定频率的脉冲信号,用于驱动计算机内部各组件协调工作。
- 这种脉冲信号的的频率被称为CPU时钟频率(Clock Rate),基本单位为赫兹Hz
- CPU时钟周期(Clock Cycle or Clock Tick,当然也可以简称为Clock or tick)是CPU时钟频率的倒数,基本单位为秒s

频率单位 | 换算单位 | 周期单位 | 换算关系 |
赫兹Hz | 基本单位 | s | 基本单位 |
千赫兹kHz | kHz = Hz | 毫秒ms | ms = s |
兆赫兹MHz | MHz = Hz | 微秒 | = |
吉赫兹GHz | GHz = Hz | 纳秒ns | ns = |
CPI(Cycles Per Instruction)
定义
- 执行一条指令所需要的时钟周期数量
- 由于不同指令的功能不同,即使功能相同的指令还可能有不同的寻址方式,因此每条指令执行所需要的时钟周期数量也可能不同。
一条指令 | 该指令执行所需要的时钟周期数量 |
一类指令 | 构成该类指令的所有指令执行所需要时钟周期数量的平均值 |
一个程序 | 构成该程序的所有指令执行所需要时钟周期数量的平均值 |
有计算公式如下:Pi表示每类指令数量在程序所包含的指令数量中所占的比例。
CPU执行时间:
- 真正用于用户程序的执行时间,而不包括为执行用户程序而花费在操作系统、IO等等上的时间

因为程序P是相同的,执行时间 = CPI*P所包含的指令数量*时钟周期,所以速度比就是CPI*时钟周期的反比。
IPC(Instructions Per. Cycle)
- 每个时钟周期能够执行的指令数量
- 是CPI的倒数!
MIPS(Million Instuctions Per Second)
- 每秒执行多少百万条指令
= (时钟频率/CPI)*
MFLOPS
- 每秒执行多少百万次浮点运算

计算机内部的数据表示
定点数的编码
原码
第一位为符号位,0表示正数,1表示负数。其余位置为真值的绝对值
一般的,对于定点正数,符号位与真值位之间用逗号分隔,定点小数使用小数点分隔。
缺点:
- 真值0在原码中有两种不同的表示
- 符号位不能直接参与运算
反码
- 正数的表示与原码相同
- 负数的表示:符号位为1,其余按位取反
eg:
反码
特点:
- 零有两种表示,全1和全0,运算时跨过0会产生一个单位误差。
补码
对反码的改进,只要在负数反码的基础上+1,正数与原码相同。
- 模是一个数值计量系统的计量范围,记作或
- 只要确定了模,就可以找到一个与负数等价的正数来代替此负数,该正数就是负数的补数
- 一个负数可以用它的正补数来替代,而这个正补数可以用模数加上负数本身求得
- 补数的绝对值之和为模数,正数的补数就是正数本身

对一个数的补码表示,求其相反数的补码,方法是:
将其所有位(包括符号位)按位取反,然后在末位加 1。
移码
就是在真值上加一个常数
也就是把补码的符号位取反
在数轴上,移码所表示的范围对应于真值在数轴上范围向轴的正方向移动单位
特点:
- 保留了真值的大小顺序
- 0只有一种表示
浮点数的表示


浮点数的规格化
- 最高位作为有效位,为1
- 左规:尾数左移1,那么阶码也跟着-1。
运算方法和运算器
算术移位与逻辑移位

- 作者:Kirawii
- 链接:kirawii.cyou/article/2184cfb3-d63d-80e0-8da9-f5ebcdf1526d?target=comment
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章