工作原理:
-
存储程序:将程序存放在计算机的存储器中
-
程序控制:按指令地址访问存储器并取出指令,经译码依次产生指令执行所需的控制信号,实现计算的控制,完成指令功能
计算机组成
硬件
主机部分:运算器(CPU)+控制器(CPU)+内存储器(内存)。
-
运算器:算术运算(+、-、*、);逻辑运算(与、或、非、移位、异或等);基本结构(寄存器、连接通路)
-
控制器:控制程序和数据的输入、运行处理运算结果
-
存储器:用于储存数据、运算中间结果,容量为1K = 10条地址线,1M=1024k=20条地址线就是2^10幂
外设部分:I/O输入设备(键盘、鼠标、网卡)、I/O输出设备(打印机、显示器)、外存储器(U盘)
主线部分:地址线、数据线、控制线
软件
系统软件:操作系统、网络系统、编译系统
主频(f)
指CPU内核工作的时钟频率,CPU内数字脉冲信号震荡的速率
时钟周期(T)
节拍周期,计算机中最基本的、最小的时间单位,f越高,T越小
CPI(Clock cycles Per Instruction)
执行一条指令需要的时钟周期数(即时钟周期的个数)计算公式: C P I = 程 序 中 所 有 的 指 令 时 钟 周 期 之 和 程 序 指 令 总 数 CPI = frac{程序中所有的指令时钟周期之和}{程序指令总数} CPI=程序指令总数程序中所有的指令时钟周期之和/span>
与之相反的是IPC:每个时钟周期执行的指令条数
MIPS(Million Instructions Per Scond)
每秒钟执行的指令条数(单位:百万条/秒)公式如下: M I P S = 指 令 条 数 执 行 时 间 1 0 6 = 指 令 条 数 ( 程 序 中 所 有 的 指 令 时 钟 周 期 之 和 / f ) 1 0 6 = 指 令 条 数 f 程 序 中 所 有 的 指 令 时 钟 周 期 之 和 1 0 6 = f C P I 1 0 6 MIPS = frac{指令条数}{执行时间*10^6} = frac{指令条数}{(程序中所有的指令时钟周期之和/f)*10^6} = frac{指令条数*f}{程序中所有的指令时钟周期之和*10^6} = frac{f}{CPI*10^6} MIPS=执行时间/span>106指令条数/span>=(程序中所有的指令时钟周期之和/f)/span>106指令条数/span>=程序中所有的指令时钟周期之和/span>106指令条数/span>f/span>=CPI/span>106f/span>
机器数
小数二进制转换
求 5 16 frac{5}{16} 165/span>的二进制数。 5 16 frac{5}{16} 165/span> = 1 16 frac{1}{16} 161/span> + 1 4 frac{1}{4} 41/span> = 0.0101
快捷方法:首先将分母转换为2的次方数,这里是16所以不需要转换,求出5的二进制数为0101,因为是小数所以左移(变小)24大小,那么就是左移4位,结果就是0.0101
模运算:
数学定义公式:
即x模y = x – (y * x与y的商的下界)
反码计算:
补码计算:
移码计算:
定点与浮点数据
定点
定义:可表示小数、整数
表现形式:X0.X1X2X3…Xn(定点小数)、X0X1X2X3…Xn.(定点整数)
不足:数据表示的范围有限
定点小数:如x=0.1011、y=-0.1011 则对应的机器码为x[原] = 0.1011 y[原]=1.1011 其中小数点前的0被忽略了
浮点
当数的范围超出了定点数能表示的访问则使用浮点数
定义:把数的范围和精度分别表示的一种数据表示方法;例如:ESE1E2…EnM1MsM2…Mn (E表示阶码位数,数据的范围。M表示尾数位数,决定数的精度) longrightarrow /span> N = m * 2e ,例如11100.101b,向左移5位变成规格化的0.11100101然后再移回来规格化后的浮点数就是0.11100101 * 2 101(101表示5的二进制)
IEEE 754格式数据:
单精度:1符号位+ 8位偏指数+23位尾数(比如C中的float占4字节)
双精度:1符号位+11位偏移数+52位尾数(比如C中的double占8字节)
IEEE 754转换公式:(-1)s * 2e * 1.M
例题:
来源:HNHuangJingYu
声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!