小菜鸡一个,自己的笔记,QAQ,有不对的地方请大佬们纠正,谢谢大佬们!( ¨̮ )
1、计算机基础知识
1.1 计算机进制相关知识
1.1.1数的定点表示法与浮点表示法
定点表示法:
对于二进制的(m+1)位定点小数的格式的书N,所表达的范围为
#include<cmath>
.......
int main
{
..........
abs(N)<=1-pow(2,-m);
return 0;
}
(PS:abs为绝对值函数,pow为C 库函数pow(x,y)返回x的y次幂,即 x^y)
浮点表示法:
图片上的差不多了,不用过多解释
1.1.2 信息的几种编码
- ASCII码
一个字符占用一个字节
- 汉字编码
一个汉字占用两字节
国标码最开头最高位为1,区别ASCII码。
1.机内码与区位码
机内码高位字节=(区号)H+A0H
机内码低位字节=(位号)H+A0H
2.国标码与区zhuan位码
国标码高位字节=(区号)H+20H
国标码低位字节=(位号)H+20H
3.区位码用两个10进制数表示,另外两种码用两个十六进制数表示.
4."德"的区位码为2134,下面举例来看如何转成另外两种码:
a.机内码
高位字节=(21)(十进制)+A0H(十六进制)=15H+A0H=B5H
低位字节=(34)(十进制)+A0H(十六进制)=22H+A0H=C2H
所以,机内码为B5C2
b.国标码
高位字节=(21)(十进制)+20H(十六进制)=15H+20H=35H
低位字节=(34)(十进制)+20H(十六进制)=22H+20H=42H
所以,国标码为3542
1.2 补码相关
补码是用来解决负数在计算机中的表示问题的。正数的补码就是其本身;负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)。
例:1-1 = 1+(-1) = 00000001(原码) + 100000001(原码) =00000001(反码) +11111110(反码) = 11111111(反码)=10000000(原码) = -0
用反码运算时,结果为-0,虽然+0和-0都是0,但是看起来总是觉得怪怪的,何况0带符号没有任何意义,并且出现了两个能表示0的二进制数00000000和10000000。
这让严谨的程序员们如何能接受,为了消除歧义,于是出现了反码。
扩展资料
补码这个编码方案要解决的是如何在机器中表示负数,其本质意义为用一个正数来表示这个正数对应的负数。所谓-20的补码是指:如何在机器中用补码形式表示-20。
具体过程是这样的:将20的二进制形式直接写出00010100,然后所有位取反变成11101011,再加1变成了11101100。最简单的补码转换方式,不必去理会转换过程中的符号位,只关注转换前和最终转换后的符号位就行。
补码的总前提是机器数,不要忘了机器数的符号位含义,最高位为0表示正数,最高位为1表示负数,而最高位是指机器字长的最左边一位。字节数100B,最高位为00000100中的最左边的0。
(很重要的还有进制转换)
2、计算机硬件系统
2.1 计算机系统
2.1.1 冯诺依曼架构
这个按照高中语文老师所说的:给我背过、默写过,考试一定考。
还有由串行算法体系到并行算法体系
不多做赘述了。。。。
知识补充与扩展:
并行计算或称平行计算是相对于串行计算来说的。它是一种一次可执行多个指令的算法,目的是提高计算速度,及通过扩大问题求解规模,解决大型而复杂的计算问题。所谓并行计算可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线,而空间上的并行则是指用多个处理器并发的执行计算。
2.2 计算机体系结构的评价标准
- 时钟频率
- 指令执行速度
- 等效指令速度
- 数据处理速率
知识补充与扩展:
32位系统bai和64位系统区别。
1.CPU处理器的处理机dao不同。
相对而言64位对计算机处理器在RAM(随机存取储存器)处理信息的效率比32位做了优化,更加高效快速。
2. 操作系统可支持的有效内存的容量不同。
64位版本可以处理的物理内存(RAM)在4 GB以上,高达128GB,
频率与速度的关系:一般说来,一个时钟周期完成的指令数是固定的,所以主频越高,CPU的 速度也就越快了。不过由于各种CPU的内部结构也不尽相同,所以并不能完全用主频来概括CPU的性能。但CPU主频的高低可以决定电脑的档次和价格水平。以Core i7为例,它的工作主频为2.60GHz,这说明了什么呢?
具体来说,2.60GHz意味着每秒钟它会产生26亿个时钟脉冲信号,每个时钟信号周期为0.5纳秒。而Core i7 CPU有12条流水线运算单元,如果负载均匀的话,CPU在1个时钟周期内可以进行12个二进制加法运算。
这就意味着该Core i7 CPU每秒钟可以执行312亿条二进制加法运算。但如此惊人的运算速度不能完全为用户服务,电脑硬件和操作系统本身还要消耗CPU的资源。
2.3 硬件结构——总线
DB:数据总线
AB:地址总线(单向)
CB:命令主线
PS:
- CPU三大信息:数据 地址 命令
- CPU+总线结构
- CPU与储存器(内存)发生关系,外部设备(I/O接口)与储存器发生关系,CPU不直接与外部设备链接
- 系统单元:系统主板与系统时钟
2.4 微处理器
内存分配地址中取出指令进入指令列队,放入运算器中处理,最后放入寄存器
2.5 内存
内存地址分配
前部:
ROM基础地址
其余:
CS地址段:
DS数据段:
ES附加段:
SS栈段:紧急情况下使用存入叫压栈
紧急下,中断时压栈,把中断程序结构放入内存SS中
2.6 主存储器
SRAM(静态):高速存储,速度快,一般为cache(高速缓冲存储器)二级缓存
DRAM(动态):内存条
开机发生了什么:(详细另开一期)
接电,从主存储器内存地址为0x00000的第一位开始取指令(ROM基础模块),计算机自检,ROM中BIOS无误,引导程序把操作系统读入内存中,操作系统的到控制权
只读存储器:(关机数据不丢失)
ROM中存有BIOS最底层驱动,例如显示计算机操作系统与输入输出驱动
PS:
点击exe发生了什么:
点exe,辅存(磁盘)到主存(内存)中到高速缓存中再到CPU运行
2.7 输入输出系统
程序控制输入输出方式:应答方式,两者不可并行
外围设备受CPU控制,CPU通过指令查看输入输出设备是否工作,数据经过CPU
中断输入输出方式:直接中断,服务完外围设备再继续
输入设备准备好,输出设备空闲,主动向CPU发送服务请求,CPU每执行完一个指令要测试有没有中断请求。
直接存储器访问方式:放入cache中
主存储器可以被CPU与外围设施同时访问
2.8 扩展槽与适配卡
小型计算机接口,SCSI卡:(一种总线)
计算机的一个扩展槽最高链接七个设备
PS:工控机与独立安全结构不允许扩展,只有CD
2.9 系统总线
外围部件互联(总线):
显卡网卡依然使用
2.10 端口与连接电缆
USB通用串行总线: