计算机系统概述
计算机的发展
- 计算机系统=硬件(CPU、外设)+软件(系统软件、应用软件)
- 计算机硬件的发展:1、电子管时代 。2、晶体管时代。3、中、小规模集成电路时代。4、大规模、超大规模集成电路。
- 计算机目前的发展趋势:更微型,多用途。更巨型,超高速。
计算机硬件的基本组成
-
计算机的五大部件,输入输出设备(数据的输入输出)、主存储器(存储数据和程序)、运算器(算术运算、逻辑运算)、控制器(指挥各个部件,使程序运行)
-
早期冯洛伊曼结构
-
冯洛伊曼计算机的特点:1、计算机由五大部件组成。2、指令和数据以同等地位存储在主存储器中可以通过地址寻访。3、指令和数据用二进制表示。4、指令由操作码和地址码组成。5、存储程序。6、以运算器为中心。
-
现代计算机结构
-
现代计算机以存储器为中心,CPU=运算器+控制器。
计算机各个硬件部件
主存储器
- 主存储器由存储体(存放数据,由很对个存储单元组成)、MDR(存储数据寄存器)、MAR(存储地址寄存器)
- MAR的位数反映存储单元的个数,MDR的位数=存储字长。
- 存储单元:每个存储单元存放一串二进制代码。存储字:存储单元中二进制代码的组合。存储字长:存储单元中二进制代码的位数。存储元:即存储二进制的电子元件,每个存储元可存1bit。
运算器
- 运算器用于实现算术运算和逻辑运算。
10.运算器由 ACC(累加器,存放操作数或运算结果)、MQ(乘商寄存器,在乘、除运算时,用于存放操作数和结果)、X(通用操作数寄存器,用于存放操作数)、ALU(算术逻辑单元,通过内部复杂的电路实现算数运算、逻辑运算)
控制器
- 控制器由CU(控制单元,分析指令,给出控制信号)、IR(指令寄存器,存放当前执行的指令)、PC(程序计数器,存放下一条指令地址,有自动加1的功能)组成
- 完成一条指令:取指令(PC)、分析指令(IR)、执行指令(CU)
例子
高级语言
Int a=2,b=3,c=1,y=0;
void main(){
y=a*b+c
}
编译成为机器能懂的机器语言
机器执行程序过程
计算机系统的层次结构
- 计算机系统的层次结构(从底到顶):微程序机器(微指令系统,由硬件直接执行微指令)、传统机器(用机器语言的机器,执行二进制机器指令)、虚拟机器(操作系统机器,向上提供“广义指令”(系统调用))、虚拟机器(汇编语言机器,用汇编程序翻译成机器语言程序)、虚拟机器(高级语言机器,用编译程序翻译成汇编语言程序)。后三层属于软件,前两层属于硬件。在计算机系统的层次结构中,下层是上层的基础,上层是下层的扩散。
- 三个级别的语言:高级语言、汇编语言、机器语言。
- 编译程序:将高级语言一次性全部编译成机器语言,一次执行。
- 解释程序:将高级语言一句一句的翻译成机器语言,翻译一句执行一句。
计算机的性能指标
存储器性能指标
- 存储器的性能指标:MAR(MAR的位数反映存储单元的个数,最大为多少)、MDR(MDR的位数=存储字长=每个存储单元的大小)。
- 存储器的总容量=存储单元的个数*存储单元的字长(bit)=存储单元的个数 *存储单元字长/8(Byte)
- 计算需要的内容
CPU性能指标
- CPU主频(时钟频率,1秒多少个时钟周期)=1/CPU时钟周期
- CPI(Clock cycle Per Instruction):执行一条指令需要的时钟周期数。
- 执行一条指令的耗时=CPI*CPU时钟周期
- CPU执行时间(整个程序耗时)=CPU时钟周期数/主频=(指令条数*CPI)/主频
- (K\M)IPS(Instructions Per Second):每秒执行多少指令,IPS=主频/平均CPI
- (K\M\G\T)FLOPS(Floating-point Operations Per Second):每秒执行多少次浮点运算。
## 系统整体的性能指标
- 数据通路带宽:数据总线一次所能并行传送信息的位数,各个硬件部件通过数据中线传输数据。
- 吞吐量:指数据在单位时间能处理请求的数量
- 响应时间:用户向计算机发送一个请求,到系统对该请求做出相应并获得它所需要的时间。
计算机整体性能指标(动态测试)
- 基准程序:是用来测量计算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行相同程序的其他计算机性能进行比较。
- 与计算机性能有关的几个问题
数据的表示和运算
进位制、BCD码、字符与字符串
进位制
- 常用的几种进制:十进制(d)、二进制(b)、八进制(O)、十六进制(h)。
- 十进制转二进制:十进制数整数部分除二取余,直到被除数比二小。先获得的余数为低位。十进制小数部分乘二取整,直到小数部分为零。(可能会有取不尽的时候,小数转换成二进制可能会缺失精度)先产生的位为高位。
- 二进制转八进制:三位一读,不够的补零。
- 二进制转十六进制:四位一读,不够补零。
- 其他进制转十进制:系数*相应进制的权值求和
- 真值和机器数:真值,实际带正负号的数值。机器数,把正负号数值化的数。一般0表示正,1表示负。
BCD码
- BCD码的种类:8421码、余三码、2421码
- 用8421码表示的十进制数做加法,结果不在8421码的映射范围则加上0110。
- 余三码的映射是在8421码的基础上每个加0011。
- 2421码表示的0-4,第一位都是0,表示的5-9,第一位都是1。
字符与字符串
-
英文字符-ASCII码(128):0-31、127为控制、通信字符。32-126为可印刷字符,也就是日常使用的字符。
-
ASCII码常见分布:数字,48(0011 0000)-57(0011 1001),高四位为0011,低四位为0-9的8421码。大写字母:65(0100 0001)-90(0101 1010),前三位为010,后五位为1-26的8421码。小写字母:97(0110 0001)-122(0111 1010),前三位为011,后五位为1-26的8421码。
-
相关例题
-
汉字的表示和编码:GB2312-80(7445),区位码,有94个区,每个区有94个位置。 区号和位号组成的有序数对存放一个汉字。国标码:为了防止与ASCII码的控制和通信字符产生冲突,将区位码的区、位上各加上20H。汉字机内码:为了不与ASCII码的其他字母、数字字符产生冲突,在国标码的基础上在区、位上各加80H。
校验码
校验原理
- 码子:有若干位组成的码子(表示信息的二进制串)
- 两个码子之间的距离:两个码子逐为比较,不同位的个数叫~
- 码距:一种编码方案中各合法码子的最小距离
- 当编码方案的码距大于等于2有检错能力,大于等于3有纠错能力
奇偶校验
- 在信息位里加一个校验位,奇校验保证加完后整个编码内容有奇数个1、偶校验有偶数个1
- 求校验位:偶校验-各信息进行异或(模2加)运算,奇校验-各信息进行异或(模2加)运算求反
- 码距=2,仅能检出奇数位错误,无纠错能力。
海明码
-
将信息位分组进行偶校验
-
校验位个数:2^k>=n+k+1(n为信息位个数)
-
海明码求解步骤:
-
1、 校验位分布在海明码1、2、4、8…2^n的位置上
-
2、信息位放在其余位置
-
3、将信息位对应海明码下角标写成n(校验位个数)位二进制
-
4、将校验位分布在对应权重上(1、2、4…)
-
5、该权重对应信息位改写二进制位为1则用来生成对应校验位
-
纠错:
-
校验位与对应信息位取异或,有一组为1这信息传递出错。错误位为各组纠错信息组成的二进制表示的十进制。
-
海明码有1位纠错能力、2位检错能力
-
为了区分1位错还是2位错,还需要添加“全校验位”对整体进行偶校验
###循环冗余校验码 -
校验位:信息码长度+生成多项式最高次幂(R)
-
校验码生成步骤
-
信息码左移R位,低位补0。对移位后的信息码,用生成多项式进行模2除法,产生余数。余数补在校验位。
-
检错:
-
对接收到的数据进行模2除法余数全0则没错。
定点数
- 定点整数