文章目录
- 一 计算机系统的层次结构
- 1.1 思维导图
- 1.2 计算机机器的五个层次
- 1.3 三种级别的语言
- 1.4 区分计算机组成原理和计算机体系
- 二 计算机性能指标
- 2.1 思维导图
- 2.2 主存储器性能指标
- 2.3 CPU性能指标
- 2.4 系统整体的性能指标
- 2.5 系统整体性能指标【动态测试】
- 三 进位计数制
- 3.1 思维导图
- 3.2 r进制
- 3.3 进制转化
- 3.4 各种常见进制的书写方式
- 3.5 真值和机器数
- 四 三种特殊的码
- 4.1 思维导图
- BCD码
- 4.2 余3码
- 4.3 2421码
- 五 字符和字符串
- 5.1 思维导图
- 5.2 ASCII码
- 5.3 汉字
- 5.4 字符串
一 计算机系统的层次结构
1.1 思维导图
1.2 计算机机器的五个层次
1.3 三种级别的语言
- 编译程序:
- 将高级语言编写的原程序全部语句一次全部翻译成机器语言程序,然后再执行机器语言程序。
- 解释程序:
- 将源程序的一条语句翻译成相对应于机的器语言的语句,并立即执行,然后依次重复操作下一条语句。
1.4 区分计算机组成原理和计算机体系
- 计算机组成原理
- 实现计算机体系结构所体现的属性对程序员透明【透明:程序员不可见,不需要知道】
- 例如:如何用硬件实现所定义的接口、如何实现乘法指令
- 计算机体系结构
- 机器语言程序员所见到的计算机属性概念性的结构与功能特性【指令系统、数据类型、寻址技术、I/O原理】
- 例如:如何设计硬件与软件之间的接口、有无乘法指令
二 计算机性能指标
2.1 思维导图
2.2 主存储器性能指标
- MAR位数:代表存储单元的个数【最大个数】
- MDR位数:存储字长【每个存储单元的大小】
总容量 = 存储单元个数 × 存储字长 ( b i t ) = 存储单元个数 × 存储字长 ÷ 8 ( B y t e ) 总容量=存储单元个数×存储字长(bit) =存储单元个数×存储字长÷8 (Byte) 总容量=存储单元个数×存储字长(bit)=存储单元个数×存储字长÷8(Byte) - 例如:MAR为32位,MDR为8位
- 总容量 = 2 32 × 8 b i t = 4 G B 总容量=2^{32}×8bit=4GB 总容量=232×8bit=4GB
- 1 G B = 2 10 M B = 2 20 K B = 2 30 B = 2 33 b 1GB=2^{10}MB=2^{20}KB=2^{30}B=2^{33}b 1GB=210MB=220KB=230B=233b
-
n
n
n位二进制可以表示出
2
n
2^{n}
2n种不同的状态。
2.3 CPU性能指标
- CPU主频:CPU内数字脉冲信号震荡的频率。
C P U 主频(时钟频率) = 1 C P U 时钟周期 【单位: H z 】 CPU主频(时钟频率)=\frac{1}{CPU时钟周期}【单位:Hz】 CPU主频(时钟频率)=CPU时钟周期1【单位:Hz】 - CPI(Clock cycle Per Instruction):执行一条指令所需的时钟周期数。
- 不同的指令,CPI不相同,甚至相同的指令CPI,也可能不同
执行一条指令的耗时 = C P I × C P U 时钟周期 执行一条指令的耗时=CPI\times CPU时钟周期 执行一条指令的耗时=CPI×CPU时钟周期
C P U 执行时间 = C P U 时钟周期数 / 主频 = ( 指令周期 × C P I ) / 主频 CPU执行时间=CPU时钟周期数/主频=(指令周期\times CPI)/主频 CPU执行时间=CPU时钟周期数/主频=(指令周期×CPI)/主频
-
例如:某CPU主频为1000Hz,某程序包含100条指令,平均来看指令的CPI=3,该程序在该CPU上执行需要多久?
100 × 3 × 1 1000 = 0.3 s 100\times3\times\frac{1}{1000}=0.3s 100×3×10001=0.3s -
IPS(Instructions Per Second):每秒执行指令的条数
I P S = 主频 平均 C P I IPS=\frac{主频}{平均CPI} IPS=平均CPI主频
- FLOPS(Floating-point Operations Per Second):每秒执行浮点运算的次数
- HLOPS、MFLOPS、GFLOPS、TFLOPS
- 这里的 k = K i l o = 1 0 3 k=Kilo=10^3 k=Kilo=103, M = M i l l i o n = 1 0 6 M=Million=10^6 M=Million=106, G = G i g a = 1 0 9 G=Giga=10^9 G=Giga=109, T = T e r a = 1 0 12 T=Tera=10^{12} T=Tera=1012
2.4 系统整体的性能指标
- 数据通路带宽:数据总线一次所能并行传达信息的位数(各个硬件部分通过数据总线传输数据)
- 吞吐量:指系统在单位时间内处理请求的数量
- 系统吞吐量主要取决于储存的存取周期。
- 响应时间:指从用户向计算机发送一个请求到系统对该请求做出响应并获得所需要结果的等待的时间。
2.5 系统整体性能指标【动态测试】
- 基准程序是用来测量计算机处理速度的一种实用程序,以便于被测量的计算机可以与运行相同程序的其他计算机性能进行测试。
- 但需要注意的是,机器性能的比较结果不是绝对的。
- 在实际表现中机器性能,受众多因素影响。比如:主频的高低,指令系统、CPI等等。
- 所以主频高的CPU并不一定比主频低的CPU快
三 进位计数制
3.1 思维导图
3.2 r进制
- 为什么计算机使用二进制?
- 0,1正好对应逻辑值讲真方便实现逻辑运算。
- 方便使用逻辑门电路实现算数运算
- 可使用2个稳定状态的物理器件表示二进制
3.3 进制转化
- 二进制->八进制
- 二进制->十六进制
- 十进制->二进制
3.4 各种常见进制的书写方式
- 二进制: ( 10010 ) 2 (10010)_2 (10010)2、 10010 B 10010B 10010B
- 八进制: ( 162 ) 8 (162)_8 (162)8
- 十六进制: ( 165 ) 16 (165)_{16} (165)16、 1654 H 1654H 1654H、 0 x 165 0x165 0x165
- 十进制: ( 1654 ) 10 (1654)_{10} (1654)10、 1652 D 1652D 1652D
3.5 真值和机器数
- 真值:符合人类习惯的数字
- 机器数:数字实际存到机器里的形式、正负号需要被“数字化”
四 三种特殊的码
4.1 思维导图
BCD码
- BCD码的行是二进制,但本质是十进制
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 |
4.2 余3码
- 余 3 码 = 8421 码 + ( 0011 ) 2 余3码=8421码+(0011)_2 余3码=8421码+(0011)2
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 |
4.3 2421码
- 2421码,改变权值的定义
- 以0开头的是0~4
- 以1开头的是5~9
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
0000 | 0001 | 0010 | 0011 | 0100 | 1011 | 1100 | 1101 | 1110 | 1111 |
五 字符和字符串
5.1 思维导图
5.2 ASCII码
-
可印刷字符:32~126,其余为控制、通信字符
-
数字:48(0011 0000)~57(0011 1001)
-
大写字母:65(0100 0001)~90(0101 1010)
-
小写字母:97(0110 0001)~126(0111 1010)
-
例:已知“A”的ASCII码值为65,字符“H存放在某存储单元M中,求M中存放的内容。
- 首先明确,M中存放的是“H”的ASCII码(二进制形式)。再由A”的码值推出“H”的码值
- 思路1
- A是第1个字母,H是第8个字母,则H的码值=65+(8-1)=72
- 72对应二进制为100 1000,故M中存放的内容为0100 1000
- 思路2
- A的码值65写成二进制为0100 0001,A是第1个字母
- H是第8个字母,故对应0100 1000,M中存放内容为0100 1000
-
例2:已知“h”的ASCII码值为104,字符“a”存放在存储单元M1中,字符“2存放在存储单元M2中,求M1、M2中存放的内容
- a:104-(8-1)=97,M1中内容为0110 0001
- Z:104+(26-8)=122,M2中内容为0111 1010
5.3 汉字
5.4 字符串
- 某计算机按字节编址,从地址为2的单元开始,存储字符串“abc啊”
- 各个字符的ASCII编码
- a: 0110 0001=61H
- b: 0110 0010=62H
- c: 0110 0011=63H
- 啊:机内码=B0 A1H
- \0:0000 0000=00H
- 在所有计算机中,多字节数据都被存放在连续的字节序列中。
- 根据数据中各字节的排列顺序不同,可能有“大端模式”,“小端模式”。